@videojs/react 10.0.0-beta.11 → 10.0.0-beta.13

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 (684) hide show
  1. package/dist/default/_virtual/_rolldown/runtime.js +6 -11
  2. package/dist/default/icons/dist/react/default/captions-off.js +1 -2
  3. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  4. package/dist/default/icons/dist/react/default/captions-on.js +1 -2
  5. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  6. package/dist/default/icons/dist/react/default/fullscreen-enter.js +1 -2
  7. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  8. package/dist/default/icons/dist/react/default/fullscreen-exit.js +1 -2
  9. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  10. package/dist/default/icons/dist/react/default/pause.js +1 -2
  11. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  12. package/dist/default/icons/dist/react/default/pip-enter.js +1 -2
  13. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  14. package/dist/default/icons/dist/react/default/pip-exit.js +1 -2
  15. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/play.js +1 -2
  17. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  18. package/dist/default/icons/dist/react/default/restart.js +1 -2
  19. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/seek.js +1 -2
  21. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/spinner.js +1 -2
  23. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/volume-high.js +1 -2
  25. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/volume-low.js +1 -2
  27. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/volume-off.js +1 -2
  29. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  30. package/dist/default/icons/dist/react/minimal/captions-off.js +1 -2
  31. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  32. package/dist/default/icons/dist/react/minimal/captions-on.js +1 -2
  33. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  34. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +1 -2
  35. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  36. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +1 -2
  37. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  38. package/dist/default/icons/dist/react/minimal/pause.js +1 -2
  39. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  40. package/dist/default/icons/dist/react/minimal/pip-enter.js +1 -2
  41. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  42. package/dist/default/icons/dist/react/minimal/pip-exit.js +1 -2
  43. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/play.js +1 -2
  45. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/restart.js +1 -2
  47. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  48. package/dist/default/icons/dist/react/minimal/seek.js +1 -2
  49. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/spinner.js +1 -2
  51. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/volume-high.js +1 -2
  53. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/volume-low.js +1 -2
  55. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/volume-off.js +1 -2
  57. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  58. package/dist/default/index.js +11 -12
  59. package/dist/default/media/audio.js +2 -4
  60. package/dist/default/media/audio.js.map +1 -1
  61. package/dist/default/media/background-video/index.js +2 -4
  62. package/dist/default/media/background-video/index.js.map +1 -1
  63. package/dist/default/media/dash-video/index.js +3 -4
  64. package/dist/default/media/dash-video/index.js.map +1 -1
  65. package/dist/default/media/hls-video/index.js +3 -4
  66. package/dist/default/media/hls-video/index.js.map +1 -1
  67. package/dist/default/media/mux-video/index.js +20 -0
  68. package/dist/default/media/mux-video/index.js.map +1 -0
  69. package/dist/default/media/native-hls-video/index.js +20 -0
  70. package/dist/default/media/native-hls-video/index.js.map +1 -0
  71. package/dist/default/media/simple-hls-video/index.js +3 -3
  72. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  73. package/dist/default/media/video.js +2 -4
  74. package/dist/default/media/video.js.map +1 -1
  75. package/dist/default/player/context.js +2 -4
  76. package/dist/default/player/context.js.map +1 -1
  77. package/dist/default/player/create-player.js +2 -4
  78. package/dist/default/player/create-player.js.map +1 -1
  79. package/dist/default/presets/audio/index.js +1 -2
  80. package/dist/default/presets/audio/minimal-skin.css +81 -59
  81. package/dist/default/presets/audio/minimal-skin.js +29 -17
  82. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  83. package/dist/default/presets/audio/minimal-skin.tailwind.js +25 -15
  84. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  85. package/dist/default/presets/audio/skin.css +54 -42
  86. package/dist/default/presets/audio/skin.js +102 -84
  87. package/dist/default/presets/audio/skin.js.map +1 -1
  88. package/dist/default/presets/audio/skin.tailwind.js +98 -81
  89. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  90. package/dist/default/presets/background/index.js +1 -2
  91. package/dist/default/presets/background/skin.js +1 -2
  92. package/dist/default/presets/background/skin.js.map +1 -1
  93. package/dist/default/presets/video/index.js +1 -2
  94. package/dist/default/presets/video/minimal-skin.css +156 -75
  95. package/dist/default/presets/video/minimal-skin.js +30 -18
  96. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  97. package/dist/default/presets/video/minimal-skin.tailwind.js +29 -21
  98. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  99. package/dist/default/presets/video/skin.css +114 -58
  100. package/dist/default/presets/video/skin.js +138 -117
  101. package/dist/default/presets/video/skin.js.map +1 -1
  102. package/dist/default/presets/video/skin.tailwind.js +134 -116
  103. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  104. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +12 -16
  105. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  106. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  107. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  108. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  109. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  110. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -4
  111. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  112. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  113. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  114. package/dist/default/skins/dist/default/default/tailwind/components/error.js +2 -3
  115. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  116. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  117. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  118. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  119. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  120. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  121. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  122. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -5
  123. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  124. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -2
  125. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  126. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +2 -3
  127. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  128. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  129. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  130. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -2
  131. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  132. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  133. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  134. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  135. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  136. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  137. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  138. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +24 -19
  139. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  140. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -14
  141. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  142. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  143. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  144. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  145. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  146. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  147. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  148. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  149. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  150. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  158. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  159. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  160. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  161. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  162. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +21 -16
  171. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  172. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  173. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  174. package/dist/default/ui/alert-dialog/alert-dialog-close.js +2 -4
  175. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  176. package/dist/default/ui/alert-dialog/alert-dialog-description.js +2 -4
  177. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  178. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +2 -4
  179. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  180. package/dist/default/ui/alert-dialog/alert-dialog-root.js +4 -6
  181. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  182. package/dist/default/ui/alert-dialog/alert-dialog-title.js +2 -4
  183. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  184. package/dist/default/ui/alert-dialog/context.js +2 -4
  185. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  186. package/dist/default/ui/alert-dialog/index.js +1 -2
  187. package/dist/default/ui/alert-dialog/index.parts.js +1 -2
  188. package/dist/default/ui/buffering-indicator/buffering-indicator.js +2 -4
  189. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  190. package/dist/default/ui/buffering-indicator/index.js +1 -2
  191. package/dist/default/ui/captions-button/captions-button.js +2 -4
  192. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  193. package/dist/default/ui/captions-button/index.js +1 -2
  194. package/dist/default/ui/controls/context.js +2 -4
  195. package/dist/default/ui/controls/context.js.map +1 -1
  196. package/dist/default/ui/controls/controls-group.js +2 -4
  197. package/dist/default/ui/controls/controls-group.js.map +1 -1
  198. package/dist/default/ui/controls/controls-root.js +2 -4
  199. package/dist/default/ui/controls/controls-root.js.map +1 -1
  200. package/dist/default/ui/controls/index.js +1 -2
  201. package/dist/default/ui/controls/index.parts.js +1 -2
  202. package/dist/default/ui/create-context-part.js +2 -4
  203. package/dist/default/ui/create-context-part.js.map +1 -1
  204. package/dist/default/ui/create-media-button.js +2 -4
  205. package/dist/default/ui/create-media-button.js.map +1 -1
  206. package/dist/default/ui/error-dialog/context.js +14 -0
  207. package/dist/default/ui/error-dialog/context.js.map +1 -0
  208. package/dist/default/ui/error-dialog/error-dialog-description.js +28 -0
  209. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -0
  210. package/dist/default/ui/error-dialog/error-dialog-root.js +57 -0
  211. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -0
  212. package/dist/default/ui/error-dialog/index.js +3 -0
  213. package/dist/default/ui/error-dialog/index.parts.js +18 -0
  214. package/dist/default/ui/error-dialog/index.parts.js.map +1 -0
  215. package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -4
  216. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  217. package/dist/default/ui/fullscreen-button/index.js +1 -2
  218. package/dist/default/ui/hooks/use-button.js +2 -4
  219. package/dist/default/ui/hooks/use-button.js.map +1 -1
  220. package/dist/default/ui/hooks/use-slider.js +2 -4
  221. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  222. package/dist/default/ui/mute-button/index.js +1 -2
  223. package/dist/default/ui/mute-button/mute-button.js +2 -4
  224. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  225. package/dist/default/ui/pip-button/index.js +1 -2
  226. package/dist/default/ui/pip-button/pip-button.js +2 -4
  227. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  228. package/dist/default/ui/play-button/index.js +1 -2
  229. package/dist/default/ui/play-button/play-button.js +2 -4
  230. package/dist/default/ui/play-button/play-button.js.map +1 -1
  231. package/dist/default/ui/playback-rate-button/index.js +1 -2
  232. package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -4
  233. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  234. package/dist/default/ui/popover/context.js +2 -4
  235. package/dist/default/ui/popover/context.js.map +1 -1
  236. package/dist/default/ui/popover/index.js +1 -2
  237. package/dist/default/ui/popover/index.parts.js +1 -2
  238. package/dist/default/ui/popover/popover-arrow.js +2 -4
  239. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  240. package/dist/default/ui/popover/popover-popup.js +2 -4
  241. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  242. package/dist/default/ui/popover/popover-root.js +3 -5
  243. package/dist/default/ui/popover/popover-root.js.map +1 -1
  244. package/dist/default/ui/popover/popover-trigger.js +2 -4
  245. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  246. package/dist/default/ui/poster/index.js +1 -2
  247. package/dist/default/ui/poster/poster.js +2 -4
  248. package/dist/default/ui/poster/poster.js.map +1 -1
  249. package/dist/default/ui/seek-button/index.js +1 -2
  250. package/dist/default/ui/seek-button/seek-button.js +2 -4
  251. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  252. package/dist/default/ui/slider/context.js +2 -4
  253. package/dist/default/ui/slider/context.js.map +1 -1
  254. package/dist/default/ui/slider/index.js +1 -2
  255. package/dist/default/ui/slider/index.parts.js +1 -2
  256. package/dist/default/ui/slider/slider-buffer.js +2 -4
  257. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  258. package/dist/default/ui/slider/slider-fill.js +2 -4
  259. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  260. package/dist/default/ui/slider/slider-preview.js +2 -4
  261. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  262. package/dist/default/ui/slider/slider-root.js +2 -4
  263. package/dist/default/ui/slider/slider-root.js.map +1 -1
  264. package/dist/default/ui/slider/slider-thumb.js +2 -4
  265. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  266. package/dist/default/ui/slider/slider-thumbnail.js +2 -4
  267. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  268. package/dist/default/ui/slider/slider-track.js +2 -4
  269. package/dist/default/ui/slider/slider-track.js.map +1 -1
  270. package/dist/default/ui/slider/slider-value.js +2 -4
  271. package/dist/default/ui/slider/slider-value.js.map +1 -1
  272. package/dist/default/ui/thumbnail/index.js +1 -2
  273. package/dist/default/ui/thumbnail/thumbnail.js +2 -4
  274. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  275. package/dist/default/ui/time/index.js +1 -2
  276. package/dist/default/ui/time/index.parts.js +1 -2
  277. package/dist/default/ui/time/time-group.js +2 -4
  278. package/dist/default/ui/time/time-group.js.map +1 -1
  279. package/dist/default/ui/time/time-separator.js +2 -4
  280. package/dist/default/ui/time/time-separator.js.map +1 -1
  281. package/dist/default/ui/time/time-value.js +2 -4
  282. package/dist/default/ui/time/time-value.js.map +1 -1
  283. package/dist/default/ui/time-slider/index.js +1 -2
  284. package/dist/default/ui/time-slider/index.parts.js +1 -2
  285. package/dist/default/ui/time-slider/time-slider-root.js +2 -4
  286. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  287. package/dist/default/ui/tooltip/context.js +2 -4
  288. package/dist/default/ui/tooltip/context.js.map +1 -1
  289. package/dist/default/ui/tooltip/group-context.js +2 -4
  290. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  291. package/dist/default/ui/tooltip/index.js +1 -2
  292. package/dist/default/ui/tooltip/index.parts.js +1 -2
  293. package/dist/default/ui/tooltip/tooltip-arrow.js +2 -4
  294. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  295. package/dist/default/ui/tooltip/tooltip-popup.js +2 -4
  296. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  297. package/dist/default/ui/tooltip/tooltip-provider.js +2 -4
  298. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  299. package/dist/default/ui/tooltip/tooltip-root.js +3 -5
  300. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  301. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  302. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  303. package/dist/default/ui/volume-slider/index.js +1 -2
  304. package/dist/default/ui/volume-slider/index.parts.js +1 -2
  305. package/dist/default/ui/volume-slider/volume-slider-root.js +2 -4
  306. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  307. package/dist/default/utils/attach-media-element.js +1 -1
  308. package/dist/default/utils/media-props.js +14 -6
  309. package/dist/default/utils/media-props.js.map +1 -1
  310. package/dist/default/utils/merge-props.js +2 -3
  311. package/dist/default/utils/merge-props.js.map +1 -1
  312. package/dist/default/utils/use-composed-refs.js +2 -4
  313. package/dist/default/utils/use-composed-refs.js.map +1 -1
  314. package/dist/default/utils/use-destroy.js +2 -4
  315. package/dist/default/utils/use-destroy.js.map +1 -1
  316. package/dist/default/utils/use-force-render.js +2 -4
  317. package/dist/default/utils/use-force-render.js.map +1 -1
  318. package/dist/default/utils/use-latest-ref.js +2 -4
  319. package/dist/default/utils/use-latest-ref.js.map +1 -1
  320. package/dist/default/utils/use-media-instance.js +2 -4
  321. package/dist/default/utils/use-media-instance.js.map +1 -1
  322. package/dist/default/utils/use-render.js +2 -4
  323. package/dist/default/utils/use-render.js.map +1 -1
  324. package/dist/default/utils/use-safe-id.js +3 -5
  325. package/dist/default/utils/use-safe-id.js.map +1 -1
  326. package/dist/dev/_virtual/_rolldown/runtime.js +6 -11
  327. package/dist/dev/icons/dist/react/default/captions-off.js +1 -2
  328. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  329. package/dist/dev/icons/dist/react/default/captions-on.js +1 -2
  330. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  331. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +1 -2
  332. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  333. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +1 -2
  334. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  335. package/dist/dev/icons/dist/react/default/pause.js +1 -2
  336. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  337. package/dist/dev/icons/dist/react/default/pip-enter.js +1 -2
  338. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  339. package/dist/dev/icons/dist/react/default/pip-exit.js +1 -2
  340. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  341. package/dist/dev/icons/dist/react/default/play.js +1 -2
  342. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  343. package/dist/dev/icons/dist/react/default/restart.js +1 -2
  344. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  345. package/dist/dev/icons/dist/react/default/seek.js +1 -2
  346. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  347. package/dist/dev/icons/dist/react/default/spinner.js +1 -2
  348. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  349. package/dist/dev/icons/dist/react/default/volume-high.js +1 -2
  350. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  351. package/dist/dev/icons/dist/react/default/volume-low.js +1 -2
  352. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  353. package/dist/dev/icons/dist/react/default/volume-off.js +1 -2
  354. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  355. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -2
  356. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  357. package/dist/dev/icons/dist/react/minimal/captions-on.js +1 -2
  358. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  359. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +1 -2
  360. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  361. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +1 -2
  362. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  363. package/dist/dev/icons/dist/react/minimal/pause.js +1 -2
  364. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  365. package/dist/dev/icons/dist/react/minimal/pip-enter.js +1 -2
  366. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  367. package/dist/dev/icons/dist/react/minimal/pip-exit.js +1 -2
  368. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  369. package/dist/dev/icons/dist/react/minimal/play.js +1 -2
  370. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  371. package/dist/dev/icons/dist/react/minimal/restart.js +1 -2
  372. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  373. package/dist/dev/icons/dist/react/minimal/seek.js +1 -2
  374. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  375. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -2
  376. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  377. package/dist/dev/icons/dist/react/minimal/volume-high.js +1 -2
  378. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  379. package/dist/dev/icons/dist/react/minimal/volume-low.js +1 -2
  380. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  381. package/dist/dev/icons/dist/react/minimal/volume-off.js +1 -2
  382. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  383. package/dist/dev/index.d.ts +10 -8
  384. package/dist/dev/index.js +11 -12
  385. package/dist/dev/media/audio.js +2 -4
  386. package/dist/dev/media/audio.js.map +1 -1
  387. package/dist/dev/media/background-video/index.js +2 -4
  388. package/dist/dev/media/background-video/index.js.map +1 -1
  389. package/dist/dev/media/dash-video/index.d.ts +4 -2
  390. package/dist/dev/media/dash-video/index.d.ts.map +1 -1
  391. package/dist/dev/media/dash-video/index.js +3 -4
  392. package/dist/dev/media/dash-video/index.js.map +1 -1
  393. package/dist/dev/media/hls-video/index.d.ts +4 -2
  394. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  395. package/dist/dev/media/hls-video/index.js +3 -4
  396. package/dist/dev/media/hls-video/index.js.map +1 -1
  397. package/dist/dev/media/mux-video/index.d.ts +13 -0
  398. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  399. package/dist/dev/media/mux-video/index.js +20 -0
  400. package/dist/dev/media/mux-video/index.js.map +1 -0
  401. package/dist/dev/media/native-hls-video/index.d.ts +13 -0
  402. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  403. package/dist/dev/media/native-hls-video/index.js +20 -0
  404. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  405. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  406. package/dist/dev/media/simple-hls-video/index.js +3 -3
  407. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  408. package/dist/dev/media/video.js +2 -4
  409. package/dist/dev/media/video.js.map +1 -1
  410. package/dist/dev/player/context.js +2 -4
  411. package/dist/dev/player/context.js.map +1 -1
  412. package/dist/dev/player/create-player.js +2 -4
  413. package/dist/dev/player/create-player.js.map +1 -1
  414. package/dist/dev/presets/audio/index.js +1 -2
  415. package/dist/dev/presets/audio/minimal-skin.css +81 -59
  416. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  417. package/dist/dev/presets/audio/minimal-skin.js +29 -17
  418. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  419. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  420. package/dist/dev/presets/audio/minimal-skin.tailwind.js +25 -15
  421. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  422. package/dist/dev/presets/audio/skin.css +54 -42
  423. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  424. package/dist/dev/presets/audio/skin.js +102 -84
  425. package/dist/dev/presets/audio/skin.js.map +1 -1
  426. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  427. package/dist/dev/presets/audio/skin.tailwind.js +98 -81
  428. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  429. package/dist/dev/presets/background/index.js +1 -2
  430. package/dist/dev/presets/background/skin.js +1 -2
  431. package/dist/dev/presets/background/skin.js.map +1 -1
  432. package/dist/dev/presets/video/index.js +1 -2
  433. package/dist/dev/presets/video/minimal-skin.css +156 -75
  434. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  435. package/dist/dev/presets/video/minimal-skin.js +30 -18
  436. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  437. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  438. package/dist/dev/presets/video/minimal-skin.tailwind.js +29 -21
  439. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  440. package/dist/dev/presets/video/skin.css +114 -58
  441. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  442. package/dist/dev/presets/video/skin.js +138 -117
  443. package/dist/dev/presets/video/skin.js.map +1 -1
  444. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  445. package/dist/dev/presets/video/skin.tailwind.js +134 -116
  446. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  447. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +12 -16
  448. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  449. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  450. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  451. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  452. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  453. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -4
  454. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  455. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  456. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  457. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +2 -3
  458. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  459. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  460. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  461. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  462. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  463. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  464. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  465. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -5
  466. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  467. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -2
  468. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  469. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +2 -3
  470. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  471. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  472. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  473. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -2
  474. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  475. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  476. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  477. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  478. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  479. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  480. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  481. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +24 -19
  482. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  483. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -14
  484. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  485. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  486. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  487. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  488. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  489. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  490. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  491. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  492. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  493. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  494. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  495. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  496. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  497. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  498. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  499. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  500. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  501. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  502. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  503. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  504. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  505. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  506. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  507. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  508. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  509. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  510. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  511. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  512. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  513. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +21 -16
  514. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  515. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  516. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  517. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +2 -4
  518. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  519. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +2 -4
  520. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  521. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +2 -4
  522. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  523. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +4 -6
  524. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  525. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +2 -4
  526. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  527. package/dist/dev/ui/alert-dialog/context.js +2 -4
  528. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  529. package/dist/dev/ui/alert-dialog/index.js +1 -2
  530. package/dist/dev/ui/alert-dialog/index.parts.js +1 -2
  531. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +2 -4
  532. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  533. package/dist/dev/ui/buffering-indicator/index.js +1 -2
  534. package/dist/dev/ui/captions-button/captions-button.js +2 -4
  535. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  536. package/dist/dev/ui/captions-button/index.js +1 -2
  537. package/dist/dev/ui/controls/context.js +2 -4
  538. package/dist/dev/ui/controls/context.js.map +1 -1
  539. package/dist/dev/ui/controls/controls-group.js +2 -4
  540. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  541. package/dist/dev/ui/controls/controls-root.js +2 -4
  542. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  543. package/dist/dev/ui/controls/index.js +1 -2
  544. package/dist/dev/ui/controls/index.parts.js +1 -2
  545. package/dist/dev/ui/create-context-part.js +2 -4
  546. package/dist/dev/ui/create-context-part.js.map +1 -1
  547. package/dist/dev/ui/create-media-button.js +2 -4
  548. package/dist/dev/ui/create-media-button.js.map +1 -1
  549. package/dist/dev/ui/error-dialog/context.d.ts +9 -0
  550. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -0
  551. package/dist/dev/ui/error-dialog/context.js +14 -0
  552. package/dist/dev/ui/error-dialog/context.js.map +1 -0
  553. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +14 -0
  554. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -0
  555. package/dist/dev/ui/error-dialog/error-dialog-description.js +28 -0
  556. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -0
  557. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +15 -0
  558. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -0
  559. package/dist/dev/ui/error-dialog/error-dialog-root.js +57 -0
  560. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -0
  561. package/dist/dev/ui/error-dialog/index.d.ts +3 -0
  562. package/dist/dev/ui/error-dialog/index.js +3 -0
  563. package/dist/dev/ui/error-dialog/index.parts.d.ts +13 -0
  564. package/dist/dev/ui/error-dialog/index.parts.d.ts.map +1 -0
  565. package/dist/dev/ui/error-dialog/index.parts.js +18 -0
  566. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -0
  567. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -4
  568. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  569. package/dist/dev/ui/fullscreen-button/index.js +1 -2
  570. package/dist/dev/ui/hooks/use-button.js +2 -4
  571. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  572. package/dist/dev/ui/hooks/use-slider.js +2 -4
  573. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  574. package/dist/dev/ui/mute-button/index.js +1 -2
  575. package/dist/dev/ui/mute-button/mute-button.js +2 -4
  576. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  577. package/dist/dev/ui/pip-button/index.js +1 -2
  578. package/dist/dev/ui/pip-button/pip-button.js +2 -4
  579. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  580. package/dist/dev/ui/play-button/index.js +1 -2
  581. package/dist/dev/ui/play-button/play-button.js +2 -4
  582. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  583. package/dist/dev/ui/playback-rate-button/index.js +1 -2
  584. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -4
  585. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  586. package/dist/dev/ui/popover/context.js +2 -4
  587. package/dist/dev/ui/popover/context.js.map +1 -1
  588. package/dist/dev/ui/popover/index.js +1 -2
  589. package/dist/dev/ui/popover/index.parts.js +1 -2
  590. package/dist/dev/ui/popover/popover-arrow.js +2 -4
  591. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  592. package/dist/dev/ui/popover/popover-popup.js +2 -4
  593. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  594. package/dist/dev/ui/popover/popover-root.js +3 -5
  595. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  596. package/dist/dev/ui/popover/popover-trigger.js +2 -4
  597. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  598. package/dist/dev/ui/poster/index.js +1 -2
  599. package/dist/dev/ui/poster/poster.js +2 -4
  600. package/dist/dev/ui/poster/poster.js.map +1 -1
  601. package/dist/dev/ui/seek-button/index.js +1 -2
  602. package/dist/dev/ui/seek-button/seek-button.js +2 -4
  603. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  604. package/dist/dev/ui/slider/context.js +2 -4
  605. package/dist/dev/ui/slider/context.js.map +1 -1
  606. package/dist/dev/ui/slider/index.js +1 -2
  607. package/dist/dev/ui/slider/index.parts.js +1 -2
  608. package/dist/dev/ui/slider/slider-buffer.js +2 -4
  609. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  610. package/dist/dev/ui/slider/slider-fill.js +2 -4
  611. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  612. package/dist/dev/ui/slider/slider-preview.js +2 -4
  613. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  614. package/dist/dev/ui/slider/slider-root.js +2 -4
  615. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  616. package/dist/dev/ui/slider/slider-thumb.js +2 -4
  617. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  618. package/dist/dev/ui/slider/slider-thumbnail.js +2 -4
  619. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  620. package/dist/dev/ui/slider/slider-track.js +2 -4
  621. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  622. package/dist/dev/ui/slider/slider-value.js +2 -4
  623. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  624. package/dist/dev/ui/thumbnail/index.js +1 -2
  625. package/dist/dev/ui/thumbnail/thumbnail.js +2 -4
  626. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  627. package/dist/dev/ui/time/index.js +1 -2
  628. package/dist/dev/ui/time/index.parts.js +1 -2
  629. package/dist/dev/ui/time/time-group.js +2 -4
  630. package/dist/dev/ui/time/time-group.js.map +1 -1
  631. package/dist/dev/ui/time/time-separator.js +2 -4
  632. package/dist/dev/ui/time/time-separator.js.map +1 -1
  633. package/dist/dev/ui/time/time-value.js +2 -4
  634. package/dist/dev/ui/time/time-value.js.map +1 -1
  635. package/dist/dev/ui/time-slider/index.js +1 -2
  636. package/dist/dev/ui/time-slider/index.parts.js +1 -2
  637. package/dist/dev/ui/time-slider/time-slider-root.js +2 -4
  638. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  639. package/dist/dev/ui/tooltip/context.js +2 -4
  640. package/dist/dev/ui/tooltip/context.js.map +1 -1
  641. package/dist/dev/ui/tooltip/group-context.js +2 -4
  642. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  643. package/dist/dev/ui/tooltip/index.js +1 -2
  644. package/dist/dev/ui/tooltip/index.parts.js +1 -2
  645. package/dist/dev/ui/tooltip/tooltip-arrow.js +2 -4
  646. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  647. package/dist/dev/ui/tooltip/tooltip-popup.js +2 -4
  648. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  649. package/dist/dev/ui/tooltip/tooltip-provider.js +2 -4
  650. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  651. package/dist/dev/ui/tooltip/tooltip-root.js +3 -5
  652. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  653. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  654. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  655. package/dist/dev/ui/volume-slider/index.js +1 -2
  656. package/dist/dev/ui/volume-slider/index.parts.js +1 -2
  657. package/dist/dev/ui/volume-slider/volume-slider-root.js +2 -4
  658. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  659. package/dist/dev/utils/attach-media-element.js +1 -1
  660. package/dist/dev/utils/media-props.d.ts +2 -301
  661. package/dist/dev/utils/media-props.d.ts.map +1 -1
  662. package/dist/dev/utils/media-props.js +14 -6
  663. package/dist/dev/utils/media-props.js.map +1 -1
  664. package/dist/dev/utils/merge-props.js +2 -3
  665. package/dist/dev/utils/merge-props.js.map +1 -1
  666. package/dist/dev/utils/use-composed-refs.js +2 -4
  667. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  668. package/dist/dev/utils/use-destroy.js +2 -4
  669. package/dist/dev/utils/use-destroy.js.map +1 -1
  670. package/dist/dev/utils/use-force-render.js +2 -4
  671. package/dist/dev/utils/use-force-render.js.map +1 -1
  672. package/dist/dev/utils/use-latest-ref.js +2 -4
  673. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  674. package/dist/dev/utils/use-media-instance.js +2 -4
  675. package/dist/dev/utils/use-media-instance.js.map +1 -1
  676. package/dist/dev/utils/use-render.js +2 -4
  677. package/dist/dev/utils/use-render.js.map +1 -1
  678. package/dist/dev/utils/use-safe-id.js +3 -5
  679. package/dist/dev/utils/use-safe-id.js.map +1 -1
  680. package/package.json +9 -9
  681. package/dist/default/presets/error-dialog.js +0 -51
  682. package/dist/default/presets/error-dialog.js.map +0 -1
  683. package/dist/dev/presets/error-dialog.js +0 -51
  684. package/dist/dev/presets/error-dialog.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-popup.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore } from '@videojs/core';\nimport { forwardRef, useCallback } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useAlertDialogContext } from './context';\n\nexport interface AlertDialogPopupProps extends UIComponentProps<'div', AlertDialogCore.State> {}\n\nexport const AlertDialogPopup = forwardRef<HTMLDivElement, AlertDialogPopupProps>(function AlertDialogPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, dialog, state, stateAttrMap } = useAlertDialogContext();\n\n const elementRef = useCallback(\n (el: HTMLDivElement | null) => {\n dialog.setElement(el);\n },\n [dialog]\n );\n\n const composedRef = useComposedRefs(forwardedRef, elementRef);\n\n if (!state.open) return null;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [{ tabIndex: -1, ...core.getAttrs(state) }, elementProps],\n }\n );\n});\n\nexport namespace AlertDialogPopup {\n export type Props = AlertDialogPopupProps;\n export type State = AlertDialogCore.State;\n}\n"],"mappings":";;;;;;;;AAYA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,QAAQ,OAAO,iBAAiB,uBAAuB;CASrE,MAAM,cAAc,gBAAgB,cAPjB,aAChB,OAA8B;AAC7B,SAAO,WAAW,GAAG;IAEvB,CAAC,OAAO,CACT,CAE4D;AAE7D,KAAI,CAAC,MAAM,KAAM,QAAO;AAExB,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC;GAAE,UAAU;GAAI,GAAG,KAAK,SAAS,MAAM;GAAE,EAAE,aAAa;EACjE,CACF;EACD"}
1
+ {"version":3,"file":"alert-dialog-popup.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-popup.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore } from '@videojs/core';\nimport { forwardRef, useCallback } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useAlertDialogContext } from './context';\n\nexport interface AlertDialogPopupProps extends UIComponentProps<'div', AlertDialogCore.State> {}\n\nexport const AlertDialogPopup = forwardRef<HTMLDivElement, AlertDialogPopupProps>(function AlertDialogPopup(\n { render, className, style, ...elementProps },\n forwardedRef\n) {\n const { core, dialog, state, stateAttrMap } = useAlertDialogContext();\n\n const elementRef = useCallback(\n (el: HTMLDivElement | null) => {\n dialog.setElement(el);\n },\n [dialog]\n );\n\n const composedRef = useComposedRefs(forwardedRef, elementRef);\n\n if (!state.open) return null;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: composedRef,\n props: [{ tabIndex: -1, ...core.getAttrs(state) }, elementProps],\n }\n );\n});\n\nexport namespace AlertDialogPopup {\n export type Props = AlertDialogPopupProps;\n export type State = AlertDialogCore.State;\n}\n"],"mappings":";;;;;;AAYA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAC/B,cACA;CACA,MAAM,EAAE,MAAM,QAAQ,OAAO,iBAAiB,uBAAuB;CASrE,MAAM,cAAc,gBAAgB,cAPjB,aAChB,OAA8B;AAC7B,SAAO,WAAW,GAAG;IAEvB,CAAC,OAAO,CACT,CAE4D;AAE7D,KAAI,CAAC,MAAM,KAAM,QAAO;AAExB,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC;GAAE,UAAU;GAAI,GAAG,KAAK,SAAS,MAAM;GAAE,EAAE,aAAa;EACjE,CACF;EACD"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { useLatestRef } from "../../utils/use-latest-ref.js";
4
3
  import { useDestroy } from "../../utils/use-destroy.js";
5
4
  import { AlertDialogContextProvider } from "./context.js";
@@ -9,7 +8,6 @@ import { createAlertDialog, createTransition } from "@videojs/core/dom";
9
8
  import { useSnapshot } from "@videojs/store/react";
10
9
  import { useEffect, useState } from "react";
11
10
  import { jsx } from "react/jsx-runtime";
12
-
13
11
  //#region src/ui/alert-dialog/alert-dialog-root.tsx
14
12
  function AlertDialogRoot({ open: controlledOpen, defaultOpen = AlertDialogCore.defaultProps.defaultOpen, onOpenChange: onOpenChangeProp, onOpenChangeComplete: onOpenChangeCompleteProp, children }) {
15
13
  const [core] = useState(() => new AlertDialogCore());
@@ -29,8 +27,8 @@ function AlertDialogRoot({ open: controlledOpen, defaultOpen = AlertDialogCore.d
29
27
  if (!isControlled && defaultOpen) instance.open();
30
28
  return instance;
31
29
  });
32
- const titleId = useSafeId("alert-dialog-title-");
33
- const descriptionId = useSafeId("alert-dialog-desc-");
30
+ const titleId = useSafeId("alert-dialog-title");
31
+ const descriptionId = useSafeId("alert-dialog-desc");
34
32
  core.setTitleId(titleId);
35
33
  core.setDescriptionId(descriptionId);
36
34
  useEffect(() => {
@@ -53,7 +51,7 @@ function AlertDialogRoot({ open: controlledOpen, defaultOpen = AlertDialogCore.d
53
51
  children
54
52
  });
55
53
  }
56
-
57
54
  //#endregion
58
55
  export { AlertDialogRoot };
56
+
59
57
  //# sourceMappingURL=alert-dialog-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-root.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-root.tsx"],"sourcesContent":["'use client';\n\nimport { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogProps } from '@videojs/core';\nimport { createAlertDialog, createTransition } from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { AlertDialogContextProvider } from './context';\n\nexport interface AlertDialogRootProps extends AlertDialogProps {\n /** Called when the open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function AlertDialogRoot({\n open: controlledOpen,\n defaultOpen = AlertDialogCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n children,\n}: AlertDialogRootProps): ReactNode {\n const [core] = useState(() => new AlertDialogCore());\n\n const isControlled = controlledOpen !== undefined;\n\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n\n const [dialog] = useState(() => {\n const instance = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n onOpenChangeRef.current?.(nextOpen);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n });\n\n if (!isControlled && defaultOpen) {\n instance.open();\n }\n\n return instance;\n });\n\n const titleId = useSafeId('alert-dialog-title-');\n const descriptionId = useSafeId('alert-dialog-desc-');\n\n core.setTitleId(titleId);\n core.setDescriptionId(descriptionId);\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (controlledOpen === undefined) return;\n\n const { active: inputOpen } = dialog.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n dialog.open();\n } else {\n dialog.close();\n }\n }, [controlledOpen, dialog]);\n\n useDestroy(dialog);\n\n const input = useSnapshot(dialog.input);\n core.setInput(input);\n const state = core.getState();\n\n return (\n <AlertDialogContextProvider value={{ core, dialog, state, stateAttrMap: AlertDialogDataAttrs }}>\n {children}\n </AlertDialogContextProvider>\n );\n}\n\nexport namespace AlertDialogRoot {\n export type Props = AlertDialogRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;AAqBA,SAAgB,gBAAgB,EAC9B,MAAM,gBACN,cAAc,gBAAgB,aAAa,aAC3C,cAAc,kBACd,sBAAsB,0BACtB,YACkC;CAClC,MAAM,CAAC,QAAQ,eAAe,IAAI,iBAAiB,CAAC;CAEpD,MAAM,eAAe,mBAAmB;CAExC,MAAM,kBAAkB,aAAa,iBAAiB;CACtD,MAAM,0BAA0B,aAAa,yBAAyB;CAEtE,MAAM,CAAC,UAAU,eAAe;EAC9B,MAAM,WAAW,kBAAkB;GACjC,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,oBAAgB,UAAU,SAAS;;GAErC,uBAAuB,aAAsB;AAC3C,4BAAwB,UAAU,SAAS;;GAE9C,CAAC;AAEF,MAAI,CAAC,gBAAgB,YACnB,UAAS,MAAM;AAGjB,SAAO;GACP;CAEF,MAAM,UAAU,UAAU,sBAAsB;CAChD,MAAM,gBAAgB,UAAU,qBAAqB;AAErD,MAAK,WAAW,QAAQ;AACxB,MAAK,iBAAiB,cAAc;AAGpC,iBAAgB;AACd,MAAI,mBAAmB,OAAW;EAElC,MAAM,EAAE,QAAQ,cAAc,OAAO,MAAM;AAC3C,MAAI,mBAAmB,UAAW;AAElC,MAAI,eACF,QAAO,MAAM;MAEb,QAAO,OAAO;IAEf,CAAC,gBAAgB,OAAO,CAAC;AAE5B,YAAW,OAAO;CAElB,MAAM,QAAQ,YAAY,OAAO,MAAM;AACvC,MAAK,SAAS,MAAM;AAGpB,QACE,oBAAC;EAA2B,OAAO;GAAE;GAAM;GAAQ,OAHvC,KAAK,UAAU;GAG+B,cAAc;GAAsB;EAC3F;GAC0B"}
1
+ {"version":3,"file":"alert-dialog-root.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-root.tsx"],"sourcesContent":["'use client';\n\nimport { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogProps } from '@videojs/core';\nimport { createAlertDialog, createTransition } from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { AlertDialogContextProvider } from './context';\n\nexport interface AlertDialogRootProps extends AlertDialogProps {\n /** Called when the open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function AlertDialogRoot({\n open: controlledOpen,\n defaultOpen = AlertDialogCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n children,\n}: AlertDialogRootProps): ReactNode {\n const [core] = useState(() => new AlertDialogCore());\n\n const isControlled = controlledOpen !== undefined;\n\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n\n const [dialog] = useState(() => {\n const instance = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n onOpenChangeRef.current?.(nextOpen);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n });\n\n if (!isControlled && defaultOpen) {\n instance.open();\n }\n\n return instance;\n });\n\n const titleId = useSafeId('alert-dialog-title');\n const descriptionId = useSafeId('alert-dialog-desc');\n\n core.setTitleId(titleId);\n core.setDescriptionId(descriptionId);\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (controlledOpen === undefined) return;\n\n const { active: inputOpen } = dialog.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n dialog.open();\n } else {\n dialog.close();\n }\n }, [controlledOpen, dialog]);\n\n useDestroy(dialog);\n\n const input = useSnapshot(dialog.input);\n core.setInput(input);\n const state = core.getState();\n\n return (\n <AlertDialogContextProvider value={{ core, dialog, state, stateAttrMap: AlertDialogDataAttrs }}>\n {children}\n </AlertDialogContextProvider>\n );\n}\n\nexport namespace AlertDialogRoot {\n export type Props = AlertDialogRootProps;\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgB,gBAAgB,EAC9B,MAAM,gBACN,cAAc,gBAAgB,aAAa,aAC3C,cAAc,kBACd,sBAAsB,0BACtB,YACkC;CAClC,MAAM,CAAC,QAAQ,eAAe,IAAI,iBAAiB,CAAC;CAEpD,MAAM,eAAe,mBAAmB,KAAA;CAExC,MAAM,kBAAkB,aAAa,iBAAiB;CACtD,MAAM,0BAA0B,aAAa,yBAAyB;CAEtE,MAAM,CAAC,UAAU,eAAe;EAC9B,MAAM,WAAW,kBAAkB;GACjC,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,oBAAgB,UAAU,SAAS;;GAErC,uBAAuB,aAAsB;AAC3C,4BAAwB,UAAU,SAAS;;GAE9C,CAAC;AAEF,MAAI,CAAC,gBAAgB,YACnB,UAAS,MAAM;AAGjB,SAAO;GACP;CAEF,MAAM,UAAU,UAAU,qBAAqB;CAC/C,MAAM,gBAAgB,UAAU,oBAAoB;AAEpD,MAAK,WAAW,QAAQ;AACxB,MAAK,iBAAiB,cAAc;AAGpC,iBAAgB;AACd,MAAI,mBAAmB,KAAA,EAAW;EAElC,MAAM,EAAE,QAAQ,cAAc,OAAO,MAAM;AAC3C,MAAI,mBAAmB,UAAW;AAElC,MAAI,eACF,QAAO,MAAM;MAEb,QAAO,OAAO;IAEf,CAAC,gBAAgB,OAAO,CAAC;AAE5B,YAAW,OAAO;CAElB,MAAM,QAAQ,YAAY,OAAO,MAAM;AACvC,MAAK,SAAS,MAAM;AAGpB,QACE,oBAAC,4BAAD;EAA4B,OAAO;GAAE;GAAM;GAAQ,OAHvC,KAAK,UAAU;GAG+B,cAAc;GAAsB;EAC3F;EAC0B,CAAA"}
@@ -1,8 +1,6 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { useAlertDialogContext } from "./context.js";
4
3
  import { createContextPart } from "../create-context-part.js";
5
-
6
4
  //#region src/ui/alert-dialog/alert-dialog-title.tsx
7
5
  const AlertDialogTitle = createContextPart({
8
6
  displayName: "AlertDialogTitle",
@@ -10,7 +8,7 @@ const AlertDialogTitle = createContextPart({
10
8
  useContext: useAlertDialogContext,
11
9
  getProps: (state) => ({ id: state.titleId })
12
10
  });
13
-
14
11
  //#endregion
15
12
  export { AlertDialogTitle };
13
+
16
14
  //# sourceMappingURL=alert-dialog-title.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-title.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-title.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useAlertDialogContext } from './context';\n\nexport interface AlertDialogTitleProps extends UIComponentProps<'h2', AlertDialogCore.State> {}\n\nexport const AlertDialogTitle = createContextPart<AlertDialogTitleProps, AlertDialogCore.State>({\n displayName: 'AlertDialogTitle',\n tag: 'h2',\n useContext: useAlertDialogContext,\n getProps: (state) => ({ id: state.titleId }),\n});\n\nexport namespace AlertDialogTitle {\n export type Props = AlertDialogTitleProps;\n export type State = AlertDialogCore.State;\n}\n"],"mappings":";;;;;;AAUA,MAAa,mBAAmB,kBAAgE;CAC9F,aAAa;CACb,KAAK;CACL,YAAY;CACZ,WAAW,WAAW,EAAE,IAAI,MAAM,SAAS;CAC5C,CAAC"}
1
+ {"version":3,"file":"alert-dialog-title.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-title.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore } from '@videojs/core';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createContextPart } from '../create-context-part';\nimport { useAlertDialogContext } from './context';\n\nexport interface AlertDialogTitleProps extends UIComponentProps<'h2', AlertDialogCore.State> {}\n\nexport const AlertDialogTitle = createContextPart<AlertDialogTitleProps, AlertDialogCore.State>({\n displayName: 'AlertDialogTitle',\n tag: 'h2',\n useContext: useAlertDialogContext,\n getProps: (state) => ({ id: state.titleId }),\n});\n\nexport namespace AlertDialogTitle {\n export type Props = AlertDialogTitleProps;\n export type State = AlertDialogCore.State;\n}\n"],"mappings":";;;;AAUA,MAAa,mBAAmB,kBAAgE;CAC9F,aAAa;CACb,KAAK;CACL,YAAY;CACZ,WAAW,WAAW,EAAE,IAAI,MAAM,SAAS;CAC5C,CAAC"}
@@ -1,7 +1,5 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { createContext, useContext } from "react";
4
-
5
3
  //#region src/ui/alert-dialog/context.tsx
6
4
  const AlertDialogContext = createContext(null);
7
5
  const AlertDialogContextProvider = AlertDialogContext.Provider;
@@ -10,7 +8,7 @@ function useAlertDialogContext() {
10
8
  if (!ctx) throw new Error("AlertDialog compound components must be used within an AlertDialog.Root");
11
9
  return ctx;
12
10
  }
13
-
14
11
  //#endregion
15
12
  export { AlertDialogContextProvider, useAlertDialogContext };
13
+
16
14
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/alert-dialog/context.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore, StateAttrMap } from '@videojs/core';\nimport type { AlertDialogApi } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface AlertDialogContextValue {\n core: AlertDialogCore;\n dialog: AlertDialogApi;\n state: AlertDialogCore.State;\n stateAttrMap: StateAttrMap<AlertDialogCore.State>;\n}\n\nconst AlertDialogContext = createContext<AlertDialogContextValue | null>(null);\n\nexport const AlertDialogContextProvider = AlertDialogContext.Provider;\n\nexport function useAlertDialogContext(): AlertDialogContextValue {\n const ctx = useContext(AlertDialogContext);\n if (!ctx) throw new Error('AlertDialog compound components must be used within an AlertDialog.Root');\n return ctx;\n}\n"],"mappings":";;;;;AAaA,MAAM,qBAAqB,cAA8C,KAAK;AAE9E,MAAa,6BAA6B,mBAAmB;AAE7D,SAAgB,wBAAiD;CAC/D,MAAM,MAAM,WAAW,mBAAmB;AAC1C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,0EAA0E;AACpG,QAAO"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/alert-dialog/context.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore, StateAttrMap } from '@videojs/core';\nimport type { AlertDialogApi } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface AlertDialogContextValue {\n core: AlertDialogCore;\n dialog: AlertDialogApi;\n state: AlertDialogCore.State;\n stateAttrMap: StateAttrMap<AlertDialogCore.State>;\n}\n\nconst AlertDialogContext = createContext<AlertDialogContextValue | null>(null);\n\nexport const AlertDialogContextProvider = AlertDialogContext.Provider;\n\nexport function useAlertDialogContext(): AlertDialogContextValue {\n const ctx = useContext(AlertDialogContext);\n if (!ctx) throw new Error('AlertDialog compound components must be used within an AlertDialog.Root');\n return ctx;\n}\n"],"mappings":";;;AAaA,MAAM,qBAAqB,cAA8C,KAAK;AAE9E,MAAa,6BAA6B,mBAAmB;AAE7D,SAAgB,wBAAiD;CAC/D,MAAM,MAAM,WAAW,mBAAmB;AAC1C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,0EAA0E;AACpG,QAAO"}
@@ -1,4 +1,3 @@
1
1
  import { useAlertDialogContext } from "./context.js";
2
2
  import { index_parts_exports } from "./index.parts.js";
3
-
4
- export { index_parts_exports as AlertDialog, useAlertDialogContext };
3
+ export { index_parts_exports as AlertDialog, useAlertDialogContext };
@@ -4,7 +4,6 @@ import { AlertDialogDescription } from "./alert-dialog-description.js";
4
4
  import { AlertDialogPopup } from "./alert-dialog-popup.js";
5
5
  import { AlertDialogRoot } from "./alert-dialog-root.js";
6
6
  import { AlertDialogTitle } from "./alert-dialog-title.js";
7
-
8
7
  //#region src/ui/alert-dialog/index.parts.ts
9
8
  var index_parts_exports = /* @__PURE__ */ __exportAll({
10
9
  Close: () => AlertDialogClose,
@@ -13,7 +12,7 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
13
12
  Root: () => AlertDialogRoot,
14
13
  Title: () => AlertDialogTitle
15
14
  });
16
-
17
15
  //#endregion
18
16
  export { index_parts_exports };
17
+
19
18
  //# sourceMappingURL=index.parts.js.map
@@ -1,12 +1,10 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { usePlayer } from "../../player/context.js";
4
3
  import { useDestroy } from "../../utils/use-destroy.js";
5
4
  import { renderElement } from "../../utils/use-render.js";
6
5
  import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from "@videojs/core";
7
6
  import { selectPlayback } from "@videojs/core/dom";
8
7
  import { forwardRef, useState, useSyncExternalStore } from "react";
9
-
10
8
  //#region src/ui/buffering-indicator/buffering-indicator.tsx
11
9
  /**
12
10
  * Displays a buffering indicator when media is waiting for data.
@@ -46,7 +44,7 @@ const BufferingIndicator = forwardRef(function BufferingIndicator(componentProps
46
44
  props: [elementProps]
47
45
  });
48
46
  });
49
-
50
47
  //#endregion
51
48
  export { BufferingIndicator };
49
+
52
50
  //# sourceMappingURL=buffering-indicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buffering-indicator.js","names":[],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator.tsx"],"sourcesContent":["'use client';\n\nimport { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState, useSyncExternalStore } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface BufferingIndicatorProps\n extends UIComponentProps<'div', BufferingIndicatorCore.State>,\n BufferingIndicatorCore.Props {}\n\n/**\n * Displays a buffering indicator when media is waiting for data.\n *\n * Visibility is delayed (default 500ms) to avoid flashing on quick buffers.\n *\n * @example\n * ```tsx\n * <BufferingIndicator />\n *\n * <BufferingIndicator delay={1000} />\n *\n * <BufferingIndicator\n * render={(props, state) => (\n * <div {...props}>{state.visible && <Spinner />}</div>\n * )}\n * />\n * ```\n */\nexport const BufferingIndicator = forwardRef(function BufferingIndicator(\n componentProps: BufferingIndicatorProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, delay, ...elementProps } = componentProps;\n\n const playback = usePlayer(selectPlayback);\n\n const [core] = useState(() => new BufferingIndicatorCore());\n useDestroy(core);\n core.setProps({ delay });\n\n if (playback) core.update(playback);\n\n const state = useSyncExternalStore(\n (cb) => core.state.subscribe(cb),\n () => core.state.current,\n () => core.state.current\n );\n\n if (!playback) {\n if (__DEV__) logMissingFeature('BufferingIndicator', 'playback');\n return null;\n }\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: BufferingIndicatorDataAttrs,\n ref: [forwardedRef],\n props: [elementProps],\n }\n );\n});\n\nexport namespace BufferingIndicator {\n export type Props = BufferingIndicatorProps;\n export type State = BufferingIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAa,qBAAqB,WAAW,SAAS,mBACpD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,OAAO,GAAG,iBAAiB;CAE7D,MAAM,WAAW,UAAU,eAAe;CAE1C,MAAM,CAAC,QAAQ,eAAe,IAAI,wBAAwB,CAAC;AAC3D,YAAW,KAAK;AAChB,MAAK,SAAS,EAAE,OAAO,CAAC;AAExB,KAAI,SAAU,MAAK,OAAO,SAAS;CAEnC,MAAM,QAAQ,sBACX,OAAO,KAAK,MAAM,UAAU,GAAG,QAC1B,KAAK,MAAM,eACX,KAAK,MAAM,QAClB;AAED,KAAI,CAAC,SAEH,QAAO;AAGT,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc;EACd,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC,aAAa;EACtB,CACF;EACD"}
1
+ {"version":3,"file":"buffering-indicator.js","names":[],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator.tsx"],"sourcesContent":["'use client';\n\nimport { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef, useState, useSyncExternalStore } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { renderElement } from '../../utils/use-render';\n\nexport interface BufferingIndicatorProps\n extends UIComponentProps<'div', BufferingIndicatorCore.State>,\n BufferingIndicatorCore.Props {}\n\n/**\n * Displays a buffering indicator when media is waiting for data.\n *\n * Visibility is delayed (default 500ms) to avoid flashing on quick buffers.\n *\n * @example\n * ```tsx\n * <BufferingIndicator />\n *\n * <BufferingIndicator delay={1000} />\n *\n * <BufferingIndicator\n * render={(props, state) => (\n * <div {...props}>{state.visible && <Spinner />}</div>\n * )}\n * />\n * ```\n */\nexport const BufferingIndicator = forwardRef(function BufferingIndicator(\n componentProps: BufferingIndicatorProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, delay, ...elementProps } = componentProps;\n\n const playback = usePlayer(selectPlayback);\n\n const [core] = useState(() => new BufferingIndicatorCore());\n useDestroy(core);\n core.setProps({ delay });\n\n if (playback) core.update(playback);\n\n const state = useSyncExternalStore(\n (cb) => core.state.subscribe(cb),\n () => core.state.current,\n () => core.state.current\n );\n\n if (!playback) {\n if (__DEV__) logMissingFeature('BufferingIndicator', 'playback');\n return null;\n }\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: BufferingIndicatorDataAttrs,\n ref: [forwardedRef],\n props: [elementProps],\n }\n );\n});\n\nexport namespace BufferingIndicator {\n export type Props = BufferingIndicatorProps;\n export type State = BufferingIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAa,qBAAqB,WAAW,SAAS,mBACpD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,OAAO,GAAG,iBAAiB;CAE7D,MAAM,WAAW,UAAU,eAAe;CAE1C,MAAM,CAAC,QAAQ,eAAe,IAAI,wBAAwB,CAAC;AAC3D,YAAW,KAAK;AAChB,MAAK,SAAS,EAAE,OAAO,CAAC;AAExB,KAAI,SAAU,MAAK,OAAO,SAAS;CAEnC,MAAM,QAAQ,sBACX,OAAO,KAAK,MAAM,UAAU,GAAG,QAC1B,KAAK,MAAM,eACX,KAAK,MAAM,QAClB;AAED,KAAI,CAAC,SAEH,QAAO;AAGT,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA,cAAc;EACd,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC,aAAa;EACtB,CACF;EACD"}
@@ -1,3 +1,2 @@
1
1
  import { BufferingIndicator } from "./buffering-indicator.js";
2
-
3
- export { BufferingIndicator };
2
+ export { BufferingIndicator };
@@ -1,9 +1,7 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { createMediaButton } from "../create-media-button.js";
4
3
  import { CaptionsButtonCore, CaptionsButtonDataAttrs } from "@videojs/core";
5
4
  import { selectTextTrack } from "@videojs/core/dom";
6
-
7
5
  //#region src/ui/captions-button/captions-button.tsx
8
6
  /** A button that toggles captions. */
9
7
  const CaptionsButton = createMediaButton({
@@ -13,7 +11,7 @@ const CaptionsButton = createMediaButton({
13
11
  selector: selectTextTrack,
14
12
  action: (core, state) => core.toggle(state)
15
13
  });
16
-
17
14
  //#endregion
18
15
  export { CaptionsButton };
16
+
19
17
  //# sourceMappingURL=captions-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"captions-button.js","names":[],"sources":["../../../../src/ui/captions-button/captions-button.tsx"],"sourcesContent":["'use client';\n\nimport { CaptionsButtonCore, CaptionsButtonDataAttrs } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface CaptionsButtonProps\n extends UIComponentProps<'button', CaptionsButtonCore.State>,\n CaptionsButtonCore.Props {}\n\n/** A button that toggles captions. */\nexport const CaptionsButton = createMediaButton<CaptionsButtonCore, CaptionsButtonProps>({\n displayName: 'CaptionsButton',\n core: CaptionsButtonCore,\n stateAttrMap: CaptionsButtonDataAttrs,\n selector: selectTextTrack,\n action: (core, state) => core.toggle(state),\n});\n\nexport namespace CaptionsButton {\n export type Props = CaptionsButtonProps;\n export type State = CaptionsButtonCore.State;\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,iBAAiB,kBAA2D;CACvF,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,OAAO,MAAM;CAC5C,CAAC"}
1
+ {"version":3,"file":"captions-button.js","names":[],"sources":["../../../../src/ui/captions-button/captions-button.tsx"],"sourcesContent":["'use client';\n\nimport { CaptionsButtonCore, CaptionsButtonDataAttrs } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { createMediaButton } from '../create-media-button';\n\nexport interface CaptionsButtonProps\n extends UIComponentProps<'button', CaptionsButtonCore.State>,\n CaptionsButtonCore.Props {}\n\n/** A button that toggles captions. */\nexport const CaptionsButton = createMediaButton<CaptionsButtonCore, CaptionsButtonProps>({\n displayName: 'CaptionsButton',\n core: CaptionsButtonCore,\n stateAttrMap: CaptionsButtonDataAttrs,\n selector: selectTextTrack,\n action: (core, state) => core.toggle(state),\n});\n\nexport namespace CaptionsButton {\n export type Props = CaptionsButtonProps;\n export type State = CaptionsButtonCore.State;\n}\n"],"mappings":";;;;;;AAaA,MAAa,iBAAiB,kBAA2D;CACvF,aAAa;CACb,MAAM;CACN,cAAc;CACd,UAAU;CACV,SAAS,MAAM,UAAU,KAAK,OAAO,MAAM;CAC5C,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import { CaptionsButton } from "./captions-button.js";
2
-
3
- export { CaptionsButton };
2
+ export { CaptionsButton };
@@ -1,7 +1,5 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { createContext, useContext } from "react";
4
-
5
3
  //#region src/ui/controls/context.tsx
6
4
  const ControlsContext = createContext(null);
7
5
  const ControlsContextProvider = ControlsContext.Provider;
@@ -10,7 +8,7 @@ function useControlsContext() {
10
8
  if (!ctx) throw new Error("Controls compound components must be used within a Controls.Root");
11
9
  return ctx;
12
10
  }
13
-
14
11
  //#endregion
15
12
  export { ControlsContextProvider, useControlsContext };
13
+
16
14
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/controls/context.tsx"],"sourcesContent":["'use client';\n\nimport type { ControlsState, StateAttrMap } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\nexport interface ControlsContextValue {\n state: ControlsState;\n stateAttrMap: StateAttrMap<ControlsState>;\n}\n\nconst ControlsContext = createContext<ControlsContextValue | null>(null);\n\nexport const ControlsContextProvider = ControlsContext.Provider;\n\nexport function useControlsContext(): ControlsContextValue {\n const ctx = useContext(ControlsContext);\n if (!ctx) throw new Error('Controls compound components must be used within a Controls.Root');\n return ctx;\n}\n"],"mappings":";;;;;AAUA,MAAM,kBAAkB,cAA2C,KAAK;AAExE,MAAa,0BAA0B,gBAAgB;AAEvD,SAAgB,qBAA2C;CACzD,MAAM,MAAM,WAAW,gBAAgB;AACvC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,mEAAmE;AAC7F,QAAO"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/controls/context.tsx"],"sourcesContent":["'use client';\n\nimport type { ControlsState, StateAttrMap } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\nexport interface ControlsContextValue {\n state: ControlsState;\n stateAttrMap: StateAttrMap<ControlsState>;\n}\n\nconst ControlsContext = createContext<ControlsContextValue | null>(null);\n\nexport const ControlsContextProvider = ControlsContext.Provider;\n\nexport function useControlsContext(): ControlsContextValue {\n const ctx = useContext(ControlsContext);\n if (!ctx) throw new Error('Controls compound components must be used within a Controls.Root');\n return ctx;\n}\n"],"mappings":";;;AAUA,MAAM,kBAAkB,cAA2C,KAAK;AAExE,MAAa,0BAA0B,gBAAgB;AAEvD,SAAgB,qBAA2C;CACzD,MAAM,MAAM,WAAW,gBAAgB;AACvC,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,mEAAmE;AAC7F,QAAO"}
@@ -1,9 +1,7 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { renderElement } from "../../utils/use-render.js";
4
3
  import { useControlsContext } from "./context.js";
5
4
  import { forwardRef } from "react";
6
-
7
5
  //#region src/ui/controls/controls-group.tsx
8
6
  /** Layout group for related controls; sets `role="group"` when labeled. */
9
7
  const ControlsGroup = forwardRef(function ControlsGroup(componentProps, forwardedRef) {
@@ -24,7 +22,7 @@ const ControlsGroup = forwardRef(function ControlsGroup(componentProps, forwarde
24
22
  }, elementProps]
25
23
  });
26
24
  });
27
-
28
25
  //#endregion
29
26
  export { ControlsGroup };
27
+
30
28
  //# sourceMappingURL=controls-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls-group.js","names":[],"sources":["../../../../src/ui/controls/controls-group.tsx"],"sourcesContent":["'use client';\n\nimport type { ControlsCore } from '@videojs/core';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useControlsContext } from './context';\n\nexport interface ControlsGroupProps extends UIComponentProps<'div', ControlsCore.State> {\n children?: ReactNode | undefined;\n}\n\n/** Layout group for related controls; sets `role=\"group\"` when labeled. */\nexport const ControlsGroup = forwardRef(function ControlsGroup(\n componentProps: ControlsGroupProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const { state, stateAttrMap } = useControlsContext();\n const role = elementProps['aria-label'] || elementProps['aria-labelledby'] ? 'group' : undefined;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: [forwardedRef],\n props: [{ role, children }, elementProps],\n }\n );\n});\n\nexport namespace ControlsGroup {\n export type Props = ControlsGroupProps;\n}\n"],"mappings":";;;;;;;;AAeA,MAAa,gBAAgB,WAAW,SAAS,cAC/C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;CAEhE,MAAM,EAAE,OAAO,iBAAiB,oBAAoB;CACpD,MAAM,OAAO,aAAa,iBAAiB,aAAa,qBAAqB,UAAU;AAEvF,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC;GAAE;GAAM;GAAU,EAAE,aAAa;EAC1C,CACF;EACD"}
1
+ {"version":3,"file":"controls-group.js","names":[],"sources":["../../../../src/ui/controls/controls-group.tsx"],"sourcesContent":["'use client';\n\nimport type { ControlsCore } from '@videojs/core';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useControlsContext } from './context';\n\nexport interface ControlsGroupProps extends UIComponentProps<'div', ControlsCore.State> {\n children?: ReactNode | undefined;\n}\n\n/** Layout group for related controls; sets `role=\"group\"` when labeled. */\nexport const ControlsGroup = forwardRef(function ControlsGroup(\n componentProps: ControlsGroupProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const { state, stateAttrMap } = useControlsContext();\n const role = elementProps['aria-label'] || elementProps['aria-labelledby'] ? 'group' : undefined;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: [forwardedRef],\n props: [{ role, children }, elementProps],\n }\n );\n});\n\nexport namespace ControlsGroup {\n export type Props = ControlsGroupProps;\n}\n"],"mappings":";;;;;;AAeA,MAAa,gBAAgB,WAAW,SAAS,cAC/C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;CAEhE,MAAM,EAAE,OAAO,iBAAiB,oBAAoB;CACpD,MAAM,OAAO,aAAa,iBAAiB,aAAa,qBAAqB,UAAU,KAAA;AAEvF,QAAO,cACL,OACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK,CAAC,aAAa;EACnB,OAAO,CAAC;GAAE;GAAM;GAAU,EAAE,aAAa;EAC1C,CACF;EACD"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { usePlayer } from "../../player/context.js";
4
3
  import { renderElement } from "../../utils/use-render.js";
5
4
  import { ControlsContextProvider } from "./context.js";
@@ -7,7 +6,6 @@ import { ControlsCore, ControlsDataAttrs } from "@videojs/core";
7
6
  import { selectControls } from "@videojs/core/dom";
8
7
  import { forwardRef, useState } from "react";
9
8
  import { jsx } from "react/jsx-runtime";
10
-
11
9
  //#region src/ui/controls/controls-root.tsx
12
10
  /** Root container for player controls state and rendered control content. */
13
11
  const ControlsRoot = forwardRef(function ControlsRoot(componentProps, forwardedRef) {
@@ -34,7 +32,7 @@ const ControlsRoot = forwardRef(function ControlsRoot(componentProps, forwardedR
34
32
  })
35
33
  });
36
34
  });
37
-
38
35
  //#endregion
39
36
  export { ControlsRoot };
37
+
40
38
  //# sourceMappingURL=controls-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls-root.js","names":[],"sources":["../../../../src/ui/controls/controls-root.tsx"],"sourcesContent":["'use client';\n\nimport { ControlsCore, ControlsDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectControls } from '@videojs/core/dom';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { ControlsContextProvider } from './context';\n\nexport interface ControlsRootProps extends UIComponentProps<'div', ControlsCore.State> {\n children?: ReactNode | undefined;\n}\n\n/** Root container for player controls state and rendered control content. */\nexport const ControlsRoot = forwardRef(function ControlsRoot(\n componentProps: ControlsRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const controls = usePlayer(selectControls);\n\n const [core] = useState(() => new ControlsCore());\n\n if (!controls) {\n if (__DEV__) logMissingFeature('Controls.Root', 'controls');\n return null;\n }\n\n core.setMedia(controls);\n const state = core.getState();\n\n return (\n <ControlsContextProvider value={{ state, stateAttrMap: ControlsDataAttrs }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: ControlsDataAttrs,\n ref: [forwardedRef],\n props: [{ children }, elementProps],\n }\n )}\n </ControlsContextProvider>\n );\n});\n\nexport namespace ControlsRoot {\n export type Props = ControlsRootProps;\n export type State = ControlsCore.State;\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAa,eAAe,WAAW,SAAS,aAC9C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;CAEhE,MAAM,WAAW,UAAU,eAAe;CAE1C,MAAM,CAAC,QAAQ,eAAe,IAAI,cAAc,CAAC;AAEjD,KAAI,CAAC,SAEH,QAAO;AAGT,MAAK,SAAS,SAAS;CACvB,MAAM,QAAQ,KAAK,UAAU;AAE7B,QACE,oBAAC;EAAwB,OAAO;GAAE;GAAO,cAAc;GAAmB;YACvE,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,aAAa;GACnB,OAAO,CAAC,EAAE,UAAU,EAAE,aAAa;GACpC,CACF;GACuB;EAE5B"}
1
+ {"version":3,"file":"controls-root.js","names":[],"sources":["../../../../src/ui/controls/controls-root.tsx"],"sourcesContent":["'use client';\n\nimport { ControlsCore, ControlsDataAttrs } from '@videojs/core';\nimport { logMissingFeature, selectControls } from '@videojs/core/dom';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { ControlsContextProvider } from './context';\n\nexport interface ControlsRootProps extends UIComponentProps<'div', ControlsCore.State> {\n children?: ReactNode | undefined;\n}\n\n/** Root container for player controls state and rendered control content. */\nexport const ControlsRoot = forwardRef(function ControlsRoot(\n componentProps: ControlsRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, children, ...elementProps } = componentProps;\n\n const controls = usePlayer(selectControls);\n\n const [core] = useState(() => new ControlsCore());\n\n if (!controls) {\n if (__DEV__) logMissingFeature('Controls.Root', 'controls');\n return null;\n }\n\n core.setMedia(controls);\n const state = core.getState();\n\n return (\n <ControlsContextProvider value={{ state, stateAttrMap: ControlsDataAttrs }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: ControlsDataAttrs,\n ref: [forwardedRef],\n props: [{ children }, elementProps],\n }\n )}\n </ControlsContextProvider>\n );\n});\n\nexport namespace ControlsRoot {\n export type Props = ControlsRootProps;\n export type State = ControlsCore.State;\n}\n"],"mappings":";;;;;;;;;;AAiBA,MAAa,eAAe,WAAW,SAAS,aAC9C,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,iBAAiB;CAEhE,MAAM,WAAW,UAAU,eAAe;CAE1C,MAAM,CAAC,QAAQ,eAAe,IAAI,cAAc,CAAC;AAEjD,KAAI,CAAC,SAEH,QAAO;AAGT,MAAK,SAAS,SAAS;CACvB,MAAM,QAAQ,KAAK,UAAU;AAE7B,QACE,oBAAC,yBAAD;EAAyB,OAAO;GAAE;GAAO,cAAc;GAAmB;YACvE,cACC,OACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA,cAAc;GACd,KAAK,CAAC,aAAa;GACnB,OAAO,CAAC,EAAE,UAAU,EAAE,aAAa;GACpC,CACF;EACuB,CAAA;EAE5B"}
@@ -1,3 +1,2 @@
1
1
  import { index_parts_exports } from "./index.parts.js";
2
-
3
- export { index_parts_exports as Controls };
2
+ export { index_parts_exports as Controls };
@@ -1,13 +1,12 @@
1
1
  import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { ControlsGroup } from "./controls-group.js";
3
3
  import { ControlsRoot } from "./controls-root.js";
4
-
5
4
  //#region src/ui/controls/index.parts.ts
6
5
  var index_parts_exports = /* @__PURE__ */ __exportAll({
7
6
  Group: () => ControlsGroup,
8
7
  Root: () => ControlsRoot
9
8
  });
10
-
11
9
  //#endregion
12
10
  export { index_parts_exports };
11
+
13
12
  //# sourceMappingURL=index.parts.js.map
@@ -1,8 +1,6 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { renderElement } from "../utils/use-render.js";
4
3
  import { forwardRef } from "react";
5
-
6
4
  //#region src/ui/create-context-part.tsx
7
5
  function createContextPart(config) {
8
6
  const { displayName, tag, useContext, staticProps, getProps } = config;
@@ -28,7 +26,7 @@ function createContextPart(config) {
28
26
  Component.displayName = displayName;
29
27
  return Component;
30
28
  }
31
-
32
29
  //#endregion
33
30
  export { createContextPart };
31
+
34
32
  //# sourceMappingURL=create-context-part.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-context-part.js","names":[],"sources":["../../../src/ui/create-context-part.tsx"],"sourcesContent":["'use client';\n\nimport type { StateAttrMap } from '@videojs/core';\nimport type { ForwardRefExoticComponent } from 'react';\nimport { forwardRef } from 'react';\nimport type { UIComponentProps } from '@/utils/types';\nimport type { renderElement as renderElementFn } from '../utils/use-render';\nimport { renderElement } from '../utils/use-render';\n\ninterface ContextPartConfig<Props extends object, State extends object> {\n displayName: string;\n tag: keyof React.JSX.IntrinsicElements;\n useContext: () => { state: State; stateAttrMap: StateAttrMap<State> };\n staticProps?: Partial<Props>;\n /** Derive props from state on each render (e.g. `id` from a state field). */\n getProps?: (state: State) => Record<string, unknown>;\n}\n\nexport function createContextPart<Props extends UIComponentProps<any, any>, State extends object>(\n config: ContextPartConfig<Props, State>\n): ForwardRefExoticComponent<Props> {\n const { displayName, tag, useContext, staticProps, getProps } = config;\n\n const Component = forwardRef<HTMLElement, Props>(function ContextPart(componentProps, forwardedRef) {\n const { render, className, style, ...elementProps } = componentProps;\n const context = useContext();\n const dynamicProps = getProps?.(context.state);\n\n return renderElement(tag, { render, className, style } as renderElementFn.ComponentProps<State>, {\n state: context.state,\n stateAttrMap: context.stateAttrMap,\n ref: forwardedRef,\n props: [staticProps, dynamicProps, elementProps].filter(Boolean),\n });\n });\n\n Component.displayName = displayName;\n\n return Component as ForwardRefExoticComponent<Props>;\n}\n"],"mappings":";;;;;;AAkBA,SAAgB,kBACd,QACkC;CAClC,MAAM,EAAE,aAAa,KAAK,YAAY,aAAa,aAAa;CAEhE,MAAM,YAAY,WAA+B,SAAS,YAAY,gBAAgB,cAAc;EAClG,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;EACtD,MAAM,UAAU,YAAY;EAC5B,MAAM,eAAe,WAAW,QAAQ,MAAM;AAE9C,SAAO,cAAc,KAAK;GAAE;GAAQ;GAAW;GAAO,EAA2C;GAC/F,OAAO,QAAQ;GACf,cAAc,QAAQ;GACtB,KAAK;GACL,OAAO;IAAC;IAAa;IAAc;IAAa,CAAC,OAAO,QAAQ;GACjE,CAAC;GACF;AAEF,WAAU,cAAc;AAExB,QAAO"}
1
+ {"version":3,"file":"create-context-part.js","names":[],"sources":["../../../src/ui/create-context-part.tsx"],"sourcesContent":["'use client';\n\nimport type { StateAttrMap } from '@videojs/core';\nimport type { ForwardRefExoticComponent } from 'react';\nimport { forwardRef } from 'react';\nimport type { UIComponentProps } from '@/utils/types';\nimport type { renderElement as renderElementFn } from '../utils/use-render';\nimport { renderElement } from '../utils/use-render';\n\ninterface ContextPartConfig<Props extends object, State extends object> {\n displayName: string;\n tag: keyof React.JSX.IntrinsicElements;\n useContext: () => { state: State; stateAttrMap: StateAttrMap<State> };\n staticProps?: Partial<Props>;\n /** Derive props from state on each render (e.g. `id` from a state field). */\n getProps?: (state: State) => Record<string, unknown>;\n}\n\nexport function createContextPart<Props extends UIComponentProps<any, any>, State extends object>(\n config: ContextPartConfig<Props, State>\n): ForwardRefExoticComponent<Props> {\n const { displayName, tag, useContext, staticProps, getProps } = config;\n\n const Component = forwardRef<HTMLElement, Props>(function ContextPart(componentProps, forwardedRef) {\n const { render, className, style, ...elementProps } = componentProps;\n const context = useContext();\n const dynamicProps = getProps?.(context.state);\n\n return renderElement(tag, { render, className, style } as renderElementFn.ComponentProps<State>, {\n state: context.state,\n stateAttrMap: context.stateAttrMap,\n ref: forwardedRef,\n props: [staticProps, dynamicProps, elementProps].filter(Boolean),\n });\n });\n\n Component.displayName = displayName;\n\n return Component as ForwardRefExoticComponent<Props>;\n}\n"],"mappings":";;;;AAkBA,SAAgB,kBACd,QACkC;CAClC,MAAM,EAAE,aAAa,KAAK,YAAY,aAAa,aAAa;CAEhE,MAAM,YAAY,WAA+B,SAAS,YAAY,gBAAgB,cAAc;EAClG,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;EACtD,MAAM,UAAU,YAAY;EAC5B,MAAM,eAAe,WAAW,QAAQ,MAAM;AAE9C,SAAO,cAAc,KAAK;GAAE;GAAQ;GAAW;GAAO,EAA2C;GAC/F,OAAO,QAAQ;GACf,cAAc,QAAQ;GACtB,KAAK;GACL,OAAO;IAAC;IAAa;IAAc;IAAa,CAAC,OAAO,QAAQ;GACjE,CAAC;GACF;AAEF,WAAU,cAAc;AAExB,QAAO"}
@@ -1,11 +1,9 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { usePlayer } from "../player/context.js";
4
3
  import { renderElement } from "../utils/use-render.js";
5
4
  import { useButton } from "./hooks/use-button.js";
6
5
  import "@videojs/core/dom";
7
6
  import { forwardRef, useState } from "react";
8
-
9
7
  //#region src/ui/create-media-button.tsx
10
8
  /** Creates a media button React component from a core class and config. */
11
9
  function createMediaButton(config) {
@@ -46,7 +44,7 @@ function createMediaButton(config) {
46
44
  Component.displayName = displayName;
47
45
  return Component;
48
46
  }
49
-
50
47
  //#endregion
51
48
  export { createMediaButton };
49
+
52
50
  //# sourceMappingURL=create-media-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-media-button.js","names":[],"sources":["../../../src/ui/create-media-button.tsx"],"sourcesContent":["'use client';\n\nimport type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { logMissingFeature } from '@videojs/core/dom';\nimport type { Selector } from '@videojs/store';\nimport type { ForwardedRef, ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../player/context';\nimport type { renderElement as renderElementFn } from '../utils/use-render';\nimport { renderElement } from '../utils/use-render';\nimport { useButton } from './hooks/use-button';\n\ninterface MediaButtonConfig<Core extends Required<MediaUIComponent>> {\n displayName: string;\n core: { new (): Core; defaultProps: Record<string, unknown> };\n stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n selector: Selector<object, InferMediaState<Core> | undefined>;\n action: (core: Core, state: InferMediaState<Core>) => void;\n}\n\n/** Creates a media button React component from a core class and config. */\nexport function createMediaButton<Core extends Required<MediaUIComponent>, Props extends object>(\n config: MediaButtonConfig<Core>\n): ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>> {\n const { displayName, core: CoreClass, stateAttrMap, selector, action } = config;\n\n // Props that exist in the core's defaultProps are routed to setProps; the rest go to the DOM element.\n const corePropKeys = new Set(Object.keys(CoreClass.defaultProps));\n\n const Component = forwardRef(function MediaButton(\n componentProps: Record<string, unknown>,\n forwardedRef: ForwardedRef<HTMLButtonElement>\n ) {\n const { render, className, style, ...rest } = componentProps;\n\n const coreProps: Record<string, unknown> = {};\n const elementProps: Record<string, unknown> = {};\n\n for (const key of Object.keys(rest)) {\n if (corePropKeys.has(key)) {\n coreProps[key] = rest[key];\n } else {\n elementProps[key] = rest[key];\n }\n }\n\n const feature = usePlayer(selector);\n\n const [core] = useState(() => new CoreClass());\n core.setProps(coreProps);\n\n const { getButtonProps, buttonRef } = useButton({\n displayName,\n onActivate: () => action(core, feature!),\n isDisabled: () => !!coreProps.disabled || !feature,\n });\n\n if (!feature) {\n if (__DEV__) logMissingFeature(displayName, selector.displayName ?? displayName);\n return null;\n }\n\n type State = InferComponentState<Core>;\n\n core.setMedia(feature);\n const state = core.getState() as State;\n\n return renderElement(\n 'button',\n { render, className, style } as renderElementFn.ComponentProps<InferComponentState<Core>>,\n {\n state,\n stateAttrMap,\n ref: [forwardedRef, buttonRef],\n props: [core.getAttrs(state), elementProps, getButtonProps()],\n }\n );\n });\n\n Component.displayName = displayName;\n\n return Component as unknown as ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>>;\n}\n"],"mappings":";;;;;;;;;;AAsBA,SAAgB,kBACd,QACqE;CACrE,MAAM,EAAE,aAAa,MAAM,WAAW,cAAc,UAAU,WAAW;CAGzE,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,UAAU,aAAa,CAAC;CAEjE,MAAM,YAAY,WAAW,SAAS,YACpC,gBACA,cACA;EACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,SAAS;EAE9C,MAAM,YAAqC,EAAE;EAC7C,MAAM,eAAwC,EAAE;AAEhD,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CACjC,KAAI,aAAa,IAAI,IAAI,CACvB,WAAU,OAAO,KAAK;MAEtB,cAAa,OAAO,KAAK;EAI7B,MAAM,UAAU,UAAU,SAAS;EAEnC,MAAM,CAAC,QAAQ,eAAe,IAAI,WAAW,CAAC;AAC9C,OAAK,SAAS,UAAU;EAExB,MAAM,EAAE,gBAAgB,cAAc,UAAU;GAC9C;GACA,kBAAkB,OAAO,MAAM,QAAS;GACxC,kBAAkB,CAAC,CAAC,UAAU,YAAY,CAAC;GAC5C,CAAC;AAEF,MAAI,CAAC,QAEH,QAAO;AAKT,OAAK,SAAS,QAAQ;EACtB,MAAM,QAAQ,KAAK,UAAU;AAE7B,SAAO,cACL,UACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA;GACA,KAAK,CAAC,cAAc,UAAU;GAC9B,OAAO;IAAC,KAAK,SAAS,MAAM;IAAE;IAAc,gBAAgB;IAAC;GAC9D,CACF;GACD;AAEF,WAAU,cAAc;AAExB,QAAO"}
1
+ {"version":3,"file":"create-media-button.js","names":[],"sources":["../../../src/ui/create-media-button.tsx"],"sourcesContent":["'use client';\n\nimport type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { logMissingFeature } from '@videojs/core/dom';\nimport type { Selector } from '@videojs/store';\nimport type { ForwardedRef, ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { usePlayer } from '../player/context';\nimport type { renderElement as renderElementFn } from '../utils/use-render';\nimport { renderElement } from '../utils/use-render';\nimport { useButton } from './hooks/use-button';\n\ninterface MediaButtonConfig<Core extends Required<MediaUIComponent>> {\n displayName: string;\n core: { new (): Core; defaultProps: Record<string, unknown> };\n stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n selector: Selector<object, InferMediaState<Core> | undefined>;\n action: (core: Core, state: InferMediaState<Core>) => void;\n}\n\n/** Creates a media button React component from a core class and config. */\nexport function createMediaButton<Core extends Required<MediaUIComponent>, Props extends object>(\n config: MediaButtonConfig<Core>\n): ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>> {\n const { displayName, core: CoreClass, stateAttrMap, selector, action } = config;\n\n // Props that exist in the core's defaultProps are routed to setProps; the rest go to the DOM element.\n const corePropKeys = new Set(Object.keys(CoreClass.defaultProps));\n\n const Component = forwardRef(function MediaButton(\n componentProps: Record<string, unknown>,\n forwardedRef: ForwardedRef<HTMLButtonElement>\n ) {\n const { render, className, style, ...rest } = componentProps;\n\n const coreProps: Record<string, unknown> = {};\n const elementProps: Record<string, unknown> = {};\n\n for (const key of Object.keys(rest)) {\n if (corePropKeys.has(key)) {\n coreProps[key] = rest[key];\n } else {\n elementProps[key] = rest[key];\n }\n }\n\n const feature = usePlayer(selector);\n\n const [core] = useState(() => new CoreClass());\n core.setProps(coreProps);\n\n const { getButtonProps, buttonRef } = useButton({\n displayName,\n onActivate: () => action(core, feature!),\n isDisabled: () => !!coreProps.disabled || !feature,\n });\n\n if (!feature) {\n if (__DEV__) logMissingFeature(displayName, selector.displayName ?? displayName);\n return null;\n }\n\n type State = InferComponentState<Core>;\n\n core.setMedia(feature);\n const state = core.getState() as State;\n\n return renderElement(\n 'button',\n { render, className, style } as renderElementFn.ComponentProps<InferComponentState<Core>>,\n {\n state,\n stateAttrMap,\n ref: [forwardedRef, buttonRef],\n props: [core.getAttrs(state), elementProps, getButtonProps()],\n }\n );\n });\n\n Component.displayName = displayName;\n\n return Component as unknown as ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>>;\n}\n"],"mappings":";;;;;;;;AAsBA,SAAgB,kBACd,QACqE;CACrE,MAAM,EAAE,aAAa,MAAM,WAAW,cAAc,UAAU,WAAW;CAGzE,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,UAAU,aAAa,CAAC;CAEjE,MAAM,YAAY,WAAW,SAAS,YACpC,gBACA,cACA;EACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,SAAS;EAE9C,MAAM,YAAqC,EAAE;EAC7C,MAAM,eAAwC,EAAE;AAEhD,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CACjC,KAAI,aAAa,IAAI,IAAI,CACvB,WAAU,OAAO,KAAK;MAEtB,cAAa,OAAO,KAAK;EAI7B,MAAM,UAAU,UAAU,SAAS;EAEnC,MAAM,CAAC,QAAQ,eAAe,IAAI,WAAW,CAAC;AAC9C,OAAK,SAAS,UAAU;EAExB,MAAM,EAAE,gBAAgB,cAAc,UAAU;GAC9C;GACA,kBAAkB,OAAO,MAAM,QAAS;GACxC,kBAAkB,CAAC,CAAC,UAAU,YAAY,CAAC;GAC5C,CAAC;AAEF,MAAI,CAAC,QAEH,QAAO;AAKT,OAAK,SAAS,QAAQ;EACtB,MAAM,QAAQ,KAAK,UAAU;AAE7B,SAAO,cACL,UACA;GAAE;GAAQ;GAAW;GAAO,EAC5B;GACE;GACA;GACA,KAAK,CAAC,cAAc,UAAU;GAC9B,OAAO;IAAC,KAAK,SAAS,MAAM;IAAE;IAAc,gBAAgB;IAAC;GAC9D,CACF;GACD;AAEF,WAAU,cAAc;AAExB,QAAO"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ //#region src/ui/error-dialog/context.tsx
4
+ const ErrorDialogContext = createContext(null);
5
+ const ErrorDialogContextProvider = ErrorDialogContext.Provider;
6
+ function useErrorDialogContext() {
7
+ const ctx = useContext(ErrorDialogContext);
8
+ if (!ctx) throw new Error("ErrorDialog compound components must be used within an ErrorDialog.Root");
9
+ return ctx;
10
+ }
11
+ //#endregion
12
+ export { ErrorDialogContextProvider, useErrorDialogContext };
13
+
14
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/error-dialog/context.tsx"],"sourcesContent":["'use client';\n\nimport type { MediaError } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\nexport interface ErrorDialogContextValue {\n lastError: MediaError | null;\n}\n\nconst ErrorDialogContext = createContext<ErrorDialogContextValue | null>(null);\n\nexport const ErrorDialogContextProvider = ErrorDialogContext.Provider;\n\nexport function useErrorDialogContext(): ErrorDialogContextValue {\n const ctx = useContext(ErrorDialogContext);\n if (!ctx) throw new Error('ErrorDialog compound components must be used within an ErrorDialog.Root');\n return ctx;\n}\n"],"mappings":";;;AASA,MAAM,qBAAqB,cAA8C,KAAK;AAE9E,MAAa,6BAA6B,mBAAmB;AAE7D,SAAgB,wBAAiD;CAC/D,MAAM,MAAM,WAAW,mBAAmB;AAC1C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,0EAA0E;AACpG,QAAO"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { useAlertDialogContext } from "../alert-dialog/context.js";
3
+ import { renderElement } from "../../utils/use-render.js";
4
+ import { useErrorDialogContext } from "./context.js";
5
+ import { forwardRef } from "react";
6
+ //#region src/ui/error-dialog/error-dialog-description.tsx
7
+ const FALLBACK_MESSAGE = "An error occurred. Please try again.";
8
+ const ErrorDialogDescription = forwardRef(function ErrorDialogDescription({ render, className, style, children, ...elementProps }, forwardedRef) {
9
+ const { state, stateAttrMap } = useAlertDialogContext();
10
+ const { lastError } = useErrorDialogContext();
11
+ return renderElement("p", {
12
+ render,
13
+ className,
14
+ style
15
+ }, {
16
+ state,
17
+ stateAttrMap,
18
+ ref: forwardedRef,
19
+ props: [{
20
+ id: state.descriptionId,
21
+ children: children ?? lastError?.message ?? FALLBACK_MESSAGE
22
+ }, elementProps]
23
+ });
24
+ });
25
+ //#endregion
26
+ export { ErrorDialogDescription };
27
+
28
+ //# sourceMappingURL=error-dialog-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-dialog-description.js","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog-description.tsx"],"sourcesContent":["'use client';\n\nimport type { AlertDialogCore } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useAlertDialogContext } from '../alert-dialog/context';\nimport { useErrorDialogContext } from './context';\n\nconst FALLBACK_MESSAGE = 'An error occurred. Please try again.';\n\nexport interface ErrorDialogDescriptionProps extends UIComponentProps<'p', AlertDialogCore.State> {}\n\nexport const ErrorDialogDescription = forwardRef<HTMLParagraphElement, ErrorDialogDescriptionProps>(\n function ErrorDialogDescription({ render, className, style, children, ...elementProps }, forwardedRef) {\n const { state, stateAttrMap } = useAlertDialogContext();\n const { lastError } = useErrorDialogContext();\n\n return renderElement(\n 'p',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [\n { id: state.descriptionId, children: children ?? lastError?.message ?? FALLBACK_MESSAGE },\n elementProps,\n ],\n }\n );\n }\n);\n\nexport namespace ErrorDialogDescription {\n export type Props = ErrorDialogDescriptionProps;\n export type State = AlertDialogCore.State;\n}\n"],"mappings":";;;;;;AAUA,MAAM,mBAAmB;AAIzB,MAAa,yBAAyB,WACpC,SAAS,uBAAuB,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBAAgB,cAAc;CACrG,MAAM,EAAE,OAAO,iBAAiB,uBAAuB;CACvD,MAAM,EAAE,cAAc,uBAAuB;AAE7C,QAAO,cACL,KACA;EAAE;EAAQ;EAAW;EAAO,EAC5B;EACE;EACA;EACA,KAAK;EACL,OAAO,CACL;GAAE,IAAI,MAAM;GAAe,UAAU,YAAY,WAAW,WAAW;GAAkB,EACzF,aACD;EACF,CACF;EAEJ"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { usePlayer } from "../../player/context.js";
3
+ import { useLatestRef } from "../../utils/use-latest-ref.js";
4
+ import { useDestroy } from "../../utils/use-destroy.js";
5
+ import { AlertDialogContextProvider } from "../alert-dialog/context.js";
6
+ import { useSafeId } from "../../utils/use-safe-id.js";
7
+ import { ErrorDialogContextProvider } from "./context.js";
8
+ import { AlertDialogDataAttrs, ErrorDialogCore } from "@videojs/core";
9
+ import { createAlertDialog, createTransition, selectError } from "@videojs/core/dom";
10
+ import { useSnapshot } from "@videojs/store/react";
11
+ import { useEffect, useRef, useState } from "react";
12
+ import { jsx } from "react/jsx-runtime";
13
+ //#region src/ui/error-dialog/error-dialog-root.tsx
14
+ function ErrorDialogRoot({ children }) {
15
+ const [core] = useState(() => new ErrorDialogCore());
16
+ const errorState = usePlayer(selectError);
17
+ const lastError = useRef(errorState?.error ?? null);
18
+ if (errorState?.error) lastError.current = errorState.error;
19
+ const errorStateRef = useLatestRef(errorState);
20
+ const [dialog] = useState(() => createAlertDialog({
21
+ transition: createTransition(),
22
+ onOpenChange: (nextOpen) => {
23
+ if (!nextOpen) errorStateRef.current?.dismissError();
24
+ }
25
+ }));
26
+ const titleId = useSafeId("error-dialog-title");
27
+ const descriptionId = useSafeId("error-dialog-desc");
28
+ core.setTitleId(titleId);
29
+ core.setDescriptionId(descriptionId);
30
+ useEffect(() => {
31
+ const hasError = Boolean(errorState?.error);
32
+ const { active: isOpen } = dialog.input.current;
33
+ if (hasError && !isOpen) dialog.open();
34
+ else if (!hasError && isOpen) dialog.close();
35
+ }, [errorState?.error, dialog]);
36
+ useDestroy(dialog);
37
+ const input = useSnapshot(dialog.input);
38
+ core.setInput(input);
39
+ const state = core.getState();
40
+ if (!errorState) return null;
41
+ return /* @__PURE__ */ jsx(ErrorDialogContextProvider, {
42
+ value: { lastError: lastError.current },
43
+ children: /* @__PURE__ */ jsx(AlertDialogContextProvider, {
44
+ value: {
45
+ core,
46
+ dialog,
47
+ state,
48
+ stateAttrMap: AlertDialogDataAttrs
49
+ },
50
+ children
51
+ })
52
+ });
53
+ }
54
+ //#endregion
55
+ export { ErrorDialogRoot };
56
+
57
+ //# sourceMappingURL=error-dialog-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-dialog-root.js","names":[],"sources":["../../../../src/ui/error-dialog/error-dialog-root.tsx"],"sourcesContent":["'use client';\n\nimport { AlertDialogDataAttrs, ErrorDialogCore } from '@videojs/core';\nimport { createAlertDialog, createTransition, selectError } from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport type { ReactNode } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { AlertDialogContextProvider } from '../alert-dialog/context';\nimport { ErrorDialogContextProvider } from './context';\n\nexport interface ErrorDialogRootProps {\n children?: ReactNode;\n}\n\nexport function ErrorDialogRoot({ children }: ErrorDialogRootProps): ReactNode {\n const [core] = useState(() => new ErrorDialogCore());\n const errorState = usePlayer(selectError);\n const lastError = useRef(errorState?.error ?? null);\n\n if (errorState?.error) lastError.current = errorState.error;\n\n const errorStateRef = useLatestRef(errorState);\n\n const [dialog] = useState(() =>\n createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n if (!nextOpen) {\n errorStateRef.current?.dismissError();\n }\n },\n })\n );\n\n const titleId = useSafeId('error-dialog-title');\n const descriptionId = useSafeId('error-dialog-desc');\n\n core.setTitleId(titleId);\n core.setDescriptionId(descriptionId);\n\n useEffect(() => {\n const hasError = Boolean(errorState?.error);\n const { active: isOpen } = dialog.input.current;\n\n if (hasError && !isOpen) {\n dialog.open();\n } else if (!hasError && isOpen) {\n dialog.close();\n }\n }, [errorState?.error, dialog]);\n\n useDestroy(dialog);\n\n const input = useSnapshot(dialog.input);\n core.setInput(input);\n const state = core.getState();\n\n if (!errorState) return null;\n\n return (\n <ErrorDialogContextProvider value={{ lastError: lastError.current }}>\n <AlertDialogContextProvider value={{ core, dialog, state, stateAttrMap: AlertDialogDataAttrs }}>\n {children}\n </AlertDialogContextProvider>\n </ErrorDialogContextProvider>\n );\n}\n\nexport namespace ErrorDialogRoot {\n export type Props = ErrorDialogRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,SAAgB,gBAAgB,EAAE,YAA6C;CAC7E,MAAM,CAAC,QAAQ,eAAe,IAAI,iBAAiB,CAAC;CACpD,MAAM,aAAa,UAAU,YAAY;CACzC,MAAM,YAAY,OAAO,YAAY,SAAS,KAAK;AAEnD,KAAI,YAAY,MAAO,WAAU,UAAU,WAAW;CAEtD,MAAM,gBAAgB,aAAa,WAAW;CAE9C,MAAM,CAAC,UAAU,eACf,kBAAkB;EAChB,YAAY,kBAAkB;EAC9B,eAAe,aAAsB;AACnC,OAAI,CAAC,SACH,eAAc,SAAS,cAAc;;EAG1C,CAAC,CACH;CAED,MAAM,UAAU,UAAU,qBAAqB;CAC/C,MAAM,gBAAgB,UAAU,oBAAoB;AAEpD,MAAK,WAAW,QAAQ;AACxB,MAAK,iBAAiB,cAAc;AAEpC,iBAAgB;EACd,MAAM,WAAW,QAAQ,YAAY,MAAM;EAC3C,MAAM,EAAE,QAAQ,WAAW,OAAO,MAAM;AAExC,MAAI,YAAY,CAAC,OACf,QAAO,MAAM;WACJ,CAAC,YAAY,OACtB,QAAO,OAAO;IAEf,CAAC,YAAY,OAAO,OAAO,CAAC;AAE/B,YAAW,OAAO;CAElB,MAAM,QAAQ,YAAY,OAAO,MAAM;AACvC,MAAK,SAAS,MAAM;CACpB,MAAM,QAAQ,KAAK,UAAU;AAE7B,KAAI,CAAC,WAAY,QAAO;AAExB,QACE,oBAAC,4BAAD;EAA4B,OAAO,EAAE,WAAW,UAAU,SAAS;YACjE,oBAAC,4BAAD;GAA4B,OAAO;IAAE;IAAM;IAAQ;IAAO,cAAc;IAAsB;GAC3F;GAC0B,CAAA;EACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { useErrorDialogContext } from "./context.js";
2
+ import { index_parts_exports } from "./index.parts.js";
3
+ export { index_parts_exports as ErrorDialog, useErrorDialogContext };
@@ -0,0 +1,18 @@
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { AlertDialogClose } from "../alert-dialog/alert-dialog-close.js";
3
+ import { AlertDialogPopup } from "../alert-dialog/alert-dialog-popup.js";
4
+ import { AlertDialogTitle } from "../alert-dialog/alert-dialog-title.js";
5
+ import { ErrorDialogDescription } from "./error-dialog-description.js";
6
+ import { ErrorDialogRoot } from "./error-dialog-root.js";
7
+ //#region src/ui/error-dialog/index.parts.ts
8
+ var index_parts_exports = /* @__PURE__ */ __exportAll({
9
+ Close: () => AlertDialogClose,
10
+ Description: () => ErrorDialogDescription,
11
+ Popup: () => AlertDialogPopup,
12
+ Root: () => ErrorDialogRoot,
13
+ Title: () => AlertDialogTitle
14
+ });
15
+ //#endregion
16
+ export { index_parts_exports };
17
+
18
+ //# sourceMappingURL=index.parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/error-dialog/index.parts.ts"],"sourcesContent":["export {\n AlertDialogClose as Close,\n type AlertDialogCloseProps as CloseProps,\n} from '../alert-dialog/alert-dialog-close';\nexport {\n AlertDialogPopup as Popup,\n type AlertDialogPopupProps as PopupProps,\n} from '../alert-dialog/alert-dialog-popup';\nexport {\n AlertDialogTitle as Title,\n type AlertDialogTitleProps as TitleProps,\n} from '../alert-dialog/alert-dialog-title';\nexport {\n ErrorDialogDescription as Description,\n type ErrorDialogDescriptionProps as DescriptionProps,\n} from './error-dialog-description';\nexport { ErrorDialogRoot as Root, type ErrorDialogRootProps as RootProps } from './error-dialog-root';\n"],"mappings":""}
@@ -1,9 +1,7 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { createMediaButton } from "../create-media-button.js";
4
3
  import { FullscreenButtonCore, FullscreenButtonDataAttrs } from "@videojs/core";
5
4
  import { selectFullscreen } from "@videojs/core/dom";
6
-
7
5
  //#region src/ui/fullscreen-button/fullscreen-button.tsx
8
6
  /** A button that toggles fullscreen. */
9
7
  const FullscreenButton = createMediaButton({
@@ -13,7 +11,7 @@ const FullscreenButton = createMediaButton({
13
11
  selector: selectFullscreen,
14
12
  action: (core, state) => core.toggle(state)
15
13
  });
16
-
17
14
  //#endregion
18
15
  export { FullscreenButton };
16
+
19
17
  //# sourceMappingURL=fullscreen-button.js.map