@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/README.md +1 -1
- package/dist/{VolumeSlider-DoR6idnJ.js → VolumeSlider-B8x0_k2f.js} +339 -204
- package/dist/VolumeSlider-B8x0_k2f.js.map +1 -0
- package/dist/{frosted-ra_eRTyG.js → frosted-BYwSN7-8.js} +34 -38
- package/dist/frosted-BYwSN7-8.js.map +1 -0
- package/dist/{index-BNR1awZq.d.ts → index-CM70WSkA.d.ts} +5 -5
- package/dist/{index-BNR1awZq.d.ts.map → index-CM70WSkA.d.ts.map} +1 -1
- package/dist/index.d.ts +47 -76
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -38
- package/dist/index.js.map +1 -1
- package/dist/{minimal-Cj3N9SDN.js → minimal-CVRiJIWD.js} +35 -38
- package/dist/minimal-CVRiJIWD.js.map +1 -0
- package/dist/skins/frosted.css +1 -1
- package/dist/skins/frosted.js +6 -3
- package/dist/skins/minimal.css +1 -1
- package/dist/skins/minimal.js +6 -3
- package/dist/{store-DpQF8Ges.js → store-hGO5HE2A.js} +5 -5
- package/dist/{store-DpQF8Ges.js.map → store-hGO5HE2A.js.map} +1 -1
- package/dist/store.d.ts +2 -2
- package/dist/store.js +5 -2
- package/package.json +4 -5
- package/dist/VolumeSlider-DoR6idnJ.js.map +0 -1
- package/dist/frosted-ra_eRTyG.js.map +0 -1
- package/dist/minimal-Cj3N9SDN.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { a as useMediaDispatch, c as useMediaStore, i as
|
|
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,
|
|
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
|
|
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
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":";;;;;;;;AAWqF,KAAzE,QAAyE,CAAA,SAAA,GAAA,EA0CrF,SAAY,GAAA,CAAkC,GAAA,CAAA,KAAA,EA1Ca,MA0Cb,EAAA,KAAA,EA1C4B,MA0C5B,EAAA,GA1CuC,YA0CvC;;;;ACAjCA,KDAD,kBCAwE,CAAhC,eDAN,MCAM,CAAA,MAAA,EAAA,GAAA,CAAA,EAAgC,kBDAC,QCAD,CAAA,GAAA,EAAA,GAAA,CAAA,CAAnD,GDA0E,KAAA,CAAM,yBCAhF,CDC/B,KAAA,CAAM,eCDyB,CDCT,MCDS,GAAA;EAAA,MAAA,CAAA,EDCW,SCDX;KDC0B,KAAA,CAAM,cAAc;;;iBC7C/D,0BAAA;;;;KAcJ,uBAAA,GAA0B,kBAAkB;ADZ5C,UCcK,uBAAA,SAAgC,KAAA,CAAM,cDd3C,CAAA,MAAA,CAAA,CAAA;EAA+C,aAAA,CAAA,EAAA,OAAA;;AAA0B,iBC8BrE,wBAAA,CD9BqE,KAAA,EC8BrC,uBD9BqC,EAAA,KAAA,EC8BL,uBD9BK,CAAA,EC8BqB,GAAA,CAAI,OD9BzB;AA0CzE,cCACA,kBDAD,ECAqB,kBDArB,CCAwC,uBDAxC,EAAA,OCAwE,wBDAxE,CAAA;;;iBE5CI,uBAAA;;;KAYJ,uBAAA,UAAiC;KACjC,oBAAA,GAAuB,WAAW;AFXlC,iBEaI,uBAAA,CFbJ,KAAA,EEamC,iBFbnC,CAAA,EEauD,iBFbvD,CEayE,MFbzE,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;AAA+C,KEsB/C,uBAAA,GFtB+C,OEsBd,uBFtBc;KEuBtD,oBAAA,GAAuB,UFvB8C,CEuBnC,uBFvBmC,CAAA;AAAW,iBEyBrE,qBAAA,CFzBqE,KAAA,EEyBxC,oBFzBwC,EAAA,KAAA,EEyBX,oBFzBW,CAAA,EEyBY,GAAA,CAAI,OFzBhB;AAAA,KE6BzE,qBAAA,GF7ByE,OE6B1C,qBF7B0C;AA0CzE,cEXCC,eFWD,EEXkB,kBFWlB,CEXqC,oBFWrC,EAAA,OEXkE,qBFWlE,CAAA;;;iBG1CI,wBAAA;;;;;AHAJ,KGmBA,qBAAA,GAAwB,UHnBxB,CAAA,OGmB0C,wBHnB1C,CAAA;AAA+C,iBGqB3C,wBAAA,CHrB2C,KAAA,EGsBlD,iBHtBkD,EAAA,KAAA,EGuBlD,qBHvBkD,CAAA,EGwBxD,iBHxBwD,CGwBtC,MHxBsC,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;AAAe,KG4C9D,qBAAA,GAAwB,UH5CsC,CAAA,OG4CpB,wBH5CoB,CAAA;AAAW,iBG8CrE,sBAAA,CH9CqE,KAAA,EG8CvC,qBH9CuC,EAAA,KAAA,EG8CT,qBH9CS,CAAA,EG8Ce,GAAA,CAAI,OH9CnB;AAAA,cGiExEC,gBHjEwE,EGiEtD,kBHjEsD,CGiEnC,qBHjEmC,EAAA,OGiEL,sBHjEK,CAAA;;;KIOhF,iBAAA,GAAkB,YAAY,WAAW,kBAAkB;;AJPhE,KIUK,aAAA,GAAgB,WJVT,CIWV,IJXU,CIWL,iBJXK,CIWa,mBJXb,CIWiC,gBJXjC,CAAA,EIWoD,gBJXpD,CAAA,EAAA,KAAA,CAAA,GAAA;EAA+C,GAAA,EIYlD,GJZkD,CIY9C,iBJZ8C,CAAA;CAAe,CAAA;AAAW,KIoFzE,YAAA,GAAa,iBJpF4D,CAAA;EAAA,SAAA,CAAA,EIqFvE,aJrFuE;EA0CrF,SAAY,CAAA,EAAA,MAAA,GAAA,SAAA;EAAkC,KAAA,CAAA,EI6CpC,aJ7CoC,GAAA,SAAA;CAAuC,CAAA;AAC7D,iBIgDR,QAAA,CJhDQ;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EIgD4D,YJhD5D,CAAA,EIgDyE,GAAA,CAAI,OJhD7E;;;;;;;;;AA3CxB;;;;;AA0CA;;;;AAC4C,iBK7B5B,oBAAA,CAAA,CL6B4B,EK7BJ,WL6BI,CK7BQ,WL6BR,GAAA,IAAA,CAAA;;;;;;;;;AC7C5C;AAcA;AAEA;AAgBA;;;AAA8G,cIejGC,cJfiG,EIejF,EJfiF,CIe9E,iBJf8E,CIe5D,SJf4D,CIelD,cJfkD,CAAA,CAAA,CAAA;;;iBK9B9F,kBAAA;;;;;ANAhB,CAAA;AAA2D,KMkB/C,eAAA,GAAkB,UNlB6B,CAAA,OMkBX,kBNlBW,CAAA;AAAe,iBMoB1D,kBAAA,CNpB0D,KAAA,EMqBjE,iBNrBiE,EAAA,KAAA,EMsBjE,eNtBiE,CAAA,EMuBvE,iBNvBuE,CMuBrD,MNvBqD,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;AAAW,KM6CzE,eAAA,GAAkB,UN7CuD,CAAA,OM6CrC,kBN7CqC,CAAA;AAAA,iBM+CrE,gBAAA,CN/CqE,KAAA,EM+C7C,eN/C6C,EAAA,KAAA,EM+CrB,eN/CqB,CAAA,EM+CH,GAAA,CAAI,ON/CD;AA0CzE,cMwBCC,UNxBD,EMwBa,kBNxBb,CMwBgC,eNxBhC,EAAA,OMwBwD,gBNxBxD,CAAA;;;iBO1CI,kBAAA;;;;;APAJ,KOgBA,eAAA,GAAkB,UPhBlB,CAAA,OOgBoC,kBPhBpC,CAAA;AAA+C,iBOkB3C,kBAAA,CPlB2C,KAAA,EOmBlD,MPnBkD,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,KAAA,EOoBlD,ePpBkD,CAAA,EOqBxD,iBPrBwD,COqBtC,MPrBsC,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;AAAe,KOyC9D,eAAA,GAAkB,UPzC4C,CAAA,OOyC1B,kBPzC0B,CAAA;AAAW,iBO2CrE,gBAAA,CP3CqE,KAAA,EO2C7C,eP3C6C,EAAA,KAAA,EO2CrB,eP3CqB,CAAA,EO2CH,GAAA,CAAI,OP3CD;AAAA,cO8DxEC,UP9DwE,EO8D5D,kBP9D4D,CO8DzC,eP9DyC,EAAA,OO8DjB,gBP9DiB,CAAA;;;KQKhF,WAAA;UAeK,gBAAA;;;;YAIE;ARxBZ;UQ2BU,mBAAA,CR3BiD;EAAe,QAAA,EQ4B9D,SR5B8D;;UQ+BhE,sBAAA,CR/B2E;EA0CrF,IAAY,CAAA,EQVH,WRUG;EAAkC,UAAA,CAAA,EAAA,MAAA;EAAuC,QAAA,EQRzE,SRQyE;;UQL3E,iBAAA,CRMkC;EAA1C,EAAA,CAAA,EAAA,MAAM;EAAuE,SAAA,CAAA,EAAA,MAAA;EAApB,QAAM,EQHrD,SRGqD;;iBQUxD,WAAA,CRXwG;EAAA,WAAA;EAAA,KAAA;EAAA,UAAA;EAAA;AAAA,CAAA,EQW9B,gBRX8B,CAAA,EQWX,GAAA,CAAI,ORXO;iBQ+LxG,cAAA;;GAA6B,sBAAsB,GAAA,CAAI;iBAUvD,iBAAA;;;;GAA8D,yBAAyB,GAAA,CAAI;iBAU3F,YAAA;;;;GAA0C,oBAAoB,GAAA,CAAI;AP/P3D,cO4SHC,OP5SG,EAAA;EAchB,IAAY,EAAA,OO+RG,WP/RH;EAEZ,OAAiB,EAAA,OO8RC,cP9RD;EAgBjB,UAAgB,EAAA,OO+QK,iBP/QL;EAAgC,KAAA,EAAA,OOgRhC,YPhRgC;CAAgC;;;iBQhChE,0BAAA;;;KAYJ,uBAAA,GAA0B,kBAAkB;UAEvC,uBAAA,SAAgC,KAAA,CAAM;ETZvD,aAAY,CAAA,EAAA,OAAA;;AAAyE,iBS4BrE,wBAAA,CT5BqE,KAAA,ES4BrC,uBT5BqC,EAAA,KAAA,ES4BL,uBT5BK,CAAA,ES4BqB,GAAA,CAAI,OT5BzB;AAAA,cSqCxEC,kBTrCwE,ESqCpD,kBTrCoD,CSqCjC,uBTrCiC,EAAA,OSqCD,wBTrCC,CAAA;;;AAAX,UUSzD,eAAA,SAAwB,KAAA,CAAM,qBVT2B,CAAA,KAAA,CAAA,CAAA;EAAW,WAAA,CAAA,EAAA,YAAA,GAAA,UAAA;;AA0CrF,UU7BU,qBAAA,SAA8B,KAAA,CAAM,cV6BlC,CAAA,KAAA,CAAA,CAAA;EAAkC,kBAAA,CAAA,EAAA,YAAA,GAAA,UAAA;EAAuC,mBAAA,CAAA,EAAA,MAAA;EAC7D,eAAA,CAAA,EAAA,MAAA;;AAAyC,iBU+BjD,oBAAA,CV/BiD,KAAA,EU+BrB,qBV/BqB,CAAA,EU+BG,GAAA,CAAI,OV/BP;cUmC3DC,cVpC2G,EUoC3F,kBVpC2F,CUoCxE,eVpCwE,EAAA,OUoChD,oBVpCgD,CAAA;iBU6DjG,qBAAA,QAA6B,wBAAwB,GAAA,CAAI;cAInEC,iBAAiB,mBAAmB,KAAA,CAAM,8BAA8B;AT7G9D,iBSqIA,qBAAA,CTrIA,KAAA,ESqI6B,qBTrI7B,CAAA,ESqIqD,GAAA,CAAI,OTrIzD;AAchB,cS2HMC,eT3HM,ES2HW,kBT3HiC,CS2Hd,KAAA,CAAM,cT3HV,CAAA,KAAA,CAAA,EAAA,OS2HwC,qBT3HxC,CAAA;AAkBtB,iBSgIA,uBAAA,CThIA,KAAA,ESgI+B,qBThI/B,CAAA,ESgIuD,GAAA,CAAI,OThI3D;cSoIVC,iBTpI0C,ESoIvB,kBTpIuB,CSqI9C,KAAA,CAAM,cTrIwC,CAAA,KAAA,CAAA,EAAA,OSsIvC,uBTtIuC,CAAA;AAA8D,iBS2J9F,wBAAA,CT3J8F,KAAA,ES2J9D,qBT3J8D,CAAA,ES2JtC,GAAA,CAAI,OT3JkC;cS+JxGC,kBT/JwG,ES+JpF,kBT/JoF,CSgK5G,KAAA,CAAM,cThKsG,CAAA,KAAA,CAAA,EAAA,OSiKrG,wBTjKqG,CAAA;AAYjGZ,cS4JA,UT5JuE,EAAA;EAAhC,IAAA,EAAA,OSsKrC,cTtKqC;EAAgC,KAAA,EAAA,OSuKpE,eTvKoE;EAAnD,KAAA,EAAA,OSwKjB,eTxKiB;EAAA,OAAA,EAAA,OSyKf,iBTzKe;mBS0Kd;;;;KC/Md,SAAA;UAsBK,gBAAA;;;YAGE;;AX9BZ;UWkCU,mBAAA,CXlCiD;EAAe,QAAA,EWmC9D,SXnC8D;;UWsChE,sBAAA,CXtC2E;EA0CrF,IAAY,CAAA,EWHH,SXGG;EAAkC,UAAA,CAAA,EAAA,MAAA;EAAuC,gBAAA,CAAA,EAAA,MAAA;EAC7D,QAAA,EWDZ,SXCY;;UWEd,iBAAA,CXFF;EAAuE,EAAA,CAAA,EAAA,MAAA;EAApB,SAAM,CAAA,EAAA,MAAA;EAD0C,QAAM,EWMrG,SXNqG;;iBWmBxG,WAAA;;;;;GAAsE,mBAAmB,GAAA,CAAI;iBAgN7F,cAAA;;GAA6B,sBAAsB,GAAA,CAAI;iBAUvD,iBAAA;;;;;GAKN,yBAAyB,GAAA,CAAI;AV9RhC,iBUwSS,YAAA,CVxSO;EAAA,EAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EUwSwC,iBVxSxC,CAAA,EUwS4D,GAAA,CAAI,OVxShE,GAAA,IAAA;AAcJ,cUwUCa,OVxUD,EAAA;EAEZ,IAAiB,EAAA,OUuUF,WVvUE;EAgBjB,OAAgB,EAAA,OUwTE,cVxTF;EAAgC,UAAA,EAAA,OUyT3B,iBVzT2B;EAAgC,KAAA,EAAA,OU0ThE,YV1TgE;CAA0B;;;KW/B9F,UAAA,GAAa,kBACvB,kBAAkB,oBAAoB,mBAAmB;;UAE/C;;;AZFZ;;;;;AA0CA;;;;;;;;;;;cYnBaC,OAAO,OAAA,CAAM,0BACxB,aAAa,OAAA,CAAM,cAAc;;;AZxBkD,UaSpE,iBAAA,SAA0B,KAAA,CAAM,cbToC,CAAA,KAAA,CAAA,CAAA;EAAA,WAAA,CAAA,EAAA,YAAA,GAAA,UAAA;AA0CrF;Ua7BU,uBAAA,SAAgC,KAAA,CAAM,cb6BF,CAAA,KAAA,CAAA,CAAA;EAAuC,kBAAA,CAAA,EAAA,YAAA,GAAA,UAAA;EAC7D,YAAA,CAAA,EAAA,OAAA;EAAoB,mBAAA,CAAA,EAAA,MAAA;;AADqE,iBa+BjG,sBAAA,Cb/BiG,KAAA,Ea+BnE,uBb/BmE,CAAA,Ea+BzC,GAAA,CAAI,Ob/BqC;camC3GC,gBbnC2G,EamCzF,kBbnCyF,CamCtE,iBbnCsE,EAAA,OamC5C,sBbnC4C,CAAA;iBa4DjG,uBAAA,QAA+B,0BAA0B,GAAA,CAAI;cAIvEC,mBAAmB,mBACvB,KAAA,CAAM,8BACC;AZhGG,iBYqHI,uBAAA,CZrHwC,KAAA,EYqHT,uBZrHT,CAAA,EYqHmC,GAAA,CAAI,OZrHvC;AAEtC,cYuHMC,iBZvHW,EYuHQ,kBZvH8B,CYwHrD,KAAA,CAAM,cZxH+C,CAAA,KAAA,CAAA,EAAA,OYyH9C,uBZzH8C,CAAA;AAgBP,iBY8HhC,0BAAA,CZ9HgC,KAAA,EY8HE,uBZ9HF,CAAA,EY8H4B,GAAA,CAAI,OZ9HhC;cYkI1CC,oBZlI0E,EYkIpD,kBZlIoD,CYmI9E,KAAA,CAAM,cZnIwE,CAAA,KAAA,CAAA,EAAA,OYoIvE,0BZpIuE,CAAA;AAA8B,cY2IjG,YZ3IiG,EAAA;EAAA,IAAA,EAAA,OYoJ/F,gBZpJ+F;EAY9G,KAAalB,EAAAA,OYyIG,iBZzIoE;EAAhC,KAAA,EAAA,OY0IpC,iBZ1IoC;EAAgC,QAAA,EAAA,OY2IjE,oBZ3IiE;CAAnD"}
|
package/dist/index.js
CHANGED
|
@@ -1,42 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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-
|
|
5
|
-
import { t as MinimalSkin } from "./minimal-
|
|
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/
|
|
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 <
|
|
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
|
|
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
|
-
|
|
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":["
|
|
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-
|
|
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/
|
|
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"
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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:
|
|
38
|
-
SliderTrack: cn("vjs:relative vjs:select-none vjs:rounded-[inherit] vjs:bg-white/10", "vjs:
|
|
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:
|
|
42
|
-
PopupAnimation: cn("vjs:transition-[transform,scale,opacity,filter] vjs:origin-bottom vjs:duration-200 vjs:data-
|
|
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}
|
|
64
|
-
children: [/* @__PURE__ */ jsx(Play_default, { className: `${styles_default.
|
|
65
|
-
}) }), /* @__PURE__ */ jsx(Tooltip_default.
|
|
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.
|
|
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}
|
|
110
|
+
className: `${styles_default.Button} ${styles_default.IconButton}`,
|
|
114
111
|
children: [
|
|
115
|
-
/* @__PURE__ */ jsx(VolumeHigh_default, { className: `${styles_default.
|
|
116
|
-
/* @__PURE__ */ jsx(VolumeLow_default, { className: `${styles_default.
|
|
117
|
-
/* @__PURE__ */ jsx(VolumeOff_default, { className: `${styles_default.
|
|
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.
|
|
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}
|
|
139
|
-
children: [/* @__PURE__ */ jsx(FullscreenEnterAlt_default, { className: `${styles_default.
|
|
140
|
-
}) }), /* @__PURE__ */ jsx(Tooltip_default.
|
|
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-
|
|
162
|
+
//# sourceMappingURL=minimal-CVRiJIWD.js.map
|