@videojs/react 0.1.0-preview.8 → 10.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/README.md +1 -1
  2. package/dist/default/_virtual/_rolldown/runtime.js +18 -0
  3. package/dist/default/index.js +22 -0
  4. package/dist/default/media/audio.js +22 -0
  5. package/dist/default/media/audio.js.map +1 -0
  6. package/dist/default/media/background-video/index.js +28 -0
  7. package/dist/default/media/background-video/index.js.map +1 -0
  8. package/dist/default/media/hls-video/index.js +25 -0
  9. package/dist/default/media/hls-video/index.js.map +1 -0
  10. package/dist/default/media/video.js +22 -0
  11. package/dist/default/media/video.js.map +1 -0
  12. package/dist/default/player/context.js +55 -0
  13. package/dist/default/player/context.js.map +1 -0
  14. package/dist/default/player/create-player.js +38 -0
  15. package/dist/default/player/create-player.js.map +1 -0
  16. package/dist/default/presets/audio/index.js +5 -0
  17. package/dist/default/presets/audio/minimal-skin.css +3 -0
  18. package/dist/default/presets/audio/minimal-skin.js +11 -0
  19. package/dist/default/presets/audio/minimal-skin.js.map +1 -0
  20. package/dist/default/presets/audio/skin.css +3 -0
  21. package/dist/default/presets/audio/skin.js +11 -0
  22. package/dist/default/presets/audio/skin.js.map +1 -0
  23. package/dist/default/presets/background/index.js +4 -0
  24. package/dist/default/presets/background/skin.css +3 -0
  25. package/dist/default/presets/background/skin.js +11 -0
  26. package/dist/default/presets/background/skin.js.map +1 -0
  27. package/dist/default/presets/video/index.js +7 -0
  28. package/dist/default/presets/video/minimal-skin.css +637 -0
  29. package/dist/default/presets/video/minimal-skin.js +234 -0
  30. package/dist/default/presets/video/minimal-skin.js.map +1 -0
  31. package/dist/default/presets/video/minimal-skin.tailwind.js +231 -0
  32. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -0
  33. package/dist/default/presets/video/skin.css +638 -0
  34. package/dist/default/presets/video/skin.js +223 -0
  35. package/dist/default/presets/video/skin.js.map +1 -0
  36. package/dist/default/presets/video/skin.tailwind.js +222 -0
  37. package/dist/default/presets/video/skin.tailwind.js.map +1 -0
  38. package/dist/default/ui/buffering-indicator/buffering-indicator.js +50 -0
  39. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -0
  40. package/dist/default/ui/buffering-indicator/index.js +3 -0
  41. package/dist/default/ui/captions-button/captions-button.js +51 -0
  42. package/dist/default/ui/captions-button/captions-button.js.map +1 -0
  43. package/dist/default/ui/captions-button/index.js +3 -0
  44. package/dist/default/ui/controls/controls-group.js +27 -0
  45. package/dist/default/ui/controls/controls-group.js.map +1 -0
  46. package/dist/default/ui/controls/controls-root.js +31 -0
  47. package/dist/default/ui/controls/controls-root.js.map +1 -0
  48. package/dist/default/ui/controls/index.js +3 -0
  49. package/dist/default/ui/controls/index.parts.js +13 -0
  50. package/dist/default/ui/controls/index.parts.js.map +1 -0
  51. package/dist/default/ui/error-dialog/error-dialog.js +54 -0
  52. package/dist/default/ui/error-dialog/error-dialog.js.map +1 -0
  53. package/dist/default/ui/error-dialog/index.js +3 -0
  54. package/dist/default/ui/fullscreen-button/fullscreen-button.js +44 -0
  55. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -0
  56. package/dist/default/ui/fullscreen-button/index.js +3 -0
  57. package/dist/default/ui/hooks/use-button.js +44 -0
  58. package/dist/default/ui/hooks/use-button.js.map +1 -0
  59. package/dist/default/ui/mute-button/index.js +3 -0
  60. package/dist/default/ui/mute-button/mute-button.js +47 -0
  61. package/dist/default/ui/mute-button/mute-button.js.map +1 -0
  62. package/dist/default/ui/pip-button/index.js +3 -0
  63. package/dist/default/ui/pip-button/pip-button.js +44 -0
  64. package/dist/default/ui/pip-button/pip-button.js.map +1 -0
  65. package/dist/default/ui/play-button/index.js +3 -0
  66. package/dist/default/ui/play-button/play-button.js +60 -0
  67. package/dist/default/ui/play-button/play-button.js.map +1 -0
  68. package/dist/default/ui/poster/index.js +3 -0
  69. package/dist/default/ui/poster/poster.js +43 -0
  70. package/dist/default/ui/poster/poster.js.map +1 -0
  71. package/dist/default/ui/seek-button/index.js +3 -0
  72. package/dist/default/ui/seek-button/seek-button.js +62 -0
  73. package/dist/default/ui/seek-button/seek-button.js.map +1 -0
  74. package/dist/default/ui/time/index.js +3 -0
  75. package/dist/default/ui/time/index.parts.js +15 -0
  76. package/dist/default/ui/time/index.parts.js.map +1 -0
  77. package/dist/default/ui/time/time-group.js +34 -0
  78. package/dist/default/ui/time/time-group.js.map +1 -0
  79. package/dist/default/ui/time/time-separator.js +34 -0
  80. package/dist/default/ui/time/time-separator.js.map +1 -0
  81. package/dist/default/ui/time/time-value.js +54 -0
  82. package/dist/default/ui/time/time-value.js.map +1 -0
  83. package/dist/default/utils/attach-media-element.js +12 -0
  84. package/dist/default/utils/attach-media-element.js.map +1 -0
  85. package/dist/default/utils/media-props.js +11 -0
  86. package/dist/default/utils/media-props.js.map +1 -0
  87. package/dist/default/utils/merge-props.js +85 -0
  88. package/dist/default/utils/merge-props.js.map +1 -0
  89. package/dist/default/utils/use-composed-refs.js +57 -0
  90. package/dist/default/utils/use-composed-refs.js.map +1 -0
  91. package/dist/default/utils/use-render.js +71 -0
  92. package/dist/default/utils/use-render.js.map +1 -0
  93. package/dist/dev/_virtual/_rolldown/runtime.js +18 -0
  94. package/dist/dev/index.d.ts +23 -0
  95. package/dist/dev/index.js +22 -0
  96. package/dist/dev/media/audio.d.ts +12 -0
  97. package/dist/dev/media/audio.d.ts.map +1 -0
  98. package/dist/dev/media/audio.js +22 -0
  99. package/dist/dev/media/audio.js.map +1 -0
  100. package/dist/dev/media/background-video/index.d.ts +12 -0
  101. package/dist/dev/media/background-video/index.d.ts.map +1 -0
  102. package/dist/dev/media/background-video/index.js +28 -0
  103. package/dist/dev/media/background-video/index.js.map +1 -0
  104. package/dist/dev/media/hls-video/index.d.ts +11 -0
  105. package/dist/dev/media/hls-video/index.d.ts.map +1 -0
  106. package/dist/dev/media/hls-video/index.js +25 -0
  107. package/dist/dev/media/hls-video/index.js.map +1 -0
  108. package/dist/dev/media/video.d.ts +12 -0
  109. package/dist/dev/media/video.d.ts.map +1 -0
  110. package/dist/dev/media/video.js +22 -0
  111. package/dist/dev/media/video.js.map +1 -0
  112. package/dist/dev/player/context.d.ts +40 -0
  113. package/dist/dev/player/context.d.ts.map +1 -0
  114. package/dist/dev/player/context.js +55 -0
  115. package/dist/dev/player/context.js.map +1 -0
  116. package/dist/dev/player/create-player.d.ts +47 -0
  117. package/dist/dev/player/create-player.d.ts.map +1 -0
  118. package/dist/dev/player/create-player.js +39 -0
  119. package/dist/dev/player/create-player.js.map +1 -0
  120. package/dist/dev/presets/audio/index.d.ts +4 -0
  121. package/dist/dev/presets/audio/index.js +5 -0
  122. package/dist/dev/presets/audio/minimal-skin.css +3 -0
  123. package/dist/dev/presets/audio/minimal-skin.d.ts +9 -0
  124. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -0
  125. package/dist/dev/presets/audio/minimal-skin.js +11 -0
  126. package/dist/dev/presets/audio/minimal-skin.js.map +1 -0
  127. package/dist/dev/presets/audio/skin.css +3 -0
  128. package/dist/dev/presets/audio/skin.d.ts +9 -0
  129. package/dist/dev/presets/audio/skin.d.ts.map +1 -0
  130. package/dist/dev/presets/audio/skin.js +11 -0
  131. package/dist/dev/presets/audio/skin.js.map +1 -0
  132. package/dist/dev/presets/background/index.d.ts +3 -0
  133. package/dist/dev/presets/background/index.js +4 -0
  134. package/dist/dev/presets/background/skin.css +3 -0
  135. package/dist/dev/presets/background/skin.d.ts +9 -0
  136. package/dist/dev/presets/background/skin.d.ts.map +1 -0
  137. package/dist/dev/presets/background/skin.js +11 -0
  138. package/dist/dev/presets/background/skin.js.map +1 -0
  139. package/dist/dev/presets/types.d.ts +10 -0
  140. package/dist/dev/presets/types.d.ts.map +1 -0
  141. package/dist/dev/presets/video/index.d.ts +6 -0
  142. package/dist/dev/presets/video/index.js +7 -0
  143. package/dist/dev/presets/video/minimal-skin.css +637 -0
  144. package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
  145. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -0
  146. package/dist/dev/presets/video/minimal-skin.js +234 -0
  147. package/dist/dev/presets/video/minimal-skin.js.map +1 -0
  148. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +8 -0
  149. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -0
  150. package/dist/dev/presets/video/minimal-skin.tailwind.js +231 -0
  151. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -0
  152. package/dist/dev/presets/video/skin.css +638 -0
  153. package/dist/dev/presets/video/skin.d.ts +9 -0
  154. package/dist/dev/presets/video/skin.d.ts.map +1 -0
  155. package/dist/dev/presets/video/skin.js +223 -0
  156. package/dist/dev/presets/video/skin.js.map +1 -0
  157. package/dist/dev/presets/video/skin.tailwind.d.ts +8 -0
  158. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -0
  159. package/dist/dev/presets/video/skin.tailwind.js +222 -0
  160. package/dist/dev/presets/video/skin.tailwind.js.map +1 -0
  161. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +32 -0
  162. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -0
  163. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +53 -0
  164. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -0
  165. package/dist/dev/ui/buffering-indicator/index.d.ts +2 -0
  166. package/dist/dev/ui/buffering-indicator/index.js +3 -0
  167. package/dist/dev/ui/captions-button/captions-button.d.ts +36 -0
  168. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -0
  169. package/dist/dev/ui/captions-button/captions-button.js +51 -0
  170. package/dist/dev/ui/captions-button/captions-button.js.map +1 -0
  171. package/dist/dev/ui/captions-button/index.d.ts +2 -0
  172. package/dist/dev/ui/captions-button/index.js +3 -0
  173. package/dist/dev/ui/controls/controls-group.d.ts +17 -0
  174. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -0
  175. package/dist/dev/ui/controls/controls-group.js +27 -0
  176. package/dist/dev/ui/controls/controls-group.js.map +1 -0
  177. package/dist/dev/ui/controls/controls-root.d.ts +18 -0
  178. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -0
  179. package/dist/dev/ui/controls/controls-root.js +34 -0
  180. package/dist/dev/ui/controls/controls-root.js.map +1 -0
  181. package/dist/dev/ui/controls/index.d.ts +2 -0
  182. package/dist/dev/ui/controls/index.js +3 -0
  183. package/dist/dev/ui/controls/index.parts.d.ts +10 -0
  184. package/dist/dev/ui/controls/index.parts.d.ts.map +1 -0
  185. package/dist/dev/ui/controls/index.parts.js +13 -0
  186. package/dist/dev/ui/controls/index.parts.js.map +1 -0
  187. package/dist/dev/ui/error-dialog/error-dialog.d.ts +35 -0
  188. package/dist/dev/ui/error-dialog/error-dialog.d.ts.map +1 -0
  189. package/dist/dev/ui/error-dialog/error-dialog.js +54 -0
  190. package/dist/dev/ui/error-dialog/error-dialog.js.map +1 -0
  191. package/dist/dev/ui/error-dialog/index.d.ts +2 -0
  192. package/dist/dev/ui/error-dialog/index.js +3 -0
  193. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +14 -0
  194. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -0
  195. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +47 -0
  196. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -0
  197. package/dist/dev/ui/fullscreen-button/index.d.ts +2 -0
  198. package/dist/dev/ui/fullscreen-button/index.js +3 -0
  199. package/dist/dev/ui/hooks/use-button.d.ts +40 -0
  200. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -0
  201. package/dist/dev/ui/hooks/use-button.js +46 -0
  202. package/dist/dev/ui/hooks/use-button.js.map +1 -0
  203. package/dist/dev/ui/mute-button/index.d.ts +2 -0
  204. package/dist/dev/ui/mute-button/index.js +3 -0
  205. package/dist/dev/ui/mute-button/mute-button.d.ts +17 -0
  206. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -0
  207. package/dist/dev/ui/mute-button/mute-button.js +50 -0
  208. package/dist/dev/ui/mute-button/mute-button.js.map +1 -0
  209. package/dist/dev/ui/pip-button/index.d.ts +2 -0
  210. package/dist/dev/ui/pip-button/index.js +3 -0
  211. package/dist/dev/ui/pip-button/pip-button.d.ts +14 -0
  212. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -0
  213. package/dist/dev/ui/pip-button/pip-button.js +47 -0
  214. package/dist/dev/ui/pip-button/pip-button.js.map +1 -0
  215. package/dist/dev/ui/play-button/index.d.ts +2 -0
  216. package/dist/dev/ui/play-button/index.js +3 -0
  217. package/dist/dev/ui/play-button/play-button.d.ts +30 -0
  218. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -0
  219. package/dist/dev/ui/play-button/play-button.js +63 -0
  220. package/dist/dev/ui/play-button/play-button.js.map +1 -0
  221. package/dist/dev/ui/poster/index.d.ts +2 -0
  222. package/dist/dev/ui/poster/index.js +3 -0
  223. package/dist/dev/ui/poster/poster.d.ts +28 -0
  224. package/dist/dev/ui/poster/poster.d.ts.map +1 -0
  225. package/dist/dev/ui/poster/poster.js +46 -0
  226. package/dist/dev/ui/poster/poster.js.map +1 -0
  227. package/dist/dev/ui/seek-button/index.d.ts +2 -0
  228. package/dist/dev/ui/seek-button/index.js +3 -0
  229. package/dist/dev/ui/seek-button/seek-button.d.ts +31 -0
  230. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -0
  231. package/dist/dev/ui/seek-button/seek-button.js +65 -0
  232. package/dist/dev/ui/seek-button/seek-button.js.map +1 -0
  233. package/dist/dev/ui/time/index.d.ts +2 -0
  234. package/dist/dev/ui/time/index.js +3 -0
  235. package/dist/dev/ui/time/index.parts.d.ts +11 -0
  236. package/dist/dev/ui/time/index.parts.d.ts.map +1 -0
  237. package/dist/dev/ui/time/index.parts.js +15 -0
  238. package/dist/dev/ui/time/index.parts.js.map +1 -0
  239. package/dist/dev/ui/time/time-group.d.ts +29 -0
  240. package/dist/dev/ui/time/time-group.d.ts.map +1 -0
  241. package/dist/dev/ui/time/time-group.js +34 -0
  242. package/dist/dev/ui/time/time-group.js.map +1 -0
  243. package/dist/dev/ui/time/time-separator.d.ts +26 -0
  244. package/dist/dev/ui/time/time-separator.d.ts.map +1 -0
  245. package/dist/dev/ui/time/time-separator.js +34 -0
  246. package/dist/dev/ui/time/time-separator.js.map +1 -0
  247. package/dist/dev/ui/time/time-value.d.ts +24 -0
  248. package/dist/dev/ui/time/time-value.d.ts.map +1 -0
  249. package/dist/dev/ui/time/time-value.js +57 -0
  250. package/dist/dev/ui/time/time-value.js.map +1 -0
  251. package/dist/dev/utils/attach-media-element.js +12 -0
  252. package/dist/dev/utils/attach-media-element.js.map +1 -0
  253. package/dist/dev/utils/media-props.js +11 -0
  254. package/dist/dev/utils/media-props.js.map +1 -0
  255. package/dist/dev/utils/merge-props.d.ts +26 -0
  256. package/dist/dev/utils/merge-props.d.ts.map +1 -0
  257. package/dist/dev/utils/merge-props.js +85 -0
  258. package/dist/dev/utils/merge-props.js.map +1 -0
  259. package/dist/dev/utils/types.d.ts +27 -0
  260. package/dist/dev/utils/types.d.ts.map +1 -0
  261. package/dist/dev/utils/use-composed-refs.js +57 -0
  262. package/dist/dev/utils/use-composed-refs.js.map +1 -0
  263. package/dist/dev/utils/use-render.d.ts +45 -0
  264. package/dist/dev/utils/use-render.d.ts.map +1 -0
  265. package/dist/dev/utils/use-render.js +71 -0
  266. package/dist/dev/utils/use-render.js.map +1 -0
  267. package/package.json +58 -53
  268. package/dist/FrostedSkin-t8edr5LV.d.ts +0 -13
  269. package/dist/FrostedSkin-t8edr5LV.d.ts.map +0 -1
  270. package/dist/MinimalSkin-DzHkJgW-.d.ts +0 -13
  271. package/dist/MinimalSkin-DzHkJgW-.d.ts.map +0 -1
  272. package/dist/VolumeSlider-DmlupkvF.js +0 -1042
  273. package/dist/VolumeSlider-DmlupkvF.js.map +0 -1
  274. package/dist/frosted-0lXuIgHt.js +0 -156
  275. package/dist/frosted-0lXuIgHt.js.map +0 -1
  276. package/dist/icons-BqfV81R8.js +0 -316
  277. package/dist/icons-BqfV81R8.js.map +0 -1
  278. package/dist/icons.d.ts +0 -71
  279. package/dist/icons.d.ts.map +0 -1
  280. package/dist/icons.js +0 -3
  281. package/dist/index-CM70WSkA.d.ts +0 -36
  282. package/dist/index-CM70WSkA.d.ts.map +0 -1
  283. package/dist/index.d.ts +0 -312
  284. package/dist/index.d.ts.map +0 -1
  285. package/dist/index.js +0 -89
  286. package/dist/index.js.map +0 -1
  287. package/dist/minimal-B-R9aRNe.js +0 -162
  288. package/dist/minimal-B-R9aRNe.js.map +0 -1
  289. package/dist/skins/frosted.css +0 -4
  290. package/dist/skins/frosted.d.ts +0 -2
  291. package/dist/skins/frosted.js +0 -9
  292. package/dist/skins/minimal.css +0 -4
  293. package/dist/skins/minimal.d.ts +0 -2
  294. package/dist/skins/minimal.js +0 -9
  295. package/dist/store-hGO5HE2A.js +0 -124
  296. package/dist/store-hGO5HE2A.js.map +0 -1
  297. package/dist/store.d.ts +0 -2
  298. package/dist/store.js +0 -6
package/dist/index.d.ts DELETED
@@ -1,312 +0,0 @@
1
- import { a as useMediaDispatch, c as useMediaStore, i as VideoProvider, l as MediaContext, n as MediaStateOwner, o as useMediaRef, r as MediaStore, s as useMediaSelector, t as MediaState } from "./index-CM70WSkA.js";
2
- import { t as FrostedSkin } from "./FrostedSkin-t8edr5LV.js";
3
- import { t as MinimalSkin } from "./MinimalSkin-DzHkJgW-.js";
4
- import React$1, { CSSProperties, DetailedHTMLProps, ElementType, FC, HTMLProps, PropsWithChildren, ReactElement, ReactNode, Ref, RefCallback, VideoHTMLAttributes } from "react";
5
- import { TimeSlider as TimeSlider$1, VolumeSlider as VolumeSlider$1 } from "@videojs/core";
6
-
7
- //#region src/utils/component-factory.d.ts
8
-
9
- type RenderFn<TProps = any, TState = any> = (props: TProps, state: TState) => ReactElement;
10
- /**
11
- * Type helper to infer the component type from the factory
12
- */
13
- type ConnectedComponent<TProps extends Record<string, any>, TRenderFn extends RenderFn<any, any>> = React.ForwardRefExoticComponent<React.PropsWithoutRef<TProps & {
14
- render?: TRenderFn;
15
- }> & React.RefAttributes<HTMLElement>>;
16
- //#endregion
17
- //#region src/components/CurrentTimeDisplay.d.ts
18
- declare function useCurrentTimeDisplayState(_props: any): {
19
- currentTime: number;
20
- duration: number;
21
- };
22
- type CurrentTimeDisplayState = ReturnType<typeof useCurrentTimeDisplayState>;
23
- interface CurrentTimeDisplayProps extends React.ComponentProps<"span"> {
24
- showRemaining?: boolean;
25
- }
26
- declare function renderCurrentTimeDisplay(props: CurrentTimeDisplayProps, state: CurrentTimeDisplayState): JSX.Element;
27
- declare const CurrentTimeDisplay: ConnectedComponent<CurrentTimeDisplayProps, typeof renderCurrentTimeDisplay>;
28
- //#endregion
29
- //#region src/components/DurationDisplay.d.ts
30
- declare function useDurationDisplayState(_props: any): {
31
- duration: number;
32
- };
33
- type useDurationDisplayState = typeof useDurationDisplayState;
34
- type DurationDisplayState = ReturnType<useDurationDisplayState>;
35
- declare function useDurationDisplayProps(props: PropsWithChildren): PropsWithChildren<Record<string, unknown>>;
36
- type useDurationDisplayProps = typeof useDurationDisplayProps;
37
- type DurationDisplayProps = ReturnType<useDurationDisplayProps>;
38
- declare function renderDurationDisplay(props: DurationDisplayProps, state: DurationDisplayState): JSX.Element;
39
- type renderDurationDisplay = typeof renderDurationDisplay;
40
- declare const DurationDisplay: ConnectedComponent<DurationDisplayProps, typeof renderDurationDisplay>;
41
- //#endregion
42
- //#region src/components/FullscreenButton.d.ts
43
- declare function useFullscreenButtonState(_props: any): {
44
- fullscreen: boolean;
45
- requestEnterFullscreen: () => void;
46
- requestExitFullscreen: () => void;
47
- };
48
- type FullscreenButtonState = ReturnType<typeof useFullscreenButtonState>;
49
- declare function getFullscreenButtonProps(props: PropsWithChildren, state: FullscreenButtonState): PropsWithChildren<Record<string, unknown>>;
50
- type FullscreenButtonProps = ReturnType<typeof getFullscreenButtonProps>;
51
- declare function renderFullscreenButton(props: FullscreenButtonProps, state: FullscreenButtonState): JSX.Element;
52
- declare const FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>;
53
- //#endregion
54
- //#region src/components/HlsVideo.d.ts
55
- type MediaStateOwner$1 = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;
56
- /** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */
57
- type ComponentType = ElementType<Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "ref"> & {
58
- ref: Ref<MediaStateOwner$1>;
59
- }>;
60
- type VideoProps$1 = PropsWithChildren<{
61
- component?: ComponentType;
62
- className?: string | undefined;
63
- style?: CSSProperties | undefined;
64
- }>;
65
- declare function HlsVideo({
66
- component,
67
- children,
68
- ...props
69
- }: VideoProps$1): JSX.Element;
70
- //#endregion
71
- //#region src/components/MediaContainer.d.ts
72
- /**
73
- * Hook to associate a React element as the fullscreen container for the media store.
74
- * This is equivalent to Media Chrome's useMediaFullscreenRef but for VJS-10.
75
- *
76
- * The ref callback will register the element as the container state owner
77
- * in the media store, enabling fullscreen functionality.
78
- *
79
- * @example
80
- * import { useMediaContainerRef } from '@videojs/react';
81
- *
82
- * const PlayerContainer = ({ children }) => {
83
- * const containerRef = useMediaContainerRef();
84
- * return <div ref={containerRef}>{children}</div>;
85
- * };
86
- */
87
- declare function useMediaContainerRef(): RefCallback<HTMLElement | null>;
88
- /**
89
- * MediaContainer component that automatically registers itself as the fullscreen container.
90
- * This provides a simple wrapper component for fullscreen functionality.
91
- *
92
- * @example
93
- * import { MediaContainer } from '@videojs/react';
94
- *
95
- * const MyPlayer = () => (
96
- * <MediaContainer>
97
- * <video src="video.mp4" />
98
- * <div>Controls here</div>
99
- * </MediaContainer>
100
- * );
101
- */
102
- declare const MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement>>>;
103
- //#endregion
104
- //#region src/components/MuteButton.d.ts
105
- declare function useMuteButtonState(_props: any): {
106
- volumeLevel: string;
107
- muted: boolean;
108
- requestMute: () => void;
109
- requestUnmute: () => void;
110
- };
111
- type MuteButtonState = ReturnType<typeof useMuteButtonState>;
112
- declare function getMuteButtonProps(props: PropsWithChildren, state: MuteButtonState): PropsWithChildren<Record<string, unknown>>;
113
- type MuteButtonProps = ReturnType<typeof getMuteButtonProps>;
114
- declare function renderMuteButton(props: MuteButtonProps, state: MuteButtonState): JSX.Element;
115
- declare const MuteButton: ConnectedComponent<MuteButtonProps, typeof renderMuteButton>;
116
- //#endregion
117
- //#region src/components/PlayButton.d.ts
118
- declare function usePlayButtonState(_props: any): {
119
- paused: boolean;
120
- requestPlay: () => void;
121
- requestPause: () => void;
122
- };
123
- type PlayButtonState = ReturnType<typeof usePlayButtonState>;
124
- declare function getPlayButtonProps(props: Record<string, unknown>, state: PlayButtonState): PropsWithChildren<Record<string, unknown>>;
125
- type PlayButtonProps = ReturnType<typeof getPlayButtonProps>;
126
- declare function renderPlayButton(props: PlayButtonProps, state: PlayButtonState): JSX.Element;
127
- declare const PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>;
128
- //#endregion
129
- //#region src/components/Popover.d.ts
130
- type Placement$1 = "top" | "top-start" | "top-end";
131
- interface PopoverRootProps {
132
- openOnHover?: boolean;
133
- delay?: number;
134
- closeDelay?: number;
135
- children: ReactNode;
136
- }
137
- interface PopoverTriggerProps {
138
- children: ReactNode;
139
- }
140
- interface PopoverPositionerProps {
141
- side?: Placement$1;
142
- sideOffset?: number;
143
- children: ReactNode;
144
- }
145
- interface PopoverPopupProps {
146
- id?: string;
147
- className?: string;
148
- children: ReactNode;
149
- }
150
- declare function PopoverRoot({
151
- openOnHover,
152
- delay,
153
- closeDelay,
154
- children
155
- }: PopoverRootProps): JSX.Element;
156
- declare function PopoverTrigger({
157
- children
158
- }: PopoverTriggerProps): JSX.Element;
159
- declare function PopoverPositioner({
160
- side,
161
- sideOffset,
162
- children
163
- }: PopoverPositionerProps): JSX.Element | null;
164
- declare function PopoverPopup({
165
- id,
166
- className,
167
- children
168
- }: PopoverPopupProps): JSX.Element;
169
- declare const Popover: {
170
- Root: typeof PopoverRoot;
171
- Trigger: typeof PopoverTrigger;
172
- Positioner: typeof PopoverPositioner;
173
- Popup: typeof PopoverPopup;
174
- };
175
- //#endregion
176
- //#region src/components/PreviewTimeDisplay.d.ts
177
- declare function usePreviewTimeDisplayState(_props: any): {
178
- previewTime: number;
179
- };
180
- type PreviewTimeDisplayState = ReturnType<typeof usePreviewTimeDisplayState>;
181
- interface PreviewTimeDisplayProps extends React.ComponentProps<"span"> {
182
- showRemaining?: boolean;
183
- }
184
- declare function renderPreviewTimeDisplay(props: PreviewTimeDisplayProps, state: PreviewTimeDisplayState): JSX.Element;
185
- declare const PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>;
186
- //#endregion
187
- //#region src/components/TimeSlider.d.ts
188
- interface TimeSliderProps extends React.ComponentPropsWithRef<"div"> {
189
- orientation?: "horizontal" | "vertical";
190
- }
191
- interface TimeSliderRenderProps extends React.ComponentProps<"div"> {
192
- "data-orientation"?: "horizontal" | "vertical";
193
- "data-current-time"?: number;
194
- "data-duration"?: number;
195
- }
196
- declare function renderTimeSliderRoot(props: TimeSliderRenderProps): JSX.Element;
197
- declare const TimeSliderRoot: ConnectedComponent<TimeSliderProps, typeof renderTimeSliderRoot>;
198
- declare function renderTimeSliderTrack(props: TimeSliderRenderProps): JSX.Element;
199
- declare const TimeSliderTrack: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderTrack>;
200
- declare function renderTimeSliderThumb(props: TimeSliderRenderProps): JSX.Element;
201
- declare const TimeSliderThumb: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderThumb>;
202
- declare function renderTimeSliderPointer(props: TimeSliderRenderProps): JSX.Element;
203
- declare const TimeSliderPointer: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderPointer>;
204
- declare function renderTimeSliderProgress(props: TimeSliderRenderProps): JSX.Element;
205
- declare const TimeSliderProgress: ConnectedComponent<React.ComponentProps<"div">, typeof renderTimeSliderProgress>;
206
- declare const TimeSlider: {
207
- Root: typeof TimeSliderRoot;
208
- Track: typeof TimeSliderTrack;
209
- Thumb: typeof TimeSliderThumb;
210
- Pointer: typeof TimeSliderPointer;
211
- Progress: typeof TimeSliderProgress;
212
- };
213
- //#endregion
214
- //#region src/components/Tooltip.d.ts
215
- type Placement = "top" | "top-start" | "top-end";
216
- interface TooltipRootProps {
217
- delay?: number;
218
- closeDelay?: number;
219
- children: ReactNode;
220
- trackCursorAxis?: "x" | "y" | "both";
221
- }
222
- interface TooltipTriggerProps {
223
- children: ReactNode;
224
- }
225
- interface TooltipPositionerProps {
226
- side?: Placement;
227
- sideOffset?: number;
228
- collisionPadding?: number;
229
- children: ReactNode;
230
- }
231
- interface TooltipPopupProps {
232
- id?: string;
233
- className?: string;
234
- children: ReactNode;
235
- }
236
- declare function TooltipRoot({
237
- delay,
238
- closeDelay,
239
- trackCursorAxis,
240
- children
241
- }: TooltipRootProps): JSX.Element;
242
- declare function TooltipTrigger({
243
- children
244
- }: TooltipTriggerProps): JSX.Element;
245
- declare function TooltipPositioner({
246
- side,
247
- sideOffset,
248
- collisionPadding,
249
- children
250
- }: TooltipPositionerProps): JSX.Element | null;
251
- declare function TooltipPopup({
252
- id,
253
- className,
254
- children
255
- }: TooltipPopupProps): JSX.Element | null;
256
- declare const Tooltip: {
257
- Root: typeof TooltipRoot;
258
- Trigger: typeof TooltipTrigger;
259
- Positioner: typeof TooltipPositioner;
260
- Popup: typeof TooltipPopup;
261
- };
262
- //#endregion
263
- //#region src/components/Video.d.ts
264
- type VideoProps = PropsWithChildren<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {
265
- className?: string | undefined;
266
- style?: CSSProperties | undefined;
267
- }>;
268
- /**
269
- * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
270
- * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
271
- * regular Video component instead.
272
- *
273
- * This component connects to VideoProvider for play/pause state but sets the src directly on the
274
- * video element without going through HLS.js or other playback engines.
275
- *
276
- * @example
277
- * ```tsx
278
- * <VideoProvider>
279
- * <MediaSkin>
280
- * <Video src="video.mp4" />
281
- * </MediaSkin>
282
- * </VideoProvider>
283
- * ```
284
- */
285
- declare const Video: React$1.ForwardRefExoticComponent<VideoProps & React$1.RefAttributes<HTMLVideoElement>>;
286
- //#endregion
287
- //#region src/components/VolumeSlider.d.ts
288
- interface VolumeSliderProps extends React.ComponentProps<"div"> {
289
- orientation?: "horizontal" | "vertical";
290
- }
291
- interface VolumeSliderRenderProps extends React.ComponentProps<"div"> {
292
- "data-orientation"?: "horizontal" | "vertical";
293
- "data-muted"?: boolean;
294
- "data-volume-level"?: string;
295
- }
296
- declare function renderVolumeSliderRoot(props: VolumeSliderRenderProps): JSX.Element;
297
- declare const VolumeSliderRoot: ConnectedComponent<VolumeSliderProps, typeof renderVolumeSliderRoot>;
298
- declare function renderVolumeSliderTrack(props: VolumeSliderRenderProps): JSX.Element;
299
- declare const VolumeSliderTrack: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderTrack>;
300
- declare function renderVolumeSliderThumb(props: VolumeSliderRenderProps): JSX.Element;
301
- declare const VolumeSliderThumb: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderThumb>;
302
- declare function renderVolumeSliderProgress(props: VolumeSliderRenderProps): JSX.Element;
303
- declare const VolumeSliderProgress: ConnectedComponent<React.ComponentProps<"div">, typeof renderVolumeSliderProgress>;
304
- declare const VolumeSlider: {
305
- Root: typeof VolumeSliderRoot;
306
- Track: typeof VolumeSliderTrack;
307
- Thumb: typeof VolumeSliderThumb;
308
- Progress: typeof VolumeSliderProgress;
309
- };
310
- //#endregion
311
- export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, HlsVideo, MediaContainer, MediaContext, MediaState, MediaStateOwner, MediaStore, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, TimeSlider, Tooltip, Video, VideoProvider, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
312
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":["CurrentTimeDisplay: ConnectedComponent<CurrentTimeDisplayProps, typeof renderCurrentTimeDisplay>","DurationDisplay: ConnectedComponent<DurationDisplayProps, typeof renderDurationDisplay>","FullscreenButton: ConnectedComponent<FullscreenButtonProps, typeof renderFullscreenButton>","MediaContainer: FC<PropsWithChildren<HTMLProps<HTMLDivElement>>>","MuteButton: ConnectedComponent<MuteButtonProps, typeof renderMuteButton>","PlayButton: ConnectedComponent<PlayButtonProps, typeof renderPlayButton>","Popover: {\n Root: typeof PopoverRoot;\n Trigger: typeof PopoverTrigger;\n Positioner: typeof PopoverPositioner;\n Popup: typeof PopoverPopup;\n}","PreviewTimeDisplay: ConnectedComponent<PreviewTimeDisplayProps, typeof renderPreviewTimeDisplay>","TimeSliderRoot: ConnectedComponent<TimeSliderProps, typeof renderTimeSliderRoot>","TimeSliderTrack: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderTrack>","TimeSliderThumb: ConnectedComponent<React.ComponentProps<'div'>, typeof renderTimeSliderThumb>","TimeSliderPointer: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderPointer\n>","TimeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderTimeSliderProgress\n>","Tooltip: {\n Root: typeof TooltipRoot;\n Trigger: typeof TooltipTrigger;\n Positioner: typeof TooltipPositioner;\n Popup: typeof TooltipPopup;\n}","Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n>","VolumeSliderRoot: ConnectedComponent<VolumeSliderProps, typeof renderVolumeSliderRoot>","VolumeSliderTrack: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderTrack\n>","VolumeSliderThumb: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderThumb\n>","VolumeSliderProgress: ConnectedComponent<\n React.ComponentProps<'div'>,\n typeof renderVolumeSliderProgress\n>"],"sources":["../src/utils/component-factory.tsx","../src/components/CurrentTimeDisplay.tsx","../src/components/DurationDisplay.tsx","../src/components/FullscreenButton.tsx","../src/components/HlsVideo.tsx","../src/components/MediaContainer.tsx","../src/components/MuteButton.tsx","../src/components/PlayButton.tsx","../src/components/Popover.tsx","../src/components/PreviewTimeDisplay.tsx","../src/components/TimeSlider.tsx","../src/components/Tooltip.tsx","../src/components/Video.tsx","../src/components/VolumeSlider.tsx"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js DELETED
@@ -1,89 +0,0 @@
1
- 'use client';
2
-
3
-
4
- import { a as useMediaStore, i as useMediaSelector, n as useMediaDispatch, o as MediaContext, r as useMediaRef, t as VideoProvider } from "./store-hGO5HE2A.js";
5
- import { _ as DurationDisplay, a as TimeSlider, c as Popover, f as MuteButton, g as FullscreenButton, h as useMediaContainerRef, m as MediaContainer, o as PreviewTimeDisplay, r as Tooltip, t as VolumeSlider, u as PlayButton, v as CurrentTimeDisplay } from "./VolumeSlider-DmlupkvF.js";
6
- import "./icons-BqfV81R8.js";
7
- import { t as FrostedSkin } from "./frosted-0lXuIgHt.js";
8
- import { t as MinimalSkin } from "./minimal-B-R9aRNe.js";
9
- import React, { forwardRef, useImperativeHandle, useRef } from "react";
10
- import { jsx } from "react/jsx-runtime";
11
- import { createMediaPlaybackController } from "@videojs/core/media";
12
-
13
- //#region src/components/HlsVideo.tsx
14
- function useMediaStateOwner(ref, createMediaPlaybackController$1) {
15
- const mediaStateOwnerRef = useRef(createMediaPlaybackController$1());
16
- useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);
17
- return { updateMediaElement(mediaEl, props) {
18
- mediaStateOwnerRef.current.mediaElement = mediaEl ?? void 0;
19
- mediaStateOwnerRef.current.src = props.src;
20
- if (props.muted) mediaStateOwnerRef.current.muted = props.muted;
21
- } };
22
- }
23
- const DefaultVideoComponent = forwardRef(({ children,...props }, ref) => {
24
- const { updateMediaElement } = useMediaStateOwner(ref, createMediaPlaybackController);
25
- return /* @__PURE__ */ jsx("video", {
26
- ...props,
27
- ref: (mediaEl) => {
28
- /** @TODO In later iterations/non-POC, we should be able to have a function that can be used directly for the `ref` prop (CJP) */
29
- updateMediaElement(mediaEl, props);
30
- },
31
- children
32
- });
33
- });
34
- /**
35
- * @description This is a "thin wrapper" around the media component whose primary responsibility is to wire up the element
36
- * to the <VideoProvider/>'s MediaStore for the media state.
37
- * @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to
38
- * MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.
39
- * @returns A media react component (e.g. <video/>), wired up as the media element.
40
- */
41
- function ConnectedVideo({ component, children,...props }) {
42
- const Component = component;
43
- const mediaRefCallback = useMediaRef();
44
- return /* @__PURE__ */ jsx(Component, {
45
- ...props,
46
- ref: mediaRefCallback,
47
- children
48
- });
49
- }
50
- function HlsVideo({ component = DefaultVideoComponent, children,...props }) {
51
- return /* @__PURE__ */ jsx(ConnectedVideo, {
52
- ...props,
53
- component,
54
- children
55
- });
56
- }
57
-
58
- //#endregion
59
- //#region src/components/Video.tsx
60
- /**
61
- * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)
62
- * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the
63
- * regular Video component instead.
64
- *
65
- * This component connects to VideoProvider for play/pause state but sets the src directly on the
66
- * video element without going through HLS.js or other playback engines.
67
- *
68
- * @example
69
- * ```tsx
70
- * <VideoProvider>
71
- * <MediaSkin>
72
- * <Video src="video.mp4" />
73
- * </MediaSkin>
74
- * </VideoProvider>
75
- * ```
76
- */
77
- const Video = forwardRef(({ children,...props }, _ref) => {
78
- const mediaRefCallback = useMediaRef();
79
- return /* @__PURE__ */ jsx("video", {
80
- ...props,
81
- ref: mediaRefCallback,
82
- children
83
- });
84
- });
85
- Video.displayName = "Video";
86
-
87
- //#endregion
88
- export { CurrentTimeDisplay, DurationDisplay, FrostedSkin, FullscreenButton, HlsVideo, MediaContainer, MediaContext, MinimalSkin, MuteButton, PlayButton, Popover, PreviewTimeDisplay, TimeSlider, Tooltip, Video, VideoProvider, VolumeSlider, useMediaContainerRef, useMediaDispatch, useMediaRef, useMediaSelector, useMediaStore };
89
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["createMediaPlaybackController","DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n>","Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n>"],"sources":["../src/components/HlsVideo.tsx","../src/components/Video.tsx"],"sourcesContent":["import type {\n CSSProperties,\n DetailedHTMLProps,\n ElementType,\n PropsWithChildren,\n Ref,\n VideoHTMLAttributes,\n} from 'react';\n\nimport { createMediaPlaybackController } from '@videojs/core/media';\n\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport interface MuxVideoProps {\n 'playback-id'?: string;\n}\n\ntype MediaStateOwner = NonNullable<Parameters<ReturnType<typeof useMediaRef>>[0]>;\n\n/** @TODO Improve type inference and narrowing/widening for different use cases (CJP) */\ntype ComponentType = ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & {\n ref: Ref<MediaStateOwner>;\n }\n>;\n\n// These are the first steps/WIP POC of decoupling the Media State Owner from the DOM.\n// Note that everything will still work if you use:\n// 1. an audio/video element directly\n// 2. a custom element a la media-elements\ntype CreateMediaStateOwner = typeof createMediaPlaybackController;\n\nfunction useMediaStateOwner(ref: Ref<any>, createMediaPlaybackController: CreateMediaStateOwner) {\n const mediaStateOwnerRef = useRef(createMediaPlaybackController(/* props? */));\n useImperativeHandle(ref, () => mediaStateOwnerRef.current, []);\n /** @TODO Parameterize this (CJP) */\n type ComponentProps = DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>;\n return {\n updateMediaElement(mediaEl: HTMLMediaElement | null, props: ComponentProps) {\n // NOTE: The details here will almost definitely change for a less \"bare bones\"/\"POC\" implementation of Media State Owner impl. (CJP)\n mediaStateOwnerRef.current.mediaElement = mediaEl ?? undefined;\n mediaStateOwnerRef.current.src = props.src as string;\n if (props.muted) {\n mediaStateOwnerRef.current.muted = props.muted;\n }\n },\n };\n}\n\nconst DefaultVideoComponent: ElementType<\n Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'ref'> & { ref: Ref<any> }\n> = forwardRef<any, any>(({ children, ...props }, ref) => {\n const { updateMediaElement } = useMediaStateOwner(ref, createMediaPlaybackController);\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n {...props}\n ref={(mediaEl) => {\n /** @TODO In later iterations/non-POC, we should be able to have a function that can be used directly for the `ref` prop (CJP) */\n updateMediaElement(mediaEl, props);\n }}\n >\n {children}\n </video>\n );\n});\n\n/**\n * @description This is a \"thin wrapper\" around the media component whose primary responsibility is to wire up the element\n * to the <VideoProvider/>'s MediaStore for the media state.\n * @param props - Identical to both a <video/>'s props and the <Player/> props, with one addition that may be familiar to\n * MUI users: a `component` prop that allows you to use something other than the <video/> element under the hood.\n * @returns A media react component (e.g. <video/>), wired up as the media element.\n */\nfunction ConnectedVideo({\n component,\n children,\n ...props\n}: PropsWithChildren<{\n component: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>) {\n const Component = component;\n const mediaRefCallback = useMediaRef();\n // NOTE: While this may feel like magic to folks, in the \"default\" use case, you can think of it as:\n // return (<video ref={mediaRefCallback} {...restProps} >{children}</video>);\n return (\n <Component {...props} ref={mediaRefCallback}>\n {children}\n </Component>\n );\n}\n\nexport type VideoProps = PropsWithChildren<{\n component?: ComponentType;\n className?: string | undefined;\n style?: CSSProperties | undefined;\n}>;\n\n// HlsVideo component with default component\nexport function HlsVideo({ component = DefaultVideoComponent, children, ...props }: VideoProps): JSX.Element {\n return (\n <ConnectedVideo {...props} component={component}>\n {children}\n </ConnectedVideo>\n );\n}\n\nexport default HlsVideo;\n","import type {\n CSSProperties,\n DetailedHTMLProps,\n PropsWithChildren,\n VideoHTMLAttributes,\n} from 'react';\n\nimport React, { forwardRef } from 'react';\nimport { useMediaRef } from '@/store';\n\nexport type VideoProps = PropsWithChildren<\n DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement> & {\n className?: string | undefined;\n style?: CSSProperties | undefined;\n }\n>;\n\n/**\n * Video - A basic video component that works with native HTML5 video formats (MP4, WebM, etc.)\n * without using a playback engine. Use this for simple MP4 files. For HLS/DASH streaming, use the\n * regular Video component instead.\n *\n * This component connects to VideoProvider for play/pause state but sets the src directly on the\n * video element without going through HLS.js or other playback engines.\n *\n * @example\n * ```tsx\n * <VideoProvider>\n * <MediaSkin>\n * <Video src=\"video.mp4\" />\n * </MediaSkin>\n * </VideoProvider>\n * ```\n */\nexport const Video: React.ForwardRefExoticComponent<\n VideoProps & React.RefAttributes<HTMLVideoElement>\n> = forwardRef<HTMLVideoElement, VideoProps>(\n ({ children, ...props }, _ref) => {\n const mediaRefCallback = useMediaRef();\n\n return (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video {...props} ref={mediaRefCallback}>\n {children}\n </video>\n );\n },\n);\n\nVideo.displayName = 'Video';\n\nexport default Video;\n"],"mappings":";;;;;;;;;;;;;AAiCA,SAAS,mBAAmB,KAAe,iCAAsD;CAC/F,MAAM,qBAAqB,OAAOA,iCAA2C,CAAC;AAC9E,qBAAoB,WAAW,mBAAmB,SAAS,EAAE,CAAC;AAG9D,QAAO,EACL,mBAAmB,SAAkC,OAAuB;AAE1E,qBAAmB,QAAQ,eAAe,WAAW;AACrD,qBAAmB,QAAQ,MAAM,MAAM;AACvC,MAAI,MAAM,MACR,oBAAmB,QAAQ,QAAQ,MAAM;IAG9C;;AAGH,MAAMC,wBAEF,YAAsB,EAAE,SAAU,GAAG,SAAS,QAAQ;CACxD,MAAM,EAAE,uBAAuB,mBAAmB,KAAK,8BAA8B;AACrF,QAEE,oBAAC;EACC,GAAI;EACJ,MAAM,YAAY;;AAEhB,sBAAmB,SAAS,MAAM;;EAGnC;GACK;EAEV;;;;;;;;AASF,SAAS,eAAe,EACtB,WACA,SACA,GAAG,SAKD;CACF,MAAM,YAAY;CAClB,MAAM,mBAAmB,aAAa;AAGtC,QACE,oBAAC;EAAU,GAAI;EAAO,KAAK;EACxB;GACS;;AAWhB,SAAgB,SAAS,EAAE,YAAY,uBAAuB,SAAU,GAAG,SAAkC;AAC3G,QACE,oBAAC;EAAe,GAAI;EAAkB;EACnC;GACc;;;;;;;;;;;;;;;;;;;;;;ACxErB,MAAaC,QAET,YACD,EAAE,SAAU,GAAG,SAAS,SAAS;CAChC,MAAM,mBAAmB,aAAa;AAEtC,QAEE,oBAAC;EAAM,GAAI;EAAO,KAAK;EACpB;GACK;EAGb;AAED,MAAM,cAAc"}
@@ -1,162 +0,0 @@
1
- import { _ as DurationDisplay, a as TimeSlider, d as PlayButton_default, g as FullscreenButton, i as Tooltip_default, l as Popover_default, m as MediaContainer, n as VolumeSlider_default, p as MuteButton_default, s as PreviewTimeDisplay_default, v as CurrentTimeDisplay } from "./VolumeSlider-DmlupkvF.js";
2
- import { a as Play_default, c as FullscreenExitAlt_default, n as VolumeLow_default, o as Pause_default, r as VolumeHigh_default, t as VolumeOff_default, u as FullscreenEnterAlt_default } from "./icons-BqfV81R8.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
-
5
- //#region src/skins/minimal/styles.ts
6
- function cn(...classes) {
7
- return classes.filter(Boolean).join(" ");
8
- }
9
- const styles = {
10
- MediaContainer: cn("vjs", "vjs:relative vjs:isolate vjs:@container/root vjs:group/root vjs:overflow-clip vjs:bg-black vjs:rounded-(--minimal-border-radius,0.75rem)", "vjs:font-sans vjs:text-[0.8125rem] vjs:subpixel-antialiased", "vjs:after:absolute vjs:after:inset-0 vjs:after:ring-black/15 vjs:after:ring-1 vjs:dark:after:ring-white/15 vjs:after:ring-inset vjs:after:z-10 vjs:after:pointer-events-none vjs:after:rounded-[inherit]", "vjs:[&:fullscreen]:rounded-none", "vjs:[&_video]:w-full vjs:[&_video]:h-full"),
11
- Overlay: cn("vjs:absolute vjs:inset-0 vjs:rounded-[inherit] vjs:pointer-events-none", "vjs:bg-gradient-to-t vjs:from-black/70 vjs:via-black/50 vjs:via-[7.5rem] vjs:to-transparent", "vjs:opacity-0 vjs:delay-500 vjs:duration-300", "vjs:contrast-more:from-black/75", "vjs:has-[+.controls_[data-paused]]:opacity-100 vjs:has-[+.controls_[data-paused]]:delay-0 vjs:has-[+.controls_[data-paused]]:duration-75", "vjs:has-[+.controls_[aria-expanded=\"true\"]]:opacity-100 vjs:has-[+.controls_[aria-expanded=\"true\"]]:delay-0 vjs:has-[+.controls_[aria-expanded=\"true\"]]:duration-75", "vjs:group-hover/root:opacity-100 vjs:group-hover/root:delay-0 vjs:group-hover/root:duration-75"),
12
- Controls: cn("controls", "vjs:@container/controls vjs:absolute vjs:inset-x-0 vjs:bottom-0 vjs:flex vjs:items-center vjs:gap-3.5 vjs:z-20 vjs:px-3 vjs:pb-3 vjs:pt-10 vjs:text-white", "vjs:transition vjs:will-change-[transform,filter,opacity] vjs:ease-out", "vjs:translate-y-full vjs:opacity-0 vjs:blur-sm vjs:delay-500 vjs:duration-300", "vjs:has-[[data-paused]]:translate-y-0 vjs:has-[[data-paused]]:opacity-100 vjs:has-[[data-paused]]:blur-none vjs:has-[[data-paused]]:delay-0 vjs:has-[[data-paused]]:duration-75", "vjs:has-[[aria-expanded=\"true\"]]:translate-y-0 vjs:has-[[aria-expanded=\"true\"]]:opacity-100 vjs:has-[[aria-expanded=\"true\"]]:blur-none vjs:has-[[aria-expanded=\"true\"]]:delay-0 vjs:has-[[aria-expanded=\"true\"]]:duration-75", "vjs:group-hover/root:translate-y-0 vjs:group-hover/root:opacity-100 vjs:group-hover/root:blur-none vjs:group-hover/root:delay-0 vjs:group-hover/root:duration-75"),
13
- Icon: cn("icon vjs:[&_path]:transition-transform vjs:[&_path]:ease-out"),
14
- TimeDisplayGroup: cn("flex items-center gap-1"),
15
- Button: cn("vjs:group/button vjs:cursor-pointer vjs:relative vjs:shrink-0 vjs:transition-[color,background,outline-offset] vjs:select-none vjs:p-2.5 vjs:rounded-md", "vjs:bg-transparent vjs:text-white", "vjs:hover:text-white/80 vjs:focus-visible:text-white/80", "vjs:-outline-offset-2 vjs:focus-visible:outline-2 vjs:focus-visible:outline-offset-2 vjs:focus-visible:outline-white", "vjs:disabled:grayscale vjs:disabled:opacity-50 vjs:disabled:cursor-not-allowed", "vjs:aria-busy:pointer-events-none vjs:aria-busy:cursor-not-allowed", "vjs:aria-expanded:text-white/80"),
16
- ButtonGroup: cn("vjs:flex vjs:items-center vjs:gap-1.5"),
17
- IconButton: cn("vjs:grid vjs:[&_.icon]:[grid-area:1/1]", "vjs:[&_.icon]:shrink-0 vjs:[&_.icon]:transition-opacity vjs:[&_.icon]:duration-150 vjs:[&_.icon]:ease-linear vjs:[&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] vjs:[&_.icon]:shadow-black/40"),
18
- PlayIcon: cn("vjs:opacity-0 vjs:group-data-paused/button:opacity-100"),
19
- PauseIcon: cn("vjs:group-data-paused/button:opacity-0"),
20
- PlayTooltipPopup: cn("vjs:[&_.pause-tooltip]:inline vjs:data-paused:[&_.pause-tooltip]:hidden", "vjs:[&_.play-tooltip]:hidden vjs:data-paused:[&_.play-tooltip]:inline"),
21
- PlayTooltip: cn("play-tooltip"),
22
- PauseTooltip: cn("pause-tooltip"),
23
- VolumeHighIcon: cn("vjs:hidden vjs:group-data-[volume-level=high]/button:inline vjs:group-data-[volume-level=medium]/button:inline"),
24
- VolumeLowIcon: cn("vjs:hidden vjs:group-data-[volume-level=low]/button:inline"),
25
- VolumeOffIcon: cn("vjs:hidden vjs:group-data-[volume-level=off]/button:inline"),
26
- FullscreenEnterIcon: cn("vjs:group-data-fullscreen/button:hidden", "vjs:group-hover/button:[&_.arrow-1]:translate-x-px vjs:group-hover/button:[&_.arrow-1]:-translate-y-px", "vjs:group-hover/button:[&_.arrow-2]:-translate-x-px vjs:group-hover/button:[&_.arrow-2]:translate-y-px"),
27
- FullscreenExitIcon: cn("vjs:hidden vjs:group-data-fullscreen/button:inline", "vjs:[&_.arrow-1]:translate-x-px vjs:[&_.arrow-1]:-translate-y-px", "vjs:[&_.arrow-2]:-translate-x-px vjs:[&_.arrow-2]:translate-y-px", "vjs:group-hover/button:[&_.arrow-1]:translate-0", "vjs:group-hover/button:[&_.arrow-2]:translate-0"),
28
- FullscreenTooltipPopup: cn("vjs:[&_.fullscreen-enter-tooltip]:inline vjs:data-fullscreen:[&_.fullscreen-enter-tooltip]:hidden", "vjs:[&_.fullscreen-exit-tooltip]:hidden vjs:data-fullscreen:[&_.fullscreen-exit-tooltip]:inline"),
29
- FullscreenEnterTooltip: cn("fullscreen-enter-tooltip"),
30
- FullscreenExitTooltip: cn("fullscreen-exit-tooltip"),
31
- TimeSliderRoot: cn("vjs:mx-2"),
32
- TimeDisplay: cn("vjs:tabular-nums vjs:text-shadow-2xs/20"),
33
- DurationDisplay: cn("vjs:text-white/50 vjs:contents"),
34
- SliderRoot: cn("vjs:group/slider vjs:outline-0 vjs:flex vjs:items-center vjs:justify-center vjs:flex-1 vjs:group/slider vjs:relative vjs:rounded-full", "vjs:data-[orientation=horizontal]:h-5 vjs:data-[orientation=horizontal]:min-w-20", "vjs:data-[orientation=vertical]:w-5 vjs:data-[orientation=vertical]:h-18"),
35
- SliderTrack: cn("vjs:relative vjs:select-none vjs:rounded-[inherit] vjs:bg-white/10", "vjs:data-[orientation=horizontal]:w-full vjs:data-[orientation=horizontal]:h-[0.1875rem]", "vjs:data-[orientation=vertical]:w-[0.1875rem]", "vjs:-outline-offset-2 vjs:group-focus-visible/slider:outline-2 vjs:group-focus-visible/slider:outline-offset-6 vjs:group-focus-visible/slider:outline-white"),
36
- SliderProgress: cn("vjs:bg-white vjs:rounded-[inherit]"),
37
- SliderPointer: cn("vjs:hidden"),
38
- SliderThumb: cn("vjs:bg-white vjs:z-10 vjs:size-3 vjs:select-none vjs:ring vjs:ring-black/10 vjs:rounded-full vjs:shadow-sm vjs:shadow-black/15 vjs:transition-[opacity,scale] vjs:ease-out vjs:opacity-0 vjs:scale-70 vjs:origin-center", "vjs:group-hover/slider:opacity-100 vjs:group-hover/slider:scale-100", "vjs:data-[orientation=horizontal]:hover:cursor-ew-resize", "vjs:data-[orientation=vertical]:hover:cursor-ns-resize"),
39
- PopupAnimation: cn("vjs:transition-[transform,scale,opacity,filter] vjs:origin-bottom vjs:duration-200 vjs:data-instant:duration-0", "vjs:data-starting-style:scale-0 vjs:data-starting-style:opacity-0 vjs:data-starting-style:blur-sm", "vjs:data-ending-style:scale-0 vjs:data-ending-style:opacity-0 vjs:data-ending-style:blur-sm"),
40
- PopoverPopup: cn("vjs:py-2 vjs:bg-transparent"),
41
- TooltipPopup: cn("vjs:whitespace-nowrap vjs:flex vjs:flex-col vjs:rounded vjs:text-white vjs:text-xs vjs:@7xl/root:text-sm vjs:px-2 vjs:py-1 vjs:bg-white/20 vjs:backdrop-blur-3xl vjs:backdrop-saturate-150 vjs:backdrop-brightness-90 vjs:shadow-md vjs:shadow-black/5")
42
- };
43
- var styles_default = styles;
44
-
45
- //#endregion
46
- //#region src/skins/minimal/MinimalSkin.tsx
47
- function MinimalSkin({ children, className = "" }) {
48
- return /* @__PURE__ */ jsxs(MediaContainer, {
49
- className: `${styles_default.MediaContainer} ${className}`,
50
- children: [
51
- children,
52
- /* @__PURE__ */ jsx("div", { className: styles_default.Overlay }),
53
- /* @__PURE__ */ jsxs("div", {
54
- className: styles_default.Controls,
55
- children: [
56
- /* @__PURE__ */ jsxs(Tooltip_default.Root, {
57
- delay: 500,
58
- closeDelay: 0,
59
- children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(PlayButton_default, {
60
- className: `${styles_default.Button} ${styles_default.IconButton}`,
61
- children: [/* @__PURE__ */ jsx(Play_default, { className: `${styles_default.Icon} ${styles_default.PlayIcon}` }), /* @__PURE__ */ jsx(Pause_default, { className: `${styles_default.Icon} ${styles_default.PauseIcon}` })]
62
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
63
- side: "top-start",
64
- sideOffset: 6,
65
- collisionPadding: 12,
66
- children: /* @__PURE__ */ jsxs(Tooltip_default.Popup, {
67
- className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup} ${styles_default.PlayTooltipPopup}`,
68
- children: [/* @__PURE__ */ jsx("span", {
69
- className: styles_default.PlayTooltip,
70
- children: "Play"
71
- }), /* @__PURE__ */ jsx("span", {
72
- className: styles_default.PauseTooltip,
73
- children: "Pause"
74
- })]
75
- })
76
- })]
77
- }),
78
- /* @__PURE__ */ jsxs("div", {
79
- className: styles_default.TimeDisplayGroup,
80
- children: [/* @__PURE__ */ jsx(CurrentTimeDisplay, { className: styles_default.TimeDisplay }), /* @__PURE__ */ jsxs("span", {
81
- className: styles_default.DurationDisplay,
82
- children: ["/", /* @__PURE__ */ jsx(DurationDisplay, { className: `${styles_default.TimeDisplay}` })]
83
- })]
84
- }),
85
- /* @__PURE__ */ jsxs(Tooltip_default.Root, {
86
- trackCursorAxis: "x",
87
- children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(TimeSlider.Root, {
88
- className: styles_default.SliderRoot,
89
- children: [/* @__PURE__ */ jsxs(TimeSlider.Track, {
90
- className: styles_default.SliderTrack,
91
- children: [/* @__PURE__ */ jsx(TimeSlider.Progress, { className: styles_default.SliderProgress }), /* @__PURE__ */ jsx(TimeSlider.Pointer, { className: styles_default.SliderPointer })]
92
- }), /* @__PURE__ */ jsx(TimeSlider.Thumb, { className: styles_default.SliderThumb })]
93
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
94
- side: "top",
95
- sideOffset: 12,
96
- collisionPadding: 12,
97
- children: /* @__PURE__ */ jsx(Tooltip_default.Popup, {
98
- className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup}`,
99
- children: /* @__PURE__ */ jsx(PreviewTimeDisplay_default, { className: styles_default.TimeDisplay })
100
- })
101
- })]
102
- }),
103
- /* @__PURE__ */ jsxs("div", {
104
- className: styles_default.ButtonGroup,
105
- children: [/* @__PURE__ */ jsxs(Popover_default.Root, {
106
- openOnHover: true,
107
- delay: 200,
108
- closeDelay: 300,
109
- children: [/* @__PURE__ */ jsx(Popover_default.Trigger, { children: /* @__PURE__ */ jsxs(MuteButton_default, {
110
- className: `${styles_default.Button} ${styles_default.IconButton}`,
111
- children: [
112
- /* @__PURE__ */ jsx(VolumeHigh_default, { className: `${styles_default.Icon} ${styles_default.VolumeHighIcon}` }),
113
- /* @__PURE__ */ jsx(VolumeLow_default, { className: `${styles_default.Icon} ${styles_default.VolumeLowIcon}` }),
114
- /* @__PURE__ */ jsx(VolumeOff_default, { className: `${styles_default.Icon} ${styles_default.VolumeOffIcon}` })
115
- ]
116
- }) }), /* @__PURE__ */ jsx(Popover_default.Positioner, {
117
- side: "top",
118
- sideOffset: 2,
119
- children: /* @__PURE__ */ jsx(Popover_default.Popup, {
120
- className: `${styles_default.PopupAnimation} ${styles_default.PopoverPopup}`,
121
- children: /* @__PURE__ */ jsxs(VolumeSlider_default.Root, {
122
- className: styles_default.SliderRoot,
123
- orientation: "vertical",
124
- children: [/* @__PURE__ */ jsx(VolumeSlider_default.Track, {
125
- className: styles_default.SliderTrack,
126
- children: /* @__PURE__ */ jsx(VolumeSlider_default.Progress, { className: styles_default.SliderProgress })
127
- }), /* @__PURE__ */ jsx(VolumeSlider_default.Thumb, { className: styles_default.SliderThumb })]
128
- })
129
- })
130
- })]
131
- }), /* @__PURE__ */ jsxs(Tooltip_default.Root, {
132
- delay: 500,
133
- closeDelay: 0,
134
- children: [/* @__PURE__ */ jsx(Tooltip_default.Trigger, { children: /* @__PURE__ */ jsxs(FullscreenButton, {
135
- className: `${styles_default.Button} ${styles_default.IconButton}`,
136
- children: [/* @__PURE__ */ jsx(FullscreenEnterAlt_default, { className: `${styles_default.Icon} ${styles_default.FullscreenEnterIcon}` }), /* @__PURE__ */ jsx(FullscreenExitAlt_default, { className: `${styles_default.Icon} ${styles_default.FullscreenExitIcon}` })]
137
- }) }), /* @__PURE__ */ jsx(Tooltip_default.Positioner, {
138
- side: "top-end",
139
- sideOffset: 6,
140
- collisionPadding: 12,
141
- children: /* @__PURE__ */ jsxs(Tooltip_default.Popup, {
142
- className: `${styles_default.PopupAnimation} ${styles_default.TooltipPopup} ${styles_default.FullscreenTooltipPopup}`,
143
- children: [/* @__PURE__ */ jsx("span", {
144
- className: styles_default.FullscreenEnterTooltip,
145
- children: "Enter Fullscreen"
146
- }), /* @__PURE__ */ jsx("span", {
147
- className: styles_default.FullscreenExitTooltip,
148
- children: "Exit Fullscreen"
149
- })]
150
- })
151
- })]
152
- })]
153
- })
154
- ]
155
- })
156
- ]
157
- });
158
- }
159
-
160
- //#endregion
161
- export { MinimalSkin as t };
162
- //# sourceMappingURL=minimal-B-R9aRNe.js.map