@videojs/react 0.1.0-preview.9 → 10.0.0-alpha.11

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 (812) hide show
  1. package/README.md +1 -1
  2. package/dist/default/_virtual/_rolldown/runtime.js +18 -0
  3. package/dist/default/icons/dist/react/default/captions-off.js +67 -0
  4. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -0
  5. package/dist/default/icons/dist/react/default/captions-on.js +20 -0
  6. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -0
  7. package/dist/default/icons/dist/react/default/fullscreen-enter.js +20 -0
  8. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -0
  9. package/dist/default/icons/dist/react/default/fullscreen-exit.js +20 -0
  10. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -0
  11. package/dist/default/icons/dist/react/default/pause.js +31 -0
  12. package/dist/default/icons/dist/react/default/pause.js.map +1 -0
  13. package/dist/default/icons/dist/react/default/pip.js +27 -0
  14. package/dist/default/icons/dist/react/default/pip.js.map +1 -0
  15. package/dist/default/icons/dist/react/default/play.js +20 -0
  16. package/dist/default/icons/dist/react/default/play.js.map +1 -0
  17. package/dist/default/icons/dist/react/default/restart.js +23 -0
  18. package/dist/default/icons/dist/react/default/restart.js.map +1 -0
  19. package/dist/default/icons/dist/react/default/seek.js +20 -0
  20. package/dist/default/icons/dist/react/default/seek.js.map +1 -0
  21. package/dist/default/icons/dist/react/default/spinner.js +150 -0
  22. package/dist/default/icons/dist/react/default/spinner.js.map +1 -0
  23. package/dist/default/icons/dist/react/default/volume-high.js +23 -0
  24. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -0
  25. package/dist/default/icons/dist/react/default/volume-low.js +20 -0
  26. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -0
  27. package/dist/default/icons/dist/react/default/volume-off.js +20 -0
  28. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -0
  29. package/dist/default/icons/dist/react/minimal/captions-off.js +67 -0
  30. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -0
  31. package/dist/default/icons/dist/react/minimal/captions-on.js +20 -0
  32. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -0
  33. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +30 -0
  34. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -0
  35. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +30 -0
  36. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -0
  37. package/dist/default/icons/dist/react/minimal/pause.js +31 -0
  38. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -0
  39. package/dist/default/icons/dist/react/minimal/pip.js +27 -0
  40. package/dist/default/icons/dist/react/minimal/pip.js.map +1 -0
  41. package/dist/default/icons/dist/react/minimal/play.js +20 -0
  42. package/dist/default/icons/dist/react/minimal/play.js.map +1 -0
  43. package/dist/default/icons/dist/react/minimal/restart.js +23 -0
  44. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -0
  45. package/dist/default/icons/dist/react/minimal/seek.js +20 -0
  46. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -0
  47. package/dist/default/icons/dist/react/minimal/spinner.js +150 -0
  48. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -0
  49. package/dist/default/icons/dist/react/minimal/volume-high.js +23 -0
  50. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -0
  51. package/dist/default/icons/dist/react/minimal/volume-low.js +20 -0
  52. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -0
  53. package/dist/default/icons/dist/react/minimal/volume-off.js +20 -0
  54. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -0
  55. package/dist/default/index.js +35 -0
  56. package/dist/default/media/audio.js +22 -0
  57. package/dist/default/media/audio.js.map +1 -0
  58. package/dist/default/media/background-video/index.js +28 -0
  59. package/dist/default/media/background-video/index.js.map +1 -0
  60. package/dist/default/media/hls-video/index.js +26 -0
  61. package/dist/default/media/hls-video/index.js.map +1 -0
  62. package/dist/default/media/simple-hls-video/index.js +25 -0
  63. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  64. package/dist/default/media/video.js +22 -0
  65. package/dist/default/media/video.js.map +1 -0
  66. package/dist/default/player/context.js +65 -0
  67. package/dist/default/player/context.js.map +1 -0
  68. package/dist/default/player/create-player.js +39 -0
  69. package/dist/default/player/create-player.js.map +1 -0
  70. package/dist/default/presets/audio/index.js +8 -0
  71. package/dist/default/presets/audio/minimal-skin.css +636 -0
  72. package/dist/default/presets/audio/minimal-skin.js +191 -0
  73. package/dist/default/presets/audio/minimal-skin.js.map +1 -0
  74. package/dist/default/presets/audio/minimal-skin.tailwind.js +238 -0
  75. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -0
  76. package/dist/default/presets/audio/skin.css +661 -0
  77. package/dist/default/presets/audio/skin.js +180 -0
  78. package/dist/default/presets/audio/skin.js.map +1 -0
  79. package/dist/default/presets/audio/skin.tailwind.js +226 -0
  80. package/dist/default/presets/audio/skin.tailwind.js.map +1 -0
  81. package/dist/default/presets/background/index.js +5 -0
  82. package/dist/default/presets/background/skin.css +22 -0
  83. package/dist/default/presets/background/skin.js +16 -0
  84. package/dist/default/presets/background/skin.js.map +1 -0
  85. package/dist/default/presets/video/error-dialog.js +51 -0
  86. package/dist/default/presets/video/error-dialog.js.map +1 -0
  87. package/dist/default/presets/video/index.js +8 -0
  88. package/dist/default/presets/video/minimal-skin.css +873 -0
  89. package/dist/default/presets/video/minimal-skin.js +267 -0
  90. package/dist/default/presets/video/minimal-skin.js.map +1 -0
  91. package/dist/default/presets/video/minimal-skin.tailwind.js +319 -0
  92. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -0
  93. package/dist/default/presets/video/skin.css +878 -0
  94. package/dist/default/presets/video/skin.js +256 -0
  95. package/dist/default/presets/video/skin.js.map +1 -0
  96. package/dist/default/presets/video/skin.tailwind.js +306 -0
  97. package/dist/default/presets/video/skin.tailwind.js.map +1 -0
  98. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +52 -0
  99. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  100. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  101. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  102. package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
  103. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  104. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  105. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  106. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  107. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  108. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  109. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  110. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  111. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  112. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  113. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  114. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  115. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  116. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  117. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  118. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  119. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  120. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  121. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  122. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  123. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  124. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  125. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  126. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  127. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  128. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +54 -0
  129. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  130. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +38 -0
  131. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  132. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  133. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  134. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  135. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  136. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  137. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  138. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  139. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  140. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  141. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  142. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  143. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  144. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  145. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  146. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  147. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  148. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  149. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  150. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  158. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +43 -0
  159. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  160. package/dist/default/ui/alert-dialog/alert-dialog-close.js +31 -0
  161. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -0
  162. package/dist/default/ui/alert-dialog/alert-dialog-description.js +16 -0
  163. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -0
  164. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +32 -0
  165. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
  166. package/dist/default/ui/alert-dialog/alert-dialog-root.js +59 -0
  167. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -0
  168. package/dist/default/ui/alert-dialog/alert-dialog-title.js +16 -0
  169. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -0
  170. package/dist/default/ui/alert-dialog/context.js +16 -0
  171. package/dist/default/ui/alert-dialog/context.js.map +1 -0
  172. package/dist/default/ui/alert-dialog/index.js +4 -0
  173. package/dist/default/ui/alert-dialog/index.parts.js +19 -0
  174. package/dist/default/ui/alert-dialog/index.parts.js.map +1 -0
  175. package/dist/default/ui/buffering-indicator/buffering-indicator.js +50 -0
  176. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -0
  177. package/dist/default/ui/buffering-indicator/index.js +3 -0
  178. package/dist/default/ui/captions-button/captions-button.js +19 -0
  179. package/dist/default/ui/captions-button/captions-button.js.map +1 -0
  180. package/dist/default/ui/captions-button/index.js +3 -0
  181. package/dist/default/ui/controls/context.js +16 -0
  182. package/dist/default/ui/controls/context.js.map +1 -0
  183. package/dist/default/ui/controls/controls-group.js +30 -0
  184. package/dist/default/ui/controls/controls-group.js.map +1 -0
  185. package/dist/default/ui/controls/controls-root.js +40 -0
  186. package/dist/default/ui/controls/controls-root.js.map +1 -0
  187. package/dist/default/ui/controls/index.js +3 -0
  188. package/dist/default/ui/controls/index.parts.js +13 -0
  189. package/dist/default/ui/controls/index.parts.js.map +1 -0
  190. package/dist/default/ui/create-context-part.js +34 -0
  191. package/dist/default/ui/create-context-part.js.map +1 -0
  192. package/dist/default/ui/create-media-button.js +52 -0
  193. package/dist/default/ui/create-media-button.js.map +1 -0
  194. package/dist/default/ui/fullscreen-button/fullscreen-button.js +19 -0
  195. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -0
  196. package/dist/default/ui/fullscreen-button/index.js +3 -0
  197. package/dist/default/ui/hooks/use-button.js +44 -0
  198. package/dist/default/ui/hooks/use-button.js.map +1 -0
  199. package/dist/default/ui/hooks/use-slider.js +65 -0
  200. package/dist/default/ui/hooks/use-slider.js.map +1 -0
  201. package/dist/default/ui/mute-button/index.js +3 -0
  202. package/dist/default/ui/mute-button/mute-button.js +19 -0
  203. package/dist/default/ui/mute-button/mute-button.js.map +1 -0
  204. package/dist/default/ui/pip-button/index.js +3 -0
  205. package/dist/default/ui/pip-button/pip-button.js +19 -0
  206. package/dist/default/ui/pip-button/pip-button.js.map +1 -0
  207. package/dist/default/ui/play-button/index.js +3 -0
  208. package/dist/default/ui/play-button/play-button.js +34 -0
  209. package/dist/default/ui/play-button/play-button.js.map +1 -0
  210. package/dist/default/ui/playback-rate-button/index.js +3 -0
  211. package/dist/default/ui/playback-rate-button/playback-rate-button.js +34 -0
  212. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -0
  213. package/dist/default/ui/popover/context.js +16 -0
  214. package/dist/default/ui/popover/context.js.map +1 -0
  215. package/dist/default/ui/popover/index.js +4 -0
  216. package/dist/default/ui/popover/index.parts.js +17 -0
  217. package/dist/default/ui/popover/index.parts.js.map +1 -0
  218. package/dist/default/ui/popover/popover-arrow.js +17 -0
  219. package/dist/default/ui/popover/popover-arrow.js.map +1 -0
  220. package/dist/default/ui/popover/popover-popup.js +96 -0
  221. package/dist/default/ui/popover/popover-popup.js.map +1 -0
  222. package/dist/default/ui/popover/popover-root.js +70 -0
  223. package/dist/default/ui/popover/popover-root.js.map +1 -0
  224. package/dist/default/ui/popover/popover-trigger.js +42 -0
  225. package/dist/default/ui/popover/popover-trigger.js.map +1 -0
  226. package/dist/default/ui/poster/index.js +3 -0
  227. package/dist/default/ui/poster/poster.js +44 -0
  228. package/dist/default/ui/poster/poster.js.map +1 -0
  229. package/dist/default/ui/seek-button/index.js +3 -0
  230. package/dist/default/ui/seek-button/seek-button.js +35 -0
  231. package/dist/default/ui/seek-button/seek-button.js.map +1 -0
  232. package/dist/default/ui/slider/context.js +22 -0
  233. package/dist/default/ui/slider/context.js.map +1 -0
  234. package/dist/default/ui/slider/index.js +3 -0
  235. package/dist/default/ui/slider/index.parts.js +25 -0
  236. package/dist/default/ui/slider/index.parts.js.map +1 -0
  237. package/dist/default/ui/slider/slider-buffer.js +16 -0
  238. package/dist/default/ui/slider/slider-buffer.js.map +1 -0
  239. package/dist/default/ui/slider/slider-fill.js +16 -0
  240. package/dist/default/ui/slider/slider-fill.js.map +1 -0
  241. package/dist/default/ui/slider/slider-preview.js +40 -0
  242. package/dist/default/ui/slider/slider-preview.js.map +1 -0
  243. package/dist/default/ui/slider/slider-root.js +74 -0
  244. package/dist/default/ui/slider/slider-root.js.map +1 -0
  245. package/dist/default/ui/slider/slider-thumb.js +32 -0
  246. package/dist/default/ui/slider/slider-thumb.js.map +1 -0
  247. package/dist/default/ui/slider/slider-thumbnail.js +20 -0
  248. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -0
  249. package/dist/default/ui/slider/slider-track.js +16 -0
  250. package/dist/default/ui/slider/slider-track.js.map +1 -0
  251. package/dist/default/ui/slider/slider-value.js +32 -0
  252. package/dist/default/ui/slider/slider-value.js.map +1 -0
  253. package/dist/default/ui/thumbnail/thumbnail.js +85 -0
  254. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -0
  255. package/dist/default/ui/time/index.js +3 -0
  256. package/dist/default/ui/time/index.parts.js +15 -0
  257. package/dist/default/ui/time/index.parts.js.map +1 -0
  258. package/dist/default/ui/time/time-group.js +34 -0
  259. package/dist/default/ui/time/time-group.js.map +1 -0
  260. package/dist/default/ui/time/time-separator.js +34 -0
  261. package/dist/default/ui/time/time-separator.js.map +1 -0
  262. package/dist/default/ui/time/time-value.js +55 -0
  263. package/dist/default/ui/time/time-value.js.map +1 -0
  264. package/dist/default/ui/time-slider/index.js +3 -0
  265. package/dist/default/ui/time-slider/index.parts.js +23 -0
  266. package/dist/default/ui/time-slider/index.parts.js.map +1 -0
  267. package/dist/default/ui/time-slider/time-slider-root.js +99 -0
  268. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -0
  269. package/dist/default/ui/tooltip/context.js +16 -0
  270. package/dist/default/ui/tooltip/context.js.map +1 -0
  271. package/dist/default/ui/tooltip/group-context.js +15 -0
  272. package/dist/default/ui/tooltip/group-context.js.map +1 -0
  273. package/dist/default/ui/tooltip/index.js +4 -0
  274. package/dist/default/ui/tooltip/index.parts.js +19 -0
  275. package/dist/default/ui/tooltip/index.parts.js.map +1 -0
  276. package/dist/default/ui/tooltip/tooltip-arrow.js +17 -0
  277. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -0
  278. package/dist/default/ui/tooltip/tooltip-popup.js +97 -0
  279. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -0
  280. package/dist/default/ui/tooltip/tooltip-provider.js +28 -0
  281. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -0
  282. package/dist/default/ui/tooltip/tooltip-root.js +71 -0
  283. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -0
  284. package/dist/default/ui/tooltip/tooltip-trigger.js +42 -0
  285. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -0
  286. package/dist/default/ui/volume-slider/index.js +3 -0
  287. package/dist/default/ui/volume-slider/index.parts.js +21 -0
  288. package/dist/default/ui/volume-slider/index.parts.js.map +1 -0
  289. package/dist/default/ui/volume-slider/volume-slider-root.js +89 -0
  290. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -0
  291. package/dist/default/utils/attach-media-element.js +12 -0
  292. package/dist/default/utils/attach-media-element.js.map +1 -0
  293. package/dist/default/utils/media-props.js +11 -0
  294. package/dist/default/utils/media-props.js.map +1 -0
  295. package/dist/default/utils/merge-props.js +85 -0
  296. package/dist/default/utils/merge-props.js.map +1 -0
  297. package/dist/default/utils/use-composed-refs.js +57 -0
  298. package/dist/default/utils/use-composed-refs.js.map +1 -0
  299. package/dist/default/utils/use-destroy.js +33 -0
  300. package/dist/default/utils/use-destroy.js.map +1 -0
  301. package/dist/default/utils/use-force-render.js +13 -0
  302. package/dist/default/utils/use-force-render.js.map +1 -0
  303. package/dist/default/utils/use-latest-ref.js +20 -0
  304. package/dist/default/utils/use-latest-ref.js.map +1 -0
  305. package/dist/default/utils/use-render.js +71 -0
  306. package/dist/default/utils/use-render.js.map +1 -0
  307. package/dist/default/utils/use-safe-id.js +22 -0
  308. package/dist/default/utils/use-safe-id.js.map +1 -0
  309. package/dist/dev/_virtual/_rolldown/runtime.js +18 -0
  310. package/dist/dev/icons/dist/react/default/captions-off.js +67 -0
  311. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -0
  312. package/dist/dev/icons/dist/react/default/captions-on.js +20 -0
  313. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -0
  314. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +20 -0
  315. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -0
  316. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +20 -0
  317. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -0
  318. package/dist/dev/icons/dist/react/default/pause.js +31 -0
  319. package/dist/dev/icons/dist/react/default/pause.js.map +1 -0
  320. package/dist/dev/icons/dist/react/default/pip.js +27 -0
  321. package/dist/dev/icons/dist/react/default/pip.js.map +1 -0
  322. package/dist/dev/icons/dist/react/default/play.js +20 -0
  323. package/dist/dev/icons/dist/react/default/play.js.map +1 -0
  324. package/dist/dev/icons/dist/react/default/restart.js +23 -0
  325. package/dist/dev/icons/dist/react/default/restart.js.map +1 -0
  326. package/dist/dev/icons/dist/react/default/seek.js +20 -0
  327. package/dist/dev/icons/dist/react/default/seek.js.map +1 -0
  328. package/dist/dev/icons/dist/react/default/spinner.js +150 -0
  329. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -0
  330. package/dist/dev/icons/dist/react/default/volume-high.js +23 -0
  331. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -0
  332. package/dist/dev/icons/dist/react/default/volume-low.js +20 -0
  333. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -0
  334. package/dist/dev/icons/dist/react/default/volume-off.js +20 -0
  335. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -0
  336. package/dist/dev/icons/dist/react/minimal/captions-off.js +67 -0
  337. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -0
  338. package/dist/dev/icons/dist/react/minimal/captions-on.js +20 -0
  339. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -0
  340. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +30 -0
  341. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -0
  342. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +30 -0
  343. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -0
  344. package/dist/dev/icons/dist/react/minimal/pause.js +31 -0
  345. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -0
  346. package/dist/dev/icons/dist/react/minimal/pip.js +27 -0
  347. package/dist/dev/icons/dist/react/minimal/pip.js.map +1 -0
  348. package/dist/dev/icons/dist/react/minimal/play.js +20 -0
  349. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -0
  350. package/dist/dev/icons/dist/react/minimal/restart.js +23 -0
  351. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -0
  352. package/dist/dev/icons/dist/react/minimal/seek.js +20 -0
  353. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -0
  354. package/dist/dev/icons/dist/react/minimal/spinner.js +150 -0
  355. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -0
  356. package/dist/dev/icons/dist/react/minimal/volume-high.js +23 -0
  357. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -0
  358. package/dist/dev/icons/dist/react/minimal/volume-low.js +20 -0
  359. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -0
  360. package/dist/dev/icons/dist/react/minimal/volume-off.js +20 -0
  361. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -0
  362. package/dist/dev/index.d.ts +41 -0
  363. package/dist/dev/index.js +35 -0
  364. package/dist/dev/media/audio.d.ts +12 -0
  365. package/dist/dev/media/audio.d.ts.map +1 -0
  366. package/dist/dev/media/audio.js +22 -0
  367. package/dist/dev/media/audio.js.map +1 -0
  368. package/dist/dev/media/background-video/index.d.ts +12 -0
  369. package/dist/dev/media/background-video/index.d.ts.map +1 -0
  370. package/dist/dev/media/background-video/index.js +28 -0
  371. package/dist/dev/media/background-video/index.js.map +1 -0
  372. package/dist/dev/media/hls-video/index.d.ts +11 -0
  373. package/dist/dev/media/hls-video/index.d.ts.map +1 -0
  374. package/dist/dev/media/hls-video/index.js +26 -0
  375. package/dist/dev/media/hls-video/index.js.map +1 -0
  376. package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
  377. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  378. package/dist/dev/media/simple-hls-video/index.js +25 -0
  379. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  380. package/dist/dev/media/video.d.ts +12 -0
  381. package/dist/dev/media/video.d.ts.map +1 -0
  382. package/dist/dev/media/video.js +22 -0
  383. package/dist/dev/media/video.js.map +1 -0
  384. package/dist/dev/player/context.d.ts +40 -0
  385. package/dist/dev/player/context.d.ts.map +1 -0
  386. package/dist/dev/player/context.js +65 -0
  387. package/dist/dev/player/context.js.map +1 -0
  388. package/dist/dev/player/create-player.d.ts +47 -0
  389. package/dist/dev/player/create-player.d.ts.map +1 -0
  390. package/dist/dev/player/create-player.js +40 -0
  391. package/dist/dev/player/create-player.js.map +1 -0
  392. package/dist/dev/presets/audio/index.d.ts +7 -0
  393. package/dist/dev/presets/audio/index.js +8 -0
  394. package/dist/dev/presets/audio/minimal-skin.css +636 -0
  395. package/dist/dev/presets/audio/minimal-skin.d.ts +9 -0
  396. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -0
  397. package/dist/dev/presets/audio/minimal-skin.js +191 -0
  398. package/dist/dev/presets/audio/minimal-skin.js.map +1 -0
  399. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +8 -0
  400. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -0
  401. package/dist/dev/presets/audio/minimal-skin.tailwind.js +238 -0
  402. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -0
  403. package/dist/dev/presets/audio/skin.css +661 -0
  404. package/dist/dev/presets/audio/skin.d.ts +9 -0
  405. package/dist/dev/presets/audio/skin.d.ts.map +1 -0
  406. package/dist/dev/presets/audio/skin.js +180 -0
  407. package/dist/dev/presets/audio/skin.js.map +1 -0
  408. package/dist/dev/presets/audio/skin.tailwind.d.ts +8 -0
  409. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -0
  410. package/dist/dev/presets/audio/skin.tailwind.js +226 -0
  411. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -0
  412. package/dist/dev/presets/background/index.d.ts +4 -0
  413. package/dist/dev/presets/background/index.js +5 -0
  414. package/dist/dev/presets/background/skin.css +22 -0
  415. package/dist/dev/presets/background/skin.d.ts +9 -0
  416. package/dist/dev/presets/background/skin.d.ts.map +1 -0
  417. package/dist/dev/presets/background/skin.js +16 -0
  418. package/dist/dev/presets/background/skin.js.map +1 -0
  419. package/dist/dev/presets/types.d.ts +10 -0
  420. package/dist/dev/presets/types.d.ts.map +1 -0
  421. package/dist/dev/presets/video/error-dialog.js +51 -0
  422. package/dist/dev/presets/video/error-dialog.js.map +1 -0
  423. package/dist/dev/presets/video/index.d.ts +7 -0
  424. package/dist/dev/presets/video/index.js +8 -0
  425. package/dist/dev/presets/video/minimal-skin.css +873 -0
  426. package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
  427. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -0
  428. package/dist/dev/presets/video/minimal-skin.js +267 -0
  429. package/dist/dev/presets/video/minimal-skin.js.map +1 -0
  430. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +8 -0
  431. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -0
  432. package/dist/dev/presets/video/minimal-skin.tailwind.js +319 -0
  433. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -0
  434. package/dist/dev/presets/video/skin.css +878 -0
  435. package/dist/dev/presets/video/skin.d.ts +9 -0
  436. package/dist/dev/presets/video/skin.d.ts.map +1 -0
  437. package/dist/dev/presets/video/skin.js +256 -0
  438. package/dist/dev/presets/video/skin.js.map +1 -0
  439. package/dist/dev/presets/video/skin.tailwind.d.ts +8 -0
  440. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -0
  441. package/dist/dev/presets/video/skin.tailwind.js +306 -0
  442. package/dist/dev/presets/video/skin.tailwind.js.map +1 -0
  443. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +52 -0
  444. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  445. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  446. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  447. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
  448. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  449. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  450. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  451. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  452. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  453. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  454. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  455. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  456. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  457. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  458. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  459. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  460. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  461. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  462. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  463. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  464. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  465. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  466. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  467. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  468. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  469. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  470. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  471. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  472. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  473. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +54 -0
  474. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  475. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +38 -0
  476. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  477. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  478. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  479. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  480. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  481. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  482. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  483. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  484. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  485. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  486. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  487. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  488. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  489. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  490. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  491. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  492. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  493. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  494. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  495. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  496. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  497. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  498. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  499. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  500. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  501. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  502. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  503. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +43 -0
  504. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  505. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +14 -0
  506. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -0
  507. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +31 -0
  508. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -0
  509. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +14 -0
  510. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -0
  511. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +16 -0
  512. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -0
  513. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +14 -0
  514. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -0
  515. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +32 -0
  516. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -0
  517. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +24 -0
  518. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -0
  519. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +59 -0
  520. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -0
  521. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +14 -0
  522. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -0
  523. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +16 -0
  524. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -0
  525. package/dist/dev/ui/alert-dialog/context.d.ts +14 -0
  526. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -0
  527. package/dist/dev/ui/alert-dialog/context.js +16 -0
  528. package/dist/dev/ui/alert-dialog/context.js.map +1 -0
  529. package/dist/dev/ui/alert-dialog/index.d.ts +3 -0
  530. package/dist/dev/ui/alert-dialog/index.js +4 -0
  531. package/dist/dev/ui/alert-dialog/index.parts.d.ts +13 -0
  532. package/dist/dev/ui/alert-dialog/index.parts.d.ts.map +1 -0
  533. package/dist/dev/ui/alert-dialog/index.parts.js +19 -0
  534. package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -0
  535. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +32 -0
  536. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -0
  537. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +53 -0
  538. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -0
  539. package/dist/dev/ui/buffering-indicator/index.d.ts +2 -0
  540. package/dist/dev/ui/buffering-indicator/index.js +3 -0
  541. package/dist/dev/ui/captions-button/captions-button.d.ts +15 -0
  542. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -0
  543. package/dist/dev/ui/captions-button/captions-button.js +19 -0
  544. package/dist/dev/ui/captions-button/captions-button.js.map +1 -0
  545. package/dist/dev/ui/captions-button/index.d.ts +2 -0
  546. package/dist/dev/ui/captions-button/index.js +3 -0
  547. package/dist/dev/ui/controls/context.js +16 -0
  548. package/dist/dev/ui/controls/context.js.map +1 -0
  549. package/dist/dev/ui/controls/controls-group.d.ts +17 -0
  550. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -0
  551. package/dist/dev/ui/controls/controls-group.js +30 -0
  552. package/dist/dev/ui/controls/controls-group.js.map +1 -0
  553. package/dist/dev/ui/controls/controls-root.d.ts +18 -0
  554. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -0
  555. package/dist/dev/ui/controls/controls-root.js +43 -0
  556. package/dist/dev/ui/controls/controls-root.js.map +1 -0
  557. package/dist/dev/ui/controls/index.d.ts +2 -0
  558. package/dist/dev/ui/controls/index.js +3 -0
  559. package/dist/dev/ui/controls/index.parts.d.ts +10 -0
  560. package/dist/dev/ui/controls/index.parts.d.ts.map +1 -0
  561. package/dist/dev/ui/controls/index.parts.js +13 -0
  562. package/dist/dev/ui/controls/index.parts.js.map +1 -0
  563. package/dist/dev/ui/create-context-part.js +34 -0
  564. package/dist/dev/ui/create-context-part.js.map +1 -0
  565. package/dist/dev/ui/create-media-button.js +55 -0
  566. package/dist/dev/ui/create-media-button.js.map +1 -0
  567. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +15 -0
  568. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -0
  569. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +19 -0
  570. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -0
  571. package/dist/dev/ui/fullscreen-button/index.d.ts +2 -0
  572. package/dist/dev/ui/fullscreen-button/index.js +3 -0
  573. package/dist/dev/ui/hooks/use-button.d.ts +40 -0
  574. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -0
  575. package/dist/dev/ui/hooks/use-button.js +46 -0
  576. package/dist/dev/ui/hooks/use-button.js.map +1 -0
  577. package/dist/dev/ui/hooks/use-slider.d.ts +37 -0
  578. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -0
  579. package/dist/dev/ui/hooks/use-slider.js +65 -0
  580. package/dist/dev/ui/hooks/use-slider.js.map +1 -0
  581. package/dist/dev/ui/mute-button/index.d.ts +2 -0
  582. package/dist/dev/ui/mute-button/index.js +3 -0
  583. package/dist/dev/ui/mute-button/mute-button.d.ts +15 -0
  584. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -0
  585. package/dist/dev/ui/mute-button/mute-button.js +19 -0
  586. package/dist/dev/ui/mute-button/mute-button.js.map +1 -0
  587. package/dist/dev/ui/pip-button/index.d.ts +2 -0
  588. package/dist/dev/ui/pip-button/index.js +3 -0
  589. package/dist/dev/ui/pip-button/pip-button.d.ts +15 -0
  590. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -0
  591. package/dist/dev/ui/pip-button/pip-button.js +19 -0
  592. package/dist/dev/ui/pip-button/pip-button.js.map +1 -0
  593. package/dist/dev/ui/play-button/index.d.ts +2 -0
  594. package/dist/dev/ui/play-button/index.js +3 -0
  595. package/dist/dev/ui/play-button/play-button.d.ts +30 -0
  596. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -0
  597. package/dist/dev/ui/play-button/play-button.js +34 -0
  598. package/dist/dev/ui/play-button/play-button.js.map +1 -0
  599. package/dist/dev/ui/playback-rate-button/index.d.ts +2 -0
  600. package/dist/dev/ui/playback-rate-button/index.js +3 -0
  601. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +30 -0
  602. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -0
  603. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +34 -0
  604. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -0
  605. package/dist/dev/ui/popover/context.d.ts +16 -0
  606. package/dist/dev/ui/popover/context.d.ts.map +1 -0
  607. package/dist/dev/ui/popover/context.js +16 -0
  608. package/dist/dev/ui/popover/context.js.map +1 -0
  609. package/dist/dev/ui/popover/index.d.ts +3 -0
  610. package/dist/dev/ui/popover/index.js +4 -0
  611. package/dist/dev/ui/popover/index.parts.d.ts +12 -0
  612. package/dist/dev/ui/popover/index.parts.d.ts.map +1 -0
  613. package/dist/dev/ui/popover/index.parts.js +17 -0
  614. package/dist/dev/ui/popover/index.parts.js.map +1 -0
  615. package/dist/dev/ui/popover/popover-arrow.d.ts +15 -0
  616. package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -0
  617. package/dist/dev/ui/popover/popover-arrow.js +17 -0
  618. package/dist/dev/ui/popover/popover-arrow.js.map +1 -0
  619. package/dist/dev/ui/popover/popover-popup.d.ts +15 -0
  620. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -0
  621. package/dist/dev/ui/popover/popover-popup.js +96 -0
  622. package/dist/dev/ui/popover/popover-popup.js.map +1 -0
  623. package/dist/dev/ui/popover/popover-root.d.ts +29 -0
  624. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -0
  625. package/dist/dev/ui/popover/popover-root.js +70 -0
  626. package/dist/dev/ui/popover/popover-root.js.map +1 -0
  627. package/dist/dev/ui/popover/popover-trigger.d.ts +15 -0
  628. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -0
  629. package/dist/dev/ui/popover/popover-trigger.js +42 -0
  630. package/dist/dev/ui/popover/popover-trigger.js.map +1 -0
  631. package/dist/dev/ui/poster/index.d.ts +2 -0
  632. package/dist/dev/ui/poster/index.js +3 -0
  633. package/dist/dev/ui/poster/poster.d.ts +28 -0
  634. package/dist/dev/ui/poster/poster.d.ts.map +1 -0
  635. package/dist/dev/ui/poster/poster.js +47 -0
  636. package/dist/dev/ui/poster/poster.js.map +1 -0
  637. package/dist/dev/ui/seek-button/index.d.ts +2 -0
  638. package/dist/dev/ui/seek-button/index.js +3 -0
  639. package/dist/dev/ui/seek-button/seek-button.d.ts +31 -0
  640. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -0
  641. package/dist/dev/ui/seek-button/seek-button.js +35 -0
  642. package/dist/dev/ui/seek-button/seek-button.js.map +1 -0
  643. package/dist/dev/ui/slider/context.js +22 -0
  644. package/dist/dev/ui/slider/context.js.map +1 -0
  645. package/dist/dev/ui/slider/index.d.ts +2 -0
  646. package/dist/dev/ui/slider/index.js +3 -0
  647. package/dist/dev/ui/slider/index.parts.d.ts +16 -0
  648. package/dist/dev/ui/slider/index.parts.d.ts.map +1 -0
  649. package/dist/dev/ui/slider/index.parts.js +25 -0
  650. package/dist/dev/ui/slider/index.parts.js.map +1 -0
  651. package/dist/dev/ui/slider/slider-buffer.d.ts +14 -0
  652. package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -0
  653. package/dist/dev/ui/slider/slider-buffer.js +16 -0
  654. package/dist/dev/ui/slider/slider-buffer.js.map +1 -0
  655. package/dist/dev/ui/slider/slider-fill.d.ts +14 -0
  656. package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -0
  657. package/dist/dev/ui/slider/slider-fill.js +16 -0
  658. package/dist/dev/ui/slider/slider-fill.js.map +1 -0
  659. package/dist/dev/ui/slider/slider-preview.d.ts +18 -0
  660. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -0
  661. package/dist/dev/ui/slider/slider-preview.js +40 -0
  662. package/dist/dev/ui/slider/slider-preview.js.map +1 -0
  663. package/dist/dev/ui/slider/slider-root.d.ts +19 -0
  664. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -0
  665. package/dist/dev/ui/slider/slider-root.js +74 -0
  666. package/dist/dev/ui/slider/slider-root.js.map +1 -0
  667. package/dist/dev/ui/slider/slider-thumb.d.ts +14 -0
  668. package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -0
  669. package/dist/dev/ui/slider/slider-thumb.js +32 -0
  670. package/dist/dev/ui/slider/slider-thumb.js.map +1 -0
  671. package/dist/dev/ui/slider/slider-thumbnail.d.ts +14 -0
  672. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -0
  673. package/dist/dev/ui/slider/slider-thumbnail.js +20 -0
  674. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -0
  675. package/dist/dev/ui/slider/slider-track.d.ts +14 -0
  676. package/dist/dev/ui/slider/slider-track.d.ts.map +1 -0
  677. package/dist/dev/ui/slider/slider-track.js +16 -0
  678. package/dist/dev/ui/slider/slider-track.js.map +1 -0
  679. package/dist/dev/ui/slider/slider-value.d.ts +19 -0
  680. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -0
  681. package/dist/dev/ui/slider/slider-value.js +32 -0
  682. package/dist/dev/ui/slider/slider-value.js.map +1 -0
  683. package/dist/dev/ui/thumbnail/thumbnail.d.ts +17 -0
  684. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -0
  685. package/dist/dev/ui/thumbnail/thumbnail.js +85 -0
  686. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -0
  687. package/dist/dev/ui/time/index.d.ts +2 -0
  688. package/dist/dev/ui/time/index.js +3 -0
  689. package/dist/dev/ui/time/index.parts.d.ts +11 -0
  690. package/dist/dev/ui/time/index.parts.d.ts.map +1 -0
  691. package/dist/dev/ui/time/index.parts.js +15 -0
  692. package/dist/dev/ui/time/index.parts.js.map +1 -0
  693. package/dist/dev/ui/time/time-group.d.ts +29 -0
  694. package/dist/dev/ui/time/time-group.d.ts.map +1 -0
  695. package/dist/dev/ui/time/time-group.js +34 -0
  696. package/dist/dev/ui/time/time-group.js.map +1 -0
  697. package/dist/dev/ui/time/time-separator.d.ts +26 -0
  698. package/dist/dev/ui/time/time-separator.d.ts.map +1 -0
  699. package/dist/dev/ui/time/time-separator.js +34 -0
  700. package/dist/dev/ui/time/time-separator.js.map +1 -0
  701. package/dist/dev/ui/time/time-value.d.ts +24 -0
  702. package/dist/dev/ui/time/time-value.d.ts.map +1 -0
  703. package/dist/dev/ui/time/time-value.js +58 -0
  704. package/dist/dev/ui/time/time-value.js.map +1 -0
  705. package/dist/dev/ui/time-slider/index.d.ts +2 -0
  706. package/dist/dev/ui/time-slider/index.js +3 -0
  707. package/dist/dev/ui/time-slider/index.parts.d.ts +15 -0
  708. package/dist/dev/ui/time-slider/index.parts.d.ts.map +1 -0
  709. package/dist/dev/ui/time-slider/index.parts.js +23 -0
  710. package/dist/dev/ui/time-slider/index.parts.js.map +1 -0
  711. package/dist/dev/ui/time-slider/time-slider-root.d.ts +17 -0
  712. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -0
  713. package/dist/dev/ui/time-slider/time-slider-root.js +102 -0
  714. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -0
  715. package/dist/dev/ui/tooltip/context.d.ts +16 -0
  716. package/dist/dev/ui/tooltip/context.d.ts.map +1 -0
  717. package/dist/dev/ui/tooltip/context.js +16 -0
  718. package/dist/dev/ui/tooltip/context.js.map +1 -0
  719. package/dist/dev/ui/tooltip/group-context.js +15 -0
  720. package/dist/dev/ui/tooltip/group-context.js.map +1 -0
  721. package/dist/dev/ui/tooltip/index.d.ts +3 -0
  722. package/dist/dev/ui/tooltip/index.js +4 -0
  723. package/dist/dev/ui/tooltip/index.parts.d.ts +13 -0
  724. package/dist/dev/ui/tooltip/index.parts.d.ts.map +1 -0
  725. package/dist/dev/ui/tooltip/index.parts.js +19 -0
  726. package/dist/dev/ui/tooltip/index.parts.js.map +1 -0
  727. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +15 -0
  728. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -0
  729. package/dist/dev/ui/tooltip/tooltip-arrow.js +17 -0
  730. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -0
  731. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +15 -0
  732. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -0
  733. package/dist/dev/ui/tooltip/tooltip-popup.js +97 -0
  734. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -0
  735. package/dist/dev/ui/tooltip/tooltip-provider.d.ts +19 -0
  736. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -0
  737. package/dist/dev/ui/tooltip/tooltip-provider.js +28 -0
  738. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -0
  739. package/dist/dev/ui/tooltip/tooltip-root.d.ts +30 -0
  740. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -0
  741. package/dist/dev/ui/tooltip/tooltip-root.js +71 -0
  742. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -0
  743. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +15 -0
  744. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -0
  745. package/dist/dev/ui/tooltip/tooltip-trigger.js +42 -0
  746. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -0
  747. package/dist/dev/ui/volume-slider/index.d.ts +2 -0
  748. package/dist/dev/ui/volume-slider/index.js +3 -0
  749. package/dist/dev/ui/volume-slider/index.parts.d.ts +14 -0
  750. package/dist/dev/ui/volume-slider/index.parts.d.ts.map +1 -0
  751. package/dist/dev/ui/volume-slider/index.parts.js +21 -0
  752. package/dist/dev/ui/volume-slider/index.parts.js.map +1 -0
  753. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +17 -0
  754. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -0
  755. package/dist/dev/ui/volume-slider/volume-slider-root.js +92 -0
  756. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -0
  757. package/dist/dev/utils/attach-media-element.js +12 -0
  758. package/dist/dev/utils/attach-media-element.js.map +1 -0
  759. package/dist/dev/utils/media-props.js +11 -0
  760. package/dist/dev/utils/media-props.js.map +1 -0
  761. package/dist/dev/utils/merge-props.d.ts +26 -0
  762. package/dist/dev/utils/merge-props.d.ts.map +1 -0
  763. package/dist/dev/utils/merge-props.js +85 -0
  764. package/dist/dev/utils/merge-props.js.map +1 -0
  765. package/dist/dev/utils/types.d.ts +27 -0
  766. package/dist/dev/utils/types.d.ts.map +1 -0
  767. package/dist/dev/utils/use-composed-refs.js +57 -0
  768. package/dist/dev/utils/use-composed-refs.js.map +1 -0
  769. package/dist/dev/utils/use-destroy.js +33 -0
  770. package/dist/dev/utils/use-destroy.js.map +1 -0
  771. package/dist/dev/utils/use-force-render.js +13 -0
  772. package/dist/dev/utils/use-force-render.js.map +1 -0
  773. package/dist/dev/utils/use-latest-ref.js +20 -0
  774. package/dist/dev/utils/use-latest-ref.js.map +1 -0
  775. package/dist/dev/utils/use-render.d.ts +45 -0
  776. package/dist/dev/utils/use-render.d.ts.map +1 -0
  777. package/dist/dev/utils/use-render.js +71 -0
  778. package/dist/dev/utils/use-render.js.map +1 -0
  779. package/dist/dev/utils/use-safe-id.js +22 -0
  780. package/dist/dev/utils/use-safe-id.js.map +1 -0
  781. package/package.json +76 -52
  782. package/dist/FrostedSkin-t8edr5LV.d.ts +0 -13
  783. package/dist/FrostedSkin-t8edr5LV.d.ts.map +0 -1
  784. package/dist/MinimalSkin-DzHkJgW-.d.ts +0 -13
  785. package/dist/MinimalSkin-DzHkJgW-.d.ts.map +0 -1
  786. package/dist/VolumeSlider-DBvAU2X3.js +0 -1025
  787. package/dist/VolumeSlider-DBvAU2X3.js.map +0 -1
  788. package/dist/frosted-D2OXDJRV.js +0 -156
  789. package/dist/frosted-D2OXDJRV.js.map +0 -1
  790. package/dist/icons-BqfV81R8.js +0 -316
  791. package/dist/icons-BqfV81R8.js.map +0 -1
  792. package/dist/icons.d.ts +0 -71
  793. package/dist/icons.d.ts.map +0 -1
  794. package/dist/icons.js +0 -3
  795. package/dist/index-CM70WSkA.d.ts +0 -36
  796. package/dist/index-CM70WSkA.d.ts.map +0 -1
  797. package/dist/index.d.ts +0 -331
  798. package/dist/index.d.ts.map +0 -1
  799. package/dist/index.js +0 -89
  800. package/dist/index.js.map +0 -1
  801. package/dist/minimal-CDaU4avz.js +0 -162
  802. package/dist/minimal-CDaU4avz.js.map +0 -1
  803. package/dist/skins/frosted.css +0 -4
  804. package/dist/skins/frosted.d.ts +0 -2
  805. package/dist/skins/frosted.js +0 -9
  806. package/dist/skins/minimal.css +0 -4
  807. package/dist/skins/minimal.d.ts +0 -2
  808. package/dist/skins/minimal.js +0 -9
  809. package/dist/store-hGO5HE2A.js +0 -124
  810. package/dist/store-hGO5HE2A.js.map +0 -1
  811. package/dist/store.d.ts +0 -2
  812. package/dist/store.js +0 -6
@@ -0,0 +1,85 @@
1
+ 'use client';
2
+
3
+ //#region src/utils/merge-props.ts
4
+ /**
5
+ * Check if a key is an event handler key (on* with capital letter).
6
+ */
7
+ function isEventHandlerKey(key) {
8
+ return key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && key.charCodeAt(2) >= 65 && key.charCodeAt(2) <= 90;
9
+ }
10
+ /**
11
+ * Check if a key/value pair is an event handler (includes undefined values).
12
+ */
13
+ function isEventHandler(key, value) {
14
+ return isEventHandlerKey(key) && (typeof value === "function" || typeof value === "undefined");
15
+ }
16
+ /**
17
+ * Merge two event handlers - external runs first, ours runs second.
18
+ */
19
+ function mergeEventHandlers(ours, theirs) {
20
+ if (!theirs) return ours;
21
+ if (!ours) return theirs;
22
+ return (event) => {
23
+ theirs(event);
24
+ ours(event);
25
+ };
26
+ }
27
+ /**
28
+ * Merge two className values - concatenate strings.
29
+ */
30
+ function mergeClassNames(ours, theirs) {
31
+ if (theirs && ours) return `${theirs} ${ours}`;
32
+ return theirs || ours;
33
+ }
34
+ /**
35
+ * Merge two style objects - theirs overwrites conflicts.
36
+ */
37
+ function mergeStyles(ours, theirs) {
38
+ if (!theirs) return ours;
39
+ if (!ours) return theirs;
40
+ return {
41
+ ...ours,
42
+ ...theirs
43
+ };
44
+ }
45
+ /**
46
+ * Merge a single props object into accumulated result.
47
+ */
48
+ function mergeOne(merged, props) {
49
+ if (!props) return merged;
50
+ for (const key in props) {
51
+ const value = props[key];
52
+ if (key === "className") merged.className = mergeClassNames(merged.className, value);
53
+ else if (key === "style") merged.style = mergeStyles(merged.style, value);
54
+ else if (isEventHandler(key, value)) merged[key] = mergeEventHandlers(merged[key], value);
55
+ else merged[key] = value;
56
+ }
57
+ return merged;
58
+ }
59
+ /**
60
+ * Merge multiple props objects.
61
+ *
62
+ * - Event handlers (on*): chained - external first, ours second
63
+ * - className: concatenated
64
+ * - style: merged objects (external wins conflicts)
65
+ * - other: last one wins
66
+ *
67
+ * @public
68
+ * @example
69
+ * ```ts
70
+ * const merged = mergeProps(
71
+ * { onClick: ourHandler, className: 'base' },
72
+ * { onClick: theirHandler, className: 'custom' }
73
+ * );
74
+ * // { onClick: chainedHandler, className: 'custom base' }
75
+ * ```
76
+ */
77
+ function mergeProps(...propSets) {
78
+ let merged = {};
79
+ for (const props of propSets) merged = mergeOne(merged, props);
80
+ return merged;
81
+ }
82
+
83
+ //#endregion
84
+ export { mergeProps };
85
+ //# sourceMappingURL=merge-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-props.js","names":[],"sources":["../../../src/utils/merge-props.ts"],"sourcesContent":["'use client';\n\nimport type { ComponentPropsWithRef, CSSProperties, ElementType, SyntheticEvent } from 'react';\n\ntype Props<T extends ElementType = ElementType> = ComponentPropsWithRef<T>;\n\n/**\n * Check if a key is an event handler key (on* with capital letter).\n */\nfunction isEventHandlerKey(key: string): boolean {\n return (\n key.charCodeAt(0) === 111 /* o */ &&\n key.charCodeAt(1) === 110 /* n */ &&\n key.charCodeAt(2) >= 65 /* A */ &&\n key.charCodeAt(2) <= 90 /* Z */\n );\n}\n\n/**\n * Check if a key/value pair is an event handler (includes undefined values).\n */\nfunction isEventHandler(key: string, value: unknown): boolean {\n return isEventHandlerKey(key) && (typeof value === 'function' || typeof value === 'undefined');\n}\n\n/**\n * Merge two event handlers - external runs first, ours runs second.\n */\nfunction mergeEventHandlers(\n ours: ((event: SyntheticEvent) => void) | undefined,\n theirs: ((event: SyntheticEvent) => void) | undefined\n): ((event: SyntheticEvent) => void) | undefined {\n if (!theirs) return ours;\n if (!ours) return theirs;\n\n return (event: SyntheticEvent) => {\n theirs(event);\n ours(event);\n };\n}\n\n/**\n * Merge two className values - concatenate strings.\n */\nfunction mergeClassNames(ours: string | undefined, theirs: string | undefined): string | undefined {\n if (theirs && ours) return `${theirs} ${ours}`;\n return theirs || ours;\n}\n\n/**\n * Merge two style objects - theirs overwrites conflicts.\n */\nfunction mergeStyles(ours: CSSProperties | undefined, theirs: CSSProperties | undefined): CSSProperties | undefined {\n if (!theirs) return ours;\n if (!ours) return theirs;\n return { ...ours, ...theirs };\n}\n\n/**\n * Merge a single props object into accumulated result.\n */\nfunction mergeOne<T extends ElementType>(\n merged: Record<string, unknown>,\n props: Props<T> | undefined\n): Record<string, unknown> {\n if (!props) return merged;\n\n for (const key in props) {\n const value = props[key as keyof typeof props];\n\n if (key === 'className') {\n merged.className = mergeClassNames(merged.className as string | undefined, value as string);\n } else if (key === 'style') {\n merged.style = mergeStyles(merged.style as CSSProperties | undefined, value as CSSProperties);\n } else if (isEventHandler(key, value)) {\n merged[key] = mergeEventHandlers(\n merged[key] as ((event: SyntheticEvent) => void) | undefined,\n value as (event: SyntheticEvent) => void\n );\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n}\n\n/**\n * Merge multiple props objects.\n *\n * - Event handlers (on*): chained - external first, ours second\n * - className: concatenated\n * - style: merged objects (external wins conflicts)\n * - other: last one wins\n *\n * @public\n * @example\n * ```ts\n * const merged = mergeProps(\n * { onClick: ourHandler, className: 'base' },\n * { onClick: theirHandler, className: 'custom' }\n * );\n * // { onClick: chainedHandler, className: 'custom base' }\n * ```\n */\nexport function mergeProps<T extends ElementType>(...propSets: (Props<T> | undefined)[]): Props<T> {\n let merged: Record<string, unknown> = {};\n\n for (const props of propSets) {\n merged = mergeOne(merged, props);\n }\n\n return merged as Props<T>;\n}\n"],"mappings":";;;;;;AASA,SAAS,kBAAkB,KAAsB;AAC/C,QACE,IAAI,WAAW,EAAE,KAAK,OACtB,IAAI,WAAW,EAAE,KAAK,OACtB,IAAI,WAAW,EAAE,IAAI,MACrB,IAAI,WAAW,EAAE,IAAI;;;;;AAOzB,SAAS,eAAe,KAAa,OAAyB;AAC5D,QAAO,kBAAkB,IAAI,KAAK,OAAO,UAAU,cAAc,OAAO,UAAU;;;;;AAMpF,SAAS,mBACP,MACA,QAC+C;AAC/C,KAAI,CAAC,OAAQ,QAAO;AACpB,KAAI,CAAC,KAAM,QAAO;AAElB,SAAQ,UAA0B;AAChC,SAAO,MAAM;AACb,OAAK,MAAM;;;;;;AAOf,SAAS,gBAAgB,MAA0B,QAAgD;AACjG,KAAI,UAAU,KAAM,QAAO,GAAG,OAAO,GAAG;AACxC,QAAO,UAAU;;;;;AAMnB,SAAS,YAAY,MAAiC,QAA8D;AAClH,KAAI,CAAC,OAAQ,QAAO;AACpB,KAAI,CAAC,KAAM,QAAO;AAClB,QAAO;EAAE,GAAG;EAAM,GAAG;EAAQ;;;;;AAM/B,SAAS,SACP,QACA,OACyB;AACzB,KAAI,CAAC,MAAO,QAAO;AAEnB,MAAK,MAAM,OAAO,OAAO;EACvB,MAAM,QAAQ,MAAM;AAEpB,MAAI,QAAQ,YACV,QAAO,YAAY,gBAAgB,OAAO,WAAiC,MAAgB;WAClF,QAAQ,QACjB,QAAO,QAAQ,YAAY,OAAO,OAAoC,MAAuB;WACpF,eAAe,KAAK,MAAM,CACnC,QAAO,OAAO,mBACZ,OAAO,MACP,MACD;MAED,QAAO,OAAO;;AAIlB,QAAO;;;;;;;;;;;;;;;;;;;;AAqBT,SAAgB,WAAkC,GAAG,UAA8C;CACjG,IAAI,SAAkC,EAAE;AAExC,MAAK,MAAM,SAAS,SAClB,UAAS,SAAS,QAAQ,MAAM;AAGlC,QAAO"}
@@ -0,0 +1,27 @@
1
+ import { CSSProperties, ComponentPropsWithRef, ElementType, ReactElement } from "react";
2
+
3
+ //#region src/utils/types.d.ts
4
+ /** Props that can be spread on any HTML element. */
5
+ type HTMLProps<T = any> = React.HTMLAttributes<T> & {
6
+ ref?: React.Ref<T> | undefined;
7
+ };
8
+ /** Render function signature - receives props and state, returns element. */
9
+ type RenderFunction<Props, State> = (props: Props, state: State) => ReactElement | null;
10
+ /** Render prop - either a React element or a render function. */
11
+ type RenderProp<State> = ReactElement | RenderFunction<HTMLProps, State>;
12
+ /**
13
+ * Standard props for UI components.
14
+ *
15
+ * Provides consistent API across all UI components:
16
+ * - `className` as string or function of state
17
+ * - `style` as object or function of state
18
+ * - `render` prop for element customization
19
+ */
20
+ type UIComponentProps<TagName extends keyof React.JSX.IntrinsicElements, State> = Omit<React.JSX.IntrinsicElements[TagName], 'className' | 'style'> & {
21
+ /** Class name or function returning class name from state. */className?: string | ((state: State) => string | undefined) | undefined; /** Style or function returning style from state. */
22
+ style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined; /** Render prop for custom element. */
23
+ render?: RenderProp<State> | undefined;
24
+ };
25
+ //#endregion
26
+ export { HTMLProps, RenderFunction, RenderProp, UIComponentProps };
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/utils/types.ts"],"mappings":";;;;KAGY,SAAA,YAAqB,KAAA,CAAM,cAAA,CAAe,CAAA;EACpD,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,CAAA;AAAA;;KAIN,cAAA,kBAAgC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,KAAU,YAAA;;KAG/D,UAAA,UAAoB,YAAA,GAAe,cAAA,CAAe,SAAA,EAAW,KAAA;;;;;;;;;KAU7D,gBAAA,uBAAuC,KAAA,CAAM,GAAA,CAAI,iBAAA,WAA4B,IAAA,CACvF,KAAA,CAAM,GAAA,CAAI,iBAAA,CAAkB,OAAA;EAlBhB,8DAsBZ,SAAA,cAAuB,KAAA,EAAO,KAAA,sCAtBb;EAwBjB,KAAA,GAAQ,aAAA,KAAkB,KAAA,EAAO,KAAA,KAAU,aAAA,2BApBjC;EAsBV,MAAA,GAAS,UAAA,CAAW,KAAA;AAAA"}
@@ -0,0 +1,57 @@
1
+ 'use client';
2
+
3
+ import { useCallback } from "react";
4
+ import { isFunction } from "@videojs/utils/predicate";
5
+
6
+ //#region src/utils/use-composed-refs.ts
7
+ /**
8
+ * Set a given ref to a given value.
9
+ *
10
+ * Handles both callback refs and RefObject(s).
11
+ *
12
+ * @returns Cleanup function if the ref callback returned one (React 19+)
13
+ */
14
+ function setRef(ref, value) {
15
+ if (isFunction(ref)) return ref(value);
16
+ else if (ref !== null && ref !== void 0) ref.current = value;
17
+ }
18
+ /**
19
+ * Compose multiple refs into a single callback ref.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * const composedRef = composeRefs(ref1, ref2, ref3);
24
+ * return <div ref={composedRef} />;
25
+ * ```
26
+ */
27
+ function composeRefs(...refs) {
28
+ const flatRefs = refs.flat();
29
+ return (node) => {
30
+ const cleanups = flatRefs.map((ref) => setRef(ref, node));
31
+ if (cleanups.some(isFunction)) return () => {
32
+ for (let i = 0; i < cleanups.length; i++) {
33
+ const cleanup = cleanups[i];
34
+ if (isFunction(cleanup)) cleanup();
35
+ else setRef(flatRefs[i], null);
36
+ }
37
+ };
38
+ };
39
+ }
40
+ /**
41
+ * Hook that composes multiple refs into a single callback ref.
42
+ *
43
+ * Memoized for stable reference.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const composedRef = useComposedRefs(forwardedRef, localRef);
48
+ * return <div ref={composedRef} />;
49
+ * ```
50
+ */
51
+ function useComposedRefs(...refs) {
52
+ return useCallback(composeRefs(...refs), [...refs]);
53
+ }
54
+
55
+ //#endregion
56
+ export { composeRefs, useComposedRefs };
57
+ //# sourceMappingURL=use-composed-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-composed-refs.js","names":[],"sources":["../../../src/utils/use-composed-refs.ts"],"sourcesContent":["'use client';\n\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { Ref, RefCallback } from 'react';\n\nimport { useCallback } from 'react';\n\ntype OptionalRef<T> = Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value.\n *\n * Handles both callback refs and RefObject(s).\n *\n * @returns Cleanup function if the ref callback returned one (React 19+)\n */\nfunction setRef<T>(ref: OptionalRef<T>, value: T): (() => void) | void | undefined {\n if (isFunction(ref)) {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * Compose multiple refs into a single callback ref.\n *\n * @example\n * ```tsx\n * const composedRef = composeRefs(ref1, ref2, ref3);\n * return <div ref={composedRef} />;\n * ```\n */\nexport function composeRefs<T>(...refs: (OptionalRef<T> | OptionalRef<T>[])[]): RefCallback<T> {\n const flatRefs = refs.flat();\n\n return (node): (() => void) | void => {\n const cleanups = flatRefs.map((ref) => setRef(ref, node));\n\n // Only return cleanup if any refs returned one (React 19+).\n // React 18 handles cleanup by calling the ref callback with null.\n if (cleanups.some(isFunction)) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (isFunction(cleanup)) {\n cleanup();\n } else {\n setRef(flatRefs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * Hook that composes multiple refs into a single callback ref.\n *\n * Memoized for stable reference.\n *\n * @example\n * ```tsx\n * const composedRef = useComposedRefs(forwardedRef, localRef);\n * return <div ref={composedRef} />;\n * ```\n */\nexport function useComposedRefs<T>(...refs: OptionalRef<T>[]): RefCallback<T> {\n return useCallback(composeRefs(...refs), [...refs]);\n}\n"],"mappings":";;;;;;;;;;;;;AAgBA,SAAS,OAAU,KAAqB,OAA2C;AACjF,KAAI,WAAW,IAAI,CACjB,QAAO,IAAI,MAAM;UACR,QAAQ,QAAQ,QAAQ,OACjC,KAAI,UAAU;;;;;;;;;;;AAalB,SAAgB,YAAe,GAAG,MAA6D;CAC7F,MAAM,WAAW,KAAK,MAAM;AAE5B,SAAQ,SAA8B;EACpC,MAAM,WAAW,SAAS,KAAK,QAAQ,OAAO,KAAK,KAAK,CAAC;AAIzD,MAAI,SAAS,KAAK,WAAW,CAC3B,cAAa;AACX,QAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;IACxC,MAAM,UAAU,SAAS;AACzB,QAAI,WAAW,QAAQ,CACrB,UAAS;QAET,QAAO,SAAS,IAAI,KAAK;;;;;;;;;;;;;;;;AAmBrC,SAAgB,gBAAmB,GAAG,MAAwC;AAC5E,QAAO,YAAY,YAAY,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+
3
+ import { useEffect, useRef } from "react";
4
+
5
+ //#region src/utils/use-destroy.ts
6
+ /**
7
+ * Destroy an instance on unmount, deferring destruction to survive React
8
+ * StrictMode's simulated unmount/re-mount cycle.
9
+ *
10
+ * StrictMode runs effects, then immediately runs cleanup, then re-runs
11
+ * effects — all synchronously. By deferring `destroy()` to a macrotask,
12
+ * the re-mount effect can cancel it before it fires.
13
+ *
14
+ * @param instance - Object with a `destroy()` method.
15
+ * @param setup - Optional setup called on first mount. Skipped on StrictMode
16
+ * re-mount since the previous setup was never torn down.
17
+ */
18
+ function useDestroy(instance, setup) {
19
+ const pendingRef = useRef(null);
20
+ useEffect(() => {
21
+ if (pendingRef.current !== null) {
22
+ clearTimeout(pendingRef.current);
23
+ pendingRef.current = null;
24
+ } else setup?.();
25
+ return () => {
26
+ pendingRef.current = setTimeout(() => instance.destroy(), 0);
27
+ };
28
+ }, [instance, setup]);
29
+ }
30
+
31
+ //#endregion
32
+ export { useDestroy };
33
+ //# sourceMappingURL=use-destroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-destroy.js","names":[],"sources":["../../../src/utils/use-destroy.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\n\ninterface Destroyable {\n destroy(): void;\n}\n\n/**\n * Destroy an instance on unmount, deferring destruction to survive React\n * StrictMode's simulated unmount/re-mount cycle.\n *\n * StrictMode runs effects, then immediately runs cleanup, then re-runs\n * effects — all synchronously. By deferring `destroy()` to a macrotask,\n * the re-mount effect can cancel it before it fires.\n *\n * @param instance - Object with a `destroy()` method.\n * @param setup - Optional setup called on first mount. Skipped on StrictMode\n * re-mount since the previous setup was never torn down.\n */\nexport function useDestroy(instance: Destroyable, setup?: () => void): void {\n const pendingRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setup?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => instance.destroy(), 0);\n };\n }, [instance, setup]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,SAAgB,WAAW,UAAuB,OAA0B;CAC1E,MAAM,aAAa,OAA6C,KAAK;AAErE,iBAAgB;AACd,MAAI,WAAW,YAAY,MAAM;AAC/B,gBAAa,WAAW,QAAQ;AAChC,cAAW,UAAU;QAErB,UAAS;AAGX,eAAa;AACX,cAAW,UAAU,iBAAiB,SAAS,SAAS,EAAE,EAAE;;IAE7D,CAAC,UAAU,MAAM,CAAC"}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+
3
+ import { useReducer } from "react";
4
+
5
+ //#region src/utils/use-force-render.ts
6
+ function useForceRender() {
7
+ const [, forceRender] = useReducer((c) => c + 1, 0);
8
+ return forceRender;
9
+ }
10
+
11
+ //#endregion
12
+ export { useForceRender };
13
+ //# sourceMappingURL=use-force-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-force-render.js","names":[],"sources":["../../../src/utils/use-force-render.ts"],"sourcesContent":["'use client';\n\nimport { useReducer } from 'react';\n\nexport function useForceRender() {\n const [, forceRender] = useReducer((c: number) => c + 1, 0);\n return forceRender;\n}\n\nexport namespace useForceRender {\n export type Result = () => void;\n}\n"],"mappings":";;;;;AAIA,SAAgB,iBAAiB;CAC/B,MAAM,GAAG,eAAe,YAAY,MAAc,IAAI,GAAG,EAAE;AAC3D,QAAO"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+
3
+ import { useRef } from "react";
4
+
5
+ //#region src/utils/use-latest-ref.ts
6
+ /**
7
+ * Keep a ref that always points to the latest value.
8
+ *
9
+ * Useful for capturing callbacks or derived values inside closures
10
+ * that are created once (e.g. factory callbacks) without stale reads.
11
+ */
12
+ function useLatestRef(value) {
13
+ const ref = useRef(value);
14
+ ref.current = value;
15
+ return ref;
16
+ }
17
+
18
+ //#endregion
19
+ export { useLatestRef };
20
+ //# sourceMappingURL=use-latest-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-latest-ref.js","names":[],"sources":["../../../src/utils/use-latest-ref.ts"],"sourcesContent":["'use client';\n\nimport { useRef } from 'react';\n\n/**\n * Keep a ref that always points to the latest value.\n *\n * Useful for capturing callbacks or derived values inside closures\n * that are created once (e.g. factory callbacks) without stale reads.\n */\nexport function useLatestRef<Value>(value: Value): Readonly<{ current: Value }> {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n\nexport namespace useLatestRef {\n export type Result<Value> = Readonly<{ current: Value }>;\n}\n"],"mappings":";;;;;;;;;;;AAUA,SAAgB,aAAoB,OAA4C;CAC9E,MAAM,MAAM,OAAO,MAAM;AACzB,KAAI,UAAU;AACd,QAAO"}
@@ -0,0 +1,45 @@
1
+ import { RenderProp } from "./types.js";
2
+ import { StateAttrMap } from "@videojs/core/dom";
3
+ import { CSSProperties, ReactElement, Ref } from "react";
4
+
5
+ //#region src/utils/use-render.d.ts
6
+ type IntrinsicTagName = keyof React.JSX.IntrinsicElements;
7
+ interface UseRenderComponentProps<State> {
8
+ className?: string | ((state: State) => string | undefined) | undefined;
9
+ style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined;
10
+ render?: RenderProp<State> | undefined;
11
+ }
12
+ interface UseRenderParameters<State, RenderedElementType extends Element> {
13
+ state: State;
14
+ ref?: Ref<RenderedElementType> | Ref<RenderedElementType>[] | undefined;
15
+ props?: object | object[] | undefined;
16
+ stateAttrMap?: StateAttrMap<State> | undefined;
17
+ }
18
+ /**
19
+ * Render a UI component element.
20
+ *
21
+ * Handles:
22
+ * - Default tag rendering
23
+ * - Render prop (element or function)
24
+ * - Props merging (event handlers chained, className concatenated, style merged)
25
+ * - Ref composition
26
+ * - className/style as functions of state
27
+ *
28
+ * @public
29
+ * @example
30
+ * ```tsx
31
+ * return renderElement('button', componentProps, {
32
+ * state,
33
+ * ref: [forwardedRef, buttonRef],
34
+ * props: [{ type: 'button' }, elementProps, getButtonProps],
35
+ * });
36
+ * ```
37
+ */
38
+ declare function renderElement<State extends object, RenderedElementType extends Element, TagName extends IntrinsicTagName>(element: TagName, componentProps: UseRenderComponentProps<State>, params: UseRenderParameters<State, RenderedElementType>): ReactElement | null;
39
+ declare namespace renderElement {
40
+ type ComponentProps<State> = UseRenderComponentProps<State>;
41
+ type Parameters<State, RenderedElementType extends Element> = UseRenderParameters<State, RenderedElementType>;
42
+ }
43
+ //#endregion
44
+ export { renderElement };
45
+ //# sourceMappingURL=use-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-render.d.ts","names":[],"sources":["../../../src/utils/use-render.tsx"],"mappings":";;;;;KAUK,gBAAA,SAAyB,KAAA,CAAM,GAAA,CAAI,iBAAA;AAAA,UAEvB,uBAAA;EACf,SAAA,cAAuB,KAAA,EAAO,KAAA;EAC9B,KAAA,GAAQ,aAAA,KAAkB,KAAA,EAAO,KAAA,KAAU,aAAA;EAC3C,MAAA,GAAS,UAAA,CAAW,KAAA;AAAA;AAAA,UAGL,mBAAA,oCAAuD,OAAA;EACtE,KAAA,EAAO,KAAA;EACP,GAAA,GAAM,GAAA,CAAI,mBAAA,IAAuB,GAAA,CAAI,mBAAA;EACrC,KAAA;EACA,YAAA,GAAe,YAAA,CAAa,KAAA;AAAA;;;;;;;;;;;;;;;;;;;;;iBA4Cd,aAAA,mDAEc,OAAA,kBACZ,gBAAA,CAAA,CAEhB,OAAA,EAAS,OAAA,EACT,cAAA,EAAgB,uBAAA,CAAwB,KAAA,GACxC,MAAA,EAAQ,mBAAA,CAAoB,KAAA,EAAO,mBAAA,IAClC,YAAA;AAAA,kBAgDc,aAAA;EAAA,KACH,cAAA,UAAwB,uBAAA,CAAwB,KAAA;EAAA,KAChD,UAAA,oCAA8C,OAAA,IAAW,mBAAA,CAAoB,KAAA,EAAO,mBAAA;AAAA"}
@@ -0,0 +1,71 @@
1
+ 'use client';
2
+
3
+ import { composeRefs } from "./use-composed-refs.js";
4
+ import { mergeProps } from "./merge-props.js";
5
+ import { getStateDataAttrs } from "@videojs/core/dom";
6
+ import { cloneElement, createElement, isValidElement } from "react";
7
+ import { isFunction } from "@videojs/utils/predicate";
8
+
9
+ //#region src/utils/use-render.tsx
10
+ function resolveClassName(className, state) {
11
+ return isFunction(className) ? className(state) : className;
12
+ }
13
+ function resolveStyle(style, state) {
14
+ return isFunction(style) ? style(state) : style;
15
+ }
16
+ function getElementRef(element) {
17
+ const elementAny = element;
18
+ return elementAny.ref ?? elementAny.props?.ref;
19
+ }
20
+ /**
21
+ * Render a UI component element.
22
+ *
23
+ * Handles:
24
+ * - Default tag rendering
25
+ * - Render prop (element or function)
26
+ * - Props merging (event handlers chained, className concatenated, style merged)
27
+ * - Ref composition
28
+ * - className/style as functions of state
29
+ *
30
+ * @public
31
+ * @example
32
+ * ```tsx
33
+ * return renderElement('button', componentProps, {
34
+ * state,
35
+ * ref: [forwardedRef, buttonRef],
36
+ * props: [{ type: 'button' }, elementProps, getButtonProps],
37
+ * });
38
+ * ```
39
+ */
40
+ function renderElement(element, componentProps, params) {
41
+ const { className: classNameProp, style: styleProp, render } = componentProps;
42
+ const { state, ref, props, stateAttrMap } = params;
43
+ const className = resolveClassName(classNameProp, state);
44
+ const style = resolveStyle(styleProp, state);
45
+ const mergedProps = mergeProps(getStateDataAttrs(state, stateAttrMap), ...Array.isArray(props) ? props : props ? [props] : []);
46
+ if (className !== void 0) mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;
47
+ if (style !== void 0) mergedProps.style = mergedProps.style ? {
48
+ ...mergedProps.style,
49
+ ...style
50
+ } : style;
51
+ if (isFunction(render)) {
52
+ const mergedRef = composeRefs(ref, mergedProps.ref);
53
+ return render({
54
+ ...mergedProps,
55
+ ref: mergedRef
56
+ }, state);
57
+ }
58
+ if (isValidElement(render)) {
59
+ const elementRef = getElementRef(render);
60
+ const mergedRef = composeRefs(ref, mergedProps.ref, elementRef);
61
+ const elementProps = mergeProps(mergedProps, render.props);
62
+ elementProps.ref = mergedRef;
63
+ return cloneElement(render, elementProps);
64
+ }
65
+ mergedProps.ref = composeRefs(ref, mergedProps.ref);
66
+ return createElement(element, mergedProps);
67
+ }
68
+
69
+ //#endregion
70
+ export { renderElement };
71
+ //# sourceMappingURL=use-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-render.js","names":[],"sources":["../../../src/utils/use-render.tsx"],"sourcesContent":["'use client';\n\nimport { getStateDataAttrs, type StateAttrMap } from '@videojs/core/dom';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ReactElement, Ref } from 'react';\nimport { cloneElement, createElement, isValidElement } from 'react';\nimport { mergeProps } from './merge-props';\nimport type { HTMLProps, RenderProp } from './types';\nimport { composeRefs } from './use-composed-refs';\n\ntype IntrinsicTagName = keyof React.JSX.IntrinsicElements;\n\nexport interface UseRenderComponentProps<State> {\n className?: string | ((state: State) => string | undefined) | undefined;\n style?: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined;\n render?: RenderProp<State> | undefined;\n}\n\nexport interface UseRenderParameters<State, RenderedElementType extends Element> {\n state: State;\n ref?: Ref<RenderedElementType> | Ref<RenderedElementType>[] | undefined;\n props?: object | object[] | undefined;\n stateAttrMap?: StateAttrMap<State> | undefined;\n}\n\nfunction resolveClassName<State>(\n className: string | ((state: State) => string | undefined) | undefined,\n state: State\n): string | undefined {\n return isFunction(className) ? className(state) : className;\n}\n\nfunction resolveStyle<State>(\n style: CSSProperties | ((state: State) => CSSProperties | undefined) | undefined,\n state: State\n): CSSProperties | undefined {\n return isFunction(style) ? style(state) : style;\n}\n\nfunction getElementRef(element: ReactElement): Ref<unknown> | undefined {\n // React 19+ uses element.props.ref, older versions use element.ref\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const elementAny = element as any;\n return elementAny.ref ?? elementAny.props?.ref;\n}\n\n/**\n * Render a UI component element.\n *\n * Handles:\n * - Default tag rendering\n * - Render prop (element or function)\n * - Props merging (event handlers chained, className concatenated, style merged)\n * - Ref composition\n * - className/style as functions of state\n *\n * @public\n * @example\n * ```tsx\n * return renderElement('button', componentProps, {\n * state,\n * ref: [forwardedRef, buttonRef],\n * props: [{ type: 'button' }, elementProps, getButtonProps],\n * });\n * ```\n */\nexport function renderElement<\n State extends object,\n RenderedElementType extends Element,\n TagName extends IntrinsicTagName,\n>(\n element: TagName,\n componentProps: UseRenderComponentProps<State>,\n params: UseRenderParameters<State, RenderedElementType>\n): ReactElement | null {\n const { className: classNameProp, style: styleProp, render } = componentProps;\n const { state, ref, props, stateAttrMap } = params;\n\n // Resolve className and style if they're functions\n const className = resolveClassName(classNameProp, state);\n const style = resolveStyle(styleProp, state);\n\n // Generate data attributes from state\n const stateDataAttrs = getStateDataAttrs(state, stateAttrMap);\n\n // Merge: state data attrs first, then props (so props can override)\n const propsArray = Array.isArray(props) ? props : props ? [props] : [];\n const mergedProps = mergeProps(stateDataAttrs, ...(propsArray as Record<string, unknown>[]));\n\n if (className !== undefined) {\n // Add resolved className and style\n mergedProps.className = mergedProps.className ? `${mergedProps.className} ${className}` : className;\n }\n\n if (style !== undefined) {\n mergedProps.style = mergedProps.style ? { ...(mergedProps.style as CSSProperties), ...style } : style;\n }\n\n if (isFunction(render)) {\n // Render function: call with props and state\n const mergedRef = composeRefs(ref, mergedProps.ref);\n return render({ ...mergedProps, ref: mergedRef } as HTMLProps, state);\n }\n\n if (isValidElement(render)) {\n const elementRef = getElementRef(render);\n\n const mergedRef = composeRefs(ref, mergedProps.ref, elementRef);\n\n const elementProps = mergeProps(mergedProps, render.props as Record<string, unknown>);\n elementProps.ref = mergedRef;\n\n return cloneElement(render, elementProps);\n }\n\n // Default tag\n const mergedRef = composeRefs(ref, mergedProps.ref);\n mergedProps.ref = mergedRef;\n\n return createElement(element, mergedProps);\n}\n\nexport namespace renderElement {\n export type ComponentProps<State> = UseRenderComponentProps<State>;\n export type Parameters<State, RenderedElementType extends Element> = UseRenderParameters<State, RenderedElementType>;\n}\n"],"mappings":";;;;;;;;;AAyBA,SAAS,iBACP,WACA,OACoB;AACpB,QAAO,WAAW,UAAU,GAAG,UAAU,MAAM,GAAG;;AAGpD,SAAS,aACP,OACA,OAC2B;AAC3B,QAAO,WAAW,MAAM,GAAG,MAAM,MAAM,GAAG;;AAG5C,SAAS,cAAc,SAAiD;CAGtE,MAAM,aAAa;AACnB,QAAO,WAAW,OAAO,WAAW,OAAO;;;;;;;;;;;;;;;;;;;;;;AAuB7C,SAAgB,cAKd,SACA,gBACA,QACqB;CACrB,MAAM,EAAE,WAAW,eAAe,OAAO,WAAW,WAAW;CAC/D,MAAM,EAAE,OAAO,KAAK,OAAO,iBAAiB;CAG5C,MAAM,YAAY,iBAAiB,eAAe,MAAM;CACxD,MAAM,QAAQ,aAAa,WAAW,MAAM;CAO5C,MAAM,cAAc,WAJG,kBAAkB,OAAO,aAAa,EAId,GAD5B,MAAM,QAAQ,MAAM,GAAG,QAAQ,QAAQ,CAAC,MAAM,GAAG,EAAE,CACsB;AAE5F,KAAI,cAAc,OAEhB,aAAY,YAAY,YAAY,YAAY,GAAG,YAAY,UAAU,GAAG,cAAc;AAG5F,KAAI,UAAU,OACZ,aAAY,QAAQ,YAAY,QAAQ;EAAE,GAAI,YAAY;EAAyB,GAAG;EAAO,GAAG;AAGlG,KAAI,WAAW,OAAO,EAAE;EAEtB,MAAM,YAAY,YAAY,KAAK,YAAY,IAAI;AACnD,SAAO,OAAO;GAAE,GAAG;GAAa,KAAK;GAAW,EAAe,MAAM;;AAGvE,KAAI,eAAe,OAAO,EAAE;EAC1B,MAAM,aAAa,cAAc,OAAO;EAExC,MAAM,YAAY,YAAY,KAAK,YAAY,KAAK,WAAW;EAE/D,MAAM,eAAe,WAAW,aAAa,OAAO,MAAiC;AACrF,eAAa,MAAM;AAEnB,SAAO,aAAa,QAAQ,aAAa;;AAK3C,aAAY,MADM,YAAY,KAAK,YAAY,IAAI;AAGnD,QAAO,cAAc,SAAS,YAAY"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+
3
+ import { useId } from "react";
4
+
5
+ //#region src/utils/use-safe-id.ts
6
+ const UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;
7
+ /**
8
+ * Generate a CSS-safe identifier from React's `useId()`.
9
+ *
10
+ * `useId()` returns values like `:r0:` which contain colons — invalid
11
+ * in CSS `<dashed-ident>` tokens (used by `anchor-name` / `position-anchor`).
12
+ * This hook strips non-alphanumeric/underscore/hyphen characters and
13
+ * optionally prepends a prefix.
14
+ */
15
+ function useSafeId(prefix) {
16
+ const raw = useId().replace(UNSAFE_CHARS, "");
17
+ return prefix ? `${prefix}${raw}` : raw;
18
+ }
19
+
20
+ //#endregion
21
+ export { useSafeId };
22
+ //# sourceMappingURL=use-safe-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-safe-id.js","names":[],"sources":["../../../src/utils/use-safe-id.ts"],"sourcesContent":["'use client';\n\nimport { useId } from 'react';\n\nconst UNSAFE_CHARS = /[^a-zA-Z0-9_-]/g;\n\n/**\n * Generate a CSS-safe identifier from React's `useId()`.\n *\n * `useId()` returns values like `:r0:` which contain colons — invalid\n * in CSS `<dashed-ident>` tokens (used by `anchor-name` / `position-anchor`).\n * This hook strips non-alphanumeric/underscore/hyphen characters and\n * optionally prepends a prefix.\n */\nexport function useSafeId(prefix?: string): string {\n const raw = useId().replace(UNSAFE_CHARS, '');\n return prefix ? `${prefix}${raw}` : raw;\n}\n"],"mappings":";;;;;AAIA,MAAM,eAAe;;;;;;;;;AAUrB,SAAgB,UAAU,QAAyB;CACjD,MAAM,MAAM,OAAO,CAAC,QAAQ,cAAc,GAAG;AAC7C,QAAO,SAAS,GAAG,SAAS,QAAQ"}
package/package.json CHANGED
@@ -1,80 +1,104 @@
1
1
  {
2
2
  "name": "@videojs/react",
3
3
  "type": "module",
4
- "version": "0.1.0-preview.9",
4
+ "version": "10.0.0-alpha.11",
5
5
  "description": "React library for building media players",
6
6
  "license": "Apache-2.0",
7
- "keywords": [
8
- "media",
9
- "player",
10
- "react",
11
- "components",
12
- "hooks",
13
- "videojs"
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/videojs/v10",
10
+ "directory": "packages/react"
11
+ },
12
+ "main": "dist/default/index.js",
13
+ "module": "dist/default/index.js",
14
+ "types": "dist/dev/index.d.ts",
15
+ "sideEffects": false,
16
+ "files": [
17
+ "dist"
14
18
  ],
15
19
  "exports": {
16
20
  ".": {
17
- "types": "./dist/index.d.ts",
18
- "default": "./dist/index.js"
21
+ "types": "./dist/dev/index.d.ts",
22
+ "development": "./dist/dev/index.js",
23
+ "default": "./dist/default/index.js"
24
+ },
25
+ "./media/*": {
26
+ "types": "./dist/dev/media/*/index.d.ts",
27
+ "development": "./dist/dev/media/*/index.js",
28
+ "default": "./dist/default/media/*/index.js"
29
+ },
30
+ "./video": {
31
+ "types": "./dist/dev/presets/video/index.d.ts",
32
+ "development": "./dist/dev/presets/video/index.js",
33
+ "default": "./dist/default/presets/video/index.js"
19
34
  },
20
- "./store": {
21
- "types": "./dist/store.d.ts",
22
- "default": "./dist/store.js"
35
+ "./video/*.css": "./dist/default/presets/video/*.css",
36
+ "./video/*": {
37
+ "types": "./dist/dev/presets/video/*.d.ts",
38
+ "development": "./dist/dev/presets/video/*.js",
39
+ "default": "./dist/default/presets/video/*.js"
23
40
  },
24
- "./icons": {
25
- "types": "./dist/icons.d.ts",
26
- "default": "./dist/icons.js"
41
+ "./audio": {
42
+ "types": "./dist/dev/presets/audio/index.d.ts",
43
+ "development": "./dist/dev/presets/audio/index.js",
44
+ "default": "./dist/default/presets/audio/index.js"
27
45
  },
28
- "./skins/frosted": {
29
- "types": "./dist/skins/frosted.d.ts",
30
- "default": "./dist/skins/frosted.js"
46
+ "./audio/*.css": "./dist/default/presets/audio/*.css",
47
+ "./audio/*": {
48
+ "types": "./dist/dev/presets/audio/*.d.ts",
49
+ "development": "./dist/dev/presets/audio/*.js",
50
+ "default": "./dist/default/presets/audio/*.js"
31
51
  },
32
- "./skins/minimal": {
33
- "types": "./dist/skins/minimal.d.ts",
34
- "default": "./dist/skins/minimal.js"
52
+ "./background": {
53
+ "types": "./dist/dev/presets/background/index.d.ts",
54
+ "development": "./dist/dev/presets/background/index.js",
55
+ "default": "./dist/default/presets/background/index.js"
35
56
  },
36
- "./skins/frosted.css": "./dist/skins/frosted.css",
37
- "./skins/minimal.css": "./dist/skins/minimal.css"
57
+ "./background/*.css": "./dist/default/presets/background/*.css",
58
+ "./background/*": {
59
+ "types": "./dist/dev/presets/background/*.d.ts",
60
+ "development": "./dist/dev/presets/background/*.js",
61
+ "default": "./dist/default/presets/background/*.js"
62
+ }
38
63
  },
39
- "main": "dist/index.js",
40
- "module": "dist/index.js",
41
- "types": "dist/index.d.ts",
42
- "files": [
43
- "dist"
44
- ],
45
64
  "peerDependencies": {
46
65
  "react": ">=16.8.0"
47
66
  },
48
67
  "dependencies": {
49
- "@videojs/icons": "0.1.0-preview.9",
50
- "@videojs/core": "0.1.0-preview.9",
51
- "@videojs/utils": "0.1.0-preview.9"
68
+ "@videojs/spf": "10.0.0-alpha.11",
69
+ "@videojs/store": "10.0.0-alpha.11",
70
+ "@videojs/core": "10.0.0-alpha.11",
71
+ "@videojs/utils": "10.0.0-alpha.11"
52
72
  },
53
73
  "devDependencies": {
54
- "@svgr/babel-plugin-add-jsx-attribute": "^8.0.0",
55
- "@svgr/cli": "^8.1.0",
56
- "@svgr/core": "^8.1.0",
57
- "@svgr/plugin-jsx": "^8.1.0",
58
- "@tailwindcss/cli": "^4.1.0",
59
- "@types/postcss-prefix-selector": "^1.16.3",
60
- "@types/react": "^18.0.0",
61
- "postcss": "^8.4.49",
62
- "postcss-prefix-selector": "^1.16.1",
63
- "react": "^18.0.0",
64
- "tailwindcss": "^4.1.13",
65
- "tsdown": "^0.15.9",
66
- "typescript": "^5.9.2"
74
+ "@testing-library/react": "^16.3.0",
75
+ "@types/react": "^19.2.7",
76
+ "jsdom": "^26.1.0",
77
+ "react": "^19.2.1",
78
+ "react-dom": "^19.2.1",
79
+ "tsdown": "^0.20.3",
80
+ "typescript": "^5.9.3",
81
+ "vitest": "^3.2.4",
82
+ "@videojs/icons": "10.0.0-alpha.11",
83
+ "@videojs/skins": "10.0.0-alpha.4"
67
84
  },
68
85
  "publishConfig": {
69
86
  "access": "public"
70
87
  },
88
+ "keywords": [
89
+ "media",
90
+ "player",
91
+ "react",
92
+ "components",
93
+ "hooks",
94
+ "videojs"
95
+ ],
71
96
  "scripts": {
72
97
  "build": "tsdown",
73
- "build:watch": "tsdown --watch ./src --ignore-watch ./src/icons/generated-icons --silent",
74
- "dev": "pnpm run build:watch",
75
- "format:icons": "echo noop. Need to replace based on eslint vs. prettier decisions!",
76
- "generate:icons": "svgr --config-file svgr.config.js --out-dir src/icons/generated-icons ../icons/assets && pnpm format:icons",
77
- "test": "echo \"No tests yet\"",
78
- "clean": "rm -rf dist src/icons/generated-icons"
98
+ "build:watch": "tsdown --watch ./src --no-clean",
99
+ "dev": "pnpm build:watch",
100
+ "test": "vitest run",
101
+ "test:watch": "vitest",
102
+ "clean": "rm -rf dist types"
79
103
  }
80
104
  }
@@ -1,13 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
-
3
- //#region src/skins/frosted/FrostedSkin.d.ts
4
- type SkinProps = PropsWithChildren<{
5
- className?: string;
6
- }>;
7
- declare function FrostedSkin({
8
- children,
9
- className
10
- }: SkinProps): JSX.Element;
11
- //#endregion
12
- export { FrostedSkin as t };
13
- //# sourceMappingURL=FrostedSkin-t8edr5LV.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FrostedSkin-t8edr5LV.d.ts","names":[],"sources":["../src/skins/frosted/FrostedSkin.tsx"],"sourcesContent":[],"mappings":";;;KAwBK,SAAA,GAAY;;AAxBsB,CAAA,CAAA;AA4Bf,iBAAA,WAAA,CAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAA0C,SAA1C,CAAA,EAAsD,GAAA,CAAI,OAA1D"}
@@ -1,13 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
-
3
- //#region src/skins/minimal/MinimalSkin.d.ts
4
- type SkinProps = PropsWithChildren<{
5
- className?: string;
6
- }>;
7
- declare function MinimalSkin({
8
- children,
9
- className
10
- }: SkinProps): JSX.Element;
11
- //#endregion
12
- export { MinimalSkin as t };
13
- //# sourceMappingURL=MinimalSkin-DzHkJgW-.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MinimalSkin-DzHkJgW-.d.ts","names":[],"sources":["../src/skins/minimal/MinimalSkin.tsx"],"sourcesContent":[],"mappings":";;;KAwBK,SAAA,GAAY;;AAxBsB,CAAA,CAAA;AA4Bf,iBAAA,WAAA,CAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAA0C,SAA1C,CAAA,EAAsD,GAAA,CAAI,OAA1D"}