@videojs/react 0.1.0-preview.5 → 0.1.0-preview.7

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/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { a as useMediaDispatch, c as useMediaStore, i as MediaProvider, l as MediaContext, n as MediaStateOwner, o as useMediaRef, r as MediaStore, s as useMediaSelector, t as MediaState } from "./index-BNR1awZq.js";
1
+ import { a as useMediaDispatch, c as useMediaStore, i as VideoProvider, l as MediaContext, n as MediaStateOwner, o as useMediaRef, r as MediaStore, s as useMediaSelector, t as MediaState } from "./index-CM70WSkA.js";
2
2
  import { t as FrostedSkin } from "./FrostedSkin-t8edr5LV.js";
3
3
  import { t as MinimalSkin } from "./MinimalSkin-DzHkJgW-.js";
4
- import React$1, { CSSProperties, DetailedHTMLProps, ElementType, FC, HTMLProps, MutableRefObject, PropsWithChildren, ReactElement, ReactNode, Ref, RefCallback, VideoHTMLAttributes } from "react";
5
- import { Placement } from "@floating-ui/react";
4
+ import React$1, { CSSProperties, DetailedHTMLProps, ElementType, FC, HTMLProps, PropsWithChildren, ReactElement, ReactNode, Ref, RefCallback, VideoHTMLAttributes } from "react";
6
5
  import { TimeSlider as TimeSlider$1, VolumeSlider as VolumeSlider$1 } from "@videojs/core";
7
6
 
8
7
  //#region src/utils/component-factory.d.ts
@@ -52,6 +51,23 @@ type FullscreenButtonProps = ReturnType<typeof getFullscreenButtonProps>;
52
51
  declare function renderFullscreenButton(props: FullscreenButtonProps, state: FullscreenButtonState): JSX.Element;
53
52
  declare const FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>;
54
53
  //#endregion
54
+ //#region src/components/HlsVideo.d.ts
55
+ type MediaStateOwner$1 = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;
56
+ /** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */
57
+ type ComponentType = ElementType<Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "ref"> & {
58
+ ref: Ref<MediaStateOwner$1>;
59
+ }>;
60
+ type VideoProps$1 = PropsWithChildren<{
61
+ component?: ComponentType;
62
+ className?: string | undefined;
63
+ style?: CSSProperties | undefined;
64
+ }>;
65
+ declare function HlsVideo({
66
+ component,
67
+ children,
68
+ ...props
69
+ }: VideoProps$1): JSX.Element;
70
+ //#endregion
55
71
  //#region src/components/MediaContainer.d.ts
56
72
  /**
57
73
  * Hook to associate a React element as the fullscreen container for the media store.
@@ -83,9 +99,7 @@ declare function useMediaContainerRef(): RefCallback<HTMLElement | null>;
83
99
  * </MediaContainer>
84
100
  * );
85
101
  */
86
- declare const MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement> & {
87
- portalId?: string;
88
- }>>;
102
+ declare const MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement>>>;
89
103
  //#endregion
90
104
  //#region src/components/MuteButton.d.ts
91
105
  declare function useMuteButtonState(_props: any): {
@@ -113,6 +127,7 @@ declare function renderPlayButton(props: PlayButtonProps, state: PlayButtonState
113
127
  declare const PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>;
114
128
  //#endregion
115
129
  //#region src/components/Popover.d.ts
130
+ type Placement$1 = "top" | "top-start" | "top-end";
116
131
  interface PopoverRootProps {
117
132
  openOnHover?: boolean;
118
133
  delay?: number;
@@ -123,19 +138,15 @@ interface PopoverTriggerProps {
123
138
  children: ReactNode;
124
139
  }
125
140
  interface PopoverPositionerProps {
126
- side?: Placement;
141
+ side?: Placement$1;
127
142
  sideOffset?: number;
128
143
  children: ReactNode;
129
144
  }
130
145
  interface PopoverPopupProps {
146
+ id?: string;
131
147
  className?: string;
132
148
  children: ReactNode;
133
149
  }
134
- interface PopoverPortalProps {
135
- children: ReactNode;
136
- root?: HTMLElement | ShadowRoot | MutableRefObject<HTMLElement | ShadowRoot | null> | null;
137
- rootId?: string;
138
- }
139
150
  declare function PopoverRoot({
140
151
  openOnHover,
141
152
  delay,
@@ -151,20 +162,15 @@ declare function PopoverPositioner({
151
162
  children
152
163
  }: PopoverPositionerProps): JSX.Element | null;
153
164
  declare function PopoverPopup({
165
+ id,
154
166
  className,
155
167
  children
156
168
  }: PopoverPopupProps): JSX.Element;
157
- declare function PopoverPortal({
158
- children,
159
- root,
160
- rootId
161
- }: PopoverPortalProps): JSX.Element;
162
169
  declare const Popover: {
163
170
  Root: typeof PopoverRoot;
164
171
  Trigger: typeof PopoverTrigger;
165
172
  Positioner: typeof PopoverPositioner;
166
173
  Popup: typeof PopoverPopup;
167
- Portal: typeof PopoverPortal;
168
174
  };
169
175
  //#endregion
170
176
  //#region src/components/PreviewTimeDisplay.d.ts
@@ -178,30 +184,6 @@ interface PreviewTimeDisplayProps extends React.ComponentProps<"span"> {
178
184
  declare function renderPreviewTimeDisplay(props: PreviewTimeDisplayProps, state: PreviewTimeDisplayState): JSX.Element;
179
185
  declare const PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>;
180
186
  //#endregion
181
- //#region src/components/SimpleVideo.d.ts
182
- type SimpleVideoProps = PropsWithChildren<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {
183
- className?: string | undefined;
184
- style?: CSSProperties | undefined;
185
- }>;
186
- /**
187
- * SimpleVideo - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
188
- * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
189
- * regular Video component instead.
190
- *
191
- * This component connects to MediaProvider for play/pause state but sets the src directly on the
192
- * video element without going through HLS.js or other playback engines.
193
- *
194
- * @example
195
- * ```tsx
196
- * <MediaProvider>
197
- * <MediaSkin>
198
- * <SimpleVideo src="video.mp4" />
199
- * </MediaSkin>
200
- * </MediaProvider>
201
- * ```
202
- */
203
- declare const SimpleVideo: React$1.ForwardRefExoticComponent<SimpleVideoProps & React$1.RefAttributes<HTMLVideoElement>>;
204
- //#endregion
205
187
  //#region src/components/TimeSlider.d.ts
206
188
  interface TimeSliderProps extends React.ComponentPropsWithRef<"div"> {
207
189
  orientation?: "horizontal" | "vertical";
@@ -230,6 +212,7 @@ declare const TimeSlider: {
230
212
  };
231
213
  //#endregion
232
214
  //#region src/components/Tooltip.d.ts
215
+ type Placement = "top" | "top-start" | "top-end";
233
216
  interface TooltipRootProps {
234
217
  delay?: number;
235
218
  closeDelay?: number;
@@ -246,18 +229,10 @@ interface TooltipPositionerProps {
246
229
  children: ReactNode;
247
230
  }
248
231
  interface TooltipPopupProps {
232
+ id?: string;
249
233
  className?: string;
250
234
  children: ReactNode;
251
235
  }
252
- interface TooltipArrowProps {
253
- className?: string;
254
- children: ReactNode;
255
- }
256
- interface TooltipPortalProps {
257
- children: ReactNode;
258
- root?: HTMLElement | ShadowRoot | MutableRefObject<HTMLElement | ShadowRoot | null> | null;
259
- rootId?: string;
260
- }
261
236
  declare function TooltipRoot({
262
237
  delay,
263
238
  closeDelay,
@@ -274,44 +249,40 @@ declare function TooltipPositioner({
274
249
  children
275
250
  }: TooltipPositionerProps): JSX.Element | null;
276
251
  declare function TooltipPopup({
252
+ id,
277
253
  className,
278
254
  children
279
255
  }: TooltipPopupProps): JSX.Element | null;
280
- declare function TooltipArrow({
281
- className,
282
- children
283
- }: TooltipArrowProps): JSX.Element;
284
- declare function TooltipPortal({
285
- children,
286
- root,
287
- rootId
288
- }: TooltipPortalProps): JSX.Element;
289
256
  declare const Tooltip: {
290
257
  Root: typeof TooltipRoot;
291
258
  Trigger: typeof TooltipTrigger;
292
259
  Positioner: typeof TooltipPositioner;
293
260
  Popup: typeof TooltipPopup;
294
- Arrow: typeof TooltipArrow;
295
- Portal: typeof TooltipPortal;
296
261
  };
297
262
  //#endregion
298
263
  //#region src/components/Video.d.ts
299
- type MediaStateOwner$1 = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;
300
- /** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */
301
- type ComponentType = ElementType<Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "ref"> & {
302
- ref: Ref<MediaStateOwner$1>;
303
- }>;
304
- type VideoProps = PropsWithChildren<{
305
- component?: ComponentType;
264
+ type VideoProps = PropsWithChildren<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {
306
265
  className?: string | undefined;
307
266
  style?: CSSProperties | undefined;
308
267
  }>;
309
- declare function Video({
310
- component,
311
- children,
312
- ...props
313
- }: VideoProps): JSX.Element;
314
- declare const MediaElementVideo: FC<VideoProps>;
268
+ /**
269
+ * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
270
+ * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
271
+ * regular Video component instead.
272
+ *
273
+ * This component connects to VideoProvider for play/pause state but sets the src directly on the
274
+ * video element without going through HLS.js or other playback engines.
275
+ *
276
+ * @example
277
+ * ```tsx
278
+ * <VideoProvider>
279
+ * <MediaSkin>
280
+ * <Video src="video.mp4" />
281
+ * </MediaSkin>
282
+ * </VideoProvider>
283
+ * ```
284
+ */
285
+ declare const Video: React$1.ForwardRefExoticComponent<VideoProps & React$1.RefAttributes<HTMLVideoElement>>;
315
286
  //#endregion
316
287
  //#region src/components/VolumeSlider.d.ts
317
288
  interface VolumeSliderProps extends React.ComponentProps<"div"> {
@@ -337,5 +308,5 @@ declare const VolumeSlider: {
337
308
  Progress: typeof VolumeSliderProgress;
338
309
  };
339
310
  //#endregion
340
- export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, MediaContainer, MediaContext, MediaElementVideo, MediaProvider, MediaState, MediaStateOwner, MediaStore, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, SimpleVideo, TimeSlider, Tooltip, Video, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
311
+ export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, HlsVideo, MediaContainer, MediaContext, MediaState, MediaStateOwner, MediaStore, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, TimeSlider, Tooltip, Video, VideoProvider, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
341
312
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["CurrentTimeDisplay: ConnectedComponent<CurrentTimeDisplayProps, typeof renderCurrentTimeDisplay>","DurationDisplay: ConnectedComponent<DurationDisplayProps, typeof renderDurationDisplay>","FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>","MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement> & { portalId?: string }>>","MuteButton: ConnectedComponent<MuteButtonProps, typeof renderMuteButton>","PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>","Popover: {\n Root: typeof PopoverRoot;\n Trigger: typeof PopoverTrigger;\n Positioner: typeof PopoverPositioner;\n Popup: typeof PopoverPopup;\n Portal: typeof PopoverPortal;\n}","PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>","SimpleVideo: React.ForwardRefExoticComponent<\n SimpleVideoProps & React.RefAttributes<HTMLVideoElement>\n>","TimeSliderRoot: ConnectedComponent<TimeSliderProps, typeof renderTimeSliderRoot>","TimeSliderTrack: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderTrack>","TimeSliderThumb: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderThumb>","TimeSliderPointer: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderPointer\n>","TimeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderProgress\n>","Tooltip: {\n Root: typeof TooltipRoot;\n Trigger: typeof TooltipTrigger;\n Positioner: typeof TooltipPositioner;\n Popup: typeof TooltipPopup;\n Arrow: typeof TooltipArrow;\n Portal: typeof TooltipPortal;\n}","MediaElementVideo: FC<VideoProps>","VolumeSliderRoot: ConnectedComponent<VolumeSliderProps, typeof renderVolumeSliderRoot>","VolumeSliderTrack: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderTrack\n>","VolumeSliderThumb: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderThumb\n>","VolumeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderProgress\n>"],"sources":["../src/utils/component-factory.tsx","../src/components/CurrentTimeDisplay.tsx","../src/components/DurationDisplay.tsx","../src/components/FullscreenButton.tsx","../src/components/MediaContainer.tsx","../src/components/MuteButton.tsx","../src/components/PlayButton.tsx","../src/components/Popover.tsx","../src/components/PreviewTimeDisplay.tsx","../src/components/SimpleVideo.tsx","../src/components/TimeSlider.tsx","../src/components/Tooltip.tsx","../src/components/Video.tsx","../src/components/VolumeSlider.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["CurrentTimeDisplay: ConnectedComponent<CurrentTimeDisplayProps, typeof renderCurrentTimeDisplay>","DurationDisplay: ConnectedComponent<DurationDisplayProps, typeof renderDurationDisplay>","FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>","MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement>>>","MuteButton: ConnectedComponent<MuteButtonProps, typeof renderMuteButton>","PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>","Popover: {\n Root: typeof PopoverRoot;\n Trigger: typeof PopoverTrigger;\n Positioner: typeof PopoverPositioner;\n Popup: typeof PopoverPopup;\n}","PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>","TimeSliderRoot: ConnectedComponent<TimeSliderProps, typeof renderTimeSliderRoot>","TimeSliderTrack: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderTrack>","TimeSliderThumb: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderThumb>","TimeSliderPointer: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderPointer\n>","TimeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderProgress\n>","Tooltip: {\n Root: typeof TooltipRoot;\n Trigger: typeof TooltipTrigger;\n Positioner: typeof TooltipPositioner;\n Popup: typeof TooltipPopup;\n}","Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n>","VolumeSliderRoot: ConnectedComponent<VolumeSliderProps, typeof renderVolumeSliderRoot>","VolumeSliderTrack: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderTrack\n>","VolumeSliderThumb: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderThumb\n>","VolumeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderProgress\n>"],"sources":["../src/utils/component-factory.tsx","../src/components/CurrentTimeDisplay.tsx","../src/components/DurationDisplay.tsx","../src/components/FullscreenButton.tsx","../src/components/HlsVideo.tsx","../src/components/MediaContainer.tsx","../src/components/MuteButton.tsx","../src/components/PlayButton.tsx","../src/components/Popover.tsx","../src/components/PreviewTimeDisplay.tsx","../src/components/TimeSlider.tsx","../src/components/Tooltip.tsx","../src/components/Video.tsx","../src/components/VolumeSlider.tsx"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,42 +1,16 @@
1
- import { a as useMediaStore, i as useMediaSelector, n as useMediaDispatch, o as MediaContext, r as useMediaRef, t as MediaProvider } from "./store-DpQF8Ges.js";
2
- import { _ as DurationDisplay, a as TimeSlider, c as Popover, f as MuteButton, g as FullscreenButton, h as useMediaContainerRef, m as MediaContainer, o as PreviewTimeDisplay, r as Tooltip, t as VolumeSlider, u as PlayButton, v as CurrentTimeDisplay } from "./VolumeSlider-DoR6idnJ.js";
1
+ 'use client';
2
+
3
+
4
+ import { a as useMediaStore, i as useMediaSelector, n as useMediaDispatch, o as MediaContext, r as useMediaRef, t as VideoProvider } from "./store-hGO5HE2A.js";
5
+ import { _ as DurationDisplay, a as TimeSlider, c as Popover, f as MuteButton, g as FullscreenButton, h as useMediaContainerRef, m as MediaContainer, o as PreviewTimeDisplay, r as Tooltip, t as VolumeSlider, u as PlayButton, v as CurrentTimeDisplay } from "./VolumeSlider-B8x0_k2f.js";
3
6
  import "./icons-BqfV81R8.js";
4
- import { t as FrostedSkin } from "./frosted-ra_eRTyG.js";
5
- import { t as MinimalSkin } from "./minimal-Cj3N9SDN.js";
7
+ import { t as FrostedSkin } from "./frosted-BYwSN7-8.js";
8
+ import { t as MinimalSkin } from "./minimal-CVRiJIWD.js";
6
9
  import React, { forwardRef, useImperativeHandle, useRef } from "react";
7
10
  import { jsx } from "react/jsx-runtime";
8
11
  import { createMediaPlaybackController } from "@videojs/core/media";
9
12
 
10
- //#region src/components/SimpleVideo.tsx
11
- /**
12
- * SimpleVideo - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
13
- * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
14
- * regular Video component instead.
15
- *
16
- * This component connects to MediaProvider for play/pause state but sets the src directly on the
17
- * video element without going through HLS.js or other playback engines.
18
- *
19
- * @example
20
- * ```tsx
21
- * <MediaProvider>
22
- * <MediaSkin>
23
- * <SimpleVideo src="video.mp4" />
24
- * </MediaSkin>
25
- * </MediaProvider>
26
- * ```
27
- */
28
- const SimpleVideo = forwardRef(({ children,...props }, _ref) => {
29
- const mediaRefCallback = useMediaRef();
30
- return /* @__PURE__ */ jsx("video", {
31
- ...props,
32
- ref: mediaRefCallback,
33
- children
34
- });
35
- });
36
- SimpleVideo.displayName = "SimpleVideo";
37
-
38
- //#endregion
39
- //#region src/components/Video.tsx
13
+ //#region src/components/HlsVideo.tsx
40
14
  function useMediaStateOwner(ref, createMediaPlaybackController$1) {
41
15
  const mediaStateOwnerRef = useRef(createMediaPlaybackController$1());
42
16
  useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);
@@ -59,7 +33,7 @@ const DefaultVideoComponent = forwardRef(({ children,...props }, ref) => {
59
33
  });
60
34
  /**
61
35
  * @description This is a "thin wrapper" around the media component whose primary responsibility is to wire up the element
62
- * to the <MediaProvider/>'s MediaStore for the media state.
36
+ * to the <VideoProvider/>'s MediaStore for the media state.
63
37
  * @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to
64
38
  * MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.
65
39
  * @returns A media react component (e.g. <video/>), wired up as the media element.
@@ -73,15 +47,43 @@ function ConnectedVideo({ component, children,...props }) {
73
47
  children
74
48
  });
75
49
  }
76
- function Video({ component = DefaultVideoComponent, children,...props }) {
50
+ function HlsVideo({ component = DefaultVideoComponent, children,...props }) {
77
51
  return /* @__PURE__ */ jsx(ConnectedVideo, {
78
52
  ...props,
79
53
  component,
80
54
  children
81
55
  });
82
56
  }
83
- const MediaElementVideo = Video;
84
57
 
85
58
  //#endregion
86
- export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, MediaContainer, MediaContext, MediaElementVideo, MediaProvider, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, SimpleVideo, TimeSlider, Tooltip, Video, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
59
+ //#region src/components/Video.tsx
60
+ /**
61
+ * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
62
+ * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
63
+ * regular Video component instead.
64
+ *
65
+ * This component connects to VideoProvider for play/pause state but sets the src directly on the
66
+ * video element without going through HLS.js or other playback engines.
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * <VideoProvider>
71
+ * <MediaSkin>
72
+ * <Video src="video.mp4" />
73
+ * </MediaSkin>
74
+ * </VideoProvider>
75
+ * ```
76
+ */
77
+ const Video = forwardRef(({ children,...props }, _ref) => {
78
+ const mediaRefCallback = useMediaRef();
79
+ return /* @__PURE__ */ jsx("video", {
80
+ ...props,
81
+ ref: mediaRefCallback,
82
+ children
83
+ });
84
+ });
85
+ Video.displayName = "Video";
86
+
87
+ //#endregion
88
+ export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, HlsVideo, MediaContainer, MediaContext, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, TimeSlider, Tooltip, Video, VideoProvider, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
87
89
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SimpleVideo: React.ForwardRefExoticComponent<\n SimpleVideoProps & React.RefAttributes<HTMLVideoElement>\n>","createMediaPlaybackController","DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n>","MediaElementVideo: FC<VideoProps>"],"sources":["../src/components/SimpleVideo.tsx","../src/components/Video.tsx"],"sourcesContent":["'use client';\n\nimport type {\n CSSProperties,\n DetailedHTMLProps,\n PropsWithChildren,\n VideoHTMLAttributes,\n} from 'react';\n\nimport React, { forwardRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport type SimpleVideoProps = PropsWithChildren<\n DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {\n className?: string | undefined;\n style?: CSSProperties | undefined;\n }\n>;\n\n/**\n * SimpleVideo - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)\n * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the\n * regular Video component instead.\n *\n * This component connects to MediaProvider for play/pause state but sets the src directly on the\n * video element without going through HLS.js or other playback engines.\n *\n * @example\n * ```tsx\n * <MediaProvider>\n * <MediaSkin>\n * <SimpleVideo src=\"video.mp4\" />\n * </MediaSkin>\n * </MediaProvider>\n * ```\n */\nexport const SimpleVideo: React.ForwardRefExoticComponent<\n SimpleVideoProps & React.RefAttributes<HTMLVideoElement>\n> = forwardRef<HTMLVideoElement, SimpleVideoProps>(\n ({ children, ...props }, _ref) => {\n const mediaRefCallback = useMediaRef();\n\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video {...props} ref={mediaRefCallback}>\n {children}\n </video>\n );\n },\n);\n\nSimpleVideo.displayName = 'SimpleVideo';\n\nexport default SimpleVideo;\n","'use client';\n\nimport type {\n CSSProperties,\n DetailedHTMLProps,\n ElementType,\n FC,\n PropsWithChildren,\n Ref,\n VideoHTMLAttributes,\n} from 'react';\n\nimport { createMediaPlaybackController } from '@videojs/core/media';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport interface MuxVideoProps {\n 'playback-id'?: string;\n}\n\ntype MediaStateOwner = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;\n\n/** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */\ntype ComponentType = ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & {\n ref: Ref<MediaStateOwner>;\n }\n>;\n\n// These are the first steps/WIP POC of decoupling the Media State Owner from the DOM.\n// Note that everything will still work if you use:\n// 1. an audio/video element directly\n// 2. a custom element a la media-elements\ntype CreateMediaStateOwner = typeof createMediaPlaybackController;\n\nfunction useMediaStateOwner(ref: Ref<any>, createMediaPlaybackController: CreateMediaStateOwner) {\n const mediaStateOwnerRef = useRef(createMediaPlaybackController(/* props? */));\n useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);\n /** @TODO Parameterize this (CJP) */\n type ComponentProps = DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>;\n return {\n updateMediaElement(mediaEl: HTMLMediaElement | null, props: ComponentProps) {\n // NOTE: The details here will almost definitely change for a less \"bare bones\"/\"POC\" implementation of Media State Owner impl. (CJP)\n mediaStateOwnerRef.current.mediaElement = mediaEl ?? undefined;\n mediaStateOwnerRef.current.src = props.src as string;\n if (props.muted) {\n mediaStateOwnerRef.current.muted = props.muted;\n }\n },\n };\n}\n\nconst DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n> = forwardRef<any, any>(({ children, ...props }, ref) => {\n const { updateMediaElement } = useMediaStateOwner(ref, createMediaPlaybackController);\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n {...props}\n ref={(mediaEl) => {\n /** @TODO In later iterations/non-POC, we should be able to have a function that can be used directly for the `ref` prop (CJP) */\n updateMediaElement(mediaEl, props);\n }}\n >\n {children}\n </video>\n );\n});\n\n/**\n * @description This is a \"thin wrapper\" around the media component whose primary responsibility is to wire up the element\n * to the <MediaProvider/>'s MediaStore for the media state.\n * @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to\n * MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.\n * @returns A media react component (e.g. <video/>), wired up as the media element.\n */\nfunction ConnectedVideo({\n component,\n children,\n ...props\n}: PropsWithChildren<{\n component: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>) {\n const Component = component;\n const mediaRefCallback = useMediaRef();\n // NOTE: While this may feel like magic to folks, in the \"default\" use case, you can think of it as:\n // return (<video ref={mediaRefCallback} {...restProps} >{children}</video>);\n return (\n <Component {...props} ref={mediaRefCallback}>\n {children}\n </Component>\n );\n}\n\nexport type VideoProps = PropsWithChildren<{\n component?: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>;\n\n// Main Video component with default component\nexport function Video({ component = DefaultVideoComponent, children, ...props }: VideoProps): JSX.Element {\n return (\n <ConnectedVideo {...props} component={component}>\n {children}\n </ConnectedVideo>\n );\n}\n\n// MediaElementVideo export (same as Video but for backwards compatibility)\nexport const MediaElementVideo: FC<VideoProps> = Video;\n\nexport default Video;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAaA,cAET,YACD,EAAE,SAAU,GAAG,SAAS,SAAS;CAChC,MAAM,mBAAmB,aAAa;AAEtC,QAEE,oBAAC;EAAM,GAAI;EAAO,KAAK;EACpB;GACK;EAGb;AAED,YAAY,cAAc;;;;ACf1B,SAAS,mBAAmB,KAAe,iCAAsD;CAC/F,MAAM,qBAAqB,OAAOC,iCAA2C,CAAC;AAC9E,qBAAoB,WAAW,mBAAmB,SAAS,EAAE,CAAC;AAG9D,QAAO,EACL,mBAAmB,SAAkC,OAAuB;AAE1E,qBAAmB,QAAQ,eAAe,WAAW;AACrD,qBAAmB,QAAQ,MAAM,MAAM;AACvC,MAAI,MAAM,MACR,oBAAmB,QAAQ,QAAQ,MAAM;IAG9C;;AAGH,MAAMC,wBAEF,YAAsB,EAAE,SAAU,GAAG,SAAS,QAAQ;CACxD,MAAM,EAAE,uBAAuB,mBAAmB,KAAK,8BAA8B;AACrF,QAEE,oBAAC;EACC,GAAI;EACJ,MAAM,YAAY;;AAEhB,sBAAmB,SAAS,MAAM;;EAGnC;GACK;EAEV;;;;;;;;AASF,SAAS,eAAe,EACtB,WACA,SACA,GAAG,SAKD;CACF,MAAM,YAAY;CAClB,MAAM,mBAAmB,aAAa;AAGtC,QACE,oBAAC;EAAU,GAAI;EAAO,KAAK;EACxB;GACS;;AAWhB,SAAgB,MAAM,EAAE,YAAY,uBAAuB,SAAU,GAAG,SAAkC;AACxG,QACE,oBAAC;EAAe,GAAI;EAAkB;EACnC;GACc;;AAKrB,MAAaC,oBAAoC"}
1
+ {"version":3,"file":"index.js","names":["createMediaPlaybackController","DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n>","Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n>"],"sources":["../src/components/HlsVideo.tsx","../src/components/Video.tsx"],"sourcesContent":["import type {\n CSSProperties,\n DetailedHTMLProps,\n ElementType,\n PropsWithChildren,\n Ref,\n VideoHTMLAttributes,\n} from 'react';\n\nimport { createMediaPlaybackController } from '@videojs/core/media';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport interface MuxVideoProps {\n 'playback-id'?: string;\n}\n\ntype MediaStateOwner = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;\n\n/** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */\ntype ComponentType = ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & {\n ref: Ref<MediaStateOwner>;\n }\n>;\n\n// These are the first steps/WIP POC of decoupling the Media State Owner from the DOM.\n// Note that everything will still work if you use:\n// 1. an audio/video element directly\n// 2. a custom element a la media-elements\ntype CreateMediaStateOwner = typeof createMediaPlaybackController;\n\nfunction useMediaStateOwner(ref: Ref<any>, createMediaPlaybackController: CreateMediaStateOwner) {\n const mediaStateOwnerRef = useRef(createMediaPlaybackController(/* props? */));\n useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);\n /** @TODO Parameterize this (CJP) */\n type ComponentProps = DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>;\n return {\n updateMediaElement(mediaEl: HTMLMediaElement | null, props: ComponentProps) {\n // NOTE: The details here will almost definitely change for a less \"bare bones\"/\"POC\" implementation of Media State Owner impl. (CJP)\n mediaStateOwnerRef.current.mediaElement = mediaEl ?? undefined;\n mediaStateOwnerRef.current.src = props.src as string;\n if (props.muted) {\n mediaStateOwnerRef.current.muted = props.muted;\n }\n },\n };\n}\n\nconst DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n> = forwardRef<any, any>(({ children, ...props }, ref) => {\n const { updateMediaElement } = useMediaStateOwner(ref, createMediaPlaybackController);\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n {...props}\n ref={(mediaEl) => {\n /** @TODO In later iterations/non-POC, we should be able to have a function that can be used directly for the `ref` prop (CJP) */\n updateMediaElement(mediaEl, props);\n }}\n >\n {children}\n </video>\n );\n});\n\n/**\n * @description This is a \"thin wrapper\" around the media component whose primary responsibility is to wire up the element\n * to the <VideoProvider/>'s MediaStore for the media state.\n * @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to\n * MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.\n * @returns A media react component (e.g. <video/>), wired up as the media element.\n */\nfunction ConnectedVideo({\n component,\n children,\n ...props\n}: PropsWithChildren<{\n component: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>) {\n const Component = component;\n const mediaRefCallback = useMediaRef();\n // NOTE: While this may feel like magic to folks, in the \"default\" use case, you can think of it as:\n // return (<video ref={mediaRefCallback} {...restProps} >{children}</video>);\n return (\n <Component {...props} ref={mediaRefCallback}>\n {children}\n </Component>\n );\n}\n\nexport type VideoProps = PropsWithChildren<{\n component?: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>;\n\n// HlsVideo component with default component\nexport function HlsVideo({ component = DefaultVideoComponent, children, ...props }: VideoProps): JSX.Element {\n return (\n <ConnectedVideo {...props} component={component}>\n {children}\n </ConnectedVideo>\n );\n}\n\nexport default HlsVideo;\n","import type {\n CSSProperties,\n DetailedHTMLProps,\n PropsWithChildren,\n VideoHTMLAttributes,\n} from 'react';\n\nimport React, { forwardRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport type VideoProps = PropsWithChildren<\n DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {\n className?: string | undefined;\n style?: CSSProperties | undefined;\n }\n>;\n\n/**\n * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)\n * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the\n * regular Video component instead.\n *\n * This component connects to VideoProvider for play/pause state but sets the src directly on the\n * video element without going through HLS.js or other playback engines.\n *\n * @example\n * ```tsx\n * <VideoProvider>\n * <MediaSkin>\n * <Video src=\"video.mp4\" />\n * </MediaSkin>\n * </VideoProvider>\n * ```\n */\nexport const Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n> = forwardRef<HTMLVideoElement, VideoProps>(\n ({ children, ...props }, _ref) => {\n const mediaRefCallback = useMediaRef();\n\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video {...props} ref={mediaRefCallback}>\n {children}\n </video>\n );\n },\n);\n\nVideo.displayName = 'Video';\n\nexport default Video;\n"],"mappings":";;;;;;;;;;;;;AAiCA,SAAS,mBAAmB,KAAe,iCAAsD;CAC/F,MAAM,qBAAqB,OAAOA,iCAA2C,CAAC;AAC9E,qBAAoB,WAAW,mBAAmB,SAAS,EAAE,CAAC;AAG9D,QAAO,EACL,mBAAmB,SAAkC,OAAuB;AAE1E,qBAAmB,QAAQ,eAAe,WAAW;AACrD,qBAAmB,QAAQ,MAAM,MAAM;AACvC,MAAI,MAAM,MACR,oBAAmB,QAAQ,QAAQ,MAAM;IAG9C;;AAGH,MAAMC,wBAEF,YAAsB,EAAE,SAAU,GAAG,SAAS,QAAQ;CACxD,MAAM,EAAE,uBAAuB,mBAAmB,KAAK,8BAA8B;AACrF,QAEE,oBAAC;EACC,GAAI;EACJ,MAAM,YAAY;;AAEhB,sBAAmB,SAAS,MAAM;;EAGnC;GACK;EAEV;;;;;;;;AASF,SAAS,eAAe,EACtB,WACA,SACA,GAAG,SAKD;CACF,MAAM,YAAY;CAClB,MAAM,mBAAmB,aAAa;AAGtC,QACE,oBAAC;EAAU,GAAI;EAAO,KAAK;EACxB;GACS;;AAWhB,SAAgB,SAAS,EAAE,YAAY,uBAAuB,SAAU,GAAG,SAAkC;AAC3G,QACE,oBAAC;EAAe,GAAI;EAAkB;EACnC;GACc;;;;;;;;;;;;;;;;;;;;;;ACxErB,MAAaC,QAET,YACD,EAAE,SAAU,GAAG,SAAS,SAAS;CAChC,MAAM,mBAAmB,aAAa;AAEtC,QAEE,oBAAC;EAAM,GAAI;EAAO,KAAK;EACpB;GACK;EAGb;AAED,MAAM,cAAc"}
@@ -1,4 +1,4 @@
1
- import { _ as DurationDisplay, a as TimeSlider, d as PlayButton_default, g as FullscreenButton, i as Tooltip_default, l as Popover_default, m as MediaContainer, n as VolumeSlider_default, p as MuteButton_default, s as PreviewTimeDisplay_default, v as CurrentTimeDisplay } from "./VolumeSlider-DoR6idnJ.js";
1
+ import { _ as DurationDisplay, a as TimeSlider, d as PlayButton_default, g as FullscreenButton, i as Tooltip_default, l as Popover_default, m as MediaContainer, n as VolumeSlider_default, p as MuteButton_default, s as PreviewTimeDisplay_default, v as CurrentTimeDisplay } from "./VolumeSlider-B8x0_k2f.js";
2
2
  import { a as Play_default, c as FullscreenExitAlt_default, n as VolumeLow_default, o as Pause_default, r as VolumeHigh_default, t as VolumeOff_default, u as FullscreenEnterAlt_default } from "./icons-BqfV81R8.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
@@ -7,40 +7,37 @@ function cn(...classes) {
7
7
  return classes.filter(Boolean).join(" ");
8
8
  }
9
9
  const styles = {
10
- MediaContainer: cn("vjs", "vjs:relative vjs:isolate vjs:@container/root vjs:group/root vjs:overflow-clip vjs:bg-black", "vjs:text-[0.8125rem]", "vjs:after:absolute vjs:after:inset-0 vjs:after:ring-black/20 vjs:after:ring-1 vjs:dark:after:ring-white/20 vjs:after:ring-inset vjs:after:z-10 vjs:after:pointer-events-none vjs:after:rounded-[inherit]", "vjs:[&:fullscreen]:rounded-none", "vjs:[&_video]:w-full vjs:[&_video]:h-full"),
11
- Overlay: cn("vjs:absolute vjs:inset-0 vjs:rounded-[inherit] vjs:pointer-events-none", "vjs:bg-gradient-to-t vjs:from-black/70 vjs:via-black/50 vjs:via-[7.5rem] vjs:to-transparent", "vjs:opacity-0 vjs:delay-500 vjs:duration-300", "vjs:has-[+.controls_[data-paused]]:opacity-100 vjs:has-[+.controls_[data-paused]]:delay-0 vjs:has-[+.controls_[data-paused]]:duration-75", "vjs:has-[+.controls_[aria-expanded=\"true\"]]:opacity-100 vjs:has-[+.controls_[aria-expanded=\"true\"]]:delay-0 vjs:has-[+.controls_[aria-expanded=\"true\"]]:duration-75", "vjs:group-hover/root:opacity-100 vjs:group-hover/root:delay-0 vjs:group-hover/root:duration-75", "vjs:contrast-more:from-black/75"),
10
+ MediaContainer: cn("vjs", "vjs:relative vjs:isolate vjs:@container/root vjs:group/root vjs:overflow-clip vjs:bg-black vjs:rounded-(--minimal-border-radius,0.75rem)", "vjs:font-sans vjs:text-[0.8125rem] vjs:subpixel-antialiased", "vjs:after:absolute vjs:after:inset-0 vjs:after:ring-black/15 vjs:after:ring-1 vjs:dark:after:ring-white/15 vjs:after:ring-inset vjs:after:z-10 vjs:after:pointer-events-none vjs:after:rounded-[inherit]", "vjs:[&:fullscreen]:rounded-none", "vjs:[&_video]:w-full vjs:[&_video]:h-full"),
11
+ Overlay: cn("vjs:absolute vjs:inset-0 vjs:rounded-[inherit] vjs:pointer-events-none", "vjs:bg-gradient-to-t vjs:from-black/70 vjs:via-black/50 vjs:via-[7.5rem] vjs:to-transparent", "vjs:opacity-0 vjs:delay-500 vjs:duration-300", "vjs:contrast-more:from-black/75", "vjs:has-[+.controls_[data-paused]]:opacity-100 vjs:has-[+.controls_[data-paused]]:delay-0 vjs:has-[+.controls_[data-paused]]:duration-75", "vjs:has-[+.controls_[aria-expanded=\"true\"]]:opacity-100 vjs:has-[+.controls_[aria-expanded=\"true\"]]:delay-0 vjs:has-[+.controls_[aria-expanded=\"true\"]]:duration-75", "vjs:group-hover/root:opacity-100 vjs:group-hover/root:delay-0 vjs:group-hover/root:duration-75"),
12
12
  Controls: cn("controls", "vjs:@container/controls vjs:absolute vjs:inset-x-0 vjs:bottom-0 vjs:flex vjs:items-center vjs:gap-3.5 vjs:z-20 vjs:px-3 vjs:pb-3 vjs:pt-10 vjs:text-white", "vjs:transition vjs:will-change-[transform,filter,opacity] vjs:ease-out", "vjs:translate-y-full vjs:opacity-0 vjs:blur-sm vjs:delay-500 vjs:duration-300", "vjs:has-[[data-paused]]:translate-y-0 vjs:has-[[data-paused]]:opacity-100 vjs:has-[[data-paused]]:blur-none vjs:has-[[data-paused]]:delay-0 vjs:has-[[data-paused]]:duration-75", "vjs:has-[[aria-expanded=\"true\"]]:translate-y-0 vjs:has-[[aria-expanded=\"true\"]]:opacity-100 vjs:has-[[aria-expanded=\"true\"]]:blur-none vjs:has-[[aria-expanded=\"true\"]]:delay-0 vjs:has-[[aria-expanded=\"true\"]]:duration-75", "vjs:group-hover/root:translate-y-0 vjs:group-hover/root:opacity-100 vjs:group-hover/root:blur-none vjs:group-hover/root:delay-0 vjs:group-hover/root:duration-75"),
13
- Icon: cn("icon"),
13
+ Icon: cn("icon vjs:[&_path]:transition-transform vjs:[&_path]:ease-out"),
14
14
  TimeDisplayGroup: cn("flex items-center gap-1"),
15
15
  Button: cn("vjs:group/button vjs:cursor-pointer vjs:relative vjs:shrink-0 vjs:transition-[color,background,outline-offset] vjs:select-none vjs:p-2.5 vjs:rounded-md", "vjs:bg-transparent vjs:text-white", "vjs:hover:text-white/80 vjs:focus-visible:text-white/80", "vjs:-outline-offset-2 vjs:focus-visible:outline-2 vjs:focus-visible:outline-offset-2 vjs:focus-visible:outline-white", "vjs:disabled:grayscale vjs:disabled:opacity-50 vjs:disabled:cursor-not-allowed", "vjs:aria-busy:pointer-events-none vjs:aria-busy:cursor-not-allowed", "vjs:aria-expanded:text-white/80"),
16
16
  ButtonGroup: cn("vjs:flex vjs:items-center vjs:gap-1.5"),
17
17
  IconButton: cn("vjs:grid vjs:[&_.icon]:[grid-area:1/1]", "vjs:[&_.icon]:shrink-0 vjs:[&_.icon]:transition-opacity vjs:[&_.icon]:duration-150 vjs:[&_.icon]:ease-linear vjs:[&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] vjs:[&_.icon]:shadow-black/40"),
18
- PlayButton: cn("vjs:[&_.pause-icon]:opacity-100 vjs:[&[data-paused]_.pause-icon]:opacity-0", "vjs:[&_.play-icon]:opacity-0 vjs:[&[data-paused]_.play-icon]:opacity-100"),
19
- PlayIcon: cn("play-icon"),
20
- PauseIcon: cn("pause-icon"),
21
- PlayTooltipPopup: cn("vjs:[&_.pause-tooltip]:inline vjs:[&[data-paused]_.pause-tooltip]:hidden", "vjs:[&_.play-tooltip]:hidden vjs:[&[data-paused]_.play-tooltip]:inline"),
18
+ PlayIcon: cn("vjs:opacity-0 vjs:group-data-paused/button:opacity-100"),
19
+ PauseIcon: cn("vjs:group-data-paused/button:opacity-0"),
20
+ PlayTooltipPopup: cn("vjs:[&_.pause-tooltip]:inline vjs:data-paused:[&_.pause-tooltip]:hidden", "vjs:[&_.play-tooltip]:hidden vjs:data-paused:[&_.play-tooltip]:inline"),
22
21
  PlayTooltip: cn("play-tooltip"),
23
22
  PauseTooltip: cn("pause-tooltip"),
24
- MuteButton: cn("vjs:[&_.icon]:hidden", "vjs:[&[data-volume-level=\"high\"]_.volume-high-icon]:inline", "vjs:[&[data-volume-level=\"medium\"]_.volume-low-icon]:inline", "vjs:[&[data-volume-level=\"low\"]_.volume-low-icon]:inline", "vjs:[&[data-volume-level=\"off\"]_.volume-off-icon]:inline"),
25
- VolumeHighIcon: cn("volume-high-icon"),
26
- VolumeLowIcon: cn("volume-low-icon"),
27
- VolumeOffIcon: cn("volume-off-icon"),
28
- FullscreenButton: cn("vjs:[&_.fullscreen-enter-icon]:opacity-100 vjs:[&[data-fullscreen]_.fullscreen-enter-icon]:opacity-0", "vjs:[&_.fullscreen-exit-icon]:opacity-0 vjs:[&[data-fullscreen]_.fullscreen-exit-icon]:opacity-100", "vjs:[&_path]:transition-transform vjs:ease-out"),
29
- FullscreenEnterIcon: cn("fullscreen-enter-icon", "vjs:group-hover/button:[&_.arrow-1]:translate-x-px vjs:group-hover/button:[&_.arrow-1]:-translate-y-px", "vjs:group-hover/button:[&_.arrow-2]:-translate-x-px vjs:group-hover/button:[&_.arrow-2]:translate-y-px"),
30
- FullscreenExitIcon: cn("fullscreen-exit-icon", "vjs:[&_.arrow-1]:translate-x-px vjs:[&_.arrow-1]:-translate-y-px", "vjs:[&_.arrow-2]:-translate-x-px vjs:[&_.arrow-2]:translate-y-px", "vjs:group-hover/button:[&_.arrow-1]:translate-0", "vjs:group-hover/button:[&_.arrow-2]:translate-0"),
31
- FullscreenTooltipPopup: cn("vjs:[&_.fullscreen-enter-tooltip]:inline vjs:[&[data-fullscreen]_.fullscreen-enter-tooltip]:hidden", "vjs:[&_.fullscreen-exit-tooltip]:hidden vjs:[&[data-fullscreen]_.fullscreen-exit-tooltip]:inline"),
23
+ VolumeHighIcon: cn("vjs:hidden vjs:group-data-[volume-level=high]/button:inline vjs:group-data-[volume-level=medium]/button:inline"),
24
+ VolumeLowIcon: cn("vjs:hidden vjs:group-data-[volume-level=low]/button:inline"),
25
+ VolumeOffIcon: cn("vjs:hidden vjs:group-data-[volume-level=off]/button:inline"),
26
+ FullscreenEnterIcon: cn("vjs:group-data-fullscreen/button:hidden", "vjs:group-hover/button:[&_.arrow-1]:translate-x-px vjs:group-hover/button:[&_.arrow-1]:-translate-y-px", "vjs:group-hover/button:[&_.arrow-2]:-translate-x-px vjs:group-hover/button:[&_.arrow-2]:translate-y-px"),
27
+ FullscreenExitIcon: cn("vjs:hidden vjs:group-data-fullscreen/button:inline", "vjs:[&_.arrow-1]:translate-x-px vjs:[&_.arrow-1]:-translate-y-px", "vjs:[&_.arrow-2]:-translate-x-px vjs:[&_.arrow-2]:translate-y-px", "vjs:group-hover/button:[&_.arrow-1]:translate-0", "vjs:group-hover/button:[&_.arrow-2]:translate-0"),
28
+ FullscreenTooltipPopup: cn("vjs:[&_.fullscreen-enter-tooltip]:inline vjs:data-fullscreen:[&_.fullscreen-enter-tooltip]:hidden", "vjs:[&_.fullscreen-exit-tooltip]:hidden vjs:data-fullscreen:[&_.fullscreen-exit-tooltip]:inline"),
32
29
  FullscreenEnterTooltip: cn("fullscreen-enter-tooltip"),
33
30
  FullscreenExitTooltip: cn("fullscreen-exit-tooltip"),
34
31
  TimeSliderRoot: cn("vjs:mx-2"),
35
32
  TimeDisplay: cn("vjs:tabular-nums vjs:text-shadow-2xs/20"),
36
33
  DurationDisplay: cn("vjs:text-white/50 vjs:contents"),
37
- SliderRoot: cn("vjs:group/slider vjs:outline-0 vjs:flex vjs:items-center vjs:justify-center vjs:flex-1 vjs:group/slider vjs:relative vjs:rounded-full", "vjs:[&[data-orientation=\"horizontal\"]]:h-5 vjs:[&[data-orientation=\"horizontal\"]]:min-w-20", "vjs:[&[data-orientation=\"vertical\"]]:w-5 vjs:[&[data-orientation=\"vertical\"]]:h-18"),
38
- SliderTrack: cn("vjs:relative vjs:select-none vjs:rounded-[inherit] vjs:bg-white/10", "vjs:[&[data-orientation=\"horizontal\"]]:w-full vjs:[&[data-orientation=\"horizontal\"]]:h-[0.1875rem]", "vjs:[&[data-orientation=\"vertical\"]]:w-[0.1875rem]", "vjs:-outline-offset-2 vjs:group-focus-visible/slider:outline-2 vjs:group-focus-visible/slider:outline-offset-6 vjs:group-focus-visible/slider:outline-white"),
34
+ SliderRoot: cn("vjs:group/slider vjs:outline-0 vjs:flex vjs:items-center vjs:justify-center vjs:flex-1 vjs:group/slider vjs:relative vjs:rounded-full", "vjs:data-[orientation=horizontal]:h-5 vjs:data-[orientation=horizontal]:min-w-20", "vjs:data-[orientation=vertical]:w-5 vjs:data-[orientation=vertical]:h-18"),
35
+ SliderTrack: cn("vjs:relative vjs:select-none vjs:rounded-[inherit] vjs:bg-white/10", "vjs:data-[orientation=horizontal]:w-full vjs:data-[orientation=horizontal]:h-[0.1875rem]", "vjs:data-[orientation=vertical]:w-[0.1875rem]", "vjs:-outline-offset-2 vjs:group-focus-visible/slider:outline-2 vjs:group-focus-visible/slider:outline-offset-6 vjs:group-focus-visible/slider:outline-white"),
39
36
  SliderProgress: cn("vjs:bg-white vjs:rounded-[inherit]"),
40
37
  SliderPointer: cn("vjs:hidden"),
41
- SliderThumb: cn("vjs:bg-white vjs:z-10 vjs:size-3 vjs:select-none vjs:ring vjs:ring-black/10 vjs:rounded-full vjs:shadow-sm vjs:shadow-black/15 vjs:transition-[opacity,scale] vjs:ease-out vjs:opacity-0 vjs:scale-70 vjs:origin-center", "vjs:group-hover/slider:opacity-100 vjs:group-hover/slider:scale-100", "vjs:[&[data-orientation=\"horizontal\"]]:hover:cursor-ew-resize", "vjs:[&[data-orientation=\"vertical\"]]:hover:cursor-ns-resize"),
42
- PopupAnimation: cn("vjs:transition-[transform,scale,opacity,filter] vjs:origin-bottom vjs:duration-200 vjs:data-[instant]:duration-0", "vjs:data-[starting-style]:scale-0 vjs:data-[starting-style]:opacity-0 vjs:data-[starting-style]:blur-sm", "vjs:data-[ending-style]:scale-0 vjs:data-[ending-style]:opacity-0 vjs:data-[ending-style]:blur-sm"),
43
- PopoverPopup: cn("vjs:py-2"),
38
+ SliderThumb: cn("vjs:bg-white vjs:z-10 vjs:size-3 vjs:select-none vjs:ring vjs:ring-black/10 vjs:rounded-full vjs:shadow-sm vjs:shadow-black/15 vjs:transition-[opacity,scale] vjs:ease-out vjs:opacity-0 vjs:scale-70 vjs:origin-center", "vjs:group-hover/slider:opacity-100 vjs:group-hover/slider:scale-100", "vjs:data-[orientation=horizontal]:hover:cursor-ew-resize", "vjs:data-[orientation=vertical]:hover:cursor-ns-resize"),
39
+ PopupAnimation: cn("vjs:transition-[transform,scale,opacity,filter] vjs:origin-bottom vjs:duration-200 vjs:data-instant:duration-0", "vjs:data-starting-style:scale-0 vjs:data-starting-style:opacity-0 vjs:data-starting-style:blur-sm", "vjs:data-ending-style:scale-0 vjs:data-ending-style:opacity-0 vjs:data-ending-style:blur-sm"),
40
+ PopoverPopup: cn("vjs:py-2 vjs:bg-transparent"),
44
41
  TooltipPopup: cn("vjs:whitespace-nowrap vjs:flex vjs:flex-col vjs:rounded vjs:text-white vjs:text-xs vjs:@7xl/root:text-sm vjs:px-2 vjs:py-1 vjs:bg-white/20 vjs:backdrop-blur-3xl vjs:backdrop-saturate-150 vjs:backdrop-brightness-90 vjs:shadow-md vjs:shadow-black/5")
45
42
  };
46
43
  var styles_default = styles;
@@ -60,9 +57,9 @@ function MinimalSkin({ children, className = "" }) {
60
57
  delay: 500,
61
58
  closeDelay: 0,
62
59
  children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(PlayButton_default, {
63
- className: `${styles_default.Button} ${styles_default.IconButton} ${styles_default.PlayButton}`,
64
- children: [/* @__PURE__ */ jsx(Play_default, { className: `${styles_default.PlayIcon} ${styles_default.Icon}` }), /* @__PURE__ */ jsx(Pause_default, { className: `${styles_default.PauseIcon} ${styles_default.Icon}` })]
65
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Portal, { children: /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
60
+ className: `${styles_default.Button} ${styles_default.IconButton}`,
61
+ children: [/* @__PURE__ */ jsx(Play_default, { className: `${styles_default.Icon} ${styles_default.PlayIcon}` }), /* @__PURE__ */ jsx(Pause_default, { className: `${styles_default.Icon} ${styles_default.PauseIcon}` })]
62
+ }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
66
63
  side: "top-start",
67
64
  sideOffset: 6,
68
65
  collisionPadding: 12,
@@ -76,7 +73,7 @@ function MinimalSkin({ children, className = "" }) {
76
73
  children: "Pause"
77
74
  })]
78
75
  })
79
- }) })]
76
+ })]
80
77
  }),
81
78
  /* @__PURE__ */ jsxs("div", {
82
79
  className: styles_default.TimeDisplayGroup,
@@ -93,7 +90,7 @@ function MinimalSkin({ children, className = "" }) {
93
90
  className: styles_default.SliderTrack,
94
91
  children: [/* @__PURE__ */ jsx(TimeSlider.Progress, { className: styles_default.SliderProgress }), /* @__PURE__ */ jsx(TimeSlider.Pointer, { className: styles_default.SliderPointer })]
95
92
  }), /* @__PURE__ */ jsx(TimeSlider.Thumb, { className: styles_default.SliderThumb })]
96
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Portal, { children: /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
93
+ }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
97
94
  side: "top",
98
95
  sideOffset: 12,
99
96
  collisionPadding: 12,
@@ -101,7 +98,7 @@ function MinimalSkin({ children, className = "" }) {
101
98
  className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup}`,
102
99
  children: /* @__PURE__ */ jsx(PreviewTimeDisplay_default, { className: styles_default.TimeDisplay })
103
100
  })
104
- }) })]
101
+ })]
105
102
  }),
106
103
  /* @__PURE__ */ jsxs("div", {
107
104
  className: styles_default.ButtonGroup,
@@ -110,13 +107,13 @@ function MinimalSkin({ children, className = "" }) {
110
107
  delay: 200,
111
108
  closeDelay: 300,
112
109
  children: [/* @__PURE__ */ jsx(Popover_default.Trigger, { children: /* @__PURE__ */ jsxs(MuteButton_default, {
113
- className: `${styles_default.Button} ${styles_default.IconButton} ${styles_default.MuteButton}`,
110
+ className: `${styles_default.Button} ${styles_default.IconButton}`,
114
111
  children: [
115
- /* @__PURE__ */ jsx(VolumeHigh_default, { className: `${styles_default.VolumeHighIcon} ${styles_default.Icon}` }),
116
- /* @__PURE__ */ jsx(VolumeLow_default, { className: `${styles_default.VolumeLowIcon} ${styles_default.Icon}` }),
117
- /* @__PURE__ */ jsx(VolumeOff_default, { className: `${styles_default.VolumeOffIcon} ${styles_default.Icon}` })
112
+ /* @__PURE__ */ jsx(VolumeHigh_default, { className: `${styles_default.Icon} ${styles_default.VolumeHighIcon}` }),
113
+ /* @__PURE__ */ jsx(VolumeLow_default, { className: `${styles_default.Icon} ${styles_default.VolumeLowIcon}` }),
114
+ /* @__PURE__ */ jsx(VolumeOff_default, { className: `${styles_default.Icon} ${styles_default.VolumeOffIcon}` })
118
115
  ]
119
- }) }), /* @__PURE__ */ jsx(Popover_default.Portal, { children: /* @__PURE__ */ jsx(Popover_default.Positioner, {
116
+ }) }), /* @__PURE__ */ jsx(Popover_default.Positioner, {
120
117
  side: "top",
121
118
  sideOffset: 2,
122
119
  children: /* @__PURE__ */ jsx(Popover_default.Popup, {
@@ -130,14 +127,14 @@ function MinimalSkin({ children, className = "" }) {
130
127
  }), /* @__PURE__ */ jsx(VolumeSlider_default.Thumb, { className: styles_default.SliderThumb })]
131
128
  })
132
129
  })
133
- }) })]
130
+ })]
134
131
  }), /* @__PURE__ */ jsxs(Tooltip_default.Root, {
135
132
  delay: 500,
136
133
  closeDelay: 0,
137
134
  children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(FullscreenButton, {
138
- className: `${styles_default.Button} ${styles_default.IconButton} ${styles_default.FullscreenButton}`,
139
- children: [/* @__PURE__ */ jsx(FullscreenEnterAlt_default, { className: `${styles_default.FullscreenEnterIcon} ${styles_default.Icon}` }), /* @__PURE__ */ jsx(FullscreenExitAlt_default, { className: `${styles_default.FullscreenExitIcon} ${styles_default.Icon}` })]
140
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Portal, { children: /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
135
+ className: `${styles_default.Button} ${styles_default.IconButton}`,
136
+ children: [/* @__PURE__ */ jsx(FullscreenEnterAlt_default, { className: `${styles_default.Icon} ${styles_default.FullscreenEnterIcon}` }), /* @__PURE__ */ jsx(FullscreenExitAlt_default, { className: `${styles_default.Icon} ${styles_default.FullscreenExitIcon}` })]
137
+ }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
141
138
  side: "top-end",
142
139
  sideOffset: 6,
143
140
  collisionPadding: 12,
@@ -151,7 +148,7 @@ function MinimalSkin({ children, className = "" }) {
151
148
  children: "Exit Fullscreen"
152
149
  })]
153
150
  })
154
- }) })]
151
+ })]
155
152
  })]
156
153
  })
157
154
  ]
@@ -162,4 +159,4 @@ function MinimalSkin({ children, className = "" }) {
162
159
 
163
160
  //#endregion
164
161
  export { MinimalSkin as t };
165
- //# sourceMappingURL=minimal-Cj3N9SDN.js.map
162
+ //# sourceMappingURL=minimal-CVRiJIWD.js.map