@se-studio/core-ui 1.12.0 → 1.12.1

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @se-studio/core-ui
2
2
 
3
+ ## 1.12.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Conditionally load the ImageKit HLS video client only when `IMAGEKIT_VIDEO_HLS` is enabled at build time, so MP4-only marketing sites omit the `hls.js` lazy chunk from their client bundle.
8
+
3
9
  ## 1.12.0
4
10
 
5
11
  ### Minor Changes
@@ -1,6 +1,7 @@
1
1
  import { type IAnalyticsContext, type IFullVideo, type ILocalVideo } from '@se-studio/core-data-types';
2
+ import type { FC } from 'react';
2
3
  import type { IVideoProps } from './Video';
3
- declare const LocalVideo: React.FC<{
4
+ declare const LocalVideo: FC<{
4
5
  video: ILocalVideo | IFullVideo;
5
6
  analyticsContext: IAnalyticsContext | null | undefined;
6
7
  componentLabel: string | null | undefined;
@@ -1 +1 @@
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
+ {"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;AAEpC,OAAO,KAAK,EAAiC,EAAE,EAAE,MAAM,OAAO,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAiB3C,QAAA,MAAM,UAAU,EAAE,EAAE,CAClB;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,CAgFhB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,8 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isFullVideo, } from '@se-studio/core-data-types';
3
+ import dynamic from 'next/dynamic';
4
+ import { isImageKitHlsEnabled } from '../utils/imageKitVideoHls';
3
5
  import ImageKitVideo from './ImageKitClientVideo';
4
- import ImageKitHlsVideoClient from './ImageKitHlsVideoClient';
5
6
  import { calculateCropDetails } from './Visual';
7
+ /** Loaded only when `IMAGEKIT_VIDEO_HLS` is set at build time — keeps `hls.js` out of MP4-only app bundles. */
8
+ const ImageKitHlsVideoClient = isImageKitHlsEnabled()
9
+ ? dynamic(() => import('./ImageKitHlsVideoClient'), { ssr: false })
10
+ : null;
6
11
  function hostedPlaybackUrl(video) {
7
12
  if (isFullVideo(video)) {
8
13
  return video.full?.videoUrl ?? video.preview?.videoUrl;
@@ -17,15 +22,14 @@ const LocalVideo = ({ video, autoPlay, loop, controls, poster, contained, analyt
17
22
  const resolvedAutoPlay = video.autoPlay ?? autoPlay;
18
23
  const resolvedLoop = video.loop ?? loop;
19
24
  // Use MP4 for autoplay+loop to avoid HLS loop/autoplay issues on some browsers (e.g. Safari).
20
- const useHls = (process.env.IMAGEKIT_VIDEO_HLS === 'true' || process.env.IMAGEKIT_VIDEO_HLS === '1') &&
21
- !(resolvedAutoPlay && resolvedLoop);
25
+ const useHls = isImageKitHlsEnabled() && !(resolvedAutoPlay && resolvedLoop);
22
26
  const resolvedControls = !video.hideControls && controls;
23
27
  const resolvedPoster = video.poster ?? poster;
24
28
  // Dimensions are pre-populated by enrichVideoAssets during Contentful conversion.
25
29
  // Use undefined rather than 0 so the browser omits intrinsic size when unavailable.
26
30
  const width = video.width || undefined;
27
31
  const height = video.height || undefined;
28
- if (useHls) {
32
+ if (useHls && ImageKitHlsVideoClient) {
29
33
  const fullUrl = new URL(playbackUrl);
30
34
  const pathname = fullUrl.pathname;
31
35
  const basePath = pathname.replace(/\/$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"LocalVideo.js","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalVideo.js","sourceRoot":"","sources":["../../src/components/LocalVideo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** True when ImageKit HLS playback is enabled. MP4-only sites leave `IMAGEKIT_VIDEO_HLS` unset. */
2
+ export declare function isImageKitHlsEnabled(): boolean;
3
+ //# sourceMappingURL=imageKitVideoHls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageKitVideoHls.d.ts","sourceRoot":"","sources":["../../src/utils/imageKitVideoHls.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -0,0 +1,5 @@
1
+ /** True when ImageKit HLS playback is enabled. MP4-only sites leave `IMAGEKIT_VIDEO_HLS` unset. */
2
+ export function isImageKitHlsEnabled() {
3
+ return process.env.IMAGEKIT_VIDEO_HLS === 'true' || process.env.IMAGEKIT_VIDEO_HLS === '1';
4
+ }
5
+ //# sourceMappingURL=imageKitVideoHls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageKitVideoHls.js","sourceRoot":"","sources":["../../src/utils/imageKitVideoHls.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC;AAC7F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/core-ui",
3
- "version": "1.12.0",
3
+ "version": "1.12.1",
4
4
  "description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,8 +75,8 @@
75
75
  "mustache": "4.2.0",
76
76
  "server-only": "0.0.1",
77
77
  "tailwind-merge": "^3.6.0",
78
- "@se-studio/contentful-rest-api": "1.14.6",
79
- "@se-studio/core-data-types": "1.6.1"
78
+ "@se-studio/core-data-types": "1.6.1",
79
+ "@se-studio/contentful-rest-api": "1.14.6"
80
80
  },
81
81
  "devDependencies": {
82
82
  "@biomejs/biome": "^2.5.1",