@videojs/react 0.1.0-preview.8 → 10.0.0-alpha.3
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/default/_virtual/_rolldown/runtime.js +18 -0
- package/dist/default/index.js +22 -0
- package/dist/default/media/audio.js +22 -0
- package/dist/default/media/audio.js.map +1 -0
- package/dist/default/media/background-video/index.js +28 -0
- package/dist/default/media/background-video/index.js.map +1 -0
- package/dist/default/media/hls-video/index.js +25 -0
- package/dist/default/media/hls-video/index.js.map +1 -0
- package/dist/default/media/video.js +22 -0
- package/dist/default/media/video.js.map +1 -0
- package/dist/default/player/context.js +55 -0
- package/dist/default/player/context.js.map +1 -0
- package/dist/default/player/create-player.js +38 -0
- package/dist/default/player/create-player.js.map +1 -0
- package/dist/default/presets/audio/index.js +5 -0
- package/dist/default/presets/audio/minimal-skin.css +3 -0
- package/dist/default/presets/audio/minimal-skin.js +11 -0
- package/dist/default/presets/audio/minimal-skin.js.map +1 -0
- package/dist/default/presets/audio/skin.css +3 -0
- package/dist/default/presets/audio/skin.js +11 -0
- package/dist/default/presets/audio/skin.js.map +1 -0
- package/dist/default/presets/background/index.js +4 -0
- package/dist/default/presets/background/skin.css +3 -0
- package/dist/default/presets/background/skin.js +11 -0
- package/dist/default/presets/background/skin.js.map +1 -0
- package/dist/default/presets/video/index.js +7 -0
- package/dist/default/presets/video/minimal-skin.css +637 -0
- package/dist/default/presets/video/minimal-skin.js +234 -0
- package/dist/default/presets/video/minimal-skin.js.map +1 -0
- package/dist/default/presets/video/minimal-skin.tailwind.js +231 -0
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/default/presets/video/skin.css +638 -0
- package/dist/default/presets/video/skin.js +223 -0
- package/dist/default/presets/video/skin.js.map +1 -0
- package/dist/default/presets/video/skin.tailwind.js +222 -0
- package/dist/default/presets/video/skin.tailwind.js.map +1 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator.js +50 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -0
- package/dist/default/ui/buffering-indicator/index.js +3 -0
- package/dist/default/ui/captions-button/captions-button.js +51 -0
- package/dist/default/ui/captions-button/captions-button.js.map +1 -0
- package/dist/default/ui/captions-button/index.js +3 -0
- package/dist/default/ui/controls/controls-group.js +27 -0
- package/dist/default/ui/controls/controls-group.js.map +1 -0
- package/dist/default/ui/controls/controls-root.js +31 -0
- package/dist/default/ui/controls/controls-root.js.map +1 -0
- package/dist/default/ui/controls/index.js +3 -0
- package/dist/default/ui/controls/index.parts.js +13 -0
- package/dist/default/ui/controls/index.parts.js.map +1 -0
- package/dist/default/ui/error-dialog/error-dialog.js +54 -0
- package/dist/default/ui/error-dialog/error-dialog.js.map +1 -0
- package/dist/default/ui/error-dialog/index.js +3 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button.js +44 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -0
- package/dist/default/ui/fullscreen-button/index.js +3 -0
- package/dist/default/ui/hooks/use-button.js +44 -0
- package/dist/default/ui/hooks/use-button.js.map +1 -0
- package/dist/default/ui/mute-button/index.js +3 -0
- package/dist/default/ui/mute-button/mute-button.js +47 -0
- package/dist/default/ui/mute-button/mute-button.js.map +1 -0
- package/dist/default/ui/pip-button/index.js +3 -0
- package/dist/default/ui/pip-button/pip-button.js +44 -0
- package/dist/default/ui/pip-button/pip-button.js.map +1 -0
- package/dist/default/ui/play-button/index.js +3 -0
- package/dist/default/ui/play-button/play-button.js +60 -0
- package/dist/default/ui/play-button/play-button.js.map +1 -0
- package/dist/default/ui/poster/index.js +3 -0
- package/dist/default/ui/poster/poster.js +43 -0
- package/dist/default/ui/poster/poster.js.map +1 -0
- package/dist/default/ui/seek-button/index.js +3 -0
- package/dist/default/ui/seek-button/seek-button.js +62 -0
- package/dist/default/ui/seek-button/seek-button.js.map +1 -0
- package/dist/default/ui/time/index.js +3 -0
- package/dist/default/ui/time/index.parts.js +15 -0
- package/dist/default/ui/time/index.parts.js.map +1 -0
- package/dist/default/ui/time/time-group.js +34 -0
- package/dist/default/ui/time/time-group.js.map +1 -0
- package/dist/default/ui/time/time-separator.js +34 -0
- package/dist/default/ui/time/time-separator.js.map +1 -0
- package/dist/default/ui/time/time-value.js +54 -0
- package/dist/default/ui/time/time-value.js.map +1 -0
- package/dist/default/utils/attach-media-element.js +12 -0
- package/dist/default/utils/attach-media-element.js.map +1 -0
- package/dist/default/utils/media-props.js +11 -0
- package/dist/default/utils/media-props.js.map +1 -0
- package/dist/default/utils/merge-props.js +85 -0
- package/dist/default/utils/merge-props.js.map +1 -0
- package/dist/default/utils/use-composed-refs.js +57 -0
- package/dist/default/utils/use-composed-refs.js.map +1 -0
- package/dist/default/utils/use-render.js +71 -0
- package/dist/default/utils/use-render.js.map +1 -0
- package/dist/dev/_virtual/_rolldown/runtime.js +18 -0
- package/dist/dev/index.d.ts +23 -0
- package/dist/dev/index.js +22 -0
- package/dist/dev/media/audio.d.ts +12 -0
- package/dist/dev/media/audio.d.ts.map +1 -0
- package/dist/dev/media/audio.js +22 -0
- package/dist/dev/media/audio.js.map +1 -0
- package/dist/dev/media/background-video/index.d.ts +12 -0
- package/dist/dev/media/background-video/index.d.ts.map +1 -0
- package/dist/dev/media/background-video/index.js +28 -0
- package/dist/dev/media/background-video/index.js.map +1 -0
- package/dist/dev/media/hls-video/index.d.ts +11 -0
- package/dist/dev/media/hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/hls-video/index.js +25 -0
- package/dist/dev/media/hls-video/index.js.map +1 -0
- package/dist/dev/media/video.d.ts +12 -0
- package/dist/dev/media/video.d.ts.map +1 -0
- package/dist/dev/media/video.js +22 -0
- package/dist/dev/media/video.js.map +1 -0
- package/dist/dev/player/context.d.ts +40 -0
- package/dist/dev/player/context.d.ts.map +1 -0
- package/dist/dev/player/context.js +55 -0
- package/dist/dev/player/context.js.map +1 -0
- package/dist/dev/player/create-player.d.ts +47 -0
- package/dist/dev/player/create-player.d.ts.map +1 -0
- package/dist/dev/player/create-player.js +39 -0
- package/dist/dev/player/create-player.js.map +1 -0
- package/dist/dev/presets/audio/index.d.ts +4 -0
- package/dist/dev/presets/audio/index.js +5 -0
- package/dist/dev/presets/audio/minimal-skin.css +3 -0
- package/dist/dev/presets/audio/minimal-skin.d.ts +9 -0
- package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -0
- package/dist/dev/presets/audio/minimal-skin.js +11 -0
- package/dist/dev/presets/audio/minimal-skin.js.map +1 -0
- package/dist/dev/presets/audio/skin.css +3 -0
- package/dist/dev/presets/audio/skin.d.ts +9 -0
- package/dist/dev/presets/audio/skin.d.ts.map +1 -0
- package/dist/dev/presets/audio/skin.js +11 -0
- package/dist/dev/presets/audio/skin.js.map +1 -0
- package/dist/dev/presets/background/index.d.ts +3 -0
- package/dist/dev/presets/background/index.js +4 -0
- package/dist/dev/presets/background/skin.css +3 -0
- package/dist/dev/presets/background/skin.d.ts +9 -0
- package/dist/dev/presets/background/skin.d.ts.map +1 -0
- package/dist/dev/presets/background/skin.js +11 -0
- package/dist/dev/presets/background/skin.js.map +1 -0
- package/dist/dev/presets/types.d.ts +10 -0
- package/dist/dev/presets/types.d.ts.map +1 -0
- package/dist/dev/presets/video/index.d.ts +6 -0
- package/dist/dev/presets/video/index.js +7 -0
- package/dist/dev/presets/video/minimal-skin.css +637 -0
- package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -0
- package/dist/dev/presets/video/minimal-skin.js +234 -0
- package/dist/dev/presets/video/minimal-skin.js.map +1 -0
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +8 -0
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -0
- package/dist/dev/presets/video/minimal-skin.tailwind.js +231 -0
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/dev/presets/video/skin.css +638 -0
- package/dist/dev/presets/video/skin.d.ts +9 -0
- package/dist/dev/presets/video/skin.d.ts.map +1 -0
- package/dist/dev/presets/video/skin.js +223 -0
- package/dist/dev/presets/video/skin.js.map +1 -0
- package/dist/dev/presets/video/skin.tailwind.d.ts +8 -0
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -0
- package/dist/dev/presets/video/skin.tailwind.js +222 -0
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +32 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js +53 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -0
- package/dist/dev/ui/buffering-indicator/index.d.ts +2 -0
- package/dist/dev/ui/buffering-indicator/index.js +3 -0
- package/dist/dev/ui/captions-button/captions-button.d.ts +36 -0
- package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -0
- package/dist/dev/ui/captions-button/captions-button.js +51 -0
- package/dist/dev/ui/captions-button/captions-button.js.map +1 -0
- package/dist/dev/ui/captions-button/index.d.ts +2 -0
- package/dist/dev/ui/captions-button/index.js +3 -0
- package/dist/dev/ui/controls/controls-group.d.ts +17 -0
- package/dist/dev/ui/controls/controls-group.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-group.js +27 -0
- package/dist/dev/ui/controls/controls-group.js.map +1 -0
- package/dist/dev/ui/controls/controls-root.d.ts +18 -0
- package/dist/dev/ui/controls/controls-root.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-root.js +34 -0
- package/dist/dev/ui/controls/controls-root.js.map +1 -0
- package/dist/dev/ui/controls/index.d.ts +2 -0
- package/dist/dev/ui/controls/index.js +3 -0
- package/dist/dev/ui/controls/index.parts.d.ts +10 -0
- package/dist/dev/ui/controls/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/controls/index.parts.js +13 -0
- package/dist/dev/ui/controls/index.parts.js.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog.d.ts +35 -0
- package/dist/dev/ui/error-dialog/error-dialog.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog.js +54 -0
- package/dist/dev/ui/error-dialog/error-dialog.js.map +1 -0
- package/dist/dev/ui/error-dialog/index.d.ts +2 -0
- package/dist/dev/ui/error-dialog/index.js +3 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +14 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js +47 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -0
- package/dist/dev/ui/fullscreen-button/index.d.ts +2 -0
- package/dist/dev/ui/fullscreen-button/index.js +3 -0
- package/dist/dev/ui/hooks/use-button.d.ts +40 -0
- package/dist/dev/ui/hooks/use-button.d.ts.map +1 -0
- package/dist/dev/ui/hooks/use-button.js +46 -0
- package/dist/dev/ui/hooks/use-button.js.map +1 -0
- package/dist/dev/ui/mute-button/index.d.ts +2 -0
- package/dist/dev/ui/mute-button/index.js +3 -0
- package/dist/dev/ui/mute-button/mute-button.d.ts +17 -0
- package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -0
- package/dist/dev/ui/mute-button/mute-button.js +50 -0
- package/dist/dev/ui/mute-button/mute-button.js.map +1 -0
- package/dist/dev/ui/pip-button/index.d.ts +2 -0
- package/dist/dev/ui/pip-button/index.js +3 -0
- package/dist/dev/ui/pip-button/pip-button.d.ts +14 -0
- package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -0
- package/dist/dev/ui/pip-button/pip-button.js +47 -0
- package/dist/dev/ui/pip-button/pip-button.js.map +1 -0
- package/dist/dev/ui/play-button/index.d.ts +2 -0
- package/dist/dev/ui/play-button/index.js +3 -0
- package/dist/dev/ui/play-button/play-button.d.ts +30 -0
- package/dist/dev/ui/play-button/play-button.d.ts.map +1 -0
- package/dist/dev/ui/play-button/play-button.js +63 -0
- package/dist/dev/ui/play-button/play-button.js.map +1 -0
- package/dist/dev/ui/poster/index.d.ts +2 -0
- package/dist/dev/ui/poster/index.js +3 -0
- package/dist/dev/ui/poster/poster.d.ts +28 -0
- package/dist/dev/ui/poster/poster.d.ts.map +1 -0
- package/dist/dev/ui/poster/poster.js +46 -0
- package/dist/dev/ui/poster/poster.js.map +1 -0
- package/dist/dev/ui/seek-button/index.d.ts +2 -0
- package/dist/dev/ui/seek-button/index.js +3 -0
- package/dist/dev/ui/seek-button/seek-button.d.ts +31 -0
- package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -0
- package/dist/dev/ui/seek-button/seek-button.js +65 -0
- package/dist/dev/ui/seek-button/seek-button.js.map +1 -0
- package/dist/dev/ui/time/index.d.ts +2 -0
- package/dist/dev/ui/time/index.js +3 -0
- package/dist/dev/ui/time/index.parts.d.ts +11 -0
- package/dist/dev/ui/time/index.parts.d.ts.map +1 -0
- package/dist/dev/ui/time/index.parts.js +15 -0
- package/dist/dev/ui/time/index.parts.js.map +1 -0
- package/dist/dev/ui/time/time-group.d.ts +29 -0
- package/dist/dev/ui/time/time-group.d.ts.map +1 -0
- package/dist/dev/ui/time/time-group.js +34 -0
- package/dist/dev/ui/time/time-group.js.map +1 -0
- package/dist/dev/ui/time/time-separator.d.ts +26 -0
- package/dist/dev/ui/time/time-separator.d.ts.map +1 -0
- package/dist/dev/ui/time/time-separator.js +34 -0
- package/dist/dev/ui/time/time-separator.js.map +1 -0
- package/dist/dev/ui/time/time-value.d.ts +24 -0
- package/dist/dev/ui/time/time-value.d.ts.map +1 -0
- package/dist/dev/ui/time/time-value.js +57 -0
- package/dist/dev/ui/time/time-value.js.map +1 -0
- package/dist/dev/utils/attach-media-element.js +12 -0
- package/dist/dev/utils/attach-media-element.js.map +1 -0
- package/dist/dev/utils/media-props.js +11 -0
- package/dist/dev/utils/media-props.js.map +1 -0
- package/dist/dev/utils/merge-props.d.ts +26 -0
- package/dist/dev/utils/merge-props.d.ts.map +1 -0
- package/dist/dev/utils/merge-props.js +85 -0
- package/dist/dev/utils/merge-props.js.map +1 -0
- package/dist/dev/utils/types.d.ts +27 -0
- package/dist/dev/utils/types.d.ts.map +1 -0
- package/dist/dev/utils/use-composed-refs.js +57 -0
- package/dist/dev/utils/use-composed-refs.js.map +1 -0
- package/dist/dev/utils/use-render.d.ts +45 -0
- package/dist/dev/utils/use-render.d.ts.map +1 -0
- package/dist/dev/utils/use-render.js +71 -0
- package/dist/dev/utils/use-render.js.map +1 -0
- package/package.json +58 -53
- package/dist/FrostedSkin-t8edr5LV.d.ts +0 -13
- package/dist/FrostedSkin-t8edr5LV.d.ts.map +0 -1
- package/dist/MinimalSkin-DzHkJgW-.d.ts +0 -13
- package/dist/MinimalSkin-DzHkJgW-.d.ts.map +0 -1
- package/dist/VolumeSlider-DmlupkvF.js +0 -1042
- package/dist/VolumeSlider-DmlupkvF.js.map +0 -1
- package/dist/frosted-0lXuIgHt.js +0 -156
- package/dist/frosted-0lXuIgHt.js.map +0 -1
- package/dist/icons-BqfV81R8.js +0 -316
- package/dist/icons-BqfV81R8.js.map +0 -1
- package/dist/icons.d.ts +0 -71
- package/dist/icons.d.ts.map +0 -1
- package/dist/icons.js +0 -3
- package/dist/index-CM70WSkA.d.ts +0 -36
- package/dist/index-CM70WSkA.d.ts.map +0 -1
- package/dist/index.d.ts +0 -312
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -89
- package/dist/index.js.map +0 -1
- package/dist/minimal-B-R9aRNe.js +0 -162
- package/dist/minimal-B-R9aRNe.js.map +0 -1
- package/dist/skins/frosted.css +0 -4
- package/dist/skins/frosted.d.ts +0 -2
- package/dist/skins/frosted.js +0 -9
- package/dist/skins/minimal.css +0 -4
- package/dist/skins/minimal.d.ts +0 -2
- package/dist/skins/minimal.js +0 -9
- package/dist/store-hGO5HE2A.js +0 -124
- package/dist/store-hGO5HE2A.js.map +0 -1
- package/dist/store.d.ts +0 -2
- package/dist/store.js +0 -6
package/dist/index.d.ts
DELETED
|
@@ -1,312 +0,0 @@
|
|
|
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
|
-
import { t as FrostedSkin } from "./FrostedSkin-t8edr5LV.js";
|
|
3
|
-
import { t as MinimalSkin } from "./MinimalSkin-DzHkJgW-.js";
|
|
4
|
-
import React$1, { CSSProperties, DetailedHTMLProps, ElementType, FC, HTMLProps, PropsWithChildren, ReactElement, ReactNode, Ref, RefCallback, VideoHTMLAttributes } from "react";
|
|
5
|
-
import { TimeSlider as TimeSlider$1, VolumeSlider as VolumeSlider$1 } from "@videojs/core";
|
|
6
|
-
|
|
7
|
-
//#region src/utils/component-factory.d.ts
|
|
8
|
-
|
|
9
|
-
type RenderFn<TProps = any, TState = any> = (props: TProps, state: TState) => ReactElement;
|
|
10
|
-
/**
|
|
11
|
-
* Type helper to infer the component type from the factory
|
|
12
|
-
*/
|
|
13
|
-
type ConnectedComponent<TProps extends Record<string, any>, TRenderFn extends RenderFn<any, any>> = React.ForwardRefExoticComponent<React.PropsWithoutRef<TProps & {
|
|
14
|
-
render?: TRenderFn;
|
|
15
|
-
}> & React.RefAttributes<HTMLElement>>;
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/components/CurrentTimeDisplay.d.ts
|
|
18
|
-
declare function useCurrentTimeDisplayState(_props: any): {
|
|
19
|
-
currentTime: number;
|
|
20
|
-
duration: number;
|
|
21
|
-
};
|
|
22
|
-
type CurrentTimeDisplayState = ReturnType<typeof useCurrentTimeDisplayState>;
|
|
23
|
-
interface CurrentTimeDisplayProps extends React.ComponentProps<"span"> {
|
|
24
|
-
showRemaining?: boolean;
|
|
25
|
-
}
|
|
26
|
-
declare function renderCurrentTimeDisplay(props: CurrentTimeDisplayProps, state: CurrentTimeDisplayState): JSX.Element;
|
|
27
|
-
declare const CurrentTimeDisplay: ConnectedComponent<CurrentTimeDisplayProps, typeof renderCurrentTimeDisplay>;
|
|
28
|
-
//#endregion
|
|
29
|
-
//#region src/components/DurationDisplay.d.ts
|
|
30
|
-
declare function useDurationDisplayState(_props: any): {
|
|
31
|
-
duration: number;
|
|
32
|
-
};
|
|
33
|
-
type useDurationDisplayState = typeof useDurationDisplayState;
|
|
34
|
-
type DurationDisplayState = ReturnType<useDurationDisplayState>;
|
|
35
|
-
declare function useDurationDisplayProps(props: PropsWithChildren): PropsWithChildren<Record<string, unknown>>;
|
|
36
|
-
type useDurationDisplayProps = typeof useDurationDisplayProps;
|
|
37
|
-
type DurationDisplayProps = ReturnType<useDurationDisplayProps>;
|
|
38
|
-
declare function renderDurationDisplay(props: DurationDisplayProps, state: DurationDisplayState): JSX.Element;
|
|
39
|
-
type renderDurationDisplay = typeof renderDurationDisplay;
|
|
40
|
-
declare const DurationDisplay: ConnectedComponent<DurationDisplayProps, typeof renderDurationDisplay>;
|
|
41
|
-
//#endregion
|
|
42
|
-
//#region src/components/FullscreenButton.d.ts
|
|
43
|
-
declare function useFullscreenButtonState(_props: any): {
|
|
44
|
-
fullscreen: boolean;
|
|
45
|
-
requestEnterFullscreen: () => void;
|
|
46
|
-
requestExitFullscreen: () => void;
|
|
47
|
-
};
|
|
48
|
-
type FullscreenButtonState = ReturnType<typeof useFullscreenButtonState>;
|
|
49
|
-
declare function getFullscreenButtonProps(props: PropsWithChildren, state: FullscreenButtonState): PropsWithChildren<Record<string, unknown>>;
|
|
50
|
-
type FullscreenButtonProps = ReturnType<typeof getFullscreenButtonProps>;
|
|
51
|
-
declare function renderFullscreenButton(props: FullscreenButtonProps, state: FullscreenButtonState): JSX.Element;
|
|
52
|
-
declare const FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>;
|
|
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
|
|
71
|
-
//#region src/components/MediaContainer.d.ts
|
|
72
|
-
/**
|
|
73
|
-
* Hook to associate a React element as the fullscreen container for the media store.
|
|
74
|
-
* This is equivalent to Media Chrome's useMediaFullscreenRef but for VJS-10.
|
|
75
|
-
*
|
|
76
|
-
* The ref callback will register the element as the container state owner
|
|
77
|
-
* in the media store, enabling fullscreen functionality.
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* import { useMediaContainerRef } from '@videojs/react';
|
|
81
|
-
*
|
|
82
|
-
* const PlayerContainer = ({ children }) => {
|
|
83
|
-
* const containerRef = useMediaContainerRef();
|
|
84
|
-
* return <div ref={containerRef}>{children}</div>;
|
|
85
|
-
* };
|
|
86
|
-
*/
|
|
87
|
-
declare function useMediaContainerRef(): RefCallback<HTMLElement | null>;
|
|
88
|
-
/**
|
|
89
|
-
* MediaContainer component that automatically registers itself as the fullscreen container.
|
|
90
|
-
* This provides a simple wrapper component for fullscreen functionality.
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* import { MediaContainer } from '@videojs/react';
|
|
94
|
-
*
|
|
95
|
-
* const MyPlayer = () => (
|
|
96
|
-
* <MediaContainer>
|
|
97
|
-
* <video src="video.mp4" />
|
|
98
|
-
* <div>Controls here</div>
|
|
99
|
-
* </MediaContainer>
|
|
100
|
-
* );
|
|
101
|
-
*/
|
|
102
|
-
declare const MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement>>>;
|
|
103
|
-
//#endregion
|
|
104
|
-
//#region src/components/MuteButton.d.ts
|
|
105
|
-
declare function useMuteButtonState(_props: any): {
|
|
106
|
-
volumeLevel: string;
|
|
107
|
-
muted: boolean;
|
|
108
|
-
requestMute: () => void;
|
|
109
|
-
requestUnmute: () => void;
|
|
110
|
-
};
|
|
111
|
-
type MuteButtonState = ReturnType<typeof useMuteButtonState>;
|
|
112
|
-
declare function getMuteButtonProps(props: PropsWithChildren, state: MuteButtonState): PropsWithChildren<Record<string, unknown>>;
|
|
113
|
-
type MuteButtonProps = ReturnType<typeof getMuteButtonProps>;
|
|
114
|
-
declare function renderMuteButton(props: MuteButtonProps, state: MuteButtonState): JSX.Element;
|
|
115
|
-
declare const MuteButton: ConnectedComponent<MuteButtonProps, typeof renderMuteButton>;
|
|
116
|
-
//#endregion
|
|
117
|
-
//#region src/components/PlayButton.d.ts
|
|
118
|
-
declare function usePlayButtonState(_props: any): {
|
|
119
|
-
paused: boolean;
|
|
120
|
-
requestPlay: () => void;
|
|
121
|
-
requestPause: () => void;
|
|
122
|
-
};
|
|
123
|
-
type PlayButtonState = ReturnType<typeof usePlayButtonState>;
|
|
124
|
-
declare function getPlayButtonProps(props: Record<string, unknown>, state: PlayButtonState): PropsWithChildren<Record<string, unknown>>;
|
|
125
|
-
type PlayButtonProps = ReturnType<typeof getPlayButtonProps>;
|
|
126
|
-
declare function renderPlayButton(props: PlayButtonProps, state: PlayButtonState): JSX.Element;
|
|
127
|
-
declare const PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>;
|
|
128
|
-
//#endregion
|
|
129
|
-
//#region src/components/Popover.d.ts
|
|
130
|
-
type Placement$1 = "top" | "top-start" | "top-end";
|
|
131
|
-
interface PopoverRootProps {
|
|
132
|
-
openOnHover?: boolean;
|
|
133
|
-
delay?: number;
|
|
134
|
-
closeDelay?: number;
|
|
135
|
-
children: ReactNode;
|
|
136
|
-
}
|
|
137
|
-
interface PopoverTriggerProps {
|
|
138
|
-
children: ReactNode;
|
|
139
|
-
}
|
|
140
|
-
interface PopoverPositionerProps {
|
|
141
|
-
side?: Placement$1;
|
|
142
|
-
sideOffset?: number;
|
|
143
|
-
children: ReactNode;
|
|
144
|
-
}
|
|
145
|
-
interface PopoverPopupProps {
|
|
146
|
-
id?: string;
|
|
147
|
-
className?: string;
|
|
148
|
-
children: ReactNode;
|
|
149
|
-
}
|
|
150
|
-
declare function PopoverRoot({
|
|
151
|
-
openOnHover,
|
|
152
|
-
delay,
|
|
153
|
-
closeDelay,
|
|
154
|
-
children
|
|
155
|
-
}: PopoverRootProps): JSX.Element;
|
|
156
|
-
declare function PopoverTrigger({
|
|
157
|
-
children
|
|
158
|
-
}: PopoverTriggerProps): JSX.Element;
|
|
159
|
-
declare function PopoverPositioner({
|
|
160
|
-
side,
|
|
161
|
-
sideOffset,
|
|
162
|
-
children
|
|
163
|
-
}: PopoverPositionerProps): JSX.Element | null;
|
|
164
|
-
declare function PopoverPopup({
|
|
165
|
-
id,
|
|
166
|
-
className,
|
|
167
|
-
children
|
|
168
|
-
}: PopoverPopupProps): JSX.Element;
|
|
169
|
-
declare const Popover: {
|
|
170
|
-
Root: typeof PopoverRoot;
|
|
171
|
-
Trigger: typeof PopoverTrigger;
|
|
172
|
-
Positioner: typeof PopoverPositioner;
|
|
173
|
-
Popup: typeof PopoverPopup;
|
|
174
|
-
};
|
|
175
|
-
//#endregion
|
|
176
|
-
//#region src/components/PreviewTimeDisplay.d.ts
|
|
177
|
-
declare function usePreviewTimeDisplayState(_props: any): {
|
|
178
|
-
previewTime: number;
|
|
179
|
-
};
|
|
180
|
-
type PreviewTimeDisplayState = ReturnType<typeof usePreviewTimeDisplayState>;
|
|
181
|
-
interface PreviewTimeDisplayProps extends React.ComponentProps<"span"> {
|
|
182
|
-
showRemaining?: boolean;
|
|
183
|
-
}
|
|
184
|
-
declare function renderPreviewTimeDisplay(props: PreviewTimeDisplayProps, state: PreviewTimeDisplayState): JSX.Element;
|
|
185
|
-
declare const PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>;
|
|
186
|
-
//#endregion
|
|
187
|
-
//#region src/components/TimeSlider.d.ts
|
|
188
|
-
interface TimeSliderProps extends React.ComponentPropsWithRef<"div"> {
|
|
189
|
-
orientation?: "horizontal" | "vertical";
|
|
190
|
-
}
|
|
191
|
-
interface TimeSliderRenderProps extends React.ComponentProps<"div"> {
|
|
192
|
-
"data-orientation"?: "horizontal" | "vertical";
|
|
193
|
-
"data-current-time"?: number;
|
|
194
|
-
"data-duration"?: number;
|
|
195
|
-
}
|
|
196
|
-
declare function renderTimeSliderRoot(props: TimeSliderRenderProps): JSX.Element;
|
|
197
|
-
declare const TimeSliderRoot: ConnectedComponent<TimeSliderProps, typeof renderTimeSliderRoot>;
|
|
198
|
-
declare function renderTimeSliderTrack(props: TimeSliderRenderProps): JSX.Element;
|
|
199
|
-
declare const TimeSliderTrack: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderTrack>;
|
|
200
|
-
declare function renderTimeSliderThumb(props: TimeSliderRenderProps): JSX.Element;
|
|
201
|
-
declare const TimeSliderThumb: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderThumb>;
|
|
202
|
-
declare function renderTimeSliderPointer(props: TimeSliderRenderProps): JSX.Element;
|
|
203
|
-
declare const TimeSliderPointer: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderPointer>;
|
|
204
|
-
declare function renderTimeSliderProgress(props: TimeSliderRenderProps): JSX.Element;
|
|
205
|
-
declare const TimeSliderProgress: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderProgress>;
|
|
206
|
-
declare const TimeSlider: {
|
|
207
|
-
Root: typeof TimeSliderRoot;
|
|
208
|
-
Track: typeof TimeSliderTrack;
|
|
209
|
-
Thumb: typeof TimeSliderThumb;
|
|
210
|
-
Pointer: typeof TimeSliderPointer;
|
|
211
|
-
Progress: typeof TimeSliderProgress;
|
|
212
|
-
};
|
|
213
|
-
//#endregion
|
|
214
|
-
//#region src/components/Tooltip.d.ts
|
|
215
|
-
type Placement = "top" | "top-start" | "top-end";
|
|
216
|
-
interface TooltipRootProps {
|
|
217
|
-
delay?: number;
|
|
218
|
-
closeDelay?: number;
|
|
219
|
-
children: ReactNode;
|
|
220
|
-
trackCursorAxis?: "x" | "y" | "both";
|
|
221
|
-
}
|
|
222
|
-
interface TooltipTriggerProps {
|
|
223
|
-
children: ReactNode;
|
|
224
|
-
}
|
|
225
|
-
interface TooltipPositionerProps {
|
|
226
|
-
side?: Placement;
|
|
227
|
-
sideOffset?: number;
|
|
228
|
-
collisionPadding?: number;
|
|
229
|
-
children: ReactNode;
|
|
230
|
-
}
|
|
231
|
-
interface TooltipPopupProps {
|
|
232
|
-
id?: string;
|
|
233
|
-
className?: string;
|
|
234
|
-
children: ReactNode;
|
|
235
|
-
}
|
|
236
|
-
declare function TooltipRoot({
|
|
237
|
-
delay,
|
|
238
|
-
closeDelay,
|
|
239
|
-
trackCursorAxis,
|
|
240
|
-
children
|
|
241
|
-
}: TooltipRootProps): JSX.Element;
|
|
242
|
-
declare function TooltipTrigger({
|
|
243
|
-
children
|
|
244
|
-
}: TooltipTriggerProps): JSX.Element;
|
|
245
|
-
declare function TooltipPositioner({
|
|
246
|
-
side,
|
|
247
|
-
sideOffset,
|
|
248
|
-
collisionPadding,
|
|
249
|
-
children
|
|
250
|
-
}: TooltipPositionerProps): JSX.Element | null;
|
|
251
|
-
declare function TooltipPopup({
|
|
252
|
-
id,
|
|
253
|
-
className,
|
|
254
|
-
children
|
|
255
|
-
}: TooltipPopupProps): JSX.Element | null;
|
|
256
|
-
declare const Tooltip: {
|
|
257
|
-
Root: typeof TooltipRoot;
|
|
258
|
-
Trigger: typeof TooltipTrigger;
|
|
259
|
-
Positioner: typeof TooltipPositioner;
|
|
260
|
-
Popup: typeof TooltipPopup;
|
|
261
|
-
};
|
|
262
|
-
//#endregion
|
|
263
|
-
//#region src/components/Video.d.ts
|
|
264
|
-
type VideoProps = PropsWithChildren<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {
|
|
265
|
-
className?: string | undefined;
|
|
266
|
-
style?: CSSProperties | undefined;
|
|
267
|
-
}>;
|
|
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>>;
|
|
286
|
-
//#endregion
|
|
287
|
-
//#region src/components/VolumeSlider.d.ts
|
|
288
|
-
interface VolumeSliderProps extends React.ComponentProps<"div"> {
|
|
289
|
-
orientation?: "horizontal" | "vertical";
|
|
290
|
-
}
|
|
291
|
-
interface VolumeSliderRenderProps extends React.ComponentProps<"div"> {
|
|
292
|
-
"data-orientation"?: "horizontal" | "vertical";
|
|
293
|
-
"data-muted"?: boolean;
|
|
294
|
-
"data-volume-level"?: string;
|
|
295
|
-
}
|
|
296
|
-
declare function renderVolumeSliderRoot(props: VolumeSliderRenderProps): JSX.Element;
|
|
297
|
-
declare const VolumeSliderRoot: ConnectedComponent<VolumeSliderProps, typeof renderVolumeSliderRoot>;
|
|
298
|
-
declare function renderVolumeSliderTrack(props: VolumeSliderRenderProps): JSX.Element;
|
|
299
|
-
declare const VolumeSliderTrack: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderTrack>;
|
|
300
|
-
declare function renderVolumeSliderThumb(props: VolumeSliderRenderProps): JSX.Element;
|
|
301
|
-
declare const VolumeSliderThumb: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderThumb>;
|
|
302
|
-
declare function renderVolumeSliderProgress(props: VolumeSliderRenderProps): JSX.Element;
|
|
303
|
-
declare const VolumeSliderProgress: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderProgress>;
|
|
304
|
-
declare const VolumeSlider: {
|
|
305
|
-
Root: typeof VolumeSliderRoot;
|
|
306
|
-
Track: typeof VolumeSliderTrack;
|
|
307
|
-
Thumb: typeof VolumeSliderThumb;
|
|
308
|
-
Progress: typeof VolumeSliderProgress;
|
|
309
|
-
};
|
|
310
|
-
//#endregion
|
|
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 };
|
|
312
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
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-DmlupkvF.js";
|
|
6
|
-
import "./icons-BqfV81R8.js";
|
|
7
|
-
import { t as FrostedSkin } from "./frosted-0lXuIgHt.js";
|
|
8
|
-
import { t as MinimalSkin } from "./minimal-B-R9aRNe.js";
|
|
9
|
-
import React, { forwardRef, useImperativeHandle, useRef } from "react";
|
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
|
11
|
-
import { createMediaPlaybackController } from "@videojs/core/media";
|
|
12
|
-
|
|
13
|
-
//#region src/components/HlsVideo.tsx
|
|
14
|
-
function useMediaStateOwner(ref, createMediaPlaybackController$1) {
|
|
15
|
-
const mediaStateOwnerRef = useRef(createMediaPlaybackController$1());
|
|
16
|
-
useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);
|
|
17
|
-
return { updateMediaElement(mediaEl, props) {
|
|
18
|
-
mediaStateOwnerRef.current.mediaElement = mediaEl ?? void 0;
|
|
19
|
-
mediaStateOwnerRef.current.src = props.src;
|
|
20
|
-
if (props.muted) mediaStateOwnerRef.current.muted = props.muted;
|
|
21
|
-
} };
|
|
22
|
-
}
|
|
23
|
-
const DefaultVideoComponent = forwardRef(({ children,...props }, ref) => {
|
|
24
|
-
const { updateMediaElement } = useMediaStateOwner(ref, createMediaPlaybackController);
|
|
25
|
-
return /* @__PURE__ */ jsx("video", {
|
|
26
|
-
...props,
|
|
27
|
-
ref: (mediaEl) => {
|
|
28
|
-
/** @TODO In later iterations/non-POC, we should be able to have a function that can be used directly for the `ref` prop (CJP) */
|
|
29
|
-
updateMediaElement(mediaEl, props);
|
|
30
|
-
},
|
|
31
|
-
children
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* @description This is a "thin wrapper" around the media component whose primary responsibility is to wire up the element
|
|
36
|
-
* to the <VideoProvider/>'s MediaStore for the media state.
|
|
37
|
-
* @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to
|
|
38
|
-
* MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.
|
|
39
|
-
* @returns A media react component (e.g. <video/>), wired up as the media element.
|
|
40
|
-
*/
|
|
41
|
-
function ConnectedVideo({ component, children,...props }) {
|
|
42
|
-
const Component = component;
|
|
43
|
-
const mediaRefCallback = useMediaRef();
|
|
44
|
-
return /* @__PURE__ */ jsx(Component, {
|
|
45
|
-
...props,
|
|
46
|
-
ref: mediaRefCallback,
|
|
47
|
-
children
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
function HlsVideo({ component = DefaultVideoComponent, children,...props }) {
|
|
51
|
-
return /* @__PURE__ */ jsx(ConnectedVideo, {
|
|
52
|
-
...props,
|
|
53
|
-
component,
|
|
54
|
-
children
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
//#endregion
|
|
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 };
|
|
89
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/minimal-B-R9aRNe.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
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-DmlupkvF.js";
|
|
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
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/skins/minimal/styles.ts
|
|
6
|
-
function cn(...classes) {
|
|
7
|
-
return classes.filter(Boolean).join(" ");
|
|
8
|
-
}
|
|
9
|
-
const styles = {
|
|
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
|
-
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 vjs:[&_path]:transition-transform vjs:[&_path]:ease-out"),
|
|
14
|
-
TimeDisplayGroup: cn("flex items-center gap-1"),
|
|
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
|
-
ButtonGroup: cn("vjs:flex vjs:items-center vjs:gap-1.5"),
|
|
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
|
-
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"),
|
|
21
|
-
PlayTooltip: cn("play-tooltip"),
|
|
22
|
-
PauseTooltip: cn("pause-tooltip"),
|
|
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"),
|
|
29
|
-
FullscreenEnterTooltip: cn("fullscreen-enter-tooltip"),
|
|
30
|
-
FullscreenExitTooltip: cn("fullscreen-exit-tooltip"),
|
|
31
|
-
TimeSliderRoot: cn("vjs:mx-2"),
|
|
32
|
-
TimeDisplay: cn("vjs:tabular-nums vjs:text-shadow-2xs/20"),
|
|
33
|
-
DurationDisplay: cn("vjs:text-white/50 vjs:contents"),
|
|
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"),
|
|
36
|
-
SliderProgress: cn("vjs:bg-white vjs:rounded-[inherit]"),
|
|
37
|
-
SliderPointer: cn("vjs:hidden"),
|
|
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"),
|
|
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")
|
|
42
|
-
};
|
|
43
|
-
var styles_default = styles;
|
|
44
|
-
|
|
45
|
-
//#endregion
|
|
46
|
-
//#region src/skins/minimal/MinimalSkin.tsx
|
|
47
|
-
function MinimalSkin({ children, className = "" }) {
|
|
48
|
-
return /* @__PURE__ */ jsxs(MediaContainer, {
|
|
49
|
-
className: `${styles_default.MediaContainer} ${className}`,
|
|
50
|
-
children: [
|
|
51
|
-
children,
|
|
52
|
-
/* @__PURE__ */ jsx("div", { className: styles_default.Overlay }),
|
|
53
|
-
/* @__PURE__ */ jsxs("div", {
|
|
54
|
-
className: styles_default.Controls,
|
|
55
|
-
children: [
|
|
56
|
-
/* @__PURE__ */ jsxs(Tooltip_default.Root, {
|
|
57
|
-
delay: 500,
|
|
58
|
-
closeDelay: 0,
|
|
59
|
-
children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(PlayButton_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, {
|
|
63
|
-
side: "top-start",
|
|
64
|
-
sideOffset: 6,
|
|
65
|
-
collisionPadding: 12,
|
|
66
|
-
children: /* @__PURE__ */ jsxs(Tooltip_default.Popup, {
|
|
67
|
-
className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup} ${styles_default.PlayTooltipPopup}`,
|
|
68
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
69
|
-
className: styles_default.PlayTooltip,
|
|
70
|
-
children: "Play"
|
|
71
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
72
|
-
className: styles_default.PauseTooltip,
|
|
73
|
-
children: "Pause"
|
|
74
|
-
})]
|
|
75
|
-
})
|
|
76
|
-
})]
|
|
77
|
-
}),
|
|
78
|
-
/* @__PURE__ */ jsxs("div", {
|
|
79
|
-
className: styles_default.TimeDisplayGroup,
|
|
80
|
-
children: [/* @__PURE__ */ jsx(CurrentTimeDisplay, { className: styles_default.TimeDisplay }), /* @__PURE__ */ jsxs("span", {
|
|
81
|
-
className: styles_default.DurationDisplay,
|
|
82
|
-
children: ["/", /* @__PURE__ */ jsx(DurationDisplay, { className: `${styles_default.TimeDisplay}` })]
|
|
83
|
-
})]
|
|
84
|
-
}),
|
|
85
|
-
/* @__PURE__ */ jsxs(Tooltip_default.Root, {
|
|
86
|
-
trackCursorAxis: "x",
|
|
87
|
-
children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(TimeSlider.Root, {
|
|
88
|
-
className: styles_default.SliderRoot,
|
|
89
|
-
children: [/* @__PURE__ */ jsxs(TimeSlider.Track, {
|
|
90
|
-
className: styles_default.SliderTrack,
|
|
91
|
-
children: [/* @__PURE__ */ jsx(TimeSlider.Progress, { className: styles_default.SliderProgress }), /* @__PURE__ */ jsx(TimeSlider.Pointer, { className: styles_default.SliderPointer })]
|
|
92
|
-
}), /* @__PURE__ */ jsx(TimeSlider.Thumb, { className: styles_default.SliderThumb })]
|
|
93
|
-
}) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
|
|
94
|
-
side: "top",
|
|
95
|
-
sideOffset: 12,
|
|
96
|
-
collisionPadding: 12,
|
|
97
|
-
children: /* @__PURE__ */ jsx(Tooltip_default.Popup, {
|
|
98
|
-
className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup}`,
|
|
99
|
-
children: /* @__PURE__ */ jsx(PreviewTimeDisplay_default, { className: styles_default.TimeDisplay })
|
|
100
|
-
})
|
|
101
|
-
})]
|
|
102
|
-
}),
|
|
103
|
-
/* @__PURE__ */ jsxs("div", {
|
|
104
|
-
className: styles_default.ButtonGroup,
|
|
105
|
-
children: [/* @__PURE__ */ jsxs(Popover_default.Root, {
|
|
106
|
-
openOnHover: true,
|
|
107
|
-
delay: 200,
|
|
108
|
-
closeDelay: 300,
|
|
109
|
-
children: [/* @__PURE__ */ jsx(Popover_default.Trigger, { children: /* @__PURE__ */ jsxs(MuteButton_default, {
|
|
110
|
-
className: `${styles_default.Button} ${styles_default.IconButton}`,
|
|
111
|
-
children: [
|
|
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}` })
|
|
115
|
-
]
|
|
116
|
-
}) }), /* @__PURE__ */ jsx(Popover_default.Positioner, {
|
|
117
|
-
side: "top",
|
|
118
|
-
sideOffset: 2,
|
|
119
|
-
children: /* @__PURE__ */ jsx(Popover_default.Popup, {
|
|
120
|
-
className: `${styles_default.PopupAnimation} ${styles_default.PopoverPopup}`,
|
|
121
|
-
children: /* @__PURE__ */ jsxs(VolumeSlider_default.Root, {
|
|
122
|
-
className: styles_default.SliderRoot,
|
|
123
|
-
orientation: "vertical",
|
|
124
|
-
children: [/* @__PURE__ */ jsx(VolumeSlider_default.Track, {
|
|
125
|
-
className: styles_default.SliderTrack,
|
|
126
|
-
children: /* @__PURE__ */ jsx(VolumeSlider_default.Progress, { className: styles_default.SliderProgress })
|
|
127
|
-
}), /* @__PURE__ */ jsx(VolumeSlider_default.Thumb, { className: styles_default.SliderThumb })]
|
|
128
|
-
})
|
|
129
|
-
})
|
|
130
|
-
})]
|
|
131
|
-
}), /* @__PURE__ */ jsxs(Tooltip_default.Root, {
|
|
132
|
-
delay: 500,
|
|
133
|
-
closeDelay: 0,
|
|
134
|
-
children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(FullscreenButton, {
|
|
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, {
|
|
138
|
-
side: "top-end",
|
|
139
|
-
sideOffset: 6,
|
|
140
|
-
collisionPadding: 12,
|
|
141
|
-
children: /* @__PURE__ */ jsxs(Tooltip_default.Popup, {
|
|
142
|
-
className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup} ${styles_default.FullscreenTooltipPopup}`,
|
|
143
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
144
|
-
className: styles_default.FullscreenEnterTooltip,
|
|
145
|
-
children: "Enter Fullscreen"
|
|
146
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
147
|
-
className: styles_default.FullscreenExitTooltip,
|
|
148
|
-
children: "Exit Fullscreen"
|
|
149
|
-
})]
|
|
150
|
-
})
|
|
151
|
-
})]
|
|
152
|
-
})]
|
|
153
|
-
})
|
|
154
|
-
]
|
|
155
|
-
})
|
|
156
|
-
]
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
//#endregion
|
|
161
|
-
export { MinimalSkin as t };
|
|
162
|
-
//# sourceMappingURL=minimal-B-R9aRNe.js.map
|