@videojs/html 0.1.0-preview.8 → 0.1.0-preview.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{component-factory-DeAN6cjC.js → component-factory-C0cl1nrL.js} +30 -4
- package/dist/component-factory-C0cl1nrL.js.map +1 -0
- package/dist/{current-time-display-C3qndGf5.js → current-time-display-DpoDrQu9.js} +6 -7
- package/dist/current-time-display-DpoDrQu9.js.map +1 -0
- package/dist/define/index.js +17 -17
- package/dist/define/media-current-time-display.js +3 -3
- package/dist/define/media-duration-display.js +3 -3
- package/dist/define/media-fullscreen-button.js +3 -3
- package/dist/define/media-mute-button.js +3 -3
- package/dist/define/media-play-button.js +3 -3
- package/dist/define/media-preview-time-display.js +3 -3
- package/dist/define/media-time-slider.js +3 -3
- package/dist/define/media-volume-slider.js +3 -3
- package/dist/{duration-display-JOPp3bdU.js → duration-display-BFRQmaOz.js} +6 -7
- package/dist/duration-display-BFRQmaOz.js.map +1 -0
- package/dist/{fullscreen-button-C1nq8yP-.js → fullscreen-button-B0R9K3GV.js} +7 -8
- package/dist/fullscreen-button-B0R9K3GV.js.map +1 -0
- package/dist/index.d.ts +27 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/{media-current-time-display-B-4Cp845.js → media-current-time-display-DVCqNt7c.js} +2 -2
- package/dist/{media-current-time-display-B-4Cp845.js.map → media-current-time-display-DVCqNt7c.js.map} +1 -1
- package/dist/{media-duration-display-BLMr7VHo.js → media-duration-display-tzVLafRm.js} +2 -2
- package/dist/{media-duration-display-BLMr7VHo.js.map → media-duration-display-tzVLafRm.js.map} +1 -1
- package/dist/{media-fullscreen-button-CIpcLhtU.js → media-fullscreen-button-DDQ6EdLz.js} +2 -2
- package/dist/{media-fullscreen-button-CIpcLhtU.js.map → media-fullscreen-button-DDQ6EdLz.js.map} +1 -1
- package/dist/{media-mute-button-CHHISH91.js → media-mute-button-Uy18NpPx.js} +2 -2
- package/dist/{media-mute-button-CHHISH91.js.map → media-mute-button-Uy18NpPx.js.map} +1 -1
- package/dist/{media-play-button-DhSK0JQk.js → media-play-button-CDBZrhmx.js} +2 -2
- package/dist/{media-play-button-DhSK0JQk.js.map → media-play-button-CDBZrhmx.js.map} +1 -1
- package/dist/{media-preview-time-display-DAiMgLPX.js → media-preview-time-display-ufqXiNXg.js} +2 -2
- package/dist/{media-preview-time-display-DAiMgLPX.js.map → media-preview-time-display-ufqXiNXg.js.map} +1 -1
- package/dist/{media-time-slider-SuxR3Rep.js → media-time-slider-BOdJr4QE.js} +2 -2
- package/dist/{media-time-slider-SuxR3Rep.js.map → media-time-slider-BOdJr4QE.js.map} +1 -1
- package/dist/{media-volume-slider-B-n6b3Y8.js → media-volume-slider-BB6GhrzS.js} +2 -2
- package/dist/{media-volume-slider-B-n6b3Y8.js.map → media-volume-slider-BB6GhrzS.js.map} +1 -1
- package/dist/{mute-button-BSDoCZs3.js → mute-button-C7XQB6iK.js} +7 -8
- package/dist/mute-button-C7XQB6iK.js.map +1 -0
- package/dist/{play-button-gaqIKsrv.js → play-button-DFbxwrrq.js} +11 -8
- package/dist/play-button-DFbxwrrq.js.map +1 -0
- package/dist/{preview-time-display-Dax0FQ2X.js → preview-time-display-CtA58pCS.js} +6 -7
- package/dist/preview-time-display-CtA58pCS.js.map +1 -0
- package/dist/skins/frosted.js +17 -17
- package/dist/skins/minimal.js +17 -17
- package/dist/{time-slider-DKamO_2Q.js → time-slider-DHpKPCI1.js} +38 -75
- package/dist/time-slider-DHpKPCI1.js.map +1 -0
- package/dist/{volume-slider-CbFzCHX4.js → volume-slider-CUyfwehe.js} +36 -102
- package/dist/volume-slider-CUyfwehe.js.map +1 -0
- package/package.json +4 -4
- package/dist/component-factory-DeAN6cjC.js.map +0 -1
- package/dist/current-time-display-C3qndGf5.js.map +0 -1
- package/dist/duration-display-JOPp3bdU.js.map +0 -1
- package/dist/fullscreen-button-C1nq8yP-.js.map +0 -1
- package/dist/mute-button-BSDoCZs3.js.map +0 -1
- package/dist/play-button-gaqIKsrv.js.map +0 -1
- package/dist/preview-time-display-Dax0FQ2X.js.map +0 -1
- package/dist/time-slider-DKamO_2Q.js.map +0 -1
- package/dist/volume-slider-CbFzCHX4.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ConsumerMixin } from "@open-wc/context-protocol";
|
|
2
2
|
|
|
3
3
|
//#region src/utils/component-factory.ts
|
|
4
|
+
let currentCoreInstances = [];
|
|
5
|
+
let currentCoreIndex = 0;
|
|
4
6
|
/**
|
|
5
7
|
* Generic factory function to create connected HTML components using hooks pattern.
|
|
6
8
|
* Provides equivalent functionality to React's toConnectedComponent but for custom elements.
|
|
@@ -16,12 +18,23 @@ function toConnectedHTMLComponent(BaseClass, stateHook, propsHook, displayName)
|
|
|
16
18
|
const ConnectedComponent = class extends ConsumerMixin(BaseClass) {
|
|
17
19
|
constructor(..._args) {
|
|
18
20
|
super(..._args);
|
|
21
|
+
this._coreInstances = [];
|
|
19
22
|
this.contexts = { mediaStore: (mediaStore) => {
|
|
20
23
|
this._mediaStore = mediaStore;
|
|
21
|
-
this._mediaStore.
|
|
22
|
-
|
|
24
|
+
this._mediaStore.subscribe(() => {
|
|
25
|
+
currentCoreIndex = 0;
|
|
26
|
+
currentCoreInstances = this._coreInstances;
|
|
27
|
+
const state = stateHook?.(mediaStore) ?? mediaStore.getState();
|
|
23
28
|
const props = propsHook(state ?? {}, this);
|
|
24
29
|
this._update(props, state, mediaStore);
|
|
30
|
+
for (const instance of currentCoreInstances) if (!instance.listening) {
|
|
31
|
+
instance.listening = true;
|
|
32
|
+
instance.core.subscribe(() => {
|
|
33
|
+
const state$1 = instance.core.getState();
|
|
34
|
+
const props$1 = propsHook(state$1 ?? {}, this);
|
|
35
|
+
this._update(props$1, state$1, mediaStore);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
25
38
|
});
|
|
26
39
|
} };
|
|
27
40
|
}
|
|
@@ -41,7 +54,20 @@ function toConnectedHTMLComponent(BaseClass, stateHook, propsHook, displayName)
|
|
|
41
54
|
if (displayName) Object.defineProperty(ConnectedComponent, "name", { value: displayName });
|
|
42
55
|
return ConnectedComponent;
|
|
43
56
|
}
|
|
57
|
+
function getCoreState(CoreClass, state) {
|
|
58
|
+
let core = currentCoreInstances[currentCoreIndex]?.core;
|
|
59
|
+
if (!core) {
|
|
60
|
+
core = new CoreClass();
|
|
61
|
+
currentCoreInstances[currentCoreIndex] = {
|
|
62
|
+
core,
|
|
63
|
+
listening: false
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
currentCoreIndex++;
|
|
67
|
+
core.setState(state);
|
|
68
|
+
return core.getState();
|
|
69
|
+
}
|
|
44
70
|
|
|
45
71
|
//#endregion
|
|
46
|
-
export { toConnectedHTMLComponent as t };
|
|
47
|
-
//# sourceMappingURL=component-factory-
|
|
72
|
+
export { toConnectedHTMLComponent as n, getCoreState as t };
|
|
73
|
+
//# sourceMappingURL=component-factory-C0cl1nrL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-factory-C0cl1nrL.js","names":["currentCoreInstances: any[]","currentCoreIndex: number","state","props"],"sources":["../src/utils/component-factory.ts"],"sourcesContent":["import type { MediaStore } from '@videojs/core/store';\nimport { ConsumerMixin } from '@open-wc/context-protocol';\n\n/**\n * Generic types for HTML component hooks pattern\n * Mirrors the React hooks architecture for consistency\n */\nexport type StateHook<T = any> = (mediaStore: MediaStore) => T;\n\nexport type PropsHook<T = any, P = any> = (state: T, element: HTMLElement) => P;\n\nexport interface ConnectedComponentConstructor<State> {\n new (state: State): HTMLElement;\n}\n\nlet currentCoreInstances: any[] = [];\n// There might be multiple getCoreState calls in a single state hook\n// which should create a different core instance.\nlet currentCoreIndex: number = 0;\n\n/**\n * Generic factory function to create connected HTML components using hooks pattern.\n * Provides equivalent functionality to React's toConnectedComponent but for custom elements.\n *\n * @param BaseClass - Base custom element class to extend\n * @param stateHook - Hook that defines state keys and transformation logic\n * @param propsHook - Hook that handles element attributes and properties based on state\n * @param eventsHook - Hook that defines event handling logic\n * @param displayName - Display name for debugging\n * @returns Connected custom element class with media store integration\n */\nexport function toConnectedHTMLComponent<State = any>(\n BaseClass: CustomElementConstructor,\n stateHook: StateHook<State> | undefined,\n propsHook: PropsHook<State>,\n displayName?: string,\n): ConnectedComponentConstructor<State> {\n const ConnectedComponent = class extends ConsumerMixin(BaseClass) {\n static get observedAttributes(): string[] {\n return [\n // @ts-expect-error ts(2339)\n ...(super.observedAttributes ?? []),\n ];\n }\n\n _mediaStore: any;\n _coreInstances = [];\n\n contexts = {\n mediaStore: (mediaStore: any) => {\n this._mediaStore = mediaStore;\n\n // Subscribe to media store state changes\n // Split into two phases: state transformation, then props update\n this._mediaStore.subscribe(() => {\n currentCoreIndex = 0;\n currentCoreInstances = this._coreInstances;\n\n // Phase 1: Transform raw media store state (state concern)\n const state = stateHook?.(mediaStore) ?? mediaStore.getState();\n // Phase 2: Update element attributes/properties (props concern)\n const props = propsHook(state ?? {} as State, this);\n\n // @ts-expect-error any\n this._update(props, state, mediaStore);\n\n for (const instance of currentCoreInstances) {\n if (!instance.listening) {\n instance.listening = true;\n instance.core.subscribe(() => {\n const state = instance.core.getState();\n const props = propsHook(state ?? {} as State, this);\n // @ts-expect-error any\n this._update(props, state, mediaStore);\n });\n }\n }\n });\n },\n };\n\n connectedCallback(): void {\n super.connectedCallback?.();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback?.();\n }\n\n handleEvent(event: CustomEvent): void {\n // @ts-expect-error any\n super.handleEvent?.(event);\n }\n };\n\n // Set display name for debugging and dev tools\n if (displayName) {\n Object.defineProperty(ConnectedComponent, 'name', { value: displayName });\n }\n\n return ConnectedComponent;\n}\n\nexport function getCoreState<T extends {\n subscribe: (callback: (state: any) => void) => () => void;\n getState: () => any;\n setState: (state: any) => void;\n}>(CoreClass: new () => T, state: any): any {\n let core = currentCoreInstances[currentCoreIndex]?.core as T;\n if (!core) {\n core = new CoreClass();\n currentCoreInstances[currentCoreIndex] = { core, listening: false };\n }\n\n currentCoreIndex++;\n\n core.setState(state);\n return core.getState();\n}\n"],"mappings":";;;AAeA,IAAIA,uBAA8B,EAAE;AAGpC,IAAIC,mBAA2B;;;;;;;;;;;;AAa/B,SAAgB,yBACd,WACA,WACA,WACA,aACsC;CACtC,MAAM,qBAAqB,cAAc,cAAc,UAAU,CAAC;;;yBAS/C,EAAE;mBAER,EACT,aAAa,eAAoB;AAC/B,SAAK,cAAc;AAInB,SAAK,YAAY,gBAAgB;AAC/B,wBAAmB;AACnB,4BAAuB,KAAK;KAG5B,MAAM,QAAQ,YAAY,WAAW,IAAI,WAAW,UAAU;KAE9D,MAAM,QAAQ,UAAU,SAAS,EAAE,EAAW,KAAK;AAGnD,UAAK,QAAQ,OAAO,OAAO,WAAW;AAEtC,UAAK,MAAM,YAAY,qBACrB,KAAI,CAAC,SAAS,WAAW;AACvB,eAAS,YAAY;AACrB,eAAS,KAAK,gBAAgB;OAC5B,MAAMC,UAAQ,SAAS,KAAK,UAAU;OACtC,MAAMC,UAAQ,UAAUD,WAAS,EAAE,EAAW,KAAK;AAEnD,YAAK,QAAQC,SAAOD,SAAO,WAAW;QACtC;;MAGN;MAEL;;EAzCD,WAAW,qBAA+B;AACxC,UAAO,CAEL,GAAI,MAAM,sBAAsB,EAAE,CACnC;;EAuCH,oBAA0B;AACxB,SAAM,qBAAqB;;EAG7B,uBAA6B;AAC3B,SAAM,wBAAwB;;EAGhC,YAAY,OAA0B;AAEpC,SAAM,cAAc,MAAM;;;AAK9B,KAAI,YACF,QAAO,eAAe,oBAAoB,QAAQ,EAAE,OAAO,aAAa,CAAC;AAG3E,QAAO;;AAGT,SAAgB,aAIb,WAAwB,OAAiB;CAC1C,IAAI,OAAO,qBAAqB,mBAAmB;AACnD,KAAI,CAAC,MAAM;AACT,SAAO,IAAI,WAAW;AACtB,uBAAqB,oBAAoB;GAAE;GAAM,WAAW;GAAO;;AAGrE;AAEA,MAAK,SAAS,MAAM;AACpB,QAAO,KAAK,UAAU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as toConnectedHTMLComponent } from "./component-factory-C0cl1nrL.js";
|
|
2
2
|
import { currentTimeDisplayStateDefinition } from "@videojs/core/store";
|
|
3
3
|
import { formatDisplayTime } from "@videojs/utils";
|
|
4
4
|
|
|
@@ -33,15 +33,14 @@ var CurrentTimeDisplay = class extends HTMLElement {
|
|
|
33
33
|
if (this.shadowRoot) this.shadowRoot.textContent = timeLabel;
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
36
|
+
function getCurrentTimeDisplayState(mediaStore) {
|
|
37
|
+
return { ...currentTimeDisplayStateDefinition.stateTransform(mediaStore.getState()) };
|
|
38
|
+
}
|
|
40
39
|
const getCurrentTimeDisplayProps = (_state, _element) => {
|
|
41
40
|
return {};
|
|
42
41
|
};
|
|
43
|
-
const CurrentTimeDisplayElement = toConnectedHTMLComponent(CurrentTimeDisplay,
|
|
42
|
+
const CurrentTimeDisplayElement = toConnectedHTMLComponent(CurrentTimeDisplay, getCurrentTimeDisplayState, getCurrentTimeDisplayProps, "CurrentTimeDisplay");
|
|
44
43
|
|
|
45
44
|
//#endregion
|
|
46
45
|
export { CurrentTimeDisplayElement as t };
|
|
47
|
-
//# sourceMappingURL=current-time-display-
|
|
46
|
+
//# sourceMappingURL=current-time-display-DpoDrQu9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-time-display-DpoDrQu9.js","names":["getCurrentTimeDisplayProps: PropsHook<{\n currentTime: number | undefined;\n duration: number | undefined;\n}>","CurrentTimeDisplayElement: ConnectedComponentConstructor<CurrentTimeDisplayState>"],"sources":["../src/elements/current-time-display.ts"],"sourcesContent":["import type { CurrentTimeDisplayState, MediaStore } from '@videojs/core/store';\nimport type { ConnectedComponentConstructor, PropsHook } from '../utils/component-factory';\n\nimport { currentTimeDisplayStateDefinition } from '@videojs/core/store';\n\nimport { formatDisplayTime } from '@videojs/utils';\nimport { toConnectedHTMLComponent } from '../utils/component-factory';\n\nexport class CurrentTimeDisplay extends HTMLElement {\n static shadowRootOptions = {\n mode: 'open' as ShadowRootMode,\n };\n\n static observedAttributes: string[] = ['show-remaining'];\n\n _state:\n | {\n currentTime: number | undefined;\n duration: number | undefined;\n }\n | undefined;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof CurrentTimeDisplay).shadowRootOptions);\n }\n }\n\n get currentTime(): number {\n return this._state?.currentTime ?? 0;\n }\n\n get duration(): number {\n return this._state?.duration ?? 0;\n }\n\n get showRemaining(): boolean {\n return this.hasAttribute('show-remaining');\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, _newValue: string | null): void {\n if (name === 'show-remaining' && this._state) {\n // Re-render with current state when show-remaining attribute changes\n this._update({}, this._state);\n }\n }\n\n _update(_props: any, state: any): void {\n this._state = state;\n\n /** @TODO Should this live here or elsewhere? (CJP) */\n const timeLabel\n = this.showRemaining && state.duration != null && state.currentTime != null\n ? formatDisplayTime(-(state.duration - state.currentTime))\n : formatDisplayTime(state.currentTime);\n\n if (this.shadowRoot) {\n this.shadowRoot.textContent = timeLabel;\n }\n }\n}\n\nexport function getCurrentTimeDisplayState(mediaStore: MediaStore): {\n currentTime: number | undefined;\n duration: number | undefined;\n} {\n return {\n ...currentTimeDisplayStateDefinition.stateTransform(mediaStore.getState()),\n // Current time display is read-only, so no request methods needed\n };\n}\n\nexport const getCurrentTimeDisplayProps: PropsHook<{\n currentTime: number | undefined;\n duration: number | undefined;\n}> = (_state, _element) => {\n const baseProps: Record<string, any> = {};\n return baseProps;\n};\n\nexport const CurrentTimeDisplayElement: ConnectedComponentConstructor<CurrentTimeDisplayState> = toConnectedHTMLComponent(\n CurrentTimeDisplay,\n getCurrentTimeDisplayState,\n getCurrentTimeDisplayProps,\n 'CurrentTimeDisplay',\n);\n"],"mappings":";;;;;AAQA,IAAa,qBAAb,cAAwC,YAAY;;2BACvB,EACzB,MAAM,QACP;;;4BAEqC,CAAC,iBAAiB;;CASxD,cAAc;AACZ,SAAO;AAEP,MAAI,CAAC,KAAK,WACR,MAAK,aAAc,KAAK,YAA0C,kBAAkB;;CAIxF,IAAI,cAAsB;AACxB,SAAO,KAAK,QAAQ,eAAe;;CAGrC,IAAI,WAAmB;AACrB,SAAO,KAAK,QAAQ,YAAY;;CAGlC,IAAI,gBAAyB;AAC3B,SAAO,KAAK,aAAa,iBAAiB;;CAG5C,yBAAyB,MAAc,WAA0B,WAAgC;AAC/F,MAAI,SAAS,oBAAoB,KAAK,OAEpC,MAAK,QAAQ,EAAE,EAAE,KAAK,OAAO;;CAIjC,QAAQ,QAAa,OAAkB;AACrC,OAAK,SAAS;;EAGd,MAAM,YACF,KAAK,iBAAiB,MAAM,YAAY,QAAQ,MAAM,eAAe,OACnE,kBAAkB,EAAE,MAAM,WAAW,MAAM,aAAa,GACxD,kBAAkB,MAAM,YAAY;AAE1C,MAAI,KAAK,WACP,MAAK,WAAW,cAAc;;;AAKpC,SAAgB,2BAA2B,YAGzC;AACA,QAAO,EACL,GAAG,kCAAkC,eAAe,WAAW,UAAU,CAAC,EAE3E;;AAGH,MAAaA,8BAGP,QAAQ,aAAa;AAEzB,QADuC,EAAE;;AAI3C,MAAaC,4BAAoF,yBAC/F,oBACA,4BACA,4BACA,qBACD"}
|
package/dist/define/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../current-time-display-
|
|
3
|
-
import "../duration-display-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../current-time-display-DpoDrQu9.js";
|
|
3
|
+
import "../duration-display-BFRQmaOz.js";
|
|
4
4
|
import "../button-Bu1mGG-F.js";
|
|
5
|
-
import "../fullscreen-button-
|
|
6
|
-
import "../mute-button-
|
|
7
|
-
import "../play-button-
|
|
5
|
+
import "../fullscreen-button-B0R9K3GV.js";
|
|
6
|
+
import "../mute-button-C7XQB6iK.js";
|
|
7
|
+
import "../play-button-DFbxwrrq.js";
|
|
8
8
|
import "../popover-BUCVOjnO.js";
|
|
9
|
-
import "../preview-time-display-
|
|
10
|
-
import "../time-slider-
|
|
9
|
+
import "../preview-time-display-CtA58pCS.js";
|
|
10
|
+
import "../time-slider-DHpKPCI1.js";
|
|
11
11
|
import "../tooltip-B-glki2f.js";
|
|
12
|
-
import "../volume-slider-
|
|
12
|
+
import "../volume-slider-CUyfwehe.js";
|
|
13
13
|
import "../media-container-BOL0PKuG.js";
|
|
14
14
|
import "../video-provider-BKDqoKFf.js";
|
|
15
15
|
import "../custom-element-3bDlB2XO.js";
|
|
16
16
|
import "../video-provider-BPPI5e47.js";
|
|
17
17
|
import "../media-container-DwKSOa1h.js";
|
|
18
|
-
import "../media-play-button-
|
|
19
|
-
import "../media-mute-button-
|
|
20
|
-
import "../media-volume-slider-
|
|
21
|
-
import "../media-time-slider-
|
|
22
|
-
import "../media-fullscreen-button-
|
|
23
|
-
import "../media-duration-display-
|
|
24
|
-
import "../media-current-time-display-
|
|
25
|
-
import "../media-preview-time-display-
|
|
18
|
+
import "../media-play-button-CDBZrhmx.js";
|
|
19
|
+
import "../media-mute-button-Uy18NpPx.js";
|
|
20
|
+
import "../media-volume-slider-BB6GhrzS.js";
|
|
21
|
+
import "../media-time-slider-BOdJr4QE.js";
|
|
22
|
+
import "../media-fullscreen-button-DDQ6EdLz.js";
|
|
23
|
+
import "../media-duration-display-tzVLafRm.js";
|
|
24
|
+
import "../media-current-time-display-DVCqNt7c.js";
|
|
25
|
+
import "../media-preview-time-display-ufqXiNXg.js";
|
|
26
26
|
import "../media-popover-Cw9d_Bh3.js";
|
|
27
27
|
import "../media-tooltip-CMRN_X4D.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../current-time-display-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../current-time-display-DpoDrQu9.js";
|
|
3
3
|
import "../custom-element-3bDlB2XO.js";
|
|
4
|
-
import "../media-current-time-display-
|
|
4
|
+
import "../media-current-time-display-DVCqNt7c.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../duration-display-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../duration-display-BFRQmaOz.js";
|
|
3
3
|
import "../custom-element-3bDlB2XO.js";
|
|
4
|
-
import "../media-duration-display-
|
|
4
|
+
import "../media-duration-display-tzVLafRm.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../component-factory-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
2
|
import "../button-Bu1mGG-F.js";
|
|
3
|
-
import "../fullscreen-button-
|
|
3
|
+
import "../fullscreen-button-B0R9K3GV.js";
|
|
4
4
|
import "../custom-element-3bDlB2XO.js";
|
|
5
|
-
import "../media-fullscreen-button-
|
|
5
|
+
import "../media-fullscreen-button-DDQ6EdLz.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../component-factory-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
2
|
import "../button-Bu1mGG-F.js";
|
|
3
|
-
import "../mute-button-
|
|
3
|
+
import "../mute-button-C7XQB6iK.js";
|
|
4
4
|
import "../custom-element-3bDlB2XO.js";
|
|
5
|
-
import "../media-mute-button-
|
|
5
|
+
import "../media-mute-button-Uy18NpPx.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../component-factory-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
2
|
import "../button-Bu1mGG-F.js";
|
|
3
|
-
import "../play-button-
|
|
3
|
+
import "../play-button-DFbxwrrq.js";
|
|
4
4
|
import "../custom-element-3bDlB2XO.js";
|
|
5
|
-
import "../media-play-button-
|
|
5
|
+
import "../media-play-button-CDBZrhmx.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../preview-time-display-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../preview-time-display-CtA58pCS.js";
|
|
3
3
|
import "../custom-element-3bDlB2XO.js";
|
|
4
|
-
import "../media-preview-time-display-
|
|
4
|
+
import "../media-preview-time-display-ufqXiNXg.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../time-slider-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../time-slider-DHpKPCI1.js";
|
|
3
3
|
import "../custom-element-3bDlB2XO.js";
|
|
4
|
-
import "../media-time-slider-
|
|
4
|
+
import "../media-time-slider-BOdJr4QE.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../component-factory-
|
|
2
|
-
import "../volume-slider-
|
|
1
|
+
import "../component-factory-C0cl1nrL.js";
|
|
2
|
+
import "../volume-slider-CUyfwehe.js";
|
|
3
3
|
import "../custom-element-3bDlB2XO.js";
|
|
4
|
-
import "../media-volume-slider-
|
|
4
|
+
import "../media-volume-slider-BB6GhrzS.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as toConnectedHTMLComponent } from "./component-factory-C0cl1nrL.js";
|
|
2
2
|
import { durationDisplayStateDefinition } from "@videojs/core/store";
|
|
3
3
|
import { formatDisplayTime } from "@videojs/utils";
|
|
4
4
|
import { namedNodeMapToObject } from "@videojs/utils/dom";
|
|
@@ -35,15 +35,14 @@ var DurationDisplay = class extends HTMLElement {
|
|
|
35
35
|
if (spanElement) spanElement.textContent = formatDisplayTime(state.duration);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
38
|
+
function getDurationDisplayState(mediaStore) {
|
|
39
|
+
return { ...durationDisplayStateDefinition.stateTransform(mediaStore.getState()) };
|
|
40
|
+
}
|
|
42
41
|
const getDurationDisplayProps = (_state, _element) => {
|
|
43
42
|
return {};
|
|
44
43
|
};
|
|
45
|
-
const DurationDisplayElement = toConnectedHTMLComponent(DurationDisplay,
|
|
44
|
+
const DurationDisplayElement = toConnectedHTMLComponent(DurationDisplay, getDurationDisplayState, getDurationDisplayProps, "DurationDisplay");
|
|
46
45
|
|
|
47
46
|
//#endregion
|
|
48
47
|
export { DurationDisplayElement as t };
|
|
49
|
-
//# sourceMappingURL=duration-display-
|
|
48
|
+
//# sourceMappingURL=duration-display-BFRQmaOz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration-display-BFRQmaOz.js","names":["getDurationDisplayProps: PropsHook<{\n duration: number | undefined;\n}>","DurationDisplayElement: ConnectedComponentConstructor<DurationDisplayState>"],"sources":["../src/elements/duration-display.ts"],"sourcesContent":["import type { DurationDisplayState, MediaStore } from '@videojs/core/store';\nimport type { ConnectedComponentConstructor, PropsHook } from '../utils/component-factory';\n\nimport { durationDisplayStateDefinition } from '@videojs/core/store';\n\nimport { formatDisplayTime } from '@videojs/utils';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\nimport { toConnectedHTMLComponent } from '../utils/component-factory';\n\nexport function getTemplateHTML(\n this: typeof DurationDisplay,\n _attrs: Record<string, string>,\n _props: Record<string, any> = {},\n) {\n return /* html */ `\n <span></span>\n `;\n}\n\nexport class DurationDisplay extends HTMLElement {\n static shadowRootOptions = {\n mode: 'open' as ShadowRootMode,\n };\n\n static getTemplateHTML: typeof getTemplateHTML = getTemplateHTML;\n\n _state:\n | {\n duration: number | undefined;\n }\n | undefined;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof DurationDisplay).shadowRootOptions);\n\n const attrs = namedNodeMapToObject(this.attributes);\n const html = (this.constructor as typeof DurationDisplay).getTemplateHTML(attrs);\n const shadowRoot = this.shadowRoot as unknown as ShadowRoot;\n shadowRoot.setHTMLUnsafe ? shadowRoot.setHTMLUnsafe(html) : (shadowRoot.innerHTML = html);\n }\n }\n\n get duration(): number {\n return this._state?.duration ?? 0;\n }\n\n _update(_props: any, state: any): void {\n this._state = state;\n\n // Update the span content with formatted duration\n const spanElement = this.shadowRoot?.querySelector('span') as HTMLElement;\n if (spanElement) {\n spanElement.textContent = formatDisplayTime(state.duration);\n }\n }\n}\n\nexport function getDurationDisplayState(mediaStore: MediaStore): {\n duration: number | undefined;\n} {\n return {\n ...durationDisplayStateDefinition.stateTransform(mediaStore.getState()),\n // Duration display is read-only, so no request methods needed\n };\n}\n\nexport const getDurationDisplayProps: PropsHook<{\n duration: number | undefined;\n}> = (_state, _element) => {\n const baseProps: Record<string, any> = {};\n return baseProps;\n};\n\nexport const DurationDisplayElement: ConnectedComponentConstructor<DurationDisplayState> = toConnectedHTMLComponent(\n DurationDisplay,\n getDurationDisplayState,\n getDurationDisplayProps,\n 'DurationDisplay',\n);\n"],"mappings":";;;;;;AASA,SAAgB,gBAEd,QACA,SAA8B,EAAE,EAChC;AACA,QAAkB;;;;AAKpB,IAAa,kBAAb,cAAqC,YAAY;;2BACpB,EACzB,MAAM,QACP;;;yBAEgD;;CAQjD,cAAc;AACZ,SAAO;AAEP,MAAI,CAAC,KAAK,YAAY;AACpB,QAAK,aAAc,KAAK,YAAuC,kBAAkB;GAEjF,MAAM,QAAQ,qBAAqB,KAAK,WAAW;GACnD,MAAM,OAAQ,KAAK,YAAuC,gBAAgB,MAAM;GAChF,MAAM,aAAa,KAAK;AACxB,cAAW,gBAAgB,WAAW,cAAc,KAAK,GAAI,WAAW,YAAY;;;CAIxF,IAAI,WAAmB;AACrB,SAAO,KAAK,QAAQ,YAAY;;CAGlC,QAAQ,QAAa,OAAkB;AACrC,OAAK,SAAS;EAGd,MAAM,cAAc,KAAK,YAAY,cAAc,OAAO;AAC1D,MAAI,YACF,aAAY,cAAc,kBAAkB,MAAM,SAAS;;;AAKjE,SAAgB,wBAAwB,YAEtC;AACA,QAAO,EACL,GAAG,+BAA+B,eAAe,WAAW,UAAU,CAAC,EAExE;;AAGH,MAAaA,2BAEP,QAAQ,aAAa;AAEzB,QADuC,EAAE;;AAI3C,MAAaC,yBAA8E,yBACzF,iBACA,yBACA,yBACA,kBACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as toConnectedHTMLComponent } from "./component-factory-C0cl1nrL.js";
|
|
2
2
|
import { t as ButtonElement } from "./button-Bu1mGG-F.js";
|
|
3
3
|
import { fullscreenButtonStateDefinition } from "@videojs/core/store";
|
|
4
4
|
import { setAttributes } from "@videojs/utils/dom";
|
|
@@ -25,13 +25,12 @@ var FullscreenButton = class extends ButtonElement {
|
|
|
25
25
|
* FullscreenButton state hook - equivalent to React's useFullscreenButtonState
|
|
26
26
|
* Handles media store state subscription and transformation
|
|
27
27
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
...fullscreenButtonStateDefinition.stateTransform(rawState),
|
|
28
|
+
function getFullscreenButtonState(mediaStore) {
|
|
29
|
+
return {
|
|
30
|
+
...fullscreenButtonStateDefinition.stateTransform(mediaStore.getState()),
|
|
32
31
|
...fullscreenButtonStateDefinition.createRequestMethods(mediaStore.dispatch)
|
|
33
|
-
}
|
|
34
|
-
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
35
34
|
const getFullscreenButtonProps = (state, _element) => {
|
|
36
35
|
return {
|
|
37
36
|
"data-fullscreen": state.fullscreen,
|
|
@@ -45,4 +44,4 @@ const FullscreenButtonElement = toConnectedHTMLComponent(FullscreenButton, getFu
|
|
|
45
44
|
|
|
46
45
|
//#endregion
|
|
47
46
|
export { FullscreenButtonElement as t };
|
|
48
|
-
//# sourceMappingURL=fullscreen-button-
|
|
47
|
+
//# sourceMappingURL=fullscreen-button-B0R9K3GV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen-button-B0R9K3GV.js","names":["getFullscreenButtonProps: PropsHook<{ fullscreen: boolean }>","FullscreenButtonElement: ConnectedComponentConstructor<FullscreenButtonStateWithMethods>"],"sources":["../src/elements/fullscreen-button.ts"],"sourcesContent":["import type { FullscreenButtonState, MediaStore } from '@videojs/core/store';\nimport type { Prettify } from '../types';\nimport type { ConnectedComponentConstructor, PropsHook } from '../utils/component-factory';\n\nimport { fullscreenButtonStateDefinition } from '@videojs/core/store';\n\nimport { setAttributes } from '@videojs/utils/dom';\nimport { toConnectedHTMLComponent } from '../utils/component-factory';\nimport { ButtonElement } from './button';\n\nexport class FullscreenButton extends ButtonElement {\n _state:\n | {\n fullscreen: boolean;\n requestEnterFullscreen: () => void;\n requestExitFullscreen: () => void;\n }\n | undefined;\n\n handleEvent(event: Event): void {\n super.handleEvent(event);\n\n const { type } = event;\n const state = this._state;\n if (state && type === 'click') {\n if (state.fullscreen) {\n state.requestExitFullscreen();\n } else {\n state.requestEnterFullscreen();\n }\n }\n }\n\n get fullscreen(): boolean {\n return this._state?.fullscreen ?? false;\n }\n\n _update(props: any, state: any, _mediaStore?: any): void {\n this._state = state;\n /** @TODO Follow up with React vs. W.C. data-* attributes discrepancies (CJP) */\n setAttributes(this, props);\n }\n}\n\ntype FullscreenButtonStateWithMethods = Prettify<FullscreenButtonState & ReturnType<typeof fullscreenButtonStateDefinition.createRequestMethods>>;\n\n/**\n * FullscreenButton state hook - equivalent to React's useFullscreenButtonState\n * Handles media store state subscription and transformation\n */\nexport function getFullscreenButtonState(mediaStore: MediaStore): FullscreenButtonStateWithMethods {\n return {\n ...fullscreenButtonStateDefinition.stateTransform(mediaStore.getState()),\n ...fullscreenButtonStateDefinition.createRequestMethods(mediaStore.dispatch),\n };\n}\n\nexport const getFullscreenButtonProps: PropsHook<{ fullscreen: boolean }> = (state, _element) => {\n const baseProps: Record<string, any> = {\n /** data attributes/props */\n 'data-fullscreen': state.fullscreen,\n /** @TODO Need another state provider in core for i18n (CJP) */\n /** aria attributes/props */\n role: 'button',\n tabindex: '0',\n 'aria-label': state.fullscreen ? 'exit fullscreen' : 'enter fullscreen',\n /** tooltip */\n 'data-tooltip': state.fullscreen ? 'Exit Fullscreen' : 'Enter Fullscreen',\n /** @TODO Figure out how we want to handle attr overrides (e.g. aria-label) (CJP) */\n /** external props spread last to allow for overriding */\n // ...props,\n };\n\n return baseProps;\n};\n\nexport const FullscreenButtonElement: ConnectedComponentConstructor<FullscreenButtonStateWithMethods> = toConnectedHTMLComponent(\n FullscreenButton,\n getFullscreenButtonState,\n getFullscreenButtonProps,\n 'FullscreenButton',\n);\n"],"mappings":";;;;;;AAUA,IAAa,mBAAb,cAAsC,cAAc;CASlD,YAAY,OAAoB;AAC9B,QAAM,YAAY,MAAM;EAExB,MAAM,EAAE,SAAS;EACjB,MAAM,QAAQ,KAAK;AACnB,MAAI,SAAS,SAAS,QACpB,KAAI,MAAM,WACR,OAAM,uBAAuB;MAE7B,OAAM,wBAAwB;;CAKpC,IAAI,aAAsB;AACxB,SAAO,KAAK,QAAQ,cAAc;;CAGpC,QAAQ,OAAY,OAAY,aAAyB;AACvD,OAAK,SAAS;;AAEd,gBAAc,MAAM,MAAM;;;;;;;AAU9B,SAAgB,yBAAyB,YAA0D;AACjG,QAAO;EACL,GAAG,gCAAgC,eAAe,WAAW,UAAU,CAAC;EACxE,GAAG,gCAAgC,qBAAqB,WAAW,SAAS;EAC7E;;AAGH,MAAaA,4BAAgE,OAAO,aAAa;AAgB/F,QAfuC;EAErC,mBAAmB,MAAM;EAGzB,MAAM;EACN,UAAU;EACV,cAAc,MAAM,aAAa,oBAAoB;EAErD,gBAAgB,MAAM,aAAa,oBAAoB;EAIxD;;AAKH,MAAaC,0BAA2F,yBACtG,kBACA,0BACA,0BACA,mBACD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as MediaSkinElement } from "./media-skin-Di3vSHvS.js";
|
|
2
|
-
import { CurrentTimeDisplayState, DurationDisplayState, FullscreenButtonState, MediaStore, MuteButtonState, PlayButtonState, PreviewTimeDisplayState } from "@videojs/core/store";
|
|
2
|
+
import { CurrentTimeDisplayState, DurationDisplayState, FullscreenButtonState, MediaStore, MuteButtonState, PlayButtonState, PreviewTimeDisplayState, fullscreenButtonStateDefinition, muteButtonStateDefinition, playButtonStateDefinition } from "@videojs/core/store";
|
|
3
3
|
import { Constructor, CustomElement } from "@open-wc/context-protocol";
|
|
4
4
|
import { TimeSlider, VolumeSlider } from "@videojs/core";
|
|
5
5
|
|
|
@@ -17,16 +17,34 @@ declare const CurrentTimeDisplayElement: ConnectedComponentConstructor<CurrentTi
|
|
|
17
17
|
|
|
18
18
|
declare const DurationDisplayElement: ConnectedComponentConstructor<DurationDisplayState>;
|
|
19
19
|
//#endregion
|
|
20
|
+
//#region src/types.d.ts
|
|
21
|
+
declare module '*.css' {
|
|
22
|
+
const content: string;
|
|
23
|
+
export default content;
|
|
24
|
+
}
|
|
25
|
+
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
26
|
+
//#endregion
|
|
20
27
|
//#region src/elements/fullscreen-button.d.ts
|
|
28
|
+
type FullscreenButtonStateWithMethods = Prettify<FullscreenButtonState & ReturnType<typeof fullscreenButtonStateDefinition.createRequestMethods>>;
|
|
29
|
+
/**
|
|
30
|
+
* FullscreenButton state hook - equivalent to React's useFullscreenButtonState
|
|
31
|
+
* Handles media store state subscription and transformation
|
|
32
|
+
*/
|
|
21
33
|
|
|
22
|
-
declare const FullscreenButtonElement: ConnectedComponentConstructor<
|
|
34
|
+
declare const FullscreenButtonElement: ConnectedComponentConstructor<FullscreenButtonStateWithMethods>;
|
|
23
35
|
//#endregion
|
|
24
36
|
//#region src/elements/mute-button.d.ts
|
|
25
|
-
|
|
26
|
-
declare const MuteButtonElement: ConnectedComponentConstructor<
|
|
37
|
+
type MuteButtonStateWithMethods = Prettify<MuteButtonState & ReturnType<typeof muteButtonStateDefinition.createRequestMethods>>;
|
|
38
|
+
declare const MuteButtonElement: ConnectedComponentConstructor<MuteButtonStateWithMethods>;
|
|
27
39
|
//#endregion
|
|
28
40
|
//#region src/elements/play-button.d.ts
|
|
29
|
-
|
|
41
|
+
type PlayButtonStateWithMethods = Prettify<PlayButtonState & ReturnType<typeof playButtonStateDefinition.createRequestMethods>>;
|
|
42
|
+
/**
|
|
43
|
+
* PlayButton state hook - equivalent to React's usePlayButtonState
|
|
44
|
+
* Handles media store state subscription and transformation
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
declare const PlayButtonElement: ConnectedComponentConstructor<PlayButtonStateWithMethods>;
|
|
30
48
|
//#endregion
|
|
31
49
|
//#region src/elements/popover.d.ts
|
|
32
50
|
type Placement$1 = "top" | "top-start" | "top-end";
|
|
@@ -48,13 +66,8 @@ declare class PopoverElement extends HTMLElement {
|
|
|
48
66
|
declare const PreviewTimeDisplayElement: ConnectedComponentConstructor<PreviewTimeDisplayState>;
|
|
49
67
|
//#endregion
|
|
50
68
|
//#region src/elements/time-slider.d.ts
|
|
51
|
-
|
|
52
|
-
declare const TimeSliderRootElement: ConnectedComponentConstructor<
|
|
53
|
-
currentTime: number;
|
|
54
|
-
duration: number;
|
|
55
|
-
requestSeek: (time: number) => void;
|
|
56
|
-
core: TimeSlider | null;
|
|
57
|
-
}>;
|
|
69
|
+
type TimeSliderState = Prettify<ReturnType<TimeSlider["getState"]>>;
|
|
70
|
+
declare const TimeSliderRootElement: ConnectedComponentConstructor<TimeSliderState>;
|
|
58
71
|
declare const TimeSliderTrackElement: ConnectedComponentConstructor<any>;
|
|
59
72
|
declare const TimeSliderProgressElement: ConnectedComponentConstructor<any>;
|
|
60
73
|
declare const TimeSliderPointerElement: ConnectedComponentConstructor<any>;
|
|
@@ -86,32 +99,11 @@ declare class TooltipElement extends HTMLElement {
|
|
|
86
99
|
}
|
|
87
100
|
//#endregion
|
|
88
101
|
//#region src/elements/volume-slider.d.ts
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* Connected VolumeSlider Root component using hook-style architecture
|
|
92
|
-
*/
|
|
93
|
-
declare const VolumeSliderRootElement: ConnectedComponentConstructor<{
|
|
94
|
-
volume: number;
|
|
95
|
-
muted: boolean;
|
|
96
|
-
volumeLevel: string;
|
|
97
|
-
requestVolumeChange: (volume: number) => void;
|
|
98
|
-
core: VolumeSlider | null;
|
|
99
|
-
}>;
|
|
100
|
-
/**
|
|
101
|
-
* Connected VolumeSlider Track component
|
|
102
|
-
*/
|
|
102
|
+
type VolumeSliderState = Prettify<ReturnType<VolumeSlider["getState"]>>;
|
|
103
|
+
declare const VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>;
|
|
103
104
|
declare const VolumeSliderTrackElement: ConnectedComponentConstructor<any>;
|
|
104
|
-
/**
|
|
105
|
-
* Connected VolumeSlider Progress component
|
|
106
|
-
*/
|
|
107
105
|
declare const VolumeSliderIndicatorElement: ConnectedComponentConstructor<any>;
|
|
108
|
-
/**
|
|
109
|
-
* Connected VolumeSlider Thumb component
|
|
110
|
-
*/
|
|
111
106
|
declare const VolumeSliderThumbElement: ConnectedComponentConstructor<any>;
|
|
112
|
-
/**
|
|
113
|
-
* Compound VolumeSlider component object
|
|
114
|
-
*/
|
|
115
107
|
declare const VolumeSliderElement: {
|
|
116
108
|
Root: typeof VolumeSliderRootElement;
|
|
117
109
|
Track: typeof VolumeSliderTrackElement;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["getCurrentTimeDisplayProps: PropsHook<{\n currentTime: number | undefined;\n duration: number | undefined;\n}>","CurrentTimeDisplayElement: ConnectedComponentConstructor<CurrentTimeDisplayState>","getDurationDisplayProps: PropsHook<{\n duration: number | undefined;\n}>","DurationDisplayElement: ConnectedComponentConstructor<DurationDisplayState>","Prettify","T","K","getFullscreenButtonProps: PropsHook<{ fullscreen: boolean }>","FullscreenButtonElement: ConnectedComponentConstructor<FullscreenButtonStateWithMethods>","getMuteButtonProps: PropsHook<{\n muted: boolean;\n volumeLevel: string;\n}>","MuteButtonElement: ConnectedComponentConstructor<MuteButtonStateWithMethods>","getPlayButtonProps: PropsHook<{ paused: boolean }>","PlayButtonElement: ConnectedComponentConstructor<PlayButtonStateWithMethods>","getPreviewTimeDisplayProps: PropsHook<{\n previewTime: number | undefined;\n}>","PreviewTimeDisplayElement: ConnectedComponentConstructor<PreviewTimeDisplayState>","getTimeSliderRootProps: PropsHook<TimeSliderState>","TimeSliderRootElement: ConnectedComponentConstructor<TimeSliderState>","getTimeSliderTrackProps: PropsHook<Record<string, never>>","TimeSliderTrackElement: ConnectedComponentConstructor<any>","getTimeSliderProgressProps: PropsHook<Record<string, never>>","TimeSliderProgressElement: ConnectedComponentConstructor<any>","getTimeSliderPointerProps: PropsHook<Record<string, never>>","TimeSliderPointerElement: ConnectedComponentConstructor<any>","getTimeSliderThumbProps: PropsHook<Record<string, never>>","TimeSliderThumbElement: ConnectedComponentConstructor<any>","getVolumeSliderRootProps: PropsHook<VolumeSliderState>","VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>","getVolumeSliderTrackProps: PropsHook<Record<string, never>>","VolumeSliderTrackElement: ConnectedComponentConstructor<any>","getVolumeSliderIndicatorProps: PropsHook<Record<string, never>>","VolumeSliderIndicatorElement: ConnectedComponentConstructor<any>","getVolumeSliderThumbProps: PropsHook<Record<string, never>>","VolumeSliderThumbElement: ConnectedComponentConstructor<any>","CustomElementConsumer: Constructor<CustomElement & HTMLElement>","ProviderHTMLElement: Constructor<CustomElement & HTMLElement>"],"sources":["../src/utils/component-factory.ts","../src/elements/current-time-display.ts","../src/elements/duration-display.ts","../src/types.d.ts","../src/elements/fullscreen-button.ts","../src/elements/mute-button.ts","../src/elements/play-button.ts","../src/elements/popover.ts","../src/elements/preview-time-display.ts","../src/elements/time-slider.ts","../src/elements/tooltip.ts","../src/elements/volume-slider.ts","../src/media/media-container.ts","../src/media/video-provider.ts"],"sourcesContent":["declare module '*.css' {\n const content: string;\n export default content;\n}\n\nexport type Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n"],"mappings":";;;;;;;ACkFaC,UDvEI,6BCuEqD,CAAA,KAAA,CAAA,CAAA;cDtExD,QAAQ;;;;;AGNFK,cF4EPL,yBE5EOK,EF4EoB,6BE5EpBA,CF4EkD,uBE5ElDA,CAAAA;;;;cDsEPH,wBAAwB,8BAA8B;;;;;;;KCvEvDC,sBHMK,MGLHC,CHKG,GGLCA,CHKD,CGLGC,CHKH,CAAA;;;KIiCZ,gCAAA,GAAmC,SAAS,wBAAwB,kBAAkB,+BAAA,CAAgC;;;;;;ADtC7GD,cCsEDG,uBDtECH,ECsEwB,6BDtExBA,CCsEsD,gCDtEtDA,CAAAA;;;KE8CT,0BAAA,GAA6B,SAAS,kBAAkB,kBAAkB,yBAAA,CAA0B;AF/C7FD,cE+ECM,iBF/EO,EE+EY,6BF/EZ,CE+E0C,0BF/E1C,CAAA;;;KGiCf,0BAAA,GAA6B,SAAS,kBAAkB,kBAAkB,yBAAA,CAA0B;;;;;;AHhC3FL,cGgEDO,iBHhECP,EGgEkB,6BHhElBA,CGgEgD,0BHhEhDA,CAAAA;;;KIJT,WAAA;cAEQ,cAAA,SAAuB,WAAA;;;;;EPOpC,oBAAiB,CAAA,CAAA,EAAA,IAAA;qBO8CI;;;ENyBrB,IAAaJ,UAAAA,CAAAA,CAAAA,EAAAA,MAAAA;cMSC;;;;;cCnBDa,2BAA2B,8BAA8B;;;KC9DjE,eAAA,GAAkB,SAAS,WAAW;cA6E9BE,uBAAuB,8BAA8B;ANjFhDX,cMuHLa,sBNvHKb,EMuHmB,6BNvHnBA,CAAAA,GAAAA,CAAAA;ACsCb,cK4HQe,yBL5HR,EK4HmC,6BL5HnC,CAAA,GAAA,CAAA;AAgCQZ,cKuIAc,wBLvIuD,EKuI7B,6BLvID,CAAA,GAAA,CAAA;ACxByC,cIuMlEE,sBJvM4F,EIuMpE,6BJvMoE,CAAA,GAAA,CAAA;AAA5C,cIkNhD,iBJlNgD,EAAA;EAA3B,IAAA,EAAA,OI4NnB,qBJ5NmB;EAAA,KAAA,EAAA,OI6NlB,sBJ7NkB;EAgClC,QAAad,EAAAA,OI8LM,yBJ9L2C;kBI+L5C;gBACF;;;;KC5QX,SAAA;cAEQ,cAAA,SAAuB,WAAA;;;;;EVCpC,iBAAiB,CAAA,CAAA,EAAA,IAAA;;qBU+DI;;ETQrB,IAAaT,UAAAA,CAAAA,CAAAA,EAAAA,MAAAA;;cSqBC;;ER3Bd,IAAaE,gBAAAA,CAAAA,CAAAA,EAAAA,MAAsD;;;;KSlE9D,iBAAA,GAAoB,SAAS,WAAW;cAkFhCuB,yBAAyB,8BAA8B;ARtFhDpB,cQ4HPsB,wBR5HOtB,EQ4HmB,6BR5HnBA,CAAAA,GAAAA,CAAAA;ACsC6B,cOiIpCwB,4BPjIoC,EOiIN,6BPjIM,CAAA,GAAA,CAAA;cOyKpCE,0BAA0B;cAW1B;eASE;ONrLV,EAAA,OMsLW,wBNtLX;EAAsC,SAAA,EAAA,OMuLvB,4BNvLuB;EAAoC,KAAA,EAAA,OMwL/D,wBNxLyF;CAA5C;;;cOzCvDC,uBAAuB,YAAY,gBAAgB;cAE5C,qBAAA,SAA8B,qBAAA;;UACI;EZH/C,CAAA;;;cYOc;EXgEd,OAAahC,EAAAA,OAAAA;;;;ECNb,WAAaE,CAAAA;;;;;;wBUPY;;;;;cC/DnB+B,qBAAqB,YAAY,gBAAgB;cAE1C,oBAAA,SAA6B,mBAAA;;sBAEtB;EbCpB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./component-factory-
|
|
2
|
-
import { t as CurrentTimeDisplayElement } from "./current-time-display-
|
|
3
|
-
import { t as DurationDisplayElement } from "./duration-display-
|
|
1
|
+
import "./component-factory-C0cl1nrL.js";
|
|
2
|
+
import { t as CurrentTimeDisplayElement } from "./current-time-display-DpoDrQu9.js";
|
|
3
|
+
import { t as DurationDisplayElement } from "./duration-display-BFRQmaOz.js";
|
|
4
4
|
import "./button-Bu1mGG-F.js";
|
|
5
|
-
import { t as FullscreenButtonElement } from "./fullscreen-button-
|
|
6
|
-
import { t as MuteButtonElement } from "./mute-button-
|
|
7
|
-
import { t as PlayButtonElement } from "./play-button-
|
|
5
|
+
import { t as FullscreenButtonElement } from "./fullscreen-button-B0R9K3GV.js";
|
|
6
|
+
import { t as MuteButtonElement } from "./mute-button-C7XQB6iK.js";
|
|
7
|
+
import { t as PlayButtonElement } from "./play-button-DFbxwrrq.js";
|
|
8
8
|
import { t as PopoverElement } from "./popover-BUCVOjnO.js";
|
|
9
|
-
import { t as PreviewTimeDisplayElement } from "./preview-time-display-
|
|
10
|
-
import { t as TimeSliderElement } from "./time-slider-
|
|
9
|
+
import { t as PreviewTimeDisplayElement } from "./preview-time-display-CtA58pCS.js";
|
|
10
|
+
import { t as TimeSliderElement } from "./time-slider-DHpKPCI1.js";
|
|
11
11
|
import { t as TooltipElement } from "./tooltip-B-glki2f.js";
|
|
12
|
-
import { t as VolumeSliderElement } from "./volume-slider-
|
|
12
|
+
import { t as VolumeSliderElement } from "./volume-slider-CUyfwehe.js";
|
|
13
13
|
import { t as MediaContainerElement } from "./media-container-BOL0PKuG.js";
|
|
14
14
|
import { t as MediaSkinElement } from "./media-skin-CxnuHwhu.js";
|
|
15
15
|
import { t as VideoProviderElement } from "./video-provider-BKDqoKFf.js";
|
package/dist/{media-current-time-display-B-4Cp845.js → media-current-time-display-DVCqNt7c.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CurrentTimeDisplayElement } from "./current-time-display-
|
|
1
|
+
import { t as CurrentTimeDisplayElement } from "./current-time-display-DpoDrQu9.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-current-time-display.ts
|
|
5
5
|
defineCustomElement("media-current-time-display", CurrentTimeDisplayElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-current-time-display-
|
|
8
|
+
//# sourceMappingURL=media-current-time-display-DVCqNt7c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-current-time-display-
|
|
1
|
+
{"version":3,"file":"media-current-time-display-DVCqNt7c.js","names":[],"sources":["../src/define/media-current-time-display.ts"],"sourcesContent":["import { CurrentTimeDisplayElement } from '@/elements/current-time-display';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-current-time-display', CurrentTimeDisplayElement);\n"],"mappings":";;;;AAGA,oBAAoB,8BAA8B,0BAA0B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as DurationDisplayElement } from "./duration-display-
|
|
1
|
+
import { t as DurationDisplayElement } from "./duration-display-BFRQmaOz.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-duration-display.ts
|
|
5
5
|
defineCustomElement("media-duration-display", DurationDisplayElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-duration-display-
|
|
8
|
+
//# sourceMappingURL=media-duration-display-tzVLafRm.js.map
|
package/dist/{media-duration-display-BLMr7VHo.js.map → media-duration-display-tzVLafRm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-duration-display-
|
|
1
|
+
{"version":3,"file":"media-duration-display-tzVLafRm.js","names":[],"sources":["../src/define/media-duration-display.ts"],"sourcesContent":["import { DurationDisplayElement } from '@/elements/duration-display';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-duration-display', DurationDisplayElement);\n"],"mappings":";;;;AAGA,oBAAoB,0BAA0B,uBAAuB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as FullscreenButtonElement } from "./fullscreen-button-
|
|
1
|
+
import { t as FullscreenButtonElement } from "./fullscreen-button-B0R9K3GV.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-fullscreen-button.ts
|
|
5
5
|
defineCustomElement("media-fullscreen-button", FullscreenButtonElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-fullscreen-button-
|
|
8
|
+
//# sourceMappingURL=media-fullscreen-button-DDQ6EdLz.js.map
|
package/dist/{media-fullscreen-button-CIpcLhtU.js.map → media-fullscreen-button-DDQ6EdLz.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-fullscreen-button-
|
|
1
|
+
{"version":3,"file":"media-fullscreen-button-DDQ6EdLz.js","names":[],"sources":["../src/define/media-fullscreen-button.ts"],"sourcesContent":["import { FullscreenButtonElement } from '@/elements/fullscreen-button';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-fullscreen-button', FullscreenButtonElement);\n"],"mappings":";;;;AAGA,oBAAoB,2BAA2B,wBAAwB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as MuteButtonElement } from "./mute-button-
|
|
1
|
+
import { t as MuteButtonElement } from "./mute-button-C7XQB6iK.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-mute-button.ts
|
|
5
5
|
defineCustomElement("media-mute-button", MuteButtonElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-mute-button-
|
|
8
|
+
//# sourceMappingURL=media-mute-button-Uy18NpPx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-mute-button-
|
|
1
|
+
{"version":3,"file":"media-mute-button-Uy18NpPx.js","names":[],"sources":["../src/define/media-mute-button.ts"],"sourcesContent":["import { MuteButtonElement } from '@/elements/mute-button';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-mute-button', MuteButtonElement);\n"],"mappings":";;;;AAGA,oBAAoB,qBAAqB,kBAAkB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as PlayButtonElement } from "./play-button-
|
|
1
|
+
import { t as PlayButtonElement } from "./play-button-DFbxwrrq.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-play-button.ts
|
|
5
5
|
defineCustomElement("media-play-button", PlayButtonElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-play-button-
|
|
8
|
+
//# sourceMappingURL=media-play-button-CDBZrhmx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-play-button-
|
|
1
|
+
{"version":3,"file":"media-play-button-CDBZrhmx.js","names":[],"sources":["../src/define/media-play-button.ts"],"sourcesContent":["import { PlayButtonElement } from '@/elements/play-button';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-play-button', PlayButtonElement);\n"],"mappings":";;;;AAGA,oBAAoB,qBAAqB,kBAAkB"}
|
package/dist/{media-preview-time-display-DAiMgLPX.js → media-preview-time-display-ufqXiNXg.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as PreviewTimeDisplayElement } from "./preview-time-display-
|
|
1
|
+
import { t as PreviewTimeDisplayElement } from "./preview-time-display-CtA58pCS.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-preview-time-display.ts
|
|
5
5
|
defineCustomElement("media-preview-time-display", PreviewTimeDisplayElement);
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
|
-
//# sourceMappingURL=media-preview-time-display-
|
|
8
|
+
//# sourceMappingURL=media-preview-time-display-ufqXiNXg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-preview-time-display-
|
|
1
|
+
{"version":3,"file":"media-preview-time-display-ufqXiNXg.js","names":[],"sources":["../src/define/media-preview-time-display.ts"],"sourcesContent":["import { PreviewTimeDisplayElement } from '@/elements/preview-time-display';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-preview-time-display', PreviewTimeDisplayElement);\n"],"mappings":";;;;AAGA,oBAAoB,8BAA8B,0BAA0B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TimeSliderThumbElement, i as TimeSliderRootElement, n as TimeSliderPointerElement, o as TimeSliderTrackElement, r as TimeSliderProgressElement } from "./time-slider-
|
|
1
|
+
import { a as TimeSliderThumbElement, i as TimeSliderRootElement, n as TimeSliderPointerElement, o as TimeSliderTrackElement, r as TimeSliderProgressElement } from "./time-slider-DHpKPCI1.js";
|
|
2
2
|
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
3
|
|
|
4
4
|
//#region src/define/media-time-slider.ts
|
|
@@ -9,4 +9,4 @@ defineCustomElement("media-time-slider-pointer", TimeSliderPointerElement);
|
|
|
9
9
|
defineCustomElement("media-time-slider-thumb", TimeSliderThumbElement);
|
|
10
10
|
|
|
11
11
|
//#endregion
|
|
12
|
-
//# sourceMappingURL=media-time-slider-
|
|
12
|
+
//# sourceMappingURL=media-time-slider-BOdJr4QE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-time-slider-
|
|
1
|
+
{"version":3,"file":"media-time-slider-BOdJr4QE.js","names":[],"sources":["../src/define/media-time-slider.ts"],"sourcesContent":["import { TimeSliderPointerElement, TimeSliderProgressElement, TimeSliderRootElement, TimeSliderThumbElement, TimeSliderTrackElement } from '@/elements/time-slider';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('media-time-slider', TimeSliderRootElement);\ndefineCustomElement('media-time-slider-track', TimeSliderTrackElement);\ndefineCustomElement('media-time-slider-progress', TimeSliderProgressElement);\ndefineCustomElement('media-time-slider-pointer', TimeSliderPointerElement);\ndefineCustomElement('media-time-slider-thumb', TimeSliderThumbElement);\n"],"mappings":";;;;AAGA,oBAAoB,qBAAqB,sBAAsB;AAC/D,oBAAoB,2BAA2B,uBAAuB;AACtE,oBAAoB,8BAA8B,0BAA0B;AAC5E,oBAAoB,6BAA6B,yBAAyB;AAC1E,oBAAoB,2BAA2B,uBAAuB"}
|