@se-studio/core-ui 1.0.137 → 1.0.138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/components/ImageKitClientVideo.d.ts.map +1 -1
- package/dist/components/ImageKitClientVideo.js +22 -3
- package/dist/components/ImageKitClientVideo.js.map +1 -1
- package/dist/components/ImageKitHlsVideoClient.d.ts +1 -1
- package/dist/components/ImageKitHlsVideoClient.d.ts.map +1 -1
- package/dist/components/ImageKitHlsVideoClient.js +24 -6
- package/dist/components/ImageKitHlsVideoClient.js.map +1 -1
- package/dist/components/LazyAnimation.d.ts.map +1 -1
- package/dist/components/LazyAnimation.js +12 -5
- package/dist/components/LazyAnimation.js.map +1 -1
- package/dist/components/LazyVideo.d.ts +3 -4
- package/dist/components/LazyVideo.d.ts.map +1 -1
- package/dist/components/LazyVideo.js +23 -8
- package/dist/components/LazyVideo.js.map +1 -1
- package/dist/components/LocalVideo.d.ts +2 -2
- package/dist/components/LocalVideo.d.ts.map +1 -1
- package/dist/components/LocalVideo.js +13 -2
- package/dist/components/LocalVideo.js.map +1 -1
- package/dist/components/VideoComponent.d.ts +3 -2
- package/dist/components/VideoComponent.d.ts.map +1 -1
- package/dist/components/VideoComponent.js +10 -3
- package/dist/components/VideoComponent.js.map +1 -1
- package/dist/components/VisualComponent.js +3 -3
- package/dist/components/VisualComponent.js.map +1 -1
- package/package.json +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @se-studio/core-ui
|
|
2
2
|
|
|
3
|
+
## 1.0.138
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Version bump: patch for changed packages
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @se-studio/contentful-rest-api@1.0.139
|
|
10
|
+
- @se-studio/core-data-types@1.0.133
|
|
11
|
+
|
|
3
12
|
## 1.0.137
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageKitClientVideo.d.ts","sourceRoot":"","sources":["../../src/components/ImageKitClientVideo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageKitClientVideo.d.ts","sourceRoot":"","sources":["../../src/components/ImageKitClientVideo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAmC,MAAM,4BAA4B,CAAC;AAIjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4F3C,iBAAS,aAAa,CAAC,EACrB,GAAG,EACH,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,EACL,MAAM,EACN,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,GAC/D,WAAW,2CAmFZ;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { processSizes } from '@se-studio/core-data-types';
|
|
4
|
+
import Image from 'next/image';
|
|
5
|
+
import { useState } from 'react';
|
|
3
6
|
import { cn } from '../utils/cn';
|
|
4
7
|
import { CONTAINED_VIDEO_CLASSES, calculateCropDetails } from './Visual';
|
|
5
8
|
/** Named transformation widths registered in ImageKit (ascending order). */
|
|
@@ -45,6 +48,20 @@ const VideoSources = ({ baseSrc, videoPrefix, width, visualSizes }) => {
|
|
|
45
48
|
return (_jsx("source", { src: `${videoPrefix}${baseSrc}?w${snapToNamedWidth(pixels)}`, media: `(min-width: ${minWidth}px)`, type: "video/mp4" }, minWidth));
|
|
46
49
|
}), visualSizes.defaultPixels ? (_jsx("source", { src: `${videoPrefix}${baseSrc}?w${snapToNamedWidth(visualSizes.defaultPixels)}`, type: "video/mp4" })) : (_jsx("source", { src: `${videoPrefix}${baseSrc}?w${NAMED_TRANSFORMATION_WIDTHS[0]}`, type: "video/mp4" }))] }));
|
|
47
50
|
};
|
|
51
|
+
function calculateSizes(visualSizes) {
|
|
52
|
+
if (!visualSizes)
|
|
53
|
+
return '100vw';
|
|
54
|
+
const result = processSizes(visualSizes)
|
|
55
|
+
?.breakpoints?.sort((a, b) => b.minWidth - a.minWidth)
|
|
56
|
+
.map(({ minWidth, size }) => `(min-width: ${minWidth}px) ${size}`) ?? [];
|
|
57
|
+
if (visualSizes.defaultSize)
|
|
58
|
+
result.push(visualSizes.defaultSize);
|
|
59
|
+
else if (visualSizes.defaultPixels)
|
|
60
|
+
result.push(`${visualSizes.defaultPixels}px`);
|
|
61
|
+
else
|
|
62
|
+
result.push('100vw');
|
|
63
|
+
return result.join(',');
|
|
64
|
+
}
|
|
48
65
|
function ImageKitVideo({ url, videoPrefix, autoPlay, loop, muted, controls, style, poster, contained, dontCrop, verticalCropPosition, horizontalCropPosition, width, height, visualSizes, loading, fetchPriority, noPoster, className, ...props }) {
|
|
49
66
|
const fullUrl = new URL(url);
|
|
50
67
|
const cropProperties = calculateCropDetails({
|
|
@@ -59,20 +76,22 @@ function ImageKitVideo({ url, videoPrefix, autoPlay, loop, muted, controls, styl
|
|
|
59
76
|
const extension = pathname.endsWith('.mp4') ? '' : '/ik-video.mp4';
|
|
60
77
|
const baseSrc = `${pathname}${extension}`;
|
|
61
78
|
const realPoster = noPoster ? undefined : (poster ?? `${videoPrefix}${baseSrc}/ik-thumbnail.jpg`);
|
|
79
|
+
const [posterVisible, setPosterVisible] = useState(!realAutoPlay);
|
|
62
80
|
const videoStyle = {
|
|
63
81
|
display: 'block',
|
|
64
82
|
...style,
|
|
65
83
|
...cropProperties,
|
|
66
84
|
};
|
|
85
|
+
const posterOverlay = posterVisible && realPoster ? (_jsx(Image, { src: realPoster, alt: "", fill: true, className: "object-cover pointer-events-none", sizes: calculateSizes(visualSizes), "aria-hidden": true })) : null;
|
|
67
86
|
const videoElement = (_jsxs("video", { "aria-hidden": realMuted && loop, className: cn(CONTAINED_VIDEO_CLASSES, className), playsInline: true, autoPlay: realAutoPlay, loop: loop, muted: realMuted, controls: realControls, style: videoStyle, width: width, height: height, preload: fetchPriority === 'high' || loading === 'eager'
|
|
68
87
|
? 'auto'
|
|
69
88
|
: loading === 'lazy'
|
|
70
89
|
? 'metadata'
|
|
71
|
-
: undefined, fetchPriority: fetchPriority, ...props,
|
|
90
|
+
: undefined, fetchPriority: fetchPriority, onPlay: () => setPosterVisible(false), ...props, children: [_jsx(VideoSources, { width: width, videoPrefix: videoPrefix, baseSrc: baseSrc, visualSizes: visualSizes }), realMuted && _jsx("track", { kind: "captions", default: true })] }));
|
|
72
91
|
if (contained) {
|
|
73
|
-
return videoElement;
|
|
92
|
+
return (_jsxs(_Fragment, { children: [videoElement, posterOverlay] }));
|
|
74
93
|
}
|
|
75
|
-
return (
|
|
94
|
+
return (_jsxs("div", { className: "relative overflow-clip rounded-[1px]", style: { display: 'block' }, children: [videoElement, posterOverlay] }));
|
|
76
95
|
}
|
|
77
96
|
export default ImageKitVideo;
|
|
78
97
|
//# sourceMappingURL=ImageKitClientVideo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageKitClientVideo.js","sourceRoot":"","sources":["../../src/components/ImageKitClientVideo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageKitClientVideo.js","sourceRoot":"","sources":["../../src/components/ImageKitClientVideo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,6 @@ interface ImageKitHlsVideoClientProps extends Omit<IVideoProps, 'poster'> {
|
|
|
8
8
|
height?: number;
|
|
9
9
|
noPoster?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export default function ImageKitHlsVideoClient({ hlsSrc, fallbackMp4Url, autoPlay, loop, muted, controls, style, poster, contained, width, height, loading, fetchPriority, noPoster, className, visualSizes
|
|
11
|
+
export default function ImageKitHlsVideoClient({ hlsSrc, fallbackMp4Url, autoPlay, loop, muted, controls, style, poster, contained, width, height, loading, fetchPriority, noPoster, className, visualSizes, ...props }: ImageKitHlsVideoClientProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=ImageKitHlsVideoClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageKitHlsVideoClient.d.ts","sourceRoot":"","sources":["../../src/components/ImageKitHlsVideoClient.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageKitHlsVideoClient.d.ts","sourceRoot":"","sources":["../../src/components/ImageKitHlsVideoClient.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,UAAU,2BAA4B,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,MAAM,EACN,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,2BAA2B,2CAwI7B"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { processSizes } from '@se-studio/core-data-types';
|
|
4
|
+
import Image from 'next/image';
|
|
3
5
|
import { useEffect, useRef, useState } from 'react';
|
|
4
6
|
import { cn } from '../utils/cn';
|
|
5
7
|
import { CONTAINED_VIDEO_CLASSES } from './Visual';
|
|
6
|
-
|
|
8
|
+
function calculateSizes(visualSizes) {
|
|
9
|
+
if (!visualSizes)
|
|
10
|
+
return '100vw';
|
|
11
|
+
const result = processSizes(visualSizes)
|
|
12
|
+
?.breakpoints?.sort((a, b) => b.minWidth - a.minWidth)
|
|
13
|
+
.map(({ minWidth, size }) => `(min-width: ${minWidth}px) ${size}`) ?? [];
|
|
14
|
+
if (visualSizes.defaultSize)
|
|
15
|
+
result.push(visualSizes.defaultSize);
|
|
16
|
+
else if (visualSizes.defaultPixels)
|
|
17
|
+
result.push(`${visualSizes.defaultPixels}px`);
|
|
18
|
+
else
|
|
19
|
+
result.push('100vw');
|
|
20
|
+
return result.join(',');
|
|
21
|
+
}
|
|
22
|
+
export default function ImageKitHlsVideoClient({ hlsSrc, fallbackMp4Url, autoPlay, loop, muted, controls, style, poster, contained, width, height, loading, fetchPriority, noPoster, className, visualSizes, ...props }) {
|
|
7
23
|
const videoRef = useRef(null);
|
|
8
24
|
const [useFallbackMp4, setUseFallbackMp4] = useState(false);
|
|
9
25
|
const [hlsActive, setHlsActive] = useState(false);
|
|
@@ -11,6 +27,7 @@ export default function ImageKitHlsVideoClient({ hlsSrc, fallbackMp4Url, autoPla
|
|
|
11
27
|
const realMuted = muted ?? realAutoPlay;
|
|
12
28
|
const realControls = !realAutoPlay || controls;
|
|
13
29
|
const realPoster = noPoster ? undefined : (poster ?? undefined);
|
|
30
|
+
const [posterVisible, setPosterVisible] = useState(!realAutoPlay);
|
|
14
31
|
useEffect(() => {
|
|
15
32
|
const video = videoRef.current;
|
|
16
33
|
if (!video)
|
|
@@ -75,14 +92,15 @@ export default function ImageKitHlsVideoClient({ hlsSrc, fallbackMp4Url, autoPla
|
|
|
75
92
|
display: 'block',
|
|
76
93
|
...style,
|
|
77
94
|
};
|
|
78
|
-
const
|
|
95
|
+
const posterOverlay = posterVisible && realPoster ? (_jsx(Image, { src: realPoster, alt: "", fill: true, className: "object-cover pointer-events-none", sizes: calculateSizes(visualSizes), "aria-hidden": true })) : null;
|
|
96
|
+
const videoElement = (_jsx("video", { ref: videoRef, src: resolvedSrc, "aria-hidden": realMuted && loop, className: cn(CONTAINED_VIDEO_CLASSES, className), playsInline: true, autoPlay: realAutoPlay, loop: loop, muted: realMuted, controls: realControls, style: videoStyle, width: width, height: height, preload: fetchPriority === 'high' || loading === 'eager'
|
|
79
97
|
? 'auto'
|
|
80
98
|
: loading === 'lazy'
|
|
81
99
|
? 'metadata'
|
|
82
|
-
: undefined, fetchPriority: fetchPriority, onEnded: handleEnded, ...props, children: realMuted && _jsx("track", { kind: "captions", default: true }) }));
|
|
100
|
+
: undefined, fetchPriority: fetchPriority, onPlay: () => setPosterVisible(false), onEnded: handleEnded, ...props, children: realMuted && _jsx("track", { kind: "captions", default: true }) }));
|
|
83
101
|
if (contained) {
|
|
84
|
-
return videoElement;
|
|
102
|
+
return (_jsxs(_Fragment, { children: [videoElement, posterOverlay] }));
|
|
85
103
|
}
|
|
86
|
-
return (
|
|
104
|
+
return (_jsxs("div", { className: "relative overflow-clip rounded-[1px]", style: { display: 'block' }, children: [videoElement, posterOverlay] }));
|
|
87
105
|
}
|
|
88
106
|
//# sourceMappingURL=ImageKitHlsVideoClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageKitHlsVideoClient.js","sourceRoot":"","sources":["../../src/components/ImageKitHlsVideoClient.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAYnD,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,MAAM,EACN,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,
|
|
1
|
+
{"version":3,"file":"ImageKitHlsVideoClient.js","sourceRoot":"","sources":["../../src/components/ImageKitHlsVideoClient.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyAnimation.d.ts","sourceRoot":"","sources":["../../src/components/LazyAnimation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAE3D,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"LazyAnimation.d.ts","sourceRoot":"","sources":["../../src/components/LazyAnimation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAE3D,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,2CA2CzC"}
|
|
@@ -14,10 +14,17 @@ export function LazyAnimation(props) {
|
|
|
14
14
|
return;
|
|
15
15
|
io.disconnect();
|
|
16
16
|
void (async () => {
|
|
17
|
-
|
|
17
|
+
try {
|
|
18
|
+
await import(/* webpackIgnore: true */ '@lottiefiles/lottie-player');
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// lottie-player not installed in this app — skip animation
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
18
24
|
const { default: Anim } = await import('./AnimationComponent');
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
// useState treats a function argument as an updater — use () => Anim to store the component
|
|
26
|
+
if (!cancelled && typeof Anim === 'function')
|
|
27
|
+
setLoaded(() => Anim);
|
|
21
28
|
})();
|
|
22
29
|
}, { rootMargin: '400px' });
|
|
23
30
|
io.observe(el);
|
|
@@ -31,8 +38,8 @@ export function LazyAnimation(props) {
|
|
|
31
38
|
return _jsx(Comp, { ...props });
|
|
32
39
|
}
|
|
33
40
|
const { animation, className, style } = props;
|
|
34
|
-
const w = animation
|
|
35
|
-
const h = animation
|
|
41
|
+
const w = animation?.optimised?.width;
|
|
42
|
+
const h = animation?.optimised?.height;
|
|
36
43
|
const aspectRatio = w && h ? `${w} / ${h}` : '1 / 1';
|
|
37
44
|
return _jsx("div", { ref: ref, className: className, style: { aspectRatio, ...style } });
|
|
38
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyAnimation.js","sourceRoot":"","sources":["../../src/components/LazyAnimation.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKpD,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CACjC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc;gBAAE,OAAO;YACxC,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"LazyAnimation.js","sourceRoot":"","sources":["../../src/components/LazyAnimation.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKpD,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CACjC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc;gBAAE,OAAO;YACxC,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,yBAAyB,CAAC,4BAA4B,CAAC,CAAC;gBACvE,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;oBAC3D,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC/D,4FAA4F;gBAC5F,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU;oBAAE,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,EACD,EAAE,UAAU,EAAE,OAAO,EAAE,CACxB,CAAC;QACF,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,OAAO,KAAC,IAAI,OAAK,KAAK,GAAI,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;IACtC,MAAM,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;IACvC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACrD,OAAO,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAI,CAAC;AACnF,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare function LazyVideo(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import type { VideoComponentProps } from './VideoComponent';
|
|
2
|
+
type Props = VideoComponentProps;
|
|
3
|
+
export declare function LazyVideo(maybeProps: Props | null | undefined): import("react/jsx-runtime").JSX.Element | null;
|
|
5
4
|
export {};
|
|
6
5
|
//# sourceMappingURL=LazyVideo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyVideo.d.ts","sourceRoot":"","sources":["../../src/components/LazyVideo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LazyVideo.d.ts","sourceRoot":"","sources":["../../src/components/LazyVideo.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,KAAK,KAAK,GAAG,mBAAmB,CAAC;AAEjC,wBAAgB,SAAS,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,kDAsD7D"}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useRef, useState } from 'react';
|
|
4
|
-
export function LazyVideo(
|
|
4
|
+
export function LazyVideo(maybeProps) {
|
|
5
5
|
const ref = useRef(null);
|
|
6
6
|
const [Loaded, setLoaded] = useState(null);
|
|
7
|
+
const isEager = maybeProps?.loading === 'eager' || maybeProps?.fetchPriority === 'high';
|
|
7
8
|
useEffect(() => {
|
|
8
9
|
let cancelled = false;
|
|
10
|
+
function loadComponent() {
|
|
11
|
+
void import('./VideoComponent').then((m) => {
|
|
12
|
+
const Comp = m?.default;
|
|
13
|
+
if (!cancelled && typeof Comp === 'function') {
|
|
14
|
+
setLoaded(() => Comp);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
if (isEager) {
|
|
19
|
+
loadComponent();
|
|
20
|
+
return () => {
|
|
21
|
+
cancelled = true;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
9
24
|
const el = ref.current;
|
|
10
25
|
if (!el)
|
|
11
26
|
return;
|
|
@@ -13,24 +28,24 @@ export function LazyVideo(props) {
|
|
|
13
28
|
if (!entries[0]?.isIntersecting)
|
|
14
29
|
return;
|
|
15
30
|
io.disconnect();
|
|
16
|
-
|
|
17
|
-
if (!cancelled)
|
|
18
|
-
setLoaded(m.default);
|
|
19
|
-
});
|
|
31
|
+
loadComponent();
|
|
20
32
|
}, { rootMargin: '400px' });
|
|
21
33
|
io.observe(el);
|
|
22
34
|
return () => {
|
|
23
35
|
cancelled = true;
|
|
24
36
|
io.disconnect();
|
|
25
37
|
};
|
|
26
|
-
}, []);
|
|
38
|
+
}, [isEager]);
|
|
39
|
+
if (maybeProps == null)
|
|
40
|
+
return null;
|
|
41
|
+
const props = maybeProps;
|
|
27
42
|
if (Loaded) {
|
|
28
43
|
const Comp = Loaded;
|
|
29
44
|
return _jsx(Comp, { ...props });
|
|
30
45
|
}
|
|
31
46
|
const { video, className, style } = props;
|
|
32
|
-
const w = video
|
|
33
|
-
const h = video
|
|
47
|
+
const w = video?.width;
|
|
48
|
+
const h = video?.height;
|
|
34
49
|
const aspectRatio = w && h ? `${w} / ${h}` : '16 / 9';
|
|
35
50
|
return _jsx("div", { ref: ref, className: className, style: { aspectRatio, ...style } });
|
|
36
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyVideo.js","sourceRoot":"","sources":["../../src/components/LazyVideo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKpD,MAAM,UAAU,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"LazyVideo.js","sourceRoot":"","sources":["../../src/components/LazyVideo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKpD,MAAM,UAAU,SAAS,CAAC,UAAoC;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,KAAK,OAAO,IAAI,UAAU,EAAE,aAAa,KAAK,MAAM,CAAC;IAExF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,aAAa;YACpB,KAAK,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC;gBACxB,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7C,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;YAChB,OAAO,GAAG,EAAE;gBACV,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CACjC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc;gBAAE,OAAO;YACxC,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;QAClB,CAAC,EACD,EAAE,UAAU,EAAE,OAAO,EAAE,CACxB,CAAC;QACF,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC;IAEzB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,OAAO,KAAC,IAAI,OAAK,KAAK,GAAI,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;IACvB,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,OAAO,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAI,CAAC;AACnF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IAnalyticsContext, type IFullVideo, type ILocalVideo } from '@se-studio/core-data-types';
|
|
2
2
|
import type { IVideoProps } from './Video';
|
|
3
3
|
declare const LocalVideo: React.FC<{
|
|
4
|
-
video: ILocalVideo;
|
|
4
|
+
video: ILocalVideo | IFullVideo;
|
|
5
5
|
analyticsContext: IAnalyticsContext | null | undefined;
|
|
6
6
|
componentLabel: string | null | undefined;
|
|
7
7
|
} & IVideoProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalVideo.d.ts","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"LocalVideo.d.ts","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAU3C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CACxB;IACE,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC;IAChC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C,GAAG,WAAW,CAkFhB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isFullVideo, } from '@se-studio/core-data-types';
|
|
2
3
|
import ImageKitVideo from './ImageKitClientVideo';
|
|
3
4
|
import ImageKitHlsVideoClient from './ImageKitHlsVideoClient';
|
|
4
5
|
import { calculateCropDetails } from './Visual';
|
|
6
|
+
function hostedPlaybackUrl(video) {
|
|
7
|
+
if (isFullVideo(video)) {
|
|
8
|
+
return video.full?.videoUrl ?? video.preview?.videoUrl;
|
|
9
|
+
}
|
|
10
|
+
return video.preview?.videoUrl;
|
|
11
|
+
}
|
|
5
12
|
const LocalVideo = ({ video, autoPlay, loop, controls, poster, contained, analyticsContext, componentLabel, ...props }) => {
|
|
13
|
+
const playbackUrl = hostedPlaybackUrl(video);
|
|
14
|
+
if (!playbackUrl) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
6
17
|
const resolvedAutoPlay = video.autoPlay ?? autoPlay;
|
|
7
18
|
const resolvedLoop = video.loop ?? loop;
|
|
8
19
|
// Use MP4 for autoplay+loop to avoid HLS loop/autoplay issues on some browsers (e.g. Safari).
|
|
@@ -15,7 +26,7 @@ const LocalVideo = ({ video, autoPlay, loop, controls, poster, contained, analyt
|
|
|
15
26
|
const width = video.width || undefined;
|
|
16
27
|
const height = video.height || undefined;
|
|
17
28
|
if (useHls) {
|
|
18
|
-
const fullUrl = new URL(
|
|
29
|
+
const fullUrl = new URL(playbackUrl);
|
|
19
30
|
const pathname = fullUrl.pathname;
|
|
20
31
|
const basePath = pathname.replace(/\/$/, '');
|
|
21
32
|
const mp4Extension = pathname.endsWith('.mp4') ? '' : '/ik-video.mp4';
|
|
@@ -30,7 +41,7 @@ const LocalVideo = ({ video, autoPlay, loop, controls, poster, contained, analyt
|
|
|
30
41
|
});
|
|
31
42
|
return (_jsx(ImageKitHlsVideoClient, { hlsSrc: hlsSrc, fallbackMp4Url: fallbackMp4Url, width: width, height: height, autoPlay: resolvedAutoPlay, loop: resolvedLoop, controls: resolvedControls, poster: posterUrl, contained: contained, style: { ...props.style, ...cropStyle }, ...props }));
|
|
32
43
|
}
|
|
33
|
-
return (_jsx(ImageKitVideo, { url:
|
|
44
|
+
return (_jsx(ImageKitVideo, { url: playbackUrl, videoPrefix: video.videoPrefix, width: width, height: height, autoPlay: resolvedAutoPlay, loop: resolvedLoop, controls: resolvedControls, poster: resolvedPoster, contained: contained, dontCrop: video.dontCrop, verticalCropPosition: video.verticalCropPosition, horizontalCropPosition: video.horizontalCropPosition, ...props }));
|
|
34
45
|
};
|
|
35
46
|
export default LocalVideo;
|
|
36
47
|
//# sourceMappingURL=LocalVideo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalVideo.js","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"LocalVideo.js","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type IAnalyticsContext, type IExternalVideo, type IFullVideo, type ILocalVideo } from '@se-studio/core-data-types';
|
|
2
2
|
import type { IVideoProps } from './Video';
|
|
3
|
-
|
|
3
|
+
export type VideoComponentProps = {
|
|
4
4
|
video: ILocalVideo | IExternalVideo | IFullVideo;
|
|
5
5
|
analyticsContext: IAnalyticsContext | null | undefined;
|
|
6
6
|
componentLabel: string | null | undefined;
|
|
7
|
-
} & IVideoProps
|
|
7
|
+
} & IVideoProps;
|
|
8
|
+
declare function VideoComponent(allProps: VideoComponentProps | null | undefined): import("react/jsx-runtime").JSX.Element | null;
|
|
8
9
|
export default VideoComponent;
|
|
9
10
|
//# sourceMappingURL=VideoComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoComponent.d.ts","sourceRoot":"","sources":["../../src/components/VideoComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"VideoComponent.d.ts","sourceRoot":"","sources":["../../src/components/VideoComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAIjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC;IACjD,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C,GAAG,WAAW,CAAC;AAEhB,iBAAS,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,kDAsBvE;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { isExternalVideo, isLocalVideo, } from '@se-studio/core-data-types';
|
|
2
|
+
import { isExternalVideo, isFullVideo, isLocalVideo, } from '@se-studio/core-data-types';
|
|
3
3
|
import ExternalVideoComponent from './ExternalVideoComponent';
|
|
4
4
|
import LocalVideo from './LocalVideo';
|
|
5
|
-
function VideoComponent(
|
|
6
|
-
if (
|
|
5
|
+
function VideoComponent(allProps) {
|
|
6
|
+
if (allProps == null) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const { video, ...props } = allProps;
|
|
10
|
+
if (video == null) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
if (isLocalVideo(video) || isFullVideo(video)) {
|
|
7
14
|
return _jsx(LocalVideo, { video: video, ...props });
|
|
8
15
|
}
|
|
9
16
|
if (isExternalVideo(video)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoComponent.js","sourceRoot":"","sources":["../../src/components/VideoComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAKL,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"VideoComponent.js","sourceRoot":"","sources":["../../src/components/VideoComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAKL,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;AAStC,SAAS,cAAc,CAAC,QAAgD;IACtE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC;IACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,KAAM,KAAK,GAAI,CAAC;IACjD,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,KAAM,KAAK,GAAI,CAAC;IAC7D,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,gCAEjD,0BAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,SAAQ,IACxC,CACP,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -92,13 +92,13 @@ export const Visual = ({ visual, muted, controls, autoPlay, visualSizes, fullPla
|
|
|
92
92
|
// Render the appropriate visual type
|
|
93
93
|
let content;
|
|
94
94
|
if (animation) {
|
|
95
|
-
content = (_jsx(LazyAnimation, { animation: animation, autoPlay: autoPlay, loop: loop, loopDelay: loopDelay, analyticsContext: analyticsContext, componentLabel: componentLabel, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style
|
|
95
|
+
content = (_jsx(LazyAnimation, { ...props, animation: animation, autoPlay: autoPlay, loop: loop, loopDelay: loopDelay, analyticsContext: analyticsContext, componentLabel: componentLabel, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style }));
|
|
96
96
|
}
|
|
97
97
|
else if (video) {
|
|
98
|
-
content = (_jsx(LazyVideo, { video: video, autoPlay: autoPlay, muted: muted, controls: controls, visualSizes: visualSizes, fullPlayer: fullPlayer, loop: loop, contained: contained, analyticsContext: analyticsContext, componentLabel: componentLabel, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style
|
|
98
|
+
content = (_jsx(LazyVideo, { ...props, video: video, autoPlay: autoPlay, muted: muted, controls: controls, visualSizes: visualSizes, fullPlayer: fullPlayer, loop: loop, contained: contained, analyticsContext: analyticsContext, componentLabel: componentLabel, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style }));
|
|
99
99
|
}
|
|
100
100
|
else if (image) {
|
|
101
|
-
content = (_jsx(ImageComponent, { image: image, visualSizes: visualSizes, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style
|
|
101
|
+
content = (_jsx(ImageComponent, { ...props, image: image, visualSizes: visualSizes, className: cn(className, mask && 'size-full object-cover'), style: mask ? undefined : style }));
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
104
|
return (_jsx(UnsupportedWarning, { className: className, style: style, children: "Not supporting non images yet" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualComponent.js","sourceRoot":"","sources":["../../src/components/VisualComponent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiD,CAAC,EACnE,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,qCAAqC;IACrC,IAAI,OAAwB,CAAC;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,CACR,KAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"VisualComponent.js","sourceRoot":"","sources":["../../src/components/VisualComponent.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/core-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.138",
|
|
4
4
|
"description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -52,10 +52,16 @@
|
|
|
52
52
|
"url": "https://github.com/Something-Else-Studio/se-core-product/issues"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
+
"@lottiefiles/lottie-player": "^2.0.0",
|
|
55
56
|
"next": ">=15.5.0",
|
|
56
57
|
"react": "^19.2.0",
|
|
57
58
|
"react-dom": "^19.2.0"
|
|
58
59
|
},
|
|
60
|
+
"peerDependenciesMeta": {
|
|
61
|
+
"@lottiefiles/lottie-player": {
|
|
62
|
+
"optional": true
|
|
63
|
+
}
|
|
64
|
+
},
|
|
59
65
|
"dependencies": {
|
|
60
66
|
"@contentful/live-preview": "^4.10.1",
|
|
61
67
|
"@contentful/rich-text-react-renderer": "^16.2.1",
|
|
@@ -68,8 +74,8 @@
|
|
|
68
74
|
"mustache": "4.2.0",
|
|
69
75
|
"server-only": "0.0.1",
|
|
70
76
|
"tailwind-merge": "^3.5.0",
|
|
71
|
-
"@se-studio/contentful-rest-api": "1.0.
|
|
72
|
-
"@se-studio/core-data-types": "1.0.
|
|
77
|
+
"@se-studio/contentful-rest-api": "1.0.139",
|
|
78
|
+
"@se-studio/core-data-types": "1.0.133"
|
|
73
79
|
},
|
|
74
80
|
"devDependencies": {
|
|
75
81
|
"@biomejs/biome": "^2.4.12",
|