@videojs/react 10.0.0-beta.23 → 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 (736) 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 +17 -8
  77. package/dist/default/media/simple-hls-video/index.js +2 -2
  78. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  79. package/dist/default/player/context.js +9 -1
  80. package/dist/default/player/context.js.map +1 -1
  81. package/dist/default/player/create-player.js +4 -1
  82. package/dist/default/player/create-player.js.map +1 -1
  83. package/dist/default/presets/audio/minimal-skin.css +209 -99
  84. package/dist/default/presets/audio/minimal-skin.js +107 -7
  85. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  86. package/dist/default/presets/audio/minimal-skin.tailwind.js +41 -7
  87. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  88. package/dist/default/presets/audio/skin.css +235 -99
  89. package/dist/default/presets/audio/skin.js +42 -7
  90. package/dist/default/presets/audio/skin.js.map +1 -1
  91. package/dist/default/presets/audio/skin.tailwind.js +115 -14
  92. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  93. package/dist/default/presets/live-audio/minimal-skin.css +209 -99
  94. package/dist/default/presets/live-audio/minimal-skin.js +32 -4
  95. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  96. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +32 -4
  97. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  98. package/dist/default/presets/live-audio/skin.css +235 -99
  99. package/dist/default/presets/live-audio/skin.js +9 -4
  100. package/dist/default/presets/live-audio/skin.js.map +1 -1
  101. package/dist/default/presets/live-audio/skin.tailwind.js +37 -9
  102. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  103. package/dist/default/presets/live-video/minimal-skin.css +553 -138
  104. package/dist/default/presets/live-video/minimal-skin.js +112 -4
  105. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  106. package/dist/default/presets/live-video/minimal-skin.tailwind.js +114 -4
  107. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  108. package/dist/default/presets/live-video/skin.css +563 -136
  109. package/dist/default/presets/live-video/skin.js +55 -3
  110. package/dist/default/presets/live-video/skin.js.map +1 -1
  111. package/dist/default/presets/live-video/skin.tailwind.js +201 -8
  112. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  113. package/dist/default/presets/video/minimal-skin.css +553 -138
  114. package/dist/default/presets/video/minimal-skin.js +205 -23
  115. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  116. package/dist/default/presets/video/minimal-skin.tailwind.js +209 -24
  117. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  118. package/dist/default/presets/video/skin.css +563 -136
  119. package/dist/default/presets/video/skin.js +100 -28
  120. package/dist/default/presets/video/skin.js.map +1 -1
  121. package/dist/default/presets/video/skin.tailwind.js +208 -29
  122. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  123. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  124. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  125. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  126. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  127. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
  128. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  129. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  130. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  131. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  132. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  133. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  134. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  135. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -0
  136. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  137. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  138. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  139. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +1 -1
  140. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  141. package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
  142. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  143. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
  144. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  145. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +1 -1
  146. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  147. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  148. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  149. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  150. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  158. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  159. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  160. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  161. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  162. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  171. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  172. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  173. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  174. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  175. package/dist/default/tailwind.css +66 -0
  176. package/dist/default/ui/controls/context.js +4 -1
  177. package/dist/default/ui/controls/context.js.map +1 -1
  178. package/dist/default/ui/gesture/gesture.js +2 -1
  179. package/dist/default/ui/gesture/gesture.js.map +1 -1
  180. package/dist/default/ui/gesture/index.js +2 -0
  181. package/dist/default/ui/hotkey/hotkey.js +1 -0
  182. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  183. package/dist/default/ui/hotkey/index.js +2 -0
  184. package/dist/default/ui/input-indicators/use-indicator-visibility.js +25 -0
  185. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  186. package/dist/default/ui/input-indicators/use-input-action-subscription.js +22 -0
  187. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  188. package/dist/default/ui/input-indicators/use-input-indicator-root.js +21 -0
  189. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  190. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  191. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  192. package/dist/default/ui/live-button/index.js +2 -0
  193. package/dist/default/ui/live-button/live-button.js +89 -0
  194. package/dist/default/ui/live-button/live-button.js.map +1 -0
  195. package/dist/default/ui/menu/context.js +29 -0
  196. package/dist/default/ui/menu/context.js.map +1 -0
  197. package/dist/default/ui/menu/index.js +3 -0
  198. package/dist/default/ui/menu/index.parts.js +34 -0
  199. package/dist/default/ui/menu/index.parts.js.map +1 -0
  200. package/dist/default/ui/menu/menu-back.js +31 -0
  201. package/dist/default/ui/menu/menu-back.js.map +1 -0
  202. package/dist/default/ui/menu/menu-checkbox-item.js +50 -0
  203. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -0
  204. package/dist/default/ui/menu/menu-content.js +284 -0
  205. package/dist/default/ui/menu/menu-content.js.map +1 -0
  206. package/dist/default/ui/menu/menu-group.js +26 -0
  207. package/dist/default/ui/menu/menu-group.js.map +1 -0
  208. package/dist/default/ui/menu/menu-item-indicator.js +24 -0
  209. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -0
  210. package/dist/default/ui/menu/menu-item.js +53 -0
  211. package/dist/default/ui/menu/menu-item.js.map +1 -0
  212. package/dist/default/ui/menu/menu-label.js +23 -0
  213. package/dist/default/ui/menu/menu-label.js.map +1 -0
  214. package/dist/default/ui/menu/menu-radio-group.js +33 -0
  215. package/dist/default/ui/menu/menu-radio-group.js.map +1 -0
  216. package/dist/default/ui/menu/menu-radio-item.js +57 -0
  217. package/dist/default/ui/menu/menu-radio-item.js.map +1 -0
  218. package/dist/default/ui/menu/menu-root.js +136 -0
  219. package/dist/default/ui/menu/menu-root.js.map +1 -0
  220. package/dist/default/ui/menu/menu-separator.js +23 -0
  221. package/dist/default/ui/menu/menu-separator.js.map +1 -0
  222. package/dist/default/ui/menu/menu-trigger.js +124 -0
  223. package/dist/default/ui/menu/menu-trigger.js.map +1 -0
  224. package/dist/default/ui/menu/menu-view.js +23 -0
  225. package/dist/default/ui/menu/menu-view.js.map +1 -0
  226. package/dist/default/ui/playback-rate-menu/context.js +20 -0
  227. package/dist/default/ui/playback-rate-menu/context.js.map +1 -0
  228. package/dist/default/ui/playback-rate-menu/index.js +3 -0
  229. package/dist/default/ui/playback-rate-menu/index.parts.js +17 -0
  230. package/dist/default/ui/playback-rate-menu/index.parts.js.map +1 -0
  231. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  232. package/dist/default/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  233. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js +36 -0
  234. package/dist/default/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  235. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  236. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  237. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  238. package/dist/default/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  239. package/dist/default/ui/popover/context.js.map +1 -1
  240. package/dist/default/ui/popover/popover-popup.js +20 -7
  241. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  242. package/dist/default/ui/popover/popover-root.js +20 -5
  243. package/dist/default/ui/popover/popover-root.js.map +1 -1
  244. package/dist/default/ui/seek-indicator/context.js +20 -0
  245. package/dist/default/ui/seek-indicator/context.js.map +1 -0
  246. package/dist/default/ui/seek-indicator/index.js +2 -0
  247. package/dist/default/ui/seek-indicator/index.parts.js +12 -0
  248. package/dist/default/ui/seek-indicator/index.parts.js.map +1 -0
  249. package/dist/default/ui/seek-indicator/seek-indicator-root.js +30 -0
  250. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  251. package/dist/default/ui/seek-indicator/seek-indicator-value.js +23 -0
  252. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  253. package/dist/default/ui/slider/context.js.map +1 -1
  254. package/dist/default/ui/status-announcer/index.js +2 -0
  255. package/dist/default/ui/status-announcer/status-announcer.js +36 -0
  256. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -0
  257. package/dist/default/ui/status-indicator/context.js +20 -0
  258. package/dist/default/ui/status-indicator/context.js.map +1 -0
  259. package/dist/default/ui/status-indicator/index.js +2 -0
  260. package/dist/default/ui/status-indicator/index.parts.js +12 -0
  261. package/dist/default/ui/status-indicator/index.parts.js.map +1 -0
  262. package/dist/default/ui/status-indicator/status-indicator-root.js +34 -0
  263. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -0
  264. package/dist/default/ui/status-indicator/status-indicator-value.js +23 -0
  265. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -0
  266. package/dist/default/ui/tooltip/context.js.map +1 -1
  267. package/dist/default/ui/tooltip/tooltip-popup.js +20 -7
  268. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  269. package/dist/default/ui/tooltip/tooltip-root.js +16 -4
  270. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  271. package/dist/default/ui/volume-indicator/context.js +20 -0
  272. package/dist/default/ui/volume-indicator/context.js.map +1 -0
  273. package/dist/default/ui/volume-indicator/index.js +2 -0
  274. package/dist/default/ui/volume-indicator/index.parts.js +14 -0
  275. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -0
  276. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +36 -0
  277. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  278. package/dist/default/ui/volume-indicator/volume-indicator-root.js +30 -0
  279. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  280. package/dist/default/ui/volume-indicator/volume-indicator-value.js +23 -0
  281. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  282. package/dist/default/utils/use-render.js.map +1 -1
  283. package/dist/dev/icons/dist/react/default/captions-off.js +1 -0
  284. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  285. package/dist/dev/icons/dist/react/default/captions-on.js +3 -5
  286. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  287. package/dist/dev/icons/dist/react/default/cast-enter.js +38 -11
  288. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  289. package/dist/dev/icons/dist/react/default/cast-exit.js +55 -14
  290. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  291. package/dist/dev/icons/dist/react/default/check.js +22 -0
  292. package/dist/dev/icons/dist/react/default/check.js.map +1 -0
  293. package/dist/dev/icons/dist/react/default/chevron.js +21 -0
  294. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -0
  295. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +3 -5
  296. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  297. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +3 -5
  298. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  299. package/dist/dev/icons/dist/react/default/index.d.ts +23 -0
  300. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -0
  301. package/dist/dev/icons/dist/react/default/pause.js +2 -3
  302. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  303. package/dist/dev/icons/dist/react/default/pip-enter.js +4 -10
  304. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  305. package/dist/dev/icons/dist/react/default/pip-exit.js +4 -10
  306. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  307. package/dist/dev/icons/dist/react/default/play.js +3 -5
  308. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  309. package/dist/dev/icons/dist/react/default/restart.js +3 -8
  310. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  311. package/dist/dev/icons/dist/react/default/seek.js +3 -5
  312. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  313. package/dist/dev/icons/dist/react/default/spinner.js +38 -117
  314. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  315. package/dist/dev/icons/dist/react/default/volume-high.js +3 -8
  316. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  317. package/dist/dev/icons/dist/react/default/volume-low.js +3 -5
  318. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  319. package/dist/dev/icons/dist/react/default/volume-off.js +3 -5
  320. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  321. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -0
  322. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  323. package/dist/dev/icons/dist/react/minimal/captions-on.js +3 -5
  324. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  325. package/dist/dev/icons/dist/react/minimal/cast-enter.js +38 -7
  326. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  327. package/dist/dev/icons/dist/react/minimal/cast-exit.js +56 -11
  328. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  329. package/dist/dev/icons/dist/react/minimal/check.js +22 -0
  330. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -0
  331. package/dist/dev/icons/dist/react/minimal/chevron.js +21 -0
  332. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -0
  333. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  334. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  335. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  336. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  337. package/dist/dev/icons/dist/react/minimal/index.d.ts +23 -0
  338. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -0
  339. package/dist/dev/icons/dist/react/minimal/pause.js +2 -3
  340. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  341. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -14
  342. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  343. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -14
  344. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  345. package/dist/dev/icons/dist/react/minimal/play.js +3 -5
  346. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  347. package/dist/dev/icons/dist/react/minimal/restart.js +3 -8
  348. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  349. package/dist/dev/icons/dist/react/minimal/seek.js +3 -5
  350. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  351. package/dist/dev/icons/dist/react/minimal/spinner.js +38 -117
  352. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  353. package/dist/dev/icons/dist/react/minimal/volume-high.js +3 -8
  354. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  355. package/dist/dev/icons/dist/react/minimal/volume-low.js +3 -5
  356. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  357. package/dist/dev/icons/dist/react/minimal/volume-off.js +3 -5
  358. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  359. package/dist/dev/icons/index.d.ts +2 -0
  360. package/dist/dev/icons/index.js +19 -0
  361. package/dist/dev/icons/minimal/index.d.ts +2 -0
  362. package/dist/dev/icons/minimal/index.js +19 -0
  363. package/dist/dev/index.d.ts +25 -8
  364. package/dist/dev/index.js +17 -8
  365. package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
  366. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  367. package/dist/dev/media/simple-hls-video/index.js +2 -2
  368. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  369. package/dist/dev/player/context.d.ts +5 -2
  370. package/dist/dev/player/context.d.ts.map +1 -1
  371. package/dist/dev/player/context.js +9 -1
  372. package/dist/dev/player/context.js.map +1 -1
  373. package/dist/dev/player/create-player.d.ts.map +1 -1
  374. package/dist/dev/player/create-player.js +4 -1
  375. package/dist/dev/player/create-player.js.map +1 -1
  376. package/dist/dev/presets/audio/minimal-skin.css +209 -99
  377. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  378. package/dist/dev/presets/audio/minimal-skin.js +107 -7
  379. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  380. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  381. package/dist/dev/presets/audio/minimal-skin.tailwind.js +41 -7
  382. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  383. package/dist/dev/presets/audio/skin.css +235 -99
  384. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  385. package/dist/dev/presets/audio/skin.js +42 -7
  386. package/dist/dev/presets/audio/skin.js.map +1 -1
  387. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  388. package/dist/dev/presets/audio/skin.tailwind.js +115 -14
  389. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  390. package/dist/dev/presets/live-audio/minimal-skin.css +209 -99
  391. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  392. package/dist/dev/presets/live-audio/minimal-skin.js +32 -4
  393. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  394. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  395. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +32 -4
  396. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  397. package/dist/dev/presets/live-audio/skin.css +235 -99
  398. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  399. package/dist/dev/presets/live-audio/skin.js +9 -4
  400. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  401. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  402. package/dist/dev/presets/live-audio/skin.tailwind.js +37 -9
  403. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  404. package/dist/dev/presets/live-video/minimal-skin.css +553 -138
  405. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  406. package/dist/dev/presets/live-video/minimal-skin.js +112 -4
  407. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  408. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  409. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +114 -4
  410. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  411. package/dist/dev/presets/live-video/skin.css +563 -136
  412. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  413. package/dist/dev/presets/live-video/skin.js +55 -3
  414. package/dist/dev/presets/live-video/skin.js.map +1 -1
  415. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  416. package/dist/dev/presets/live-video/skin.tailwind.js +201 -8
  417. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  418. package/dist/dev/presets/video/minimal-skin.css +553 -138
  419. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  420. package/dist/dev/presets/video/minimal-skin.js +205 -23
  421. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  422. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  423. package/dist/dev/presets/video/minimal-skin.tailwind.js +209 -24
  424. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  425. package/dist/dev/presets/video/skin.css +563 -136
  426. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  427. package/dist/dev/presets/video/skin.js +100 -28
  428. package/dist/dev/presets/video/skin.js.map +1 -1
  429. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  430. package/dist/dev/presets/video/skin.tailwind.js +208 -29
  431. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  432. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  433. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  434. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  435. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  436. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -2
  437. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  438. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  439. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  440. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  441. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  442. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  443. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  444. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -0
  445. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  446. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  447. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  448. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +1 -1
  449. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  450. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js +7 -0
  451. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  452. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -1
  453. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  454. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +1 -1
  455. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  456. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  457. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  458. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +5 -3
  459. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  460. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  461. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  462. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  463. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  464. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  465. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  466. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  467. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  468. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  469. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  470. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  471. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  472. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  473. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  474. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  475. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  476. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  477. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  478. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  479. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  480. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  481. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  482. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  483. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  484. package/dist/dev/tailwind.css +66 -0
  485. package/dist/dev/ui/controls/context.js +4 -1
  486. package/dist/dev/ui/controls/context.js.map +1 -1
  487. package/dist/dev/ui/gesture/gesture.js +2 -1
  488. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  489. package/dist/dev/ui/gesture/index.d.ts +2 -0
  490. package/dist/dev/ui/gesture/index.js +2 -0
  491. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  492. package/dist/dev/ui/hotkey/hotkey.js +1 -0
  493. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  494. package/dist/dev/ui/hotkey/index.d.ts +2 -0
  495. package/dist/dev/ui/hotkey/index.js +2 -0
  496. package/dist/dev/ui/input-indicators/use-indicator-visibility.js +25 -0
  497. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  498. package/dist/dev/ui/input-indicators/use-input-action-subscription.js +22 -0
  499. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  500. package/dist/dev/ui/input-indicators/use-input-indicator-root.js +21 -0
  501. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  502. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +40 -0
  503. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  504. package/dist/dev/ui/live-button/index.d.ts +2 -0
  505. package/dist/dev/ui/live-button/index.js +2 -0
  506. package/dist/dev/ui/live-button/live-button.d.ts +34 -0
  507. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -0
  508. package/dist/dev/ui/live-button/live-button.js +92 -0
  509. package/dist/dev/ui/live-button/live-button.js.map +1 -0
  510. package/dist/dev/ui/menu/context.d.ts +29 -0
  511. package/dist/dev/ui/menu/context.d.ts.map +1 -0
  512. package/dist/dev/ui/menu/context.js +29 -0
  513. package/dist/dev/ui/menu/context.js.map +1 -0
  514. package/dist/dev/ui/menu/index.d.ts +3 -0
  515. package/dist/dev/ui/menu/index.js +3 -0
  516. package/dist/dev/ui/menu/index.parts.d.ts +21 -0
  517. package/dist/dev/ui/menu/index.parts.d.ts.map +1 -0
  518. package/dist/dev/ui/menu/index.parts.js +34 -0
  519. package/dist/dev/ui/menu/index.parts.js.map +1 -0
  520. package/dist/dev/ui/menu/menu-back.d.ts +18 -0
  521. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -0
  522. package/dist/dev/ui/menu/menu-back.js +31 -0
  523. package/dist/dev/ui/menu/menu-back.js.map +1 -0
  524. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +22 -0
  525. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -0
  526. package/dist/dev/ui/menu/menu-checkbox-item.js +50 -0
  527. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -0
  528. package/dist/dev/ui/menu/menu-content.d.ts +15 -0
  529. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -0
  530. package/dist/dev/ui/menu/menu-content.js +284 -0
  531. package/dist/dev/ui/menu/menu-content.js.map +1 -0
  532. package/dist/dev/ui/menu/menu-group.d.ts +18 -0
  533. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -0
  534. package/dist/dev/ui/menu/menu-group.js +26 -0
  535. package/dist/dev/ui/menu/menu-group.js.map +1 -0
  536. package/dist/dev/ui/menu/menu-item-indicator.d.ts +20 -0
  537. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -0
  538. package/dist/dev/ui/menu/menu-item-indicator.js +24 -0
  539. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -0
  540. package/dist/dev/ui/menu/menu-item.d.ts +20 -0
  541. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -0
  542. package/dist/dev/ui/menu/menu-item.js +53 -0
  543. package/dist/dev/ui/menu/menu-item.js.map +1 -0
  544. package/dist/dev/ui/menu/menu-label.d.ts +15 -0
  545. package/dist/dev/ui/menu/menu-label.d.ts.map +1 -0
  546. package/dist/dev/ui/menu/menu-label.js +23 -0
  547. package/dist/dev/ui/menu/menu-label.js.map +1 -0
  548. package/dist/dev/ui/menu/menu-radio-group.d.ts +22 -0
  549. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -0
  550. package/dist/dev/ui/menu/menu-radio-group.js +33 -0
  551. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -0
  552. package/dist/dev/ui/menu/menu-radio-item.d.ts +20 -0
  553. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -0
  554. package/dist/dev/ui/menu/menu-radio-item.js +57 -0
  555. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -0
  556. package/dist/dev/ui/menu/menu-root.d.ts +29 -0
  557. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -0
  558. package/dist/dev/ui/menu/menu-root.js +136 -0
  559. package/dist/dev/ui/menu/menu-root.js.map +1 -0
  560. package/dist/dev/ui/menu/menu-separator.d.ts +15 -0
  561. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -0
  562. package/dist/dev/ui/menu/menu-separator.js +23 -0
  563. package/dist/dev/ui/menu/menu-separator.js.map +1 -0
  564. package/dist/dev/ui/menu/menu-trigger.d.ts +22 -0
  565. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -0
  566. package/dist/dev/ui/menu/menu-trigger.js +124 -0
  567. package/dist/dev/ui/menu/menu-trigger.js.map +1 -0
  568. package/dist/dev/ui/menu/menu-view.d.ts +15 -0
  569. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -0
  570. package/dist/dev/ui/menu/menu-view.js +23 -0
  571. package/dist/dev/ui/menu/menu-view.js.map +1 -0
  572. package/dist/dev/ui/playback-rate-menu/context.js +20 -0
  573. package/dist/dev/ui/playback-rate-menu/context.js.map +1 -0
  574. package/dist/dev/ui/playback-rate-menu/index.d.ts +3 -0
  575. package/dist/dev/ui/playback-rate-menu/index.js +3 -0
  576. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts +12 -0
  577. package/dist/dev/ui/playback-rate-menu/index.parts.d.ts.map +1 -0
  578. package/dist/dev/ui/playback-rate-menu/index.parts.js +17 -0
  579. package/dist/dev/ui/playback-rate-menu/index.parts.js.map +1 -0
  580. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts +14 -0
  581. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.d.ts.map +1 -0
  582. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js +28 -0
  583. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-content.js.map +1 -0
  584. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts +23 -0
  585. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.d.ts.map +1 -0
  586. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js +39 -0
  587. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-root.js.map +1 -0
  588. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts +14 -0
  589. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.d.ts.map +1 -0
  590. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js +51 -0
  591. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger.js.map +1 -0
  592. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts +26 -0
  593. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.d.ts.map +1 -0
  594. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js +27 -0
  595. package/dist/dev/ui/playback-rate-menu/use-playback-rate-menu.js.map +1 -0
  596. package/dist/dev/ui/popover/context.d.ts +3 -1
  597. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  598. package/dist/dev/ui/popover/context.js.map +1 -1
  599. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  600. package/dist/dev/ui/popover/popover-popup.js +20 -7
  601. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  602. package/dist/dev/ui/popover/popover-root.d.ts +4 -1
  603. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  604. package/dist/dev/ui/popover/popover-root.js +20 -5
  605. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  606. package/dist/dev/ui/seek-indicator/context.js +20 -0
  607. package/dist/dev/ui/seek-indicator/context.js.map +1 -0
  608. package/dist/dev/ui/seek-indicator/index.d.ts +2 -0
  609. package/dist/dev/ui/seek-indicator/index.js +2 -0
  610. package/dist/dev/ui/seek-indicator/index.parts.d.ts +10 -0
  611. package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +1 -0
  612. package/dist/dev/ui/seek-indicator/index.parts.js +12 -0
  613. package/dist/dev/ui/seek-indicator/index.parts.js.map +1 -0
  614. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +14 -0
  615. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -0
  616. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +30 -0
  617. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  618. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +13 -0
  619. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -0
  620. package/dist/dev/ui/seek-indicator/seek-indicator-value.js +23 -0
  621. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  622. package/dist/dev/ui/slider/context.js.map +1 -1
  623. package/dist/dev/ui/status-announcer/index.d.ts +2 -0
  624. package/dist/dev/ui/status-announcer/index.js +2 -0
  625. package/dist/dev/ui/status-announcer/status-announcer.d.ts +14 -0
  626. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -0
  627. package/dist/dev/ui/status-announcer/status-announcer.js +36 -0
  628. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -0
  629. package/dist/dev/ui/status-indicator/context.js +20 -0
  630. package/dist/dev/ui/status-indicator/context.js.map +1 -0
  631. package/dist/dev/ui/status-indicator/index.d.ts +2 -0
  632. package/dist/dev/ui/status-indicator/index.js +2 -0
  633. package/dist/dev/ui/status-indicator/index.parts.d.ts +10 -0
  634. package/dist/dev/ui/status-indicator/index.parts.d.ts.map +1 -0
  635. package/dist/dev/ui/status-indicator/index.parts.js +12 -0
  636. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -0
  637. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +14 -0
  638. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -0
  639. package/dist/dev/ui/status-indicator/status-indicator-root.js +34 -0
  640. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -0
  641. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +13 -0
  642. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -0
  643. package/dist/dev/ui/status-indicator/status-indicator-value.js +23 -0
  644. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -0
  645. package/dist/dev/ui/tooltip/context.d.ts +3 -1
  646. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  647. package/dist/dev/ui/tooltip/context.js.map +1 -1
  648. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  649. package/dist/dev/ui/tooltip/tooltip-popup.js +20 -7
  650. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  651. package/dist/dev/ui/tooltip/tooltip-root.d.ts +4 -1
  652. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  653. package/dist/dev/ui/tooltip/tooltip-root.js +16 -4
  654. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  655. package/dist/dev/ui/volume-indicator/context.js +20 -0
  656. package/dist/dev/ui/volume-indicator/context.js.map +1 -0
  657. package/dist/dev/ui/volume-indicator/index.d.ts +2 -0
  658. package/dist/dev/ui/volume-indicator/index.js +2 -0
  659. package/dist/dev/ui/volume-indicator/index.parts.d.ts +11 -0
  660. package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +1 -0
  661. package/dist/dev/ui/volume-indicator/index.parts.js +14 -0
  662. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -0
  663. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +13 -0
  664. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -0
  665. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +36 -0
  666. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  667. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +14 -0
  668. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -0
  669. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +30 -0
  670. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  671. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +13 -0
  672. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -0
  673. package/dist/dev/ui/volume-indicator/volume-indicator-value.js +23 -0
  674. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  675. package/dist/dev/utils/use-render.js.map +1 -1
  676. package/docs/README.md +7 -0
  677. package/docs/concepts/accessibility.md +60 -0
  678. package/docs/concepts/browser-support.md +37 -0
  679. package/docs/concepts/features.md +131 -0
  680. package/docs/concepts/overview.md +119 -0
  681. package/docs/concepts/presets.md +204 -0
  682. package/docs/concepts/skins.md +2094 -0
  683. package/docs/concepts/ui-components.md +83 -0
  684. package/docs/concepts/v10-roadmap.md +75 -0
  685. package/docs/concepts/why-videojs.md +113 -0
  686. package/docs/how-to/build-with-ai.md +39 -0
  687. package/docs/how-to/build-your-own-component.md +142 -0
  688. package/docs/how-to/customize-skins.md +5990 -0
  689. package/docs/how-to/installation.md +170 -0
  690. package/docs/llms.txt +91 -0
  691. package/docs/reference/buffering-indicator.md +152 -0
  692. package/docs/reference/captions-button.md +200 -0
  693. package/docs/reference/controls.md +238 -0
  694. package/docs/reference/create-player.md +261 -0
  695. package/docs/reference/create-selector.md +59 -0
  696. package/docs/reference/feature-buffer.md +54 -0
  697. package/docs/reference/feature-controls.md +74 -0
  698. package/docs/reference/feature-error.md +65 -0
  699. package/docs/reference/feature-fullscreen.md +94 -0
  700. package/docs/reference/feature-live.md +62 -0
  701. package/docs/reference/feature-pip.md +94 -0
  702. package/docs/reference/feature-playback-rate.md +70 -0
  703. package/docs/reference/feature-playback.md +109 -0
  704. package/docs/reference/feature-remote-playback.md +74 -0
  705. package/docs/reference/feature-source.md +70 -0
  706. package/docs/reference/feature-stream-type.md +46 -0
  707. package/docs/reference/feature-text-tracks.md +104 -0
  708. package/docs/reference/feature-time.md +84 -0
  709. package/docs/reference/feature-volume.md +99 -0
  710. package/docs/reference/fullscreen-button.md +212 -0
  711. package/docs/reference/mute-button.md +276 -0
  712. package/docs/reference/pip-button.md +212 -0
  713. package/docs/reference/play-button.md +224 -0
  714. package/docs/reference/playback-rate-button.md +169 -0
  715. package/docs/reference/player-container.md +103 -0
  716. package/docs/reference/player-provider.md +102 -0
  717. package/docs/reference/popover.md +527 -0
  718. package/docs/reference/poster.md +137 -0
  719. package/docs/reference/render-element.md +196 -0
  720. package/docs/reference/seek-button.md +213 -0
  721. package/docs/reference/slider.md +826 -0
  722. package/docs/reference/thumbnail.md +322 -0
  723. package/docs/reference/time-slider.md +741 -0
  724. package/docs/reference/time.md +495 -0
  725. package/docs/reference/tooltip.md +631 -0
  726. package/docs/reference/use-button.md +124 -0
  727. package/docs/reference/use-container-attach.md +42 -0
  728. package/docs/reference/use-media-attach.md +46 -0
  729. package/docs/reference/use-media.md +11 -0
  730. package/docs/reference/use-player-context.md +93 -0
  731. package/docs/reference/use-player.md +226 -0
  732. package/docs/reference/use-selector.md +132 -0
  733. package/docs/reference/use-snapshot.md +127 -0
  734. package/docs/reference/use-store.md +257 -0
  735. package/docs/reference/volume-slider.md +716 -0
  736. package/package.json +23 -10
@@ -0,0 +1,238 @@
1
+ # Controls
2
+
3
+ Container component for composing and auto-hiding video player controls on user interaction
4
+
5
+ ## Anatomy
6
+
7
+ Import the component and assemble its parts:
8
+
9
+ tsx
10
+
11
+ ```
12
+ <Controls.Root>
13
+ <Controls.Group />
14
+ </Controls.Root>
15
+ ```
16
+
17
+ ## Behavior
18
+
19
+ If the user is active, or if the video is paused, this component will show controls. Otherwise, it will hide them after a short delay.
20
+
21
+ User activity is tracked via pointer movement, keyboard input, and focus events on the player container. On touch devices, a quick tap toggles visibility. `mouseleave` immediately sets the user as inactive.
22
+
23
+ ## Styling
24
+
25
+ By default, controls have the following styles:
26
+
27
+ React renders `<div>` elements. Add a `className` to style them:
28
+
29
+ css
30
+
31
+ ```
32
+ /* Click-through: clicks pass through controls to video beneath */
33
+ .controls {
34
+ pointer-events: none;
35
+ }
36
+
37
+ .controls-group {
38
+ pointer-events: auto;
39
+ }
40
+
41
+ /* Fade transition */
42
+ .controls {
43
+ transition: opacity 0.25s;
44
+ }
45
+
46
+ .controls:not([data-visible]) {
47
+ opacity: 0;
48
+ }
49
+ ```
50
+
51
+ ## Accessibility
52
+
53
+ No ARIA role is applied to `Controls.Root` — it is a layout wrapper, not a landmark. `Controls.Group` automatically receives `role="group"` when an `aria-label` or `aria-labelledby` attribute is provided; otherwise no role is assigned.
54
+
55
+ ## Examples
56
+
57
+ ### Basic Usage
58
+
59
+ Play0:00
60
+
61
+ App.tsx
62
+
63
+ App.css
64
+
65
+ ```
66
+ import { Controls, createPlayer, PlayButton, Time } from '@videojs/react';
67
+ import { Video, videoFeatures } from '@videojs/react/video';
68
+
69
+ const Player = createPlayer({ features: videoFeatures });
70
+
71
+ export default function BasicUsage() {
72
+ return (
73
+ <Player.Provider>
74
+ <Player.Container className="media-container">
75
+ <Video
76
+ src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4"
77
+ autoPlay
78
+ muted
79
+ playsInline
80
+ loop
81
+ />
82
+
83
+ <Controls.Root className="media-controls">
84
+ <Controls.Group className="controls-group" aria-label="Playback controls">
85
+ <PlayButton
86
+ className="button"
87
+ render={(props, state) => <button {...props}>{state.paused ? 'Play' : 'Pause'}</button>}
88
+ />
89
+
90
+ <Time.Value type="current" className="time" />
91
+ </Controls.Group>
92
+ </Controls.Root>
93
+ </Player.Container>
94
+ </Player.Provider>
95
+ );
96
+ }
97
+ ```
98
+ ```
99
+ .media-container {
100
+ position: relative;
101
+ }
102
+
103
+ .media-container video {
104
+ width: 100%;
105
+ }
106
+
107
+ .media-controls {
108
+ position: absolute;
109
+ inset: 0;
110
+ display: flex;
111
+ align-items: flex-end;
112
+ padding: 12px;
113
+ pointer-events: none;
114
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.45), transparent 45%);
115
+ transition: opacity 0.25s;
116
+ }
117
+
118
+ .media-controls:not([data-visible]) {
119
+ opacity: 0;
120
+ }
121
+
122
+ .controls-group {
123
+ pointer-events: auto;
124
+ }
125
+
126
+ .time {
127
+ display: inline-flex;
128
+ gap: 4px;
129
+ align-items: center;
130
+ padding-block: 8px;
131
+ padding-inline: 16px;
132
+ font-size: 14px;
133
+ color: black;
134
+ background: rgba(255, 255, 255, 0.75);
135
+ border: 1px solid rgba(255, 255, 255, 0.25);
136
+ border-radius: 9999px;
137
+ backdrop-filter: blur(10px);
138
+ }
139
+
140
+ .controls-group {
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: space-between;
144
+ width: 100%;
145
+ }
146
+
147
+ .button {
148
+ padding-block: 8px;
149
+ padding-inline: 16px;
150
+ font-size: 14px;
151
+ color: black;
152
+ cursor: pointer;
153
+ background: rgba(255, 255, 255, 0.75);
154
+ border: 1px solid rgba(255, 255, 255, 0.25);
155
+ border-radius: 9999px;
156
+ backdrop-filter: blur(10px);
157
+ }
158
+ ```
159
+
160
+ ## API Reference
161
+
162
+ ###
163
+
164
+ Root
165
+
166
+ Root container for player controls state and rendered control content.
167
+
168
+ #### State
169
+
170
+ State is accessible via the `render`, `className`, and `style` props.
171
+
172
+ Property
173
+
174
+ Type
175
+
176
+ Details
177
+
178
+ `visible`
179
+
180
+ `boolean`
181
+
182
+ `userActive`
183
+
184
+ `boolean`
185
+
186
+ #### Data attributes
187
+
188
+ Attribute
189
+
190
+ Type
191
+
192
+ Details
193
+
194
+ `data-visible`
195
+
196
+
197
+
198
+ Description
199
+
200
+ Present when controls are visible.
201
+
202
+ `data-user-active`
203
+
204
+
205
+
206
+ Description
207
+
208
+ Present when the user has recently interacted.
209
+
210
+ ###
211
+
212
+ Group
213
+
214
+ Layout group for related controls; sets `role="group"` when labeled.
215
+
216
+ #### Data attributes
217
+
218
+ Attribute
219
+
220
+ Type
221
+
222
+ Details
223
+
224
+ `data-visible`
225
+
226
+
227
+
228
+ Description
229
+
230
+ Present when controls are visible.
231
+
232
+ `data-user-active`
233
+
234
+
235
+
236
+ Description
237
+
238
+ Present when the user has recently interacted.
@@ -0,0 +1,261 @@
1
+ # createPlayer
2
+
3
+ Factory function that creates a player instance with typed store, Provider component, Container, and hooks
4
+
5
+ `createPlayer` is the entry point for setting up a Video.js player in React. It accepts a configuration object with a `features` array and returns hooks and components for building a player.
6
+
7
+ The hook is typed according to the provided features, giving you full type safety for state selectors and actions.
8
+
9
+ tsx
10
+
11
+ ```
12
+ import { createPlayer } from '@videojs/react';
13
+ import { videoFeatures } from '@videojs/react/video';
14
+
15
+ const Player = createPlayer({ features: videoFeatures });
16
+ // Player.Provider, Player.Container, Player.usePlayer, Player.useMedia
17
+ ```
18
+
19
+ ## Examples
20
+
21
+ ### Basic Usage
22
+
23
+ Play
24
+
25
+ App.tsx
26
+
27
+ App.css
28
+
29
+ ```
30
+ import { createPlayer } from '@videojs/react';
31
+ import { Video, videoFeatures } from '@videojs/react/video';
32
+
33
+ const Player = createPlayer({
34
+ features: videoFeatures,
35
+ });
36
+
37
+ function Controls() {
38
+ const store = Player.usePlayer();
39
+ const paused = Player.usePlayer((s) => s.paused);
40
+
41
+ return (
42
+ <div className="controls">
43
+ <button type="button" className="button" onClick={() => (paused ? store.play() : store.pause())}>
44
+ {paused ? 'Play' : 'Pause'}
45
+ </button>
46
+ </div>
47
+ );
48
+ }
49
+
50
+ export default function BasicUsage() {
51
+ return (
52
+ <Player.Provider>
53
+ <Player.Container className="media-container">
54
+ <Video
55
+ src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4"
56
+ autoPlay
57
+ muted
58
+ playsInline
59
+ />
60
+ <Controls />
61
+ </Player.Container>
62
+ </Player.Provider>
63
+ );
64
+ }
65
+ ```
66
+ ```
67
+ .media-container {
68
+ position: relative;
69
+ }
70
+
71
+ .media-container video {
72
+ width: 100%;
73
+ }
74
+
75
+ .controls {
76
+ position: absolute;
77
+ bottom: 10px;
78
+ left: 10px;
79
+ }
80
+
81
+ .button {
82
+ padding-block: 8px;
83
+ padding-inline: 20px;
84
+ color: black;
85
+ cursor: pointer;
86
+ background: rgba(255, 255, 255, 0.7);
87
+ border: 1px solid rgba(255, 255, 255, 0.3);
88
+ border-radius: 9999px;
89
+ backdrop-filter: blur(10px);
90
+ }
91
+ ```
92
+
93
+ ## API Reference
94
+
95
+ ### Video
96
+
97
+ Create a player instance with typed store, Provider component, Container, and hooks.
98
+
99
+ #### Parameters
100
+
101
+ Parameter
102
+
103
+ Type
104
+
105
+ Default
106
+
107
+ Details
108
+
109
+ `config*`
110
+
111
+ `CreatePlayerConfig<VideoFeatures>`
112
+
113
+ `—`
114
+
115
+
116
+
117
+ Description
118
+
119
+ Player configuration with features and optional display name.
120
+
121
+ #### Return Value
122
+
123
+ Property
124
+
125
+ Type
126
+
127
+ Details
128
+
129
+ `Provider`
130
+
131
+ `React.FC<ProviderProps>`
132
+
133
+ `Container`
134
+
135
+ `React.ForwardRefExoticComponent<ContainerProps & RefAttributes<HTMLDivElement>>`
136
+
137
+ `usePlayer`
138
+
139
+ `UsePlayerHook<VideoPlayerStore>`
140
+
141
+ `useMedia`
142
+
143
+ `null) | function`
144
+
145
+
146
+
147
+ Type
148
+
149
+ `(() => Media | null)`
150
+
151
+ ### Audio
152
+
153
+ Create a player for audio media.
154
+
155
+ #### Parameters
156
+
157
+ Parameter
158
+
159
+ Type
160
+
161
+ Default
162
+
163
+ Details
164
+
165
+ `config*`
166
+
167
+ `CreatePlayerConfig<AudioFeatures>`
168
+
169
+ `—`
170
+
171
+
172
+
173
+ Description
174
+
175
+ Player configuration with features and optional display name.
176
+
177
+ #### Return Value
178
+
179
+ Property
180
+
181
+ Type
182
+
183
+ Details
184
+
185
+ `Provider`
186
+
187
+ `React.FC<ProviderProps>`
188
+
189
+ `Container`
190
+
191
+ `React.ForwardRefExoticComponent<ContainerProps & RefAttributes<HTMLDivElement>>`
192
+
193
+ `usePlayer`
194
+
195
+ `UsePlayerHook<AudioPlayerStore>`
196
+
197
+ `useMedia`
198
+
199
+ `null) | function`
200
+
201
+
202
+
203
+ Type
204
+
205
+ `(() => Media | null)`
206
+
207
+ ### Generic
208
+
209
+ Create a player with custom features.
210
+
211
+ #### Parameters
212
+
213
+ Parameter
214
+
215
+ Type
216
+
217
+ Default
218
+
219
+ Details
220
+
221
+ `config*`
222
+
223
+ `CreatePlayerConfig<AnyPlayerFeature[]>`
224
+
225
+ `—`
226
+
227
+
228
+
229
+ Description
230
+
231
+ Player configuration with features and optional display name.
232
+
233
+ #### Return Value
234
+
235
+ Property
236
+
237
+ Type
238
+
239
+ Details
240
+
241
+ `Provider`
242
+
243
+ `React.FC<ProviderProps>`
244
+
245
+ `Container`
246
+
247
+ `React.ForwardRefExoticComponent<ContainerProps & RefAttributes<HTMLDivElement>>`
248
+
249
+ `usePlayer`
250
+
251
+ `UsePlayerHook<PlayerStore<AnyPlayerFeature[]>>`
252
+
253
+ `useMedia`
254
+
255
+ `null) | function`
256
+
257
+
258
+
259
+ Type
260
+
261
+ `(() => Media | null)`
@@ -0,0 +1,59 @@
1
+ # createSelector
2
+
3
+ Create a type-safe selector for a store slice's state
4
+
5
+ `createSelector` creates a type-safe selector function for a given slice. The returned selector extracts that slice’s state from the full store state, or returns `undefined` if the slice is not configured.
6
+
7
+ The built-in selectors ([`selectPlayback`](./feature-playback.md), [`selectBuffer`](./feature-buffer.md), etc.) are all created with `createSelector`. Use it to create selectors for custom slices.
8
+
9
+ my-custom-selector.ts
10
+
11
+ ```
12
+ import { createSelector } from '@videojs/store';
13
+ import { myCustomSlice } from './my-custom-slice';
14
+
15
+ const selectCustom = createSelector(myCustomSlice);
16
+
17
+ // Use with usePlayer (React) or PlayerController (HTML)
18
+ const state = selectCustom(store.state);
19
+ ```
20
+
21
+ Pass selectors to [`usePlayer`](./use-player.md) or [`useStore`](./use-store.md) for reactive subscriptions.
22
+
23
+ ## API Reference
24
+
25
+ ### Parameters
26
+
27
+ Parameter
28
+
29
+ Type
30
+
31
+ Default
32
+
33
+ Details
34
+
35
+ `slice*`
36
+
37
+ `S`
38
+
39
+ `—`
40
+
41
+
42
+
43
+ Description
44
+
45
+ The slice to create a selector for.
46
+
47
+ ### Return Value
48
+
49
+ Type
50
+
51
+ Details
52
+
53
+ `Selector<object, InferSliceState<S> |...`
54
+
55
+
56
+
57
+ Type
58
+
59
+ `Selector<object, InferSliceState<S> | undefined>`
@@ -0,0 +1,54 @@
1
+ # Buffer
2
+
3
+ Buffered and seekable time range state for the player store
4
+
5
+ Read-only — tracks buffered and seekable time ranges.
6
+
7
+ ## API Reference
8
+
9
+ ### State
10
+
11
+ Property
12
+
13
+ Type
14
+
15
+ Details
16
+
17
+ `buffered`
18
+
19
+ `[number, number][]`
20
+
21
+
22
+
23
+ Description
24
+
25
+ Buffered time ranges as \[start, end\] tuples.
26
+
27
+ `seekable`
28
+
29
+ `[number, number][]`
30
+
31
+
32
+
33
+ Description
34
+
35
+ Seekable time ranges as \[start, end\] tuples.
36
+
37
+ ### Selector
38
+
39
+ Pass `selectBuffer` to [`usePlayer`](./use-player.md) to subscribe to buffer state. Returns `undefined` if the buffer feature is not configured.
40
+
41
+ BufferBar.tsx
42
+
43
+ ```
44
+ import { selectBuffer, usePlayer } from '@videojs/react';
45
+
46
+ function BufferBar() {
47
+ const buffer = usePlayer(selectBuffer);
48
+ if (!buffer) return null;
49
+
50
+ return (
51
+ <div style={{ width: `${buffer.percentBuffered * 100}%` }} />
52
+ );
53
+ }
54
+ ```
@@ -0,0 +1,74 @@
1
+ # Controls
2
+
3
+ User activity and controls visibility state for the player store
4
+
5
+ Read-only — tracks user activity for showing and hiding controls.
6
+
7
+ ## API Reference
8
+
9
+ ### State
10
+
11
+ Property
12
+
13
+ Type
14
+
15
+ Details
16
+
17
+ `userActive`
18
+
19
+ `boolean`
20
+
21
+
22
+
23
+ Description
24
+
25
+ Whether the user has recently interacted with the player.
26
+
27
+ `controlsVisible`
28
+
29
+ `boolean`
30
+
31
+
32
+
33
+ Description
34
+
35
+ Whether controls should be visible (userActive || paused).
36
+
37
+ ### Actions
38
+
39
+ Action
40
+
41
+ Type
42
+
43
+ Details
44
+
45
+ `toggleControls`
46
+
47
+ `() => boolean`
48
+
49
+
50
+
51
+ Description
52
+
53
+ Toggle controls visibility. Returns the new `controlsVisible` value.
54
+
55
+ ### Selector
56
+
57
+ Pass `selectControls` to [`usePlayer`](./use-player.md) to subscribe to controls state. Returns `undefined` if the controls feature is not configured.
58
+
59
+ ControlsOverlay.tsx
60
+
61
+ ```
62
+ import { selectControls, usePlayer } from '@videojs/react';
63
+
64
+ function ControlsOverlay({ children }: { children: React.ReactNode }) {
65
+ const controls = usePlayer(selectControls);
66
+ if (!controls) return null;
67
+
68
+ return (
69
+ <div style={{ opacity: controls.visible ? 1 : 0 }}>
70
+ {children}
71
+ </div>
72
+ );
73
+ }
74
+ ```