@m4l/gclick 0.24.1 → 0.25.0
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/components/CameraStream/defaults/DefaultPhaseStreaming.d.ts +4 -0
- package/components/CameraStream/defaults/DefaultPhaseStreaming.d.ts.map +1 -1
- package/components/CameraStream/defaults/DefaultPhaseStreaming.js +35 -33
- package/components/CameraStreams/CameraStreamsProvider.d.ts +5 -0
- package/components/CameraStreams/CameraStreamsProvider.d.ts.map +1 -1
- package/components/CameraStreams/CameraStreamsProvider.js +10 -11
- package/components/CameraStreams/contexts/CameraStreamPlayersContext.d.ts +7 -3
- package/components/CameraStreams/contexts/CameraStreamPlayersContext.d.ts.map +1 -1
- package/components/CameraStreams/contexts/CameraStreamsSuspensionContext.d.ts +15 -0
- package/components/CameraStreams/contexts/CameraStreamsSuspensionContext.d.ts.map +1 -0
- package/components/CameraStreams/contexts/CameraStreamsSuspensionContext.js +5 -0
- package/components/CameraStreams/hooks/useCameraStreamsSuspended.d.ts +7 -0
- package/components/CameraStreams/hooks/useCameraStreamsSuspended.d.ts.map +1 -0
- package/components/CameraStreams/hooks/useCameraStreamsSuspended.js +8 -0
- package/components/CameraStreams/hooks/useStreamPolling.d.ts +1 -11
- package/components/CameraStreams/hooks/useStreamPolling.d.ts.map +1 -1
- package/components/CameraStreams/hooks/useStreamPolling.js +84 -89
- package/components/CameraStreams/hooks/useStreamRequest.d.ts +7 -8
- package/components/CameraStreams/hooks/useStreamRequest.d.ts.map +1 -1
- package/components/CameraStreams/hooks/useStreamRequest.js +34 -50
- package/components/CameraStreams/index.d.ts +2 -0
- package/components/CameraStreams/index.d.ts.map +1 -1
- package/components/CameraStreams/types.d.ts +23 -10
- package/components/CameraStreams/types.d.ts.map +1 -1
- package/components/VideoPlayer/VideoPlayer.d.ts +3 -3
- package/components/VideoPlayer/VideoPlayer.d.ts.map +1 -1
- package/components/VideoPlayer/VideoPlayer.js +29 -25
- package/components/VideoPlayer/VideoPlayer.styles.d.ts.map +1 -1
- package/components/VideoPlayer/VideoPlayer.styles.js +32 -6
- package/components/VideoPlayer/VideojsDefaultSkin.styles.d.ts.map +1 -1
- package/components/VideoPlayer/VideojsDefaultSkin.styles.js +936 -807
- package/components/VideoPlayer/VideojsMinimalSkin.styles.d.ts.map +1 -1
- package/components/VideoPlayer/VideojsMinimalSkin.styles.js +901 -809
- package/components/VideoPlayer/constants.d.ts +16 -0
- package/components/VideoPlayer/constants.d.ts.map +1 -1
- package/components/VideoPlayer/constants.js +27 -8
- package/components/VideoPlayer/hlsSource.d.ts +41 -0
- package/components/VideoPlayer/hlsSource.d.ts.map +1 -0
- package/components/VideoPlayer/hlsSource.js +35 -0
- package/components/VideoPlayer/hooks/useMediaReadiness.d.ts +22 -0
- package/components/VideoPlayer/hooks/useMediaReadiness.d.ts.map +1 -0
- package/components/VideoPlayer/hooks/useMediaReadiness.js +21 -0
- package/components/VideoPlayer/hooks/usePlaybackIntent.d.ts +14 -0
- package/components/VideoPlayer/hooks/usePlaybackIntent.d.ts.map +1 -0
- package/components/VideoPlayer/hooks/usePlaybackIntent.js +33 -0
- package/components/VideoPlayer/hooks/usePlayerControl.d.ts +6 -0
- package/components/VideoPlayer/hooks/usePlayerControl.d.ts.map +1 -1
- package/components/VideoPlayer/hooks/usePlayerControl.js +34 -25
- package/components/VideoPlayer/hooks/usePlayerEvents.d.ts +5 -1
- package/components/VideoPlayer/hooks/usePlayerEvents.d.ts.map +1 -1
- package/components/VideoPlayer/hooks/usePlayerEvents.js +10 -11
- package/components/VideoPlayer/player.factory.d.ts +24 -17
- package/components/VideoPlayer/player.factory.d.ts.map +1 -1
- package/components/VideoPlayer/storeSafety.d.ts +15 -0
- package/components/VideoPlayer/storeSafety.d.ts.map +1 -0
- package/components/VideoPlayer/storeSafety.js +25 -0
- package/components/VideoPlayer/subcomponents/GclickVideoSkin.d.ts +4 -2
- package/components/VideoPlayer/subcomponents/GclickVideoSkin.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/GclickVideoSkin.js +36 -24
- package/components/VideoPlayer/subcomponents/VideoPlayerStage.d.ts +5 -3
- package/components/VideoPlayer/subcomponents/VideoPlayerStage.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/VideoPlayerStage.js +64 -49
- package/components/VideoPlayer/subcomponents/skin/VideoControlBar.d.ts +14 -2
- package/components/VideoPlayer/subcomponents/skin/VideoControlBar.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/skin/VideoControlBar.js +90 -62
- package/components/VideoPlayer/subcomponents/skin/VideoErrorDialog.d.ts +11 -0
- package/components/VideoPlayer/subcomponents/skin/VideoErrorDialog.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/skin/VideoErrorDialog.js +16 -13
- package/components/VideoPlayer/subcomponents/skin/VideoInputIndicators.d.ts +15 -0
- package/components/VideoPlayer/subcomponents/skin/VideoInputIndicators.d.ts.map +1 -0
- package/components/VideoPlayer/subcomponents/skin/VideoInputIndicators.js +57 -0
- package/components/VideoPlayer/subcomponents/skin/VideoSettingsMenu.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/skin/VideoSettingsMenu.js +10 -12
- package/components/VideoPlayer/subcomponents/skin/primitives.d.ts +11 -2
- package/components/VideoPlayer/subcomponents/skin/primitives.d.ts.map +1 -1
- package/components/VideoPlayer/subcomponents/skin/primitives.js +74 -72
- package/components/VideoPlayer/types.d.ts +43 -5
- package/components/VideoPlayer/types.d.ts.map +1 -1
- package/index.js +149 -145
- package/package.json +4 -2
- package/components/CameraStreams/subcomponents/CameraStreamsSuspensionController.d.ts +0 -18
- package/components/CameraStreams/subcomponents/CameraStreamsSuspensionController.d.ts.map +0 -1
- package/components/CameraStreams/subcomponents/CameraStreamsSuspensionController.js +0 -35
- package/components/VideoPlayer/hlsConfig.d.ts +0 -30
- package/components/VideoPlayer/hlsConfig.d.ts.map +0 -1
- package/components/VideoPlayer/hlsConfig.js +0 -33
|
@@ -1,42 +1,54 @@
|
|
|
1
1
|
import { jsx as r, jsxs as s } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { Container as
|
|
3
|
-
import { SpinnerIcon as
|
|
4
|
-
import { cx as
|
|
5
|
-
import { SkinVariantProvider as
|
|
6
|
-
import { VideoControlBar as
|
|
7
|
-
import { VideoErrorDialog as
|
|
8
|
-
import { VideoInputBindings as
|
|
9
|
-
|
|
2
|
+
import { Container as d, Poster as f, BufferingIndicator as l } from "@videojs/react";
|
|
3
|
+
import { SpinnerIcon as p } from "@videojs/react/icons";
|
|
4
|
+
import { cx as u } from "./skin/primitives.js";
|
|
5
|
+
import { SkinVariantProvider as V, useSkinClasses as k } from "./skin/skinVariant.js";
|
|
6
|
+
import { VideoControlBar as I } from "./skin/VideoControlBar.js";
|
|
7
|
+
import { VideoErrorDialog as S } from "./skin/VideoErrorDialog.js";
|
|
8
|
+
import { VideoInputBindings as g } from "./skin/VideoInputBindings.js";
|
|
9
|
+
import { VideoInputIndicators as h } from "./skin/VideoInputIndicators.js";
|
|
10
|
+
function G({
|
|
10
11
|
children: o,
|
|
11
|
-
className:
|
|
12
|
+
className: n,
|
|
12
13
|
poster: i,
|
|
13
|
-
isLive:
|
|
14
|
-
variant: m
|
|
14
|
+
isLive: e,
|
|
15
|
+
variant: m,
|
|
16
|
+
optionalControls: t
|
|
15
17
|
}) {
|
|
16
|
-
return /* @__PURE__ */ r(
|
|
18
|
+
return /* @__PURE__ */ r(V, { variant: m, children: /* @__PURE__ */ r(
|
|
19
|
+
x,
|
|
20
|
+
{
|
|
21
|
+
className: n,
|
|
22
|
+
poster: i,
|
|
23
|
+
isLive: e,
|
|
24
|
+
optionalControls: t,
|
|
25
|
+
children: o
|
|
26
|
+
}
|
|
27
|
+
) });
|
|
17
28
|
}
|
|
18
|
-
function
|
|
29
|
+
function x({
|
|
19
30
|
children: o,
|
|
20
|
-
className:
|
|
31
|
+
className: n,
|
|
21
32
|
poster: i,
|
|
22
|
-
isLive:
|
|
33
|
+
isLive: e,
|
|
34
|
+
optionalControls: m
|
|
23
35
|
}) {
|
|
24
|
-
const { root:
|
|
25
|
-
return /* @__PURE__ */ s(
|
|
36
|
+
const { root: t, surface: c } = k();
|
|
37
|
+
return /* @__PURE__ */ s(d, { className: u(t, n), children: [
|
|
26
38
|
o,
|
|
27
|
-
i ? /* @__PURE__ */ r(
|
|
39
|
+
i ? /* @__PURE__ */ r(f, { src: i }) : null,
|
|
28
40
|
/* @__PURE__ */ r(
|
|
29
41
|
l,
|
|
30
42
|
{
|
|
31
|
-
render: (
|
|
43
|
+
render: (a) => /* @__PURE__ */ r("div", { ...a, className: "media-buffering-indicator", children: /* @__PURE__ */ r("div", { className: c, children: /* @__PURE__ */ r(p, { className: "media-icon" }) }) })
|
|
32
44
|
}
|
|
33
45
|
),
|
|
34
|
-
/* @__PURE__ */ r(
|
|
35
|
-
/* @__PURE__ */ r(
|
|
36
|
-
/* @__PURE__ */ r(
|
|
37
|
-
/* @__PURE__ */ r(
|
|
46
|
+
/* @__PURE__ */ r(S, {}),
|
|
47
|
+
/* @__PURE__ */ r(I, { isLive: e, optionalControls: m }),
|
|
48
|
+
/* @__PURE__ */ r(g, {}),
|
|
49
|
+
/* @__PURE__ */ r(h, {})
|
|
38
50
|
] });
|
|
39
51
|
}
|
|
40
52
|
export {
|
|
41
|
-
|
|
53
|
+
G as GclickVideoSkin
|
|
42
54
|
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Ref } from 'react';
|
|
2
|
-
import { VideoPlayerControl, VideoPlayerError, VideoPlayerVariant } from '../types';
|
|
2
|
+
import { VideoPlayerControl, VideoPlayerError, VideoPlayerOptionalControls, VideoPlayerVariant } from '../types';
|
|
3
3
|
/** Props of the inner stage — the public props resolved + the forwarded ref. */
|
|
4
4
|
export interface VideoPlayerStageProps {
|
|
5
5
|
src: string;
|
|
6
6
|
poster?: string;
|
|
7
7
|
variant: VideoPlayerVariant;
|
|
8
|
+
suspended: boolean;
|
|
9
|
+
optionalControls?: VideoPlayerOptionalControls;
|
|
8
10
|
className?: string;
|
|
9
11
|
controlRef?: Ref<VideoPlayerControl>;
|
|
10
12
|
onReady?: () => void;
|
|
@@ -16,12 +18,12 @@ export interface VideoPlayerStageProps {
|
|
|
16
18
|
onDurationChange?: (duration: number, isLive: boolean) => void;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
|
-
* Inner stage rendered inside `StreamPlayer.
|
|
21
|
+
* Inner stage rendered inside `StreamPlayer.Player`. It bridges the imperative
|
|
20
22
|
* handle + event callbacks (via `usePlayer`), then renders the composed v10 skin
|
|
21
23
|
* ({@link GclickVideoSkin}) wrapping the credentialed `<HlsJsVideo>`. The skin owns
|
|
22
24
|
* the chrome — controls, layout, poster and the fullscreen target — and swaps the
|
|
23
25
|
* seek bar ↔ native live button by `isLive`; we only wrap it to size and flatten
|
|
24
26
|
* the frame.
|
|
25
27
|
*/
|
|
26
|
-
export declare function VideoPlayerStage({ src, poster, variant, className, controlRef, onReady, onPlay, onPause, onEnded, onWaiting, onError, onDurationChange, }: VideoPlayerStageProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function VideoPlayerStage({ src, poster, variant, suspended, optionalControls, className, controlRef, onReady, onPlay, onPause, onEnded, onWaiting, onError, onDurationChange, }: VideoPlayerStageProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
27
29
|
//# sourceMappingURL=VideoPlayerStage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayerStage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/VideoPlayerStage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VideoPlayerStage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/VideoPlayerStage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAmBlD,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,gBAAgB,GACjB,EAAE,qBAAqB,oDA0DvB"}
|
|
@@ -1,59 +1,74 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { selectStreamType as
|
|
4
|
-
import { HlsJsVideo as
|
|
5
|
-
import { HLS_CROSS_ORIGIN as
|
|
6
|
-
import {
|
|
7
|
-
import { StreamPlayer as
|
|
8
|
-
import { resolveIsLive as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import { jsx as o } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useRef as k, useMemo as C } from "react";
|
|
3
|
+
import { selectStreamType as H } from "@videojs/react";
|
|
4
|
+
import { HlsJsVideo as V } from "@videojs/react/media/hlsjs-video";
|
|
5
|
+
import { HLS_CROSS_ORIGIN as _, HLS_PREFER_PLAYBACK as b } from "../constants.js";
|
|
6
|
+
import { buildCredentialedHlsSource as h } from "../hlsSource.js";
|
|
7
|
+
import { StreamPlayer as s } from "../player.factory.js";
|
|
8
|
+
import { resolveIsLive as E } from "../utils.js";
|
|
9
|
+
import { useMediaReadiness as O } from "../hooks/useMediaReadiness.js";
|
|
10
|
+
import { usePlaybackIntent as g } from "../hooks/usePlaybackIntent.js";
|
|
11
|
+
import { usePlayerControl as x } from "../hooks/usePlayerControl.js";
|
|
12
|
+
import { usePlayerEvents as A } from "../hooks/usePlayerEvents.js";
|
|
13
|
+
import { VideoPlayerRootStyled as G } from "../slots/VideoPlayerSlots.js";
|
|
14
|
+
import { GclickVideoSkin as M } from "./GclickVideoSkin.js";
|
|
15
|
+
function W({
|
|
16
|
+
src: t,
|
|
17
|
+
poster: a,
|
|
18
|
+
variant: i,
|
|
19
|
+
suspended: l,
|
|
20
|
+
optionalControls: n,
|
|
21
|
+
className: u,
|
|
22
|
+
controlRef: p,
|
|
19
23
|
onReady: f,
|
|
20
|
-
onPlay:
|
|
21
|
-
onPause:
|
|
22
|
-
onEnded:
|
|
23
|
-
onWaiting:
|
|
24
|
-
onError:
|
|
25
|
-
onDurationChange:
|
|
24
|
+
onPlay: c,
|
|
25
|
+
onPause: d,
|
|
26
|
+
onEnded: y,
|
|
27
|
+
onWaiting: S,
|
|
28
|
+
onError: P,
|
|
29
|
+
onDurationChange: R
|
|
26
30
|
}) {
|
|
27
|
-
const e =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
const e = s.usePlayer(), v = s.usePlayer(H), m = E(v?.streamType, e.state.duration), r = k(null), I = C(() => h(t, b), [t]);
|
|
32
|
+
x(p, e, r), A(e, {
|
|
33
|
+
onPlay: c,
|
|
34
|
+
onPause: d,
|
|
35
|
+
onEnded: y,
|
|
36
|
+
onWaiting: S,
|
|
37
|
+
onError: P,
|
|
38
|
+
onDurationChange: R
|
|
39
|
+
});
|
|
40
|
+
const L = g(e, l);
|
|
41
|
+
return O(r, () => {
|
|
42
|
+
f?.(), L();
|
|
43
|
+
}), /* @__PURE__ */ o(
|
|
44
|
+
G,
|
|
38
45
|
{
|
|
39
|
-
ownerState: { variant:
|
|
40
|
-
className:
|
|
41
|
-
"data-stream-type":
|
|
42
|
-
children: /* @__PURE__ */
|
|
43
|
-
|
|
46
|
+
ownerState: { variant: i },
|
|
47
|
+
className: u,
|
|
48
|
+
"data-stream-type": m ? "live" : "vod",
|
|
49
|
+
children: /* @__PURE__ */ o(
|
|
50
|
+
M,
|
|
44
51
|
{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
poster: a,
|
|
53
|
+
isLive: m,
|
|
54
|
+
variant: i,
|
|
55
|
+
optionalControls: n,
|
|
56
|
+
children: /* @__PURE__ */ o(
|
|
57
|
+
V,
|
|
58
|
+
{
|
|
59
|
+
ref: r,
|
|
60
|
+
source: I,
|
|
61
|
+
crossOrigin: _,
|
|
62
|
+
autoPlay: !0,
|
|
63
|
+
muted: !0,
|
|
64
|
+
playsInline: !0
|
|
65
|
+
}
|
|
66
|
+
)
|
|
52
67
|
}
|
|
53
|
-
)
|
|
68
|
+
)
|
|
54
69
|
}
|
|
55
70
|
);
|
|
56
71
|
}
|
|
57
72
|
export {
|
|
58
|
-
|
|
73
|
+
W as VideoPlayerStage
|
|
59
74
|
};
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { VideoPlayerOptionalControls } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* The full control bar for the current stream type.
|
|
5
|
+
*
|
|
6
|
+
* The two vendor sheets lay the chrome out differently, so the DOM differs too.
|
|
7
|
+
* The default sheet expects three nested surfaces — a `--root` that is
|
|
8
|
+
* `display: contents`, plus `--primary` (the bar) and `--secondary` (the
|
|
9
|
+
* top-right cluster) absolutely positioned over the video — while the minimal
|
|
10
|
+
* sheet styles one flat bar and ships no rule for those modifiers. Emitting the
|
|
11
|
+
* flat shape under the default sheet leaves the controls unpositioned, which
|
|
12
|
+
* looks exactly like "the controls never appear".
|
|
13
|
+
*/
|
|
14
|
+
export declare function VideoControlBar({ isLive, optionalControls, }: {
|
|
4
15
|
isLive: boolean;
|
|
16
|
+
optionalControls?: VideoPlayerOptionalControls;
|
|
5
17
|
}): ReactNode;
|
|
6
18
|
//# sourceMappingURL=VideoControlBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoControlBar.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoControlBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VideoControlBar.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoControlBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4CvC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAsL/D;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;CAChD,GAAG,SAAS,CAoDZ"}
|
|
@@ -1,87 +1,115 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Controls as
|
|
3
|
-
import {
|
|
4
|
-
import { cx as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/* @__PURE__ */ e(
|
|
11
|
-
/* @__PURE__ */ e(
|
|
1
|
+
import { jsxs as i, jsx as e, Fragment as d } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { Controls as s, Tooltip as g, AirPlayButton as C, CastButton as k, PiPButton as E, FullscreenButton as S, PlayButton as T, LiveButton as x, SeekButton as y, Popover as p, VolumeSlider as V, Slider as t, TimeSlider as O, Time as m, MuteButton as R } from "@videojs/react";
|
|
3
|
+
import { AirPlayEnterIcon as A, AirPlayExitIcon as F, CastEnterIcon as M, CastExitIcon as w, PipEnterIcon as L, PipExitIcon as j, FullscreenEnterIcon as D, FullscreenExitIcon as G, RestartIcon as H, PlayIcon as K, PauseIcon as Y, VolumeOffIcon as q, VolumeLowIcon as z, VolumeHighIcon as J } from "@videojs/react/icons";
|
|
4
|
+
import { cx as u, TooltipButton as c, SkinButton as r, SkipButtonContent as B, SEEK_TIME as P } from "./primitives.js";
|
|
5
|
+
import { VIDEO_PLAYER_OPTIONAL_CONTROLS as Q } from "../../constants.js";
|
|
6
|
+
import { useSkinClasses as h } from "./skinVariant.js";
|
|
7
|
+
import { VideoSettingsMenu as U } from "./VideoSettingsMenu.js";
|
|
8
|
+
function W() {
|
|
9
|
+
const { surface: a } = h(), o = /* @__PURE__ */ i(R, { className: "media-button--mute", render: /* @__PURE__ */ e(r, {}), children: [
|
|
10
|
+
/* @__PURE__ */ e(q, { className: "media-icon media-icon--volume-off" }),
|
|
11
|
+
/* @__PURE__ */ e(z, { className: "media-icon media-icon--volume-low" }),
|
|
12
|
+
/* @__PURE__ */ e(J, { className: "media-icon media-icon--volume-high" })
|
|
12
13
|
] });
|
|
13
|
-
return /* @__PURE__ */ i(
|
|
14
|
-
/* @__PURE__ */ e(
|
|
15
|
-
/* @__PURE__ */ e(
|
|
16
|
-
/* @__PURE__ */ e(
|
|
17
|
-
/* @__PURE__ */ e(
|
|
14
|
+
return /* @__PURE__ */ i(p.Root, { openOnHover: !0, delay: 200, closeDelay: 100, side: "top", children: [
|
|
15
|
+
/* @__PURE__ */ e(p.Trigger, { render: o }),
|
|
16
|
+
/* @__PURE__ */ e(p.Popup, { className: u(a, "media-popover media-popover--volume"), children: /* @__PURE__ */ i(V.Root, { className: "media-slider", orientation: "vertical", thumbAlignment: "edge", children: [
|
|
17
|
+
/* @__PURE__ */ e(t.Track, { className: "media-slider__track", children: /* @__PURE__ */ e(t.Fill, { className: "media-slider__fill" }) }),
|
|
18
|
+
/* @__PURE__ */ e(t.Thumb, { className: "media-slider__thumb media-slider__thumb--persistent" })
|
|
18
19
|
] }) })
|
|
19
20
|
] });
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
+
function X({ isLive: a }) {
|
|
22
23
|
return /* @__PURE__ */ i("div", { className: "media-button-group", children: [
|
|
23
|
-
/* @__PURE__ */ e(
|
|
24
|
-
/* @__PURE__ */ e(
|
|
25
|
-
/* @__PURE__ */ e(
|
|
26
|
-
/* @__PURE__ */ e(
|
|
24
|
+
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ i(T, { className: "media-button--play", render: /* @__PURE__ */ e(r, {}), children: [
|
|
25
|
+
/* @__PURE__ */ e(H, { className: "media-icon media-icon--restart" }),
|
|
26
|
+
/* @__PURE__ */ e(K, { className: "media-icon media-icon--play" }),
|
|
27
|
+
/* @__PURE__ */ e(Y, { className: "media-icon media-icon--pause" })
|
|
27
28
|
] }) }),
|
|
28
|
-
a ? /* @__PURE__ */ e(
|
|
29
|
-
/* @__PURE__ */ e(
|
|
30
|
-
/* @__PURE__ */ e(
|
|
29
|
+
a ? /* @__PURE__ */ e(x, { className: "media-button media-button--subtle media-button--live" }) : /* @__PURE__ */ i(d, { children: [
|
|
30
|
+
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(y, { seconds: -P, className: "media-button--seek", render: /* @__PURE__ */ e(r, {}), children: /* @__PURE__ */ e(B, { direction: "back" }) }) }),
|
|
31
|
+
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(y, { seconds: P, className: "media-button--seek", render: /* @__PURE__ */ e(r, {}), children: /* @__PURE__ */ e(B, { direction: "forward" }) }) })
|
|
31
32
|
] })
|
|
32
33
|
] });
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
-
const { groupedTime:
|
|
35
|
+
function Z({ isLive: a }) {
|
|
36
|
+
const { groupedTime: o } = h();
|
|
36
37
|
if (a)
|
|
37
38
|
return /* @__PURE__ */ e("div", { className: "media-time-controls", "aria-hidden": "true" });
|
|
38
|
-
const
|
|
39
|
-
/* @__PURE__ */ i(
|
|
40
|
-
/* @__PURE__ */ e(
|
|
41
|
-
/* @__PURE__ */ e(
|
|
39
|
+
const n = /* @__PURE__ */ i(O.Root, { className: "media-slider", children: [
|
|
40
|
+
/* @__PURE__ */ i(t.Track, { className: "media-slider__track", children: [
|
|
41
|
+
/* @__PURE__ */ e(t.Fill, { className: "media-slider__fill" }),
|
|
42
|
+
/* @__PURE__ */ e(t.Buffer, { className: "media-slider__buffer" })
|
|
42
43
|
] }),
|
|
43
|
-
/* @__PURE__ */ e(
|
|
44
|
+
/* @__PURE__ */ e(t.Thumb, { className: "media-slider__thumb" })
|
|
44
45
|
] });
|
|
45
|
-
return
|
|
46
|
-
s,
|
|
46
|
+
return o ? /* @__PURE__ */ i("div", { className: "media-time-controls", children: [
|
|
47
47
|
/* @__PURE__ */ i("div", { className: "media-time-group", children: [
|
|
48
|
-
/* @__PURE__ */ e(
|
|
48
|
+
/* @__PURE__ */ e(m.Value, { type: "current", className: "media-time media-time--current" }),
|
|
49
49
|
/* @__PURE__ */ e("span", { className: "media-time-separator", children: "/" }),
|
|
50
|
-
/* @__PURE__ */ e(
|
|
51
|
-
] })
|
|
50
|
+
/* @__PURE__ */ e(m.Value, { type: "duration", className: "media-time media-time--duration" })
|
|
51
|
+
] }),
|
|
52
|
+
n
|
|
52
53
|
] }) : /* @__PURE__ */ i("div", { className: "media-time-controls", children: [
|
|
53
|
-
/* @__PURE__ */ e(
|
|
54
|
-
|
|
55
|
-
/* @__PURE__ */ e(
|
|
54
|
+
/* @__PURE__ */ e(m.Value, { type: "current", className: "media-time" }),
|
|
55
|
+
n,
|
|
56
|
+
/* @__PURE__ */ e(m.Value, { type: "duration", className: "media-time" })
|
|
56
57
|
] });
|
|
57
58
|
}
|
|
58
|
-
function
|
|
59
|
+
function N({ airPlay: a, cast: o, pictureInPicture: n }) {
|
|
59
60
|
return /* @__PURE__ */ i("div", { className: "media-button-group", children: [
|
|
60
|
-
/* @__PURE__ */ e(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
/* @__PURE__ */ e(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
/* @__PURE__ */ e(
|
|
61
|
+
a ? /* @__PURE__ */ e(c, { children: /* @__PURE__ */ i(C, { className: "media-button--airplay", render: /* @__PURE__ */ e(r, {}), children: [
|
|
62
|
+
/* @__PURE__ */ e(A, { className: "media-icon media-icon--airplay-enter" }),
|
|
63
|
+
/* @__PURE__ */ e(F, { className: "media-icon media-icon--airplay-exit" })
|
|
64
|
+
] }) }) : null,
|
|
65
|
+
o ? /* @__PURE__ */ e(c, { children: /* @__PURE__ */ i(k, { className: "media-button--cast", render: /* @__PURE__ */ e(r, {}), children: [
|
|
66
|
+
/* @__PURE__ */ e(M, { className: "media-icon media-icon--cast-enter" }),
|
|
67
|
+
/* @__PURE__ */ e(w, { className: "media-icon media-icon--cast-exit" })
|
|
68
|
+
] }) }) : null,
|
|
69
|
+
n ? /* @__PURE__ */ e(c, { children: /* @__PURE__ */ i(E, { className: "media-button--pip", render: /* @__PURE__ */ e(r, {}), children: [
|
|
70
|
+
/* @__PURE__ */ e(L, { className: "media-icon media-icon--pip-enter" }),
|
|
71
|
+
/* @__PURE__ */ e(j, { className: "media-icon media-icon--pip-exit" })
|
|
72
|
+
] }) }) : null,
|
|
73
|
+
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ i(S, { className: "media-button--fullscreen", render: /* @__PURE__ */ e(r, {}), children: [
|
|
74
|
+
/* @__PURE__ */ e(D, { className: "media-icon media-icon--fullscreen-enter" }),
|
|
75
|
+
/* @__PURE__ */ e(G, { className: "media-icon media-icon--fullscreen-exit" })
|
|
74
76
|
] }) })
|
|
75
77
|
] });
|
|
76
78
|
}
|
|
77
|
-
function
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
function $({ isLive: a }) {
|
|
80
|
+
return /* @__PURE__ */ e("div", { className: "media-button-group", children: /* @__PURE__ */ e(U, { isLive: a }) });
|
|
81
|
+
}
|
|
82
|
+
function ce({
|
|
83
|
+
isLive: a,
|
|
84
|
+
optionalControls: o
|
|
85
|
+
}) {
|
|
86
|
+
const { surface: n, controlsRoot: v, controlsPrimary: f, controlsSecondary: I } = h(), l = { ...Q, ...o }, b = l.airPlay || l.cast || l.pictureInPicture, _ = /* @__PURE__ */ i(d, { children: [
|
|
87
|
+
/* @__PURE__ */ e(X, { isLive: a }),
|
|
88
|
+
/* @__PURE__ */ e(W, {}),
|
|
89
|
+
/* @__PURE__ */ e(Z, { isLive: a }),
|
|
90
|
+
/* @__PURE__ */ e($, { isLive: a })
|
|
91
|
+
] });
|
|
92
|
+
return (
|
|
93
|
+
// beta.32 split controls into state and surface: `Root` provides the state
|
|
94
|
+
// and renders no element, so the DOM props belong to `Content`. The backdrop
|
|
95
|
+
// is a sibling the same release introduced — a gradient that carries the
|
|
96
|
+
// control contrast over bright footage, which the chrome has no other way of
|
|
97
|
+
// getting.
|
|
98
|
+
/* @__PURE__ */ i(s.Root, { children: [
|
|
99
|
+
/* @__PURE__ */ e(s.Backdrop, { className: "media-controls__backdrop" }),
|
|
100
|
+
/* @__PURE__ */ e(s.Content, { className: u(n, "media-controls", v), children: /* @__PURE__ */ e(g.Provider, { children: f ? /* @__PURE__ */ i(d, { children: [
|
|
101
|
+
/* @__PURE__ */ i(s.Group, { className: u(n, "media-controls", f), children: [
|
|
102
|
+
_,
|
|
103
|
+
b ? null : /* @__PURE__ */ e(N, { ...l })
|
|
104
|
+
] }),
|
|
105
|
+
b ? /* @__PURE__ */ e(s.Group, { className: u(n, "media-controls", I), children: /* @__PURE__ */ e(N, { ...l }) }) : null
|
|
106
|
+
] }) : /* @__PURE__ */ i(d, { children: [
|
|
107
|
+
_,
|
|
108
|
+
/* @__PURE__ */ e(N, { ...l })
|
|
109
|
+
] }) }) })
|
|
110
|
+
] })
|
|
111
|
+
);
|
|
84
112
|
}
|
|
85
113
|
export {
|
|
86
|
-
|
|
114
|
+
ce as VideoControlBar
|
|
87
115
|
};
|
|
@@ -4,6 +4,17 @@ import { ReactNode } from 'react';
|
|
|
4
4
|
*
|
|
5
5
|
* Extracted from the skin root because it is an overlay with its own lifecycle
|
|
6
6
|
* and has nothing to do with the control bar it used to sit next to.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the vendor's own composition on purpose. beta.32 split dialogs into
|
|
9
|
+
* sibling parts — `ErrorDialog.Root` only provides the state, and the surface is
|
|
10
|
+
* a `Dialog.Popup` next to a `Dialog.Backdrop` — and renamed the stylesheet's
|
|
11
|
+
* `media-error__*` classes to `media-dialog__*`. Reaching for the wrong part
|
|
12
|
+
* throws ("compound components must be used within a Root"), and reaching for
|
|
13
|
+
* the old class names renders an unstyled dialog, neither of which shows up
|
|
14
|
+
* until a stream actually fails.
|
|
15
|
+
*
|
|
16
|
+
* The title, description and close label carry the vendor's localized text; the
|
|
17
|
+
* skin ships translations for them, so authoring our own would be a downgrade.
|
|
7
18
|
*/
|
|
8
19
|
export declare function VideoErrorDialog(): ReactNode;
|
|
9
20
|
//# sourceMappingURL=VideoErrorDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoErrorDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoErrorDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC
|
|
1
|
+
{"version":3,"file":"VideoErrorDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoErrorDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,CAgB5C"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ErrorDialog as
|
|
1
|
+
import { jsxs as o, jsx as i } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { ErrorDialog as a, Dialog as e } from "@videojs/react";
|
|
3
3
|
import { cx as s } from "./primitives.js";
|
|
4
|
-
import { useSkinClasses as
|
|
5
|
-
function
|
|
6
|
-
const { surface:
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */ i(
|
|
9
|
-
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
import { useSkinClasses as d } from "./skinVariant.js";
|
|
5
|
+
function n() {
|
|
6
|
+
const { surface: r } = d();
|
|
7
|
+
return /* @__PURE__ */ o(a.Root, { children: [
|
|
8
|
+
/* @__PURE__ */ i(e.Backdrop, { className: "media-dialog__backdrop" }),
|
|
9
|
+
/* @__PURE__ */ o(e.Popup, { className: s("media-dialog__popup", r), children: [
|
|
10
|
+
/* @__PURE__ */ o("div", { className: "media-dialog__content", children: [
|
|
11
|
+
/* @__PURE__ */ i(a.Title, { className: "media-dialog__title" }),
|
|
12
|
+
/* @__PURE__ */ i(a.Description, { className: "media-dialog__description" })
|
|
13
|
+
] }),
|
|
14
|
+
/* @__PURE__ */ i("div", { className: "media-dialog__actions", children: /* @__PURE__ */ i(a.Close, { className: "media-button media-button--primary" }) })
|
|
15
|
+
] })
|
|
16
|
+
] });
|
|
14
17
|
}
|
|
15
18
|
export {
|
|
16
|
-
|
|
19
|
+
n as VideoErrorDialog
|
|
17
20
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Visual and assistive feedback for the gestures and hotkeys the player binds.
|
|
4
|
+
*
|
|
5
|
+
* Sibling to {@link VideoInputBindings} by design: that one registers the input,
|
|
6
|
+
* this one reports it. Without it a tap, a double-tap or an arrow key changes
|
|
7
|
+
* the player with nothing on screen acknowledging it — the bindings were already
|
|
8
|
+
* there, only the feedback was missing.
|
|
9
|
+
*
|
|
10
|
+
* `StatusAnnouncer` is the same thing for screen readers: it announces the state
|
|
11
|
+
* change in a visually hidden live region, which is the only feedback a
|
|
12
|
+
* non-sighted operator gets from a keyboard shortcut.
|
|
13
|
+
*/
|
|
14
|
+
export declare function VideoInputIndicators(): ReactNode;
|
|
15
|
+
//# sourceMappingURL=VideoInputIndicators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoInputIndicators.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoInputIndicators.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA6BvC;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,SAAS,CA8ChD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsxs as a, Fragment as m, jsx as e } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { StatusAnnouncer as t, VolumeIndicator as i, StatusIndicator as c, SeekIndicator as n } from "@videojs/react";
|
|
3
|
+
import { VolumeHighIcon as l, VolumeLowIcon as d, VolumeOffIcon as r, FullscreenEnterIcon as u, FullscreenExitIcon as N, PipEnterIcon as p, PipExitIcon as I, SeekIcon as _, PlayIcon as f, PauseIcon as v } from "@videojs/react/icons";
|
|
4
|
+
import { cx as o } from "./primitives.js";
|
|
5
|
+
import { useSkinClasses as h } from "./skinVariant.js";
|
|
6
|
+
const g = ["toggleFullscreen", "togglePictureInPicture"], x = ["togglePaused"];
|
|
7
|
+
function E() {
|
|
8
|
+
const { surface: s } = h();
|
|
9
|
+
return /* @__PURE__ */ a(m, { children: [
|
|
10
|
+
/* @__PURE__ */ e(t, { className: "media-sr-only" }),
|
|
11
|
+
/* @__PURE__ */ a("div", { className: "media-input-indicator", children: [
|
|
12
|
+
/* @__PURE__ */ a(i.Root, { className: o(s, "media-volume-indicator"), children: [
|
|
13
|
+
/* @__PURE__ */ a(i.Fill, { className: "media-volume-indicator__content", children: [
|
|
14
|
+
/* @__PURE__ */ e(l, { className: "media-icon media-icon--volume-high" }),
|
|
15
|
+
/* @__PURE__ */ e(d, { className: "media-icon media-icon--volume-low" }),
|
|
16
|
+
/* @__PURE__ */ e(r, { className: "media-icon media-icon--volume-off" }),
|
|
17
|
+
/* @__PURE__ */ e("div", { className: "media-volume-indicator__progress", "aria-hidden": "true" })
|
|
18
|
+
] }),
|
|
19
|
+
/* @__PURE__ */ e(i.Value, { className: "media-volume-indicator__value" })
|
|
20
|
+
] }),
|
|
21
|
+
/* @__PURE__ */ a(
|
|
22
|
+
c.Root,
|
|
23
|
+
{
|
|
24
|
+
actions: [...g],
|
|
25
|
+
className: o(s, "media-status-indicator", "media-status-indicator--state"),
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ a("div", { className: "media-status-indicator__content", children: [
|
|
28
|
+
/* @__PURE__ */ e(u, { className: "media-icon media-icon--fullscreen-enter" }),
|
|
29
|
+
/* @__PURE__ */ e(N, { className: "media-icon media-icon--fullscreen-exit" }),
|
|
30
|
+
/* @__PURE__ */ e(p, { className: "media-icon media-icon--pip-enter" }),
|
|
31
|
+
/* @__PURE__ */ e(I, { className: "media-icon media-icon--pip-exit" })
|
|
32
|
+
] }),
|
|
33
|
+
/* @__PURE__ */ e(c.Value, { className: "media-status-indicator__value" })
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ a(n.Root, { className: "media-seek-indicator", children: [
|
|
38
|
+
/* @__PURE__ */ e(_, { className: "media-icon media-icon--seek" }),
|
|
39
|
+
/* @__PURE__ */ e(n.Value, { className: "media-seek-indicator__value" })
|
|
40
|
+
] }),
|
|
41
|
+
/* @__PURE__ */ a(
|
|
42
|
+
c.Root,
|
|
43
|
+
{
|
|
44
|
+
actions: [...x],
|
|
45
|
+
className: o("media-status-indicator", "media-status-indicator--playback"),
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ e(f, { className: "media-icon media-icon--play" }),
|
|
48
|
+
/* @__PURE__ */ e(v, { className: "media-icon media-icon--pause" })
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] })
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
E as VideoInputIndicators
|
|
57
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSettingsMenu.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoSettingsMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"VideoSettingsMenu.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/gclick/src/components/VideoPlayer/subcomponents/skin/VideoSettingsMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAsD5E"}
|