@videojs/html 0.1.0-preview.3 → 0.1.0-preview.4

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.
Files changed (123) hide show
  1. package/dist/button-D1DWjsQu.js +57 -0
  2. package/dist/button-D1DWjsQu.js.map +1 -0
  3. package/dist/component-factory-DeAN6cjC.js +47 -0
  4. package/dist/component-factory-DeAN6cjC.js.map +1 -0
  5. package/dist/current-time-display-C3qndGf5.js +47 -0
  6. package/dist/current-time-display-C3qndGf5.js.map +1 -0
  7. package/dist/custom-element-3bDlB2XO.js +10 -0
  8. package/dist/custom-element-3bDlB2XO.js.map +1 -0
  9. package/dist/define/index.d.ts +12 -0
  10. package/dist/define/index.js +27 -0
  11. package/dist/define/media-container.d.ts +1 -0
  12. package/dist/define/media-container.js +3 -0
  13. package/dist/define/media-current-time-display.d.ts +1 -0
  14. package/dist/define/media-current-time-display.js +4 -0
  15. package/dist/define/media-duration-display.d.ts +1 -0
  16. package/dist/define/media-duration-display.js +4 -0
  17. package/dist/define/media-fullscreen-button.d.ts +1 -0
  18. package/dist/define/media-fullscreen-button.js +5 -0
  19. package/dist/define/media-mute-button.d.ts +1 -0
  20. package/dist/define/media-mute-button.js +5 -0
  21. package/dist/define/media-play-button.d.ts +1 -0
  22. package/dist/define/media-play-button.js +5 -0
  23. package/dist/define/media-popover.d.ts +1 -0
  24. package/dist/define/media-popover.js +3 -0
  25. package/dist/define/media-preview-time-display.d.ts +1 -0
  26. package/dist/define/media-preview-time-display.js +4 -0
  27. package/dist/define/media-provider.d.ts +1 -0
  28. package/dist/define/media-provider.js +3 -0
  29. package/dist/define/media-time-slider.d.ts +1 -0
  30. package/dist/define/media-time-slider.js +4 -0
  31. package/dist/define/media-tooltip.d.ts +1 -0
  32. package/dist/define/media-tooltip.js +3 -0
  33. package/dist/define/media-volume-slider.d.ts +1 -0
  34. package/dist/define/media-volume-slider.js +4 -0
  35. package/dist/duration-display-JOPp3bdU.js +49 -0
  36. package/dist/duration-display-JOPp3bdU.js.map +1 -0
  37. package/dist/fullscreen-button-CGO2UJjs.js +48 -0
  38. package/dist/fullscreen-button-CGO2UJjs.js.map +1 -0
  39. package/dist/{icons-eJws_3Te.js → icons-CuxuONCk.js} +20 -57
  40. package/dist/icons-CuxuONCk.js.map +1 -0
  41. package/dist/icons.d.ts +1 -2
  42. package/dist/icons.js +2 -3
  43. package/dist/index-LKrIp3Oo.d.ts +1 -0
  44. package/dist/index.d.ts +172 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +16 -9
  47. package/dist/media-container-BGEXSi9g.js +8 -0
  48. package/dist/media-container-BGEXSi9g.js.map +1 -0
  49. package/dist/media-container-C0MUzkJ_.js +83 -0
  50. package/dist/media-container-C0MUzkJ_.js.map +1 -0
  51. package/dist/media-container-DPnFjmtK.d.ts +1 -0
  52. package/dist/media-current-time-display-B-4Cp845.js +8 -0
  53. package/dist/media-current-time-display-B-4Cp845.js.map +1 -0
  54. package/dist/media-current-time-display-Cd0rPAuj.d.ts +1 -0
  55. package/dist/media-duration-display-BLMr7VHo.js +8 -0
  56. package/dist/media-duration-display-BLMr7VHo.js.map +1 -0
  57. package/dist/media-duration-display-qvm6YX-q.d.ts +1 -0
  58. package/dist/media-fullscreen-button-BgUK3lgu.d.ts +1 -0
  59. package/dist/media-fullscreen-button-Dcflbt54.js +8 -0
  60. package/dist/media-fullscreen-button-Dcflbt54.js.map +1 -0
  61. package/dist/media-mute-button-BOVhZ3aP.js +8 -0
  62. package/dist/media-mute-button-BOVhZ3aP.js.map +1 -0
  63. package/dist/media-mute-button-NVJF2EEW.d.ts +1 -0
  64. package/dist/media-play-button-CLj-hkwn.js +8 -0
  65. package/dist/media-play-button-CLj-hkwn.js.map +1 -0
  66. package/dist/media-play-button-oq8yDlxe.d.ts +1 -0
  67. package/dist/media-popover-BtJmPv0E.d.ts +1 -0
  68. package/dist/media-popover-F4M4Tq4z.js +8 -0
  69. package/dist/media-popover-F4M4Tq4z.js.map +1 -0
  70. package/dist/media-preview-time-display-4YX5Rics.d.ts +1 -0
  71. package/dist/media-preview-time-display-DAiMgLPX.js +8 -0
  72. package/dist/media-preview-time-display-DAiMgLPX.js.map +1 -0
  73. package/dist/media-provider-CyoL0bCx.js +17 -0
  74. package/dist/media-provider-CyoL0bCx.js.map +1 -0
  75. package/dist/media-provider-D7P2TLXG.d.ts +1 -0
  76. package/dist/media-provider-D_GL2_DN.js +8 -0
  77. package/dist/media-provider-D_GL2_DN.js.map +1 -0
  78. package/dist/media-skin-Di3vSHvS.d.ts +11 -0
  79. package/dist/media-skin-Di3vSHvS.d.ts.map +1 -0
  80. package/dist/media-skin-mHWwUPg3.js +36 -0
  81. package/dist/media-skin-mHWwUPg3.js.map +1 -0
  82. package/dist/media-time-slider-Bp2qnwsW.js +12 -0
  83. package/dist/media-time-slider-Bp2qnwsW.js.map +1 -0
  84. package/dist/media-time-slider-DvMnfYXZ.d.ts +1 -0
  85. package/dist/media-tooltip-BqV17mdM.d.ts +1 -0
  86. package/dist/media-tooltip-ClcVafMb.js +14 -0
  87. package/dist/media-tooltip-ClcVafMb.js.map +1 -0
  88. package/dist/media-volume-slider-CKSxmdQv.js +11 -0
  89. package/dist/media-volume-slider-CKSxmdQv.js.map +1 -0
  90. package/dist/media-volume-slider-DP47VLVi.d.ts +1 -0
  91. package/dist/mute-button-vW2sLqqY.js +50 -0
  92. package/dist/mute-button-vW2sLqqY.js.map +1 -0
  93. package/dist/play-button-aVb0g10G.js +44 -0
  94. package/dist/play-button-aVb0g10G.js.map +1 -0
  95. package/dist/popover-Dc0hyhwB.js +187 -0
  96. package/dist/popover-Dc0hyhwB.js.map +1 -0
  97. package/dist/{media-preview-time-display-C7jpAct6.js → preview-time-display-Dax0FQ2X.js} +6 -6
  98. package/dist/preview-time-display-Dax0FQ2X.js.map +1 -0
  99. package/dist/skins/frosted.d.ts +16 -5
  100. package/dist/skins/frosted.d.ts.map +1 -1
  101. package/dist/skins/frosted.js +46 -20
  102. package/dist/skins/frosted.js.map +1 -1
  103. package/dist/skins/minimal.d.ts +16 -5
  104. package/dist/skins/minimal.d.ts.map +1 -1
  105. package/dist/skins/minimal.js +46 -20
  106. package/dist/skins/minimal.js.map +1 -1
  107. package/dist/time-slider-CA1GMs6A.js +201 -0
  108. package/dist/time-slider-CA1GMs6A.js.map +1 -0
  109. package/dist/tooltip-54fBUUpb.js +296 -0
  110. package/dist/tooltip-54fBUUpb.js.map +1 -0
  111. package/dist/volume-slider-guD8gqpi.js +206 -0
  112. package/dist/volume-slider-guD8gqpi.js.map +1 -0
  113. package/package.json +8 -4
  114. package/dist/chunk-Bp6m_JJh.js +0 -13
  115. package/dist/icons-eJws_3Te.js.map +0 -1
  116. package/dist/index-AcYRyuAY.d.ts +0 -76
  117. package/dist/index-AcYRyuAY.d.ts.map +0 -1
  118. package/dist/index.js.map +0 -1
  119. package/dist/media-preview-time-display-C7jpAct6.js.map +0 -1
  120. package/dist/media-skin-D44BfH6y.d.ts +0 -182
  121. package/dist/media-skin-D44BfH6y.d.ts.map +0 -1
  122. package/dist/media-skin-DR8zj-LV.js +0 -1324
  123. package/dist/media-skin-DR8zj-LV.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ import { t as toConnectedHTMLComponent } from "./component-factory-DeAN6cjC.js";
2
+ import { volumeSliderStateDefinition } from "@videojs/core/store";
3
+ import { setAttributes } from "@videojs/utils/dom";
4
+ import { VolumeSlider } from "@videojs/core";
5
+
6
+ //#region src/elements/volume-slider.ts
7
+ /**
8
+ * VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps
9
+ * Handles element attributes and properties based on state
10
+ */
11
+ const getVolumeSliderRootProps = (state, element) => {
12
+ const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;
13
+ return {
14
+ role: "slider",
15
+ tabindex: element.getAttribute("tabindex") ?? "0",
16
+ "data-muted": state.muted.toString(),
17
+ "data-volume-level": state.volumeLevel,
18
+ "data-orientation": element.orientation || "horizontal",
19
+ "aria-label": "Volume",
20
+ "aria-valuemin": "0",
21
+ "aria-valuemax": "100",
22
+ "aria-valuetext": volumeText,
23
+ "aria-orientation": element.orientation || "horizontal"
24
+ };
25
+ };
26
+ var VolumeSliderRoot = class extends HTMLElement {
27
+ constructor(..._args) {
28
+ super(..._args);
29
+ this._core = null;
30
+ }
31
+ static {
32
+ this.observedAttributes = ["orientation"];
33
+ }
34
+ get volume() {
35
+ return this._state?.volume;
36
+ }
37
+ get muted() {
38
+ return this._state?.muted ?? false;
39
+ }
40
+ get volumeLevel() {
41
+ return this._state?.volumeLevel ?? "high";
42
+ }
43
+ get orientation() {
44
+ return this.getAttribute("orientation") || "horizontal";
45
+ }
46
+ attributeChangedCallback(name, _oldValue, _newValue) {
47
+ if (name === "orientation" && this._state) this._render(getVolumeSliderRootProps(this._state, this), this._state);
48
+ }
49
+ _update(_props, state) {
50
+ this._state = state;
51
+ if (state && !this._core) {
52
+ this._core = new VolumeSlider();
53
+ this._core.subscribe(() => this._render(getVolumeSliderRootProps(state, this), state));
54
+ this._core.attach(this);
55
+ state.core = this._core;
56
+ }
57
+ this._core?.setState(state);
58
+ }
59
+ _render(props, state) {
60
+ const coreState = state?.core?.getState();
61
+ if (!coreState) return;
62
+ this.style.setProperty("--slider-fill", `${coreState._fillWidth.toFixed(3)}%`);
63
+ this.style.setProperty("--slider-pointer", `${coreState._pointerWidth.toFixed(3)}%`);
64
+ props["aria-valuenow"] = coreState._fillWidth.toString();
65
+ setAttributes(this, props);
66
+ }
67
+ };
68
+ /**
69
+ * VolumeSlider Track component - Track element that captures pointer events
70
+ */
71
+ var VolumeSliderTrack = class extends HTMLElement {
72
+ constructor() {
73
+ super();
74
+ }
75
+ connectedCallback() {
76
+ const rootElement = this.closest("media-volume-slider");
77
+ if (rootElement?._state?.core) rootElement._state.core.setState({ _trackElement: this });
78
+ }
79
+ _update(props, _state) {
80
+ setAttributes(this, props);
81
+ if (props["data-orientation"] === "horizontal") {
82
+ this.style.width = "100%";
83
+ this.style.removeProperty("height");
84
+ } else {
85
+ this.style.height = "100%";
86
+ this.style.removeProperty("width");
87
+ }
88
+ }
89
+ };
90
+ /**
91
+ * VolumeSlider Progress component - Shows current progress
92
+ */
93
+ var VolumeSliderIndicatorElement = class extends HTMLElement {
94
+ constructor() {
95
+ super();
96
+ this.style.position = "absolute";
97
+ this.style.width = "var(--slider-fill, 0%)";
98
+ this.style.height = "100%";
99
+ }
100
+ _update(props, _state) {
101
+ setAttributes(this, props);
102
+ if (props["data-orientation"] === "horizontal") {
103
+ this.style.width = "var(--slider-fill, 0%)";
104
+ this.style.height = "100%";
105
+ this.style.top = "0";
106
+ this.style.removeProperty("bottom");
107
+ } else {
108
+ this.style.height = "var(--slider-fill, 0%)";
109
+ this.style.width = "100%";
110
+ this.style.bottom = "0";
111
+ this.style.removeProperty("top");
112
+ }
113
+ }
114
+ };
115
+ /**
116
+ * VolumeSlider Thumb component - Draggable thumb element
117
+ */
118
+ var VolumeSliderThumb = class extends HTMLElement {
119
+ constructor() {
120
+ super();
121
+ this.style.position = "absolute";
122
+ }
123
+ _update(props, _state) {
124
+ setAttributes(this, props);
125
+ if (props["data-orientation"] === "horizontal") {
126
+ this.style.left = "var(--slider-fill, 0%)";
127
+ this.style.top = "50%";
128
+ this.style.translate = "-50% -50%";
129
+ } else {
130
+ this.style.bottom = "var(--slider-fill, 0%)";
131
+ this.style.left = "50%";
132
+ this.style.translate = "-50% 50%";
133
+ }
134
+ }
135
+ };
136
+ /**
137
+ * VolumeSlider Root state hook - equivalent to React's useVolumeSliderRootState
138
+ * Handles media store state subscription and transformation
139
+ */
140
+ const useVolumeSliderRootState = {
141
+ keys: volumeSliderStateDefinition.keys,
142
+ transform: (rawState, mediaStore) => ({
143
+ ...volumeSliderStateDefinition.stateTransform(rawState),
144
+ ...volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch),
145
+ core: null
146
+ })
147
+ };
148
+ /**
149
+ * VolumeSlider Track props hook
150
+ */
151
+ const getVolumeSliderTrackProps = (_state, element) => {
152
+ const rootElement = element.closest("media-volume-slider");
153
+ return { "data-orientation": rootElement?.orientation || "horizontal" };
154
+ };
155
+ /**
156
+ * VolumeSlider Progress props hook
157
+ */
158
+ const getVolumeSliderProgressProps = (_state, element) => {
159
+ const rootElement = element.closest("media-volume-slider");
160
+ return { "data-orientation": rootElement?.orientation || "horizontal" };
161
+ };
162
+ /**
163
+ * VolumeSlider Thumb props hook
164
+ */
165
+ const getVolumeSliderThumbProps = (_state, element) => {
166
+ const rootElement = element.closest("media-volume-slider");
167
+ return { "data-orientation": rootElement?.orientation || "horizontal" };
168
+ };
169
+ /**
170
+ * Connected VolumeSlider Root component using hook-style architecture
171
+ */
172
+ const VolumeSliderRootElement = toConnectedHTMLComponent(VolumeSliderRoot, useVolumeSliderRootState, getVolumeSliderRootProps, "VolumeSliderRoot");
173
+ /**
174
+ * Connected VolumeSlider Track component
175
+ */
176
+ const VolumeSliderTrackElement = toConnectedHTMLComponent(VolumeSliderTrack, {
177
+ keys: [],
178
+ transform: () => ({})
179
+ }, getVolumeSliderTrackProps, "VolumeSliderTrack");
180
+ /**
181
+ * Connected VolumeSlider Progress component
182
+ */
183
+ const VolumeSliderProgressElement = toConnectedHTMLComponent(VolumeSliderIndicatorElement, {
184
+ keys: [],
185
+ transform: () => ({})
186
+ }, getVolumeSliderProgressProps, "VolumeSliderProgress");
187
+ /**
188
+ * Connected VolumeSlider Thumb component
189
+ */
190
+ const VolumeSliderThumbElement = toConnectedHTMLComponent(VolumeSliderThumb, {
191
+ keys: [],
192
+ transform: () => ({})
193
+ }, getVolumeSliderThumbProps, "VolumeSliderThumb");
194
+ /**
195
+ * Compound VolumeSlider component object
196
+ */
197
+ const VolumeSliderElement = Object.assign({}, {
198
+ Root: VolumeSliderRootElement,
199
+ Track: VolumeSliderTrackElement,
200
+ Progress: VolumeSliderProgressElement,
201
+ Thumb: VolumeSliderThumbElement
202
+ });
203
+
204
+ //#endregion
205
+ export { VolumeSliderTrackElement as a, VolumeSliderThumbElement as i, VolumeSliderIndicatorElement as n, VolumeSliderRootElement as r, VolumeSliderElement as t };
206
+ //# sourceMappingURL=volume-slider-guD8gqpi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-slider-guD8gqpi.js","names":["getVolumeSliderRootProps: PropsHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","CoreVolumeSlider","useVolumeSliderRootState: StateHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","getVolumeSliderTrackProps: PropsHook<Record<string, never>>","getVolumeSliderProgressProps: PropsHook<Record<string, never>>","getVolumeSliderThumbProps: PropsHook<Record<string, never>>","VolumeSliderRootElement: ConnectedComponentConstructor<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","VolumeSliderTrackElement: ConnectedComponentConstructor<any>","VolumeSliderProgressElement: ConnectedComponentConstructor<any>","VolumeSliderThumbElement: ConnectedComponentConstructor<any>"],"sources":["../src/elements/volume-slider.ts"],"sourcesContent":["import type { ConnectedComponentConstructor, PropsHook, StateHook } from '../utils/component-factory';\n\nimport { VolumeSlider as CoreVolumeSlider } from '@videojs/core';\nimport { volumeSliderStateDefinition } from '@videojs/core/store';\n\nimport { setAttributes } from '@videojs/utils/dom';\nimport { toConnectedHTMLComponent } from '../utils/component-factory';\n\n/**\n * VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps\n * Handles element attributes and properties based on state\n */\nexport const getVolumeSliderRootProps: PropsHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}> = (state, element) => {\n const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;\n\n const baseProps: Record<string, any> = {\n role: 'slider',\n tabindex: element.getAttribute('tabindex') ?? '0',\n 'data-muted': state.muted.toString(),\n 'data-volume-level': state.volumeLevel,\n 'data-orientation': (element as any).orientation || 'horizontal',\n 'aria-label': 'Volume',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'aria-valuetext': volumeText,\n 'aria-orientation': (element as any).orientation || 'horizontal',\n };\n\n return baseProps;\n};\n\n/**\n * VolumeSlider Root component - Main container with pointer event handling\n */\ninterface VolumeSliderRootState {\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}\n\nexport class VolumeSliderRoot extends HTMLElement {\n static readonly observedAttributes: readonly string[] = ['orientation'];\n\n _state: VolumeSliderRootState | undefined;\n _core: CoreVolumeSlider | null = null;\n\n get volume(): number | undefined {\n return this._state?.volume;\n }\n\n get muted(): boolean {\n return this._state?.muted ?? false;\n }\n\n get volumeLevel(): string {\n return this._state?.volumeLevel ?? 'high';\n }\n\n get orientation(): 'horizontal' | 'vertical' {\n return (this.getAttribute('orientation') as 'horizontal' | 'vertical') || 'horizontal';\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, _newValue: string | null): void {\n if (name === 'orientation' && this._state) {\n this._render(getVolumeSliderRootProps(this._state, this), this._state);\n }\n }\n\n _update(_props: any, state: any): void {\n this._state = state;\n\n if (state && !this._core) {\n this._core = new CoreVolumeSlider();\n this._core.subscribe(() => this._render(getVolumeSliderRootProps(state, this), state));\n this._core.attach(this);\n state.core = this._core;\n }\n\n this._core?.setState(state);\n }\n\n _render(props: any, state: any): void {\n const coreState = state?.core?.getState();\n if (!coreState) return;\n\n this.style.setProperty('--slider-fill', `${coreState._fillWidth.toFixed(3)}%`);\n this.style.setProperty('--slider-pointer', `${coreState._pointerWidth.toFixed(3)}%`);\n\n props['aria-valuenow'] = coreState._fillWidth.toString();\n\n setAttributes(this, props);\n }\n}\n\n/**\n * VolumeSlider Track component - Track element that captures pointer events\n */\nexport class VolumeSliderTrack extends HTMLElement {\n constructor() {\n super();\n }\n\n connectedCallback(): void {\n // Set this element as the track element in the core VolumeSlider\n const rootElement = this.closest('media-volume-slider') as any;\n if (rootElement?._state?.core) {\n rootElement._state.core.setState({ _trackElement: this });\n }\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = '100%';\n this.style.removeProperty('height');\n } else {\n this.style.height = '100%';\n this.style.removeProperty('width');\n }\n }\n}\n\n/**\n * VolumeSlider Progress component - Shows current progress\n */\nexport class VolumeSliderIndicatorElement extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n this.style.top = '0';\n this.style.removeProperty('bottom');\n } else {\n this.style.height = 'var(--slider-fill, 0%)';\n this.style.width = '100%';\n this.style.bottom = '0';\n this.style.removeProperty('top');\n }\n }\n}\n\n/**\n * VolumeSlider Thumb component - Draggable thumb element\n */\nexport class VolumeSliderThumb extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n // Set appropriate positioning based on orientation\n if (props['data-orientation'] === 'horizontal') {\n this.style.left = 'var(--slider-fill, 0%)';\n this.style.top = '50%';\n this.style.translate = '-50% -50%';\n } else {\n this.style.bottom = 'var(--slider-fill, 0%)';\n this.style.left = '50%';\n this.style.translate = '-50% 50%';\n }\n }\n}\n\n/**\n * VolumeSlider Root state hook - equivalent to React's useVolumeSliderRootState\n * Handles media store state subscription and transformation\n */\nexport const useVolumeSliderRootState: StateHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}> = {\n keys: volumeSliderStateDefinition.keys,\n transform: (rawState, mediaStore) => ({\n ...volumeSliderStateDefinition.stateTransform(rawState),\n ...volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch),\n core: null,\n }),\n};\n\n/**\n * VolumeSlider Track props hook\n */\nexport const getVolumeSliderTrackProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\n/**\n * VolumeSlider Progress props hook\n */\nexport const getVolumeSliderProgressProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\n/**\n * VolumeSlider Thumb props hook\n */\nexport const getVolumeSliderThumbProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\n/**\n * Connected VolumeSlider Root component using hook-style architecture\n */\nexport const VolumeSliderRootElement: ConnectedComponentConstructor<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}> = toConnectedHTMLComponent(VolumeSliderRoot, useVolumeSliderRootState, getVolumeSliderRootProps, 'VolumeSliderRoot');\n\n/**\n * Connected VolumeSlider Track component\n */\nexport const VolumeSliderTrackElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderTrack,\n { keys: [], transform: () => ({}) },\n getVolumeSliderTrackProps,\n 'VolumeSliderTrack',\n);\n\n/**\n * Connected VolumeSlider Progress component\n */\nexport const VolumeSliderProgressElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderIndicatorElement,\n { keys: [], transform: () => ({}) },\n getVolumeSliderProgressProps,\n 'VolumeSliderProgress',\n);\n\n/**\n * Connected VolumeSlider Thumb component\n */\nexport const VolumeSliderThumbElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderThumb,\n { keys: [], transform: () => ({}) },\n getVolumeSliderThumbProps,\n 'VolumeSliderThumb',\n);\n\n/**\n * Compound VolumeSlider component object\n */\nexport const VolumeSliderElement = Object.assign(\n {},\n {\n Root: VolumeSliderRootElement,\n Track: VolumeSliderTrackElement,\n Progress: VolumeSliderProgressElement,\n Thumb: VolumeSliderThumbElement,\n },\n) as {\n Root: typeof VolumeSliderRootElement;\n Track: typeof VolumeSliderTrackElement;\n Progress: typeof VolumeSliderProgressElement;\n Thumb: typeof VolumeSliderThumbElement;\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@videojs/html",
3
3
  "type": "module",
4
- "version": "0.1.0-preview.3",
4
+ "version": "0.1.0-preview.4",
5
5
  "description": "HTML library for building media players",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
@@ -32,6 +32,10 @@
32
32
  "./skins/minimal": {
33
33
  "types": "./dist/skins/minimal.d.ts",
34
34
  "default": "./dist/skins/minimal.js"
35
+ },
36
+ "./define/*": {
37
+ "types": "./dist/define/*.d.ts",
38
+ "default": "./dist/define/*.js"
35
39
  }
36
40
  },
37
41
  "main": "dist/index.js",
@@ -44,9 +48,9 @@
44
48
  "@floating-ui/core": "^1.6.13",
45
49
  "@floating-ui/dom": "^1.6.13",
46
50
  "@open-wc/context-protocol": "^0.0.9",
47
- "@videojs/core": "0.1.0-preview.3",
48
- "@videojs/icons": "0.1.0-preview.3",
49
- "@videojs/utils": "0.1.0-preview.3"
51
+ "@videojs/icons": "0.1.0-preview.4",
52
+ "@videojs/core": "0.1.0-preview.4",
53
+ "@videojs/utils": "0.1.0-preview.4"
50
54
  },
51
55
  "devDependencies": {
52
56
  "tsdown": "^0.15.9",
@@ -1,13 +0,0 @@
1
- //#region rolldown:runtime
2
- var __defProp = Object.defineProperty;
3
- var __export = (all) => {
4
- let target = {};
5
- for (var name in all) __defProp(target, name, {
6
- get: all[name],
7
- enumerable: true
8
- });
9
- return target;
10
- };
11
-
12
- //#endregion
13
- export { __export as t };
@@ -1 +0,0 @@
1
- {"version":3,"file":"icons-eJws_3Te.js","names":["getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML","getTemplateHTML"],"sources":["../src/icons/media-chrome-icon.ts","../src/icons/media-fullscreen-enter-alt-icon.ts","../src/icons/media-fullscreen-enter-icon.ts","../src/icons/media-fullscreen-exit-alt-icon.ts","../src/icons/media-fullscreen-exit-icon.ts","../src/icons/media-pause-icon.ts","../src/icons/media-play-icon.ts","../src/icons/media-volume-high-icon.ts","../src/icons/media-volume-low-icon.ts","../src/icons/media-volume-off-icon.ts"],"sourcesContent":["export function getTemplateHTML() {\n return /* html */ `\n <style>\n :host {\n display: inline-block;\n }\n svg {\n fill: currentColor;\n }\n </style>\n `;\n}\n\nexport class MediaChromeIcon extends HTMLElement {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML: () => string = getTemplateHTML;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof MediaChromeIcon).shadowRootOptions);\n this.shadowRoot!.innerHTML = (this.constructor as typeof MediaChromeIcon).getTemplateHTML();\n }\n }\n}\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-fullscreen-enter-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.fullscreenEnterAlt}\n `;\n}\n\nexport class MediaFullscreenEnterAltIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-fullscreen-enter-alt-icon', MediaFullscreenEnterAltIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-fullscreen-enter-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.fullscreenEnter}\n `;\n}\n\nexport class MediaFullscreenEnterIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-fullscreen-enter-icon', MediaFullscreenEnterIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-fullscreen-exit-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.fullscreenExitAlt}\n `;\n}\n\nexport class MediaFullscreenExitAltIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-fullscreen-exit-alt-icon', MediaFullscreenExitAltIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-fullscreen-exit-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.fullscreenExit}\n `;\n}\n\nexport class MediaFullscreenExitIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-fullscreen-exit-icon', MediaFullscreenExitIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n ${SVG_ICONS.pause}\n `;\n}\n\nexport class MediaPauseIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-pause-icon', MediaPauseIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-play-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.play}\n `;\n}\n\nexport class MediaPlayIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-play-icon', MediaPlayIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-play-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.volumeHigh}\n `;\n}\n\nexport class MediaVolumeHighIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-volume-high-icon', MediaVolumeHighIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-play-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.volumeLow}\n `;\n}\n\nexport class MediaVolumeLowIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-volume-low-icon', MediaVolumeLowIcon);\n","import { SVG_ICONS } from '@videojs/icons';\n\nimport { MediaChromeIcon } from './media-chrome-icon';\n\nexport function getTemplateHTML() {\n return /* html */ `\n ${MediaChromeIcon.getTemplateHTML()}\n <style>\n :host {\n display: var(--media-play-icon-display, inline-flex);\n }\n </style>\n ${SVG_ICONS.volumeOff}\n `;\n}\n\nexport class MediaVolumeOffIcon extends MediaChromeIcon {\n static getTemplateHTML: () => string = getTemplateHTML;\n}\n\ncustomElements.define('media-volume-off-icon', MediaVolumeOffIcon);\n"],"mappings":";;;;AAAA,SAAgBA,oBAAkB;AAChC,QAAkB;;;;;;;;;;;AAYpB,IAAa,kBAAb,cAAqC,YAAY;;2BACpB,EAAE,MAAM,QAA0B;;;yBACtBA;;CAEvC,cAAc;AACZ,SAAO;AAEP,MAAI,CAAC,KAAK,YAAY;AACpB,QAAK,aAAc,KAAK,YAAuC,kBAAkB;AACjF,QAAK,WAAY,YAAa,KAAK,YAAuC,iBAAiB;;;;;;;;;;;AClBjG,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,mBAAmB;;;AAInC,IAAa,8BAAb,cAAiD,gBAAgB;;yBACxBA;;;AAGzC,eAAe,OAAO,mCAAmC,4BAA4B;;;;;;;;AChBrF,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,gBAAgB;;;AAIhC,IAAa,2BAAb,cAA8C,gBAAgB;;yBACrBA;;;AAGzC,eAAe,OAAO,+BAA+B,yBAAyB;;;;;;;;AChB9E,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,kBAAkB;;;AAIlC,IAAa,6BAAb,cAAgD,gBAAgB;;yBACvBA;;;AAGzC,eAAe,OAAO,kCAAkC,2BAA2B;;;;;;;;AChBnF,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,eAAe;;;AAI/B,IAAa,0BAAb,cAA6C,gBAAgB;;yBACpBA;;;AAGzC,eAAe,OAAO,8BAA8B,wBAAwB;;;;;;;;AChB5E,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;MAClC,UAAU,MAAM;;;AAItB,IAAa,iBAAb,cAAoC,gBAAgB;;yBACXA;;;AAGzC,eAAe,OAAO,oBAAoB,eAAe;;;;;;;;ACXzD,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,KAAK;;;AAIrB,IAAa,gBAAb,cAAmC,gBAAgB;;yBACVA;;;AAGzC,eAAe,OAAO,mBAAmB,cAAc;;;;;;;;AChBvD,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,WAAW;;;AAI3B,IAAa,sBAAb,cAAyC,gBAAgB;;yBAChBA;;;AAGzC,eAAe,OAAO,0BAA0B,oBAAoB;;;;;;;;AChBpE,SAAgBC,oBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,UAAU;;;AAI1B,IAAa,qBAAb,cAAwC,gBAAgB;;yBACfA;;;AAGzC,eAAe,OAAO,yBAAyB,mBAAmB;;;;;;;;AChBlE,SAAgB,kBAAkB;AAChC,QAAkB;MACd,gBAAgB,iBAAiB,CAAC;;;;;;MAMlC,UAAU,UAAU;;;AAI1B,IAAa,qBAAb,cAAwC,gBAAgB;;yBACf;;;AAGzC,eAAe,OAAO,yBAAyB,mBAAmB"}
@@ -1,76 +0,0 @@
1
- import { t as __export } from "./chunk-Bp6m_JJh.js";
2
-
3
- //#region src/icons/media-chrome-icon.d.ts
4
- declare class MediaChromeIcon extends HTMLElement {
5
- static shadowRootOptions: {
6
- mode: ShadowRootMode;
7
- };
8
- static getTemplateHTML: () => string;
9
- constructor();
10
- }
11
- declare namespace media_fullscreen_enter_alt_icon_d_exports {
12
- export { MediaFullscreenEnterAltIcon, getTemplateHTML$8 as getTemplateHTML };
13
- }
14
- declare function getTemplateHTML$8(): string;
15
- declare class MediaFullscreenEnterAltIcon extends MediaChromeIcon {
16
- static getTemplateHTML: () => string;
17
- }
18
- declare namespace media_fullscreen_enter_icon_d_exports {
19
- export { MediaFullscreenEnterIcon, getTemplateHTML$7 as getTemplateHTML };
20
- }
21
- declare function getTemplateHTML$7(): string;
22
- declare class MediaFullscreenEnterIcon extends MediaChromeIcon {
23
- static getTemplateHTML: () => string;
24
- }
25
- declare namespace media_fullscreen_exit_alt_icon_d_exports {
26
- export { MediaFullscreenExitAltIcon, getTemplateHTML$6 as getTemplateHTML };
27
- }
28
- declare function getTemplateHTML$6(): string;
29
- declare class MediaFullscreenExitAltIcon extends MediaChromeIcon {
30
- static getTemplateHTML: () => string;
31
- }
32
- declare namespace media_fullscreen_exit_icon_d_exports {
33
- export { MediaFullscreenExitIcon, getTemplateHTML$5 as getTemplateHTML };
34
- }
35
- declare function getTemplateHTML$5(): string;
36
- declare class MediaFullscreenExitIcon extends MediaChromeIcon {
37
- static getTemplateHTML: () => string;
38
- }
39
- declare namespace media_pause_icon_d_exports {
40
- export { MediaPauseIcon, getTemplateHTML$4 as getTemplateHTML };
41
- }
42
- declare function getTemplateHTML$4(): string;
43
- declare class MediaPauseIcon extends MediaChromeIcon {
44
- static getTemplateHTML: () => string;
45
- }
46
- declare namespace media_play_icon_d_exports {
47
- export { MediaPlayIcon, getTemplateHTML$3 as getTemplateHTML };
48
- }
49
- declare function getTemplateHTML$3(): string;
50
- declare class MediaPlayIcon extends MediaChromeIcon {
51
- static getTemplateHTML: () => string;
52
- }
53
- declare namespace media_volume_high_icon_d_exports {
54
- export { MediaVolumeHighIcon, getTemplateHTML$2 as getTemplateHTML };
55
- }
56
- declare function getTemplateHTML$2(): string;
57
- declare class MediaVolumeHighIcon extends MediaChromeIcon {
58
- static getTemplateHTML: () => string;
59
- }
60
- declare namespace media_volume_low_icon_d_exports {
61
- export { MediaVolumeLowIcon, getTemplateHTML$1 as getTemplateHTML };
62
- }
63
- declare function getTemplateHTML$1(): string;
64
- declare class MediaVolumeLowIcon extends MediaChromeIcon {
65
- static getTemplateHTML: () => string;
66
- }
67
- declare namespace media_volume_off_icon_d_exports {
68
- export { MediaVolumeOffIcon, getTemplateHTML };
69
- }
70
- declare function getTemplateHTML(): string;
71
- declare class MediaVolumeOffIcon extends MediaChromeIcon {
72
- static getTemplateHTML: () => string;
73
- }
74
- //#endregion
75
- export { media_pause_icon_d_exports as a, media_fullscreen_enter_icon_d_exports as c, media_play_icon_d_exports as i, media_fullscreen_enter_alt_icon_d_exports as l, media_volume_low_icon_d_exports as n, media_fullscreen_exit_icon_d_exports as o, media_volume_high_icon_d_exports as r, media_fullscreen_exit_alt_icon_d_exports as s, media_volume_off_icon_d_exports as t };
76
- //# sourceMappingURL=index-AcYRyuAY.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-AcYRyuAY.d.ts","names":[],"sources":["../src/icons/media-chrome-icon.ts","../src/icons/media-fullscreen-enter-alt-icon.ts","../src/icons/media-fullscreen-enter-icon.ts","../src/icons/media-fullscreen-exit-alt-icon.ts","../src/icons/media-fullscreen-exit-icon.ts","../src/icons/media-pause-icon.ts","../src/icons/media-play-icon.ts","../src/icons/media-volume-high-icon.ts","../src/icons/media-volume-low-icon.ts","../src/icons/media-volume-off-icon.ts"],"sourcesContent":[],"mappings":";;;cAaa,eAAA,SAAwB,WAAA;;IAArC,IAAa,EACkC,cADlC;;;;;;;;iBCTG,iBAAA,CAAA;cAYH,2BAAA,SAAoC,eAAA;EDHjD,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBEV/B,iBAAA,CAAA;cAYH,wBAAA,SAAiC,eAAA;EFH9C,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBGV/B,iBAAA,CAAA;cAYH,0BAAA,SAAmC,eAAA;EHHhD,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBIV/B,iBAAA,CAAA;cAYH,uBAAA,SAAgC,eAAA;EJH7C,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBKV/B,iBAAA,CAAA;cAOH,cAAA,SAAuB,eAAA;ELEpC,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBMV/B,iBAAA,CAAA;cAYH,aAAA,SAAsB,eAAA;ENHnC,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBOV/B,iBAAA,CAAA;cAYH,mBAAA,SAA4B,eAAA;EPHzC,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBQV/B,iBAAA,CAAA;cAYH,kBAAA,SAA2B,eAAA;ERHxC,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC;;;;;iBSV/B,eAAA,CAAA;cAYH,kBAAA,SAA2B,eAAA;ETHxC,OAAa,eAAA,EAAA,GAAA,GAAA,MACkC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export { CurrentTimeDisplay } from './components/media-current-time-display';\nexport { DurationDisplay } from './components/media-duration-display';\nexport { FullscreenButton } from './components/media-fullscreen-button';\nexport { MuteButton } from './components/media-mute-button';\nexport { PlayButton } from './components/media-play-button';\nexport { Popover } from './components/media-popover';\nexport { TimeSlider } from './components/media-time-slider';\nexport { Tooltip } from './components/media-tooltip';\nexport { VolumeSlider } from './components/media-volume-slider';\nexport { MediaContainer } from './media/media-container';\nexport { MediaProvider } from './media/media-provider';\nexport { MediaSkin } from './media/media-skin';\n\nexport function defineVjsPlayer(): void {\n /** @TODO - Reimplement me (at least as a POC) (CJP) */\n // defineVideoProvider();\n // defineVideoDefaultSkin();\n // <video> is native, no need to define\n}\n"],"mappings":";;;AAaA,SAAgB,kBAAwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-preview-time-display-C7jpAct6.js","names":["usePreviewTimeDisplayState: StateHook<{\n previewTime: number | undefined;\n}>","getPreviewTimeDisplayProps: PropsHook<{\n previewTime: number | undefined;\n}>","PreviewTimeDisplay: ConnectedComponentConstructor<PreviewTimeDisplayState>"],"sources":["../src/components/media-preview-time-display.ts"],"sourcesContent":["import type { PreviewTimeDisplayState } from '@videojs/core/store';\nimport type { ConnectedComponentConstructor, PropsHook, StateHook } from '../utils/component-factory';\n\nimport { previewTimeDisplayStateDefinition } from '@videojs/core/store';\n\nimport { formatDisplayTime } from '@videojs/utils';\nimport { toConnectedHTMLComponent } from '../utils/component-factory';\n\nexport class PreviewTimeDisplayBase extends HTMLElement {\n static shadowRootOptions = {\n mode: 'open' as ShadowRootMode,\n };\n\n static observedAttributes: string[] = ['show-remaining'];\n\n _state:\n | {\n previewTime: number | undefined;\n }\n | undefined;\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof PreviewTimeDisplayBase).shadowRootOptions);\n }\n }\n\n get previewTime(): number {\n return this._state?.previewTime ?? 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 = formatDisplayTime(state.previewTime);\n\n if (this.shadowRoot) {\n this.shadowRoot.textContent = timeLabel;\n }\n }\n}\n\nexport const usePreviewTimeDisplayState: StateHook<{\n previewTime: number | undefined;\n}> = {\n keys: [...previewTimeDisplayStateDefinition.keys],\n transform: (rawState, _mediaStore) => ({\n ...previewTimeDisplayStateDefinition.stateTransform(rawState),\n // Preview time display is read-only, so no request methods needed\n }),\n};\n\nexport const getPreviewTimeDisplayProps: PropsHook<{\n previewTime: number | undefined;\n}> = (_state, _element) => {\n const baseProps: Record<string, any> = {};\n return baseProps;\n};\n\nexport const PreviewTimeDisplay: ConnectedComponentConstructor<PreviewTimeDisplayState> = toConnectedHTMLComponent(\n PreviewTimeDisplayBase,\n usePreviewTimeDisplayState,\n getPreviewTimeDisplayProps,\n 'PreviewTimeDisplay',\n);\n\n// Register the custom element\nif (!globalThis.customElements.get('preview-time-display')) {\n globalThis.customElements.define('preview-time-display', PreviewTimeDisplay);\n}\n\nexport default PreviewTimeDisplay;\n"],"mappings":";;;;;AAQA,IAAa,yBAAb,cAA4C,YAAY;;2BAC3B,EACzB,MAAM,QACP;;;4BAEqC,CAAC,iBAAiB;;CAQxD,cAAc;AACZ,SAAO;AAEP,MAAI,CAAC,KAAK,WACR,MAAK,aAAc,KAAK,YAA8C,kBAAkB;;CAI5F,IAAI,cAAsB;AACxB,SAAO,KAAK,QAAQ,eAAe;;CAGrC,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,YAAY,kBAAkB,MAAM,YAAY;AAEtD,MAAI,KAAK,WACP,MAAK,WAAW,cAAc;;;AAKpC,MAAaA,6BAER;CACH,MAAM,CAAC,GAAG,kCAAkC,KAAK;CACjD,YAAY,UAAU,iBAAiB,EACrC,GAAG,kCAAkC,eAAe,SAAS,EAE9D;CACF;AAED,MAAaC,8BAEP,QAAQ,aAAa;AAEzB,QADuC,EAAE;;AAI3C,MAAaC,qBAA6E,yBACxF,wBACA,4BACA,4BACA,qBACD;AAGD,IAAI,CAAC,WAAW,eAAe,IAAI,uBAAuB,CACxD,YAAW,eAAe,OAAO,wBAAwB,mBAAmB"}
@@ -1,182 +0,0 @@
1
- import { CurrentTimeDisplayState, DurationDisplayState, FullscreenButtonState, MediaStore, MuteButtonState, PlayButtonState } from "@videojs/core/store";
2
- import { Constructor, CustomElement } from "@open-wc/context-protocol";
3
- import { Placement } from "@floating-ui/dom";
4
- import { TimeSlider, VolumeSlider } from "@videojs/core";
5
-
6
- //#region src/utils/component-factory.d.ts
7
-
8
- interface ConnectedComponentConstructor<State> {
9
- new (state: State): HTMLElement;
10
- }
11
- //#endregion
12
- //#region src/components/media-current-time-display.d.ts
13
-
14
- declare const CurrentTimeDisplay: ConnectedComponentConstructor<CurrentTimeDisplayState>;
15
- //#endregion
16
- //#region src/components/media-duration-display.d.ts
17
-
18
- declare const DurationDisplay: ConnectedComponentConstructor<DurationDisplayState>;
19
- //#endregion
20
- //#region src/components/media-fullscreen-button.d.ts
21
-
22
- declare const FullscreenButton: ConnectedComponentConstructor<FullscreenButtonState>;
23
- //#endregion
24
- //#region src/components/media-mute-button.d.ts
25
-
26
- declare const MuteButton: ConnectedComponentConstructor<MuteButtonState>;
27
- //#endregion
28
- //#region src/components/media-play-button.d.ts
29
- declare const PlayButton: ConnectedComponentConstructor<PlayButtonState>;
30
- //#endregion
31
- //#region src/components/media-popover.d.ts
32
- declare class Popover extends HTMLElement {
33
- #private;
34
- connectedCallback(): void;
35
- disconnectedCallback(): void;
36
- handleEvent(event: Event): void;
37
- static get observedAttributes(): string[];
38
- get openOnHover(): boolean;
39
- get delay(): number;
40
- get closeDelay(): number;
41
- get side(): Placement;
42
- get sideOffset(): number;
43
- }
44
- //#endregion
45
- //#region src/components/media-time-slider.d.ts
46
-
47
- declare const TimeSliderRoot: ConnectedComponentConstructor<{
48
- currentTime: number;
49
- duration: number;
50
- requestSeek: (time: number) => void;
51
- core: TimeSlider | null;
52
- }>;
53
- declare const TimeSliderTrack: ConnectedComponentConstructor<any>;
54
- declare const TimeSliderProgress: ConnectedComponentConstructor<any>;
55
- declare const TimeSliderPointer: ConnectedComponentConstructor<any>;
56
- declare const TimeSliderThumb: ConnectedComponentConstructor<any>;
57
- declare const TimeSlider$1: {
58
- Root: typeof TimeSliderRoot;
59
- Track: typeof TimeSliderTrack;
60
- Progress: typeof TimeSliderProgress;
61
- Pointer: typeof TimeSliderPointer;
62
- Thumb: typeof TimeSliderThumb;
63
- };
64
- //#endregion
65
- //#region src/components/media-tooltip.d.ts
66
- declare class MediaTooltipRoot extends HTMLElement {
67
- #private;
68
- constructor();
69
- handleEvent(event: Event): void;
70
- connectedCallback(): void;
71
- disconnectedCallback(): void;
72
- static get observedAttributes(): string[];
73
- get delay(): number;
74
- get closeDelay(): number;
75
- get trackCursorAxis(): "x" | "y" | "both" | undefined;
76
- }
77
- declare class MediaTooltipTrigger extends HTMLElement {
78
- connectedCallback(): void;
79
- }
80
- declare class MediaTooltipPortal extends HTMLElement {
81
- #private;
82
- connectedCallback(): void;
83
- disconnectedCallback(): void;
84
- querySelector(selector: string): HTMLElement | null;
85
- }
86
- declare class MediaTooltipPositioner extends HTMLElement {
87
- connectedCallback(): void;
88
- get side(): Placement;
89
- get sideOffset(): number;
90
- get collisionPadding(): number;
91
- }
92
- declare class MediaTooltipPopup extends HTMLElement {
93
- connectedCallback(): void;
94
- }
95
- declare class MediaTooltipArrow extends HTMLElement {
96
- connectedCallback(): void;
97
- }
98
- declare const Tooltip: {
99
- Root: typeof MediaTooltipRoot;
100
- Trigger: typeof MediaTooltipTrigger;
101
- Portal: typeof MediaTooltipPortal;
102
- Positioner: typeof MediaTooltipPositioner;
103
- Popup: typeof MediaTooltipPopup;
104
- Arrow: typeof MediaTooltipArrow;
105
- };
106
- //#endregion
107
- //#region src/components/media-volume-slider.d.ts
108
-
109
- /**
110
- * Connected VolumeSlider Root component using hook-style architecture
111
- */
112
- declare const VolumeSliderRoot: ConnectedComponentConstructor<{
113
- volume: number;
114
- muted: boolean;
115
- volumeLevel: string;
116
- requestVolumeChange: (volume: number) => void;
117
- core: VolumeSlider | null;
118
- }>;
119
- /**
120
- * Connected VolumeSlider Track component
121
- */
122
- declare const VolumeSliderTrack: ConnectedComponentConstructor<any>;
123
- /**
124
- * Connected VolumeSlider Progress component
125
- */
126
- declare const VolumeSliderProgress: ConnectedComponentConstructor<any>;
127
- /**
128
- * Connected VolumeSlider Thumb component
129
- */
130
- declare const VolumeSliderThumb: ConnectedComponentConstructor<any>;
131
- /**
132
- * Compound VolumeSlider component object
133
- */
134
- declare const VolumeSlider$1: {
135
- Root: typeof VolumeSliderRoot;
136
- Track: typeof VolumeSliderTrack;
137
- Progress: typeof VolumeSliderProgress;
138
- Thumb: typeof VolumeSliderThumb;
139
- };
140
- //#endregion
141
- //#region src/media/media-container.d.ts
142
- declare const CustomElementConsumer: Constructor<CustomElement>;
143
- declare class MediaContainer extends CustomElementConsumer {
144
- static shadowRootOptions: {
145
- mode: ShadowRootMode;
146
- };
147
- static getTemplateHTML: () => string;
148
- _mediaStore: any;
149
- _mediaSlot: HTMLSlotElement;
150
- _paused: boolean;
151
- contexts: {
152
- mediaStore: (mediaStore: any) => void;
153
- };
154
- constructor();
155
- connectedCallback(): void;
156
- disconnectedCallback(): void;
157
- _registerContainerStateOwner: () => void;
158
- _unregisterContainerStateOwner: () => void;
159
- _handleMediaSlotChange: () => void;
160
- _handleClick: (event: Event) => void;
161
- _subscribeToPlayState: () => void;
162
- }
163
- //#endregion
164
- //#region src/media/media-provider.d.ts
165
- declare const ProviderHTMLElement: Constructor<CustomElement>;
166
- declare class MediaProvider extends ProviderHTMLElement {
167
- contexts: {
168
- mediaStore: () => MediaStore;
169
- };
170
- }
171
- //#endregion
172
- //#region src/media/media-skin.d.ts
173
- declare class MediaSkin extends HTMLElement {
174
- static shadowRootOptions: {
175
- mode: ShadowRootMode;
176
- };
177
- static getTemplateHTML: () => string;
178
- constructor();
179
- }
180
- //#endregion
181
- export { Tooltip as a, PlayButton as c, DurationDisplay as d, CurrentTimeDisplay as f, VolumeSlider$1 as i, MuteButton as l, MediaProvider as n, TimeSlider$1 as o, MediaContainer as r, Popover as s, MediaSkin as t, FullscreenButton as u };
182
- //# sourceMappingURL=media-skin-D44BfH6y.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-skin-D44BfH6y.d.ts","names":["useCurrentTimeDisplayState: StateHook<{\n currentTime: number | undefined;\n duration: number | undefined;\n}>","getCurrentTimeDisplayProps: PropsHook<{\n currentTime: number | undefined;\n duration: number | undefined;\n}>","CurrentTimeDisplay: ConnectedComponentConstructor<CurrentTimeDisplayState>","useDurationDisplayState: StateHook<{\n duration: number | undefined;\n}>","getDurationDisplayProps: PropsHook<{\n duration: number | undefined;\n}>","DurationDisplay: ConnectedComponentConstructor<DurationDisplayState>","getFullscreenButtonState: StateHook<{ fullscreen: boolean }>","getFullscreenButtonProps: PropsHook<{ fullscreen: boolean }>","FullscreenButton: ConnectedComponentConstructor<FullscreenButtonState>","getMuteButtonState: StateHook<{\n muted: boolean;\n volumeLevel: string;\n}>","getMuteButtonProps: PropsHook<{\n muted: boolean;\n volumeLevel: string;\n}>","MuteButton: ConnectedComponentConstructor<MuteButtonState>","getPlayButtonState: StateHook<{ paused: boolean }>","getPlayButtonProps: PropsHook<{ paused: boolean }>","PlayButton: ConnectedComponentConstructor<PlayButtonState>","getTimeSliderRootProps: PropsHook<{\n currentTime: number;\n duration: number;\n requestSeek: (time: number) => void;\n core: CoreTimeSlider | null;\n}>","useTimeSliderRootState: StateHook<{\n currentTime: number;\n duration: number;\n requestSeek: (time: number) => void;\n core: CoreTimeSlider | null;\n}>","getTimeSliderTrackProps: PropsHook<Record<string, never>>","getTimeSliderProgressProps: PropsHook<Record<string, never>>","getTimeSliderPointerProps: PropsHook<Record<string, never>>","getTimeSliderThumbProps: PropsHook<Record<string, never>>","TimeSliderRoot: ConnectedComponentConstructor<{\n currentTime: number;\n duration: number;\n requestSeek: (time: number) => void;\n core: CoreTimeSlider | null;\n}>","TimeSliderTrack: ConnectedComponentConstructor<any>","TimeSliderProgress: ConnectedComponentConstructor<any>","TimeSliderPointer: ConnectedComponentConstructor<any>","TimeSliderThumb: ConnectedComponentConstructor<any>","Tooltip: {\n Root: typeof MediaTooltipRoot;\n Trigger: typeof MediaTooltipTrigger;\n Portal: typeof MediaTooltipPortal;\n Positioner: typeof MediaTooltipPositioner;\n Popup: typeof MediaTooltipPopup;\n Arrow: typeof MediaTooltipArrow;\n}","getVolumeSliderRootProps: PropsHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","useVolumeSliderRootState: StateHook<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","getVolumeSliderTrackProps: PropsHook<Record<string, never>>","getVolumeSliderProgressProps: PropsHook<Record<string, never>>","getVolumeSliderThumbProps: PropsHook<Record<string, never>>","VolumeSliderRoot: ConnectedComponentConstructor<{\n volume: number;\n muted: boolean;\n volumeLevel: string;\n requestVolumeChange: (volume: number) => void;\n core: CoreVolumeSlider | null;\n}>","VolumeSliderTrack: ConnectedComponentConstructor<any>","VolumeSliderProgress: ConnectedComponentConstructor<any>","VolumeSliderThumb: ConnectedComponentConstructor<any>","CustomElementConsumer: Constructor<CustomElement>","ProviderHTMLElement: Constructor<CustomElement>"],"sources":["../src/utils/component-factory.ts","../src/components/media-current-time-display.ts","../src/components/media-duration-display.ts","../src/components/media-fullscreen-button.ts","../src/components/media-mute-button.ts","../src/components/media-play-button.ts","../src/components/media-popover.ts","../src/components/media-time-slider.ts","../src/components/media-tooltip.ts","../src/components/media-volume-slider.ts","../src/media/media-container.ts","../src/media/media-provider.ts","../src/media/media-skin.ts"],"sourcesContent":[],"mappings":";;;;;;;UAaiB;cACH,QAAQ;AE+DtB;;;;AGbac,cJmBAZ,kBInB0C,EJmBtB,6BInBR,CJmBsC,uBInBtC,CAAA;;;;cHaZG,iBAAiB,8BAA8B;;;;cCH/CG,kBAAkB,8BAA8B;;;;cCWhDG,YAAY,8BAA8B;;;cCrB1CG,YAAY,8BAA8B;;;cChDjD,OAAA,SAAgB,WAAA;;;;qBAmCD;ENtCrB,WAAiB,kBAAA,CAAA,CAAA,EAAA,MAAA,EAAA;;;;ECsEjB,IAAaZ,IAAAA,CAAAA,CAAAA,EKMC,SLNDA;;;;;;AOmRA,cDvHAmB,cCuHA,EDvHgB,6BCuHe,CAAA;EA2B5C,WAAa,EAAA,MAAA;EAMb,QAAa,EAAA,MAAA;EA8Bb,WAAaK,EAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,GAAAA,IAAAA;EACE,IAAA,EDnLP,UCmLO,GAAA,IAAA;CACG,CAAA;AACD,cDlLJJ,eCkLI,EDlLa,6BCkLb,CAAA,GAAA,CAAA;AACI,cD5KRC,kBC4KQ,ED5KY,6BC4KZ,CAAA,GAAA,CAAA;AACL,cDtKHC,iBCsKG,EDtKgB,6BCsKhB,CAAA,GAAA,CAAA;AACA,cDhKHC,eCgKG,EDhKc,6BCgKd,CAAA,GAAA,CAAA;AAAA,cDzJH,YCyJG,EAAA;eD/ID;gBACC;mBACG;EElDnB,OAAaO,EAAAA,OFmDK,iBEnDLA;EAWb,KAAaC,EAAAA,OFyCG,eEzCgB;AAUhC,CAAA;;;cD3Pa,gBAAA,SAAyB,WAAA;;;qBAkBjB;;ERXrB,oBAAiB,CAAA,CAAA,EAAA,IAAA;;;;ECsEjB,IAAa/B,eAAAA,CAAAA,CAAAA,EAAAA,GAAkD,GAAA,GAAA,GAAA,MAAA,GAAA,SAAA;;cOmLlD,mBAAA,SAA4B,WAAA;;ANzLzC;cMuOa,kBAAA,SAA2B,WAAA;;;EL1OxC,oBAAaM,CAAAA,CAAgD,EAAA,IAAA;mCKsP1B;;cAsCtB,sBAAA,SAA+B,WAAA;EJjR5C,iBAAuD,CAAA,CAAA,EAAA,IAAA;cI+RzC;;;AHpTd;cGiUa,iBAAA,SAA0B,WAAA;;;AFjXjC,cEuXO,iBAAA,SAA0B,WAAA,CFvXjC;EAmCe,iBAAA,CAAA,CAAA,EAAA,IAAA;;AAnCC,cEqZTkB,OFrZS,EAAA;EAAA,IAAA,EAAA,OEsZP,gBFtZO;kBEuZJ;iBACD;qBACI;ED1LrB,KAAaL,EAAAA,OC2LG,iBD3LHA;EAOb,KAAaC,EAAAA,OCqLG,iBDrLc;AAO9B,CAAA;;;;;;;AG9OMc,cD6NOJ,gBC7N4B,ED6NV,6BC7NF,CAAA;EAE7B,MAAa,EAAA,MAAA;EACkC,KAAA,EAAA,OAAA;EAIjC,WAAA,EAAA,MAAA;EAmDW,mBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAxDW,IAAA,EDgO5B,YChO4B,GAAA,IAAA;CAAA,CAAA;;;;ACX9BK,cFiPOJ,iBEjP0B,EFiPP,6BEjPL,CAAA,GAAA,CAAA;AAE3B;;;cFyPaC,sBAAsB;AGhPnC;;;cH0PaC,mBAAmB;;;;cAUnB;eASE;gBACC;mBACG;gBACH;;;;cClRVC,uBAAuB,YAAY;cAE5B,cAAA,SAAuB,qBAAA;;UACW;EVL/C,CAAA;;;cUSc;ET6Dd,OAAalC,EAAAA,OAAAA;;;;ECNb,WAAaG,CAAAA;;;;ECHb,8BAA6D,EAAA,GAAA,GAAA,IAAA;;wBODpC;;ANYzB;;;cO/EMgC,qBAAqB,YAAY;cAE1B,aAAA,SAAsB,mBAAA;;sBAEf;EXGpB,CAAA;;;;cYIa,SAAA,SAAkB,WAAA;;UACgB;;;EZL/C,WAAiB,CAAA"}