@videojs/react 10.0.0-beta.26 → 10.0.0-beta.27

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 (1027) hide show
  1. package/dist/default/__generated__/skins/default-video/styles/base.css +25 -0
  2. package/dist/default/__generated__/skins/default-video/styles/buttons.css +152 -0
  3. package/dist/default/__generated__/skins/default-video/styles/container.css +45 -0
  4. package/dist/default/__generated__/skins/default-video/styles/controls.css +45 -0
  5. package/dist/default/__generated__/skins/default-video/styles/overlays.css +11 -0
  6. package/dist/default/__generated__/skins/default-video/styles/popups.css +45 -0
  7. package/dist/default/__generated__/skins/default-video/styles/poster.css +47 -0
  8. package/dist/default/__generated__/skins/default-video/styles/sliders.css +112 -0
  9. package/dist/default/__generated__/skins/default-video/styles/styles.css +514 -0
  10. package/dist/default/__generated__/skins/default-video/styles/theme.css +22 -0
  11. package/dist/default/i18n/context.js +3 -3
  12. package/dist/default/i18n/context.js.map +1 -1
  13. package/dist/default/i18n/locales/id/register.js +8 -0
  14. package/dist/default/i18n/locales/id/register.js.map +1 -0
  15. package/dist/default/i18n/locales/id.js +2 -0
  16. package/dist/default/i18n/locales/lt/register.js +8 -0
  17. package/dist/default/i18n/locales/lt/register.js.map +1 -0
  18. package/dist/default/i18n/locales/lt.js +2 -0
  19. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/airplay-exit.js +1 -2
  21. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  23. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/cast-enter.js +2 -45
  25. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/cast-exit.js +4 -61
  27. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  29. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  31. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  33. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  34. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  35. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  37. package/dist/default/icons/dist/react/default/quality.js +1 -1
  38. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  39. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  40. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  41. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  42. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  43. package/dist/default/icons/dist/react/default/spinner.js +1 -1
  44. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  45. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  46. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  47. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  48. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  49. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/airplay-exit.js +1 -2
  51. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  53. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/cast-enter.js +2 -45
  55. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/cast-exit.js +4 -61
  57. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  59. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  61. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  63. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  65. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  66. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  67. package/dist/default/icons/dist/react/minimal/quality.js +1 -1
  68. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  69. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  71. package/dist/default/icons/dist/react/minimal/speech.js +7 -40
  72. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  73. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  74. package/dist/default/icons/dist/react/minimal/spinner.js +1 -1
  75. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  76. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  77. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  78. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  79. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  80. package/dist/default/index.js +7 -3
  81. package/dist/default/media/cloudflare-video/index.js +2 -0
  82. package/dist/default/media/cloudflare-video/media.js +38 -0
  83. package/dist/default/media/cloudflare-video/media.js.map +1 -0
  84. package/dist/default/media/google-cast/google-cast.js +3 -3
  85. package/dist/default/media/google-cast/google-cast.js.map +1 -1
  86. package/dist/default/media/hls-audio/index.js +2 -0
  87. package/dist/default/media/hls-audio/media.js +21 -0
  88. package/dist/default/media/hls-audio/media.js.map +1 -0
  89. package/dist/default/media/hls-background-video/index.js +2 -0
  90. package/dist/default/media/hls-background-video/media.js +45 -0
  91. package/dist/default/media/hls-background-video/media.js.map +1 -0
  92. package/dist/default/media/hls-video/index.js +2 -0
  93. package/dist/{dev/media/simple-hls-video → default/media/hls-video}/media.js +6 -7
  94. package/dist/default/media/hls-video/media.js.map +1 -0
  95. package/dist/default/media/mux-audio/{media.js → hls-js.js} +2 -2
  96. package/dist/default/media/mux-audio/hls-js.js.map +1 -0
  97. package/dist/default/media/mux-audio/index.js +1 -1
  98. package/dist/default/media/mux-audio/spf.js +26 -0
  99. package/dist/default/media/mux-audio/spf.js.map +1 -0
  100. package/dist/default/media/mux-background-video/index.js +2 -0
  101. package/dist/default/media/mux-data/mux-data.js +7 -3
  102. package/dist/default/media/mux-data/mux-data.js.map +1 -1
  103. package/dist/default/media/mux-video/hls-js.js +27 -0
  104. package/dist/default/media/mux-video/hls-js.js.map +1 -0
  105. package/dist/default/media/mux-video/index.js +1 -1
  106. package/dist/default/media/mux-video/spf.js +27 -0
  107. package/dist/default/media/mux-video/spf.js.map +1 -0
  108. package/dist/default/media/mux-video/storyboard.js +43 -0
  109. package/dist/default/media/mux-video/storyboard.js.map +1 -0
  110. package/dist/default/media/spotify-audio/index.js +2 -0
  111. package/dist/default/media/spotify-audio/media.js +40 -0
  112. package/dist/default/media/spotify-audio/media.js.map +1 -0
  113. package/dist/default/media/tiktok-video/index.js +2 -0
  114. package/dist/default/media/tiktok-video/media.js +38 -0
  115. package/dist/default/media/tiktok-video/media.js.map +1 -0
  116. package/dist/default/media/twitch-video/index.js +2 -0
  117. package/dist/default/media/twitch-video/media.js +38 -0
  118. package/dist/default/media/twitch-video/media.js.map +1 -0
  119. package/dist/default/media/vimeo-video/media.js +4 -4
  120. package/dist/default/media/vimeo-video/media.js.map +1 -1
  121. package/dist/default/media/youtube-video/index.js +2 -0
  122. package/dist/default/media/youtube-video/media.js +37 -0
  123. package/dist/default/media/youtube-video/media.js.map +1 -0
  124. package/dist/default/player/container.js +8 -3
  125. package/dist/default/player/container.js.map +1 -1
  126. package/dist/default/player/context.js +6 -10
  127. package/dist/default/player/context.js.map +1 -1
  128. package/dist/default/player/create-player.js +44 -13
  129. package/dist/default/player/create-player.js.map +1 -1
  130. package/dist/default/player/popup-group-context.js +18 -0
  131. package/dist/default/player/popup-group-context.js.map +1 -0
  132. package/dist/default/presets/audio/index.js +8 -1
  133. package/dist/default/presets/audio/index.js.map +1 -0
  134. package/dist/default/presets/audio/minimal-skin.css +426 -295
  135. package/dist/default/presets/audio/minimal-skin.js +12 -19
  136. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  137. package/dist/default/presets/audio/minimal-skin.tailwind.js +81 -20
  138. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  139. package/dist/default/presets/audio/player.js +13 -0
  140. package/dist/default/presets/audio/player.js.map +1 -0
  141. package/dist/default/presets/audio/skin.css +458 -341
  142. package/dist/default/presets/audio/skin.js +13 -19
  143. package/dist/default/presets/audio/skin.js.map +1 -1
  144. package/dist/default/presets/audio/skin.tailwind.js +14 -19
  145. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  146. package/dist/default/presets/background/index.js +8 -1
  147. package/dist/default/presets/background/index.js.map +1 -0
  148. package/dist/default/presets/background/player.js +13 -0
  149. package/dist/default/presets/background/player.js.map +1 -0
  150. package/dist/default/presets/background/skin.css +3 -3
  151. package/dist/default/presets/live-audio/index.js +8 -1
  152. package/dist/default/presets/live-audio/index.js.map +1 -0
  153. package/dist/default/presets/live-audio/minimal-skin.css +426 -295
  154. package/dist/default/presets/live-audio/minimal-skin.js +2 -2
  155. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  156. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +4 -4
  157. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  158. package/dist/default/presets/live-audio/player.js +13 -0
  159. package/dist/default/presets/live-audio/player.js.map +1 -0
  160. package/dist/default/presets/live-audio/skin.css +458 -341
  161. package/dist/default/presets/live-audio/skin.js +2 -2
  162. package/dist/default/presets/live-audio/skin.js.map +1 -1
  163. package/dist/default/presets/live-audio/skin.tailwind.js +4 -4
  164. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  165. package/dist/default/presets/live-video/index.js +8 -1
  166. package/dist/default/presets/live-video/index.js.map +1 -0
  167. package/dist/default/presets/live-video/minimal-skin.css +655 -588
  168. package/dist/default/presets/live-video/minimal-skin.js +12 -12
  169. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  170. package/dist/default/presets/live-video/minimal-skin.tailwind.js +27 -26
  171. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  172. package/dist/default/presets/live-video/player.js +13 -0
  173. package/dist/default/presets/live-video/player.js.map +1 -0
  174. package/dist/default/presets/live-video/skin.css +656 -618
  175. package/dist/default/presets/live-video/skin.js +11 -11
  176. package/dist/default/presets/live-video/skin.js.map +1 -1
  177. package/dist/default/presets/live-video/skin.tailwind.js +24 -112
  178. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  179. package/dist/default/presets/video/index.js +8 -1
  180. package/dist/default/presets/video/index.js.map +1 -0
  181. package/dist/default/presets/video/minimal-skin.css +655 -588
  182. package/dist/default/presets/video/minimal-skin.js +212 -211
  183. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  184. package/dist/default/presets/video/minimal-skin.tailwind.js +226 -233
  185. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  186. package/dist/default/presets/video/player.js +13 -0
  187. package/dist/default/presets/video/player.js.map +1 -0
  188. package/dist/default/presets/video/skin.css +656 -618
  189. package/dist/default/presets/video/skin.js +212 -207
  190. package/dist/default/presets/video/skin.js.map +1 -1
  191. package/dist/default/presets/video/skin.tailwind.js +224 -227
  192. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  193. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  194. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  195. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  196. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  197. package/dist/default/skins/dist/default/default/tailwind/components/button.js +4 -4
  198. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  199. package/dist/default/skins/dist/default/default/tailwind/components/container.js +8 -0
  200. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  201. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  202. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  203. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  204. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  205. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  206. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  207. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  208. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  209. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  210. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  211. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -12
  212. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  213. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  214. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  215. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +1 -1
  216. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  217. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -1
  218. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  219. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  220. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  221. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +17 -9
  222. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  223. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  224. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  225. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  226. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  227. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  228. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  229. package/dist/default/skins/dist/default/default/tailwind/components/time.js +2 -2
  230. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  231. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  232. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  233. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  234. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  235. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  236. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  237. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  238. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  239. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  240. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  241. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  242. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  243. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  244. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  245. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  246. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  247. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  248. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  249. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  250. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  251. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  252. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  253. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  254. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  255. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  256. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  257. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  258. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  259. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  260. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  261. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  262. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  263. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  264. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  265. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  266. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  267. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  268. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  269. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  270. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  271. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  272. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  273. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  274. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  275. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  276. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  277. package/dist/default/ui/audio-track/use-audio-track-options.js +8 -23
  278. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  279. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  280. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  281. package/dist/default/ui/audio-track-radio-group/index.js +2 -0
  282. package/dist/default/ui/captions-radio-group/captions-radio-group.js +65 -0
  283. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  284. package/dist/default/ui/captions-radio-group/index.js +2 -1
  285. package/dist/default/ui/captions-radio-group/use-captions-options.js +12 -29
  286. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  287. package/dist/default/ui/hooks/create-radio-options-hook.js +43 -0
  288. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -0
  289. package/dist/default/ui/hooks/use-slider.js +49 -13
  290. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  291. package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-indicator-visibility.js +1 -1
  292. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  293. package/dist/default/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  294. package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  295. package/dist/default/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  296. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  297. package/dist/default/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  298. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  299. package/dist/default/ui/menu/context.js +1 -11
  300. package/dist/default/ui/menu/context.js.map +1 -1
  301. package/dist/default/ui/menu/index.parts.js +3 -9
  302. package/dist/default/ui/menu/index.parts.js.map +1 -1
  303. package/dist/default/ui/menu/menu-checkbox-item.js +4 -1
  304. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  305. package/dist/default/ui/menu/menu-content.js +78 -236
  306. package/dist/default/ui/menu/menu-content.js.map +1 -1
  307. package/dist/default/ui/menu/menu-item.js +11 -18
  308. package/dist/default/ui/menu/menu-item.js.map +1 -1
  309. package/dist/default/ui/menu/menu-keyboard.js +31 -0
  310. package/dist/default/ui/menu/menu-keyboard.js.map +1 -0
  311. package/dist/default/ui/menu/menu-radio-item.js +8 -6
  312. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  313. package/dist/default/ui/menu/menu-root.js +46 -61
  314. package/dist/default/ui/menu/menu-root.js.map +1 -1
  315. package/dist/default/ui/menu/menu-trigger.js +50 -87
  316. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  317. package/dist/default/ui/mute-button/mute-button.js +2 -1
  318. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  319. package/dist/default/ui/playback-rate/use-playback-rate-options.js +14 -22
  320. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  321. package/dist/default/ui/playback-rate-radio-group/index.js +2 -0
  322. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  323. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  324. package/dist/default/ui/popover/popover-popup.js +10 -80
  325. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  326. package/dist/default/ui/popover/popover-root.js +2 -1
  327. package/dist/default/ui/popover/popover-root.js.map +1 -1
  328. package/dist/default/ui/popover/popover-trigger.js +4 -5
  329. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  330. package/dist/default/ui/popover/use-popup-position.js +34 -0
  331. package/dist/default/ui/popover/use-popup-position.js.map +1 -0
  332. package/dist/default/ui/poster/poster.js +8 -4
  333. package/dist/default/ui/poster/poster.js.map +1 -1
  334. package/dist/default/ui/quality/use-quality-options.js +9 -30
  335. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  336. package/dist/default/ui/quality-radio-group/index.js +2 -0
  337. package/dist/default/ui/quality-radio-group/quality-radio-group.js +66 -0
  338. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  339. package/dist/default/ui/seek-indicator/seek-indicator-root.js +1 -1
  340. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  341. package/dist/default/ui/slider/context.js +7 -2
  342. package/dist/default/ui/slider/context.js.map +1 -1
  343. package/dist/default/ui/slider/slider-preview.js +2 -3
  344. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  345. package/dist/default/ui/slider/slider-root.js +3 -1
  346. package/dist/default/ui/slider/slider-root.js.map +1 -1
  347. package/dist/default/ui/slider/slider-thumbnail.js +2 -2
  348. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  349. package/dist/default/ui/slider/slider-value.js +3 -2
  350. package/dist/default/ui/slider/slider-value.js.map +1 -1
  351. package/dist/default/ui/status-announcer/status-announcer.js +7 -4
  352. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  353. package/dist/default/ui/status-indicator/status-indicator-root.js +2 -2
  354. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  355. package/dist/default/ui/time/time-value.js +13 -5
  356. package/dist/default/ui/time/time-value.js.map +1 -1
  357. package/dist/default/ui/time-slider/index.parts.js +5 -1
  358. package/dist/default/ui/time-slider/index.parts.js.map +1 -1
  359. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  360. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  361. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  362. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  363. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  364. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  365. package/dist/default/ui/time-slider/time-slider-root.js +6 -4
  366. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  367. package/dist/default/ui/tooltip/tooltip-popup.js +13 -82
  368. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  369. package/dist/default/ui/tooltip/tooltip-root.js +5 -1
  370. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  371. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  372. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  373. package/dist/default/ui/volume-indicator/volume-indicator-root.js +1 -1
  374. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  375. package/dist/default/ui/volume-slider/volume-slider-root.js +10 -4
  376. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  377. package/dist/dev/__generated__/skins/default-video/styles/base.css +25 -0
  378. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +152 -0
  379. package/dist/dev/__generated__/skins/default-video/styles/container.css +45 -0
  380. package/dist/dev/__generated__/skins/default-video/styles/controls.css +45 -0
  381. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +11 -0
  382. package/dist/dev/__generated__/skins/default-video/styles/popups.css +45 -0
  383. package/dist/dev/__generated__/skins/default-video/styles/poster.css +47 -0
  384. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +112 -0
  385. package/dist/dev/__generated__/skins/default-video/styles/styles.css +514 -0
  386. package/dist/dev/__generated__/skins/default-video/styles/theme.css +22 -0
  387. package/dist/dev/_virtual/_rolldown/runtime.js +15 -1
  388. package/dist/dev/i18n/context.d.ts.map +1 -1
  389. package/dist/dev/i18n/context.js +3 -3
  390. package/dist/dev/i18n/context.js.map +1 -1
  391. package/dist/dev/i18n/locales/id/register.d.ts +1 -0
  392. package/dist/dev/i18n/locales/id/register.js +8 -0
  393. package/dist/dev/i18n/locales/id/register.js.map +1 -0
  394. package/dist/dev/i18n/locales/id.d.ts +2 -0
  395. package/dist/dev/i18n/locales/id.js +2 -0
  396. package/dist/dev/i18n/locales/lt/register.d.ts +1 -0
  397. package/dist/dev/i18n/locales/lt/register.js +8 -0
  398. package/dist/dev/i18n/locales/lt/register.js.map +1 -0
  399. package/dist/dev/i18n/locales/lt.d.ts +2 -0
  400. package/dist/dev/i18n/locales/lt.js +2 -0
  401. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  402. package/dist/dev/icons/dist/react/default/airplay-exit.js +1 -2
  403. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  404. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  405. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  406. package/dist/dev/icons/dist/react/default/cast-enter.js +2 -45
  407. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  408. package/dist/dev/icons/dist/react/default/cast-exit.js +4 -61
  409. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  410. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  411. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  412. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  413. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  414. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  415. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  416. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  417. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  418. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  419. package/dist/dev/icons/dist/react/default/quality.js +1 -1
  420. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  421. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  422. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  423. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  424. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  425. package/dist/dev/icons/dist/react/default/spinner.js +1 -1
  426. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  427. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  428. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  429. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  430. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  431. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  432. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +1 -2
  433. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  434. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  435. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  436. package/dist/dev/icons/dist/react/minimal/cast-enter.js +2 -45
  437. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  438. package/dist/dev/icons/dist/react/minimal/cast-exit.js +4 -61
  439. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  440. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  441. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  442. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  443. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  444. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  445. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  446. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  447. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  448. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  449. package/dist/dev/icons/dist/react/minimal/quality.js +1 -1
  450. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  451. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  452. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  453. package/dist/dev/icons/dist/react/minimal/speech.js +7 -40
  454. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  455. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  456. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -1
  457. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  458. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  459. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  460. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  461. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  462. package/dist/dev/index.d.ts +18 -2
  463. package/dist/dev/index.d.ts.map +1 -0
  464. package/dist/dev/index.js +7 -3
  465. package/dist/dev/media/cloudflare-video/index.d.ts +2 -0
  466. package/dist/dev/media/cloudflare-video/index.js +2 -0
  467. package/dist/dev/media/cloudflare-video/media.d.ts +13 -0
  468. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -0
  469. package/dist/dev/media/cloudflare-video/media.js +38 -0
  470. package/dist/dev/media/cloudflare-video/media.js.map +1 -0
  471. package/dist/dev/media/google-cast/google-cast.d.ts +3 -3
  472. package/dist/dev/media/google-cast/google-cast.js +3 -3
  473. package/dist/dev/media/google-cast/google-cast.js.map +1 -1
  474. package/dist/dev/media/hls-audio/index.d.ts +2 -0
  475. package/dist/dev/media/hls-audio/index.js +2 -0
  476. package/dist/dev/media/hls-audio/media.d.ts +13 -0
  477. package/dist/dev/media/hls-audio/media.d.ts.map +1 -0
  478. package/dist/dev/media/hls-audio/media.js +21 -0
  479. package/dist/dev/media/hls-audio/media.js.map +1 -0
  480. package/dist/dev/media/hls-background-video/index.d.ts +2 -0
  481. package/dist/dev/media/hls-background-video/index.js +2 -0
  482. package/dist/dev/media/hls-background-video/media.d.ts +28 -0
  483. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -0
  484. package/dist/dev/media/hls-background-video/media.js +45 -0
  485. package/dist/dev/media/hls-background-video/media.js.map +1 -0
  486. package/dist/dev/media/hls-video/index.d.ts +2 -0
  487. package/dist/dev/media/hls-video/index.js +2 -0
  488. package/dist/dev/media/hls-video/media.d.ts +13 -0
  489. package/dist/dev/media/hls-video/media.d.ts.map +1 -0
  490. package/dist/{default/media/simple-hls-video → dev/media/hls-video}/media.js +6 -7
  491. package/dist/dev/media/hls-video/media.js.map +1 -0
  492. package/dist/dev/media/mux-audio/{media.d.ts → hls-js.d.ts} +3 -3
  493. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -0
  494. package/dist/dev/media/mux-audio/{media.js → hls-js.js} +2 -2
  495. package/dist/dev/media/mux-audio/hls-js.js.map +1 -0
  496. package/dist/dev/media/mux-audio/index.d.ts +1 -1
  497. package/dist/dev/media/mux-audio/index.js +1 -1
  498. package/dist/dev/media/mux-audio/spf.d.ts +14 -0
  499. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -0
  500. package/dist/dev/media/mux-audio/spf.js +26 -0
  501. package/dist/dev/media/mux-audio/spf.js.map +1 -0
  502. package/dist/dev/media/mux-background-video/index.d.ts +3 -0
  503. package/dist/dev/media/mux-background-video/index.js +2 -0
  504. package/dist/dev/media/mux-data/mux-data.d.ts +7 -3
  505. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
  506. package/dist/dev/media/mux-data/mux-data.js +7 -3
  507. package/dist/dev/media/mux-data/mux-data.js.map +1 -1
  508. package/dist/dev/media/mux-video/{media.d.ts → hls-js.d.ts} +3 -3
  509. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -0
  510. package/dist/dev/media/mux-video/hls-js.js +27 -0
  511. package/dist/dev/media/mux-video/hls-js.js.map +1 -0
  512. package/dist/dev/media/mux-video/index.d.ts +1 -1
  513. package/dist/dev/media/mux-video/index.js +1 -1
  514. package/dist/dev/media/mux-video/spf.d.ts +14 -0
  515. package/dist/dev/media/mux-video/spf.d.ts.map +1 -0
  516. package/dist/dev/media/mux-video/spf.js +27 -0
  517. package/dist/dev/media/mux-video/spf.js.map +1 -0
  518. package/dist/dev/media/mux-video/storyboard.js +43 -0
  519. package/dist/dev/media/mux-video/storyboard.js.map +1 -0
  520. package/dist/dev/media/spotify-audio/index.d.ts +2 -0
  521. package/dist/dev/media/spotify-audio/index.js +2 -0
  522. package/dist/dev/media/spotify-audio/media.d.ts +13 -0
  523. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -0
  524. package/dist/dev/media/spotify-audio/media.js +40 -0
  525. package/dist/dev/media/spotify-audio/media.js.map +1 -0
  526. package/dist/dev/media/tiktok-video/index.d.ts +2 -0
  527. package/dist/dev/media/tiktok-video/index.js +2 -0
  528. package/dist/dev/media/tiktok-video/media.d.ts +13 -0
  529. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -0
  530. package/dist/dev/media/tiktok-video/media.js +38 -0
  531. package/dist/dev/media/tiktok-video/media.js.map +1 -0
  532. package/dist/dev/media/twitch-video/index.d.ts +2 -0
  533. package/dist/dev/media/twitch-video/index.js +2 -0
  534. package/dist/dev/media/twitch-video/media.d.ts +13 -0
  535. package/dist/dev/media/twitch-video/media.d.ts.map +1 -0
  536. package/dist/dev/media/twitch-video/media.js +38 -0
  537. package/dist/dev/media/twitch-video/media.js.map +1 -0
  538. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
  539. package/dist/dev/media/vimeo-video/media.js +4 -4
  540. package/dist/dev/media/vimeo-video/media.js.map +1 -1
  541. package/dist/dev/media/youtube-video/index.d.ts +2 -0
  542. package/dist/dev/media/youtube-video/index.js +2 -0
  543. package/dist/dev/media/youtube-video/media.d.ts +13 -0
  544. package/dist/dev/media/youtube-video/media.d.ts.map +1 -0
  545. package/dist/dev/media/youtube-video/media.js +37 -0
  546. package/dist/dev/media/youtube-video/media.js.map +1 -0
  547. package/dist/dev/player/container.d.ts.map +1 -1
  548. package/dist/dev/player/container.js +8 -3
  549. package/dist/dev/player/container.js.map +1 -1
  550. package/dist/dev/player/context.d.ts +7 -8
  551. package/dist/dev/player/context.d.ts.map +1 -1
  552. package/dist/dev/player/context.js +6 -10
  553. package/dist/dev/player/context.js.map +1 -1
  554. package/dist/dev/player/create-player.d.ts +6 -8
  555. package/dist/dev/player/create-player.d.ts.map +1 -1
  556. package/dist/dev/player/create-player.js +45 -14
  557. package/dist/dev/player/create-player.js.map +1 -1
  558. package/dist/dev/player/popup-group-context.js +18 -0
  559. package/dist/dev/player/popup-group-context.js.map +1 -0
  560. package/dist/dev/presets/audio/index.d.ts +2 -1
  561. package/dist/dev/presets/audio/index.js +8 -1
  562. package/dist/dev/presets/audio/index.js.map +1 -0
  563. package/dist/dev/presets/audio/minimal-skin.css +426 -295
  564. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  565. package/dist/dev/presets/audio/minimal-skin.js +12 -19
  566. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  567. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  568. package/dist/dev/presets/audio/minimal-skin.tailwind.js +81 -20
  569. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  570. package/dist/dev/presets/audio/player.d.ts +13 -0
  571. package/dist/dev/presets/audio/player.d.ts.map +1 -0
  572. package/dist/dev/presets/audio/player.js +13 -0
  573. package/dist/dev/presets/audio/player.js.map +1 -0
  574. package/dist/dev/presets/audio/skin.css +458 -341
  575. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  576. package/dist/dev/presets/audio/skin.js +13 -19
  577. package/dist/dev/presets/audio/skin.js.map +1 -1
  578. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  579. package/dist/dev/presets/audio/skin.tailwind.js +14 -19
  580. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  581. package/dist/dev/presets/background/index.d.ts +2 -1
  582. package/dist/dev/presets/background/index.js +8 -1
  583. package/dist/dev/presets/background/index.js.map +1 -0
  584. package/dist/dev/presets/background/player.d.ts +10 -0
  585. package/dist/dev/presets/background/player.d.ts.map +1 -0
  586. package/dist/dev/presets/background/player.js +13 -0
  587. package/dist/dev/presets/background/player.js.map +1 -0
  588. package/dist/dev/presets/background/skin.css +3 -3
  589. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  590. package/dist/dev/presets/live-audio/index.js +8 -1
  591. package/dist/dev/presets/live-audio/index.js.map +1 -0
  592. package/dist/dev/presets/live-audio/minimal-skin.css +426 -295
  593. package/dist/dev/presets/live-audio/minimal-skin.js +2 -2
  594. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  595. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +4 -4
  596. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  597. package/dist/dev/presets/live-audio/player.d.ts +13 -0
  598. package/dist/dev/presets/live-audio/player.d.ts.map +1 -0
  599. package/dist/dev/presets/live-audio/player.js +13 -0
  600. package/dist/dev/presets/live-audio/player.js.map +1 -0
  601. package/dist/dev/presets/live-audio/skin.css +458 -341
  602. package/dist/dev/presets/live-audio/skin.js +2 -2
  603. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  604. package/dist/dev/presets/live-audio/skin.tailwind.js +4 -4
  605. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  606. package/dist/dev/presets/live-video/index.d.ts +2 -1
  607. package/dist/dev/presets/live-video/index.js +8 -1
  608. package/dist/dev/presets/live-video/index.js.map +1 -0
  609. package/dist/dev/presets/live-video/minimal-skin.css +655 -588
  610. package/dist/dev/presets/live-video/minimal-skin.js +12 -12
  611. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  612. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  613. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +27 -26
  614. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  615. package/dist/dev/presets/live-video/player.d.ts +13 -0
  616. package/dist/dev/presets/live-video/player.d.ts.map +1 -0
  617. package/dist/dev/presets/live-video/player.js +13 -0
  618. package/dist/dev/presets/live-video/player.js.map +1 -0
  619. package/dist/dev/presets/live-video/skin.css +656 -618
  620. package/dist/dev/presets/live-video/skin.js +11 -11
  621. package/dist/dev/presets/live-video/skin.js.map +1 -1
  622. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  623. package/dist/dev/presets/live-video/skin.tailwind.js +24 -112
  624. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  625. package/dist/dev/presets/video/index.d.ts +2 -1
  626. package/dist/dev/presets/video/index.js +8 -1
  627. package/dist/dev/presets/video/index.js.map +1 -0
  628. package/dist/dev/presets/video/minimal-skin.css +655 -588
  629. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  630. package/dist/dev/presets/video/minimal-skin.js +212 -211
  631. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  632. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  633. package/dist/dev/presets/video/minimal-skin.tailwind.js +226 -233
  634. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  635. package/dist/dev/presets/video/player.d.ts +13 -0
  636. package/dist/dev/presets/video/player.d.ts.map +1 -0
  637. package/dist/dev/presets/video/player.js +13 -0
  638. package/dist/dev/presets/video/player.js.map +1 -0
  639. package/dist/dev/presets/video/skin.css +656 -618
  640. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  641. package/dist/dev/presets/video/skin.js +212 -207
  642. package/dist/dev/presets/video/skin.js.map +1 -1
  643. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  644. package/dist/dev/presets/video/skin.tailwind.js +224 -227
  645. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  646. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  647. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  648. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  649. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  650. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +4 -4
  651. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  652. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +8 -0
  653. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  654. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  655. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  656. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  657. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  658. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  659. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  660. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  661. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  662. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  663. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  664. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +8 -12
  665. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  666. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  667. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  668. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +1 -1
  669. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  670. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -1
  671. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  672. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  673. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  674. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +17 -9
  675. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  676. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  677. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  678. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  679. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  680. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  681. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  682. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +2 -2
  683. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  684. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  685. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  686. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  687. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  688. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  689. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  690. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  691. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  692. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  693. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  694. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  695. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  696. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  697. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  698. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  699. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  700. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  701. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  702. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  703. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  704. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  705. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  706. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  707. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  708. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  709. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  710. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  711. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  712. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  713. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  714. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  715. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  716. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  717. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  718. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  719. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  720. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  721. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  722. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  723. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  724. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  725. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  726. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  727. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  728. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  729. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  730. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -6
  731. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
  732. package/dist/dev/ui/audio-track/use-audio-track-options.js +9 -27
  733. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  734. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +43 -0
  735. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -0
  736. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  737. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  738. package/dist/dev/ui/audio-track-radio-group/index.d.ts +2 -0
  739. package/dist/dev/ui/audio-track-radio-group/index.js +2 -0
  740. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +43 -0
  741. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -0
  742. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +65 -0
  743. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  744. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -1
  745. package/dist/dev/ui/captions-radio-group/index.js +2 -1
  746. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +6 -6
  747. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  748. package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -33
  749. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  750. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts +11 -0
  751. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -0
  752. package/dist/dev/ui/hooks/create-radio-options-hook.js +46 -0
  753. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -0
  754. package/dist/dev/ui/hooks/use-slider.d.ts +2 -1
  755. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  756. package/dist/dev/ui/hooks/use-slider.js +49 -13
  757. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  758. package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-indicator-visibility.js +1 -1
  759. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  760. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  761. package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  762. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  763. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  764. package/dist/dev/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  765. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  766. package/dist/dev/ui/menu/context.d.ts +1 -10
  767. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  768. package/dist/dev/ui/menu/context.js +1 -11
  769. package/dist/dev/ui/menu/context.js.map +1 -1
  770. package/dist/dev/ui/menu/index.parts.d.ts +3 -6
  771. package/dist/dev/ui/menu/index.parts.js +3 -9
  772. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  773. package/dist/dev/ui/menu/menu-checkbox-item.js +4 -1
  774. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  775. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  776. package/dist/dev/ui/menu/menu-content.js +78 -236
  777. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  778. package/dist/dev/ui/menu/menu-item.d.ts +0 -3
  779. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  780. package/dist/dev/ui/menu/menu-item.js +11 -18
  781. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  782. package/dist/dev/ui/menu/menu-keyboard.js +31 -0
  783. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -0
  784. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  785. package/dist/dev/ui/menu/menu-radio-item.js +8 -6
  786. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  787. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  788. package/dist/dev/ui/menu/menu-root.js +46 -61
  789. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  790. package/dist/dev/ui/menu/menu-trigger.d.ts +5 -5
  791. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  792. package/dist/dev/ui/menu/menu-trigger.js +50 -87
  793. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  794. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  795. package/dist/dev/ui/mute-button/mute-button.js +2 -1
  796. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  797. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -7
  798. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  799. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +15 -26
  800. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  801. package/dist/dev/ui/playback-rate-radio-group/index.d.ts +2 -0
  802. package/dist/dev/ui/playback-rate-radio-group/index.js +2 -0
  803. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +43 -0
  804. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -0
  805. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  806. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  807. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  808. package/dist/dev/ui/popover/popover-popup.js +10 -80
  809. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  810. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  811. package/dist/dev/ui/popover/popover-root.js +2 -1
  812. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  813. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  814. package/dist/dev/ui/popover/popover-trigger.js +4 -5
  815. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  816. package/dist/dev/ui/popover/use-popup-position.js +34 -0
  817. package/dist/dev/ui/popover/use-popup-position.js.map +1 -0
  818. package/dist/dev/ui/poster/poster.js +8 -4
  819. package/dist/dev/ui/poster/poster.js.map +1 -1
  820. package/dist/dev/ui/quality/use-quality-options.d.ts +6 -8
  821. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  822. package/dist/dev/ui/quality/use-quality-options.js +10 -34
  823. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  824. package/dist/dev/ui/quality-radio-group/index.d.ts +2 -0
  825. package/dist/dev/ui/quality-radio-group/index.js +2 -0
  826. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +44 -0
  827. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -0
  828. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +66 -0
  829. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  830. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +1 -1
  831. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  832. package/dist/dev/ui/slider/context.js +7 -2
  833. package/dist/dev/ui/slider/context.js.map +1 -1
  834. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  835. package/dist/dev/ui/slider/slider-preview.js +2 -3
  836. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  837. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  838. package/dist/dev/ui/slider/slider-root.js +3 -1
  839. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  840. package/dist/dev/ui/slider/slider-thumbnail.js +2 -2
  841. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  842. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  843. package/dist/dev/ui/slider/slider-value.js +3 -2
  844. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  845. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  846. package/dist/dev/ui/status-announcer/status-announcer.js +7 -4
  847. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  848. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  849. package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -2
  850. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  851. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  852. package/dist/dev/ui/time/time-value.js +13 -5
  853. package/dist/dev/ui/time/time-value.js.map +1 -1
  854. package/dist/dev/ui/time-slider/index.parts.d.ts +4 -2
  855. package/dist/dev/ui/time-slider/index.parts.js +5 -1
  856. package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
  857. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  858. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  859. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts +19 -0
  860. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -0
  861. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  862. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  863. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts +22 -0
  864. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -0
  865. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  866. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  867. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  868. package/dist/dev/ui/time-slider/time-slider-root.js +6 -4
  869. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  870. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  871. package/dist/dev/ui/tooltip/tooltip-popup.js +13 -82
  872. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  873. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  874. package/dist/dev/ui/tooltip/tooltip-root.js +5 -1
  875. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  876. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  877. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  878. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  879. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
  880. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  881. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  882. package/dist/dev/ui/volume-slider/volume-slider-root.js +10 -4
  883. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  884. package/docs/README.md +1 -1
  885. package/docs/concepts/cast.md +6 -6
  886. package/docs/concepts/features.md +9 -6
  887. package/docs/concepts/i18n.md +16 -26
  888. package/docs/concepts/media-sources.md +383 -0
  889. package/docs/concepts/mux-data.md +9 -7
  890. package/docs/concepts/overview.md +15 -18
  891. package/docs/concepts/presets.md +18 -19
  892. package/docs/concepts/skins.md +864 -859
  893. package/docs/concepts/ui-components.md +3 -3
  894. package/docs/concepts/why-videojs.md +4 -4
  895. package/docs/how-to/build-your-own-component.md +7 -5
  896. package/docs/how-to/customize-skins.md +2677 -2363
  897. package/docs/how-to/i18n-override-translations.md +3 -3
  898. package/docs/how-to/i18n-register-locale.md +3 -3
  899. package/docs/how-to/i18n-ssr.md +3 -3
  900. package/docs/how-to/i18n-switch-locale.md +3 -3
  901. package/docs/how-to/installation.md +3 -8
  902. package/docs/llms.txt +42 -39
  903. package/docs/reference/airplay-button.md +6 -6
  904. package/docs/reference/audio-track-radio-group.md +198 -29
  905. package/docs/reference/buffering-indicator.md +6 -6
  906. package/docs/reference/captions-button.md +6 -6
  907. package/docs/reference/captions-radio-group.md +206 -29
  908. package/docs/reference/cast-button.md +6 -6
  909. package/docs/reference/controls.md +6 -6
  910. package/docs/reference/create-player.md +22 -31
  911. package/docs/reference/create-translator.md +1 -1
  912. package/docs/reference/dash-video.md +14 -0
  913. package/docs/reference/feature-controls.md +13 -1
  914. package/docs/reference/feature-fullscreen.md +1 -1
  915. package/docs/reference/feature-orientation-lock.md +2 -2
  916. package/docs/reference/feature-text-tracks.md +3 -1
  917. package/docs/reference/feature-volume.md +10 -0
  918. package/docs/reference/fullscreen-button.md +6 -6
  919. package/docs/reference/get-i18n-translations.md +1 -1
  920. package/docs/reference/has-registered-locale.md +1 -1
  921. package/docs/reference/{simple-hls-audio-only.md → hls-audio.md} +5 -5
  922. package/docs/reference/{simple-hls-video.md → hls-video.md} +4 -4
  923. package/docs/reference/hlsjs-video.md +17 -9
  924. package/docs/reference/menu.md +65 -157
  925. package/docs/reference/mute-button.md +60 -18
  926. package/docs/reference/mux-audio.md +1 -107
  927. package/docs/reference/mux-video.md +1 -107
  928. package/docs/reference/native-hls-video.md +24 -0
  929. package/docs/reference/pip-button.md +6 -6
  930. package/docs/reference/play-button.md +6 -6
  931. package/docs/reference/playback-rate-button.md +6 -6
  932. package/docs/reference/playback-rate-radio-group.md +200 -29
  933. package/docs/reference/player-container.md +25 -25
  934. package/docs/reference/player-provider.md +24 -24
  935. package/docs/reference/popover.md +6 -6
  936. package/docs/reference/poster.md +6 -6
  937. package/docs/reference/quality-radio-group.md +200 -31
  938. package/docs/reference/register-i18n.md +1 -1
  939. package/docs/reference/seek-button.md +6 -6
  940. package/docs/reference/slider.md +1 -1
  941. package/docs/reference/thumbnail.md +7 -7
  942. package/docs/reference/time-slider.md +251 -7
  943. package/docs/reference/time.md +78 -34
  944. package/docs/reference/translation-phrases.md +27 -3
  945. package/docs/reference/use-container-attach.md +5 -5
  946. package/docs/reference/use-locale.md +1 -1
  947. package/docs/reference/use-media-attach.md +2 -2
  948. package/docs/reference/use-media.md +16 -10
  949. package/docs/reference/use-player-context.md +2 -7
  950. package/docs/reference/use-player.md +25 -19
  951. package/docs/reference/use-store.md +15 -15
  952. package/docs/reference/volume-slider.md +13 -11
  953. package/package.json +28 -8
  954. package/dist/default/media/mux-audio/media.js.map +0 -1
  955. package/dist/default/media/mux-video/media.js +0 -56
  956. package/dist/default/media/mux-video/media.js.map +0 -1
  957. package/dist/default/media/simple-hls-audio-only/index.js +0 -2
  958. package/dist/default/media/simple-hls-audio-only/media.js +0 -22
  959. package/dist/default/media/simple-hls-audio-only/media.js.map +0 -1
  960. package/dist/default/media/simple-hls-video/index.js +0 -2
  961. package/dist/default/media/simple-hls-video/media.js.map +0 -1
  962. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  963. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  964. package/dist/default/skins/dist/default/default/tailwind/components/root.js +0 -8
  965. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  966. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  967. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  968. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  969. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  970. package/dist/default/tailwind.css +0 -42
  971. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  972. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  973. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  974. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  975. package/dist/default/ui/menu/menu-back.js +0 -34
  976. package/dist/default/ui/menu/menu-back.js.map +0 -1
  977. package/dist/default/ui/menu/menu-item-setting-provider.js +0 -77
  978. package/dist/default/ui/menu/menu-item-setting-provider.js.map +0 -1
  979. package/dist/default/ui/menu/menu-item-value.js +0 -28
  980. package/dist/default/ui/menu/menu-item-value.js.map +0 -1
  981. package/dist/default/ui/menu/menu-view.js +0 -23
  982. package/dist/default/ui/menu/menu-view.js.map +0 -1
  983. package/dist/dev/media/mux-audio/media.d.ts.map +0 -1
  984. package/dist/dev/media/mux-audio/media.js.map +0 -1
  985. package/dist/dev/media/mux-video/media.d.ts.map +0 -1
  986. package/dist/dev/media/mux-video/media.js +0 -56
  987. package/dist/dev/media/mux-video/media.js.map +0 -1
  988. package/dist/dev/media/simple-hls-audio-only/index.d.ts +0 -2
  989. package/dist/dev/media/simple-hls-audio-only/index.js +0 -2
  990. package/dist/dev/media/simple-hls-audio-only/media.d.ts +0 -13
  991. package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +0 -1
  992. package/dist/dev/media/simple-hls-audio-only/media.js +0 -22
  993. package/dist/dev/media/simple-hls-audio-only/media.js.map +0 -1
  994. package/dist/dev/media/simple-hls-video/index.d.ts +0 -2
  995. package/dist/dev/media/simple-hls-video/index.js +0 -2
  996. package/dist/dev/media/simple-hls-video/media.d.ts +0 -13
  997. package/dist/dev/media/simple-hls-video/media.d.ts.map +0 -1
  998. package/dist/dev/media/simple-hls-video/media.js.map +0 -1
  999. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  1000. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  1001. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -8
  1002. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1003. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  1004. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  1005. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  1006. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1007. package/dist/dev/tailwind.css +0 -42
  1008. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  1009. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  1010. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  1011. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  1012. package/dist/dev/ui/menu/menu-back.d.ts +0 -17
  1013. package/dist/dev/ui/menu/menu-back.d.ts.map +0 -1
  1014. package/dist/dev/ui/menu/menu-back.js +0 -34
  1015. package/dist/dev/ui/menu/menu-back.js.map +0 -1
  1016. package/dist/dev/ui/menu/menu-item-setting-provider.js +0 -77
  1017. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +0 -1
  1018. package/dist/dev/ui/menu/menu-item-type.d.ts +0 -5
  1019. package/dist/dev/ui/menu/menu-item-type.d.ts.map +0 -1
  1020. package/dist/dev/ui/menu/menu-item-value.d.ts +0 -12
  1021. package/dist/dev/ui/menu/menu-item-value.d.ts.map +0 -1
  1022. package/dist/dev/ui/menu/menu-item-value.js +0 -28
  1023. package/dist/dev/ui/menu/menu-item-value.js.map +0 -1
  1024. package/dist/dev/ui/menu/menu-view.d.ts +0 -13
  1025. package/dist/dev/ui/menu/menu-view.d.ts.map +0 -1
  1026. package/dist/dev/ui/menu/menu-view.js +0 -23
  1027. package/dist/dev/ui/menu/menu-view.js.map +0 -1
@@ -27,15 +27,15 @@ tsx
27
27
 
28
28
  ```
29
29
  import { I18nProvider } from '@videojs/react/i18n';
30
- import { Provider, VideoSkin, Video } from '@videojs/react/video';
30
+ import { VideoPlayer, VideoSkin, Video } from '@videojs/react/video';
31
31
 
32
- <Provider>
32
+ <VideoPlayer>
33
33
  <I18nProvider locale="es" translations={{ buttons: { play: 'Comenzar' } }}>
34
34
  <VideoSkin>
35
35
  <Video src="..." playsInline />
36
36
  </VideoSkin>
37
37
  </I18nProvider>
38
- </Provider>
38
+ </VideoPlayer>
39
39
  ```
40
40
 
41
41
  Nested providers inherit the parent locale when you only pass `translations`:
@@ -20,17 +20,17 @@ app.tsx
20
20
  ```
21
21
  import { I18nProvider } from '@videojs/react/i18n';
22
22
  import '@videojs/react/i18n/locales/es/register';
23
- import { Provider, VideoSkin, Video } from '@videojs/react/video';
23
+ import { VideoPlayer, VideoSkin, Video } from '@videojs/react/video';
24
24
 
25
25
  export function App() {
26
26
  return (
27
- <Provider>
27
+ <VideoPlayer>
28
28
  <I18nProvider locale="es">
29
29
  <VideoSkin>
30
30
  <Video src="..." playsInline />
31
31
  </VideoSkin>
32
32
  </I18nProvider>
33
- </Provider>
33
+ </VideoPlayer>
34
34
  );
35
35
  }
36
36
  ```
@@ -26,7 +26,7 @@ tsx
26
26
 
27
27
  ```
28
28
  import { I18nProvider } from '@videojs/react/i18n';
29
- import { Provider, VideoSkin, Video } from '@videojs/react/video';
29
+ import { VideoPlayer, VideoSkin, Video } from '@videojs/react/video';
30
30
 
31
31
  const loaders = {
32
32
  es: () => import('@videojs/react/i18n/locales/es'),
@@ -39,13 +39,13 @@ export async function Player({ locale }: { locale: string }) {
39
39
  const { default: translations } = await load();
40
40
 
41
41
  return (
42
- <Provider>
42
+ <VideoPlayer>
43
43
  <I18nProvider locale={locale} translations={translations}>
44
44
  <VideoSkin>
45
45
  <Video src="..." playsInline />
46
46
  </VideoSkin>
47
47
  </I18nProvider>
48
- </Provider>
48
+ </VideoPlayer>
49
49
  );
50
50
  }
51
51
  ```
@@ -31,7 +31,7 @@ tsx
31
31
  ```
32
32
  import { useState } from 'react';
33
33
  import { I18nProvider } from '@videojs/react/i18n';
34
- import { Provider, VideoSkin, Video } from '@videojs/react/video';
34
+ import { VideoPlayer, VideoSkin, Video } from '@videojs/react/video';
35
35
 
36
36
  function App() {
37
37
  const [locale, setLocale] = useState<'en' | 'es' | 'fr'>('en');
@@ -41,13 +41,13 @@ function App() {
41
41
  <button type="button" onClick={() => setLocale('es')}>
42
42
  Español
43
43
  </button>
44
- <Provider>
44
+ <VideoPlayer>
45
45
  <I18nProvider locale={locale}>
46
46
  <VideoSkin>
47
47
  <Video src="..." playsInline />
48
48
  </VideoSkin>
49
49
  </I18nProvider>
50
- </Provider>
50
+ </VideoPlayer>
51
51
  </>
52
52
  );
53
53
  }
@@ -77,13 +77,8 @@ Add it to your components folder in a new file.
77
77
  ./components/player/index.tsx
78
78
 
79
79
  ```
80
- 'use client';
81
-
82
80
  import '@videojs/react/video/skin.css';
83
- import { createPlayer, videoFeatures } from '@videojs/react';
84
- import { VideoSkin, Video } from '@videojs/react/video';
85
-
86
- const Player = createPlayer({ features: videoFeatures });
81
+ import { VideoPlayer, VideoSkin, Video } from '@videojs/react/video';
87
82
 
88
83
  interface MyPlayerProps {
89
84
  src: string;
@@ -91,11 +86,11 @@ interface MyPlayerProps {
91
86
 
92
87
  export const MyPlayer = ({ src }: MyPlayerProps) => {
93
88
  return (
94
- <Player.Provider>
89
+ <VideoPlayer>
95
90
  <VideoSkin>
96
91
  <Video src={src} playsInline />
97
92
  </VideoSkin>
98
- </Player.Provider>
93
+ </VideoPlayer>
99
94
  );
100
95
  };
101
96
  ```
package/docs/llms.txt CHANGED
@@ -20,6 +20,7 @@ Understanding-oriented pages that explain how and why things work. Read these to
20
20
  - [Presets](./concepts/presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
21
21
  - [UI components](./concepts/ui-components.md): How Video.js UI components work — one element per component, data attributes for state, and compound composition.
22
22
  - [Accessibility](./concepts/accessibility.md): How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
23
+ - [Media sources](./concepts/media-sources.md): Set what a media element plays and how its engine plays it with the structured source property
23
24
  - [Google Cast](./concepts/cast.md): Cast playback to Chromecast devices with the Google Cast component, and configure the receiver and load request
24
25
  - [Mux Data](./concepts/mux-data.md): Monitor playback quality and viewer experience by adding the Mux Data component to a player
25
26
  - [Security](./concepts/security.md): How to configure Content Security Policy for your video player
@@ -39,12 +40,16 @@ Task-oriented guides with step-by-step instructions to achieve a specific outcom
39
40
  - [Switch locale dynamically](./how-to/i18n-switch-locale.md): Change the player language at runtime in HTML and React
40
41
  - [SSR and locale](./how-to/i18n-ssr.md): Render translated player UI on the server without a flash of English
41
42
 
42
- ## Components
43
+ ## API Reference
44
+
45
+ Reference for every public export, grouped by what it is: UI components, media components, player features, and utilities.
46
+
47
+ ### UI Components
43
48
 
44
49
  API Reference for UI components for building media player interfaces.
45
50
 
46
- - [Player.Provider](./reference/player-provider.md): The state boundary — creates a store and broadcasts it to all descendants.
47
- - [Player.Container](./reference/player-container.md): The player's interaction surface — handles layout, fullscreen, media attachment, and user activity detection.
51
+ - [Player](./reference/player-provider.md): The state boundary — creates a store and broadcasts it to all descendants.
52
+ - [Container](./reference/player-container.md): The player's interaction surface — handles layout, fullscreen, media attachment, and user activity detection.
48
53
  - [I18nProvider](./reference/i18n-provider.md): React provider that resolves locale and supplies a typed translator to descendants
49
54
  - [AirPlayButton](./reference/airplay-button.md): Accessible AirPlay toggle button that opens the WebKit playback target picker and reflects session state
50
55
  - [AudioTrackRadioGroup](./reference/audio-track-radio-group.md): A menu radio group for selecting an audio track
@@ -73,32 +78,53 @@ API Reference for UI components for building media player interfaces.
73
78
  - [Tooltip](./reference/tooltip.md): A tooltip component for displaying contextual labels on hover and focus
74
79
  - [VolumeSlider](./reference/volume-slider.md): A slider component for controlling media playback volume
75
80
 
76
- ## Media Elements
81
+ ### Media Components
77
82
 
78
- API Reference for media elements that handle streaming protocols and media playback.
83
+ API Reference for media components that handle streaming protocols and media playback.
79
84
 
80
85
  - [BackgroundVideo](./reference/background-video.md): Decorative background video element with automatic muting and looping
81
86
  - [DashVideo](./reference/dash-video.md): DASH video element powered by dash.js for adaptive bitrate streaming
87
+ - [HlsAudio](./reference/hls-audio.md): Audio-only HLS element that plays the audio rendition of an HLS stream
88
+ - [HlsVideo](./reference/hls-video.md): Lightweight HLS video element with minimal bundle size
82
89
  - [HlsJsVideo](./reference/hlsjs-video.md): HLS video element powered by hls.js for adaptive bitrate streaming
83
90
  - [MuxAudio](./reference/mux-audio.md): Audio element for Mux-hosted HLS streams
84
91
  - [MuxVideo](./reference/mux-video.md): Video element for Mux-hosted HLS streams
85
92
  - [NativeHlsVideo](./reference/native-hls-video.md): HLS video element using the browser's built-in HLS support
86
- - [SimpleHlsAudioOnly](./reference/simple-hls-audio-only.md): Audio-only HLS element that plays the audio rendition of an HLS stream
87
- - [SimpleHlsVideo](./reference/simple-hls-video.md): Lightweight HLS video element with minimal bundle size
88
93
 
89
- ## Hooks & Utilities
94
+ ### Player Features
90
95
 
91
- API reference for hooks and utilities for player integration.
96
+ API reference for the feature modules passed to createPlayer, which provide player capabilities and state.
92
97
 
93
- - [createPlayer](./reference/create-player.md): Factory function that creates a player instance with typed store, Provider component, Container, and hooks
98
+ - [createSelector](./reference/create-selector.md): Create a type-safe selector for a store slice's state
99
+ - [Buffer](./reference/feature-buffer.md): Buffered and seekable time range state for the player store
100
+ - [Controls](./reference/feature-controls.md): User activity and controls visibility state for the player store
101
+ - [Error](./reference/feature-error.md): Media error state and actions for the player store
102
+ - [Fullscreen](./reference/feature-fullscreen.md): Fullscreen state and actions for the player store
103
+ - [Live](./reference/feature-live.md): Live edge state for the player store
104
+ - [Orientation lock](./reference/feature-orientation-lock.md): Screen orientation locking while fullscreen is active
105
+ - [Picture-in-picture](./reference/feature-pip.md): Picture-in-picture state and actions for the player store
106
+ - [Playback](./reference/feature-playback.md): Play/pause state and actions for the player store
107
+ - [Playback rate](./reference/feature-playback-rate.md): Playback speed state and actions for the player store
108
+ - [Quality](./reference/feature-quality.md): Video rendition state and actions for the player store
109
+ - [Audio track](./reference/feature-audio-track.md): Audio track state and actions for the player store
110
+ - [Remote Playback](./reference/feature-remote-playback.md): Remote playback state and actions for the player store
111
+ - [Source](./reference/feature-source.md): Media source state and actions for the player store
112
+ - [Stream type](./reference/feature-stream-type.md): Stream delivery type (live / on-demand) state for the player store
113
+ - [Text tracks](./reference/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
114
+ - [Time](./reference/feature-time.md): Playback position and duration state for the player store
115
+ - [Volume](./reference/feature-volume.md): Volume level and mute state for the player store
116
+
117
+ ### Utilities
118
+
119
+ API reference for the hooks, utilities, controllers, and mixins used to integrate a player into an application.
120
+
121
+ - [createPlayer](./reference/create-player.md): Factory function that creates a typed Player component and hooks
122
+ - [usePlayer](./reference/use-player.md): Hook to access the player store from within a Player
123
+ - [useMedia](./reference/use-media.md): Hook to access the media object from within a Player
124
+ - [useStore](./reference/use-store.md): Hook to access store state and actions with optional selector-based subscriptions
94
125
  - [createI18n](./reference/create-i18n.md): Factory that creates framework i18n helpers with custom loading options
95
126
  - [useTranslator](./reference/use-translator.md): React hook that returns the typed translator for the nearest I18nProvider
96
127
  - [useLocale](./reference/use-locale.md): React hook that returns the active BCP 47 locale from the nearest I18nProvider
97
- - [Player.usePlayer](./reference/use-player.md): Hook to access the player store from within a Player.Provider
98
- - [Player.useMedia](./reference/use-media.md): Hook to access the media object from within a Player.Provider
99
- - [useStore](./reference/use-store.md): Hook to access store state and actions with optional selector-based subscriptions
100
- ### Advanced
101
-
102
128
  - [registerI18n](./reference/register-i18n.md): Register or merge translation strings for a BCP 47 locale tag in the global i18n registry
103
129
  - [getI18nTranslations](./reference/get-i18n-translations.md): Read the merged translation map for a locale using BCP 47 parent-chain fallback
104
130
  - [hasRegisteredLocale](./reference/has-registered-locale.md): Check whether an exact locale tag exists in the global i18n registry
@@ -114,27 +140,4 @@ API reference for hooks and utilities for player integration.
114
140
  - [usePlayerContext](./reference/use-player-context.md): Hook to access the full player context value
115
141
  - [useQualityOptions](./reference/use-quality-options.md): Hook to build video quality menu options from the player rendition state
116
142
  - [useSelector](./reference/use-selector.md): Low-level hook for subscribing to derived state with customizable equality checks
117
- - [useSnapshot](./reference/use-snapshot.md): Hook to subscribe to a State container's current value
118
-
119
- ## Features
120
-
121
- API reference for feature modules that provide player capabilities and state.
122
-
123
- - [createSelector](./reference/create-selector.md): Create a type-safe selector for a store slice's state
124
- - [Buffer](./reference/feature-buffer.md): Buffered and seekable time range state for the player store
125
- - [Controls](./reference/feature-controls.md): User activity and controls visibility state for the player store
126
- - [Error](./reference/feature-error.md): Media error state and actions for the player store
127
- - [Fullscreen](./reference/feature-fullscreen.md): Fullscreen state and actions for the player store
128
- - [Live](./reference/feature-live.md): Live edge state for the player store
129
- - [Orientation lock](./reference/feature-orientation-lock.md): Screen orientation locking while fullscreen is active
130
- - [Picture-in-picture](./reference/feature-pip.md): Picture-in-picture state and actions for the player store
131
- - [Playback](./reference/feature-playback.md): Play/pause state and actions for the player store
132
- - [Playback rate](./reference/feature-playback-rate.md): Playback speed state and actions for the player store
133
- - [Quality](./reference/feature-quality.md): Video rendition state and actions for the player store
134
- - [Audio track](./reference/feature-audio-track.md): Audio track state and actions for the player store
135
- - [Remote Playback](./reference/feature-remote-playback.md): Remote playback state and actions for the player store
136
- - [Source](./reference/feature-source.md): Media source state and actions for the player store
137
- - [Stream type](./reference/feature-stream-type.md): Stream delivery type (live / on-demand) state for the player store
138
- - [Text tracks](./reference/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
139
- - [Time](./reference/feature-time.md): Playback position and duration state for the player store
140
- - [Volume](./reference/feature-volume.md): Volume level and mute state for the player store
143
+ - [useSnapshot](./reference/use-snapshot.md): Hook to subscribe to a State container's current value
@@ -91,15 +91,15 @@ App.tsx
91
91
  App.css
92
92
 
93
93
  ```
94
- import { AirPlayButton, createPlayer } from '@videojs/react';
94
+ import { AirPlayButton, Container, createPlayer } from '@videojs/react';
95
95
  import { Video, videoFeatures } from '@videojs/react/video';
96
96
 
97
- const Player = createPlayer({ features: videoFeatures });
97
+ const { Player } = createPlayer({ features: videoFeatures });
98
98
 
99
99
  export default function BasicUsage() {
100
100
  return (
101
- <Player.Provider>
102
- <Player.Container className="media-container">
101
+ <Player>
102
+ <Container className="media-container">
103
103
  <Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoPlay muted playsInline loop />
104
104
  <AirPlayButton
105
105
  className="media-airplay-button"
@@ -107,8 +107,8 @@ export default function BasicUsage() {
107
107
  <button {...props}>{state.state === 'connected' ? 'Stop AirPlay' : 'Start AirPlay'}</button>
108
108
  )}
109
109
  />
110
- </Player.Container>
111
- </Player.Provider>
110
+ </Container>
111
+ </Player>
112
112
  );
113
113
  }
114
114
  ```
@@ -9,19 +9,21 @@ Creates radio items from the player audio track state and selects the enabled tr
9
9
  tsx
10
10
 
11
11
  ```
12
- <Menu.RadioGroup>
13
- <Menu.GroupLabel />
14
- <Menu.RadioItem>
15
- <Menu.ItemIndicator />
16
- </Menu.RadioItem>
17
- </Menu.RadioGroup>
12
+ <AudioTrackRadioGroup
13
+ renderItem={(props, item) => (
14
+ <Menu.RadioItem {...props}>
15
+ {item.label}
16
+ <Menu.ItemIndicator checked={item.checked} />
17
+ </Menu.RadioItem>
18
+ )}
19
+ />
18
20
  ```
19
21
 
20
22
  ## Behavior
21
23
 
22
24
  The group is available when the configured media exposes more than one audio track. Labels use the track label, then language, then kind. Pass `formatTrack` to customize the visible labels.
23
25
 
24
- [`useAudioTrackOptions`](./use-audio-track-options.md) returns `null` when the [audio track feature](./feature-audio-track.md) is not configured. Use the returned options with [`Menu.RadioGroup`](./menu.md).
26
+ `AudioTrackRadioGroup` uses [`useAudioTrackOptions`](./use-audio-track-options.md) to own selection and generate each item. Its required `renderItem` callback renders the [`Menu.RadioItem`](./menu.md) root and receives item state containing the translated `label` and current `checked` value. It returns `null` when the [audio track feature](./feature-audio-track.md) is not configured.
25
27
 
26
28
  ## Styling
27
29
 
@@ -43,60 +45,63 @@ Present / absent
43
45
 
44
46
  Present when audio track selection is disabled.
45
47
 
48
+ `data-hidden`
49
+
50
+ Present / absent
51
+
52
+ Present when multiple audio tracks are unavailable.
53
+
46
54
  `data-availability`
47
55
 
48
56
  `"available"` / `"unavailable"`
49
57
 
50
58
  Whether multiple audio tracks are available.
51
59
 
60
+ Unavailable groups receive the native `hidden` attribute.
61
+
52
62
  ## Accessibility
53
63
 
54
64
  The group uses the menu radio group pattern.
55
65
 
56
- Give `Menu.RadioGroup` an accessible name with `aria-label` or a nested `Menu.GroupLabel`.
66
+ The component receives an accessible label from the `label` prop or defaults to `Audio`. Override it with `aria-label` or `aria-labelledby`.
57
67
 
58
68
  ## Examples
59
69
 
60
70
  ### Basic usage
61
71
 
72
+ Audio
73
+
62
74
  App.tsx
63
75
 
64
76
  App.css
65
77
 
66
78
  ```
67
- import { createPlayer, Menu, useAudioTrackOptions } from '@videojs/react';
79
+ import { AudioTrackRadioGroup, Container, createPlayer, Menu } from '@videojs/react';
68
80
  import { HlsJsVideo } from '@videojs/react/media/hlsjs-video';
69
81
  import { videoFeatures } from '@videojs/react/video';
70
82
  import type { ReactNode } from 'react';
71
83
 
72
- const Player = createPlayer({ features: videoFeatures });
84
+ const { Player } = createPlayer({ features: videoFeatures });
73
85
  const src = 'https://stream.mux.com/s41JYeqIpBMBzE4OzxDyGR2yrp2hD1CQ6gJN9SlVGDQ.m3u8';
74
86
 
75
87
  function AudioMenu(): ReactNode {
76
- const audioTrack = useAudioTrackOptions();
77
- if (audioTrack?.state.availability !== 'available') return null;
78
-
79
88
  return (
80
89
  <Menu.Root side="top" align="end">
81
90
  <Menu.Trigger className="settings-trigger" render={<button type="button" />}>
82
91
  Audio
83
92
  </Menu.Trigger>
84
93
  <Menu.Content className="menu">
85
- <Menu.RadioGroup
94
+ <AudioTrackRadioGroup
86
95
  className="menu-group"
87
- value={audioTrack.value}
88
- onValueChange={audioTrack.setValue}
89
- aria-label="Audio tracks"
90
- >
91
- {audioTrack.options.map((option) => (
92
- <Menu.RadioItem key={option.value} value={option.value} disabled={option.disabled} className="menu-item">
93
- {option.label}
94
- <Menu.ItemIndicator checked={option.value === audioTrack.value} forceMount className="menu-indicator">
96
+ renderItem={(props, item) => (
97
+ <Menu.RadioItem {...props} className="menu-item">
98
+ {item.label}
99
+ <Menu.ItemIndicator checked={item.checked} forceMount className="menu-indicator">
95
100
 
96
101
  </Menu.ItemIndicator>
97
102
  </Menu.RadioItem>
98
- ))}
99
- </Menu.RadioGroup>
103
+ )}
104
+ />
100
105
  </Menu.Content>
101
106
  </Menu.Root>
102
107
  );
@@ -104,14 +109,14 @@ function AudioMenu(): ReactNode {
104
109
 
105
110
  export default function BasicUsage() {
106
111
  return (
107
- <Player.Provider>
108
- <Player.Container className="media-container">
112
+ <Player>
113
+ <Container className="media-container">
109
114
  <HlsJsVideo src={src} autoPlay crossOrigin="anonymous" muted playsInline loop />
110
115
  <div className="menu-bar">
111
116
  <AudioMenu />
112
117
  </div>
113
- </Player.Container>
114
- </Player.Provider>
118
+ </Container>
119
+ </Player>
115
120
  );
116
121
  }
117
122
  ```
@@ -191,4 +196,168 @@ export default function BasicUsage() {
191
196
  [role="menuitemradio"][aria-checked="true"] .menu-indicator {
192
197
  opacity: 1;
193
198
  }
194
- ```
199
+ ```
200
+
201
+ ## API Reference
202
+
203
+ ### Props
204
+
205
+ Prop
206
+
207
+ Type
208
+
209
+ Default
210
+
211
+ Details
212
+
213
+ `disabled`
214
+
215
+ `boolean`
216
+
217
+ `false`
218
+
219
+
220
+
221
+ Description
222
+
223
+ Whether audio track selection is disabled.
224
+
225
+ `formatTrack`
226
+
227
+ `Text) | function`
228
+
229
+ `formatTrackLabel`
230
+
231
+
232
+
233
+ Description
234
+
235
+ Custom formatter for visible track labels.
236
+
237
+ Type
238
+
239
+ `((track: MediaAudioTrack) => string | Text)`
240
+
241
+ `label`
242
+
243
+ `Text | string | Text) | function`
244
+
245
+ `''`
246
+
247
+
248
+
249
+ Description
250
+
251
+ Custom label for the options group.
252
+
253
+ Type
254
+
255
+ `Text | string | ((state: AudioTrackRadioGroupState) => string | Text)`
256
+
257
+ ### State
258
+
259
+ State is accessible via the `render`, `className`, and `style` props.
260
+
261
+ Property
262
+
263
+ Type
264
+
265
+ Details
266
+
267
+ `value`
268
+
269
+ `string`
270
+
271
+
272
+
273
+ Description
274
+
275
+ Current radio-group value.
276
+
277
+ `options`
278
+
279
+ `AudioTrackRadioGroupOption[]`
280
+
281
+
282
+
283
+ Description
284
+
285
+ Ordered options displayed by platform adapters.
286
+
287
+ `disabled`
288
+
289
+ `boolean`
290
+
291
+
292
+
293
+ Description
294
+
295
+ Whether the entire option group is disabled.
296
+
297
+ `hidden`
298
+
299
+ `boolean`
300
+
301
+
302
+
303
+ Description
304
+
305
+ Whether the option group is hidden because no meaningful selection is available.
306
+
307
+ `availability`
308
+
309
+ `'available' | 'unavailable'`
310
+
311
+
312
+
313
+ Description
314
+
315
+ Whether the media exposes a meaningful selection.
316
+
317
+ `label`
318
+
319
+ `Text | string`
320
+
321
+ ### Data attributes
322
+
323
+ Attribute
324
+
325
+ Type
326
+
327
+ Details
328
+
329
+ `data-audio-track`
330
+
331
+ `string`
332
+
333
+
334
+
335
+ Description
336
+
337
+ Current audio track value.
338
+
339
+ `data-disabled`
340
+
341
+
342
+
343
+ Description
344
+
345
+ Present when audio track selection is disabled.
346
+
347
+ `data-hidden`
348
+
349
+
350
+
351
+ Description
352
+
353
+ Present when audio track selection is unavailable.
354
+
355
+ `data-availability`
356
+
357
+ `'available' | 'unavailable'`
358
+
359
+
360
+
361
+ Description
362
+
363
+ Indicates audio track availability (`available` or `unavailable`).
@@ -27,22 +27,22 @@ App.tsx
27
27
  App.css
28
28
 
29
29
  ```
30
- import { BufferingIndicator, createPlayer } from '@videojs/react';
30
+ import { BufferingIndicator, Container, createPlayer } from '@videojs/react';
31
31
  import { Video, videoFeatures } from '@videojs/react/video';
32
32
 
33
- const Player = createPlayer({ features: videoFeatures });
33
+ const { Player } = createPlayer({ features: videoFeatures });
34
34
 
35
35
  export default function BasicUsage() {
36
36
  return (
37
- <Player.Provider>
38
- <Player.Container className="media-container">
37
+ <Player>
38
+ <Container className="media-container">
39
39
  <Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoPlay muted playsInline loop />
40
40
  <BufferingIndicator
41
41
  className="media-buffering-indicator"
42
42
  render={(props, state) => <div {...props}>{state.visible && <div className="spinner" />}</div>}
43
43
  />
44
- </Player.Container>
45
- </Player.Provider>
44
+ </Container>
45
+ </Player>
46
46
  );
47
47
  }
48
48
  ```
@@ -57,15 +57,15 @@ App.tsx
57
57
  App.css
58
58
 
59
59
  ```
60
- import { CaptionsButton, createPlayer } from '@videojs/react';
60
+ import { CaptionsButton, Container, createPlayer } from '@videojs/react';
61
61
  import { Video, videoFeatures } from '@videojs/react/video';
62
62
 
63
- const Player = createPlayer({ features: videoFeatures });
63
+ const { Player } = createPlayer({ features: videoFeatures });
64
64
 
65
65
  export default function BasicUsage() {
66
66
  return (
67
- <Player.Provider>
68
- <Player.Container className="media-container">
67
+ <Player>
68
+ <Container className="media-container">
69
69
  <Video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" autoPlay muted playsInline loop>
70
70
  <track kind="captions" src="/docs/demos/captions-button/captions.vtt" srcLang="en" label="English" />
71
71
  </Video>
@@ -75,8 +75,8 @@ export default function BasicUsage() {
75
75
  <button {...props}>{state.subtitlesShowing ? 'Captions Off' : 'Captions On'}</button>
76
76
  )}
77
77
  />
78
- </Player.Container>
79
- </Player.Provider>
78
+ </Container>
79
+ </Player>
80
80
  );
81
81
  }
82
82
  ```