@videojs/react 10.0.0-beta.22 → 10.0.0-beta.24

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 (897) hide show
  1. package/README.md +6 -0
  2. package/dist/default/icons/dist/react/default/captions-off.js +1 -0
  3. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  4. package/dist/default/icons/dist/react/default/captions-on.js +3 -5
  5. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  6. package/dist/default/icons/dist/react/default/cast-enter.js +38 -11
  7. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  8. package/dist/default/icons/dist/react/default/cast-exit.js +55 -14
  9. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  10. package/dist/default/icons/dist/react/default/check.js +22 -0
  11. package/dist/default/icons/dist/react/default/check.js.map +1 -0
  12. package/dist/default/icons/dist/react/default/chevron.js +21 -0
  13. package/dist/default/icons/dist/react/default/chevron.js.map +1 -0
  14. package/dist/default/icons/dist/react/default/fullscreen-enter.js +3 -5
  15. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/fullscreen-exit.js +3 -5
  17. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  18. package/dist/default/icons/dist/react/default/pause.js +2 -3
  19. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/pip-enter.js +4 -10
  21. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/pip-exit.js +4 -10
  23. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/play.js +3 -5
  25. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/restart.js +3 -8
  27. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/seek.js +3 -5
  29. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/spinner.js +38 -117
  31. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/volume-high.js +3 -8
  33. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  34. package/dist/default/icons/dist/react/default/volume-low.js +3 -5
  35. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/volume-off.js +3 -5
  37. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  38. package/dist/default/icons/dist/react/minimal/captions-off.js +1 -0
  39. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  40. package/dist/default/icons/dist/react/minimal/captions-on.js +3 -5
  41. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  42. package/dist/default/icons/dist/react/minimal/cast-enter.js +38 -7
  43. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/cast-exit.js +56 -11
  45. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/check.js +22 -0
  47. package/dist/default/icons/dist/react/minimal/check.js.map +1 -0
  48. package/dist/default/icons/dist/react/minimal/chevron.js +21 -0
  49. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -0
  50. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  51. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  53. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/pause.js +2 -3
  55. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -14
  57. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -14
  59. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/play.js +3 -5
  61. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/restart.js +3 -8
  63. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/seek.js +3 -5
  65. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  66. package/dist/default/icons/dist/react/minimal/spinner.js +38 -117
  67. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  68. package/dist/default/icons/dist/react/minimal/volume-high.js +3 -8
  69. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/volume-low.js +3 -5
  71. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  72. package/dist/default/icons/dist/react/minimal/volume-off.js +3 -5
  73. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  74. package/dist/default/icons/index.js +19 -0
  75. package/dist/default/icons/minimal/index.js +19 -0
  76. package/dist/default/index.js +20 -12
  77. package/dist/default/media/dash-video/index.js +6 -6
  78. package/dist/default/media/dash-video/index.js.map +1 -1
  79. package/dist/default/media/hls-video/index.js +6 -6
  80. package/dist/default/media/hls-video/index.js.map +1 -1
  81. package/dist/default/media/mux-audio/index.js +9 -8
  82. package/dist/default/media/mux-audio/index.js.map +1 -1
  83. package/dist/default/media/mux-video/index.js +6 -6
  84. package/dist/default/media/mux-video/index.js.map +1 -1
  85. package/dist/default/media/native-hls-video/index.js +6 -6
  86. package/dist/default/media/native-hls-video/index.js.map +1 -1
  87. package/dist/default/media/simple-hls-video/index.js +6 -5
  88. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  89. package/dist/default/player/context.js +9 -1
  90. package/dist/default/player/context.js.map +1 -1
  91. package/dist/default/player/create-player.js +4 -1
  92. package/dist/default/player/create-player.js.map +1 -1
  93. package/dist/default/presets/audio/minimal-skin.css +211 -100
  94. package/dist/default/presets/audio/minimal-skin.js +107 -7
  95. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  96. package/dist/default/presets/audio/minimal-skin.tailwind.js +41 -7
  97. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  98. package/dist/default/presets/audio/skin.css +237 -100
  99. package/dist/default/presets/audio/skin.js +57 -22
  100. package/dist/default/presets/audio/skin.js.map +1 -1
  101. package/dist/default/presets/audio/skin.tailwind.js +115 -14
  102. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  103. package/dist/default/presets/live-audio/index.js +7 -0
  104. package/dist/default/presets/live-audio/minimal-skin.css +846 -0
  105. package/dist/default/presets/live-audio/minimal-skin.js +164 -0
  106. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -0
  107. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +194 -0
  108. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -0
  109. package/dist/default/presets/live-audio/skin.css +888 -0
  110. package/dist/default/presets/live-audio/skin.js +163 -0
  111. package/dist/default/presets/live-audio/skin.js.map +1 -0
  112. package/dist/default/presets/live-audio/skin.tailwind.js +193 -0
  113. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -0
  114. package/dist/default/presets/live-video/index.js +7 -0
  115. package/dist/default/presets/live-video/minimal-skin.css +1542 -0
  116. package/dist/default/presets/live-video/minimal-skin.js +306 -0
  117. package/dist/default/presets/live-video/minimal-skin.js.map +1 -0
  118. package/dist/default/presets/live-video/minimal-skin.tailwind.js +341 -0
  119. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -0
  120. package/dist/default/presets/live-video/skin.css +1544 -0
  121. package/dist/default/presets/live-video/skin.js +304 -0
  122. package/dist/default/presets/live-video/skin.js.map +1 -0
  123. package/dist/default/presets/live-video/skin.tailwind.js +426 -0
  124. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -0
  125. package/dist/default/presets/video/minimal-skin.css +555 -139
  126. package/dist/default/presets/video/minimal-skin.js +205 -23
  127. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  128. package/dist/default/presets/video/minimal-skin.tailwind.js +209 -24
  129. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  130. package/dist/default/presets/video/skin.css +565 -137
  131. package/dist/default/presets/video/skin.js +124 -52
  132. package/dist/default/presets/video/skin.js.map +1 -1
  133. package/dist/default/presets/video/skin.tailwind.js +208 -29
  134. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  135. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  136. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  137. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  138. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  139. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
  140. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  141. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  142. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  143. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  144. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  145. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  146. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  147. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -0
  148. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  149. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  150. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  151. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +1 -1
  152. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  153. package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
  154. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  155. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
  156. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  157. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +1 -1
  158. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  159. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  160. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  161. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  162. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  171. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  172. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  173. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  174. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  175. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  176. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  177. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  178. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  179. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  180. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  181. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  182. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  183. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  184. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  185. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  186. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  187. package/dist/default/tailwind.css +66 -0
  188. package/dist/default/ui/cast-button/cast-button.js +2 -2
  189. package/dist/default/ui/cast-button/cast-button.js.map +1 -1
  190. package/dist/default/ui/controls/context.js +4 -1
  191. package/dist/default/ui/controls/context.js.map +1 -1
  192. package/dist/default/ui/gesture/{media-gesture.js → gesture.js} +8 -5
  193. package/dist/default/ui/gesture/gesture.js.map +1 -0
  194. package/dist/default/ui/gesture/index.js +2 -0
  195. package/dist/default/ui/hotkey/{media-hotkey.js → hotkey.js} +7 -4
  196. package/dist/default/ui/hotkey/hotkey.js.map +1 -0
  197. package/dist/default/ui/hotkey/index.js +2 -0
  198. package/dist/default/ui/input-indicators/use-indicator-visibility.js +25 -0
  199. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  200. package/dist/default/ui/input-indicators/use-input-action-subscription.js +22 -0
  201. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  202. package/dist/default/ui/input-indicators/use-input-indicator-root.js +21 -0
  203. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  204. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  205. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  206. package/dist/default/ui/live-button/index.js +2 -0
  207. package/dist/default/ui/live-button/live-button.js +89 -0
  208. package/dist/default/ui/live-button/live-button.js.map +1 -0
  209. package/dist/default/ui/menu/context.js +29 -0
  210. package/dist/default/ui/menu/context.js.map +1 -0
  211. package/dist/default/ui/menu/index.js +3 -0
  212. package/dist/default/ui/menu/index.parts.js +34 -0
  213. package/dist/default/ui/menu/index.parts.js.map +1 -0
  214. package/dist/default/ui/menu/menu-back.js +31 -0
  215. package/dist/default/ui/menu/menu-back.js.map +1 -0
  216. package/dist/default/ui/menu/menu-checkbox-item.js +50 -0
  217. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -0
  218. package/dist/default/ui/menu/menu-content.js +284 -0
  219. package/dist/default/ui/menu/menu-content.js.map +1 -0
  220. package/dist/default/ui/menu/menu-group.js +26 -0
  221. package/dist/default/ui/menu/menu-group.js.map +1 -0
  222. package/dist/default/ui/menu/menu-item-indicator.js +24 -0
  223. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -0
  224. package/dist/default/ui/menu/menu-item.js +53 -0
  225. package/dist/default/ui/menu/menu-item.js.map +1 -0
  226. package/dist/default/ui/menu/menu-label.js +23 -0
  227. package/dist/default/ui/menu/menu-label.js.map +1 -0
  228. package/dist/default/ui/menu/menu-radio-group.js +33 -0
  229. package/dist/default/ui/menu/menu-radio-group.js.map +1 -0
  230. package/dist/default/ui/menu/menu-radio-item.js +57 -0
  231. package/dist/default/ui/menu/menu-radio-item.js.map +1 -0
  232. package/dist/default/ui/menu/menu-root.js +136 -0
  233. package/dist/default/ui/menu/menu-root.js.map +1 -0
  234. package/dist/default/ui/menu/menu-separator.js +23 -0
  235. package/dist/default/ui/menu/menu-separator.js.map +1 -0
  236. package/dist/default/ui/menu/menu-trigger.js +124 -0
  237. package/dist/default/ui/menu/menu-trigger.js.map +1 -0
  238. package/dist/default/ui/menu/menu-view.js +23 -0
  239. package/dist/default/ui/menu/menu-view.js.map +1 -0
  240. package/dist/default/ui/playback-rate-menu/context.js +20 -0
  241. package/dist/default/ui/playback-rate-menu/context.js.map +1 -0
  242. package/dist/default/ui/playback-rate-menu/index.js +3 -0
  243. package/dist/default/ui/playback-rate-menu/index.parts.js +17 -0
  244. package/dist/default/ui/playback-rate-menu/index.parts.js.map +1 -0
  245. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  246. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  247. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +36 -0
  248. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  249. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  250. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  251. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  252. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  253. package/dist/default/ui/popover/context.js.map +1 -1
  254. package/dist/default/ui/popover/popover-popup.js +20 -7
  255. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  256. package/dist/default/ui/popover/popover-root.js +20 -5
  257. package/dist/default/ui/popover/popover-root.js.map +1 -1
  258. package/dist/default/ui/seek-indicator/context.js +20 -0
  259. package/dist/default/ui/seek-indicator/context.js.map +1 -0
  260. package/dist/default/ui/seek-indicator/index.js +2 -0
  261. package/dist/default/ui/seek-indicator/index.parts.js +12 -0
  262. package/dist/default/ui/seek-indicator/index.parts.js.map +1 -0
  263. package/dist/default/ui/seek-indicator/seek-indicator-root.js +30 -0
  264. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  265. package/dist/default/ui/seek-indicator/seek-indicator-value.js +23 -0
  266. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  267. package/dist/default/ui/slider/context.js.map +1 -1
  268. package/dist/default/ui/status-announcer/index.js +2 -0
  269. package/dist/default/ui/status-announcer/status-announcer.js +36 -0
  270. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -0
  271. package/dist/default/ui/status-indicator/context.js +20 -0
  272. package/dist/default/ui/status-indicator/context.js.map +1 -0
  273. package/dist/default/ui/status-indicator/index.js +2 -0
  274. package/dist/default/ui/status-indicator/index.parts.js +12 -0
  275. package/dist/default/ui/status-indicator/index.parts.js.map +1 -0
  276. package/dist/default/ui/status-indicator/status-indicator-root.js +34 -0
  277. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -0
  278. package/dist/default/ui/status-indicator/status-indicator-value.js +23 -0
  279. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -0
  280. package/dist/default/ui/tooltip/context.js.map +1 -1
  281. package/dist/default/ui/tooltip/tooltip-popup.js +20 -7
  282. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  283. package/dist/default/ui/tooltip/tooltip-root.js +16 -4
  284. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  285. package/dist/default/ui/volume-indicator/context.js +20 -0
  286. package/dist/default/ui/volume-indicator/context.js.map +1 -0
  287. package/dist/default/ui/volume-indicator/index.js +2 -0
  288. package/dist/default/ui/volume-indicator/index.parts.js +14 -0
  289. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -0
  290. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +36 -0
  291. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  292. package/dist/default/ui/volume-indicator/volume-indicator-root.js +30 -0
  293. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  294. package/dist/default/ui/volume-indicator/volume-indicator-value.js +23 -0
  295. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  296. package/dist/default/utils/use-attach-media.js +14 -0
  297. package/dist/default/utils/use-attach-media.js.map +1 -0
  298. package/dist/default/utils/use-render.js.map +1 -1
  299. package/dist/default/utils/use-sync-props.js +14 -0
  300. package/dist/default/utils/use-sync-props.js.map +1 -0
  301. package/dist/dev/icons/dist/react/default/captions-off.js +1 -0
  302. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  303. package/dist/dev/icons/dist/react/default/captions-on.js +3 -5
  304. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  305. package/dist/dev/icons/dist/react/default/cast-enter.js +38 -11
  306. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  307. package/dist/dev/icons/dist/react/default/cast-exit.js +55 -14
  308. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  309. package/dist/dev/icons/dist/react/default/check.js +22 -0
  310. package/dist/dev/icons/dist/react/default/check.js.map +1 -0
  311. package/dist/dev/icons/dist/react/default/chevron.js +21 -0
  312. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -0
  313. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +3 -5
  314. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  315. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +3 -5
  316. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  317. package/dist/dev/icons/dist/react/default/index.d.ts +23 -0
  318. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -0
  319. package/dist/dev/icons/dist/react/default/pause.js +2 -3
  320. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  321. package/dist/dev/icons/dist/react/default/pip-enter.js +4 -10
  322. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  323. package/dist/dev/icons/dist/react/default/pip-exit.js +4 -10
  324. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  325. package/dist/dev/icons/dist/react/default/play.js +3 -5
  326. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  327. package/dist/dev/icons/dist/react/default/restart.js +3 -8
  328. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  329. package/dist/dev/icons/dist/react/default/seek.js +3 -5
  330. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  331. package/dist/dev/icons/dist/react/default/spinner.js +38 -117
  332. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  333. package/dist/dev/icons/dist/react/default/volume-high.js +3 -8
  334. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  335. package/dist/dev/icons/dist/react/default/volume-low.js +3 -5
  336. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  337. package/dist/dev/icons/dist/react/default/volume-off.js +3 -5
  338. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  339. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -0
  340. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  341. package/dist/dev/icons/dist/react/minimal/captions-on.js +3 -5
  342. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  343. package/dist/dev/icons/dist/react/minimal/cast-enter.js +38 -7
  344. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  345. package/dist/dev/icons/dist/react/minimal/cast-exit.js +56 -11
  346. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  347. package/dist/dev/icons/dist/react/minimal/check.js +22 -0
  348. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -0
  349. package/dist/dev/icons/dist/react/minimal/chevron.js +21 -0
  350. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -0
  351. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  352. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  353. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  354. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  355. package/dist/dev/icons/dist/react/minimal/index.d.ts +23 -0
  356. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -0
  357. package/dist/dev/icons/dist/react/minimal/pause.js +2 -3
  358. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  359. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -14
  360. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  361. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -14
  362. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  363. package/dist/dev/icons/dist/react/minimal/play.js +3 -5
  364. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  365. package/dist/dev/icons/dist/react/minimal/restart.js +3 -8
  366. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  367. package/dist/dev/icons/dist/react/minimal/seek.js +3 -5
  368. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  369. package/dist/dev/icons/dist/react/minimal/spinner.js +38 -117
  370. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  371. package/dist/dev/icons/dist/react/minimal/volume-high.js +3 -8
  372. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  373. package/dist/dev/icons/dist/react/minimal/volume-low.js +3 -5
  374. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  375. package/dist/dev/icons/dist/react/minimal/volume-off.js +3 -5
  376. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  377. package/dist/dev/icons/index.d.ts +2 -0
  378. package/dist/dev/icons/index.js +19 -0
  379. package/dist/dev/icons/minimal/index.d.ts +2 -0
  380. package/dist/dev/icons/minimal/index.js +19 -0
  381. package/dist/dev/index.d.ts +28 -12
  382. package/dist/dev/index.js +20 -12
  383. package/dist/dev/media/audio.d.ts +2 -2
  384. package/dist/dev/media/audio.d.ts.map +1 -1
  385. package/dist/dev/media/background-video/index.d.ts +2 -2
  386. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  387. package/dist/dev/media/dash-video/index.d.ts +7 -8
  388. package/dist/dev/media/dash-video/index.d.ts.map +1 -1
  389. package/dist/dev/media/dash-video/index.js +6 -6
  390. package/dist/dev/media/dash-video/index.js.map +1 -1
  391. package/dist/dev/media/hls-video/index.d.ts +7 -8
  392. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  393. package/dist/dev/media/hls-video/index.js +6 -6
  394. package/dist/dev/media/hls-video/index.js.map +1 -1
  395. package/dist/dev/media/mux-audio/index.d.ts +11 -9
  396. package/dist/dev/media/mux-audio/index.d.ts.map +1 -1
  397. package/dist/dev/media/mux-audio/index.js +9 -8
  398. package/dist/dev/media/mux-audio/index.js.map +1 -1
  399. package/dist/dev/media/mux-video/index.d.ts +7 -8
  400. package/dist/dev/media/mux-video/index.d.ts.map +1 -1
  401. package/dist/dev/media/mux-video/index.js +6 -6
  402. package/dist/dev/media/mux-video/index.js.map +1 -1
  403. package/dist/dev/media/native-hls-video/index.d.ts +7 -8
  404. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -1
  405. package/dist/dev/media/native-hls-video/index.js +6 -6
  406. package/dist/dev/media/native-hls-video/index.js.map +1 -1
  407. package/dist/dev/media/simple-hls-video/index.d.ts +7 -6
  408. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  409. package/dist/dev/media/simple-hls-video/index.js +6 -5
  410. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  411. package/dist/dev/media/video.d.ts +2 -2
  412. package/dist/dev/media/video.d.ts.map +1 -1
  413. package/dist/dev/player/context.d.ts +7 -4
  414. package/dist/dev/player/context.d.ts.map +1 -1
  415. package/dist/dev/player/context.js +9 -1
  416. package/dist/dev/player/context.js.map +1 -1
  417. package/dist/dev/player/create-player.d.ts.map +1 -1
  418. package/dist/dev/player/create-player.js +4 -1
  419. package/dist/dev/player/create-player.js.map +1 -1
  420. package/dist/dev/presets/audio/minimal-skin.css +211 -100
  421. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  422. package/dist/dev/presets/audio/minimal-skin.js +107 -7
  423. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  424. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  425. package/dist/dev/presets/audio/minimal-skin.tailwind.js +41 -7
  426. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  427. package/dist/dev/presets/audio/skin.css +237 -100
  428. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  429. package/dist/dev/presets/audio/skin.js +57 -22
  430. package/dist/dev/presets/audio/skin.js.map +1 -1
  431. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  432. package/dist/dev/presets/audio/skin.tailwind.js +115 -14
  433. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  434. package/dist/dev/presets/background/skin.d.ts +2 -2
  435. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  436. package/dist/dev/presets/live-audio/index.d.ts +7 -0
  437. package/dist/dev/presets/live-audio/index.js +7 -0
  438. package/dist/dev/presets/live-audio/minimal-skin.css +846 -0
  439. package/dist/dev/presets/live-audio/minimal-skin.d.ts +16 -0
  440. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -0
  441. package/dist/dev/presets/live-audio/minimal-skin.js +164 -0
  442. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -0
  443. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts +8 -0
  444. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -0
  445. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +194 -0
  446. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -0
  447. package/dist/dev/presets/live-audio/skin.css +888 -0
  448. package/dist/dev/presets/live-audio/skin.d.ts +15 -0
  449. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -0
  450. package/dist/dev/presets/live-audio/skin.js +163 -0
  451. package/dist/dev/presets/live-audio/skin.js.map +1 -0
  452. package/dist/dev/presets/live-audio/skin.tailwind.d.ts +8 -0
  453. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -0
  454. package/dist/dev/presets/live-audio/skin.tailwind.js +193 -0
  455. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -0
  456. package/dist/dev/presets/live-video/index.d.ts +7 -0
  457. package/dist/dev/presets/live-video/index.js +7 -0
  458. package/dist/dev/presets/live-video/minimal-skin.css +1542 -0
  459. package/dist/dev/presets/live-video/minimal-skin.d.ts +16 -0
  460. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -0
  461. package/dist/dev/presets/live-video/minimal-skin.js +306 -0
  462. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -0
  463. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts +8 -0
  464. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -0
  465. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +341 -0
  466. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -0
  467. package/dist/dev/presets/live-video/skin.css +1544 -0
  468. package/dist/dev/presets/live-video/skin.d.ts +15 -0
  469. package/dist/dev/presets/live-video/skin.d.ts.map +1 -0
  470. package/dist/dev/presets/live-video/skin.js +304 -0
  471. package/dist/dev/presets/live-video/skin.js.map +1 -0
  472. package/dist/dev/presets/live-video/skin.tailwind.d.ts +8 -0
  473. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -0
  474. package/dist/dev/presets/live-video/skin.tailwind.js +426 -0
  475. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -0
  476. package/dist/dev/presets/video/minimal-skin.css +555 -139
  477. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  478. package/dist/dev/presets/video/minimal-skin.js +205 -23
  479. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  480. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  481. package/dist/dev/presets/video/minimal-skin.tailwind.js +209 -24
  482. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  483. package/dist/dev/presets/video/skin.css +565 -137
  484. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  485. package/dist/dev/presets/video/skin.js +124 -52
  486. package/dist/dev/presets/video/skin.js.map +1 -1
  487. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  488. package/dist/dev/presets/video/skin.tailwind.js +208 -29
  489. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  490. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  491. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  492. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  493. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  494. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -2
  495. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  496. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  497. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  498. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  499. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  500. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  501. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  502. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -0
  503. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  504. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  505. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  506. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +1 -1
  507. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  508. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js +7 -0
  509. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  510. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -1
  511. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  512. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +1 -1
  513. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  514. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  515. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  516. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  517. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  518. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  519. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  520. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  521. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  522. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  523. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  524. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  525. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  526. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  527. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  528. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  529. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  530. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  531. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  532. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  533. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  534. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  535. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  536. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  537. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  538. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  539. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  540. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  541. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  542. package/dist/dev/tailwind.css +66 -0
  543. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +2 -2
  544. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
  545. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +2 -2
  546. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
  547. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +2 -2
  548. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
  549. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +2 -2
  550. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
  551. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +2 -2
  552. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  553. package/dist/dev/ui/captions-button/captions-button.d.ts +2 -2
  554. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  555. package/dist/dev/ui/cast-button/cast-button.d.ts +2 -2
  556. package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
  557. package/dist/dev/ui/cast-button/cast-button.js +2 -2
  558. package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
  559. package/dist/dev/ui/controls/context.js +4 -1
  560. package/dist/dev/ui/controls/context.js.map +1 -1
  561. package/dist/dev/ui/controls/controls-group.d.ts +2 -2
  562. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
  563. package/dist/dev/ui/controls/controls-root.d.ts +2 -2
  564. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  565. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +2 -2
  566. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  567. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +2 -2
  568. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  569. package/dist/dev/ui/gesture/gesture.d.ts +30 -0
  570. package/dist/dev/ui/gesture/gesture.d.ts.map +1 -0
  571. package/dist/dev/ui/gesture/{media-gesture.js → gesture.js} +8 -5
  572. package/dist/dev/ui/gesture/gesture.js.map +1 -0
  573. package/dist/dev/ui/gesture/index.d.ts +2 -0
  574. package/dist/dev/ui/gesture/index.js +2 -0
  575. package/dist/dev/ui/hotkey/hotkey.d.ts +28 -0
  576. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -0
  577. package/dist/dev/ui/hotkey/{media-hotkey.js → hotkey.js} +7 -4
  578. package/dist/dev/ui/hotkey/hotkey.js.map +1 -0
  579. package/dist/dev/ui/hotkey/index.d.ts +2 -0
  580. package/dist/dev/ui/hotkey/index.js +2 -0
  581. package/dist/dev/ui/input-indicators/use-indicator-visibility.js +25 -0
  582. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  583. package/dist/dev/ui/input-indicators/use-input-action-subscription.js +22 -0
  584. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  585. package/dist/dev/ui/input-indicators/use-input-indicator-root.js +21 -0
  586. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  587. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  588. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  589. package/dist/dev/ui/live-button/index.d.ts +2 -0
  590. package/dist/dev/ui/live-button/index.js +2 -0
  591. package/dist/dev/ui/live-button/live-button.d.ts +34 -0
  592. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -0
  593. package/dist/dev/ui/live-button/live-button.js +92 -0
  594. package/dist/dev/ui/live-button/live-button.js.map +1 -0
  595. package/dist/dev/ui/menu/context.d.ts +29 -0
  596. package/dist/dev/ui/menu/context.d.ts.map +1 -0
  597. package/dist/dev/ui/menu/context.js +29 -0
  598. package/dist/dev/ui/menu/context.js.map +1 -0
  599. package/dist/dev/ui/menu/index.d.ts +3 -0
  600. package/dist/dev/ui/menu/index.js +3 -0
  601. package/dist/dev/ui/menu/index.parts.d.ts +21 -0
  602. package/dist/dev/ui/menu/index.parts.d.ts.map +1 -0
  603. package/dist/dev/ui/menu/index.parts.js +34 -0
  604. package/dist/dev/ui/menu/index.parts.js.map +1 -0
  605. package/dist/dev/ui/menu/menu-back.d.ts +18 -0
  606. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -0
  607. package/dist/dev/ui/menu/menu-back.js +31 -0
  608. package/dist/dev/ui/menu/menu-back.js.map +1 -0
  609. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +22 -0
  610. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -0
  611. package/dist/dev/ui/menu/menu-checkbox-item.js +50 -0
  612. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -0
  613. package/dist/dev/ui/menu/menu-content.d.ts +15 -0
  614. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -0
  615. package/dist/dev/ui/menu/menu-content.js +284 -0
  616. package/dist/dev/ui/menu/menu-content.js.map +1 -0
  617. package/dist/dev/ui/menu/menu-group.d.ts +18 -0
  618. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -0
  619. package/dist/dev/ui/menu/menu-group.js +26 -0
  620. package/dist/dev/ui/menu/menu-group.js.map +1 -0
  621. package/dist/dev/ui/menu/menu-item-indicator.d.ts +20 -0
  622. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -0
  623. package/dist/dev/ui/menu/menu-item-indicator.js +24 -0
  624. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -0
  625. package/dist/dev/ui/menu/menu-item.d.ts +20 -0
  626. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -0
  627. package/dist/dev/ui/menu/menu-item.js +53 -0
  628. package/dist/dev/ui/menu/menu-item.js.map +1 -0
  629. package/dist/dev/ui/menu/menu-label.d.ts +15 -0
  630. package/dist/dev/ui/menu/menu-label.d.ts.map +1 -0
  631. package/dist/dev/ui/menu/menu-label.js +23 -0
  632. package/dist/dev/ui/menu/menu-label.js.map +1 -0
  633. package/dist/dev/ui/menu/menu-radio-group.d.ts +22 -0
  634. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -0
  635. package/dist/dev/ui/menu/menu-radio-group.js +33 -0
  636. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -0
  637. package/dist/dev/ui/menu/menu-radio-item.d.ts +20 -0
  638. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -0
  639. package/dist/dev/ui/menu/menu-radio-item.js +57 -0
  640. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -0
  641. package/dist/dev/ui/menu/menu-root.d.ts +29 -0
  642. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -0
  643. package/dist/dev/ui/menu/menu-root.js +136 -0
  644. package/dist/dev/ui/menu/menu-root.js.map +1 -0
  645. package/dist/dev/ui/menu/menu-separator.d.ts +15 -0
  646. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -0
  647. package/dist/dev/ui/menu/menu-separator.js +23 -0
  648. package/dist/dev/ui/menu/menu-separator.js.map +1 -0
  649. package/dist/dev/ui/menu/menu-trigger.d.ts +22 -0
  650. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -0
  651. package/dist/dev/ui/menu/menu-trigger.js +124 -0
  652. package/dist/dev/ui/menu/menu-trigger.js.map +1 -0
  653. package/dist/dev/ui/menu/menu-view.d.ts +15 -0
  654. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -0
  655. package/dist/dev/ui/menu/menu-view.js +23 -0
  656. package/dist/dev/ui/menu/menu-view.js.map +1 -0
  657. package/dist/dev/ui/mute-button/mute-button.d.ts +2 -2
  658. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  659. package/dist/dev/ui/pip-button/pip-button.d.ts +2 -2
  660. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
  661. package/dist/dev/ui/play-button/play-button.d.ts +2 -2
  662. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
  663. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +2 -2
  664. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  665. package/dist/dev/ui/playback-rate-menu/context.js +20 -0
  666. package/dist/dev/ui/playback-rate-menu/context.js.map +1 -0
  667. package/dist/dev/ui/playback-rate-menu/index.d.ts +3 -0
  668. package/dist/dev/ui/playback-rate-menu/index.js +3 -0
  669. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +12 -0
  670. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +1 -0
  671. package/dist/dev/ui/playback-rate-menu/index.parts.js +17 -0
  672. package/dist/dev/ui/playback-rate-menu/index.parts.js.map +1 -0
  673. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +14 -0
  674. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +1 -0
  675. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  676. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  677. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +23 -0
  678. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +1 -0
  679. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +39 -0
  680. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  681. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +14 -0
  682. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +1 -0
  683. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  684. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  685. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +26 -0
  686. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +1 -0
  687. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  688. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  689. package/dist/dev/ui/popover/context.d.ts +3 -1
  690. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  691. package/dist/dev/ui/popover/context.js.map +1 -1
  692. package/dist/dev/ui/popover/popover-arrow.d.ts +2 -2
  693. package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
  694. package/dist/dev/ui/popover/popover-popup.d.ts +2 -2
  695. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  696. package/dist/dev/ui/popover/popover-popup.js +20 -7
  697. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  698. package/dist/dev/ui/popover/popover-root.d.ts +4 -1
  699. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  700. package/dist/dev/ui/popover/popover-root.js +20 -5
  701. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  702. package/dist/dev/ui/popover/popover-trigger.d.ts +2 -2
  703. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  704. package/dist/dev/ui/poster/poster.d.ts +2 -2
  705. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  706. package/dist/dev/ui/seek-button/seek-button.d.ts +2 -2
  707. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
  708. package/dist/dev/ui/seek-indicator/context.js +20 -0
  709. package/dist/dev/ui/seek-indicator/context.js.map +1 -0
  710. package/dist/dev/ui/seek-indicator/index.d.ts +2 -0
  711. package/dist/dev/ui/seek-indicator/index.js +2 -0
  712. package/dist/dev/ui/seek-indicator/index.parts.d.ts +10 -0
  713. package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +1 -0
  714. package/dist/dev/ui/seek-indicator/index.parts.js +12 -0
  715. package/dist/dev/ui/seek-indicator/index.parts.js.map +1 -0
  716. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +14 -0
  717. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -0
  718. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +30 -0
  719. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  720. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +13 -0
  721. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -0
  722. package/dist/dev/ui/seek-indicator/seek-indicator-value.js +23 -0
  723. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  724. package/dist/dev/ui/slider/context.js.map +1 -1
  725. package/dist/dev/ui/slider/slider-buffer.d.ts +2 -2
  726. package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
  727. package/dist/dev/ui/slider/slider-fill.d.ts +2 -2
  728. package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
  729. package/dist/dev/ui/slider/slider-preview.d.ts +2 -2
  730. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  731. package/dist/dev/ui/slider/slider-root.d.ts +2 -2
  732. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  733. package/dist/dev/ui/slider/slider-thumb.d.ts +2 -2
  734. package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
  735. package/dist/dev/ui/slider/slider-thumbnail.d.ts +2 -2
  736. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  737. package/dist/dev/ui/slider/slider-track.d.ts +2 -2
  738. package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
  739. package/dist/dev/ui/slider/slider-value.d.ts +2 -2
  740. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  741. package/dist/dev/ui/status-announcer/index.d.ts +2 -0
  742. package/dist/dev/ui/status-announcer/index.js +2 -0
  743. package/dist/dev/ui/status-announcer/status-announcer.d.ts +14 -0
  744. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -0
  745. package/dist/dev/ui/status-announcer/status-announcer.js +36 -0
  746. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -0
  747. package/dist/dev/ui/status-indicator/context.js +20 -0
  748. package/dist/dev/ui/status-indicator/context.js.map +1 -0
  749. package/dist/dev/ui/status-indicator/index.d.ts +2 -0
  750. package/dist/dev/ui/status-indicator/index.js +2 -0
  751. package/dist/dev/ui/status-indicator/index.parts.d.ts +10 -0
  752. package/dist/dev/ui/status-indicator/index.parts.d.ts.map +1 -0
  753. package/dist/dev/ui/status-indicator/index.parts.js +12 -0
  754. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -0
  755. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +14 -0
  756. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -0
  757. package/dist/dev/ui/status-indicator/status-indicator-root.js +34 -0
  758. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -0
  759. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +13 -0
  760. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -0
  761. package/dist/dev/ui/status-indicator/status-indicator-value.js +23 -0
  762. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -0
  763. package/dist/dev/ui/thumbnail/thumbnail.d.ts +2 -2
  764. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  765. package/dist/dev/ui/time/time-group.d.ts +2 -2
  766. package/dist/dev/ui/time/time-group.d.ts.map +1 -1
  767. package/dist/dev/ui/time/time-separator.d.ts +2 -2
  768. package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
  769. package/dist/dev/ui/time/time-value.d.ts +2 -2
  770. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  771. package/dist/dev/ui/time-slider/time-slider-root.d.ts +2 -2
  772. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  773. package/dist/dev/ui/tooltip/context.d.ts +3 -1
  774. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  775. package/dist/dev/ui/tooltip/context.js.map +1 -1
  776. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +2 -2
  777. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
  778. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +2 -2
  779. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  780. package/dist/dev/ui/tooltip/tooltip-popup.js +20 -7
  781. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  782. package/dist/dev/ui/tooltip/tooltip-root.d.ts +4 -1
  783. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  784. package/dist/dev/ui/tooltip/tooltip-root.js +16 -4
  785. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  786. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +2 -2
  787. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  788. package/dist/dev/ui/volume-indicator/context.js +20 -0
  789. package/dist/dev/ui/volume-indicator/context.js.map +1 -0
  790. package/dist/dev/ui/volume-indicator/index.d.ts +2 -0
  791. package/dist/dev/ui/volume-indicator/index.js +2 -0
  792. package/dist/dev/ui/volume-indicator/index.parts.d.ts +11 -0
  793. package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +1 -0
  794. package/dist/dev/ui/volume-indicator/index.parts.js +14 -0
  795. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -0
  796. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +13 -0
  797. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -0
  798. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +36 -0
  799. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  800. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +14 -0
  801. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -0
  802. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +30 -0
  803. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  804. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +13 -0
  805. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -0
  806. package/dist/dev/ui/volume-indicator/volume-indicator-value.js +23 -0
  807. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  808. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +2 -2
  809. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  810. package/dist/dev/utils/use-attach-media.d.ts +8 -0
  811. package/dist/dev/utils/use-attach-media.d.ts.map +1 -0
  812. package/dist/dev/utils/use-attach-media.js +14 -0
  813. package/dist/dev/utils/use-attach-media.js.map +1 -0
  814. package/dist/dev/utils/use-render.js.map +1 -1
  815. package/dist/dev/utils/use-sync-props.js +14 -0
  816. package/dist/dev/utils/use-sync-props.js.map +1 -0
  817. package/docs/README.md +7 -0
  818. package/docs/concepts/accessibility.md +60 -0
  819. package/docs/concepts/browser-support.md +37 -0
  820. package/docs/concepts/features.md +131 -0
  821. package/docs/concepts/overview.md +119 -0
  822. package/docs/concepts/presets.md +204 -0
  823. package/docs/concepts/skins.md +2094 -0
  824. package/docs/concepts/ui-components.md +83 -0
  825. package/docs/concepts/v10-roadmap.md +75 -0
  826. package/docs/concepts/why-videojs.md +113 -0
  827. package/docs/how-to/build-with-ai.md +39 -0
  828. package/docs/how-to/build-your-own-component.md +142 -0
  829. package/docs/how-to/customize-skins.md +5990 -0
  830. package/docs/how-to/installation.md +170 -0
  831. package/docs/llms.txt +91 -0
  832. package/docs/reference/buffering-indicator.md +152 -0
  833. package/docs/reference/captions-button.md +200 -0
  834. package/docs/reference/controls.md +238 -0
  835. package/docs/reference/create-player.md +261 -0
  836. package/docs/reference/create-selector.md +59 -0
  837. package/docs/reference/feature-buffer.md +54 -0
  838. package/docs/reference/feature-controls.md +74 -0
  839. package/docs/reference/feature-error.md +65 -0
  840. package/docs/reference/feature-fullscreen.md +94 -0
  841. package/docs/reference/feature-live.md +62 -0
  842. package/docs/reference/feature-pip.md +94 -0
  843. package/docs/reference/feature-playback-rate.md +70 -0
  844. package/docs/reference/feature-playback.md +109 -0
  845. package/docs/reference/feature-remote-playback.md +74 -0
  846. package/docs/reference/feature-source.md +70 -0
  847. package/docs/reference/feature-stream-type.md +46 -0
  848. package/docs/reference/feature-text-tracks.md +104 -0
  849. package/docs/reference/feature-time.md +84 -0
  850. package/docs/reference/feature-volume.md +99 -0
  851. package/docs/reference/fullscreen-button.md +212 -0
  852. package/docs/reference/mute-button.md +276 -0
  853. package/docs/reference/pip-button.md +212 -0
  854. package/docs/reference/play-button.md +224 -0
  855. package/docs/reference/playback-rate-button.md +169 -0
  856. package/docs/reference/player-container.md +103 -0
  857. package/docs/reference/player-provider.md +102 -0
  858. package/docs/reference/popover.md +527 -0
  859. package/docs/reference/poster.md +137 -0
  860. package/docs/reference/render-element.md +196 -0
  861. package/docs/reference/seek-button.md +213 -0
  862. package/docs/reference/slider.md +826 -0
  863. package/docs/reference/thumbnail.md +322 -0
  864. package/docs/reference/time-slider.md +741 -0
  865. package/docs/reference/time.md +495 -0
  866. package/docs/reference/tooltip.md +631 -0
  867. package/docs/reference/use-button.md +124 -0
  868. package/docs/reference/use-container-attach.md +42 -0
  869. package/docs/reference/use-media-attach.md +46 -0
  870. package/docs/reference/use-media.md +11 -0
  871. package/docs/reference/use-player-context.md +93 -0
  872. package/docs/reference/use-player.md +226 -0
  873. package/docs/reference/use-selector.md +132 -0
  874. package/docs/reference/use-snapshot.md +127 -0
  875. package/docs/reference/use-store.md +257 -0
  876. package/docs/reference/volume-slider.md +716 -0
  877. package/package.json +46 -12
  878. package/dist/default/ui/gesture/media-gesture.js.map +0 -1
  879. package/dist/default/ui/hotkey/media-hotkey.js.map +0 -1
  880. package/dist/default/utils/attach-media-element.js +0 -12
  881. package/dist/default/utils/attach-media-element.js.map +0 -1
  882. package/dist/default/utils/media-props.js +0 -19
  883. package/dist/default/utils/media-props.js.map +0 -1
  884. package/dist/dev/ui/gesture/media-gesture.d.ts +0 -23
  885. package/dist/dev/ui/gesture/media-gesture.d.ts.map +0 -1
  886. package/dist/dev/ui/gesture/media-gesture.js.map +0 -1
  887. package/dist/dev/ui/hotkey/media-hotkey.d.ts +0 -21
  888. package/dist/dev/ui/hotkey/media-hotkey.d.ts.map +0 -1
  889. package/dist/dev/ui/hotkey/media-hotkey.js.map +0 -1
  890. package/dist/dev/utils/attach-media-element.d.ts +0 -9
  891. package/dist/dev/utils/attach-media-element.d.ts.map +0 -1
  892. package/dist/dev/utils/attach-media-element.js +0 -12
  893. package/dist/dev/utils/attach-media-element.js.map +0 -1
  894. package/dist/dev/utils/media-props.d.ts +0 -8
  895. package/dist/dev/utils/media-props.d.ts.map +0 -1
  896. package/dist/dev/utils/media-props.js +0 -19
  897. package/dist/dev/utils/media-props.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sync-props.js","names":[],"sources":["../../../src/utils/use-sync-props.ts"],"sourcesContent":["import { isUndefined } from '@videojs/utils/predicate';\n\nexport function useSyncProps<Props extends object, Rest extends Record<string, unknown>>(\n target: Props,\n props: Partial<Props> & Rest,\n defaults: Props\n): Omit<Rest, keyof Props> {\n const rest: Record<string, unknown> = {};\n\n for (const key in props) {\n if (key in defaults) {\n const value = isUndefined(props[key]) ? (defaults as Record<string, unknown>)[key] : props[key];\n if (target[key as keyof typeof target] !== value) target[key as keyof typeof target] = value as any;\n } else {\n rest[key] = props[key];\n }\n }\n\n return rest as Omit<Rest, keyof Props>;\n}\n"],"mappings":";;AAEA,SAAgB,aACd,QACA,OACA,UACyB;CACzB,MAAM,OAAgC,EAAE;AAExC,MAAK,MAAM,OAAO,MAChB,KAAI,OAAO,UAAU;EACnB,MAAM,QAAQ,YAAY,MAAM,KAAK,GAAI,SAAqC,OAAO,MAAM;AAC3F,MAAI,OAAO,SAAgC,MAAO,QAAO,OAA8B;OAEvF,MAAK,OAAO,MAAM;AAItB,QAAO"}
package/docs/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # @videojs/react documentation
2
+
3
+ Bundled markdown documentation for `@videojs/react` v10.0.0-beta.24.
4
+
5
+ Start at [`./llms.txt`](./llms.txt) — it's the structured index of every page in this directory.
6
+
7
+ Canonical online version: https://videojs.org/docs/framework/react
@@ -0,0 +1,60 @@
1
+ # Accessibility
2
+
3
+ How Video.js approaches accessibility, and what you should consider if you're deeply customizing your player
4
+
5
+ Video.js is built with accessibility in mind so your player can reach the widest possible audience.
6
+
7
+ Here are some of the accessibility aspects we consider. You should consider them too if you’re performing deeper customization.
8
+
9
+ ## Standards we target
10
+
11
+ * [**WAI-ARIA 1.2**](https://www.w3.org/TR/wai-aria-1.2/) defines roles, states, and properties that [assistive technologies](https://www.w3.org/WAI/people-use-web/tools-techniques/) use to understand controls.
12
+ * [**WCAG 2.2**](https://www.w3.org/TR/WCAG22/) provides success criteria for perceivable, operable, understandable, and robust web content.
13
+ * [**CVAA**](https://www.fcc.gov/consumers/guides/21st-century-communications-and-video-accessibility-act-cvaa) is a U.S. federal law requiring closed captioning and accessible controls for video content.
14
+ * [**ADA**](https://www.ada.gov/) is a U.S. civil rights law that prohibits disability discrimination. Courts increasingly apply it to websites, including video players.
15
+
16
+ ## ARIA roles and labels
17
+
18
+ Components set ARIA roles and attributes automatically. For example, sliders render with `role="slider"` and value attributes, buttons update their `aria-label` based on player state, and decorative elements like time separators are hidden with `aria-hidden="true"`.
19
+
20
+ Verify that labels are contextually correct for your content and language. Each component’s reference page documents the attributes it sets.
21
+
22
+ ## Keyboard interaction
23
+
24
+ All interactive components support keyboard control. For example, buttons activate with Enter and Space, sliders respond to Arrow keys, Home, End, and Page Up/Page Down, and popovers close with Escape. Each component’s reference page lists its full keyboard support. We follow the patterns in the [WAI-ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/).
25
+
26
+ ## Focus management
27
+
28
+ Interactive elements are focusable when enabled and leave the [tab order](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) when disabled. Popover triggers link to their popups with `aria-controls` and `aria-expanded`.
29
+
30
+ ## Captions and subtitles
31
+
32
+ The [text tracks feature](../reference/feature-text-tracks.md) supports captions and subtitles. Closed captions in the U.S. are governed by the [FCC](https://www.fcc.gov/) under the [CVAA](https://www.fcc.gov/consumers/guides/21st-century-communications-and-video-accessibility-act-cvaa), which requires both captioning and viewer control over caption appearance (font, size, color, opacity, and edge style). Non-compliance carries legal risk. The [WebKit Caption Display Settings explainer](https://github.com/WebKit/explainers/tree/main/CaptionDisplaySettings) tracks how browsers are bringing these customization preferences into the web platform natively.
33
+
34
+ ## Color contrast
35
+
36
+ Skins respond to [`prefers-contrast: more`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast) by increasing background opacity on overlays and controls, and to [`prefers-reduced-transparency: reduce`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) by raising baseline opacity so text stays readable over video.
37
+
38
+ Video is harder than most UI for contrast because the background is always changing. A control that passes checks over a dark frame can disappear over a bright title card. Automated tools won’t catch this, so test your controls against light, dark, and mixed video content. Custom components should test against [WCAG 1.4.3 (contrast minimum)](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum) and [1.4.11 (non-text contrast)](https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast).
39
+
40
+ ## Touch targets
41
+
42
+ Controls use rem-based sizing so they scale with the user’s font size preference. All interactive elements set [`touch-action: manipulation`](https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action) to eliminate tap delay on touch devices. Skins use [`pointer: fine` and `pointer: coarse`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer) to adapt transitions for mouse and touch input.
43
+
44
+ If you build custom controls, target at least 24x24 CSS pixels per [WCAG 2.5.8 (target size minimum)](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum). Larger is better on touch-first surfaces.
45
+
46
+ ## Color scheme
47
+
48
+ Skins adapt to [`prefers-color-scheme`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme). Borders, backgrounds, and text colors adjust through CSS custom properties. Custom components can use the same design tokens. See [Skins](./skins.md) for details.
49
+
50
+ ## Reduced motion
51
+
52
+ Skins respect [`prefers-reduced-motion`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) by simplifying or removing animations and transitions. Follow the same pattern in custom components.
53
+
54
+ ## Test with assistive technology
55
+
56
+ Automated tools catch markup issues but miss real usability problems. Test your player with a [screen reader](https://www.w3.org/WAI/people-use-web/tools-techniques/) ([VoiceOver](https://support.apple.com/guide/voiceover/welcome/mac) on macOS, [NVDA](https://www.nvaccess.org/about-nvda/) or [JAWS](https://www.freedomscientific.com/products/software/jaws/) on Windows) and keyboard-only navigation. Verify that every control is reachable, operable, and announces its purpose and state. The [WAI “Easy Checks”](https://www.w3.org/WAI/test-evaluate/preliminary/) are a good starting point.
57
+
58
+ ## Further reading
59
+
60
+ The W3C WAI guides on [making audio and video media accessible](https://www.w3.org/WAI/media/av/) and [accessible media players](https://www.w3.org/WAI/media/av/player/) go deeper on everything covered here.
@@ -0,0 +1,37 @@
1
+ # Browser Support
2
+
3
+ Which browsers Video.js 10 supports and how it handles newer platform features
4
+
5
+ Video.js 10 currently targets **evergreen browsers** : the latest two stable versions of Chrome, Firefox, Safari, and Edge.
6
+
7
+ Note
8
+
9
+ Video.js 10 is in beta. The browser support matrix may expand as we approach GA based on community feedback and usage data.
10
+
11
+ ## Why evergreen?
12
+
13
+ Video.js 10 builds directly on the web platform: custom elements, CSS custom properties, anchor positioning, and modern JavaScript APIs. Targeting evergreen browsers lets us:
14
+
15
+ * **Ship smaller bundles** by avoiding polyfills and transpilation for outdated syntax
16
+ * **Use platform-native features** like `popover` and anchor positioning instead of JavaScript equivalents
17
+ * **Keep the core slim** so platform-specific adapters (HTML, React) add only what they need
18
+
19
+ ## Progressive enhancement
20
+
21
+ When we use a platform feature that hasn’t landed in all supported browsers yet, we provide a fallback. The player works either way; the experience may differ slightly in older browsers. For example, tooltips and popovers use CSS anchor positioning where available and fall back to absolute positioning where it isn’t.
22
+
23
+ ## Rendering contexts
24
+
25
+ ### WebViews and PWAs
26
+
27
+ A [WebView](https://developer.mozilla.org/en-US/docs/Glossary/WebView) is a browser engine embedded inside a native app. WebViews on iOS (WKWebView) and Android (Android WebView) behave differently from the full browser; autoplay policies, fullscreen APIs, and hardware acceleration can vary. Progressive Web Apps (PWAs) installed via “Add to Homescreen” can exhibit similar quirks, since they also run in a limited browser context rather than a full browser tab.
28
+
29
+ Video.js 10 beta targets only standard browser environments. If you embed a player inside a native app or PWA, test thoroughly for your specific platform and runtime.
30
+
31
+ ### Smart TVs and set-top boxes
32
+
33
+ TV platforms run embedded browsers with limited standards support. Video.js 10’s core is not tied to any specific platform, which makes future TV adapters possible, but TV is not a supported target today.
34
+
35
+ ### Server-side rendering
36
+
37
+ Video.js components render valid markup on the server. Interactivity — state management, media playback, and event handling — requires the browser and kicks in after hydration.
@@ -0,0 +1,131 @@
1
+ # Features
2
+
3
+ The state and actions each feature adds to the player
4
+
5
+ Not every player needs to support every use case. To address this, Video.js has a concept of **features** — self-contained units of player functionality. Each one adds state properties and actions to the player. For example, “playback” adds `paused` and `play()`, “volume” adds `volume` and `setVolume()`, and so on.
6
+
7
+ ## Using features
8
+
9
+ ### Feature bundles and presets
10
+
11
+ You probably don’t want to hand-pick every feature your player needs. A **feature bundle** groups the features needed for a specific use case into a single array.
12
+
13
+ For example, `videoFeatures` bundles playback, volume, time, fullscreen, and more — everything a general video player needs:
14
+
15
+ tsx
16
+
17
+ ```
18
+ import { createPlayer } from '@videojs/react';
19
+ import { videoFeatures } from '@videojs/react/video';
20
+
21
+ const Player = createPlayer({ features: videoFeatures });
22
+ ```
23
+
24
+ Feature bundles are usually paired with specific skins and media elements in a **preset** . To learn more about this, and the available presets, you’ll want to check out the presets guide.
25
+
26
+ [Learn more about presets](./presets.md)
27
+
28
+ ### Create a player with individual features
29
+
30
+ If you’re not using presets, you can create a player that has individual features.
31
+
32
+ tsx
33
+
34
+ ```
35
+ import { createPlayer, playbackFeature, volumeFeature, timeFeature, controlsFeature } from '@videojs/react';
36
+
37
+ const Player = createPlayer({
38
+ features: [playbackFeature, volumeFeature, timeFeature, controlsFeature],
39
+ });
40
+ ```
41
+
42
+ ### Extending a feature bundle
43
+
44
+ Since feature bundles are just an array of features under the hood, it doesn’t take much to extend one. For example, if you were using the `/background` preset and wanted a play button on your background video, you might add the playback feature.
45
+
46
+ tsx
47
+
48
+ ```
49
+ import { createPlayer, playbackFeature } from '@videojs/react';
50
+ import { backgroundFeatures } from '@videojs/react/background';
51
+
52
+ const Player = createPlayer({
53
+ features: [...backgroundFeatures, playbackFeature],
54
+ });
55
+ ```
56
+
57
+ ### Access features in components
58
+
59
+ You access feature state and actions through [`usePlayer`](../reference/use-player.md):
60
+
61
+ tsx
62
+
63
+ ```
64
+ // Subscribe to state (re-renders when selected values change)
65
+ const { paused, volume } = usePlayer((s) => ({
66
+ paused: s.paused,
67
+ volume: s.volume,
68
+ }));
69
+
70
+ // Call actions
71
+ const store = usePlayer();
72
+ store.play();
73
+ store.setVolume(0.8);
74
+ ```
75
+
76
+ ### Feature selectors
77
+
78
+ Each feature also has a pre-built selector (e.g. [`selectPlayback`](../reference/feature-playback.md), [`selectVolume`](../reference/feature-volume.md)) that returns just that feature’s state and actions:
79
+
80
+ tsx
81
+
82
+ ```
83
+ import { selectPlayback, usePlayer } from '@videojs/react';
84
+
85
+ const playback = usePlayer(selectPlayback);
86
+ playback?.play();
87
+ ```
88
+
89
+ ### Checking for feature support
90
+
91
+ Volume, fullscreen, and picture-in-picture expose an `*Availability` property because platform support varies. For example, iOS Safari doesn’t allow programmatic volume control.
92
+
93
+ Value
94
+
95
+ Meaning
96
+
97
+ `'available'`
98
+
99
+ Ready to use
100
+
101
+ `'unavailable'`
102
+
103
+ Could work, not ready yet
104
+
105
+ `'unsupported'`
106
+
107
+ Platform can never do this
108
+
109
+ Components that depend on availability (like [`PiPButton`](../reference/pip-button.md) and [`FullscreenButton`](../reference/fullscreen-button.md)) expose a `data-availability` attribute, so you can hide unsupported controls with CSS:
110
+
111
+ css
112
+
113
+ ```
114
+ .pip-button[data-availability="unsupported"] {
115
+ display: none;
116
+ }
117
+ ```
118
+
119
+ You can also check availability in JS:
120
+
121
+ PiPControl.tsx
122
+
123
+ ```
124
+ function PiPControl() {
125
+ const availability = usePlayer((s) => s.pipAvailability);
126
+
127
+ if (availability === 'unsupported') return null;
128
+
129
+ return <PiPButton />;
130
+ }
131
+ ```
@@ -0,0 +1,119 @@
1
+ # Overview
2
+
3
+ How Video.js players are structured — state, UI, and media
4
+
5
+ Video.js v10 is built around a three-part architecture that separates concerns and maximizes flexibility. Each part is designed to work independently or together, allowing you to use as much or as little of Video.js as you need.
6
+
7
+ For the reasoning behind this design, see [Why Video.js?](./why-videojs.md).
8
+
9
+ ## 1\. State management
10
+
11
+ State is handled by a `Player.Provider`, which creates a central state store that all components can access. When you wrap your player in a `Player.Provider`, the components automatically connect to the state.
12
+
13
+ tsx
14
+
15
+ ```
16
+ {/* All components inside automatically connect to state */}
17
+ <Player.Provider>
18
+ <VideoSkin>
19
+ <Video src="video.mp4" />
20
+ </VideoSkin>
21
+ </Player.Provider>
22
+ ```
23
+
24
+ You can access state and actions from anywhere within the provider with the [`usePlayer` hook](../reference/use-player.md).
25
+
26
+ [Learn more about state and actions](./features.md)
27
+
28
+ ## 2\. User interface
29
+
30
+ Use a prebuilt **skin** or build your own from the individual **UI components** .
31
+
32
+ ### Skins
33
+
34
+ Skins are complete, pre-designed player UIs that package components and styles together:
35
+
36
+ tsx
37
+
38
+ ```
39
+ <Player.Provider>
40
+ <VideoSkin>
41
+ <Video src="video.mp4" />
42
+ </VideoSkin>
43
+ </Player.Provider>
44
+ ```
45
+
46
+ [Learn more about skins](./skins.md)
47
+
48
+ ### UI components
49
+
50
+ If you want more control than skins offer you, you can build your own UI from our components.
51
+
52
+ tsx
53
+
54
+ ```
55
+ <Player.Provider>
56
+ <Player.Container>
57
+ <Video src="video.mp4" />
58
+ <MediaControls>
59
+ <PlayButton />
60
+ {/* ... */}
61
+ </MediaControls>
62
+ </Player.Container>
63
+ </Player.Provider>
64
+ ```
65
+
66
+ To get started with UI components, you might consider [ejecting a skin](../how-to/customize-skins.md) and using its pre-styled components as a foundation.
67
+
68
+ [Learn more about UI components](./ui-components.md)
69
+
70
+ [Build your own component](../how-to/build-your-own-component.md)
71
+
72
+ ## 3\. Media
73
+
74
+ Media components are the components that actually display your media. They’re essentially “players with no UI”. They handle the video/audio rendering and expose a consistent API.
75
+
76
+ Media components can be format specific (HLS, DASH), service specific (YouTube, Vimeo, Mux), or use case specific (background video).
77
+
78
+ Note
79
+
80
+ DASH, YouTube, Vimeo, Mux, and more media elements are currently under development.
81
+
82
+ tsx
83
+
84
+ ```
85
+ <Player.Provider>
86
+ <VideoSkin>
87
+ <HlsVideo src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8" />
88
+ </VideoSkin>
89
+ </Player.Provider>
90
+ ```
91
+
92
+ ## Presets
93
+
94
+ **Presets** preconfigure these parts for a specific use case.
95
+
96
+ The default presets are `@videojs/react/video` and `@videojs/react/audio`, covering the baseline set of controls you’d expect from the HTML `<video>` and `<audio>` tags.
97
+
98
+ Beyond the defaults, presets target more specific use cases. For example, `/background` includes a media element with autoplay, mute, and loop built in, a skin with no controls, and just the features needed to power it:
99
+
100
+ tsx
101
+
102
+ ```
103
+ import { createPlayer } from '@videojs/react';
104
+ import { backgroundFeatures, BackgroundVideo, BackgroundVideoSkin } from '@videojs/react/background';
105
+
106
+ const Player = createPlayer({ features: backgroundFeatures });
107
+
108
+ function Hero() {
109
+ return (
110
+ <Player.Provider>
111
+ <BackgroundVideoSkin>
112
+ <BackgroundVideo src="hero.mp4" />
113
+ </BackgroundVideoSkin>
114
+ </Player.Provider>
115
+ );
116
+ }
117
+ ```
118
+
119
+ [Learn more about presets](./presets.md)
@@ -0,0 +1,204 @@
1
+ # Presets
2
+
3
+ Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
4
+
5
+ A **preset** packages what you need for a specific player use case. It can include special [state management](./features.md), one or more [skins](./skins.md) for UI, and specific media elements. Instead of assembling these pieces individually, you pick a preset that matches what you’re building.
6
+
7
+ For example, the `@videojs/react/background` preset includes a media element with autoplay, mute, and loop built in, a skin with no controls, and just the features needed to power them:
8
+
9
+ App.tsx
10
+
11
+ ```
12
+ import { createPlayer } from '@videojs/react';
13
+ import { backgroundFeatures, BackgroundVideo, BackgroundVideoSkin } from '@videojs/react/background';
14
+
15
+ const Player = createPlayer({ features: backgroundFeatures });
16
+
17
+ function Hero() {
18
+ return (
19
+ <Player.Provider>
20
+ <BackgroundVideoSkin>
21
+ <BackgroundVideo src="hero.mp4" />
22
+ </BackgroundVideoSkin>
23
+ </Player.Provider>
24
+ );
25
+ }
26
+ ```
27
+
28
+ ## Available presets
29
+
30
+ The default presets are `/video` and `/audio`. These cover the baseline controls you’d expect from the HTML `<video>` and `<audio>` tags. Beyond the defaults, presets target more specific use cases — the `/background` preset, for example, needs layout but not controls. Over time we’ll add more: short-form players, podcast players, TV streaming players, and others.
31
+
32
+ Import
33
+
34
+ Description
35
+
36
+ Details
37
+
38
+ `@videojs/react/video`
39
+
40
+ General-purpose video player preset with full playback controls.
41
+
42
+
43
+
44
+ Feature bundle
45
+
46
+ `videoFeatures`
47
+
48
+ Features
49
+
50
+ [playback](../reference/feature-playback.md), [playbackRate](../reference/feature-playback-rate.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [fullscreen](../reference/feature-fullscreen.md), [pip](../reference/feature-pip.md), [remotePlayback](../reference/feature-remote-playback.md), [controls](../reference/feature-controls.md), [textTrack](../reference/feature-text-tracks.md), [error](../reference/feature-error.md)
51
+
52
+ Skins
53
+
54
+ `<MinimalVideoSkin>`, `<VideoSkin>`
55
+
56
+ Default media element
57
+
58
+ `<Video>`
59
+
60
+ `@videojs/react/audio`
61
+
62
+ Audio-only player preset with playback and volume controls.
63
+
64
+
65
+
66
+ Feature bundle
67
+
68
+ `audioFeatures`
69
+
70
+ Features
71
+
72
+ [playback](../reference/feature-playback.md), [playbackRate](../reference/feature-playback-rate.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [error](../reference/feature-error.md)
73
+
74
+ Skins
75
+
76
+ `<MinimalAudioSkin>`, `<AudioSkin>`
77
+
78
+ Default media element
79
+
80
+ `<Audio>`
81
+
82
+ `@videojs/react/background`
83
+
84
+ Ambient background video preset with no user controls.
85
+
86
+
87
+
88
+ Feature bundle
89
+
90
+ `backgroundFeatures`
91
+
92
+ Features
93
+
94
+
95
+
96
+ Skins
97
+
98
+ `<BackgroundVideoSkin>`
99
+
100
+ Default media element
101
+
102
+ `<BackgroundVideo>`
103
+
104
+ `@videojs/react/live-audio`
105
+
106
+ Live audio player preset — same features as `audio` with a skin that omits duration / current-time displays.
107
+
108
+
109
+
110
+ Feature bundle
111
+
112
+ `liveAudioFeatures`
113
+
114
+ Features
115
+
116
+ [playback](../reference/feature-playback.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [error](../reference/feature-error.md), [live](../reference/feature-live.md)
117
+
118
+ Skins
119
+
120
+ `<MinimalLiveAudioSkin>`, `<LiveAudioSkin>`
121
+
122
+ Default media element
123
+
124
+ `<Audio>`
125
+
126
+ `@videojs/react/live-video`
127
+
128
+ Live video player preset — same features as `video` with a skin that omits duration / current-time displays.
129
+
130
+
131
+
132
+ Feature bundle
133
+
134
+ `liveVideoFeatures`
135
+
136
+ Features
137
+
138
+ [playback](../reference/feature-playback.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [fullscreen](../reference/feature-fullscreen.md), [pip](../reference/feature-pip.md), [remotePlayback](../reference/feature-remote-playback.md), [controls](../reference/feature-controls.md), [textTrack](../reference/feature-text-tracks.md), [error](../reference/feature-error.md), [live](../reference/feature-live.md)
139
+
140
+ Skins
141
+
142
+ `<MinimalLiveVideoSkin>`, `<LiveVideoSkin>`
143
+
144
+ Default media element
145
+
146
+ `<Video>`
147
+
148
+ ## What’s in a preset
149
+
150
+ Each preset exports up to three things:
151
+
152
+ * **Feature bundle** — An array of [features](./features.md) that define the player’s state and actions. For example, the video feature bundle includes playback, volume, time, fullscreen, and more.
153
+ * **Skins** — Pre-built UIs designed for that feature bundle. For example, a video skin renders fullscreen and PiP controls because the video feature bundle includes those features. An audio skin doesn’t.
154
+ * **Media element** — A media component suited to the use case. For example, the background video element bakes in autoplay, mute, and loop.
155
+
156
+ These parts aren’t equally tied together. Skins depend tightly on their feature bundle — a skin expects specific features to exist. Media elements are more interchangeable — you can swap in an HLS or DASH provider without changing your skin or features.
157
+
158
+ ## Customizing a preset
159
+
160
+ You can customize a preset in three ways: extend its feature bundle, eject its skin, or swap its media element.
161
+
162
+ ### Extend the feature bundle
163
+
164
+ Add features to a preset’s feature bundle to enable new functionality. For example, adding playback controls to a background video:
165
+
166
+ App.tsx
167
+
168
+ ```
169
+ import { createPlayer, playbackFeature } from '@videojs/react';
170
+ import { backgroundFeatures, BackgroundVideo } from '@videojs/react/background';
171
+
172
+ const Player = createPlayer({
173
+ features: [...backgroundFeatures, playbackFeature],
174
+ });
175
+
176
+ function Hero() {
177
+ return (
178
+ <Player.Provider>
179
+ <Player.Container>
180
+ <BackgroundVideo src="hero.mp4" />
181
+ <PlayButton />
182
+ </Player.Container>
183
+ </Player.Provider>
184
+ );
185
+ }
186
+ ```
187
+
188
+ ### Eject the skin
189
+
190
+ If a preset’s skin is close but not quite right, you can [eject it](../how-to/customize-skins.md) — copy its internal components into your project and customize from there.
191
+
192
+ ### Swap the media element
193
+
194
+ A preset’s default media element is just the starting point. You can replace it with any compatible media provider. For example, using an HLS source with the video preset:
195
+
196
+ tsx
197
+
198
+ ```
199
+ <Player.Provider>
200
+ <VideoSkin>
201
+ <HlsVideo src="https://example.com/stream.m3u8" />
202
+ </VideoSkin>
203
+ </Player.Provider>
204
+ ```