@videojs/react 10.0.0-beta.31 → 10.0.0-beta.32

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 (1552) hide show
  1. package/dist/default/i18n/context.js.map +1 -1
  2. package/dist/default/i18n/create-i18n.js +7 -4
  3. package/dist/default/i18n/create-i18n.js.map +1 -1
  4. package/dist/default/i18n/get-provider-root-props.js.map +1 -1
  5. package/dist/default/i18n/locales/all/register.js.map +1 -1
  6. package/dist/default/i18n/locales/ar/register.js.map +1 -1
  7. package/dist/default/i18n/locales/az/register.js.map +1 -1
  8. package/dist/default/i18n/locales/bg/register.js.map +1 -1
  9. package/dist/default/i18n/locales/bn/register.js.map +1 -1
  10. package/dist/default/i18n/locales/bs/register.js.map +1 -1
  11. package/dist/default/i18n/locales/ca/register.js.map +1 -1
  12. package/dist/default/i18n/locales/cs/register.js.map +1 -1
  13. package/dist/default/i18n/locales/cy/register.js.map +1 -1
  14. package/dist/default/i18n/locales/da/register.js.map +1 -1
  15. package/dist/default/i18n/locales/de/register.js.map +1 -1
  16. package/dist/default/i18n/locales/el/register.js.map +1 -1
  17. package/dist/default/i18n/locales/en/register.js.map +1 -1
  18. package/dist/default/i18n/locales/es/register.js.map +1 -1
  19. package/dist/default/i18n/locales/et/register.js.map +1 -1
  20. package/dist/default/i18n/locales/eu/register.js.map +1 -1
  21. package/dist/default/i18n/locales/fa/register.js.map +1 -1
  22. package/dist/default/i18n/locales/fi/register.js.map +1 -1
  23. package/dist/default/i18n/locales/fr/register.js.map +1 -1
  24. package/dist/default/i18n/locales/gd/register.js.map +1 -1
  25. package/dist/default/i18n/locales/gl/register.js.map +1 -1
  26. package/dist/default/i18n/locales/he/register.js.map +1 -1
  27. package/dist/default/i18n/locales/hi/register.js.map +1 -1
  28. package/dist/default/i18n/locales/hr/register.js.map +1 -1
  29. package/dist/default/i18n/locales/hu/register.js.map +1 -1
  30. package/dist/default/i18n/locales/id/register.js.map +1 -1
  31. package/dist/default/i18n/locales/it/register.js.map +1 -1
  32. package/dist/default/i18n/locales/ja/register.js.map +1 -1
  33. package/dist/default/i18n/locales/ko/register.js.map +1 -1
  34. package/dist/default/i18n/locales/lt/register.js.map +1 -1
  35. package/dist/default/i18n/locales/lv/register.js.map +1 -1
  36. package/dist/default/i18n/locales/mr/register.js.map +1 -1
  37. package/dist/default/i18n/locales/nb/register.js.map +1 -1
  38. package/dist/default/i18n/locales/ne/register.js.map +1 -1
  39. package/dist/default/i18n/locales/nl/register.js.map +1 -1
  40. package/dist/default/i18n/locales/nn/register.js.map +1 -1
  41. package/dist/default/i18n/locales/oc/register.js.map +1 -1
  42. package/dist/default/i18n/locales/pl/register.js.map +1 -1
  43. package/dist/default/i18n/locales/pt/register.js.map +1 -1
  44. package/dist/default/i18n/locales/pt-BR/register.js.map +1 -1
  45. package/dist/default/i18n/locales/pt-PT/register.js.map +1 -1
  46. package/dist/default/i18n/locales/ro/register.js.map +1 -1
  47. package/dist/default/i18n/locales/ru/register.js.map +1 -1
  48. package/dist/default/i18n/locales/sk/register.js.map +1 -1
  49. package/dist/default/i18n/locales/sl/register.js.map +1 -1
  50. package/dist/default/i18n/locales/sr/register.js.map +1 -1
  51. package/dist/default/i18n/locales/sv/register.js.map +1 -1
  52. package/dist/default/i18n/locales/te/register.js.map +1 -1
  53. package/dist/default/i18n/locales/th/register.js.map +1 -1
  54. package/dist/default/i18n/locales/tr/register.js.map +1 -1
  55. package/dist/default/i18n/locales/uk/register.js.map +1 -1
  56. package/dist/default/i18n/locales/vi/register.js.map +1 -1
  57. package/dist/default/i18n/locales/zh/register.js.map +1 -1
  58. package/dist/default/i18n/locales/zh-CN/register.js.map +1 -1
  59. package/dist/default/i18n/locales/zh-TW/register.js.map +1 -1
  60. package/dist/default/i18n/text.js.map +1 -1
  61. package/dist/default/i18n/use-ambient-lang.js.map +1 -1
  62. package/dist/default/i18n/use-lang-root-element.js.map +1 -1
  63. package/dist/default/i18n/use-lazy-translations.js.map +1 -1
  64. package/dist/default/i18n/use-locale-root-notifications.js.map +1 -1
  65. package/dist/default/i18n/use-merged-translations.js +4 -2
  66. package/dist/default/i18n/use-merged-translations.js.map +1 -1
  67. package/dist/default/icons/dist/react/default/airplay-enter.js +5 -2
  68. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  69. package/dist/default/icons/dist/react/default/airplay-exit.js +5 -2
  70. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  71. package/dist/default/icons/dist/react/default/captions-off.js +5 -2
  72. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  73. package/dist/default/icons/dist/react/default/captions-on.js +5 -2
  74. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  75. package/dist/default/icons/dist/react/default/cast-enter.js +5 -2
  76. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  77. package/dist/default/icons/dist/react/default/cast-exit.js +5 -2
  78. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  79. package/dist/default/icons/dist/react/default/check.js +5 -2
  80. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  81. package/dist/default/icons/dist/react/default/chevron.js +5 -2
  82. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  83. package/dist/default/icons/dist/react/default/fullscreen-enter.js +5 -2
  84. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  85. package/dist/default/icons/dist/react/default/fullscreen-exit.js +5 -2
  86. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  87. package/dist/default/icons/dist/react/default/gear.js +5 -2
  88. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  89. package/dist/default/icons/dist/react/default/pause.js +5 -2
  90. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  91. package/dist/default/icons/dist/react/default/pip-enter.js +5 -2
  92. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  93. package/dist/default/icons/dist/react/default/pip-exit.js +5 -2
  94. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  95. package/dist/default/icons/dist/react/default/play.js +5 -2
  96. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  97. package/dist/default/icons/dist/react/default/quality.js +5 -2
  98. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  99. package/dist/default/icons/dist/react/default/restart.js +5 -2
  100. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  101. package/dist/default/icons/dist/react/default/seek.js +5 -2
  102. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  103. package/dist/default/icons/dist/react/default/speech.js +5 -2
  104. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  105. package/dist/default/icons/dist/react/default/speed.js +5 -2
  106. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  107. package/dist/default/icons/dist/react/default/spinner.js +5 -2
  108. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  109. package/dist/default/icons/dist/react/default/switches.js +5 -2
  110. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  111. package/dist/default/icons/dist/react/default/volume-high.js +5 -2
  112. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  113. package/dist/default/icons/dist/react/default/volume-low.js +5 -2
  114. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  115. package/dist/default/icons/dist/react/default/volume-off.js +5 -2
  116. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  117. package/dist/default/icons/dist/react/minimal/airplay-enter.js +5 -2
  118. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  119. package/dist/default/icons/dist/react/minimal/airplay-exit.js +5 -2
  120. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  121. package/dist/default/icons/dist/react/minimal/captions-off.js +5 -2
  122. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  123. package/dist/default/icons/dist/react/minimal/captions-on.js +5 -2
  124. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  125. package/dist/default/icons/dist/react/minimal/cast-enter.js +5 -2
  126. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  127. package/dist/default/icons/dist/react/minimal/cast-exit.js +5 -2
  128. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  129. package/dist/default/icons/dist/react/minimal/check.js +5 -2
  130. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  131. package/dist/default/icons/dist/react/minimal/chevron.js +5 -2
  132. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  133. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -2
  134. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  135. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -2
  136. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  137. package/dist/default/icons/dist/react/minimal/gear.js +5 -2
  138. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  139. package/dist/default/icons/dist/react/minimal/pause.js +5 -2
  140. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  141. package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -2
  142. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  143. package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -2
  144. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  145. package/dist/default/icons/dist/react/minimal/play.js +5 -2
  146. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  147. package/dist/default/icons/dist/react/minimal/quality.js +5 -2
  148. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  149. package/dist/default/icons/dist/react/minimal/restart.js +5 -2
  150. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  151. package/dist/default/icons/dist/react/minimal/seek.js +5 -2
  152. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  153. package/dist/default/icons/dist/react/minimal/speech.js +5 -2
  154. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  155. package/dist/default/icons/dist/react/minimal/speed.js +5 -2
  156. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  157. package/dist/default/icons/dist/react/minimal/spinner.js +5 -2
  158. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  159. package/dist/default/icons/dist/react/minimal/switches.js +5 -2
  160. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  161. package/dist/default/icons/dist/react/minimal/volume-high.js +5 -2
  162. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  163. package/dist/default/icons/dist/react/minimal/volume-low.js +5 -2
  164. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  165. package/dist/default/icons/dist/react/minimal/volume-off.js +5 -2
  166. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  167. package/dist/default/icons/index.js +26 -26
  168. package/dist/default/icons/minimal/index.js +26 -26
  169. package/dist/default/index.js +15 -13
  170. package/dist/default/media/audio.js +3 -1
  171. package/dist/default/media/audio.js.map +1 -1
  172. package/dist/default/media/background-video/media.js +5 -3
  173. package/dist/default/media/background-video/media.js.map +1 -1
  174. package/dist/default/media/cloudflare-video/media.js +2 -1
  175. package/dist/default/media/cloudflare-video/media.js.map +1 -1
  176. package/dist/default/media/dash-video/media.js +5 -2
  177. package/dist/default/media/dash-video/media.js.map +1 -1
  178. package/dist/default/media/google-cast/google-cast.js +10 -10
  179. package/dist/default/media/google-cast/google-cast.js.map +1 -1
  180. package/dist/default/media/hls-audio/media.js +5 -2
  181. package/dist/default/media/hls-audio/media.js.map +1 -1
  182. package/dist/default/media/hls-background-video/media.js +15 -20
  183. package/dist/default/media/hls-background-video/media.js.map +1 -1
  184. package/dist/default/media/hls-video/media.js +5 -2
  185. package/dist/default/media/hls-video/media.js.map +1 -1
  186. package/dist/default/media/hlsjs-video/media.js +5 -2
  187. package/dist/default/media/hlsjs-video/media.js.map +1 -1
  188. package/dist/default/media/mux-audio/hls-js.js +5 -2
  189. package/dist/default/media/mux-audio/hls-js.js.map +1 -1
  190. package/dist/default/media/mux-audio/spf.js +5 -2
  191. package/dist/default/media/mux-audio/spf.js.map +1 -1
  192. package/dist/default/media/mux-data/mux-data.js +13 -17
  193. package/dist/default/media/mux-data/mux-data.js.map +1 -1
  194. package/dist/default/media/mux-video/hls-js.js +5 -2
  195. package/dist/default/media/mux-video/hls-js.js.map +1 -1
  196. package/dist/default/media/mux-video/spf.js +5 -2
  197. package/dist/default/media/mux-video/spf.js.map +1 -1
  198. package/dist/default/media/mux-video/storyboard.js +1 -4
  199. package/dist/default/media/mux-video/storyboard.js.map +1 -1
  200. package/dist/default/media/native-hls-video/media.js +5 -2
  201. package/dist/default/media/native-hls-video/media.js.map +1 -1
  202. package/dist/default/media/shaka-video/media.js +5 -2
  203. package/dist/default/media/shaka-video/media.js.map +1 -1
  204. package/dist/default/media/spotify-audio/media.js +2 -1
  205. package/dist/default/media/spotify-audio/media.js.map +1 -1
  206. package/dist/default/media/tiktok-video/media.js +2 -1
  207. package/dist/default/media/tiktok-video/media.js.map +1 -1
  208. package/dist/default/media/twitch-video/media.js +2 -1
  209. package/dist/default/media/twitch-video/media.js.map +1 -1
  210. package/dist/default/media/video.js +9 -1
  211. package/dist/default/media/video.js.map +1 -1
  212. package/dist/default/media/vimeo-video/media.js +2 -1
  213. package/dist/default/media/vimeo-video/media.js.map +1 -1
  214. package/dist/default/media/youtube-video/media.js +2 -1
  215. package/dist/default/media/youtube-video/media.js.map +1 -1
  216. package/dist/default/player/container.js +8 -2
  217. package/dist/default/player/container.js.map +1 -1
  218. package/dist/default/player/context.js +2 -1
  219. package/dist/default/player/context.js.map +1 -1
  220. package/dist/default/player/create-player.js +12 -11
  221. package/dist/default/player/create-player.js.map +1 -1
  222. package/dist/default/presets/audio/minimal-skin.css +316 -251
  223. package/dist/default/presets/audio/minimal-skin.js +66 -38
  224. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  225. package/dist/default/presets/audio/minimal-skin.tailwind.js +65 -38
  226. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  227. package/dist/default/presets/audio/player.js.map +1 -1
  228. package/dist/default/presets/audio/skin.css +305 -239
  229. package/dist/default/presets/audio/skin.js +48 -36
  230. package/dist/default/presets/audio/skin.js.map +1 -1
  231. package/dist/default/presets/audio/skin.tailwind.js +46 -35
  232. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  233. package/dist/default/presets/background/player.js.map +1 -1
  234. package/dist/default/presets/background/skin.js.map +1 -1
  235. package/dist/default/presets/live-audio/minimal-skin.css +316 -251
  236. package/dist/default/presets/live-audio/minimal-skin.js +42 -28
  237. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  238. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +41 -25
  239. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  240. package/dist/default/presets/live-audio/player.js.map +1 -1
  241. package/dist/default/presets/live-audio/skin.css +305 -239
  242. package/dist/default/presets/live-audio/skin.js +24 -25
  243. package/dist/default/presets/live-audio/skin.js.map +1 -1
  244. package/dist/default/presets/live-audio/skin.tailwind.js +22 -22
  245. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  246. package/dist/default/presets/live-video/minimal-skin.css +404 -366
  247. package/dist/default/presets/live-video/minimal-skin.js +103 -86
  248. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  249. package/dist/default/presets/live-video/minimal-skin.tailwind.js +104 -86
  250. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  251. package/dist/default/presets/live-video/player.js.map +1 -1
  252. package/dist/default/presets/live-video/skin.css +362 -321
  253. package/dist/default/presets/live-video/skin.js +87 -84
  254. package/dist/default/presets/live-video/skin.js.map +1 -1
  255. package/dist/default/presets/live-video/skin.tailwind.js +87 -84
  256. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  257. package/dist/default/presets/video/minimal-skin.css +404 -366
  258. package/dist/default/presets/video/minimal-skin.js +104 -80
  259. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  260. package/dist/default/presets/video/minimal-skin.tailwind.js +100 -85
  261. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  262. package/dist/default/presets/video/player.js.map +1 -1
  263. package/dist/default/presets/video/skin.css +362 -321
  264. package/dist/default/presets/video/skin.js +88 -80
  265. package/dist/default/presets/video/skin.js.map +1 -1
  266. package/dist/default/presets/video/skin.tailwind.js +84 -84
  267. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  268. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
  269. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  270. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +1 -1
  271. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  272. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  273. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  274. package/dist/default/skins/dist/default/default/tailwind/components/button.js +6 -6
  275. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  276. package/dist/default/skins/dist/default/default/tailwind/components/container.js +1 -1
  277. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -1
  278. package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
  279. package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
  280. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  281. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  282. package/dist/default/skins/dist/default/default/tailwind/components/dialog.js +15 -0
  283. package/dist/default/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
  284. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  285. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  286. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
  287. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
  288. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -8
  289. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  290. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -4
  291. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  292. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +2 -2
  293. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  294. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
  295. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  296. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  297. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  298. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  299. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  300. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  301. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  302. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
  303. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  304. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
  305. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  306. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  307. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  308. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  309. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  310. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +6 -6
  311. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  312. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +1 -1
  313. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
  314. package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
  315. package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
  316. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  317. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  318. package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
  319. package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
  320. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  321. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  322. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
  323. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
  324. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
  325. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  326. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
  327. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  328. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
  329. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  330. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
  331. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  332. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  333. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  334. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  335. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  336. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
  337. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
  338. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
  339. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  340. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
  341. package/dist/default/ui/alert-dialog/alert-dialog-root.js +14 -45
  342. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  343. package/dist/default/ui/alert-dialog/index.js +1 -2
  344. package/dist/default/ui/alert-dialog/index.parts.js +11 -9
  345. package/dist/default/ui/alert-dialog/index.parts.js.map +1 -1
  346. package/dist/default/ui/audio-track/use-audio-track-options.js +2 -2
  347. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  348. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
  349. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
  350. package/dist/default/ui/buffering-indicator/buffering-indicator.js +7 -7
  351. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  352. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  353. package/dist/default/ui/captions-radio-group/captions-radio-group.js +11 -11
  354. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -1
  355. package/dist/default/ui/captions-radio-group/use-captions-options.js +2 -3
  356. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  357. package/dist/default/ui/controls/context.js.map +1 -1
  358. package/dist/default/ui/controls/controls-backdrop.js +28 -0
  359. package/dist/default/ui/controls/controls-backdrop.js.map +1 -0
  360. package/dist/default/ui/controls/controls-content.js +27 -0
  361. package/dist/default/ui/controls/controls-content.js.map +1 -0
  362. package/dist/default/ui/controls/controls-root.js +5 -20
  363. package/dist/default/ui/controls/controls-root.js.map +1 -1
  364. package/dist/default/ui/controls/index.parts.js +5 -1
  365. package/dist/default/ui/controls/index.parts.js.map +1 -1
  366. package/dist/default/ui/create-context-part.js.map +1 -1
  367. package/dist/default/ui/create-media-button.js.map +1 -1
  368. package/dist/default/ui/dialog/context.js +17 -0
  369. package/dist/default/ui/dialog/context.js.map +1 -0
  370. package/dist/default/ui/dialog/dialog-backdrop.js +26 -0
  371. package/dist/default/ui/dialog/dialog-backdrop.js.map +1 -0
  372. package/dist/default/ui/dialog/dialog-close.js +29 -0
  373. package/dist/default/ui/dialog/dialog-close.js.map +1 -0
  374. package/dist/default/ui/dialog/dialog-description.js +14 -0
  375. package/dist/default/ui/dialog/dialog-description.js.map +1 -0
  376. package/dist/default/ui/dialog/dialog-popup.js +28 -0
  377. package/dist/default/ui/dialog/dialog-popup.js.map +1 -0
  378. package/dist/default/ui/dialog/dialog-root.js +23 -0
  379. package/dist/default/ui/dialog/dialog-root.js.map +1 -0
  380. package/dist/default/ui/dialog/dialog-title.js +14 -0
  381. package/dist/default/ui/dialog/dialog-title.js.map +1 -0
  382. package/dist/default/ui/dialog/dialog-trigger.js +30 -0
  383. package/dist/default/ui/dialog/dialog-trigger.js.map +1 -0
  384. package/dist/default/ui/dialog/index.js +3 -0
  385. package/dist/default/ui/dialog/index.parts.js +22 -0
  386. package/dist/default/ui/dialog/index.parts.js.map +1 -0
  387. package/dist/default/ui/dialog/use-dialog-root.js +59 -0
  388. package/dist/default/ui/dialog/use-dialog-root.js.map +1 -0
  389. package/dist/default/ui/error-dialog/context.js +1 -0
  390. package/dist/default/ui/error-dialog/context.js.map +1 -1
  391. package/dist/default/ui/error-dialog/error-dialog-close.js +3 -2
  392. package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -1
  393. package/dist/default/ui/error-dialog/error-dialog-description.js +3 -2
  394. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
  395. package/dist/default/ui/error-dialog/error-dialog-root.js +19 -34
  396. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
  397. package/dist/default/ui/error-dialog/error-dialog-title.js +3 -2
  398. package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -1
  399. package/dist/default/ui/error-dialog/index.parts.js +5 -3
  400. package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
  401. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  402. package/dist/default/ui/gesture/use-doubletap-gesture.js +6 -0
  403. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  404. package/dist/default/ui/gesture/use-tap-gesture.js +6 -0
  405. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  406. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -1
  407. package/dist/default/ui/hooks/use-button.js +15 -14
  408. package/dist/default/ui/hooks/use-button.js.map +1 -1
  409. package/dist/default/ui/hooks/use-slider.js +5 -5
  410. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  411. package/dist/default/ui/hotkey/use-hotkey-shortcut.js +6 -0
  412. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  413. package/dist/default/ui/hotkey/use-hotkey.js +5 -0
  414. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  415. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -1
  416. package/dist/default/ui/input-indicator/use-input-indicator-root.js +2 -1
  417. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -1
  418. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
  419. package/dist/default/ui/live-button/live-button.js +7 -10
  420. package/dist/default/ui/live-button/live-button.js.map +1 -1
  421. package/dist/default/ui/menu/context.js +10 -1
  422. package/dist/default/ui/menu/context.js.map +1 -1
  423. package/dist/default/ui/menu/index.parts.js +3 -1
  424. package/dist/default/ui/menu/index.parts.js.map +1 -1
  425. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  426. package/dist/default/ui/menu/menu-content.js +44 -106
  427. package/dist/default/ui/menu/menu-content.js.map +1 -1
  428. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  429. package/dist/default/ui/menu/menu-item.js +22 -20
  430. package/dist/default/ui/menu/menu-item.js.map +1 -1
  431. package/dist/default/ui/menu/menu-keyboard.js.map +1 -1
  432. package/dist/default/ui/menu/menu-popup.js +69 -0
  433. package/dist/default/ui/menu/menu-popup.js.map +1 -0
  434. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  435. package/dist/default/ui/menu/menu-root.js +28 -27
  436. package/dist/default/ui/menu/menu-root.js.map +1 -1
  437. package/dist/default/ui/menu/menu-trigger.js +2 -3
  438. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  439. package/dist/default/ui/menu/use-menu-group.js +2 -1
  440. package/dist/default/ui/menu/use-menu-group.js.map +1 -1
  441. package/dist/default/ui/play-button/play-button.js +8 -8
  442. package/dist/default/ui/play-button/play-button.js.map +1 -1
  443. package/dist/default/ui/playback-rate/use-playback-rate-options.js +2 -2
  444. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  445. package/dist/default/ui/playback-rate-button/playback-rate-button.js +8 -8
  446. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  447. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
  448. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
  449. package/dist/default/ui/popover/context.js +1 -0
  450. package/dist/default/ui/popover/context.js.map +1 -1
  451. package/dist/default/ui/popover/popover-popup.js +7 -3
  452. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  453. package/dist/default/ui/popover/popover-root.js +1 -1
  454. package/dist/default/ui/popover/popover-root.js.map +1 -1
  455. package/dist/default/ui/popover/use-popup-position.js +2 -1
  456. package/dist/default/ui/popover/use-popup-position.js.map +1 -1
  457. package/dist/default/ui/poster/poster.js +11 -13
  458. package/dist/default/ui/poster/poster.js.map +1 -1
  459. package/dist/default/ui/quality/use-quality-options.js +2 -3
  460. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  461. package/dist/default/ui/quality-radio-group/quality-radio-group.js +12 -12
  462. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -1
  463. package/dist/default/ui/seek-button/seek-button.js +8 -8
  464. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  465. package/dist/default/ui/seek-indicator/context.js.map +1 -1
  466. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  467. package/dist/default/ui/slider/context.js.map +1 -1
  468. package/dist/default/ui/slider/slider-root.js.map +1 -1
  469. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  470. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  471. package/dist/default/ui/status-indicator/context.js.map +1 -1
  472. package/dist/default/ui/status-indicator/index.parts.js.map +1 -1
  473. package/dist/default/ui/status-indicator/status-indicator-root.js +2 -1
  474. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  475. package/dist/default/ui/thumbnail/thumbnail.js +5 -6
  476. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  477. package/dist/default/ui/time/time-group.js +7 -7
  478. package/dist/default/ui/time/time-group.js.map +1 -1
  479. package/dist/default/ui/time/time-separator.js +4 -4
  480. package/dist/default/ui/time/time-separator.js.map +1 -1
  481. package/dist/default/ui/time/time-value.js +5 -5
  482. package/dist/default/ui/time/time-value.js.map +1 -1
  483. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
  484. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
  485. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  486. package/dist/default/ui/title/title.js +5 -6
  487. package/dist/default/ui/title/title.js.map +1 -1
  488. package/dist/default/ui/tooltip/context.js +1 -0
  489. package/dist/default/ui/tooltip/context.js.map +1 -1
  490. package/dist/default/ui/tooltip/tooltip-popup.js +7 -3
  491. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  492. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  493. package/dist/default/ui/tooltip/tooltip-root.js +4 -2
  494. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  495. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
  496. package/dist/default/ui/volume-indicator/context.js.map +1 -1
  497. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -1
  498. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +3 -2
  499. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  500. package/dist/default/ui/volume-indicator/volume-indicator-root.js +2 -1
  501. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  502. package/dist/default/ui/volume-popover/context.js +13 -0
  503. package/dist/default/ui/volume-popover/context.js.map +1 -0
  504. package/dist/default/ui/volume-popover/index.js +2 -0
  505. package/dist/default/ui/volume-popover/index.parts.js +14 -0
  506. package/dist/default/ui/volume-popover/index.parts.js.map +1 -0
  507. package/dist/default/ui/volume-popover/volume-popover-popup.js +21 -0
  508. package/dist/default/ui/volume-popover/volume-popover-popup.js.map +1 -0
  509. package/dist/default/ui/volume-popover/volume-popover-root.js +47 -0
  510. package/dist/default/ui/volume-popover/volume-popover-root.js.map +1 -0
  511. package/dist/default/ui/volume-popover/volume-popover-trigger.js +32 -0
  512. package/dist/default/ui/volume-popover/volume-popover-trigger.js.map +1 -0
  513. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  514. package/dist/default/utils/merge-props.js +20 -30
  515. package/dist/default/utils/merge-props.js.map +1 -1
  516. package/dist/default/utils/use-attach-iframe.js.map +1 -1
  517. package/dist/default/utils/use-attach-media.js +5 -0
  518. package/dist/default/utils/use-attach-media.js.map +1 -1
  519. package/dist/default/utils/use-composed-refs.js +10 -8
  520. package/dist/default/utils/use-composed-refs.js.map +1 -1
  521. package/dist/default/utils/use-destroy.js +7 -9
  522. package/dist/default/utils/use-destroy.js.map +1 -1
  523. package/dist/default/utils/use-force-render.js.map +1 -1
  524. package/dist/default/utils/use-latest-ref.js +4 -2
  525. package/dist/default/utils/use-latest-ref.js.map +1 -1
  526. package/dist/default/utils/use-media-component.js +7 -6
  527. package/dist/default/utils/use-media-component.js.map +1 -1
  528. package/dist/default/utils/use-media-instance.js +8 -7
  529. package/dist/default/utils/use-media-instance.js.map +1 -1
  530. package/dist/default/utils/use-render.js +13 -15
  531. package/dist/default/utils/use-render.js.map +1 -1
  532. package/dist/default/utils/use-safe-id.js +3 -4
  533. package/dist/default/utils/use-safe-id.js.map +1 -1
  534. package/dist/default/utils/use-sync-props.js.map +1 -1
  535. package/dist/dev/i18n/context.d.ts.map +1 -1
  536. package/dist/dev/i18n/context.js.map +1 -1
  537. package/dist/dev/i18n/create-i18n.d.ts +15 -16
  538. package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
  539. package/dist/dev/i18n/create-i18n.js +7 -4
  540. package/dist/dev/i18n/create-i18n.js.map +1 -1
  541. package/dist/dev/i18n/get-provider-root-props.js.map +1 -1
  542. package/dist/dev/i18n/locales/all/register.js.map +1 -1
  543. package/dist/dev/i18n/locales/ar/register.js.map +1 -1
  544. package/dist/dev/i18n/locales/az/register.js.map +1 -1
  545. package/dist/dev/i18n/locales/bg/register.js.map +1 -1
  546. package/dist/dev/i18n/locales/bn/register.js.map +1 -1
  547. package/dist/dev/i18n/locales/bs/register.js.map +1 -1
  548. package/dist/dev/i18n/locales/ca/register.js.map +1 -1
  549. package/dist/dev/i18n/locales/cs/register.js.map +1 -1
  550. package/dist/dev/i18n/locales/cy/register.js.map +1 -1
  551. package/dist/dev/i18n/locales/da/register.js.map +1 -1
  552. package/dist/dev/i18n/locales/de/register.js.map +1 -1
  553. package/dist/dev/i18n/locales/el/register.js.map +1 -1
  554. package/dist/dev/i18n/locales/en/register.js.map +1 -1
  555. package/dist/dev/i18n/locales/es/register.js.map +1 -1
  556. package/dist/dev/i18n/locales/et/register.js.map +1 -1
  557. package/dist/dev/i18n/locales/eu/register.js.map +1 -1
  558. package/dist/dev/i18n/locales/fa/register.js.map +1 -1
  559. package/dist/dev/i18n/locales/fi/register.js.map +1 -1
  560. package/dist/dev/i18n/locales/fr/register.js.map +1 -1
  561. package/dist/dev/i18n/locales/gd/register.js.map +1 -1
  562. package/dist/dev/i18n/locales/gl/register.js.map +1 -1
  563. package/dist/dev/i18n/locales/he/register.js.map +1 -1
  564. package/dist/dev/i18n/locales/hi/register.js.map +1 -1
  565. package/dist/dev/i18n/locales/hr/register.js.map +1 -1
  566. package/dist/dev/i18n/locales/hu/register.js.map +1 -1
  567. package/dist/dev/i18n/locales/id/register.js.map +1 -1
  568. package/dist/dev/i18n/locales/it/register.js.map +1 -1
  569. package/dist/dev/i18n/locales/ja/register.js.map +1 -1
  570. package/dist/dev/i18n/locales/ko/register.js.map +1 -1
  571. package/dist/dev/i18n/locales/lt/register.js.map +1 -1
  572. package/dist/dev/i18n/locales/lv/register.js.map +1 -1
  573. package/dist/dev/i18n/locales/mr/register.js.map +1 -1
  574. package/dist/dev/i18n/locales/nb/register.js.map +1 -1
  575. package/dist/dev/i18n/locales/ne/register.js.map +1 -1
  576. package/dist/dev/i18n/locales/nl/register.js.map +1 -1
  577. package/dist/dev/i18n/locales/nn/register.js.map +1 -1
  578. package/dist/dev/i18n/locales/oc/register.js.map +1 -1
  579. package/dist/dev/i18n/locales/pl/register.js.map +1 -1
  580. package/dist/dev/i18n/locales/pt/register.js.map +1 -1
  581. package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -1
  582. package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -1
  583. package/dist/dev/i18n/locales/ro/register.js.map +1 -1
  584. package/dist/dev/i18n/locales/ru/register.js.map +1 -1
  585. package/dist/dev/i18n/locales/sk/register.js.map +1 -1
  586. package/dist/dev/i18n/locales/sl/register.js.map +1 -1
  587. package/dist/dev/i18n/locales/sr/register.js.map +1 -1
  588. package/dist/dev/i18n/locales/sv/register.js.map +1 -1
  589. package/dist/dev/i18n/locales/te/register.js.map +1 -1
  590. package/dist/dev/i18n/locales/th/register.js.map +1 -1
  591. package/dist/dev/i18n/locales/tr/register.js.map +1 -1
  592. package/dist/dev/i18n/locales/uk/register.js.map +1 -1
  593. package/dist/dev/i18n/locales/vi/register.js.map +1 -1
  594. package/dist/dev/i18n/locales/zh/register.js.map +1 -1
  595. package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -1
  596. package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -1
  597. package/dist/dev/i18n/text.d.ts.map +1 -1
  598. package/dist/dev/i18n/text.js.map +1 -1
  599. package/dist/dev/i18n/use-ambient-lang.js.map +1 -1
  600. package/dist/dev/i18n/use-lang-root-element.js.map +1 -1
  601. package/dist/dev/i18n/use-lazy-translations.js.map +1 -1
  602. package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -1
  603. package/dist/dev/i18n/use-merged-translations.js +4 -2
  604. package/dist/dev/i18n/use-merged-translations.js.map +1 -1
  605. package/dist/dev/icons/dist/react/default/airplay-enter.js +5 -2
  606. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  607. package/dist/dev/icons/dist/react/default/airplay-exit.js +5 -2
  608. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  609. package/dist/dev/icons/dist/react/default/captions-off.js +5 -2
  610. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  611. package/dist/dev/icons/dist/react/default/captions-on.js +5 -2
  612. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  613. package/dist/dev/icons/dist/react/default/cast-enter.js +5 -2
  614. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  615. package/dist/dev/icons/dist/react/default/cast-exit.js +5 -2
  616. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  617. package/dist/dev/icons/dist/react/default/check.js +5 -2
  618. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  619. package/dist/dev/icons/dist/react/default/chevron.js +5 -2
  620. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  621. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +5 -2
  622. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  623. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +5 -2
  624. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  625. package/dist/dev/icons/dist/react/default/gear.js +5 -2
  626. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  627. package/dist/dev/icons/dist/react/default/index.d.ts +1 -1
  628. package/dist/dev/icons/dist/react/default/pause.js +5 -2
  629. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  630. package/dist/dev/icons/dist/react/default/pip-enter.js +5 -2
  631. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  632. package/dist/dev/icons/dist/react/default/pip-exit.js +5 -2
  633. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  634. package/dist/dev/icons/dist/react/default/play.js +5 -2
  635. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  636. package/dist/dev/icons/dist/react/default/quality.js +5 -2
  637. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  638. package/dist/dev/icons/dist/react/default/restart.js +5 -2
  639. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  640. package/dist/dev/icons/dist/react/default/seek.js +5 -2
  641. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  642. package/dist/dev/icons/dist/react/default/speech.js +5 -2
  643. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  644. package/dist/dev/icons/dist/react/default/speed.js +5 -2
  645. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  646. package/dist/dev/icons/dist/react/default/spinner.js +5 -2
  647. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  648. package/dist/dev/icons/dist/react/default/switches.js +5 -2
  649. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  650. package/dist/dev/icons/dist/react/default/volume-high.js +5 -2
  651. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  652. package/dist/dev/icons/dist/react/default/volume-low.js +5 -2
  653. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  654. package/dist/dev/icons/dist/react/default/volume-off.js +5 -2
  655. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  656. package/dist/dev/icons/dist/react/minimal/airplay-enter.js +5 -2
  657. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  658. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +5 -2
  659. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  660. package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -2
  661. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  662. package/dist/dev/icons/dist/react/minimal/captions-on.js +5 -2
  663. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  664. package/dist/dev/icons/dist/react/minimal/cast-enter.js +5 -2
  665. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  666. package/dist/dev/icons/dist/react/minimal/cast-exit.js +5 -2
  667. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  668. package/dist/dev/icons/dist/react/minimal/check.js +5 -2
  669. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  670. package/dist/dev/icons/dist/react/minimal/chevron.js +5 -2
  671. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  672. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -2
  673. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  674. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -2
  675. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  676. package/dist/dev/icons/dist/react/minimal/gear.js +5 -2
  677. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  678. package/dist/dev/icons/dist/react/minimal/index.d.ts +1 -1
  679. package/dist/dev/icons/dist/react/minimal/pause.js +5 -2
  680. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  681. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -2
  682. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  683. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -2
  684. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  685. package/dist/dev/icons/dist/react/minimal/play.js +5 -2
  686. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  687. package/dist/dev/icons/dist/react/minimal/quality.js +5 -2
  688. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  689. package/dist/dev/icons/dist/react/minimal/restart.js +5 -2
  690. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  691. package/dist/dev/icons/dist/react/minimal/seek.js +5 -2
  692. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  693. package/dist/dev/icons/dist/react/minimal/speech.js +5 -2
  694. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  695. package/dist/dev/icons/dist/react/minimal/speed.js +5 -2
  696. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  697. package/dist/dev/icons/dist/react/minimal/spinner.js +5 -2
  698. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  699. package/dist/dev/icons/dist/react/minimal/switches.js +5 -2
  700. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  701. package/dist/dev/icons/dist/react/minimal/volume-high.js +5 -2
  702. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  703. package/dist/dev/icons/dist/react/minimal/volume-low.js +5 -2
  704. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  705. package/dist/dev/icons/dist/react/minimal/volume-off.js +5 -2
  706. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  707. package/dist/dev/icons/index.js +26 -26
  708. package/dist/dev/icons/minimal/index.js +26 -26
  709. package/dist/dev/index.d.ts +19 -14
  710. package/dist/dev/index.js +15 -13
  711. package/dist/dev/media/audio.js +3 -1
  712. package/dist/dev/media/audio.js.map +1 -1
  713. package/dist/dev/media/background-video/media.js +5 -3
  714. package/dist/dev/media/background-video/media.js.map +1 -1
  715. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -1
  716. package/dist/dev/media/cloudflare-video/media.js +2 -1
  717. package/dist/dev/media/cloudflare-video/media.js.map +1 -1
  718. package/dist/dev/media/dash-video/media.d.ts.map +1 -1
  719. package/dist/dev/media/dash-video/media.js +5 -2
  720. package/dist/dev/media/dash-video/media.js.map +1 -1
  721. package/dist/dev/media/google-cast/google-cast.d.ts +8 -9
  722. package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -1
  723. package/dist/dev/media/google-cast/google-cast.js +10 -10
  724. package/dist/dev/media/google-cast/google-cast.js.map +1 -1
  725. package/dist/dev/media/hls-audio/media.d.ts.map +1 -1
  726. package/dist/dev/media/hls-audio/media.js +5 -2
  727. package/dist/dev/media/hls-audio/media.js.map +1 -1
  728. package/dist/dev/media/hls-background-video/media.d.ts +13 -19
  729. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
  730. package/dist/dev/media/hls-background-video/media.js +15 -20
  731. package/dist/dev/media/hls-background-video/media.js.map +1 -1
  732. package/dist/dev/media/hls-video/media.d.ts.map +1 -1
  733. package/dist/dev/media/hls-video/media.js +5 -2
  734. package/dist/dev/media/hls-video/media.js.map +1 -1
  735. package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -1
  736. package/dist/dev/media/hlsjs-video/media.js +5 -2
  737. package/dist/dev/media/hlsjs-video/media.js.map +1 -1
  738. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -1
  739. package/dist/dev/media/mux-audio/hls-js.js +5 -2
  740. package/dist/dev/media/mux-audio/hls-js.js.map +1 -1
  741. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -1
  742. package/dist/dev/media/mux-audio/spf.js +5 -2
  743. package/dist/dev/media/mux-audio/spf.js.map +1 -1
  744. package/dist/dev/media/mux-data/mux-data.d.ts +13 -17
  745. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
  746. package/dist/dev/media/mux-data/mux-data.js +13 -17
  747. package/dist/dev/media/mux-data/mux-data.js.map +1 -1
  748. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -1
  749. package/dist/dev/media/mux-video/hls-js.js +5 -2
  750. package/dist/dev/media/mux-video/hls-js.js.map +1 -1
  751. package/dist/dev/media/mux-video/spf.d.ts.map +1 -1
  752. package/dist/dev/media/mux-video/spf.js +5 -2
  753. package/dist/dev/media/mux-video/spf.js.map +1 -1
  754. package/dist/dev/media/mux-video/storyboard.js +1 -4
  755. package/dist/dev/media/mux-video/storyboard.js.map +1 -1
  756. package/dist/dev/media/native-hls-video/media.d.ts.map +1 -1
  757. package/dist/dev/media/native-hls-video/media.js +5 -2
  758. package/dist/dev/media/native-hls-video/media.js.map +1 -1
  759. package/dist/dev/media/shaka-video/media.d.ts.map +1 -1
  760. package/dist/dev/media/shaka-video/media.js +5 -2
  761. package/dist/dev/media/shaka-video/media.js.map +1 -1
  762. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -1
  763. package/dist/dev/media/spotify-audio/media.js +2 -1
  764. package/dist/dev/media/spotify-audio/media.js.map +1 -1
  765. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
  766. package/dist/dev/media/tiktok-video/media.js +2 -1
  767. package/dist/dev/media/tiktok-video/media.js.map +1 -1
  768. package/dist/dev/media/twitch-video/media.d.ts.map +1 -1
  769. package/dist/dev/media/twitch-video/media.js +2 -1
  770. package/dist/dev/media/twitch-video/media.js.map +1 -1
  771. package/dist/dev/media/video.d.ts +7 -0
  772. package/dist/dev/media/video.d.ts.map +1 -1
  773. package/dist/dev/media/video.js +9 -1
  774. package/dist/dev/media/video.js.map +1 -1
  775. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
  776. package/dist/dev/media/vimeo-video/media.js +2 -1
  777. package/dist/dev/media/vimeo-video/media.js.map +1 -1
  778. package/dist/dev/media/youtube-video/media.d.ts.map +1 -1
  779. package/dist/dev/media/youtube-video/media.js +2 -1
  780. package/dist/dev/media/youtube-video/media.js.map +1 -1
  781. package/dist/dev/player/container.d.ts.map +1 -1
  782. package/dist/dev/player/container.js +8 -2
  783. package/dist/dev/player/container.js.map +1 -1
  784. package/dist/dev/player/context.d.ts +14 -12
  785. package/dist/dev/player/context.d.ts.map +1 -1
  786. package/dist/dev/player/context.js +2 -1
  787. package/dist/dev/player/context.js.map +1 -1
  788. package/dist/dev/player/create-player.d.ts +19 -3
  789. package/dist/dev/player/create-player.d.ts.map +1 -1
  790. package/dist/dev/player/create-player.js +12 -11
  791. package/dist/dev/player/create-player.js.map +1 -1
  792. package/dist/dev/presets/audio/minimal-skin.css +316 -251
  793. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  794. package/dist/dev/presets/audio/minimal-skin.js +66 -38
  795. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  796. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  797. package/dist/dev/presets/audio/minimal-skin.tailwind.js +65 -38
  798. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  799. package/dist/dev/presets/audio/player.d.ts.map +1 -1
  800. package/dist/dev/presets/audio/player.js.map +1 -1
  801. package/dist/dev/presets/audio/skin.css +305 -239
  802. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  803. package/dist/dev/presets/audio/skin.js +48 -36
  804. package/dist/dev/presets/audio/skin.js.map +1 -1
  805. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  806. package/dist/dev/presets/audio/skin.tailwind.js +46 -35
  807. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  808. package/dist/dev/presets/background/player.d.ts.map +1 -1
  809. package/dist/dev/presets/background/player.js.map +1 -1
  810. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  811. package/dist/dev/presets/background/skin.js.map +1 -1
  812. package/dist/dev/presets/live-audio/minimal-skin.css +316 -251
  813. package/dist/dev/presets/live-audio/minimal-skin.d.ts +3 -5
  814. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  815. package/dist/dev/presets/live-audio/minimal-skin.js +42 -28
  816. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  817. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  818. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +41 -25
  819. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  820. package/dist/dev/presets/live-audio/player.d.ts.map +1 -1
  821. package/dist/dev/presets/live-audio/player.js.map +1 -1
  822. package/dist/dev/presets/live-audio/skin.css +305 -239
  823. package/dist/dev/presets/live-audio/skin.d.ts +3 -4
  824. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  825. package/dist/dev/presets/live-audio/skin.js +24 -25
  826. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  827. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  828. package/dist/dev/presets/live-audio/skin.tailwind.js +22 -22
  829. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  830. package/dist/dev/presets/live-video/minimal-skin.css +404 -366
  831. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  832. package/dist/dev/presets/live-video/minimal-skin.js +103 -86
  833. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  834. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  835. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +104 -86
  836. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  837. package/dist/dev/presets/live-video/player.d.ts.map +1 -1
  838. package/dist/dev/presets/live-video/player.js.map +1 -1
  839. package/dist/dev/presets/live-video/skin.css +362 -321
  840. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  841. package/dist/dev/presets/live-video/skin.js +87 -84
  842. package/dist/dev/presets/live-video/skin.js.map +1 -1
  843. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  844. package/dist/dev/presets/live-video/skin.tailwind.js +87 -84
  845. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  846. package/dist/dev/presets/types.d.ts +13 -10
  847. package/dist/dev/presets/types.d.ts.map +1 -1
  848. package/dist/dev/presets/video/minimal-skin.css +404 -366
  849. package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
  850. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  851. package/dist/dev/presets/video/minimal-skin.js +104 -80
  852. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  853. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  854. package/dist/dev/presets/video/minimal-skin.tailwind.js +100 -85
  855. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  856. package/dist/dev/presets/video/player.d.ts.map +1 -1
  857. package/dist/dev/presets/video/player.js.map +1 -1
  858. package/dist/dev/presets/video/skin.css +362 -321
  859. package/dist/dev/presets/video/skin.d.ts +8 -0
  860. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  861. package/dist/dev/presets/video/skin.js +88 -80
  862. package/dist/dev/presets/video/skin.js.map +1 -1
  863. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  864. package/dist/dev/presets/video/skin.tailwind.js +84 -84
  865. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  866. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
  867. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  868. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +1 -1
  869. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  870. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  871. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  872. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +6 -6
  873. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  874. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +1 -1
  875. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -1
  876. package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
  877. package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
  878. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  879. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  880. package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js +15 -0
  881. package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
  882. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  883. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  884. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
  885. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
  886. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -8
  887. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  888. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -4
  889. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  890. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +2 -2
  891. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  892. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +13 -13
  893. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  894. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  895. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  896. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  897. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  898. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  899. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  900. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
  901. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  902. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
  903. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  904. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  905. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  906. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  907. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  908. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +6 -6
  909. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  910. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +1 -1
  911. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
  912. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
  913. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
  914. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  915. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  916. package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
  917. package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
  918. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  919. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  920. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
  921. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
  922. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
  923. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  924. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
  925. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  926. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
  927. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  928. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
  929. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  930. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  931. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  932. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  933. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  934. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
  935. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
  936. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
  937. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  938. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
  939. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
  940. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +4 -3
  941. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
  942. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +14 -45
  943. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  944. package/dist/dev/ui/alert-dialog/index.d.ts +1 -2
  945. package/dist/dev/ui/alert-dialog/index.js +1 -2
  946. package/dist/dev/ui/alert-dialog/index.parts.d.ts +8 -6
  947. package/dist/dev/ui/alert-dialog/index.parts.js +11 -9
  948. package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -1
  949. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +2 -2
  950. package/dist/dev/ui/audio-track/use-audio-track-options.js +2 -2
  951. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  952. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +10 -10
  953. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -1
  954. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
  955. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
  956. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +7 -7
  957. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  958. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +7 -7
  959. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  960. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  961. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  962. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +10 -10
  963. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -1
  964. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +11 -11
  965. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -1
  966. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +2 -3
  967. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  968. package/dist/dev/ui/captions-radio-group/use-captions-options.js +2 -3
  969. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  970. package/dist/dev/ui/controls/context.js.map +1 -1
  971. package/dist/dev/ui/controls/controls-backdrop.d.ts +16 -0
  972. package/dist/dev/ui/controls/controls-backdrop.d.ts.map +1 -0
  973. package/dist/dev/ui/controls/controls-backdrop.js +28 -0
  974. package/dist/dev/ui/controls/controls-backdrop.js.map +1 -0
  975. package/dist/dev/ui/controls/controls-content.d.ts +16 -0
  976. package/dist/dev/ui/controls/controls-content.d.ts.map +1 -0
  977. package/dist/dev/ui/controls/controls-content.js +27 -0
  978. package/dist/dev/ui/controls/controls-content.js.map +1 -0
  979. package/dist/dev/ui/controls/controls-root.d.ts +3 -4
  980. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  981. package/dist/dev/ui/controls/controls-root.js +5 -20
  982. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  983. package/dist/dev/ui/controls/index.parts.d.ts +4 -2
  984. package/dist/dev/ui/controls/index.parts.js +5 -1
  985. package/dist/dev/ui/controls/index.parts.js.map +1 -1
  986. package/dist/dev/ui/create-context-part.js.map +1 -1
  987. package/dist/dev/ui/create-media-button.js.map +1 -1
  988. package/dist/dev/ui/dialog/context.d.ts +15 -0
  989. package/dist/dev/ui/dialog/context.d.ts.map +1 -0
  990. package/dist/dev/ui/dialog/context.js +17 -0
  991. package/dist/dev/ui/dialog/context.js.map +1 -0
  992. package/dist/dev/ui/dialog/dialog-backdrop.d.ts +13 -0
  993. package/dist/dev/ui/dialog/dialog-backdrop.d.ts.map +1 -0
  994. package/dist/dev/ui/dialog/dialog-backdrop.js +26 -0
  995. package/dist/dev/ui/dialog/dialog-backdrop.js.map +1 -0
  996. package/dist/dev/ui/dialog/dialog-close.d.ts +13 -0
  997. package/dist/dev/ui/dialog/dialog-close.d.ts.map +1 -0
  998. package/dist/dev/ui/dialog/dialog-close.js +29 -0
  999. package/dist/dev/ui/dialog/dialog-close.js.map +1 -0
  1000. package/dist/dev/ui/dialog/dialog-description.d.ts +13 -0
  1001. package/dist/dev/ui/dialog/dialog-description.d.ts.map +1 -0
  1002. package/dist/dev/ui/dialog/dialog-description.js +14 -0
  1003. package/dist/dev/ui/dialog/dialog-description.js.map +1 -0
  1004. package/dist/dev/ui/dialog/dialog-popup.d.ts +13 -0
  1005. package/dist/dev/ui/dialog/dialog-popup.d.ts.map +1 -0
  1006. package/dist/dev/ui/dialog/dialog-popup.js +28 -0
  1007. package/dist/dev/ui/dialog/dialog-popup.js.map +1 -0
  1008. package/dist/dev/ui/dialog/dialog-root.d.ts +18 -0
  1009. package/dist/dev/ui/dialog/dialog-root.d.ts.map +1 -0
  1010. package/dist/dev/ui/dialog/dialog-root.js +23 -0
  1011. package/dist/dev/ui/dialog/dialog-root.js.map +1 -0
  1012. package/dist/dev/ui/dialog/dialog-title.d.ts +13 -0
  1013. package/dist/dev/ui/dialog/dialog-title.d.ts.map +1 -0
  1014. package/dist/dev/ui/dialog/dialog-title.js +14 -0
  1015. package/dist/dev/ui/dialog/dialog-title.js.map +1 -0
  1016. package/dist/dev/ui/dialog/dialog-trigger.d.ts +13 -0
  1017. package/dist/dev/ui/dialog/dialog-trigger.d.ts.map +1 -0
  1018. package/dist/dev/ui/dialog/dialog-trigger.js +30 -0
  1019. package/dist/dev/ui/dialog/dialog-trigger.js.map +1 -0
  1020. package/dist/dev/ui/dialog/index.d.ts +3 -0
  1021. package/dist/dev/ui/dialog/index.js +3 -0
  1022. package/dist/dev/ui/dialog/index.parts.d.ts +13 -0
  1023. package/dist/dev/ui/dialog/index.parts.d.ts.map +1 -0
  1024. package/dist/dev/ui/dialog/index.parts.js +22 -0
  1025. package/dist/dev/ui/dialog/index.parts.js.map +1 -0
  1026. package/dist/dev/ui/dialog/use-dialog-root.js +59 -0
  1027. package/dist/dev/ui/dialog/use-dialog-root.js.map +1 -0
  1028. package/dist/dev/ui/error-dialog/context.d.ts +1 -0
  1029. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
  1030. package/dist/dev/ui/error-dialog/context.js +1 -0
  1031. package/dist/dev/ui/error-dialog/context.js.map +1 -1
  1032. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +4 -3
  1033. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -1
  1034. package/dist/dev/ui/error-dialog/error-dialog-close.js +3 -2
  1035. package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -1
  1036. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +4 -3
  1037. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  1038. package/dist/dev/ui/error-dialog/error-dialog-description.js +3 -2
  1039. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
  1040. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -0
  1041. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
  1042. package/dist/dev/ui/error-dialog/error-dialog-root.js +19 -34
  1043. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
  1044. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +4 -3
  1045. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -1
  1046. package/dist/dev/ui/error-dialog/error-dialog-title.js +3 -2
  1047. package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -1
  1048. package/dist/dev/ui/error-dialog/index.parts.d.ts +5 -3
  1049. package/dist/dev/ui/error-dialog/index.parts.js +5 -3
  1050. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
  1051. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  1052. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  1053. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +6 -0
  1054. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  1055. package/dist/dev/ui/gesture/use-doubletap-gesture.js +6 -0
  1056. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  1057. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +6 -0
  1058. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  1059. package/dist/dev/ui/gesture/use-tap-gesture.js +6 -0
  1060. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  1061. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -1
  1062. package/dist/dev/ui/hooks/use-button.d.ts +12 -12
  1063. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  1064. package/dist/dev/ui/hooks/use-button.js +15 -14
  1065. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  1066. package/dist/dev/ui/hooks/use-slider.d.ts +2 -3
  1067. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  1068. package/dist/dev/ui/hooks/use-slider.js +5 -5
  1069. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  1070. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +6 -0
  1071. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
  1072. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +6 -0
  1073. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  1074. package/dist/dev/ui/hotkey/use-hotkey.d.ts +5 -0
  1075. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
  1076. package/dist/dev/ui/hotkey/use-hotkey.js +5 -0
  1077. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  1078. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
  1079. package/dist/dev/ui/input-indicator/use-input-indicator-root.js +2 -1
  1080. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
  1081. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
  1082. package/dist/dev/ui/live-button/live-button.d.ts +7 -10
  1083. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
  1084. package/dist/dev/ui/live-button/live-button.js +7 -10
  1085. package/dist/dev/ui/live-button/live-button.js.map +1 -1
  1086. package/dist/dev/ui/menu/context.d.ts +3 -2
  1087. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  1088. package/dist/dev/ui/menu/context.js +10 -1
  1089. package/dist/dev/ui/menu/context.js.map +1 -1
  1090. package/dist/dev/ui/menu/index.parts.d.ts +3 -2
  1091. package/dist/dev/ui/menu/index.parts.js +3 -1
  1092. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  1093. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
  1094. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  1095. package/dist/dev/ui/menu/menu-content.d.ts +1 -1
  1096. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  1097. package/dist/dev/ui/menu/menu-content.js +44 -106
  1098. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  1099. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  1100. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  1101. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  1102. package/dist/dev/ui/menu/menu-item.js +22 -20
  1103. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  1104. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -1
  1105. package/dist/dev/ui/menu/menu-popup.d.ts +13 -0
  1106. package/dist/dev/ui/menu/menu-popup.d.ts.map +1 -0
  1107. package/dist/dev/ui/menu/menu-popup.js +70 -0
  1108. package/dist/dev/ui/menu/menu-popup.js.map +1 -0
  1109. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  1110. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  1111. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  1112. package/dist/dev/ui/menu/menu-root.js +28 -27
  1113. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  1114. package/dist/dev/ui/menu/menu-trigger.d.ts +2 -3
  1115. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  1116. package/dist/dev/ui/menu/menu-trigger.js +2 -3
  1117. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  1118. package/dist/dev/ui/menu/use-menu-group.js +2 -1
  1119. package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
  1120. package/dist/dev/ui/play-button/play-button.d.ts +8 -8
  1121. package/dist/dev/ui/play-button/play-button.js +8 -8
  1122. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  1123. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +2 -2
  1124. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  1125. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +2 -2
  1126. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  1127. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +8 -8
  1128. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  1129. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +8 -8
  1130. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  1131. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +10 -10
  1132. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -1
  1133. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
  1134. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
  1135. package/dist/dev/ui/popover/context.d.ts +1 -0
  1136. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  1137. package/dist/dev/ui/popover/context.js +1 -0
  1138. package/dist/dev/ui/popover/context.js.map +1 -1
  1139. package/dist/dev/ui/popover/popover-popup.d.ts +4 -1
  1140. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  1141. package/dist/dev/ui/popover/popover-popup.js +7 -3
  1142. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  1143. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  1144. package/dist/dev/ui/popover/popover-root.js +1 -1
  1145. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  1146. package/dist/dev/ui/popover/use-popup-position.js +2 -1
  1147. package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
  1148. package/dist/dev/ui/poster/poster.d.ts +11 -13
  1149. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  1150. package/dist/dev/ui/poster/poster.js +11 -13
  1151. package/dist/dev/ui/poster/poster.js.map +1 -1
  1152. package/dist/dev/ui/quality/use-quality-options.d.ts +2 -3
  1153. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  1154. package/dist/dev/ui/quality/use-quality-options.js +2 -3
  1155. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  1156. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +11 -11
  1157. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -1
  1158. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +12 -12
  1159. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -1
  1160. package/dist/dev/ui/seek-button/seek-button.d.ts +8 -8
  1161. package/dist/dev/ui/seek-button/seek-button.js +8 -8
  1162. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  1163. package/dist/dev/ui/seek-indicator/context.js.map +1 -1
  1164. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
  1165. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  1166. package/dist/dev/ui/slider/context.js.map +1 -1
  1167. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  1168. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  1169. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  1170. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  1171. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  1172. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  1173. package/dist/dev/ui/status-indicator/context.js.map +1 -1
  1174. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -1
  1175. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  1176. package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -1
  1177. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  1178. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1179. package/dist/dev/ui/thumbnail/thumbnail.js +5 -6
  1180. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  1181. package/dist/dev/ui/time/time-group.d.ts +7 -7
  1182. package/dist/dev/ui/time/time-group.js +7 -7
  1183. package/dist/dev/ui/time/time-group.js.map +1 -1
  1184. package/dist/dev/ui/time/time-separator.d.ts +4 -4
  1185. package/dist/dev/ui/time/time-separator.js +4 -4
  1186. package/dist/dev/ui/time/time-separator.js.map +1 -1
  1187. package/dist/dev/ui/time/time-value.d.ts +5 -5
  1188. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  1189. package/dist/dev/ui/time/time-value.js +5 -5
  1190. package/dist/dev/ui/time/time-value.js.map +1 -1
  1191. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
  1192. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
  1193. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  1194. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  1195. package/dist/dev/ui/title/title.d.ts +5 -6
  1196. package/dist/dev/ui/title/title.d.ts.map +1 -1
  1197. package/dist/dev/ui/title/title.js +5 -6
  1198. package/dist/dev/ui/title/title.js.map +1 -1
  1199. package/dist/dev/ui/tooltip/context.d.ts +1 -0
  1200. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  1201. package/dist/dev/ui/tooltip/context.js +1 -0
  1202. package/dist/dev/ui/tooltip/context.js.map +1 -1
  1203. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +4 -1
  1204. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  1205. package/dist/dev/ui/tooltip/tooltip-popup.js +7 -3
  1206. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  1207. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
  1208. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  1209. package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -1
  1210. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  1211. package/dist/dev/ui/tooltip/tooltip-root.js +4 -2
  1212. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  1213. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
  1214. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
  1215. package/dist/dev/ui/volume-indicator/context.js.map +1 -1
  1216. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -1
  1217. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +3 -2
  1218. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  1219. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
  1220. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +2 -1
  1221. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  1222. package/dist/dev/ui/volume-popover/context.js +13 -0
  1223. package/dist/dev/ui/volume-popover/context.js.map +1 -0
  1224. package/dist/dev/ui/volume-popover/index.d.ts +2 -0
  1225. package/dist/dev/ui/volume-popover/index.js +2 -0
  1226. package/dist/dev/ui/volume-popover/index.parts.d.ts +9 -0
  1227. package/dist/dev/ui/volume-popover/index.parts.d.ts.map +1 -0
  1228. package/dist/dev/ui/volume-popover/index.parts.js +14 -0
  1229. package/dist/dev/ui/volume-popover/index.parts.js.map +1 -0
  1230. package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts +11 -0
  1231. package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts.map +1 -0
  1232. package/dist/dev/ui/volume-popover/volume-popover-popup.js +21 -0
  1233. package/dist/dev/ui/volume-popover/volume-popover-popup.js.map +1 -0
  1234. package/dist/dev/ui/volume-popover/volume-popover-root.d.ts +14 -0
  1235. package/dist/dev/ui/volume-popover/volume-popover-root.d.ts.map +1 -0
  1236. package/dist/dev/ui/volume-popover/volume-popover-root.js +47 -0
  1237. package/dist/dev/ui/volume-popover/volume-popover-root.js.map +1 -0
  1238. package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts +11 -0
  1239. package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts.map +1 -0
  1240. package/dist/dev/ui/volume-popover/volume-popover-trigger.js +32 -0
  1241. package/dist/dev/ui/volume-popover/volume-popover-trigger.js.map +1 -0
  1242. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  1243. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  1244. package/dist/dev/utils/merge-props.d.ts +14 -12
  1245. package/dist/dev/utils/merge-props.d.ts.map +1 -1
  1246. package/dist/dev/utils/merge-props.js +20 -30
  1247. package/dist/dev/utils/merge-props.js.map +1 -1
  1248. package/dist/dev/utils/types.d.ts +2 -4
  1249. package/dist/dev/utils/types.d.ts.map +1 -1
  1250. package/dist/dev/utils/use-attach-iframe.js.map +1 -1
  1251. package/dist/dev/utils/use-attach-media.d.ts +5 -0
  1252. package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
  1253. package/dist/dev/utils/use-attach-media.js +5 -0
  1254. package/dist/dev/utils/use-attach-media.js.map +1 -1
  1255. package/dist/dev/utils/use-composed-refs.d.ts +10 -8
  1256. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
  1257. package/dist/dev/utils/use-composed-refs.js +10 -8
  1258. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  1259. package/dist/dev/utils/use-destroy.d.ts +7 -9
  1260. package/dist/dev/utils/use-destroy.d.ts.map +1 -1
  1261. package/dist/dev/utils/use-destroy.js +7 -9
  1262. package/dist/dev/utils/use-destroy.js.map +1 -1
  1263. package/dist/dev/utils/use-force-render.js.map +1 -1
  1264. package/dist/dev/utils/use-latest-ref.d.ts +4 -2
  1265. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
  1266. package/dist/dev/utils/use-latest-ref.js +4 -2
  1267. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  1268. package/dist/dev/utils/use-media-component.d.ts +7 -6
  1269. package/dist/dev/utils/use-media-component.d.ts.map +1 -1
  1270. package/dist/dev/utils/use-media-component.js +7 -6
  1271. package/dist/dev/utils/use-media-component.js.map +1 -1
  1272. package/dist/dev/utils/use-media-instance.d.ts +8 -7
  1273. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  1274. package/dist/dev/utils/use-media-instance.js +8 -7
  1275. package/dist/dev/utils/use-media-instance.js.map +1 -1
  1276. package/dist/dev/utils/use-render.d.ts +11 -14
  1277. package/dist/dev/utils/use-render.d.ts.map +1 -1
  1278. package/dist/dev/utils/use-render.js +13 -15
  1279. package/dist/dev/utils/use-render.js.map +1 -1
  1280. package/dist/dev/utils/use-safe-id.js +3 -4
  1281. package/dist/dev/utils/use-safe-id.js.map +1 -1
  1282. package/dist/dev/utils/use-sync-props.js.map +1 -1
  1283. package/docs/README.md +1 -1
  1284. package/docs/concepts/browser-support.md +16 -8
  1285. package/docs/concepts/bundlers.md +43 -0
  1286. package/docs/concepts/media-sources.md +2 -2
  1287. package/docs/concepts/mux-data.md +3 -3
  1288. package/docs/concepts/overview.md +9 -25
  1289. package/docs/concepts/presets.md +2 -1
  1290. package/docs/concepts/skins.md +498 -457
  1291. package/docs/concepts/typescript.md +34 -0
  1292. package/docs/concepts/ui-components.md +12 -5
  1293. package/docs/concepts/why-videojs.md +14 -8
  1294. package/docs/how-to/add-a-background-video.md +210 -0
  1295. package/docs/how-to/add-a-poster-and-loading-placeholder.md +187 -0
  1296. package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +97 -0
  1297. package/docs/how-to/add-quality-selector.md +249 -0
  1298. package/docs/how-to/autoplay.md +172 -0
  1299. package/docs/how-to/build-with-ai.md +2 -2
  1300. package/docs/how-to/build-your-own-component.md +131 -4
  1301. package/docs/how-to/cast-to-airplay-and-chromecast.md +158 -0
  1302. package/docs/how-to/customize-skins.md +3460 -2908
  1303. package/docs/how-to/go-fullscreen-and-lock-orientation.md +153 -0
  1304. package/docs/how-to/handle-playback-errors.md +92 -0
  1305. package/docs/how-to/installation.md +53 -11
  1306. package/docs/how-to/internationalize-the-player.md +358 -0
  1307. package/docs/how-to/migrate-from-media-chrome.md +94 -63
  1308. package/docs/how-to/migrate-from-mux-player.md +180 -54
  1309. package/docs/how-to/migrate-from-plyr.md +51 -32
  1310. package/docs/how-to/migrate-from-video-js-8.md +42 -34
  1311. package/docs/how-to/play-live-streams.md +135 -0
  1312. package/docs/how-to/remember-user-preferences.md +180 -0
  1313. package/docs/how-to/show-and-hide-controls.md +174 -0
  1314. package/docs/how-to/show-captions-and-subtitles.md +156 -0
  1315. package/docs/how-to/show-timeline-thumbnail-previews.md +163 -0
  1316. package/docs/how-to/use-picture-in-picture.md +150 -0
  1317. package/docs/llms.txt +63 -17
  1318. package/docs/reference/airplay-button.md +18 -18
  1319. package/docs/reference/alert-dialog.md +649 -0
  1320. package/docs/reference/audio-track-radio-group.md +32 -22
  1321. package/docs/reference/audio.md +78 -0
  1322. package/docs/reference/background-video.md +17 -45
  1323. package/docs/reference/buffering-indicator.md +8 -0
  1324. package/docs/reference/captions-button.md +24 -16
  1325. package/docs/reference/captions-radio-group.md +32 -22
  1326. package/docs/reference/cast-button.md +21 -19
  1327. package/docs/reference/cloudflare-video.md +8 -8
  1328. package/docs/reference/controls.md +252 -20
  1329. package/docs/reference/create-i18n.md +7 -3
  1330. package/docs/reference/create-player.md +81 -9
  1331. package/docs/reference/create-selector.md +4 -6
  1332. package/docs/reference/create-translator.md +15 -5
  1333. package/docs/reference/dash-video.md +5 -5
  1334. package/docs/reference/dialog.md +833 -0
  1335. package/docs/reference/error-dialog.md +586 -0
  1336. package/docs/reference/feature-buffer.md +10 -4
  1337. package/docs/reference/feature-controls.md +1 -1
  1338. package/docs/reference/feature-error.md +1 -1
  1339. package/docs/reference/feature-live.md +62 -7
  1340. package/docs/reference/feature-metadata.md +4 -4
  1341. package/docs/reference/feature-orientation-lock.md +1 -1
  1342. package/docs/reference/feature-quality.md +1 -1
  1343. package/docs/reference/feature-remote-playback.md +1 -1
  1344. package/docs/reference/feature-source.md +1 -1
  1345. package/docs/reference/feature-stream-type.md +14 -5
  1346. package/docs/reference/feature-text-tracks.md +5 -3
  1347. package/docs/reference/feature-time.md +1 -1
  1348. package/docs/reference/fullscreen-button.md +23 -23
  1349. package/docs/reference/gesture.md +201 -0
  1350. package/docs/reference/get-i18n-translations.md +5 -5
  1351. package/docs/reference/google-cast.md +4 -4
  1352. package/docs/reference/has-registered-locale.md +2 -2
  1353. package/docs/reference/hls-audio.md +9 -3
  1354. package/docs/reference/hls-background-video.md +75 -0
  1355. package/docs/reference/hls-video.md +12 -6
  1356. package/docs/reference/hlsjs-video.md +165 -147
  1357. package/docs/reference/hotkey.md +188 -0
  1358. package/docs/reference/i-18-n-context.md +92 -0
  1359. package/docs/reference/i18n-provider.md +2 -2
  1360. package/docs/reference/menu.md +476 -132
  1361. package/docs/reference/merge-props.md +56 -0
  1362. package/docs/reference/mute-button.md +26 -26
  1363. package/docs/reference/mux-audio.md +711 -3
  1364. package/docs/reference/mux-background-video.md +34 -0
  1365. package/docs/reference/mux-video.md +759 -12
  1366. package/docs/reference/native-hls-video.md +3 -3
  1367. package/docs/reference/pip-button.md +23 -23
  1368. package/docs/reference/play-button.md +11 -3
  1369. package/docs/reference/playback-rate-button.md +14 -6
  1370. package/docs/reference/playback-rate-radio-group.md +30 -20
  1371. package/docs/reference/player-container.md +22 -31
  1372. package/docs/reference/{player-provider.md → player.md} +11 -9
  1373. package/docs/reference/popover.md +173 -25
  1374. package/docs/reference/poster.md +8 -0
  1375. package/docs/reference/quality-radio-group.md +36 -26
  1376. package/docs/reference/register-i18n.md +2 -2
  1377. package/docs/reference/render-element.md +14 -2
  1378. package/docs/reference/seek-button.md +14 -6
  1379. package/docs/reference/seek-indicator.md +448 -0
  1380. package/docs/reference/shaka-video.md +67 -31
  1381. package/docs/reference/slider.md +316 -6
  1382. package/docs/reference/spotify-audio.md +6 -6
  1383. package/docs/reference/status-announcer.md +341 -0
  1384. package/docs/reference/status-indicator.md +535 -0
  1385. package/docs/reference/thumbnail.md +30 -2
  1386. package/docs/reference/tiktok-video.md +13 -13
  1387. package/docs/reference/time-slider.md +354 -20
  1388. package/docs/reference/time.md +83 -3
  1389. package/docs/reference/title.md +9 -1
  1390. package/docs/reference/tooltip.md +281 -75
  1391. package/docs/reference/translation-phrases.md +1 -1
  1392. package/docs/reference/twitch-video.md +6 -6
  1393. package/docs/reference/use-attach-media.md +59 -0
  1394. package/docs/reference/use-audio-track-options.md +44 -2
  1395. package/docs/reference/use-button.md +6 -2
  1396. package/docs/reference/use-captions-options.md +48 -2
  1397. package/docs/reference/use-composed-refs.md +59 -0
  1398. package/docs/reference/use-container.md +39 -0
  1399. package/docs/reference/use-destroy.md +89 -0
  1400. package/docs/reference/use-dialog-context.md +63 -0
  1401. package/docs/reference/use-double-tap-gesture.md +75 -0
  1402. package/docs/reference/use-error-dialog-context.md +41 -0
  1403. package/docs/reference/use-hotkey-shortcut.md +79 -0
  1404. package/docs/reference/use-hotkey.md +62 -0
  1405. package/docs/reference/use-latest-ref.md +73 -0
  1406. package/docs/reference/use-locale.md +3 -2
  1407. package/docs/reference/use-media-component.md +62 -0
  1408. package/docs/reference/use-media-instance.md +79 -0
  1409. package/docs/reference/use-media.md +31 -2
  1410. package/docs/reference/use-menu-context.md +101 -0
  1411. package/docs/reference/use-optional-container.md +33 -0
  1412. package/docs/reference/use-optional-menu-context.md +101 -0
  1413. package/docs/reference/use-optional-player.md +77 -0
  1414. package/docs/reference/use-playback-rate-options.md +58 -2
  1415. package/docs/reference/use-player-context.md +2 -2
  1416. package/docs/reference/use-player.md +1 -1
  1417. package/docs/reference/use-popover-context.md +95 -0
  1418. package/docs/reference/use-quality-options.md +44 -2
  1419. package/docs/reference/use-selector.md +7 -3
  1420. package/docs/reference/use-slider.md +133 -0
  1421. package/docs/reference/use-snapshot.md +25 -7
  1422. package/docs/reference/use-store.md +10 -6
  1423. package/docs/reference/use-tap-gesture.md +75 -0
  1424. package/docs/reference/use-tooltip-context.md +115 -0
  1425. package/docs/reference/video.md +82 -0
  1426. package/docs/reference/vimeo-video.md +58 -60
  1427. package/docs/reference/volume-indicator.md +601 -0
  1428. package/docs/reference/volume-popover.md +556 -0
  1429. package/docs/reference/volume-slider.md +237 -35
  1430. package/docs/reference/youtube-video.md +20 -20
  1431. package/package.json +33 -38
  1432. package/dist/default/__generated__/skins/default-video/styles/base.css +0 -25
  1433. package/dist/default/__generated__/skins/default-video/styles/buttons.css +0 -266
  1434. package/dist/default/__generated__/skins/default-video/styles/captions.css +0 -22
  1435. package/dist/default/__generated__/skins/default-video/styles/container.css +0 -158
  1436. package/dist/default/__generated__/skins/default-video/styles/controls.css +0 -460
  1437. package/dist/default/__generated__/skins/default-video/styles/dialog.css +0 -169
  1438. package/dist/default/__generated__/skins/default-video/styles/indicator.css +0 -459
  1439. package/dist/default/__generated__/skins/default-video/styles/menus.css +0 -254
  1440. package/dist/default/__generated__/skins/default-video/styles/overlays.css +0 -35
  1441. package/dist/default/__generated__/skins/default-video/styles/popups.css +0 -371
  1442. package/dist/default/__generated__/skins/default-video/styles/poster.css +0 -47
  1443. package/dist/default/__generated__/skins/default-video/styles/sliders.css +0 -436
  1444. package/dist/default/__generated__/skins/default-video/styles/styles.css +0 -2753
  1445. package/dist/default/__generated__/skins/default-video/styles/theme.css +0 -7
  1446. package/dist/default/__generated__/skins/default-video/styles/video.css +0 -29
  1447. package/dist/default/__generated__/skins/minimal-video/styles/base.css +0 -25
  1448. package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +0 -266
  1449. package/dist/default/__generated__/skins/minimal-video/styles/captions.css +0 -22
  1450. package/dist/default/__generated__/skins/minimal-video/styles/container.css +0 -158
  1451. package/dist/default/__generated__/skins/minimal-video/styles/controls.css +0 -182
  1452. package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +0 -77
  1453. package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +0 -322
  1454. package/dist/default/__generated__/skins/minimal-video/styles/menus.css +0 -254
  1455. package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +0 -35
  1456. package/dist/default/__generated__/skins/minimal-video/styles/popups.css +0 -371
  1457. package/dist/default/__generated__/skins/minimal-video/styles/poster.css +0 -47
  1458. package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +0 -436
  1459. package/dist/default/__generated__/skins/minimal-video/styles/styles.css +0 -2246
  1460. package/dist/default/__generated__/skins/minimal-video/styles/theme.css +0 -7
  1461. package/dist/default/__generated__/skins/minimal-video/styles/video.css +0 -29
  1462. package/dist/default/skins/dist/default/default/tailwind/components/error.js +0 -14
  1463. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +0 -1
  1464. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
  1465. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
  1466. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +0 -7
  1467. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
  1468. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -14
  1469. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  1470. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
  1471. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
  1472. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
  1473. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
  1474. package/dist/default/ui/alert-dialog/alert-dialog-close.js +0 -28
  1475. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +0 -1
  1476. package/dist/default/ui/alert-dialog/alert-dialog-description.js +0 -13
  1477. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +0 -1
  1478. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +0 -29
  1479. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
  1480. package/dist/default/ui/alert-dialog/alert-dialog-title.js +0 -13
  1481. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +0 -1
  1482. package/dist/default/ui/alert-dialog/context.js +0 -13
  1483. package/dist/default/ui/alert-dialog/context.js.map +0 -1
  1484. package/dist/dev/__generated__/skins/default-video/styles/base.css +0 -25
  1485. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +0 -266
  1486. package/dist/dev/__generated__/skins/default-video/styles/captions.css +0 -22
  1487. package/dist/dev/__generated__/skins/default-video/styles/container.css +0 -158
  1488. package/dist/dev/__generated__/skins/default-video/styles/controls.css +0 -460
  1489. package/dist/dev/__generated__/skins/default-video/styles/dialog.css +0 -169
  1490. package/dist/dev/__generated__/skins/default-video/styles/indicator.css +0 -459
  1491. package/dist/dev/__generated__/skins/default-video/styles/menus.css +0 -254
  1492. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +0 -35
  1493. package/dist/dev/__generated__/skins/default-video/styles/popups.css +0 -371
  1494. package/dist/dev/__generated__/skins/default-video/styles/poster.css +0 -47
  1495. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +0 -436
  1496. package/dist/dev/__generated__/skins/default-video/styles/styles.css +0 -2753
  1497. package/dist/dev/__generated__/skins/default-video/styles/theme.css +0 -7
  1498. package/dist/dev/__generated__/skins/default-video/styles/video.css +0 -29
  1499. package/dist/dev/__generated__/skins/minimal-video/styles/base.css +0 -25
  1500. package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +0 -266
  1501. package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +0 -22
  1502. package/dist/dev/__generated__/skins/minimal-video/styles/container.css +0 -158
  1503. package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +0 -182
  1504. package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +0 -77
  1505. package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +0 -322
  1506. package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +0 -254
  1507. package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +0 -35
  1508. package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +0 -371
  1509. package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +0 -47
  1510. package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +0 -436
  1511. package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +0 -2246
  1512. package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +0 -7
  1513. package/dist/dev/__generated__/skins/minimal-video/styles/video.css +0 -29
  1514. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +0 -14
  1515. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +0 -1
  1516. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
  1517. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
  1518. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +0 -7
  1519. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
  1520. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -14
  1521. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  1522. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
  1523. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
  1524. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
  1525. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
  1526. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +0 -12
  1527. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +0 -1
  1528. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +0 -28
  1529. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +0 -1
  1530. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +0 -12
  1531. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +0 -1
  1532. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +0 -13
  1533. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +0 -1
  1534. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +0 -12
  1535. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +0 -1
  1536. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +0 -29
  1537. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
  1538. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +0 -12
  1539. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +0 -1
  1540. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +0 -13
  1541. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +0 -1
  1542. package/dist/dev/ui/alert-dialog/context.d.ts +0 -13
  1543. package/dist/dev/ui/alert-dialog/context.d.ts.map +0 -1
  1544. package/dist/dev/ui/alert-dialog/context.js +0 -13
  1545. package/dist/dev/ui/alert-dialog/context.js.map +0 -1
  1546. package/docs/concepts/cast.md +0 -131
  1547. package/docs/concepts/i18n.md +0 -317
  1548. package/docs/how-to/add-a-poster-placeholder.md +0 -133
  1549. package/docs/how-to/i18n-override-translations.md +0 -114
  1550. package/docs/how-to/i18n-register-locale.md +0 -74
  1551. package/docs/how-to/i18n-ssr.md +0 -104
  1552. package/docs/how-to/i18n-switch-locale.md +0 -197
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-root.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"sourcesContent":["import { type TooltipProps as CoreTooltipProps, TooltipCore, TooltipDataAttrs } from '@videojs/core';\nimport {\n createTooltip,\n createTransition,\n type PositioningBoundary,\n type TooltipChangeDetails,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isUndefined } from '@videojs/utils/predicate';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { useOptionalContainer } from '../../player/context';\nimport { useOptionalPopupGroup } from '../../player/popup-group-context';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { useOptionalControlsContext } from '../controls/context';\nimport { usePositionedState } from '../hooks/use-positioned-state';\nimport { type TooltipContent, TooltipContextProvider } from './context';\nimport { useTooltipGroup } from './group-context';\n\nexport interface TooltipRootProps extends CoreTooltipProps {\n /** Boundary used to constrain the popup size. */\n boundary?: PositioningBoundary;\n /** Called when the tooltip open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean, details: TooltipChangeDetails) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function TooltipRoot({\n open: controlledOpen,\n defaultOpen = TooltipCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n delay = TooltipCore.defaultProps.delay,\n closeDelay = TooltipCore.defaultProps.closeDelay,\n disableHoverablePopup = TooltipCore.defaultProps.disableHoverablePopup,\n disabled = TooltipCore.defaultProps.disabled,\n boundary = 'container',\n children,\n ...coreProps\n}: TooltipRootProps): ReactNode {\n const container = useOptionalContainer();\n const popupGroup = useOptionalPopupGroup();\n const controls = useOptionalControlsContext();\n const [core] = useState(() => new TooltipCore(coreProps));\n core.setProps(coreProps);\n\n const isControlled = !isUndefined(controlledOpen);\n\n const groupFromContext = useTooltipGroup();\n\n // Keep refs that always point to the latest values so the\n // createTooltip closure never reads stale props.\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n const delayRef = useLatestRef(delay);\n const closeDelayRef = useLatestRef(closeDelay);\n const disableHoverablePopupRef = useLatestRef(disableHoverablePopup);\n const disabledRef = useLatestRef(disabled);\n const groupRef = useLatestRef(groupFromContext);\n const popupGroupRef = useLatestRef(popupGroup);\n\n const [tooltip] = useState(() => {\n const instance = createTooltip({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean, details: TooltipChangeDetails) => {\n onOpenChangeRef.current?.(nextOpen, details);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n delay: () => delayRef.current,\n closeDelay: () => closeDelayRef.current,\n disableHoverablePopup: () => disableHoverablePopupRef.current,\n disabled: () => disabledRef.current,\n group: () => groupRef.current,\n popupGroup: () => popupGroupRef.current,\n });\n\n // Apply defaultOpen on creation (uncontrolled only)\n if (!isControlled && defaultOpen) {\n instance.open();\n }\n\n return instance;\n });\n\n const [content, setContent] = useState<TooltipContent | undefined>();\n\n const anchorName = useSafeId();\n const popupId = useSafeId('tooltip');\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (isUndefined(controlledOpen)) return;\n\n const { active: inputOpen } = tooltip.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n tooltip.open();\n } else {\n tooltip.close();\n }\n }, [controlledOpen, tooltip]);\n\n useEffect(() => {\n if (isUndefined(controls?.state.visible)) return;\n if (controls.state.visible) return;\n\n tooltip.close('imperative-action');\n }, [controls?.state.visible, tooltip]);\n\n useDestroy(tooltip);\n\n const input = useSnapshot(tooltip.input);\n core.setInput(input);\n const { state, preferredSide, setPositionedSide } = usePositionedState(core.getState());\n\n return (\n <TooltipContextProvider\n value={{\n core,\n tooltip,\n state,\n preferredSide,\n setPositionedSide,\n stateAttrMap: TooltipDataAttrs,\n anchorName,\n popupId,\n content,\n setContent,\n boundary,\n container,\n }}\n >\n {children}\n </TooltipContextProvider>\n );\n}\n\nexport namespace TooltipRoot {\n export type Props = TooltipRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA+BA,SAAgB,YAAY,EAC1B,MAAM,gBACN,cAAc,YAAY,aAAa,aACvC,cAAc,kBACd,sBAAsB,0BACtB,QAAQ,YAAY,aAAa,OACjC,aAAa,YAAY,aAAa,YACtC,wBAAwB,YAAY,aAAa,uBACjD,WAAW,YAAY,aAAa,UACpC,WAAW,aACX,UACA,GAAG,aAC2B;CAC9B,MAAM,YAAY,qBAAqB;CACvC,MAAM,aAAa,sBAAsB;CACzC,MAAM,WAAW,2BAA2B;CAC5C,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,SAAS,CAAC;CACxD,KAAK,SAAS,SAAS;CAEvB,MAAM,eAAe,CAAC,YAAY,cAAc;CAEhD,MAAM,mBAAmB,gBAAgB;CAIzC,MAAM,kBAAkB,aAAa,gBAAgB;CACrD,MAAM,0BAA0B,aAAa,wBAAwB;CACrE,MAAM,WAAW,aAAa,KAAK;CACnC,MAAM,gBAAgB,aAAa,UAAU;CAC7C,MAAM,2BAA2B,aAAa,qBAAqB;CACnE,MAAM,cAAc,aAAa,QAAQ;CACzC,MAAM,WAAW,aAAa,gBAAgB;CAC9C,MAAM,gBAAgB,aAAa,UAAU;CAE7C,MAAM,CAAC,WAAW,eAAe;EAC/B,MAAM,WAAW,cAAc;GAC7B,YAAY,iBAAiB;GAC7B,eAAe,UAAmB,YAAkC;IAClE,gBAAgB,UAAU,UAAU,OAAO;GAC7C;GACA,uBAAuB,aAAsB;IAC3C,wBAAwB,UAAU,QAAQ;GAC5C;GACA,aAAa,SAAS;GACtB,kBAAkB,cAAc;GAChC,6BAA6B,yBAAyB;GACtD,gBAAgB,YAAY;GAC5B,aAAa,SAAS;GACtB,kBAAkB,cAAc;EAClC,CAAC;EAGD,IAAI,CAAC,gBAAgB,aACnB,SAAS,KAAK;EAGhB,OAAO;CACT,CAAC;CAED,MAAM,CAAC,SAAS,cAAc,SAAqC;CAEnE,MAAM,aAAa,UAAU;CAC7B,MAAM,UAAU,UAAU,SAAS;CAGnC,gBAAgB;EACd,IAAI,YAAY,cAAc,GAAG;EAEjC,MAAM,EAAE,QAAQ,cAAc,QAAQ,MAAM;EAC5C,IAAI,mBAAmB,WAAW;EAElC,IAAI,gBACF,QAAQ,KAAK;OAEb,QAAQ,MAAM;CAElB,GAAG,CAAC,gBAAgB,OAAO,CAAC;CAE5B,gBAAgB;EACd,IAAI,YAAY,UAAU,MAAM,OAAO,GAAG;EAC1C,IAAI,SAAS,MAAM,SAAS;EAE5B,QAAQ,MAAM,mBAAmB;CACnC,GAAG,CAAC,UAAU,MAAM,SAAS,OAAO,CAAC;CAErC,WAAW,OAAO;CAElB,MAAM,QAAQ,YAAY,QAAQ,KAAK;CACvC,KAAK,SAAS,KAAK;CACnB,MAAM,EAAE,OAAO,eAAe,sBAAsB,mBAAmB,KAAK,SAAS,CAAC;CAEtF,OACE,oBAAC,wBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA,cAAc;GACd;GACA;GACA;GACA;GACA;GACA;EACF;EAEC;CACqB,CAAA;AAE5B"}
1
+ {"version":3,"file":"tooltip-root.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-root.tsx"],"sourcesContent":["import { type TooltipProps as CoreTooltipProps, TooltipCore, TooltipDataAttrs } from '@videojs/core';\nimport {\n createTooltip,\n createTransition,\n type PositioningBoundary,\n type TooltipChangeDetails,\n} from '@videojs/core/dom';\nimport { useSnapshot } from '@videojs/store/react';\nimport { isUndefined } from '@videojs/utils/predicate';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { useOptionalContainer } from '../../player/context';\nimport { useOptionalPopupGroup } from '../../player/popup-group-context';\nimport { useDestroy } from '../../utils/use-destroy';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { useSafeId } from '../../utils/use-safe-id';\nimport { useOptionalControlsContext } from '../controls/context';\nimport { usePositionedState } from '../hooks/use-positioned-state';\nimport { type TooltipContent, TooltipContextProvider } from './context';\nimport { useTooltipGroup } from './group-context';\n\nexport interface TooltipRootProps extends CoreTooltipProps {\n /** Boundary used to constrain the popup size. */\n boundary?: PositioningBoundary;\n /** Called when the tooltip open state changes (fires immediately, before animations). */\n onOpenChange?: (open: boolean, details: TooltipChangeDetails) => void;\n /** Called after open/close animations complete. */\n onOpenChangeComplete?: (open: boolean) => void;\n children?: ReactNode;\n}\n\nexport function TooltipRoot({\n open: controlledOpen,\n defaultOpen = TooltipCore.defaultProps.defaultOpen,\n onOpenChange: onOpenChangeProp,\n onOpenChangeComplete: onOpenChangeCompleteProp,\n delay = TooltipCore.defaultProps.delay,\n closeDelay = TooltipCore.defaultProps.closeDelay,\n disableHoverablePopup = TooltipCore.defaultProps.disableHoverablePopup,\n disabled = TooltipCore.defaultProps.disabled,\n sticky = TooltipCore.defaultProps.sticky,\n boundary = 'container',\n children,\n ...coreProps\n}: TooltipRootProps): ReactNode {\n const container = useOptionalContainer();\n const popupGroup = useOptionalPopupGroup();\n const controls = useOptionalControlsContext();\n const [core] = useState(() => new TooltipCore(coreProps));\n\n core.setProps(coreProps);\n\n const isControlled = !isUndefined(controlledOpen);\n\n const groupFromContext = useTooltipGroup();\n\n // Keep refs that always point to the latest values so the\n // createTooltip closure never reads stale props.\n const onOpenChangeRef = useLatestRef(onOpenChangeProp);\n const onOpenChangeCompleteRef = useLatestRef(onOpenChangeCompleteProp);\n const delayRef = useLatestRef(delay);\n const closeDelayRef = useLatestRef(closeDelay);\n const disableHoverablePopupRef = useLatestRef(disableHoverablePopup);\n const disabledRef = useLatestRef(disabled);\n const stickyRef = useLatestRef(sticky);\n const groupRef = useLatestRef(groupFromContext);\n const popupGroupRef = useLatestRef(popupGroup);\n\n const [tooltip] = useState(() => {\n const instance = createTooltip({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean, details: TooltipChangeDetails) => {\n onOpenChangeRef.current?.(nextOpen, details);\n },\n onOpenChangeComplete: (nextOpen: boolean) => {\n onOpenChangeCompleteRef.current?.(nextOpen);\n },\n delay: () => delayRef.current,\n closeDelay: () => closeDelayRef.current,\n disableHoverablePopup: () => disableHoverablePopupRef.current,\n disabled: () => disabledRef.current,\n sticky: () => stickyRef.current,\n group: () => groupRef.current,\n popupGroup: () => popupGroupRef.current,\n });\n\n // Apply defaultOpen on creation (uncontrolled only)\n if (!isControlled && defaultOpen) {\n instance.open();\n }\n\n return instance;\n });\n\n const [content, setContent] = useState<TooltipContent | undefined>();\n\n const anchorName = useSafeId();\n const popupId = useSafeId('tooltip');\n\n // Sync controlled open prop -> internal input state.\n useEffect(() => {\n if (isUndefined(controlledOpen)) return;\n\n const { active: inputOpen } = tooltip.input.current;\n if (controlledOpen === inputOpen) return;\n\n if (controlledOpen) {\n tooltip.open();\n } else {\n tooltip.close();\n }\n }, [controlledOpen, tooltip]);\n\n useEffect(() => {\n if (isUndefined(controls?.state.visible)) return;\n\n if (controls.state.visible) return;\n\n tooltip.close('imperative-action');\n }, [controls?.state.visible, tooltip]);\n\n useDestroy(tooltip);\n\n const input = useSnapshot(tooltip.input);\n\n core.setInput(input);\n const { state, preferredSide, setPositionedSide } = usePositionedState(core.getState());\n\n return (\n <TooltipContextProvider\n value={{\n core,\n tooltip,\n state,\n preferredSide,\n setPositionedSide,\n stateAttrMap: TooltipDataAttrs,\n anchorName,\n popupId,\n content,\n setContent,\n boundary,\n container,\n }}\n >\n {children}\n </TooltipContextProvider>\n );\n}\n\nexport namespace TooltipRoot {\n export type Props = TooltipRootProps;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgCA,SAAgB,YAAY,EAC1B,MAAM,gBACN,cAAc,YAAY,aAAa,aACvC,cAAc,kBACd,sBAAsB,0BACtB,QAAQ,YAAY,aAAa,OACjC,aAAa,YAAY,aAAa,YACtC,wBAAwB,YAAY,aAAa,uBACjD,WAAW,YAAY,aAAa,UACpC,SAAS,YAAY,aAAa,QAClC,WAAW,aACX,UACA,GAAG,aAC2B;CAC9B,MAAM,YAAY,qBAAqB;CACvC,MAAM,aAAa,sBAAsB;CACzC,MAAM,WAAW,2BAA2B;CAC5C,MAAM,CAAC,QAAQ,eAAe,IAAI,YAAY,SAAS,CAAC;CAExD,KAAK,SAAS,SAAS;CAEvB,MAAM,eAAe,CAAC,YAAY,cAAc;CAEhD,MAAM,mBAAmB,gBAAgB;CAIzC,MAAM,kBAAkB,aAAa,gBAAgB;CACrD,MAAM,0BAA0B,aAAa,wBAAwB;CACrE,MAAM,WAAW,aAAa,KAAK;CACnC,MAAM,gBAAgB,aAAa,UAAU;CAC7C,MAAM,2BAA2B,aAAa,qBAAqB;CACnE,MAAM,cAAc,aAAa,QAAQ;CACzC,MAAM,YAAY,aAAa,MAAM;CACrC,MAAM,WAAW,aAAa,gBAAgB;CAC9C,MAAM,gBAAgB,aAAa,UAAU;CAE7C,MAAM,CAAC,WAAW,eAAe;EAC/B,MAAM,WAAW,cAAc;GAC7B,YAAY,iBAAiB;GAC7B,eAAe,UAAmB,YAAkC;IAClE,gBAAgB,UAAU,UAAU,OAAO;GAC7C;GACA,uBAAuB,aAAsB;IAC3C,wBAAwB,UAAU,QAAQ;GAC5C;GACA,aAAa,SAAS;GACtB,kBAAkB,cAAc;GAChC,6BAA6B,yBAAyB;GACtD,gBAAgB,YAAY;GAC5B,cAAc,UAAU;GACxB,aAAa,SAAS;GACtB,kBAAkB,cAAc;EAClC,CAAC;EAGD,IAAI,CAAC,gBAAgB,aACnB,SAAS,KAAK;EAGhB,OAAO;CACT,CAAC;CAED,MAAM,CAAC,SAAS,cAAc,SAAqC;CAEnE,MAAM,aAAa,UAAU;CAC7B,MAAM,UAAU,UAAU,SAAS;CAGnC,gBAAgB;EACd,IAAI,YAAY,cAAc,GAAG;EAEjC,MAAM,EAAE,QAAQ,cAAc,QAAQ,MAAM;EAC5C,IAAI,mBAAmB,WAAW;EAElC,IAAI,gBACF,QAAQ,KAAK;OAEb,QAAQ,MAAM;CAElB,GAAG,CAAC,gBAAgB,OAAO,CAAC;CAE5B,gBAAgB;EACd,IAAI,YAAY,UAAU,MAAM,OAAO,GAAG;EAE1C,IAAI,SAAS,MAAM,SAAS;EAE5B,QAAQ,MAAM,mBAAmB;CACnC,GAAG,CAAC,UAAU,MAAM,SAAS,OAAO,CAAC;CAErC,WAAW,OAAO;CAElB,MAAM,QAAQ,YAAY,QAAQ,KAAK;CAEvC,KAAK,SAAS,KAAK;CACnB,MAAM,EAAE,OAAO,eAAe,sBAAsB,mBAAmB,KAAK,SAAS,CAAC;CAEtF,OACE,oBAAC,wBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA,cAAc;GACd;GACA;GACA;GACA;GACA;GACA;EACF;EAEC;CACqB,CAAA;AAE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-shortcut.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-shortcut.tsx"],"sourcesContent":["import type { TooltipState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipShortcutProps extends UIComponentProps<'kbd', TooltipState> {}\n\n/** Keyboard shortcut hint; apply skin `className` (CSS: `media-tooltip__kbd`; Tailwind: `popup.tooltipShortcut`). */\nexport const TooltipShortcut = forwardRef<HTMLElement, TooltipShortcutProps>(function TooltipShortcut(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap, content } = useTooltipContext();\n const shortcut = children !== undefined && children !== null ? children : (content?.shortcut ?? null);\n\n if (!shortcut) {\n return null;\n }\n\n return renderElement(\n 'kbd',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [elementProps, { children: shortcut }],\n }\n );\n});\n\nexport namespace TooltipShortcut {\n export type Props = TooltipShortcutProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;AAUA,MAAa,kBAAkB,WAA8C,SAAS,gBACpF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,OAAO,cAAc,YAAY,kBAAkB;CAC3D,MAAM,WAAW,aAAa,KAAA,KAAa,aAAa,OAAO,WAAY,SAAS,YAAY;CAEhG,IAAI,CAAC,UACH,OAAO;CAGT,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC,cAAc,EAAE,UAAU,SAAS,CAAC;CAC9C,CACF;AACF,CAAC"}
1
+ {"version":3,"file":"tooltip-shortcut.js","names":[],"sources":["../../../../src/ui/tooltip/tooltip-shortcut.tsx"],"sourcesContent":["import type { TooltipState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useTooltipContext } from './context';\n\nexport interface TooltipShortcutProps extends UIComponentProps<'kbd', TooltipState> {}\n\n/** Keyboard shortcut hint; apply skin `className` (CSS: `media-tooltip__kbd`; Tailwind: `popup.tooltipShortcut`). */\nexport const TooltipShortcut = forwardRef<HTMLElement, TooltipShortcutProps>(function TooltipShortcut(\n { render, className, style, children, ...elementProps },\n forwardedRef\n) {\n const { state, stateAttrMap, content } = useTooltipContext();\n const shortcut = children !== undefined && children !== null ? children : (content?.shortcut ?? null);\n if (!shortcut) return null;\n\n return renderElement(\n 'kbd',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: forwardedRef,\n props: [elementProps, { children: shortcut }],\n }\n );\n});\n\nexport namespace TooltipShortcut {\n export type Props = TooltipShortcutProps;\n export type State = TooltipState;\n}\n"],"mappings":";;;;;AAUA,MAAa,kBAAkB,WAA8C,SAAS,gBACpF,EAAE,QAAQ,WAAW,OAAO,UAAU,GAAG,gBACzC,cACA;CACA,MAAM,EAAE,OAAO,cAAc,YAAY,kBAAkB;CAC3D,MAAM,WAAW,aAAa,KAAA,KAAa,aAAa,OAAO,WAAY,SAAS,YAAY;CAChG,IAAI,CAAC,UAAU,OAAO;CAEtB,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA;EACA,KAAK;EACL,OAAO,CAAC,cAAc,EAAE,UAAU,SAAS,CAAC;CAC9C,CACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/volume-indicator/context.tsx"],"sourcesContent":["import type { VolumeIndicatorCore } from '@videojs/core';\nimport { createContext, type ProviderProps, useContext } from 'react';\n\nexport interface VolumeIndicatorContextValue {\n state: VolumeIndicatorCore.State;\n}\n\nconst VolumeIndicatorContext = createContext<VolumeIndicatorContextValue | null>(null);\n\nexport function VolumeIndicatorProvider({ value, children }: ProviderProps<VolumeIndicatorContextValue>) {\n return <VolumeIndicatorContext.Provider value={value}>{children}</VolumeIndicatorContext.Provider>;\n}\n\nexport function useVolumeIndicatorContext(): VolumeIndicatorContextValue {\n const ctx = useContext(VolumeIndicatorContext);\n if (!ctx) throw new Error('VolumeIndicator child compounds must be used within a VolumeIndicator.Root');\n return ctx;\n}\n"],"mappings":";;;AAOA,MAAM,yBAAyB,cAAkD,IAAI;AAErF,SAAgB,wBAAwB,EAAE,OAAO,YAAwD;CACvG,OAAO,oBAAC,uBAAuB,UAAxB;EAAwC;EAAQ;CAA0C,CAAA;AACnG;AAEA,SAAgB,4BAAyD;CACvE,MAAM,MAAM,WAAW,sBAAsB;CAC7C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,4EAA4E;CACtG,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/volume-indicator/context.tsx"],"sourcesContent":["import type { VolumeIndicatorCore } from '@videojs/core';\nimport { createContext, type ProviderProps, useContext } from 'react';\n\nexport interface VolumeIndicatorContextValue {\n state: VolumeIndicatorCore.State;\n}\n\nconst VolumeIndicatorContext = createContext<VolumeIndicatorContextValue | null>(null);\n\nexport function VolumeIndicatorProvider({ value, children }: ProviderProps<VolumeIndicatorContextValue>) {\n return <VolumeIndicatorContext.Provider value={value}>{children}</VolumeIndicatorContext.Provider>;\n}\n\nexport function useVolumeIndicatorContext(): VolumeIndicatorContextValue {\n const ctx = useContext(VolumeIndicatorContext);\n if (!ctx) throw new Error('VolumeIndicator child compounds must be used within a VolumeIndicator.Root');\n\n return ctx;\n}\n"],"mappings":";;;AAOA,MAAM,yBAAyB,cAAkD,IAAI;AAErF,SAAgB,wBAAwB,EAAE,OAAO,YAAwD;CACvG,OAAO,oBAAC,uBAAuB,UAAxB;EAAwC;EAAQ;CAA0C,CAAA;AACnG;AAEA,SAAgB,4BAAyD;CACvE,MAAM,MAAM,WAAW,sBAAsB;CAC7C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,4EAA4E;CAEtG,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/volume-indicator/index.parts.ts"],"sourcesContent":["export { VolumeIndicatorFill as Fill, type VolumeIndicatorFillProps as FillProps } from './volume-indicator-fill';\nexport { VolumeIndicatorRoot as Root, type VolumeIndicatorRootProps as RootProps } from './volume-indicator-root';\nexport {\n VolumeIndicatorValue as Value,\n type VolumeIndicatorValueProps as ValueProps,\n} from './volume-indicator-value';\n"],"mappings":""}
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/volume-indicator/index.parts.ts"],"sourcesContent":["export { VolumeIndicatorFill as Fill, type VolumeIndicatorFillProps as FillProps } from './volume-indicator-fill';\nexport { VolumeIndicatorRoot as Root, type VolumeIndicatorRootProps as RootProps } from './volume-indicator-root';\nexport { VolumeIndicatorValue as Value, type VolumeIndicatorValueProps as ValueProps } from './volume-indicator-value';\n"],"mappings":""}
@@ -1,16 +1,17 @@
1
1
  import { renderElement } from "../../utils/use-render.js";
2
2
  import { useVolumeIndicatorContext } from "./context.js";
3
3
  import { forwardRef } from "react";
4
- import { isFunction } from "@videojs/utils/predicate";
5
4
  import { VolumeIndicatorCSSVars } from "@videojs/core";
5
+ import { isFunction } from "@videojs/utils/predicate";
6
6
  //#region src/ui/volume-indicator/volume-indicator-fill.tsx
7
7
  const VolumeIndicatorFill = forwardRef(function VolumeIndicatorFill(componentProps, forwardedRef) {
8
8
  const { render, className, style, ...elementProps } = componentProps;
9
9
  const { state } = useVolumeIndicatorContext();
10
+ const fillStyle = getVolumeIndicatorFillStyle(state, style);
10
11
  return renderElement("div", {
11
12
  render,
12
13
  className,
13
- style: getVolumeIndicatorFillStyle(state, style)
14
+ style: fillStyle
14
15
  }, {
15
16
  state,
16
17
  ref: forwardedRef,
@@ -1 +1 @@
1
- {"version":3,"file":"volume-indicator-fill.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-fill.tsx"],"sourcesContent":["import { type VolumeIndicatorCore, VolumeIndicatorCSSVars } from '@videojs/core';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useVolumeIndicatorContext } from './context';\n\nexport interface VolumeIndicatorFillProps extends UIComponentProps<'div', VolumeIndicatorCore.State> {}\n\nexport const VolumeIndicatorFill = forwardRef(function VolumeIndicatorFill(\n componentProps: VolumeIndicatorFillProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useVolumeIndicatorContext();\n const fillStyle = getVolumeIndicatorFillStyle(state, style);\n\n return renderElement(\n 'div',\n { render, className, style: fillStyle },\n {\n state,\n ref: forwardedRef,\n props: [elementProps],\n }\n );\n});\n\nexport namespace VolumeIndicatorFill {\n export type Props = VolumeIndicatorFillProps;\n}\n\nfunction getVolumeIndicatorFillStyle(\n state: VolumeIndicatorCore.State,\n style: VolumeIndicatorFillProps['style']\n): VolumeIndicatorFillProps['style'] {\n const vars = state.fill\n ? ({\n [VolumeIndicatorCSSVars.fill]: state.fill,\n } as CSSProperties)\n : undefined;\n\n if (!vars) return style;\n\n if (isFunction(style)) {\n return (nextState) => ({\n ...style(nextState),\n ...vars,\n });\n }\n\n return {\n ...style,\n ...vars,\n };\n}\n"],"mappings":";;;;;;AAWA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,0BAA0B;CAG5C,OAAO,cACL,OACA;EAAE;EAAQ;EAAW,OAJL,4BAA4B,OAAO,KAIf;CAAE,GACtC;EACE;EACA,KAAK;EACL,OAAO,CAAC,YAAY;CACtB,CACF;AACF,CAAC;AAMD,SAAS,4BACP,OACA,OACmC;CACnC,MAAM,OAAO,MAAM,OACd,GACE,uBAAuB,OAAO,MAAM,KACvC,IACA,KAAA;CAEJ,IAAI,CAAC,MAAM,OAAO;CAElB,IAAI,WAAW,KAAK,GAClB,QAAQ,eAAe;EACrB,GAAG,MAAM,SAAS;EAClB,GAAG;CACL;CAGF,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF"}
1
+ {"version":3,"file":"volume-indicator-fill.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-fill.tsx"],"sourcesContent":["import { type VolumeIndicatorCore, VolumeIndicatorCSSVars } from '@videojs/core';\nimport { isFunction } from '@videojs/utils/predicate';\nimport type { CSSProperties, ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useVolumeIndicatorContext } from './context';\n\nexport interface VolumeIndicatorFillProps extends UIComponentProps<'div', VolumeIndicatorCore.State> {}\n\nexport const VolumeIndicatorFill = forwardRef(function VolumeIndicatorFill(\n componentProps: VolumeIndicatorFillProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, ...elementProps } = componentProps;\n const { state } = useVolumeIndicatorContext();\n const fillStyle = getVolumeIndicatorFillStyle(state, style);\n\n return renderElement(\n 'div',\n { render, className, style: fillStyle },\n {\n state,\n ref: forwardedRef,\n props: [elementProps],\n }\n );\n});\n\nexport namespace VolumeIndicatorFill {\n export type Props = VolumeIndicatorFillProps;\n}\n\nfunction getVolumeIndicatorFillStyle(\n state: VolumeIndicatorCore.State,\n style: VolumeIndicatorFillProps['style']\n): VolumeIndicatorFillProps['style'] {\n const vars = state.fill\n ? ({\n [VolumeIndicatorCSSVars.fill]: state.fill,\n } as CSSProperties)\n : undefined;\n if (!vars) return style;\n\n if (isFunction(style)) {\n return (nextState) => ({\n ...style(nextState),\n ...vars,\n });\n }\n\n return {\n ...style,\n ...vars,\n };\n}\n"],"mappings":";;;;;;AAWA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,GAAG,iBAAiB;CACtD,MAAM,EAAE,UAAU,0BAA0B;CAC5C,MAAM,YAAY,4BAA4B,OAAO,KAAK;CAE1D,OAAO,cACL,OACA;EAAE;EAAQ;EAAW,OAAO;CAAU,GACtC;EACE;EACA,KAAK;EACL,OAAO,CAAC,YAAY;CACtB,CACF;AACF,CAAC;AAMD,SAAS,4BACP,OACA,OACmC;CACnC,MAAM,OAAO,MAAM,OACd,GACE,uBAAuB,OAAO,MAAM,KACvC,IACA,KAAA;CACJ,IAAI,CAAC,MAAM,OAAO;CAElB,IAAI,WAAW,KAAK,GAClB,QAAQ,eAAe;EACrB,GAAG,MAAM,SAAS;EAClB,GAAG;CACL;CAGF,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF"}
@@ -8,9 +8,10 @@ import { VolumeIndicatorCore, VolumeIndicatorDataAttrs, createInputIndicatorLabe
8
8
  //#region src/ui/volume-indicator/volume-indicator-root.tsx
9
9
  const VolumeIndicatorRoot = forwardRef(function VolumeIndicatorRoot(componentProps, forwardedRef) {
10
10
  const { render, className, style, closeDelay, ...elementProps } = componentProps;
11
+ const translator = useTranslator();
11
12
  const { elementRef, present, state } = useInputIndicatorRoot(() => new VolumeIndicatorCore(), {
12
13
  closeDelay,
13
- labels: createInputIndicatorLabels(useTranslator())
14
+ labels: createInputIndicatorLabels(translator)
14
15
  }, { replayOnUpdate: false });
15
16
  if (!present) return null;
16
17
  return /* @__PURE__ */ jsx(VolumeIndicatorProvider, {
@@ -1 +1 @@
1
- {"version":3,"file":"volume-indicator-root.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-root.tsx"],"sourcesContent":["import { createInputIndicatorLabels, VolumeIndicatorCore, VolumeIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputIndicatorRoot } from '../input-indicator/use-input-indicator-root';\nimport { VolumeIndicatorProvider } from './context';\n\nexport interface VolumeIndicatorRootProps\n extends UIComponentProps<'div', VolumeIndicatorCore.State>,\n Omit<VolumeIndicatorCore.Props, 'labels'> {}\n\nexport const VolumeIndicatorRoot = forwardRef(function VolumeIndicatorRoot(\n componentProps: VolumeIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, closeDelay, ...elementProps } = componentProps;\n const translator = useTranslator();\n const { elementRef, present, state } = useInputIndicatorRoot(\n () => new VolumeIndicatorCore(),\n {\n closeDelay,\n labels: createInputIndicatorLabels(translator),\n },\n { replayOnUpdate: false }\n );\n\n if (!present) return null;\n\n return (\n <VolumeIndicatorProvider value={{ state }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: VolumeIndicatorDataAttrs,\n ref: [forwardedRef, elementRef],\n props: [elementProps],\n }\n )}\n </VolumeIndicatorProvider>\n );\n});\n\nexport namespace VolumeIndicatorRoot {\n export type Props = VolumeIndicatorRootProps;\n export type State = VolumeIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;AAcA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,GAAG,iBAAiB;CAElE,MAAM,EAAE,YAAY,SAAS,UAAU,4BAC/B,IAAI,oBAAoB,GAC9B;EACE;EACA,QAAQ,2BALO,cAK6B,CAAC;CAC/C,GACA,EAAE,gBAAgB,MAAM,CAC1B;CAEA,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,oBAAC,yBAAD;EAAyB,OAAO,EAAE,MAAM;EACrC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,UAAU;GAC9B,OAAO,CAAC,YAAY;EACtB,CACF;CACuB,CAAA;AAE7B,CAAC"}
1
+ {"version":3,"file":"volume-indicator-root.js","names":[],"sources":["../../../../src/ui/volume-indicator/volume-indicator-root.tsx"],"sourcesContent":["import { createInputIndicatorLabels, VolumeIndicatorCore, VolumeIndicatorDataAttrs } from '@videojs/core';\nimport type { ForwardedRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useInputIndicatorRoot } from '../input-indicator/use-input-indicator-root';\nimport { VolumeIndicatorProvider } from './context';\n\nexport interface VolumeIndicatorRootProps\n extends UIComponentProps<'div', VolumeIndicatorCore.State>, Omit<VolumeIndicatorCore.Props, 'labels'> {}\n\nexport const VolumeIndicatorRoot = forwardRef(function VolumeIndicatorRoot(\n componentProps: VolumeIndicatorRootProps,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const { render, className, style, closeDelay, ...elementProps } = componentProps;\n const translator = useTranslator();\n const { elementRef, present, state } = useInputIndicatorRoot(\n () => new VolumeIndicatorCore(),\n {\n closeDelay,\n labels: createInputIndicatorLabels(translator),\n },\n { replayOnUpdate: false }\n );\n if (!present) return null;\n\n return (\n <VolumeIndicatorProvider value={{ state }}>\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: VolumeIndicatorDataAttrs,\n ref: [forwardedRef, elementRef],\n props: [elementProps],\n }\n )}\n </VolumeIndicatorProvider>\n );\n});\n\nexport namespace VolumeIndicatorRoot {\n export type Props = VolumeIndicatorRootProps;\n export type State = VolumeIndicatorCore.State;\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,sBAAsB,WAAW,SAAS,oBACrD,gBACA,cACA;CACA,MAAM,EAAE,QAAQ,WAAW,OAAO,YAAY,GAAG,iBAAiB;CAClE,MAAM,aAAa,cAAc;CACjC,MAAM,EAAE,YAAY,SAAS,UAAU,4BAC/B,IAAI,oBAAoB,GAC9B;EACE;EACA,QAAQ,2BAA2B,UAAU;CAC/C,GACA,EAAE,gBAAgB,MAAM,CAC1B;CACA,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,oBAAC,yBAAD;EAAyB,OAAO,EAAE,MAAM;EACrC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK,CAAC,cAAc,UAAU;GAC9B,OAAO,CAAC,YAAY;EACtB,CACF;CACuB,CAAA;AAE7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { createContext, useContext } from "react";
2
+ //#region src/ui/volume-popover/context.tsx
3
+ const VolumePopoverContext = createContext(null);
4
+ const VolumePopoverContextProvider = VolumePopoverContext.Provider;
5
+ function useVolumePopoverContext() {
6
+ const context = useContext(VolumePopoverContext);
7
+ if (!context) throw new Error("VolumePopover compound components must be used within a VolumePopover.Root");
8
+ return context;
9
+ }
10
+ //#endregion
11
+ export { VolumePopoverContextProvider, useVolumePopoverContext };
12
+
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/volume-popover/context.tsx"],"sourcesContent":["import type { VolumePopoverCore } from '@videojs/core';\nimport { createContext, useContext } from 'react';\n\nexport interface VolumePopoverContextValue {\n state: VolumePopoverCore.State;\n}\n\nconst VolumePopoverContext = createContext<VolumePopoverContextValue | null>(null);\n\nexport const VolumePopoverContextProvider = VolumePopoverContext.Provider;\n\nexport function useVolumePopoverContext(): VolumePopoverContextValue {\n const context = useContext(VolumePopoverContext);\n if (!context) throw new Error('VolumePopover compound components must be used within a VolumePopover.Root');\n\n return context;\n}\n"],"mappings":";;AAOA,MAAM,uBAAuB,cAAgD,IAAI;AAEjF,MAAa,+BAA+B,qBAAqB;AAEjE,SAAgB,0BAAqD;CACnE,MAAM,UAAU,WAAW,oBAAoB;CAC/C,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,4EAA4E;CAE1G,OAAO;AACT"}
@@ -0,0 +1,2 @@
1
+ import { index_parts_exports } from "./index.parts.js";
2
+ export { index_parts_exports as VolumePopover };
@@ -0,0 +1,14 @@
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { VolumePopoverPopup } from "./volume-popover-popup.js";
3
+ import { VolumePopoverRoot } from "./volume-popover-root.js";
4
+ import { VolumePopoverTrigger } from "./volume-popover-trigger.js";
5
+ //#region src/ui/volume-popover/index.parts.ts
6
+ var index_parts_exports = /* @__PURE__ */ __exportAll({
7
+ Popup: () => VolumePopoverPopup,
8
+ Root: () => VolumePopoverRoot,
9
+ Trigger: () => VolumePopoverTrigger
10
+ });
11
+ //#endregion
12
+ export { VolumePopoverPopup as Popup, VolumePopoverRoot as Root, VolumePopoverTrigger as Trigger, index_parts_exports };
13
+
14
+ //# sourceMappingURL=index.parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/volume-popover/index.parts.ts"],"sourcesContent":["export { VolumePopoverPopup as Popup, type VolumePopoverPopupProps as PopupProps } from './volume-popover-popup';\nexport { VolumePopoverRoot as Root, type VolumePopoverRootProps as RootProps } from './volume-popover-root';\nexport {\n VolumePopoverTrigger as Trigger,\n type VolumePopoverTriggerProps as TriggerProps,\n} from './volume-popover-trigger';\n"],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { PopoverPopup } from "../popover/popover-popup.js";
2
+ import { useVolumePopoverContext } from "./context.js";
3
+ import { getStateDataAttrs } from "@videojs/core/dom";
4
+ import { forwardRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { VolumePopoverDataAttrs } from "@videojs/core";
7
+ //#region src/ui/volume-popover/volume-popover-popup.tsx
8
+ /** Positioned volume content. Omitted when volume level controls are unavailable. */
9
+ const VolumePopoverPopup = forwardRef(function VolumePopoverPopup(props, forwardedRef) {
10
+ const { state } = useVolumePopoverContext();
11
+ if (state.hidden) return null;
12
+ return /* @__PURE__ */ jsx(PopoverPopup, {
13
+ ref: forwardedRef,
14
+ ...getStateDataAttrs(state, VolumePopoverDataAttrs),
15
+ ...props
16
+ });
17
+ });
18
+ //#endregion
19
+ export { VolumePopoverPopup };
20
+
21
+ //# sourceMappingURL=volume-popover-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-popover-popup.js","names":[],"sources":["../../../../src/ui/volume-popover/volume-popover-popup.tsx"],"sourcesContent":["import { VolumePopoverDataAttrs } from '@videojs/core';\nimport { getStateDataAttrs } from '@videojs/core/dom';\nimport { forwardRef } from 'react';\n\nimport { PopoverPopup, type PopoverPopupProps } from '../popover/popover-popup';\nimport { useVolumePopoverContext } from './context';\n\nexport interface VolumePopoverPopupProps extends PopoverPopupProps {}\n\n/** Positioned volume content. Omitted when volume level controls are unavailable. */\nexport const VolumePopoverPopup = forwardRef<HTMLDivElement, VolumePopoverPopupProps>(\n function VolumePopoverPopup(props, forwardedRef) {\n const { state } = useVolumePopoverContext();\n if (state.hidden) return null;\n\n return <PopoverPopup ref={forwardedRef} {...getStateDataAttrs(state, VolumePopoverDataAttrs)} {...props} />;\n }\n);\n\nexport namespace VolumePopoverPopup {\n export type Props = VolumePopoverPopupProps;\n}\n"],"mappings":";;;;;;;;AAUA,MAAa,qBAAqB,WAChC,SAAS,mBAAmB,OAAO,cAAc;CAC/C,MAAM,EAAE,UAAU,wBAAwB;CAC1C,IAAI,MAAM,QAAQ,OAAO;CAEzB,OAAO,oBAAC,cAAD;EAAc,KAAK;EAAc,GAAI,kBAAkB,OAAO,sBAAsB;EAAG,GAAI;CAAQ,CAAA;AAC5G,CACF"}
@@ -0,0 +1,47 @@
1
+ import { usePlayer } from "../../player/context.js";
2
+ import { usePopoverContext } from "../popover/context.js";
3
+ import { PopoverRoot } from "../popover/popover-root.js";
4
+ import { VolumePopoverContextProvider } from "./context.js";
5
+ import { selectVolume } from "@videojs/core/dom";
6
+ import { useEffect, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { VolumePopoverCore } from "@videojs/core";
9
+ //#region src/ui/volume-popover/volume-popover-root.tsx
10
+ const unavailableVolume = {
11
+ volume: 0,
12
+ muted: false,
13
+ volumeAvailability: "unsupported",
14
+ mutedAvailability: "unsupported",
15
+ setVolume: () => 0,
16
+ toggleMuted: () => false
17
+ };
18
+ /** Owns volume availability and the popover interaction lifecycle. */
19
+ function VolumePopoverRoot({ children, ...props }) {
20
+ const volume = usePlayer(selectVolume);
21
+ const [core] = useState(() => new VolumePopoverCore(props));
22
+ core.setProps(props);
23
+ core.setMedia(volume ?? unavailableVolume);
24
+ return /* @__PURE__ */ jsx(PopoverRoot, {
25
+ ...props,
26
+ children: /* @__PURE__ */ jsx(VolumePopoverState, {
27
+ core,
28
+ children
29
+ })
30
+ });
31
+ }
32
+ function VolumePopoverState({ core, children }) {
33
+ const { popover } = usePopoverContext();
34
+ core.setInput(popover.input.current);
35
+ const state = core.getState();
36
+ useEffect(() => {
37
+ if (state.hidden) popover.close("imperative-action");
38
+ }, [popover, state.hidden]);
39
+ return /* @__PURE__ */ jsx(VolumePopoverContextProvider, {
40
+ value: { state },
41
+ children
42
+ });
43
+ }
44
+ //#endregion
45
+ export { VolumePopoverRoot };
46
+
47
+ //# sourceMappingURL=volume-popover-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-popover-root.js","names":["Popover.Root"],"sources":["../../../../src/ui/volume-popover/volume-popover-root.tsx"],"sourcesContent":["import { VolumePopoverCore } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\nimport type { MediaVolumeState } from '@videojs/media';\nimport type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { usePlayer } from '../../player/context';\nimport { Popover } from '../popover';\nimport { usePopoverContext } from '../popover/context';\nimport type { PopoverRootProps } from '../popover/popover-root';\nimport { VolumePopoverContextProvider } from './context';\n\nconst unavailableVolume: MediaVolumeState = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported',\n mutedAvailability: 'unsupported',\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumePopoverRootProps extends PopoverRootProps {}\n\n/** Owns volume availability and the popover interaction lifecycle. */\nexport function VolumePopoverRoot({ children, ...props }: VolumePopoverRootProps): ReactNode {\n const volume = usePlayer(selectVolume);\n const [core] = useState(() => new VolumePopoverCore(props));\n\n core.setProps(props);\n core.setMedia(volume ?? unavailableVolume);\n\n return (\n <Popover.Root {...props}>\n <VolumePopoverState core={core}>{children}</VolumePopoverState>\n </Popover.Root>\n );\n}\n\nfunction VolumePopoverState({ core, children }: { core: VolumePopoverCore; children?: ReactNode }): ReactNode {\n const { popover } = usePopoverContext();\n\n core.setInput(popover.input.current);\n const state = core.getState();\n\n useEffect(() => {\n if (state.hidden) popover.close('imperative-action');\n }, [popover, state.hidden]);\n\n return <VolumePopoverContextProvider value={{ state }}>{children}</VolumePopoverContextProvider>;\n}\n\nexport namespace VolumePopoverRoot {\n export type Props = VolumePopoverRootProps;\n export type State = VolumePopoverCore.State;\n}\n"],"mappings":";;;;;;;;;AAYA,MAAM,oBAAsC;CAC1C,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;AACrB;;AAKA,SAAgB,kBAAkB,EAAE,UAAU,GAAG,SAA4C;CAC3F,MAAM,SAAS,UAAU,YAAY;CACrC,MAAM,CAAC,QAAQ,eAAe,IAAI,kBAAkB,KAAK,CAAC;CAE1D,KAAK,SAAS,KAAK;CACnB,KAAK,SAAS,UAAU,iBAAiB;CAEzC,OACE,oBAACA,aAAD;EAAc,GAAI;EAChB,UAAA,oBAAC,oBAAD;GAA0B;GAAO;EAA6B,CAAA;CAClD,CAAA;AAElB;AAEA,SAAS,mBAAmB,EAAE,MAAM,YAA0E;CAC5G,MAAM,EAAE,YAAY,kBAAkB;CAEtC,KAAK,SAAS,QAAQ,MAAM,OAAO;CACnC,MAAM,QAAQ,KAAK,SAAS;CAE5B,gBAAgB;EACd,IAAI,MAAM,QAAQ,QAAQ,MAAM,mBAAmB;CACrD,GAAG,CAAC,SAAS,MAAM,MAAM,CAAC;CAE1B,OAAO,oBAAC,8BAAD;EAA8B,OAAO,EAAE,MAAM;EAAI;CAAuC,CAAA;AACjG"}
@@ -0,0 +1,32 @@
1
+ import { renderElement } from "../../utils/use-render.js";
2
+ import { usePopoverContext } from "../popover/context.js";
3
+ import { PopoverTrigger } from "../popover/popover-trigger.js";
4
+ import { useVolumePopoverContext } from "./context.js";
5
+ import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/ui/volume-popover/volume-popover-trigger.tsx
8
+ /** Opens the volume popup, or renders its mute-button fallback when volume level controls are unavailable. */
9
+ const VolumePopoverTrigger = forwardRef(function VolumePopoverTrigger({ render, className, style, ...elementProps }, forwardedRef) {
10
+ const { state: popoverState } = usePopoverContext();
11
+ const { state } = useVolumePopoverContext();
12
+ if (!state.hidden) return /* @__PURE__ */ jsx(PopoverTrigger, {
13
+ ref: forwardedRef,
14
+ render,
15
+ className,
16
+ style,
17
+ ...elementProps
18
+ });
19
+ return renderElement("button", {
20
+ render,
21
+ className,
22
+ style
23
+ }, {
24
+ state: popoverState,
25
+ ref: forwardedRef,
26
+ props: [{ type: "button" }, elementProps]
27
+ });
28
+ });
29
+ //#endregion
30
+ export { VolumePopoverTrigger };
31
+
32
+ //# sourceMappingURL=volume-popover-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-popover-trigger.js","names":[],"sources":["../../../../src/ui/volume-popover/volume-popover-trigger.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { renderElement } from '../../utils/use-render';\nimport { usePopoverContext } from '../popover/context';\nimport { PopoverTrigger, type PopoverTriggerProps } from '../popover/popover-trigger';\nimport { useVolumePopoverContext } from './context';\n\nexport interface VolumePopoverTriggerProps extends PopoverTriggerProps {}\n\n/** Opens the volume popup, or renders its mute-button fallback when volume level controls are unavailable. */\nexport const VolumePopoverTrigger = forwardRef<HTMLButtonElement, VolumePopoverTriggerProps>(\n function VolumePopoverTrigger({ render, className, style, ...elementProps }, forwardedRef) {\n const { state: popoverState } = usePopoverContext();\n const { state } = useVolumePopoverContext();\n\n if (!state.hidden) {\n return (\n <PopoverTrigger ref={forwardedRef} render={render} className={className} style={style} {...elementProps} />\n );\n }\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state: popoverState,\n ref: forwardedRef,\n props: [{ type: 'button' as const }, elementProps],\n }\n );\n }\n);\n\nexport namespace VolumePopoverTrigger {\n export type Props = VolumePopoverTriggerProps;\n}\n"],"mappings":";;;;;;;;AAUA,MAAa,uBAAuB,WAClC,SAAS,qBAAqB,EAAE,QAAQ,WAAW,OAAO,GAAG,gBAAgB,cAAc;CACzF,MAAM,EAAE,OAAO,iBAAiB,kBAAkB;CAClD,MAAM,EAAE,UAAU,wBAAwB;CAE1C,IAAI,CAAC,MAAM,QACT,OACE,oBAAC,gBAAD;EAAgB,KAAK;EAAsB;EAAmB;EAAkB;EAAO,GAAI;CAAe,CAAA;CAI9G,OAAO,cACL,UACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE,OAAO;EACP,KAAK;EACL,OAAO,CAAC,EAAE,MAAM,SAAkB,GAAG,YAAY;CACnD,CACF;AACF,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"volume-slider-root.js","names":[],"sources":["../../../../src/ui/volume-slider/volume-slider-root.tsx"],"sourcesContent":["import { VolumeSliderCore, VolumeSliderDataAttrs } from '@videojs/core';\nimport { createWheelStep, getSliderCSSVars, logMissingFeature, selectVolume } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { listen } from '@videojs/utils/dom';\nimport { forwardRef, useCallback, useRef, useState } from 'react';\n\nimport { useLocale, useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopVolume = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported' as const,\n mutedAvailability: 'unsupported' as const,\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumeSliderRootProps extends UIComponentProps<'div', VolumeSliderCore.State>, VolumeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const VolumeSliderRoot = forwardRef<HTMLDivElement, VolumeSliderRootProps>(\n function VolumeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n orientation,\n step = VolumeSliderCore.defaultProps.step,\n largeStep = VolumeSliderCore.defaultProps.largeStep,\n wheelStep = VolumeSliderCore.defaultProps.wheelStep,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const volume = usePlayer(selectVolume);\n const translator = useTranslator();\n const locale = useLocale();\n const isUnavailable = volume?.volumeAvailability !== 'available';\n const isDisabled = Boolean(disabled) || isUnavailable;\n\n const [core] = useState(() => new VolumeSliderCore());\n core.setProps({ label, orientation, step, largeStep, wheelStep, disabled, thumbAlignment });\n core.setFormatLocale(locale);\n\n // Keep refs to the latest dynamic values for stable closures.\n const volumeRef = useLatestRef(volume);\n const disabledRef = useLatestRef(isDisabled);\n\n const getPercent = () => (volumeRef.current?.volume ?? 0) * 100;\n const getStepPercent = () => core.getStepPercent();\n const setVolume = (percent: number) => volumeRef.current?.setVolume(percent / 100);\n\n const { state, input, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } =\n useSlider<VolumeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n core.setMedia(volume ?? noopVolume);\n return core.getState();\n },\n getPercent,\n getStepPercent,\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled: isDisabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: setVolume,\n onValueCommit: setVolume,\n onDragStart,\n onDragEnd,\n });\n\n const [wheelHandler] = useState(() =>\n createWheelStep({\n isDisabled: () => disabledRef.current,\n getPercent: () => (volumeRef.current?.volume ?? 0) * 100,\n getStepPercent: () => core.getWheelStepPercent(),\n onValueChange: (percent) => volumeRef.current?.setVolume(percent / 100),\n })\n );\n\n // Attach non-passive wheel listener via callback ref so it covers\n // late-mounted elements (null → mounted after volume appears).\n const wheelCleanupRef = useRef<(() => void) | null>(null);\n const wheelRef = useCallback(\n (element: HTMLDivElement | null) => {\n wheelCleanupRef.current?.();\n wheelCleanupRef.current = null;\n if (element) {\n wheelCleanupRef.current = listen(element, 'wheel', wheelHandler.onWheel, { passive: false });\n }\n },\n [wheelHandler]\n );\n\n if (!volume) {\n if (__DEV__) logMissingFeature('VolumeSlider', 'volume');\n return null;\n }\n\n if (state.hidden) return null;\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n input,\n getPointerValue: (percent) => core.valueFromPercent(percent),\n thumbRef,\n thumbProps,\n stateAttrMap: VolumeSliderDataAttrs,\n getAttrs: (sliderState) => {\n const attrs = core.getAttrs(sliderState as VolumeSliderCore.State);\n return {\n ...attrs,\n 'aria-label': translateText(attrs['aria-label'], translator),\n 'aria-valuetext': translateText(\n attrs['aria-valuetext'],\n translator,\n core.getValueTextParams(sliderState as VolumeSliderCore.State)\n ),\n };\n },\n formatValue: (value) => `${Math.round(value)}%`,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: VolumeSliderDataAttrs,\n ref: [forwardedRef, rootRef, wheelRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace VolumeSliderRoot {\n export type Props = VolumeSliderRootProps;\n export type State = VolumeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,aAAa;CACjB,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;AACrB;AAOA,MAAa,mBAAmB,WAC9B,SAAS,iBAAiB,gBAAgB,cAAc;CACtD,MAAM,EACJ,QACA,WACA,OACA,OACA,aACA,OAAO,iBAAiB,aAAa,MACrC,YAAY,iBAAiB,aAAa,WAC1C,YAAY,iBAAiB,aAAa,WAC1C,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,SAAS,UAAU,YAAY;CACrC,MAAM,aAAa,cAAc;CACjC,MAAM,SAAS,UAAU;CACzB,MAAM,gBAAgB,QAAQ,uBAAuB;CACrD,MAAM,aAAa,QAAQ,QAAQ,KAAK;CAExC,MAAM,CAAC,QAAQ,eAAe,IAAI,iBAAiB,CAAC;CACpD,KAAK,SAAS;EAAE;EAAO;EAAa;EAAM;EAAW;EAAW;EAAU;CAAe,CAAC;CAC1F,KAAK,gBAAgB,MAAM;CAG3B,MAAM,YAAY,aAAa,MAAM;CACrC,MAAM,cAAc,aAAa,UAAU;CAE3C,MAAM,oBAAoB,UAAU,SAAS,UAAU,KAAK;CAC5D,MAAM,uBAAuB,KAAK,eAAe;CACjD,MAAM,aAAa,YAAoB,UAAU,SAAS,UAAU,UAAU,GAAG;CAEjF,MAAM,EAAE,OAAO,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eACtE,UAAkC;EAChC,eAAe,UAAU;GACvB,KAAK,SAAS,KAAK;GACnB,KAAK,SAAS,UAAU,UAAU;GAClC,OAAO,KAAK,SAAS;EACvB;EACA;EACA;EACA,2BAA2B,KAAK,oBAAoB;EACpD;EACA,UAAU;EACV,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,SAAS;EACjE,YAAY;EACZ,eAAe;EACf,eAAe;EACf;EACA;CACF,CAAC;CAEH,MAAM,CAAC,gBAAgB,eACrB,gBAAgB;EACd,kBAAkB,YAAY;EAC9B,mBAAmB,UAAU,SAAS,UAAU,KAAK;EACrD,sBAAsB,KAAK,oBAAoB;EAC/C,gBAAgB,YAAY,UAAU,SAAS,UAAU,UAAU,GAAG;CACxE,CAAC,CACH;CAIA,MAAM,kBAAkB,OAA4B,IAAI;CACxD,MAAM,WAAW,aACd,YAAmC;EAClC,gBAAgB,UAAU;EAC1B,gBAAgB,UAAU;EAC1B,IAAI,SACF,gBAAgB,UAAU,OAAO,SAAS,SAAS,aAAa,SAAS,EAAE,SAAS,MAAM,CAAC;CAE/F,GACA,CAAC,YAAY,CACf;CAEA,IAAI,CAAC,QAEH,OAAO;CAGT,IAAI,MAAM,QAAQ,OAAO;CAEzB,OACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,cAAc;GACxD;GACA,kBAAkB,YAAY,KAAK,iBAAiB,OAAO;GAC3D;GACA;GACA,cAAc;GACd,WAAW,gBAAgB;IACzB,MAAM,QAAQ,KAAK,SAAS,WAAqC;IACjE,OAAO;KACL,GAAG;KACH,cAAc,cAAc,MAAM,eAAe,UAAU;KAC3D,kBAAkB,cAChB,MAAM,mBACN,YACA,KAAK,mBAAmB,WAAqC,CAC/D;IACF;GACF;GACA,cAAc,UAAU,GAAG,KAAK,MAAM,KAAK,EAAE;EAC/C;EAEC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK;IAAC;IAAc;IAAS;GAAQ;GACrC,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;IAAU,EAAE;IAAG;IAAW;GAAY;EAC1E,CACF;CACc,CAAA;AAEpB,CACF"}
1
+ {"version":3,"file":"volume-slider-root.js","names":[],"sources":["../../../../src/ui/volume-slider/volume-slider-root.tsx"],"sourcesContent":["import { VolumeSliderCore, VolumeSliderDataAttrs } from '@videojs/core';\nimport { createWheelStep, getSliderCSSVars, logMissingFeature, selectVolume } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { listen } from '@videojs/utils/dom';\nimport { forwardRef, useCallback, useRef, useState } from 'react';\n\nimport { useLocale, useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { useLatestRef } from '../../utils/use-latest-ref';\nimport { renderElement } from '../../utils/use-render';\nimport { useSlider } from '../hooks/use-slider';\nimport { SliderProvider } from '../slider/context';\n\nconst noopVolume = {\n volume: 0,\n muted: false,\n volumeAvailability: 'unsupported' as const,\n mutedAvailability: 'unsupported' as const,\n setVolume: () => 0,\n toggleMuted: () => false,\n};\n\nexport interface VolumeSliderRootProps extends UIComponentProps<'div', VolumeSliderCore.State>, VolumeSliderCore.Props {\n onDragStart?: (() => void) | undefined;\n onDragEnd?: (() => void) | undefined;\n}\n\nexport const VolumeSliderRoot = forwardRef<HTMLDivElement, VolumeSliderRootProps>(\n function VolumeSliderRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n label,\n orientation,\n step = VolumeSliderCore.defaultProps.step,\n largeStep = VolumeSliderCore.defaultProps.largeStep,\n wheelStep = VolumeSliderCore.defaultProps.wheelStep,\n disabled,\n thumbAlignment,\n onDragStart,\n onDragEnd,\n ...elementProps\n } = componentProps;\n\n const volume = usePlayer(selectVolume);\n const translator = useTranslator();\n const locale = useLocale();\n\n const isUnavailable = volume?.volumeAvailability !== 'available';\n const isDisabled = Boolean(disabled) || isUnavailable;\n\n const [core] = useState(() => new VolumeSliderCore());\n\n core.setProps({ label, orientation, step, largeStep, wheelStep, disabled, thumbAlignment });\n core.setFormatLocale(locale);\n\n // Keep refs to the latest dynamic values for stable closures.\n const volumeRef = useLatestRef(volume);\n const disabledRef = useLatestRef(isDisabled);\n\n const getPercent = () => (volumeRef.current?.volume ?? 0) * 100;\n const getStepPercent = () => core.getStepPercent();\n const setVolume = (percent: number) => volumeRef.current?.setVolume(percent / 100);\n\n const { state, input, cssVars, rootRef, thumbRef, rootProps, rootStyle, thumbProps } =\n useSlider<VolumeSliderCore.State>({\n computeState: (input) => {\n core.setInput(input);\n core.setMedia(volume ?? noopVolume);\n return core.getState();\n },\n getPercent,\n getStepPercent,\n getLargeStepPercent: () => core.getLargeStepPercent(),\n orientation,\n disabled: isDisabled,\n adjustPercent: (rawPercent, thumbSize, trackSize) =>\n core.adjustPercentForAlignment(rawPercent, thumbSize, trackSize),\n getCSSVars: getSliderCSSVars,\n onValueChange: setVolume,\n onValueCommit: setVolume,\n onDragStart,\n onDragEnd,\n });\n\n const [wheelHandler] = useState(() =>\n createWheelStep({\n isDisabled: () => disabledRef.current,\n getPercent: () => (volumeRef.current?.volume ?? 0) * 100,\n getStepPercent: () => core.getWheelStepPercent(),\n onValueChange: (percent) => volumeRef.current?.setVolume(percent / 100),\n })\n );\n\n // Attach non-passive wheel listener via callback ref so it covers\n // late-mounted elements (null → mounted after volume appears).\n const wheelCleanupRef = useRef<(() => void) | null>(null);\n const wheelRef = useCallback(\n (element: HTMLDivElement | null) => {\n wheelCleanupRef.current?.();\n wheelCleanupRef.current = null;\n\n if (element) {\n wheelCleanupRef.current = listen(element, 'wheel', wheelHandler.onWheel, { passive: false });\n }\n },\n [wheelHandler]\n );\n\n if (!volume) {\n if (__DEV__) logMissingFeature('VolumeSlider', 'volume');\n\n return null;\n }\n\n if (state.hidden) return null;\n\n return (\n <SliderProvider\n value={{\n state,\n pointerValue: core.valueFromPercent(state.pointerPercent),\n input,\n getPointerValue: (percent) => core.valueFromPercent(percent),\n thumbRef,\n thumbProps,\n stateAttrMap: VolumeSliderDataAttrs,\n getAttrs: (sliderState) => {\n const attrs = core.getAttrs(sliderState as VolumeSliderCore.State);\n\n return {\n ...attrs,\n 'aria-label': translateText(attrs['aria-label'], translator),\n 'aria-valuetext': translateText(\n attrs['aria-valuetext'],\n translator,\n core.getValueTextParams(sliderState as VolumeSliderCore.State)\n ),\n };\n },\n formatValue: (value) => `${Math.round(value)}%`,\n }}\n >\n {renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: VolumeSliderDataAttrs,\n ref: [forwardedRef, rootRef, wheelRef],\n props: [{ style: { ...cssVars, ...rootStyle } }, rootProps, elementProps],\n }\n )}\n </SliderProvider>\n );\n }\n);\n\nexport namespace VolumeSliderRoot {\n export type Props = VolumeSliderRootProps;\n export type State = VolumeSliderCore.State;\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,aAAa;CACjB,QAAQ;CACR,OAAO;CACP,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;AACrB;AAOA,MAAa,mBAAmB,WAC9B,SAAS,iBAAiB,gBAAgB,cAAc;CACtD,MAAM,EACJ,QACA,WACA,OACA,OACA,aACA,OAAO,iBAAiB,aAAa,MACrC,YAAY,iBAAiB,aAAa,WAC1C,YAAY,iBAAiB,aAAa,WAC1C,UACA,gBACA,aACA,WACA,GAAG,iBACD;CAEJ,MAAM,SAAS,UAAU,YAAY;CACrC,MAAM,aAAa,cAAc;CACjC,MAAM,SAAS,UAAU;CAEzB,MAAM,gBAAgB,QAAQ,uBAAuB;CACrD,MAAM,aAAa,QAAQ,QAAQ,KAAK;CAExC,MAAM,CAAC,QAAQ,eAAe,IAAI,iBAAiB,CAAC;CAEpD,KAAK,SAAS;EAAE;EAAO;EAAa;EAAM;EAAW;EAAW;EAAU;CAAe,CAAC;CAC1F,KAAK,gBAAgB,MAAM;CAG3B,MAAM,YAAY,aAAa,MAAM;CACrC,MAAM,cAAc,aAAa,UAAU;CAE3C,MAAM,oBAAoB,UAAU,SAAS,UAAU,KAAK;CAC5D,MAAM,uBAAuB,KAAK,eAAe;CACjD,MAAM,aAAa,YAAoB,UAAU,SAAS,UAAU,UAAU,GAAG;CAEjF,MAAM,EAAE,OAAO,OAAO,SAAS,SAAS,UAAU,WAAW,WAAW,eACtE,UAAkC;EAChC,eAAe,UAAU;GACvB,KAAK,SAAS,KAAK;GACnB,KAAK,SAAS,UAAU,UAAU;GAClC,OAAO,KAAK,SAAS;EACvB;EACA;EACA;EACA,2BAA2B,KAAK,oBAAoB;EACpD;EACA,UAAU;EACV,gBAAgB,YAAY,WAAW,cACrC,KAAK,0BAA0B,YAAY,WAAW,SAAS;EACjE,YAAY;EACZ,eAAe;EACf,eAAe;EACf;EACA;CACF,CAAC;CAEH,MAAM,CAAC,gBAAgB,eACrB,gBAAgB;EACd,kBAAkB,YAAY;EAC9B,mBAAmB,UAAU,SAAS,UAAU,KAAK;EACrD,sBAAsB,KAAK,oBAAoB;EAC/C,gBAAgB,YAAY,UAAU,SAAS,UAAU,UAAU,GAAG;CACxE,CAAC,CACH;CAIA,MAAM,kBAAkB,OAA4B,IAAI;CACxD,MAAM,WAAW,aACd,YAAmC;EAClC,gBAAgB,UAAU;EAC1B,gBAAgB,UAAU;EAE1B,IAAI,SACF,gBAAgB,UAAU,OAAO,SAAS,SAAS,aAAa,SAAS,EAAE,SAAS,MAAM,CAAC;CAE/F,GACA,CAAC,YAAY,CACf;CAEA,IAAI,CAAC,QAGH,OAAO;CAGT,IAAI,MAAM,QAAQ,OAAO;CAEzB,OACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,cAAc,KAAK,iBAAiB,MAAM,cAAc;GACxD;GACA,kBAAkB,YAAY,KAAK,iBAAiB,OAAO;GAC3D;GACA;GACA,cAAc;GACd,WAAW,gBAAgB;IACzB,MAAM,QAAQ,KAAK,SAAS,WAAqC;IAEjE,OAAO;KACL,GAAG;KACH,cAAc,cAAc,MAAM,eAAe,UAAU;KAC3D,kBAAkB,cAChB,MAAM,mBACN,YACA,KAAK,mBAAmB,WAAqC,CAC/D;IACF;GACF;GACA,cAAc,UAAU,GAAG,KAAK,MAAM,KAAK,EAAE;EAC/C;EAEC,UAAA,cACC,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA,cAAc;GACd,KAAK;IAAC;IAAc;IAAS;GAAQ;GACrC,OAAO;IAAC,EAAE,OAAO;KAAE,GAAG;KAAS,GAAG;IAAU,EAAE;IAAG;IAAW;GAAY;EAC1E,CACF;CACc,CAAA;AAEpB,CACF"}
@@ -1,19 +1,13 @@
1
1
  //#region src/utils/merge-props.ts
2
- /**
3
- * Check if a key is an event handler key (on* with capital letter).
4
- */
2
+ /** Check if a key is an event handler key (on* with capital letter). */
5
3
  function isEventHandlerKey(key) {
6
4
  return key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && key.charCodeAt(2) >= 65 && key.charCodeAt(2) <= 90;
7
5
  }
8
- /**
9
- * Check if a key/value pair is an event handler (includes undefined values).
10
- */
6
+ /** Check if a key/value pair is an event handler (includes undefined values). */
11
7
  function isEventHandler(key, value) {
12
8
  return isEventHandlerKey(key) && (typeof value === "function" || typeof value === "undefined");
13
9
  }
14
- /**
15
- * Merge two event handlers - external runs first, ours runs second.
16
- */
10
+ /** Merge two event handlers - external runs first, ours runs second. */
17
11
  function mergeEventHandlers(ours, theirs) {
18
12
  if (!theirs) return ours;
19
13
  if (!ours) return theirs;
@@ -22,16 +16,12 @@ function mergeEventHandlers(ours, theirs) {
22
16
  ours(event);
23
17
  };
24
18
  }
25
- /**
26
- * Merge two className values - concatenate strings.
27
- */
19
+ /** Merge two className values - concatenate strings. */
28
20
  function mergeClassNames(ours, theirs) {
29
21
  if (theirs && ours) return `${theirs} ${ours}`;
30
22
  return theirs || ours;
31
23
  }
32
- /**
33
- * Merge two style objects - theirs overwrites conflicts.
34
- */
24
+ /** Merge two style objects - theirs overwrites conflicts. */
35
25
  function mergeStyles(ours, theirs) {
36
26
  if (!theirs) return ours;
37
27
  if (!ours) return theirs;
@@ -40,9 +30,7 @@ function mergeStyles(ours, theirs) {
40
30
  ...theirs
41
31
  };
42
32
  }
43
- /**
44
- * Merge a single props object into accumulated result.
45
- */
33
+ /** Merge a single props object into accumulated result. */
46
34
  function mergeOne(merged, props) {
47
35
  if (!props) return merged;
48
36
  for (const key in props) {
@@ -57,20 +45,22 @@ function mergeOne(merged, props) {
57
45
  /**
58
46
  * Merge multiple props objects.
59
47
  *
60
- * - Event handlers (on*): chained - external first, ours second
61
- * - className: concatenated
62
- * - style: merged objects (external wins conflicts)
63
- * - other: last one wins
48
+ * - Event handlers (`on*`): chained right to left
49
+ * - `className`: concatenated right to left
50
+ * - `style`: merged with rightmost values winning conflicts
51
+ * - Other props: rightmost value wins
64
52
  *
65
- * @public
66
53
  * @example
67
- * ```ts
68
- * const merged = mergeProps(
69
- * { onClick: ourHandler, className: 'base' },
70
- * { onClick: theirHandler, className: 'custom' }
71
- * );
72
- * // { onClick: chainedHandler, className: 'custom base' }
73
- * ```
54
+ * ```ts
55
+ * const merged = mergeProps(
56
+ * { onClick: ourHandler, className: 'base' },
57
+ * { onClick: theirHandler, className: 'custom' }
58
+ * );
59
+ * // { onClick: chainedHandler, className: 'custom base' }
60
+ * ```;
61
+ *
62
+ * @param propSets - Props objects to merge in order.
63
+ * @public
74
64
  */
75
65
  function mergeProps(...propSets) {
76
66
  let merged = {};
@@ -1 +1 @@
1
- {"version":3,"file":"merge-props.js","names":[],"sources":["../../../src/utils/merge-props.ts"],"sourcesContent":["import type { ComponentPropsWithRef, CSSProperties, ElementType, SyntheticEvent } from 'react';\n\ntype Props<T extends ElementType = ElementType> = ComponentPropsWithRef<T>;\n\n/**\n * Check if a key is an event handler key (on* with capital letter).\n */\nfunction isEventHandlerKey(key: string): boolean {\n return (\n key.charCodeAt(0) === 111 /* o */ &&\n key.charCodeAt(1) === 110 /* n */ &&\n key.charCodeAt(2) >= 65 /* A */ &&\n key.charCodeAt(2) <= 90 /* Z */\n );\n}\n\n/**\n * Check if a key/value pair is an event handler (includes undefined values).\n */\nfunction isEventHandler(key: string, value: unknown): boolean {\n return isEventHandlerKey(key) && (typeof value === 'function' || typeof value === 'undefined');\n}\n\n/**\n * Merge two event handlers - external runs first, ours runs second.\n */\nfunction mergeEventHandlers(\n ours: ((event: SyntheticEvent) => void) | undefined,\n theirs: ((event: SyntheticEvent) => void) | undefined\n): ((event: SyntheticEvent) => void) | undefined {\n if (!theirs) return ours;\n if (!ours) return theirs;\n\n return (event: SyntheticEvent) => {\n theirs(event);\n ours(event);\n };\n}\n\n/**\n * Merge two className values - concatenate strings.\n */\nfunction mergeClassNames(ours: string | undefined, theirs: string | undefined): string | undefined {\n if (theirs && ours) return `${theirs} ${ours}`;\n return theirs || ours;\n}\n\n/**\n * Merge two style objects - theirs overwrites conflicts.\n */\nfunction mergeStyles(ours: CSSProperties | undefined, theirs: CSSProperties | undefined): CSSProperties | undefined {\n if (!theirs) return ours;\n if (!ours) return theirs;\n return { ...ours, ...theirs };\n}\n\n/**\n * Merge a single props object into accumulated result.\n */\nfunction mergeOne<T extends ElementType>(\n merged: Record<string, unknown>,\n props: Props<T> | undefined\n): Record<string, unknown> {\n if (!props) return merged;\n\n for (const key in props) {\n const value = props[key as keyof typeof props];\n\n if (key === 'className') {\n merged.className = mergeClassNames(merged.className as string | undefined, value as string);\n } else if (key === 'style') {\n merged.style = mergeStyles(merged.style as CSSProperties | undefined, value as CSSProperties);\n } else if (isEventHandler(key, value)) {\n merged[key] = mergeEventHandlers(\n merged[key] as ((event: SyntheticEvent) => void) | undefined,\n value as (event: SyntheticEvent) => void\n );\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n}\n\n/**\n * Merge multiple props objects.\n *\n * - Event handlers (on*): chained - external first, ours second\n * - className: concatenated\n * - style: merged objects (external wins conflicts)\n * - other: last one wins\n *\n * @public\n * @example\n * ```ts\n * const merged = mergeProps(\n * { onClick: ourHandler, className: 'base' },\n * { onClick: theirHandler, className: 'custom' }\n * );\n * // { onClick: chainedHandler, className: 'custom base' }\n * ```\n */\nexport function mergeProps<T extends ElementType>(...propSets: (Props<T> | undefined)[]): Props<T> {\n let merged: Record<string, unknown> = {};\n\n for (const props of propSets) {\n merged = mergeOne(merged, props);\n }\n\n return merged as Props<T>;\n}\n"],"mappings":";;;;AAOA,SAAS,kBAAkB,KAAsB;CAC/C,OACE,IAAI,WAAW,CAAC,MAAM,OACtB,IAAI,WAAW,CAAC,MAAM,OACtB,IAAI,WAAW,CAAC,KAAK,MACrB,IAAI,WAAW,CAAC,KAAK;AAEzB;;;;AAKA,SAAS,eAAe,KAAa,OAAyB;CAC5D,OAAO,kBAAkB,GAAG,MAAM,OAAO,UAAU,cAAc,OAAO,UAAU;AACpF;;;;AAKA,SAAS,mBACP,MACA,QAC+C;CAC/C,IAAI,CAAC,QAAQ,OAAO;CACpB,IAAI,CAAC,MAAM,OAAO;CAElB,QAAQ,UAA0B;EAChC,OAAO,KAAK;EACZ,KAAK,KAAK;CACZ;AACF;;;;AAKA,SAAS,gBAAgB,MAA0B,QAAgD;CACjG,IAAI,UAAU,MAAM,OAAO,GAAG,OAAO,GAAG;CACxC,OAAO,UAAU;AACnB;;;;AAKA,SAAS,YAAY,MAAiC,QAA8D;CAClH,IAAI,CAAC,QAAQ,OAAO;CACpB,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO;EAAE,GAAG;EAAM,GAAG;CAAO;AAC9B;;;;AAKA,SAAS,SACP,QACA,OACyB;CACzB,IAAI,CAAC,OAAO,OAAO;CAEnB,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,QAAQ,MAAM;EAEpB,IAAI,QAAQ,aACV,OAAO,YAAY,gBAAgB,OAAO,WAAiC,KAAe;OACrF,IAAI,QAAQ,SACjB,OAAO,QAAQ,YAAY,OAAO,OAAoC,KAAsB;OACvF,IAAI,eAAe,KAAK,KAAK,GAClC,OAAO,OAAO,mBACZ,OAAO,MACP,KACF;OAEA,OAAO,OAAO;CAElB;CAEA,OAAO;AACT;;;;;;;;;;;;;;;;;;;AAoBA,SAAgB,WAAkC,GAAG,UAA8C;CACjG,IAAI,SAAkC,CAAC;CAEvC,KAAK,MAAM,SAAS,UAClB,SAAS,SAAS,QAAQ,KAAK;CAGjC,OAAO;AACT"}
1
+ {"version":3,"file":"merge-props.js","names":[],"sources":["../../../src/utils/merge-props.ts"],"sourcesContent":["import type { ComponentPropsWithRef, CSSProperties, ElementType, SyntheticEvent } from 'react';\n\ntype Props<T extends ElementType = ElementType> = ComponentPropsWithRef<T>;\n\n/** Check if a key is an event handler key (on* with capital letter). */\nfunction isEventHandlerKey(key: string): boolean {\n return (\n key.charCodeAt(0) === 111 /* o */ &&\n key.charCodeAt(1) === 110 /* n */ &&\n key.charCodeAt(2) >= 65 /* A */ &&\n key.charCodeAt(2) <= 90 /* Z */\n );\n}\n\n/** Check if a key/value pair is an event handler (includes undefined values). */\nfunction isEventHandler(key: string, value: unknown): boolean {\n return isEventHandlerKey(key) && (typeof value === 'function' || typeof value === 'undefined');\n}\n\n/** Merge two event handlers - external runs first, ours runs second. */\nfunction mergeEventHandlers(\n ours: ((event: SyntheticEvent) => void) | undefined,\n theirs: ((event: SyntheticEvent) => void) | undefined\n): ((event: SyntheticEvent) => void) | undefined {\n if (!theirs) return ours;\n\n if (!ours) return theirs;\n\n return (event: SyntheticEvent) => {\n theirs(event);\n ours(event);\n };\n}\n\n/** Merge two className values - concatenate strings. */\nfunction mergeClassNames(ours: string | undefined, theirs: string | undefined): string | undefined {\n if (theirs && ours) return `${theirs} ${ours}`;\n\n return theirs || ours;\n}\n\n/** Merge two style objects - theirs overwrites conflicts. */\nfunction mergeStyles(ours: CSSProperties | undefined, theirs: CSSProperties | undefined): CSSProperties | undefined {\n if (!theirs) return ours;\n\n if (!ours) return theirs;\n\n return { ...ours, ...theirs };\n}\n\n/** Merge a single props object into accumulated result. */\nfunction mergeOne<T extends ElementType>(\n merged: Record<string, unknown>,\n props: Props<T> | undefined\n): Record<string, unknown> {\n if (!props) return merged;\n\n for (const key in props) {\n const value = props[key as keyof typeof props];\n\n if (key === 'className') {\n merged.className = mergeClassNames(merged.className as string | undefined, value as string);\n } else if (key === 'style') {\n merged.style = mergeStyles(merged.style as CSSProperties | undefined, value as CSSProperties);\n } else if (isEventHandler(key, value)) {\n merged[key] = mergeEventHandlers(\n merged[key] as ((event: SyntheticEvent) => void) | undefined,\n value as (event: SyntheticEvent) => void\n );\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n}\n\n/**\n * Merge multiple props objects.\n *\n * - Event handlers (`on*`): chained right to left\n * - `className`: concatenated right to left\n * - `style`: merged with rightmost values winning conflicts\n * - Other props: rightmost value wins\n *\n * @example\n * ```ts\n * const merged = mergeProps(\n * { onClick: ourHandler, className: 'base' },\n * { onClick: theirHandler, className: 'custom' }\n * );\n * // { onClick: chainedHandler, className: 'custom base' }\n * ```;\n *\n * @param propSets - Props objects to merge in order.\n * @public\n */\nexport function mergeProps<T extends ElementType>(...propSets: (Props<T> | undefined)[]): Props<T> {\n let merged: Record<string, unknown> = {};\n\n for (const props of propSets) {\n merged = mergeOne(merged, props);\n }\n\n return merged as Props<T>;\n}\n"],"mappings":";;AAKA,SAAS,kBAAkB,KAAsB;CAC/C,OACE,IAAI,WAAW,CAAC,MAAM,OACtB,IAAI,WAAW,CAAC,MAAM,OACtB,IAAI,WAAW,CAAC,KAAK,MACrB,IAAI,WAAW,CAAC,KAAK;AAEzB;;AAGA,SAAS,eAAe,KAAa,OAAyB;CAC5D,OAAO,kBAAkB,GAAG,MAAM,OAAO,UAAU,cAAc,OAAO,UAAU;AACpF;;AAGA,SAAS,mBACP,MACA,QAC+C;CAC/C,IAAI,CAAC,QAAQ,OAAO;CAEpB,IAAI,CAAC,MAAM,OAAO;CAElB,QAAQ,UAA0B;EAChC,OAAO,KAAK;EACZ,KAAK,KAAK;CACZ;AACF;;AAGA,SAAS,gBAAgB,MAA0B,QAAgD;CACjG,IAAI,UAAU,MAAM,OAAO,GAAG,OAAO,GAAG;CAExC,OAAO,UAAU;AACnB;;AAGA,SAAS,YAAY,MAAiC,QAA8D;CAClH,IAAI,CAAC,QAAQ,OAAO;CAEpB,IAAI,CAAC,MAAM,OAAO;CAElB,OAAO;EAAE,GAAG;EAAM,GAAG;CAAO;AAC9B;;AAGA,SAAS,SACP,QACA,OACyB;CACzB,IAAI,CAAC,OAAO,OAAO;CAEnB,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,QAAQ,MAAM;EAEpB,IAAI,QAAQ,aACV,OAAO,YAAY,gBAAgB,OAAO,WAAiC,KAAe;OACrF,IAAI,QAAQ,SACjB,OAAO,QAAQ,YAAY,OAAO,OAAoC,KAAsB;OACvF,IAAI,eAAe,KAAK,KAAK,GAClC,OAAO,OAAO,mBACZ,OAAO,MACP,KACF;OAEA,OAAO,OAAO;CAElB;CAEA,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,WAAkC,GAAG,UAA8C;CACjG,IAAI,SAAkC,CAAC;CAEvC,KAAK,MAAM,SAAS,UAClB,SAAS,SAAS,QAAQ,KAAK;CAGjC,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-attach-iframe.js","names":[],"sources":["../../../src/utils/use-attach-iframe.ts"],"sourcesContent":["import type { MediaEngineHost } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\nexport function useAttachIframe<T extends HTMLIFrameElement>(media: MediaEngineHost): RefCallback<T> {\n return useCallback(\n (element: T | null) => {\n if (element) media.attach?.(element);\n else media.detach?.();\n return () => media.detach?.();\n },\n [media]\n );\n}\n"],"mappings":";;AAIA,SAAgB,gBAA6C,OAAwC;CACnG,OAAO,aACJ,YAAsB;EACrB,IAAI,SAAS,MAAM,SAAS,OAAO;OAC9B,MAAM,SAAS;EACpB,aAAa,MAAM,SAAS;CAC9B,GACA,CAAC,KAAK,CACR;AACF"}
1
+ {"version":3,"file":"use-attach-iframe.js","names":[],"sources":["../../../src/utils/use-attach-iframe.ts"],"sourcesContent":["import type { MediaEngineHost } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\nexport function useAttachIframe<T extends HTMLIFrameElement>(media: MediaEngineHost): RefCallback<T> {\n return useCallback(\n (element: T | null) => {\n if (element) media.attach?.(element);\n else media.detach?.();\n\n return () => media.detach?.();\n },\n [media]\n );\n}\n"],"mappings":";;AAIA,SAAgB,gBAA6C,OAAwC;CACnG,OAAO,aACJ,YAAsB;EACrB,IAAI,SAAS,MAAM,SAAS,OAAO;OAC9B,MAAM,SAAS;EAEpB,aAAa,MAAM,SAAS;CAC9B,GACA,CAAC,KAAK,CACR;AACF"}
@@ -1,5 +1,10 @@
1
1
  import { useCallback } from "react";
2
2
  //#region src/utils/use-attach-media.ts
3
+ /**
4
+ * Returns a callback ref that attaches an HTML media element to a media engine host and detaches it during cleanup.
5
+ *
6
+ * @param media - Media engine host to attach and detach.
7
+ */
3
8
  function useAttachMedia(media) {
4
9
  return useCallback((element) => {
5
10
  if (element) media.attach?.(element);
@@ -1 +1 @@
1
- {"version":3,"file":"use-attach-media.js","names":[],"sources":["../../../src/utils/use-attach-media.ts"],"sourcesContent":["import type { MediaEngineHost } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\nexport function useAttachMedia<T extends HTMLMediaElement>(media: MediaEngineHost): RefCallback<T> {\n return useCallback(\n (element: T | null) => {\n if (element) media.attach?.(element);\n else media.detach?.();\n return () => media.detach?.();\n },\n [media]\n );\n}\n"],"mappings":";;AAIA,SAAgB,eAA2C,OAAwC;CACjG,OAAO,aACJ,YAAsB;EACrB,IAAI,SAAS,MAAM,SAAS,OAAO;OAC9B,MAAM,SAAS;EACpB,aAAa,MAAM,SAAS;CAC9B,GACA,CAAC,KAAK,CACR;AACF"}
1
+ {"version":3,"file":"use-attach-media.js","names":[],"sources":["../../../src/utils/use-attach-media.ts"],"sourcesContent":["import type { MediaEngineHost } from '@videojs/media';\nimport type { RefCallback } from 'react';\nimport { useCallback } from 'react';\n\n/**\n * Returns a callback ref that attaches an HTML media element to a media engine host and detaches it during cleanup.\n *\n * @param media - Media engine host to attach and detach.\n */\nexport function useAttachMedia<T extends HTMLMediaElement>(media: MediaEngineHost): RefCallback<T> {\n return useCallback(\n (element: T | null) => {\n if (element) media.attach?.(element);\n else media.detach?.();\n\n return () => media.detach?.();\n },\n [media]\n );\n}\n"],"mappings":";;;;;;;AASA,SAAgB,eAA2C,OAAwC;CACjG,OAAO,aACJ,YAAsB;EACrB,IAAI,SAAS,MAAM,SAAS,OAAO;OAC9B,MAAM,SAAS;EAEpB,aAAa,MAAM,SAAS;CAC9B,GACA,CAAC,KAAK,CACR;AACF"}
@@ -16,10 +16,10 @@ function setRef(ref, value) {
16
16
  * Compose multiple refs into a single callback ref.
17
17
  *
18
18
  * @example
19
- * ```tsx
20
- * const composedRef = composeRefs(ref1, ref2, ref3);
21
- * return <div ref={composedRef} />;
22
- * ```
19
+ * ```tsx
20
+ * const composedRef = composeRefs(ref1, ref2, ref3);
21
+ * return <div ref={composedRef} />;
22
+ * ```;
23
23
  */
24
24
  function composeRefs(...refs) {
25
25
  const flatRefs = refs.flat();
@@ -40,10 +40,12 @@ function composeRefs(...refs) {
40
40
  * Memoized for stable reference.
41
41
  *
42
42
  * @example
43
- * ```tsx
44
- * const composedRef = useComposedRefs(forwardedRef, localRef);
45
- * return <div ref={composedRef} />;
46
- * ```
43
+ * ```tsx
44
+ * const composedRef = useComposedRefs(forwardedRef, localRef);
45
+ * return <div ref={composedRef} />;
46
+ * ```;
47
+ *
48
+ * @param refs - Refs to update from the returned callback.
47
49
  */
48
50
  function useComposedRefs(...refs) {
49
51
  return useCallback(composeRefs(...refs), [...refs]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-composed-refs.js","names":[],"sources":["../../../src/utils/use-composed-refs.ts"],"sourcesContent":["import { isFunction } from '@videojs/utils/predicate';\nimport type { Ref, RefCallback } from 'react';\n\nimport { useCallback } from 'react';\n\ntype OptionalRef<T> = Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value.\n *\n * Handles both callback refs and RefObject(s).\n *\n * @returns Cleanup function if the ref callback returned one (React 19+)\n */\nfunction setRef<T>(ref: OptionalRef<T>, value: T): (() => void) | void | undefined {\n if (isFunction(ref)) {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * Compose multiple refs into a single callback ref.\n *\n * @example\n * ```tsx\n * const composedRef = composeRefs(ref1, ref2, ref3);\n * return <div ref={composedRef} />;\n * ```\n */\nexport function composeRefs<T>(...refs: (OptionalRef<T> | OptionalRef<T>[])[]): RefCallback<T> {\n const flatRefs = refs.flat();\n\n return (node): (() => void) | void => {\n const cleanups = flatRefs.map((ref) => setRef(ref, node));\n\n // Only return cleanup if any refs returned one (React 19+).\n // React 18 handles cleanup by calling the ref callback with null.\n if (cleanups.some(isFunction)) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (isFunction(cleanup)) {\n cleanup();\n } else {\n setRef(flatRefs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * Hook that composes multiple refs into a single callback ref.\n *\n * Memoized for stable reference.\n *\n * @example\n * ```tsx\n * const composedRef = useComposedRefs(forwardedRef, localRef);\n * return <div ref={composedRef} />;\n * ```\n */\nexport function useComposedRefs<T>(...refs: OptionalRef<T>[]): RefCallback<T> {\n return useCallback(composeRefs(...refs), [...refs]);\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAS,OAAU,KAAqB,OAA2C;CACjF,IAAI,WAAW,GAAG,GAChB,OAAO,IAAI,KAAK;MACX,IAAI,QAAQ,QAAQ,QAAQ,KAAA,GACjC,IAAI,UAAU;AAElB;;;;;;;;;;AAWA,SAAgB,YAAe,GAAG,MAA6D;CAC7F,MAAM,WAAW,KAAK,KAAK;CAE3B,QAAQ,SAA8B;EACpC,MAAM,WAAW,SAAS,KAAK,QAAQ,OAAO,KAAK,IAAI,CAAC;EAIxD,IAAI,SAAS,KAAK,UAAU,GAC1B,aAAa;GACX,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;IACxC,MAAM,UAAU,SAAS;IACzB,IAAI,WAAW,OAAO,GACpB,QAAQ;SAER,OAAO,SAAS,IAAI,IAAI;GAE5B;EACF;CAEJ;AACF;;;;;;;;;;;;AAaA,SAAgB,gBAAmB,GAAG,MAAwC;CAC5E,OAAO,YAAY,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;AACpD"}
1
+ {"version":3,"file":"use-composed-refs.js","names":[],"sources":["../../../src/utils/use-composed-refs.ts"],"sourcesContent":["import { isFunction } from '@videojs/utils/predicate';\nimport type { Ref, RefCallback } from 'react';\nimport { useCallback } from 'react';\n\ntype OptionalRef<T> = Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value.\n *\n * Handles both callback refs and RefObject(s).\n *\n * @returns Cleanup function if the ref callback returned one (React 19+)\n */\nfunction setRef<T>(ref: OptionalRef<T>, value: T): (() => void) | void | undefined {\n if (isFunction(ref)) {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * Compose multiple refs into a single callback ref.\n *\n * @example\n * ```tsx\n * const composedRef = composeRefs(ref1, ref2, ref3);\n * return <div ref={composedRef} />;\n * ```;\n */\nexport function composeRefs<T>(...refs: (OptionalRef<T> | OptionalRef<T>[])[]): RefCallback<T> {\n const flatRefs = refs.flat();\n\n return (node): (() => void) | void => {\n const cleanups = flatRefs.map((ref) => setRef(ref, node));\n\n // Only return cleanup if any refs returned one (React 19+).\n // React 18 handles cleanup by calling the ref callback with null.\n if (cleanups.some(isFunction)) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n\n if (isFunction(cleanup)) {\n cleanup();\n } else {\n setRef(flatRefs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * Hook that composes multiple refs into a single callback ref.\n *\n * Memoized for stable reference.\n *\n * @example\n * ```tsx\n * const composedRef = useComposedRefs(forwardedRef, localRef);\n * return <div ref={composedRef} />;\n * ```;\n *\n * @param refs - Refs to update from the returned callback.\n */\nexport function useComposedRefs<T>(...refs: OptionalRef<T>[]): RefCallback<T> {\n return useCallback(composeRefs(...refs), [...refs]);\n}\n"],"mappings":";;;;;;;;;;AAaA,SAAS,OAAU,KAAqB,OAA2C;CACjF,IAAI,WAAW,GAAG,GAChB,OAAO,IAAI,KAAK;MACX,IAAI,QAAQ,QAAQ,QAAQ,KAAA,GACjC,IAAI,UAAU;AAElB;;;;;;;;;;AAWA,SAAgB,YAAe,GAAG,MAA6D;CAC7F,MAAM,WAAW,KAAK,KAAK;CAE3B,QAAQ,SAA8B;EACpC,MAAM,WAAW,SAAS,KAAK,QAAQ,OAAO,KAAK,IAAI,CAAC;EAIxD,IAAI,SAAS,KAAK,UAAU,GAC1B,aAAa;GACX,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;IACxC,MAAM,UAAU,SAAS;IAEzB,IAAI,WAAW,OAAO,GACpB,QAAQ;SAER,OAAO,SAAS,IAAI,IAAI;GAE5B;EACF;CAEJ;AACF;;;;;;;;;;;;;;AAeA,SAAgB,gBAAmB,GAAG,MAAwC;CAC5E,OAAO,YAAY,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;AACpD"}
@@ -2,18 +2,16 @@ import { useLatestRef } from "./use-latest-ref.js";
2
2
  import { useEffect, useRef } from "react";
3
3
  //#region src/utils/use-destroy.ts
4
4
  /**
5
- * Destroy an instance on unmount, deferring destruction to survive React
6
- * StrictMode's simulated unmount/re-mount cycle.
5
+ * Destroy an instance on unmount, deferring destruction to survive React StrictMode's simulated unmount/re-mount cycle.
7
6
  *
8
- * StrictMode runs effects, then immediately runs cleanup, then re-runs
9
- * effects — all synchronously. By deferring `destroy()` to a macrotask,
10
- * the re-mount effect can cancel it before it fires.
7
+ * StrictMode runs effects, then immediately runs cleanup, then re-runs effects — all synchronously. By deferring
8
+ * `destroy()` to a macrotask, the re-mount effect can cancel it before it fires.
11
9
  *
12
10
  * @param instance - Object with a `destroy()` method.
13
- * @param setup - Optional setup called on first mount. Skipped on StrictMode
14
- * re-mount since the previous setup was never torn down.
15
- * @param teardown - Optional teardown called right before `destroy()` on real
16
- * unmount. Skipped on StrictMode simulated unmount.
11
+ * @param setup - Optional setup called on first mount. Skipped on StrictMode re-mount since the previous setup was
12
+ * never torn down.
13
+ * @param teardown - Optional teardown called right before `destroy()` on real unmount. Skipped on StrictMode simulated
14
+ * unmount.
17
15
  */
18
16
  function useDestroy(instance, setup, teardown) {
19
17
  const pendingRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"use-destroy.js","names":[],"sources":["../../../src/utils/use-destroy.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useLatestRef } from './use-latest-ref';\n\ninterface Destroyable {\n destroy(): void;\n}\n\n/**\n * Destroy an instance on unmount, deferring destruction to survive React\n * StrictMode's simulated unmount/re-mount cycle.\n *\n * StrictMode runs effects, then immediately runs cleanup, then re-runs\n * effects — all synchronously. By deferring `destroy()` to a macrotask,\n * the re-mount effect can cancel it before it fires.\n *\n * @param instance - Object with a `destroy()` method.\n * @param setup - Optional setup called on first mount. Skipped on StrictMode\n * re-mount since the previous setup was never torn down.\n * @param teardown - Optional teardown called right before `destroy()` on real\n * unmount. Skipped on StrictMode simulated unmount.\n */\nexport function useDestroy(instance: Destroyable, setup?: () => void, teardown?: () => void): void {\n const pendingRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const setupRef = useLatestRef(setup);\n const teardownRef = useLatestRef(teardown);\n\n useEffect(() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setupRef.current?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => {\n teardownRef.current?.();\n instance.destroy();\n }, 0);\n };\n }, [instance]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,SAAgB,WAAW,UAAuB,OAAoB,UAA6B;CACjG,MAAM,aAAa,OAA6C,IAAI;CACpE,MAAM,WAAW,aAAa,KAAK;CACnC,MAAM,cAAc,aAAa,QAAQ;CAEzC,gBAAgB;EACd,IAAI,WAAW,YAAY,MAAM;GAC/B,aAAa,WAAW,OAAO;GAC/B,WAAW,UAAU;EACvB,OACE,SAAS,UAAU;EAGrB,aAAa;GACX,WAAW,UAAU,iBAAiB;IACpC,YAAY,UAAU;IACtB,SAAS,QAAQ;GACnB,GAAG,CAAC;EACN;CACF,GAAG,CAAC,QAAQ,CAAC;AACf"}
1
+ {"version":3,"file":"use-destroy.js","names":[],"sources":["../../../src/utils/use-destroy.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useLatestRef } from './use-latest-ref';\n\ninterface Destroyable {\n destroy(): void;\n}\n\n/**\n * Destroy an instance on unmount, deferring destruction to survive React StrictMode's simulated unmount/re-mount cycle.\n *\n * StrictMode runs effects, then immediately runs cleanup, then re-runs effects — all synchronously. By deferring\n * `destroy()` to a macrotask, the re-mount effect can cancel it before it fires.\n *\n * @param instance - Object with a `destroy()` method.\n * @param setup - Optional setup called on first mount. Skipped on StrictMode re-mount since the previous setup was\n * never torn down.\n * @param teardown - Optional teardown called right before `destroy()` on real unmount. Skipped on StrictMode simulated\n * unmount.\n */\nexport function useDestroy(instance: Destroyable, setup?: () => void, teardown?: () => void): void {\n const pendingRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const setupRef = useLatestRef(setup);\n const teardownRef = useLatestRef(teardown);\n\n useEffect(() => {\n if (pendingRef.current !== null) {\n clearTimeout(pendingRef.current);\n pendingRef.current = null;\n } else {\n setupRef.current?.();\n }\n\n return () => {\n pendingRef.current = setTimeout(() => {\n teardownRef.current?.();\n instance.destroy();\n }, 0);\n };\n }, [instance]);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,SAAgB,WAAW,UAAuB,OAAoB,UAA6B;CACjG,MAAM,aAAa,OAA6C,IAAI;CACpE,MAAM,WAAW,aAAa,KAAK;CACnC,MAAM,cAAc,aAAa,QAAQ;CAEzC,gBAAgB;EACd,IAAI,WAAW,YAAY,MAAM;GAC/B,aAAa,WAAW,OAAO;GAC/B,WAAW,UAAU;EACvB,OACE,SAAS,UAAU;EAGrB,aAAa;GACX,WAAW,UAAU,iBAAiB;IACpC,YAAY,UAAU;IACtB,SAAS,QAAQ;GACnB,GAAG,CAAC;EACN;CACF,GAAG,CAAC,QAAQ,CAAC;AACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-force-render.js","names":[],"sources":["../../../src/utils/use-force-render.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nexport function useForceRender() {\n const [, forceRender] = useReducer((c: number) => c + 1, 0);\n return forceRender;\n}\n\nexport namespace useForceRender {\n export type Result = () => void;\n}\n"],"mappings":";;AAEA,SAAgB,iBAAiB;CAC/B,MAAM,GAAG,eAAe,YAAY,MAAc,IAAI,GAAG,CAAC;CAC1D,OAAO;AACT"}
1
+ {"version":3,"file":"use-force-render.js","names":[],"sources":["../../../src/utils/use-force-render.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nexport function useForceRender() {\n const [, forceRender] = useReducer((c: number) => c + 1, 0);\n\n return forceRender;\n}\n\nexport namespace useForceRender {\n export type Result = () => void;\n}\n"],"mappings":";;AAEA,SAAgB,iBAAiB;CAC/B,MAAM,GAAG,eAAe,YAAY,MAAc,IAAI,GAAG,CAAC;CAE1D,OAAO;AACT"}
@@ -3,8 +3,10 @@ import { useRef } from "react";
3
3
  /**
4
4
  * Keep a ref that always points to the latest value.
5
5
  *
6
- * Useful for capturing callbacks or derived values inside closures
7
- * that are created once (e.g. factory callbacks) without stale reads.
6
+ * Useful for capturing callbacks or derived values inside closures that are created once (e.g. factory callbacks)
7
+ * without stale reads.
8
+ *
9
+ * @param value - Value the ref should expose after each render.
8
10
  */
9
11
  function useLatestRef(value) {
10
12
  const ref = useRef(value);
@@ -1 +1 @@
1
- {"version":3,"file":"use-latest-ref.js","names":[],"sources":["../../../src/utils/use-latest-ref.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Keep a ref that always points to the latest value.\n *\n * Useful for capturing callbacks or derived values inside closures\n * that are created once (e.g. factory callbacks) without stale reads.\n */\nexport function useLatestRef<Value>(value: Value): Readonly<{ current: Value }> {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n\nexport namespace useLatestRef {\n export type Result<Value> = Readonly<{ current: Value }>;\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,aAAoB,OAA4C;CAC9E,MAAM,MAAM,OAAO,KAAK;CACxB,IAAI,UAAU;CACd,OAAO;AACT"}
1
+ {"version":3,"file":"use-latest-ref.js","names":[],"sources":["../../../src/utils/use-latest-ref.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Keep a ref that always points to the latest value.\n *\n * Useful for capturing callbacks or derived values inside closures that are created once (e.g. factory callbacks)\n * without stale reads.\n *\n * @param value - Value the ref should expose after each render.\n */\nexport function useLatestRef<Value>(value: Value): Readonly<{ current: Value }> {\n const ref = useRef(value);\n\n ref.current = value;\n return ref;\n}\n\nexport namespace useLatestRef {\n export type Result<Value> = Readonly<{ current: Value }>;\n}\n"],"mappings":";;;;;;;;;;AAUA,SAAgB,aAAoB,OAA4C;CAC9E,MAAM,MAAM,OAAO,KAAK;CAExB,IAAI,UAAU;CACd,OAAO;AACT"}