@videojs/react 10.0.0-beta.23 → 10.0.0-beta.25

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 (1033) hide show
  1. package/README.md +6 -0
  2. package/dist/default/icons/dist/react/default/airplay-enter.js +16 -0
  3. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -0
  4. package/dist/default/icons/dist/react/default/airplay-exit.js +28 -0
  5. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -0
  6. package/dist/default/icons/dist/react/default/captions-off.js +6 -0
  7. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  8. package/dist/default/icons/dist/react/default/captions-on.js +3 -5
  9. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  10. package/dist/default/icons/dist/react/default/cast-enter.js +38 -11
  11. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  12. package/dist/default/icons/dist/react/default/cast-exit.js +55 -14
  13. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  14. package/dist/default/icons/dist/react/default/check.js +22 -0
  15. package/dist/default/icons/dist/react/default/check.js.map +1 -0
  16. package/dist/default/icons/dist/react/default/chevron.js +21 -0
  17. package/dist/default/icons/dist/react/default/chevron.js.map +1 -0
  18. package/dist/default/icons/dist/react/default/fullscreen-enter.js +3 -5
  19. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/fullscreen-exit.js +3 -5
  21. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/gear.js +16 -0
  23. package/dist/default/icons/dist/react/default/gear.js.map +1 -0
  24. package/dist/default/icons/dist/react/default/pause.js +2 -3
  25. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/pip-enter.js +4 -10
  27. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/pip-exit.js +4 -10
  29. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/play.js +3 -5
  31. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/quality.js +16 -0
  33. package/dist/default/icons/dist/react/default/quality.js.map +1 -0
  34. package/dist/default/icons/dist/react/default/restart.js +3 -8
  35. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/seek.js +3 -5
  37. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  38. package/dist/default/icons/dist/react/default/speech.js +19 -0
  39. package/dist/default/icons/dist/react/default/speech.js.map +1 -0
  40. package/dist/default/icons/dist/react/default/speed.js +52 -0
  41. package/dist/default/icons/dist/react/default/speed.js.map +1 -0
  42. package/dist/default/icons/dist/react/default/spinner.js +38 -117
  43. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  44. package/dist/default/icons/dist/react/default/switches.js +19 -0
  45. package/dist/default/icons/dist/react/default/switches.js.map +1 -0
  46. package/dist/default/icons/dist/react/default/volume-high.js +3 -8
  47. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  48. package/dist/default/icons/dist/react/default/volume-low.js +3 -5
  49. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  50. package/dist/default/icons/dist/react/default/volume-off.js +3 -5
  51. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/airplay-enter.js +16 -0
  53. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -0
  54. package/dist/default/icons/dist/react/minimal/airplay-exit.js +28 -0
  55. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -0
  56. package/dist/default/icons/dist/react/minimal/captions-off.js +6 -0
  57. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/captions-on.js +3 -5
  59. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/cast-enter.js +38 -7
  61. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/cast-exit.js +56 -11
  63. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/check.js +22 -0
  65. package/dist/default/icons/dist/react/minimal/check.js.map +1 -0
  66. package/dist/default/icons/dist/react/minimal/chevron.js +21 -0
  67. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -0
  68. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  69. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  71. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  72. package/dist/default/icons/dist/react/minimal/gear.js +16 -0
  73. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -0
  74. package/dist/default/icons/dist/react/minimal/pause.js +2 -3
  75. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  76. package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -14
  77. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  78. package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -14
  79. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  80. package/dist/default/icons/dist/react/minimal/play.js +3 -5
  81. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  82. package/dist/default/icons/dist/react/minimal/quality.js +16 -0
  83. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -0
  84. package/dist/default/icons/dist/react/minimal/restart.js +3 -8
  85. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  86. package/dist/default/icons/dist/react/minimal/seek.js +3 -5
  87. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  88. package/dist/default/icons/dist/react/minimal/speech.js +54 -0
  89. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -0
  90. package/dist/default/icons/dist/react/minimal/speed.js +52 -0
  91. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -0
  92. package/dist/default/icons/dist/react/minimal/spinner.js +38 -117
  93. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  94. package/dist/default/icons/dist/react/minimal/switches.js +19 -0
  95. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -0
  96. package/dist/default/icons/dist/react/minimal/volume-high.js +3 -8
  97. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  98. package/dist/default/icons/dist/react/minimal/volume-low.js +3 -5
  99. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  100. package/dist/default/icons/dist/react/minimal/volume-off.js +3 -5
  101. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  102. package/dist/default/icons/index.js +26 -0
  103. package/dist/default/icons/minimal/index.js +26 -0
  104. package/dist/default/index.js +25 -12
  105. package/dist/default/media/dash-video/index.js +5 -1
  106. package/dist/default/media/dash-video/index.js.map +1 -1
  107. package/dist/default/media/{hls-video → hlsjs-video}/index.js +9 -5
  108. package/dist/default/media/hlsjs-video/index.js.map +1 -0
  109. package/dist/default/media/mux-audio/index.js +9 -3
  110. package/dist/default/media/mux-audio/index.js.map +1 -1
  111. package/dist/default/media/mux-video/index.js +9 -3
  112. package/dist/default/media/mux-video/index.js.map +1 -1
  113. package/dist/default/media/native-hls-video/index.js +5 -1
  114. package/dist/default/media/native-hls-video/index.js.map +1 -1
  115. package/dist/default/media/simple-hls-audio-only/index.js +22 -0
  116. package/dist/default/media/simple-hls-audio-only/index.js.map +1 -0
  117. package/dist/default/media/simple-hls-video/index.js +2 -2
  118. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  119. package/dist/default/media/vimeo-video/index.js +37 -0
  120. package/dist/default/media/vimeo-video/index.js.map +1 -0
  121. package/dist/default/player/context.js +9 -1
  122. package/dist/default/player/context.js.map +1 -1
  123. package/dist/default/player/create-player.js +17 -5
  124. package/dist/default/player/create-player.js.map +1 -1
  125. package/dist/default/presets/audio/minimal-skin.css +569 -114
  126. package/dist/default/presets/audio/minimal-skin.js +163 -33
  127. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  128. package/dist/default/presets/audio/minimal-skin.tailwind.js +98 -35
  129. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  130. package/dist/default/presets/audio/skin.css +550 -116
  131. package/dist/default/presets/audio/skin.js +99 -34
  132. package/dist/default/presets/audio/skin.js.map +1 -1
  133. package/dist/default/presets/audio/skin.tailwind.js +173 -42
  134. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  135. package/dist/default/presets/live-audio/index.js +2 -2
  136. package/dist/default/presets/live-audio/minimal-skin.css +569 -114
  137. package/dist/default/presets/live-audio/minimal-skin.js +56 -14
  138. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  139. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +57 -16
  140. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  141. package/dist/default/presets/live-audio/skin.css +550 -116
  142. package/dist/default/presets/live-audio/skin.js +39 -16
  143. package/dist/default/presets/live-audio/skin.js.map +1 -1
  144. package/dist/default/presets/live-audio/skin.tailwind.js +61 -19
  145. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  146. package/dist/default/presets/live-video/minimal-skin.css +949 -178
  147. package/dist/default/presets/live-video/minimal-skin.js +205 -16
  148. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  149. package/dist/default/presets/live-video/minimal-skin.tailwind.js +208 -17
  150. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  151. package/dist/default/presets/live-video/skin.css +926 -182
  152. package/dist/default/presets/live-video/skin.js +150 -19
  153. package/dist/default/presets/live-video/skin.js.map +1 -1
  154. package/dist/default/presets/live-video/skin.tailwind.js +295 -24
  155. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  156. package/dist/default/presets/video/minimal-skin.css +949 -178
  157. package/dist/default/presets/video/minimal-skin.js +450 -40
  158. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  159. package/dist/default/presets/video/minimal-skin.tailwind.js +455 -43
  160. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  161. package/dist/default/presets/video/skin.css +926 -182
  162. package/dist/default/presets/video/skin.js +346 -49
  163. package/dist/default/presets/video/skin.js.map +1 -1
  164. package/dist/default/presets/video/skin.tailwind.js +454 -51
  165. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  166. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +11 -5
  167. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  168. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +6 -0
  169. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
  170. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -4
  171. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  172. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
  173. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  174. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  175. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  176. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +2 -2
  177. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  178. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  179. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  180. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +34 -0
  181. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  182. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  183. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  184. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  185. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  186. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -3
  187. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  188. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +7 -1
  189. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  190. package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
  191. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  192. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
  193. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  194. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
  195. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  196. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +5 -3
  197. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  198. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
  199. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
  200. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  201. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  202. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +35 -13
  203. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  204. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +17 -5
  205. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  206. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
  207. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
  208. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  209. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  210. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  211. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  212. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  213. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  214. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +2 -2
  215. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  216. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  217. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  218. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +33 -0
  219. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  220. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  221. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  222. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  223. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  224. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
  225. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  226. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
  227. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  228. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  229. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  230. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  231. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  232. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  233. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  234. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
  235. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  236. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
  237. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
  238. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  239. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  240. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +30 -11
  241. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  242. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +17 -2
  243. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  244. package/dist/default/tailwind.css +42 -0
  245. package/dist/default/ui/airplay-button/airplay-button.js +17 -0
  246. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -0
  247. package/dist/default/ui/airplay-button/index.js +2 -0
  248. package/dist/default/ui/alert-dialog/alert-dialog-close.js +1 -1
  249. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +1 -1
  250. package/dist/default/ui/audio-track/index.js +2 -0
  251. package/dist/default/ui/audio-track/use-audio-track-options.js +31 -0
  252. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -0
  253. package/dist/default/ui/captions-radio-group/index.js +2 -0
  254. package/dist/default/ui/captions-radio-group/use-captions-options.js +37 -0
  255. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -0
  256. package/dist/default/ui/controls/context.js +4 -1
  257. package/dist/default/ui/controls/context.js.map +1 -1
  258. package/dist/default/ui/create-media-button.js +23 -10
  259. package/dist/default/ui/create-media-button.js.map +1 -1
  260. package/dist/default/ui/error-dialog/error-dialog-description.js +1 -1
  261. package/dist/default/ui/gesture/gesture.js +2 -1
  262. package/dist/default/ui/gesture/gesture.js.map +1 -1
  263. package/dist/default/ui/gesture/index.js +2 -0
  264. package/dist/default/ui/hooks/use-button.js.map +1 -1
  265. package/dist/default/ui/hotkey/hotkey.js +1 -0
  266. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  267. package/dist/default/ui/hotkey/index.js +2 -0
  268. package/dist/default/ui/hotkey/use-hotkey-shortcut.js +28 -0
  269. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
  270. package/dist/default/ui/hotkey/use-hotkey.js +1 -2
  271. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  272. package/dist/default/ui/input-indicators/use-indicator-visibility.js +25 -0
  273. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  274. package/dist/default/ui/input-indicators/use-input-action-subscription.js +22 -0
  275. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  276. package/dist/default/ui/input-indicators/use-input-indicator-root.js +21 -0
  277. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  278. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js +43 -0
  279. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  280. package/dist/default/ui/live-button/index.js +2 -0
  281. package/dist/default/ui/live-button/live-button.js +89 -0
  282. package/dist/default/ui/live-button/live-button.js.map +1 -0
  283. package/dist/default/ui/menu/context.js +44 -0
  284. package/dist/default/ui/menu/context.js.map +1 -0
  285. package/dist/default/ui/menu/index.js +3 -0
  286. package/dist/default/ui/menu/index.parts.js +36 -0
  287. package/dist/default/ui/menu/index.parts.js.map +1 -0
  288. package/dist/default/ui/menu/menu-back.js +30 -0
  289. package/dist/default/ui/menu/menu-back.js.map +1 -0
  290. package/dist/default/ui/menu/menu-checkbox-item.js +49 -0
  291. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -0
  292. package/dist/default/ui/menu/menu-content.js +302 -0
  293. package/dist/default/ui/menu/menu-content.js.map +1 -0
  294. package/dist/default/ui/menu/menu-group-label.js +29 -0
  295. package/dist/default/ui/menu/menu-group-label.js.map +1 -0
  296. package/dist/default/ui/menu/menu-group.js +24 -0
  297. package/dist/default/ui/menu/menu-group.js.map +1 -0
  298. package/dist/default/ui/menu/menu-item-indicator.js +23 -0
  299. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -0
  300. package/dist/default/ui/menu/menu-item-setting-provider.js +72 -0
  301. package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -0
  302. package/dist/default/ui/menu/menu-item-value.js +28 -0
  303. package/dist/default/ui/menu/menu-item-value.js.map +1 -0
  304. package/dist/default/ui/menu/menu-item.js +74 -0
  305. package/dist/default/ui/menu/menu-item.js.map +1 -0
  306. package/dist/default/ui/menu/menu-radio-group.js +30 -0
  307. package/dist/default/ui/menu/menu-radio-group.js.map +1 -0
  308. package/dist/default/ui/menu/menu-radio-item.js +56 -0
  309. package/dist/default/ui/menu/menu-radio-item.js.map +1 -0
  310. package/dist/default/ui/menu/menu-root.js +136 -0
  311. package/dist/default/ui/menu/menu-root.js.map +1 -0
  312. package/dist/default/ui/menu/menu-separator.js +22 -0
  313. package/dist/default/ui/menu/menu-separator.js.map +1 -0
  314. package/dist/default/ui/menu/menu-trigger.js +180 -0
  315. package/dist/default/ui/menu/menu-trigger.js.map +1 -0
  316. package/dist/default/ui/menu/menu-view.js +23 -0
  317. package/dist/default/ui/menu/menu-view.js.map +1 -0
  318. package/dist/default/ui/menu/use-menu-group.js +31 -0
  319. package/dist/default/ui/menu/use-menu-group.js.map +1 -0
  320. package/dist/default/ui/playback-rate/index.js +2 -0
  321. package/dist/default/ui/playback-rate/use-playback-rate-options.js +34 -0
  322. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -0
  323. package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -1
  324. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  325. package/dist/default/ui/popover/context.js.map +1 -1
  326. package/dist/default/ui/popover/popover-popup.js +20 -7
  327. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  328. package/dist/default/ui/popover/popover-root.js +20 -5
  329. package/dist/default/ui/popover/popover-root.js.map +1 -1
  330. package/dist/default/ui/poster/poster.js +17 -3
  331. package/dist/default/ui/poster/poster.js.map +1 -1
  332. package/dist/default/ui/quality/index.js +2 -0
  333. package/dist/default/ui/quality/use-quality-options.js +37 -0
  334. package/dist/default/ui/quality/use-quality-options.js.map +1 -0
  335. package/dist/default/ui/seek-button/seek-button.js +3 -1
  336. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  337. package/dist/default/ui/seek-indicator/context.js +20 -0
  338. package/dist/default/ui/seek-indicator/context.js.map +1 -0
  339. package/dist/default/ui/seek-indicator/index.js +2 -0
  340. package/dist/default/ui/seek-indicator/index.parts.js +12 -0
  341. package/dist/default/ui/seek-indicator/index.parts.js.map +1 -0
  342. package/dist/default/ui/seek-indicator/seek-indicator-root.js +30 -0
  343. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  344. package/dist/default/ui/seek-indicator/seek-indicator-value.js +23 -0
  345. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  346. package/dist/default/ui/slider/context.js.map +1 -1
  347. package/dist/default/ui/status-announcer/index.js +2 -0
  348. package/dist/default/ui/status-announcer/status-announcer.js +36 -0
  349. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -0
  350. package/dist/default/ui/status-indicator/context.js +20 -0
  351. package/dist/default/ui/status-indicator/context.js.map +1 -0
  352. package/dist/default/ui/status-indicator/index.js +2 -0
  353. package/dist/default/ui/status-indicator/index.parts.js +12 -0
  354. package/dist/default/ui/status-indicator/index.parts.js.map +1 -0
  355. package/dist/default/ui/status-indicator/status-indicator-root.js +34 -0
  356. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -0
  357. package/dist/default/ui/status-indicator/status-indicator-value.js +23 -0
  358. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -0
  359. package/dist/default/ui/time/time-value.js +32 -5
  360. package/dist/default/ui/time/time-value.js.map +1 -1
  361. package/dist/default/ui/time-slider/time-slider-root.js +18 -6
  362. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  363. package/dist/default/ui/tooltip/context.js.map +1 -1
  364. package/dist/default/ui/tooltip/index.parts.js +4 -0
  365. package/dist/default/ui/tooltip/index.parts.js.map +1 -1
  366. package/dist/default/ui/tooltip/tooltip-arrow.js +1 -1
  367. package/dist/default/ui/tooltip/tooltip-label.js +24 -0
  368. package/dist/default/ui/tooltip/tooltip-label.js.map +1 -0
  369. package/dist/default/ui/tooltip/tooltip-popup.js +26 -9
  370. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  371. package/dist/default/ui/tooltip/tooltip-root.js +17 -5
  372. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  373. package/dist/default/ui/tooltip/tooltip-shortcut.js +25 -0
  374. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -0
  375. package/dist/default/ui/volume-indicator/context.js +20 -0
  376. package/dist/default/ui/volume-indicator/context.js.map +1 -0
  377. package/dist/default/ui/volume-indicator/index.js +2 -0
  378. package/dist/default/ui/volume-indicator/index.parts.js +14 -0
  379. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -0
  380. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +36 -0
  381. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  382. package/dist/default/ui/volume-indicator/volume-indicator-root.js +30 -0
  383. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  384. package/dist/default/ui/volume-indicator/volume-indicator-value.js +23 -0
  385. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  386. package/dist/default/utils/use-attach-iframe.js +14 -0
  387. package/dist/default/utils/use-attach-iframe.js.map +1 -0
  388. package/dist/default/utils/use-media-instance.js +11 -3
  389. package/dist/default/utils/use-media-instance.js.map +1 -1
  390. package/dist/default/utils/use-render.js +1 -1
  391. package/dist/default/utils/use-render.js.map +1 -1
  392. package/dist/dev/icons/dist/react/default/airplay-enter.js +16 -0
  393. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -0
  394. package/dist/dev/icons/dist/react/default/airplay-exit.js +28 -0
  395. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -0
  396. package/dist/dev/icons/dist/react/default/captions-off.js +6 -0
  397. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  398. package/dist/dev/icons/dist/react/default/captions-on.js +3 -5
  399. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  400. package/dist/dev/icons/dist/react/default/cast-enter.js +38 -11
  401. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  402. package/dist/dev/icons/dist/react/default/cast-exit.js +55 -14
  403. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  404. package/dist/dev/icons/dist/react/default/check.js +22 -0
  405. package/dist/dev/icons/dist/react/default/check.js.map +1 -0
  406. package/dist/dev/icons/dist/react/default/chevron.js +21 -0
  407. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -0
  408. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +3 -5
  409. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  410. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +3 -5
  411. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  412. package/dist/dev/icons/dist/react/default/gear.js +16 -0
  413. package/dist/dev/icons/dist/react/default/gear.js.map +1 -0
  414. package/dist/dev/icons/dist/react/default/index.d.ts +30 -0
  415. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -0
  416. package/dist/dev/icons/dist/react/default/pause.js +2 -3
  417. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  418. package/dist/dev/icons/dist/react/default/pip-enter.js +4 -10
  419. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  420. package/dist/dev/icons/dist/react/default/pip-exit.js +4 -10
  421. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  422. package/dist/dev/icons/dist/react/default/play.js +3 -5
  423. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  424. package/dist/dev/icons/dist/react/default/quality.js +16 -0
  425. package/dist/dev/icons/dist/react/default/quality.js.map +1 -0
  426. package/dist/dev/icons/dist/react/default/restart.js +3 -8
  427. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  428. package/dist/dev/icons/dist/react/default/seek.js +3 -5
  429. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  430. package/dist/dev/icons/dist/react/default/speech.js +19 -0
  431. package/dist/dev/icons/dist/react/default/speech.js.map +1 -0
  432. package/dist/dev/icons/dist/react/default/speed.js +52 -0
  433. package/dist/dev/icons/dist/react/default/speed.js.map +1 -0
  434. package/dist/dev/icons/dist/react/default/spinner.js +38 -117
  435. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  436. package/dist/dev/icons/dist/react/default/switches.js +19 -0
  437. package/dist/dev/icons/dist/react/default/switches.js.map +1 -0
  438. package/dist/dev/icons/dist/react/default/volume-high.js +3 -8
  439. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  440. package/dist/dev/icons/dist/react/default/volume-low.js +3 -5
  441. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  442. package/dist/dev/icons/dist/react/default/volume-off.js +3 -5
  443. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  444. package/dist/dev/icons/dist/react/minimal/airplay-enter.js +16 -0
  445. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -0
  446. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +28 -0
  447. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -0
  448. package/dist/dev/icons/dist/react/minimal/captions-off.js +6 -0
  449. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  450. package/dist/dev/icons/dist/react/minimal/captions-on.js +3 -5
  451. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  452. package/dist/dev/icons/dist/react/minimal/cast-enter.js +38 -7
  453. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  454. package/dist/dev/icons/dist/react/minimal/cast-exit.js +56 -11
  455. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  456. package/dist/dev/icons/dist/react/minimal/check.js +22 -0
  457. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -0
  458. package/dist/dev/icons/dist/react/minimal/chevron.js +21 -0
  459. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -0
  460. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -13
  461. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  462. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -13
  463. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  464. package/dist/dev/icons/dist/react/minimal/gear.js +16 -0
  465. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -0
  466. package/dist/dev/icons/dist/react/minimal/index.d.ts +30 -0
  467. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -0
  468. package/dist/dev/icons/dist/react/minimal/pause.js +2 -3
  469. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  470. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -14
  471. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  472. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -14
  473. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  474. package/dist/dev/icons/dist/react/minimal/play.js +3 -5
  475. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  476. package/dist/dev/icons/dist/react/minimal/quality.js +16 -0
  477. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -0
  478. package/dist/dev/icons/dist/react/minimal/restart.js +3 -8
  479. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  480. package/dist/dev/icons/dist/react/minimal/seek.js +3 -5
  481. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  482. package/dist/dev/icons/dist/react/minimal/speech.js +54 -0
  483. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -0
  484. package/dist/dev/icons/dist/react/minimal/speed.js +52 -0
  485. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -0
  486. package/dist/dev/icons/dist/react/minimal/spinner.js +38 -117
  487. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  488. package/dist/dev/icons/dist/react/minimal/switches.js +19 -0
  489. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -0
  490. package/dist/dev/icons/dist/react/minimal/volume-high.js +3 -8
  491. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  492. package/dist/dev/icons/dist/react/minimal/volume-low.js +3 -5
  493. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  494. package/dist/dev/icons/dist/react/minimal/volume-off.js +3 -5
  495. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  496. package/dist/dev/icons/index.d.ts +2 -0
  497. package/dist/dev/icons/index.js +26 -0
  498. package/dist/dev/icons/minimal/index.d.ts +2 -0
  499. package/dist/dev/icons/minimal/index.js +26 -0
  500. package/dist/dev/index.d.ts +32 -11
  501. package/dist/dev/index.js +25 -12
  502. package/dist/dev/media/dash-video/index.d.ts.map +1 -1
  503. package/dist/dev/media/dash-video/index.js +5 -1
  504. package/dist/dev/media/dash-video/index.js.map +1 -1
  505. package/dist/dev/media/hlsjs-video/index.d.ts +15 -0
  506. package/dist/dev/media/hlsjs-video/index.d.ts.map +1 -0
  507. package/dist/dev/media/{hls-video → hlsjs-video}/index.js +9 -5
  508. package/dist/dev/media/hlsjs-video/index.js.map +1 -0
  509. package/dist/dev/media/mux-audio/index.d.ts +2 -2
  510. package/dist/dev/media/mux-audio/index.d.ts.map +1 -1
  511. package/dist/dev/media/mux-audio/index.js +9 -3
  512. package/dist/dev/media/mux-audio/index.js.map +1 -1
  513. package/dist/dev/media/mux-video/index.d.ts +2 -2
  514. package/dist/dev/media/mux-video/index.d.ts.map +1 -1
  515. package/dist/dev/media/mux-video/index.js +9 -3
  516. package/dist/dev/media/mux-video/index.js.map +1 -1
  517. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -1
  518. package/dist/dev/media/native-hls-video/index.js +5 -1
  519. package/dist/dev/media/native-hls-video/index.js.map +1 -1
  520. package/dist/dev/media/simple-hls-audio-only/index.d.ts +15 -0
  521. package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +1 -0
  522. package/dist/dev/media/simple-hls-audio-only/index.js +22 -0
  523. package/dist/dev/media/simple-hls-audio-only/index.js.map +1 -0
  524. package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
  525. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  526. package/dist/dev/media/simple-hls-video/index.js +2 -2
  527. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  528. package/dist/dev/media/vimeo-video/index.d.ts +15 -0
  529. package/dist/dev/media/vimeo-video/index.d.ts.map +1 -0
  530. package/dist/dev/media/vimeo-video/index.js +37 -0
  531. package/dist/dev/media/vimeo-video/index.js.map +1 -0
  532. package/dist/dev/player/context.d.ts +13 -2
  533. package/dist/dev/player/context.d.ts.map +1 -1
  534. package/dist/dev/player/context.js +9 -1
  535. package/dist/dev/player/context.js.map +1 -1
  536. package/dist/dev/player/create-player.d.ts.map +1 -1
  537. package/dist/dev/player/create-player.js +17 -5
  538. package/dist/dev/player/create-player.js.map +1 -1
  539. package/dist/dev/presets/audio/minimal-skin.css +569 -114
  540. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  541. package/dist/dev/presets/audio/minimal-skin.js +163 -33
  542. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  543. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  544. package/dist/dev/presets/audio/minimal-skin.tailwind.js +98 -35
  545. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  546. package/dist/dev/presets/audio/skin.css +550 -116
  547. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  548. package/dist/dev/presets/audio/skin.js +99 -34
  549. package/dist/dev/presets/audio/skin.js.map +1 -1
  550. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  551. package/dist/dev/presets/audio/skin.tailwind.js +173 -42
  552. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  553. package/dist/dev/presets/live-audio/index.d.ts +2 -2
  554. package/dist/dev/presets/live-audio/index.js +2 -2
  555. package/dist/dev/presets/live-audio/minimal-skin.css +569 -114
  556. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  557. package/dist/dev/presets/live-audio/minimal-skin.js +56 -14
  558. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  559. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  560. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +57 -16
  561. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  562. package/dist/dev/presets/live-audio/skin.css +550 -116
  563. package/dist/dev/presets/live-audio/skin.d.ts +3 -1
  564. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  565. package/dist/dev/presets/live-audio/skin.js +39 -16
  566. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  567. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  568. package/dist/dev/presets/live-audio/skin.tailwind.js +61 -19
  569. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  570. package/dist/dev/presets/live-video/minimal-skin.css +949 -178
  571. package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -7
  572. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  573. package/dist/dev/presets/live-video/minimal-skin.js +205 -16
  574. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  575. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  576. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +208 -17
  577. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  578. package/dist/dev/presets/live-video/skin.css +926 -182
  579. package/dist/dev/presets/live-video/skin.d.ts +0 -6
  580. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  581. package/dist/dev/presets/live-video/skin.js +150 -19
  582. package/dist/dev/presets/live-video/skin.js.map +1 -1
  583. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  584. package/dist/dev/presets/live-video/skin.tailwind.js +295 -24
  585. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  586. package/dist/dev/presets/types.d.ts +2 -1
  587. package/dist/dev/presets/types.d.ts.map +1 -1
  588. package/dist/dev/presets/video/minimal-skin.css +949 -178
  589. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  590. package/dist/dev/presets/video/minimal-skin.js +450 -40
  591. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  592. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  593. package/dist/dev/presets/video/minimal-skin.tailwind.js +455 -43
  594. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  595. package/dist/dev/presets/video/skin.css +926 -182
  596. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  597. package/dist/dev/presets/video/skin.js +346 -49
  598. package/dist/dev/presets/video/skin.js.map +1 -1
  599. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  600. package/dist/dev/presets/video/skin.tailwind.js +454 -51
  601. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  602. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +11 -5
  603. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  604. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +6 -0
  605. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -0
  606. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -4
  607. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  608. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -2
  609. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  610. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  611. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  612. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +2 -2
  613. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  614. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  615. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  616. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +34 -0
  617. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  618. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  619. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  620. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  621. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  622. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -3
  623. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  624. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +7 -1
  625. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  626. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js +7 -0
  627. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  628. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -1
  629. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  630. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
  631. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  632. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +5 -3
  633. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  634. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +12 -0
  635. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -0
  636. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  637. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  638. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +35 -13
  639. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  640. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +17 -5
  641. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  642. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +6 -0
  643. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -0
  644. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  645. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  646. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  647. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  648. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  649. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  650. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +2 -2
  651. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  652. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  653. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  654. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +33 -0
  655. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  656. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  657. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  658. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  659. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  660. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -2
  661. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  662. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +7 -1
  663. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  664. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  665. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  666. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  667. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  668. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  669. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  670. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +5 -3
  671. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  672. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +13 -0
  673. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -0
  674. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  675. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  676. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +30 -11
  677. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  678. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +17 -2
  679. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  680. package/dist/dev/tailwind.css +42 -0
  681. package/dist/dev/ui/airplay-button/airplay-button.d.ts +15 -0
  682. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -0
  683. package/dist/dev/ui/airplay-button/airplay-button.js +17 -0
  684. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -0
  685. package/dist/dev/ui/airplay-button/index.d.ts +2 -0
  686. package/dist/dev/ui/airplay-button/index.js +2 -0
  687. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +1 -1
  688. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +1 -1
  689. package/dist/dev/ui/audio-track/index.d.ts +2 -0
  690. package/dist/dev/ui/audio-track/index.js +2 -0
  691. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +25 -0
  692. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -0
  693. package/dist/dev/ui/audio-track/use-audio-track-options.js +34 -0
  694. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -0
  695. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -0
  696. package/dist/dev/ui/captions-radio-group/index.js +2 -0
  697. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +26 -0
  698. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -0
  699. package/dist/dev/ui/captions-radio-group/use-captions-options.js +40 -0
  700. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -0
  701. package/dist/dev/ui/controls/context.js +4 -1
  702. package/dist/dev/ui/controls/context.js.map +1 -1
  703. package/dist/dev/ui/create-media-button.js +23 -10
  704. package/dist/dev/ui/create-media-button.js.map +1 -1
  705. package/dist/dev/ui/error-dialog/error-dialog-description.js +1 -1
  706. package/dist/dev/ui/gesture/gesture.js +2 -1
  707. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  708. package/dist/dev/ui/gesture/index.d.ts +2 -0
  709. package/dist/dev/ui/gesture/index.js +2 -0
  710. package/dist/dev/ui/hooks/use-button.d.ts +2 -1
  711. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  712. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  713. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  714. package/dist/dev/ui/hotkey/hotkey.js +1 -0
  715. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  716. package/dist/dev/ui/hotkey/index.d.ts +2 -0
  717. package/dist/dev/ui/hotkey/index.js +2 -0
  718. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +7 -0
  719. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -0
  720. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +28 -0
  721. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -0
  722. package/dist/dev/ui/hotkey/use-hotkey.js +1 -2
  723. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  724. package/dist/dev/ui/input-indicators/use-indicator-visibility.js +25 -0
  725. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -0
  726. package/dist/dev/ui/input-indicators/use-input-action-subscription.js +22 -0
  727. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -0
  728. package/dist/dev/ui/input-indicators/use-input-indicator-root.js +21 -0
  729. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -0
  730. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js +43 -0
  731. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -0
  732. package/dist/dev/ui/live-button/index.d.ts +2 -0
  733. package/dist/dev/ui/live-button/index.js +2 -0
  734. package/dist/dev/ui/live-button/live-button.d.ts +34 -0
  735. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -0
  736. package/dist/dev/ui/live-button/live-button.js +92 -0
  737. package/dist/dev/ui/live-button/live-button.js.map +1 -0
  738. package/dist/dev/ui/menu/context.d.ts +29 -0
  739. package/dist/dev/ui/menu/context.d.ts.map +1 -0
  740. package/dist/dev/ui/menu/context.js +44 -0
  741. package/dist/dev/ui/menu/context.js.map +1 -0
  742. package/dist/dev/ui/menu/index.d.ts +3 -0
  743. package/dist/dev/ui/menu/index.js +3 -0
  744. package/dist/dev/ui/menu/index.parts.d.ts +22 -0
  745. package/dist/dev/ui/menu/index.parts.d.ts.map +1 -0
  746. package/dist/dev/ui/menu/index.parts.js +36 -0
  747. package/dist/dev/ui/menu/index.parts.js.map +1 -0
  748. package/dist/dev/ui/menu/menu-back.d.ts +18 -0
  749. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -0
  750. package/dist/dev/ui/menu/menu-back.js +30 -0
  751. package/dist/dev/ui/menu/menu-back.js.map +1 -0
  752. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +22 -0
  753. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -0
  754. package/dist/dev/ui/menu/menu-checkbox-item.js +49 -0
  755. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -0
  756. package/dist/dev/ui/menu/menu-content.d.ts +15 -0
  757. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -0
  758. package/dist/dev/ui/menu/menu-content.js +302 -0
  759. package/dist/dev/ui/menu/menu-content.js.map +1 -0
  760. package/dist/dev/ui/menu/menu-group-label.d.ts +15 -0
  761. package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -0
  762. package/dist/dev/ui/menu/menu-group-label.js +29 -0
  763. package/dist/dev/ui/menu/menu-group-label.js.map +1 -0
  764. package/dist/dev/ui/menu/menu-group.d.ts +15 -0
  765. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -0
  766. package/dist/dev/ui/menu/menu-group.js +24 -0
  767. package/dist/dev/ui/menu/menu-group.js.map +1 -0
  768. package/dist/dev/ui/menu/menu-item-indicator.d.ts +20 -0
  769. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -0
  770. package/dist/dev/ui/menu/menu-item-indicator.js +23 -0
  771. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -0
  772. package/dist/dev/ui/menu/menu-item-setting-provider.js +72 -0
  773. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -0
  774. package/dist/dev/ui/menu/menu-item-type.d.ts +5 -0
  775. package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -0
  776. package/dist/dev/ui/menu/menu-item-value.d.ts +14 -0
  777. package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -0
  778. package/dist/dev/ui/menu/menu-item-value.js +28 -0
  779. package/dist/dev/ui/menu/menu-item-value.js.map +1 -0
  780. package/dist/dev/ui/menu/menu-item.d.ts +23 -0
  781. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -0
  782. package/dist/dev/ui/menu/menu-item.js +74 -0
  783. package/dist/dev/ui/menu/menu-item.js.map +1 -0
  784. package/dist/dev/ui/menu/menu-radio-group.d.ts +20 -0
  785. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -0
  786. package/dist/dev/ui/menu/menu-radio-group.js +30 -0
  787. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -0
  788. package/dist/dev/ui/menu/menu-radio-item.d.ts +20 -0
  789. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -0
  790. package/dist/dev/ui/menu/menu-radio-item.js +56 -0
  791. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -0
  792. package/dist/dev/ui/menu/menu-root.d.ts +29 -0
  793. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -0
  794. package/dist/dev/ui/menu/menu-root.js +136 -0
  795. package/dist/dev/ui/menu/menu-root.js.map +1 -0
  796. package/dist/dev/ui/menu/menu-separator.d.ts +15 -0
  797. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -0
  798. package/dist/dev/ui/menu/menu-separator.js +22 -0
  799. package/dist/dev/ui/menu/menu-separator.js.map +1 -0
  800. package/dist/dev/ui/menu/menu-trigger.d.ts +25 -0
  801. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -0
  802. package/dist/dev/ui/menu/menu-trigger.js +180 -0
  803. package/dist/dev/ui/menu/menu-trigger.js.map +1 -0
  804. package/dist/dev/ui/menu/menu-view.d.ts +15 -0
  805. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -0
  806. package/dist/dev/ui/menu/menu-view.js +23 -0
  807. package/dist/dev/ui/menu/menu-view.js.map +1 -0
  808. package/dist/dev/ui/menu/use-menu-group.js +31 -0
  809. package/dist/dev/ui/menu/use-menu-group.js.map +1 -0
  810. package/dist/dev/ui/playback-rate/index.d.ts +2 -0
  811. package/dist/dev/ui/playback-rate/index.js +2 -0
  812. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +28 -0
  813. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -0
  814. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +37 -0
  815. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -0
  816. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  817. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -1
  818. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  819. package/dist/dev/ui/popover/context.d.ts +3 -1
  820. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  821. package/dist/dev/ui/popover/context.js.map +1 -1
  822. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  823. package/dist/dev/ui/popover/popover-popup.js +20 -7
  824. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  825. package/dist/dev/ui/popover/popover-root.d.ts +4 -1
  826. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  827. package/dist/dev/ui/popover/popover-root.js +20 -5
  828. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  829. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  830. package/dist/dev/ui/poster/poster.js +17 -3
  831. package/dist/dev/ui/poster/poster.js.map +1 -1
  832. package/dist/dev/ui/quality/index.d.ts +2 -0
  833. package/dist/dev/ui/quality/index.js +2 -0
  834. package/dist/dev/ui/quality/use-quality-options.d.ts +27 -0
  835. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -0
  836. package/dist/dev/ui/quality/use-quality-options.js +40 -0
  837. package/dist/dev/ui/quality/use-quality-options.js.map +1 -0
  838. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
  839. package/dist/dev/ui/seek-button/seek-button.js +3 -1
  840. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  841. package/dist/dev/ui/seek-indicator/context.js +20 -0
  842. package/dist/dev/ui/seek-indicator/context.js.map +1 -0
  843. package/dist/dev/ui/seek-indicator/index.d.ts +2 -0
  844. package/dist/dev/ui/seek-indicator/index.js +2 -0
  845. package/dist/dev/ui/seek-indicator/index.parts.d.ts +10 -0
  846. package/dist/dev/ui/seek-indicator/index.parts.d.ts.map +1 -0
  847. package/dist/dev/ui/seek-indicator/index.parts.js +12 -0
  848. package/dist/dev/ui/seek-indicator/index.parts.js.map +1 -0
  849. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +14 -0
  850. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -0
  851. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +30 -0
  852. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -0
  853. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +13 -0
  854. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -0
  855. package/dist/dev/ui/seek-indicator/seek-indicator-value.js +23 -0
  856. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -0
  857. package/dist/dev/ui/slider/context.js.map +1 -1
  858. package/dist/dev/ui/status-announcer/index.d.ts +2 -0
  859. package/dist/dev/ui/status-announcer/index.js +2 -0
  860. package/dist/dev/ui/status-announcer/status-announcer.d.ts +14 -0
  861. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -0
  862. package/dist/dev/ui/status-announcer/status-announcer.js +36 -0
  863. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -0
  864. package/dist/dev/ui/status-indicator/context.js +20 -0
  865. package/dist/dev/ui/status-indicator/context.js.map +1 -0
  866. package/dist/dev/ui/status-indicator/index.d.ts +2 -0
  867. package/dist/dev/ui/status-indicator/index.js +2 -0
  868. package/dist/dev/ui/status-indicator/index.parts.d.ts +10 -0
  869. package/dist/dev/ui/status-indicator/index.parts.d.ts.map +1 -0
  870. package/dist/dev/ui/status-indicator/index.parts.js +12 -0
  871. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -0
  872. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +14 -0
  873. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -0
  874. package/dist/dev/ui/status-indicator/status-indicator-root.js +34 -0
  875. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -0
  876. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +13 -0
  877. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -0
  878. package/dist/dev/ui/status-indicator/status-indicator-value.js +23 -0
  879. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -0
  880. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  881. package/dist/dev/ui/time/time-value.js +32 -5
  882. package/dist/dev/ui/time/time-value.js.map +1 -1
  883. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  884. package/dist/dev/ui/time-slider/time-slider-root.js +18 -6
  885. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  886. package/dist/dev/ui/tooltip/context.d.ts +10 -4
  887. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  888. package/dist/dev/ui/tooltip/context.js.map +1 -1
  889. package/dist/dev/ui/tooltip/index.d.ts +2 -2
  890. package/dist/dev/ui/tooltip/index.parts.d.ts +3 -1
  891. package/dist/dev/ui/tooltip/index.parts.js +4 -0
  892. package/dist/dev/ui/tooltip/index.parts.js.map +1 -1
  893. package/dist/dev/ui/tooltip/tooltip-arrow.js +1 -1
  894. package/dist/dev/ui/tooltip/tooltip-label.d.ts +15 -0
  895. package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -0
  896. package/dist/dev/ui/tooltip/tooltip-label.js +24 -0
  897. package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -0
  898. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  899. package/dist/dev/ui/tooltip/tooltip-popup.js +26 -9
  900. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  901. package/dist/dev/ui/tooltip/tooltip-root.d.ts +4 -1
  902. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  903. package/dist/dev/ui/tooltip/tooltip-root.js +17 -5
  904. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  905. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +15 -0
  906. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -0
  907. package/dist/dev/ui/tooltip/tooltip-shortcut.js +25 -0
  908. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -0
  909. package/dist/dev/ui/volume-indicator/context.js +20 -0
  910. package/dist/dev/ui/volume-indicator/context.js.map +1 -0
  911. package/dist/dev/ui/volume-indicator/index.d.ts +2 -0
  912. package/dist/dev/ui/volume-indicator/index.js +2 -0
  913. package/dist/dev/ui/volume-indicator/index.parts.d.ts +11 -0
  914. package/dist/dev/ui/volume-indicator/index.parts.d.ts.map +1 -0
  915. package/dist/dev/ui/volume-indicator/index.parts.js +14 -0
  916. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -0
  917. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +13 -0
  918. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -0
  919. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +36 -0
  920. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -0
  921. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +14 -0
  922. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -0
  923. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +30 -0
  924. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -0
  925. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +13 -0
  926. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -0
  927. package/dist/dev/ui/volume-indicator/volume-indicator-value.js +23 -0
  928. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -0
  929. package/dist/dev/utils/use-attach-iframe.js +14 -0
  930. package/dist/dev/utils/use-attach-iframe.js.map +1 -0
  931. package/dist/dev/utils/use-media-instance.d.ts +7 -2
  932. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  933. package/dist/dev/utils/use-media-instance.js +11 -3
  934. package/dist/dev/utils/use-media-instance.js.map +1 -1
  935. package/dist/dev/utils/use-render.d.ts.map +1 -1
  936. package/dist/dev/utils/use-render.js +1 -1
  937. package/dist/dev/utils/use-render.js.map +1 -1
  938. package/docs/README.md +7 -0
  939. package/docs/concepts/accessibility.md +60 -0
  940. package/docs/concepts/browser-support.md +37 -0
  941. package/docs/concepts/cast.md +162 -0
  942. package/docs/concepts/features.md +131 -0
  943. package/docs/concepts/overview.md +119 -0
  944. package/docs/concepts/presets.md +230 -0
  945. package/docs/concepts/skins.md +2679 -0
  946. package/docs/concepts/ui-components.md +83 -0
  947. package/docs/concepts/v10-roadmap.md +75 -0
  948. package/docs/concepts/why-videojs.md +113 -0
  949. package/docs/how-to/build-with-ai.md +39 -0
  950. package/docs/how-to/build-your-own-component.md +142 -0
  951. package/docs/how-to/customize-skins.md +7864 -0
  952. package/docs/how-to/installation.md +170 -0
  953. package/docs/llms.txt +113 -0
  954. package/docs/reference/airplay-button.md +264 -0
  955. package/docs/reference/audio-track-radio-group.md +59 -0
  956. package/docs/reference/background-video.md +76 -0
  957. package/docs/reference/buffering-indicator.md +152 -0
  958. package/docs/reference/captions-button.md +216 -0
  959. package/docs/reference/cast-button.md +236 -0
  960. package/docs/reference/controls.md +238 -0
  961. package/docs/reference/create-player.md +261 -0
  962. package/docs/reference/create-selector.md +59 -0
  963. package/docs/reference/dash-video.md +138 -0
  964. package/docs/reference/feature-audio-track.md +60 -0
  965. package/docs/reference/feature-buffer.md +54 -0
  966. package/docs/reference/feature-controls.md +74 -0
  967. package/docs/reference/feature-error.md +65 -0
  968. package/docs/reference/feature-fullscreen.md +111 -0
  969. package/docs/reference/feature-live.md +62 -0
  970. package/docs/reference/feature-orientation-lock.md +35 -0
  971. package/docs/reference/feature-pip.md +94 -0
  972. package/docs/reference/feature-playback-rate.md +70 -0
  973. package/docs/reference/feature-playback.md +109 -0
  974. package/docs/reference/feature-quality.md +70 -0
  975. package/docs/reference/feature-remote-playback.md +76 -0
  976. package/docs/reference/feature-source.md +70 -0
  977. package/docs/reference/feature-stream-type.md +46 -0
  978. package/docs/reference/feature-text-tracks.md +114 -0
  979. package/docs/reference/feature-time.md +84 -0
  980. package/docs/reference/feature-volume.md +99 -0
  981. package/docs/reference/fullscreen-button.md +212 -0
  982. package/docs/reference/hlsjs-video.md +274 -0
  983. package/docs/reference/menu.md +1194 -0
  984. package/docs/reference/mute-button.md +276 -0
  985. package/docs/reference/mux-audio.md +218 -0
  986. package/docs/reference/mux-video.md +275 -0
  987. package/docs/reference/native-hls-video.md +212 -0
  988. package/docs/reference/pip-button.md +212 -0
  989. package/docs/reference/play-button.md +224 -0
  990. package/docs/reference/playback-rate-button.md +185 -0
  991. package/docs/reference/player-container.md +109 -0
  992. package/docs/reference/player-provider.md +104 -0
  993. package/docs/reference/popover.md +527 -0
  994. package/docs/reference/poster.md +137 -0
  995. package/docs/reference/quality-radio-group.md +59 -0
  996. package/docs/reference/render-element.md +196 -0
  997. package/docs/reference/seek-button.md +213 -0
  998. package/docs/reference/simple-hls-audio-only.md +93 -0
  999. package/docs/reference/simple-hls-video.md +150 -0
  1000. package/docs/reference/slider.md +826 -0
  1001. package/docs/reference/thumbnail.md +322 -0
  1002. package/docs/reference/time-slider.md +753 -0
  1003. package/docs/reference/time.md +519 -0
  1004. package/docs/reference/tooltip.md +715 -0
  1005. package/docs/reference/use-button.md +124 -0
  1006. package/docs/reference/use-container-attach.md +42 -0
  1007. package/docs/reference/use-media-attach.md +46 -0
  1008. package/docs/reference/use-media.md +112 -0
  1009. package/docs/reference/use-player-context.md +93 -0
  1010. package/docs/reference/use-player.md +241 -0
  1011. package/docs/reference/use-selector.md +132 -0
  1012. package/docs/reference/use-snapshot.md +127 -0
  1013. package/docs/reference/use-store.md +257 -0
  1014. package/docs/reference/volume-slider.md +716 -0
  1015. package/package.json +23 -10
  1016. package/dist/default/media/hls-video/index.js.map +0 -1
  1017. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +0 -12
  1018. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
  1019. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
  1020. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
  1021. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +0 -16
  1022. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
  1023. package/dist/dev/media/hls-video/index.d.ts +0 -15
  1024. package/dist/dev/media/hls-video/index.d.ts.map +0 -1
  1025. package/dist/dev/media/hls-video/index.js.map +0 -1
  1026. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +0 -12
  1027. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
  1028. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +0 -13
  1029. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
  1030. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +0 -5
  1031. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +0 -1
  1032. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +0 -16
  1033. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +0 -1
@@ -0,0 +1,1194 @@
1
+ # Menu
2
+
3
+ A composable menu component for settings, option selection, and actions
4
+
5
+ ## Anatomy
6
+
7
+ A submenu is a menu inside another menu. The submenu trigger lives in the parent list, and the submenu content is the next view.
8
+
9
+ tsx
10
+
11
+ ```
12
+ <Menu.Root>
13
+ <Menu.Trigger />
14
+ <Menu.Content>
15
+ <Menu.View>
16
+ {/* Parent menu item that opens a submenu */}
17
+ <Menu.Root>
18
+ {/* Submenu trigger */}
19
+ <Menu.Trigger>
20
+ <Menu.ItemValue />
21
+ </Menu.Trigger>
22
+
23
+ {/* Submenu content */}
24
+ <Menu.Content>
25
+ <Menu.Back />
26
+ <Menu.RadioGroup>
27
+ <Menu.GroupLabel />
28
+ <Menu.RadioItem>
29
+ <Menu.ItemIndicator />
30
+ </Menu.RadioItem>
31
+ </Menu.RadioGroup>
32
+ </Menu.Content>
33
+ </Menu.Root>
34
+
35
+ {/* Other parent menu items */}
36
+ <Menu.Group>
37
+ <Menu.GroupLabel />
38
+ <Menu.CheckboxItem>
39
+ <Menu.ItemIndicator />
40
+ </Menu.CheckboxItem>
41
+ </Menu.Group>
42
+ <Menu.Separator />
43
+ <Menu.Item />
44
+ </Menu.View>
45
+ </Menu.Content>
46
+ </Menu.Root>
47
+ ```
48
+
49
+ ## Behavior
50
+
51
+ Menus open from a trigger and close when you select an item, click outside, move focus away, or press Escape. Root menus are positioned against their trigger with `side` and `align`.
52
+
53
+ Create a submenu by putting another menu inside the root menu’s content. Its trigger stays in the root list, and its content becomes the next view. In HTML, give the submenu a matching `id` and point the trigger at it with `commandfor`. Wrap the root list in `Menu.View` or `<media-menu-view>` when the root list and submenus share one animated viewport.
54
+
55
+ Set `type="playback-rate"`, `type="quality"`, `type="audio-track"`, or `type="captions"` on a submenu trigger when it represents a media setting. `Menu.ItemValue` and `<media-menu-item-value>` read that setting context and display the current value, such as `1.5x`, `Auto`, `English`, or `Off`. See [QualityRadioGroup](./quality-radio-group.md) and [AudioTrackRadioGroup](./audio-track-radio-group.md) for the generated option groups.
56
+
57
+ ## Styling
58
+
59
+ Use data attributes to style open state, highlighted items, selected radio items, and submenu views:
60
+
61
+ `data-highlighted` is added to the current menu item. The highlighted item is the item that keyboard selection will act on. It changes when the menu opens, when the pointer moves over another item, when the user presses arrow keys, or when type-ahead search finds a match.
62
+
63
+ css
64
+
65
+ ```
66
+ .menu[data-open] {
67
+ opacity: 1;
68
+ }
69
+
70
+ .menu-item[data-highlighted] {
71
+ background: rgba(255, 255, 255, 0.16);
72
+ }
73
+
74
+ [role="menuitemradio"][aria-checked="true"] {
75
+ font-weight: 600;
76
+ }
77
+ ```
78
+
79
+ ## Accessibility
80
+
81
+ Menu content renders with `role="menu"`. Items use `menuitem`, `menuitemradio`, or `menuitemcheckbox` roles. Radio and checkbox items reflect selection with `aria-checked`.
82
+
83
+ Keyboard controls:
84
+
85
+ * Enter / Space: Select the highlighted item.
86
+ * Arrow Up / Arrow Down: Move between items.
87
+ * Arrow Right: Open a submenu.
88
+ * Arrow Left: Return to the parent menu.
89
+ * Escape: Close the root menu or return from a submenu.
90
+
91
+ Use `Menu.GroupLabel` or `<media-menu-group-label>` inside grouped choices so the group receives an accessible label.
92
+
93
+ ## Examples
94
+
95
+ ### Basic usage
96
+
97
+ Settings
98
+
99
+ App.tsx
100
+
101
+ App.css
102
+
103
+ ```
104
+ import {
105
+ createPlayer,
106
+ Menu,
107
+ useAudioTrackOptions,
108
+ useCaptionsOptions,
109
+ usePlaybackRateOptions,
110
+ useQualityOptions,
111
+ } from '@videojs/react';
112
+ import { HlsJsVideo } from '@videojs/react/media/hlsjs-video';
113
+ import { videoFeatures } from '@videojs/react/video';
114
+ import type { ReactNode } from 'react';
115
+
116
+ const Player = createPlayer({ features: videoFeatures });
117
+ const src = 'https://stream.mux.com/lhnU49l1VGi3zrTAZhDm9LUUxSjpaPW9BL4jY25Kwo4.m3u8';
118
+
119
+ function SettingsMenu(): ReactNode {
120
+ const playbackRate = usePlaybackRateOptions();
121
+ const quality = useQualityOptions();
122
+ const audioTrack = useAudioTrackOptions();
123
+ const captions = useCaptionsOptions();
124
+ const hasPlaybackRate = playbackRate?.state.availability === 'available';
125
+ const hasQuality = quality?.state.availability === 'available';
126
+ const hasAudioTrack = audioTrack?.state.availability === 'available';
127
+ const hasCaptions = captions?.state.availability === 'available';
128
+
129
+ if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;
130
+
131
+ return (
132
+ <Menu.Root side="top" align="end">
133
+ <Menu.Trigger className="settings-trigger" aria-label="Settings" render={<button type="button" />}>
134
+ Settings
135
+ </Menu.Trigger>
136
+ <Menu.Content className="menu">
137
+ <Menu.View className="menu-panel">
138
+ {hasQuality ? (
139
+ <Menu.Root>
140
+ <Menu.Trigger
141
+ type="quality"
142
+ className="menu-item"
143
+ render={(props) => (
144
+ <div {...props}>
145
+ <span>Quality</span>
146
+ <span className="menu-value">
147
+ <Menu.ItemValue />
148
+ <span aria-hidden="true">›</span>
149
+ </span>
150
+ </div>
151
+ )}
152
+ />
153
+ <Menu.Content className="menu-panel">
154
+ <Menu.Back className="menu-back">
155
+ <span aria-hidden="true">‹</span>
156
+ Quality
157
+ </Menu.Back>
158
+ <Menu.RadioGroup
159
+ className="menu-group"
160
+ value={quality.value}
161
+ onValueChange={quality.setValue}
162
+ aria-label="Quality"
163
+ >
164
+ {quality.options.map((option) => (
165
+ <Menu.RadioItem
166
+ key={option.value}
167
+ value={option.value}
168
+ disabled={option.disabled}
169
+ className="menu-item"
170
+ >
171
+ <span>
172
+ {option.label}
173
+ {option.tier ? <sup className="menu-tier">{option.tier}</sup> : null}
174
+ </span>
175
+ {option.badge ? <span className="menu-badge">{option.badge}</span> : null}
176
+ <Menu.ItemIndicator
177
+ checked={option.value === quality.value}
178
+ forceMount
179
+ className="menu-indicator"
180
+ >
181
+
182
+ </Menu.ItemIndicator>
183
+ </Menu.RadioItem>
184
+ ))}
185
+ </Menu.RadioGroup>
186
+ </Menu.Content>
187
+ </Menu.Root>
188
+ ) : null}
189
+
190
+ {hasAudioTrack ? (
191
+ <Menu.Root>
192
+ <Menu.Trigger
193
+ type="audio-track"
194
+ className="menu-item"
195
+ render={(props) => (
196
+ <div {...props}>
197
+ <span>Audio</span>
198
+ <span className="menu-value">
199
+ <Menu.ItemValue />
200
+ <span aria-hidden="true">›</span>
201
+ </span>
202
+ </div>
203
+ )}
204
+ />
205
+ <Menu.Content className="menu-panel">
206
+ <Menu.Back className="menu-back">
207
+ <span aria-hidden="true">‹</span>
208
+ Audio
209
+ </Menu.Back>
210
+ <Menu.RadioGroup
211
+ className="menu-group"
212
+ value={audioTrack.value}
213
+ onValueChange={audioTrack.setValue}
214
+ aria-label="Audio tracks"
215
+ >
216
+ {audioTrack.options.map((option) => (
217
+ <Menu.RadioItem
218
+ key={option.value}
219
+ value={option.value}
220
+ disabled={option.disabled}
221
+ className="menu-item"
222
+ >
223
+ <span>{option.label}</span>
224
+ <Menu.ItemIndicator
225
+ checked={option.value === audioTrack.value}
226
+ forceMount
227
+ className="menu-indicator"
228
+ >
229
+
230
+ </Menu.ItemIndicator>
231
+ </Menu.RadioItem>
232
+ ))}
233
+ </Menu.RadioGroup>
234
+ </Menu.Content>
235
+ </Menu.Root>
236
+ ) : null}
237
+
238
+ {hasPlaybackRate ? (
239
+ <Menu.Root>
240
+ <Menu.Trigger
241
+ type="playback-rate"
242
+ className="menu-item"
243
+ render={(props) => (
244
+ <div {...props}>
245
+ <span>Speed</span>
246
+ <span className="menu-value">
247
+ <Menu.ItemValue />
248
+ <span aria-hidden="true">›</span>
249
+ </span>
250
+ </div>
251
+ )}
252
+ />
253
+ <Menu.Content className="menu-panel">
254
+ <Menu.Back className="menu-back">
255
+ <span aria-hidden="true">‹</span>
256
+ Speed
257
+ </Menu.Back>
258
+ <Menu.RadioGroup
259
+ className="menu-group"
260
+ value={playbackRate.value}
261
+ onValueChange={playbackRate.setValue}
262
+ aria-label="Playback rate"
263
+ >
264
+ {playbackRate.options.map((option) => (
265
+ <Menu.RadioItem
266
+ key={option.value}
267
+ value={option.value}
268
+ disabled={option.disabled}
269
+ className="menu-item"
270
+ >
271
+ <span>{option.label}</span>
272
+ <Menu.ItemIndicator
273
+ checked={option.value === playbackRate.value}
274
+ forceMount
275
+ className="menu-indicator"
276
+ >
277
+
278
+ </Menu.ItemIndicator>
279
+ </Menu.RadioItem>
280
+ ))}
281
+ </Menu.RadioGroup>
282
+ </Menu.Content>
283
+ </Menu.Root>
284
+ ) : null}
285
+
286
+ {hasCaptions ? (
287
+ <Menu.Root>
288
+ <Menu.Trigger
289
+ type="captions"
290
+ className="menu-item"
291
+ render={(props) => (
292
+ <div {...props}>
293
+ <span>Captions</span>
294
+ <span className="menu-value">
295
+ <Menu.ItemValue />
296
+ <span aria-hidden="true">›</span>
297
+ </span>
298
+ </div>
299
+ )}
300
+ />
301
+ <Menu.Content className="menu-panel">
302
+ <Menu.Back className="menu-back">
303
+ <span aria-hidden="true">‹</span>
304
+ Captions
305
+ </Menu.Back>
306
+ <Menu.RadioGroup
307
+ className="menu-group"
308
+ value={captions.value}
309
+ onValueChange={captions.setValue}
310
+ aria-label="Captions"
311
+ >
312
+ {captions.options.map((option) => (
313
+ <Menu.RadioItem
314
+ key={option.value}
315
+ value={option.value}
316
+ disabled={option.disabled}
317
+ className="menu-item"
318
+ >
319
+ <span>{option.label}</span>
320
+ <Menu.ItemIndicator
321
+ checked={option.value === captions.value}
322
+ forceMount
323
+ className="menu-indicator"
324
+ >
325
+
326
+ </Menu.ItemIndicator>
327
+ </Menu.RadioItem>
328
+ ))}
329
+ </Menu.RadioGroup>
330
+ </Menu.Content>
331
+ </Menu.Root>
332
+ ) : null}
333
+
334
+ <Menu.Item className="menu-item" onSelect={() => navigator.clipboard?.writeText(window.location.href)}>
335
+ Copy link
336
+ </Menu.Item>
337
+ </Menu.View>
338
+ </Menu.Content>
339
+ </Menu.Root>
340
+ );
341
+ }
342
+
343
+ export default function BasicUsage() {
344
+ return (
345
+ <Player.Provider>
346
+ <Player.Container className="media-container">
347
+ <HlsJsVideo src={src} autoPlay crossOrigin="anonymous" muted playsInline loop>
348
+ <track kind="captions" src="/docs/demos/captions-button/captions.vtt" srcLang="en" label="English" />
349
+ <track kind="subtitles" src="/docs/demos/captions-button/captions.vtt" srcLang="es" label="Spanish" />
350
+ </HlsJsVideo>
351
+ <div className="menu-bar">
352
+ <SettingsMenu />
353
+ </div>
354
+ </Player.Container>
355
+ </Player.Provider>
356
+ );
357
+ }
358
+ ```
359
+ ```
360
+ .media-container {
361
+ position: relative;
362
+ }
363
+
364
+ .media-container video {
365
+ width: 100%;
366
+ }
367
+
368
+ .menu-bar {
369
+ position: absolute;
370
+ right: 10px;
371
+ bottom: 10px;
372
+ }
373
+
374
+ .settings-trigger {
375
+ padding: 6px 16px;
376
+ color: black;
377
+ cursor: pointer;
378
+ background: rgba(255, 255, 255, 0.75);
379
+ border: 1px solid rgba(255, 255, 255, 0.35);
380
+ border-radius: 9999px;
381
+ backdrop-filter: blur(10px);
382
+ }
383
+
384
+ .menu {
385
+ --media-menu-side-offset: 8px;
386
+ --menu-transition-duration: 220ms;
387
+ position: relative;
388
+ box-sizing: border-box;
389
+ width: var(--media-menu-width);
390
+ min-width: 180px;
391
+ max-width: var(--media-menu-available-width, var(--media-popover-available-width, none));
392
+ height: var(--media-menu-height);
393
+ max-height: var(--media-menu-available-height, var(--media-popover-available-height, none));
394
+ padding: 6px;
395
+ margin: 0;
396
+ overflow: hidden;
397
+ overscroll-behavior: none;
398
+ font-size: 14px;
399
+ color: white;
400
+ background: rgba(0, 0, 0, 0.88);
401
+ border: 0;
402
+ border-radius: 8px;
403
+ backdrop-filter: blur(10px);
404
+ transition-timing-function: ease-in-out;
405
+ transition-duration: var(--menu-transition-duration);
406
+ transition-property: width, height, opacity, filter;
407
+ }
408
+
409
+ .menu-panel {
410
+ position: absolute;
411
+ inset: 0;
412
+ display: grid;
413
+ gap: 2px;
414
+ padding: 6px;
415
+ overflow: auto;
416
+ overscroll-behavior: none;
417
+ outline: none;
418
+ translate: 0 0;
419
+ transition-timing-function: ease-in-out;
420
+ transition-duration: var(--menu-transition-duration);
421
+ transition-property: translate, filter;
422
+ will-change: translate;
423
+ }
424
+
425
+ .menu-panel[data-starting-style],
426
+ .menu-panel[data-ending-style] {
427
+ overflow: hidden;
428
+ }
429
+
430
+ .menu-panel[data-menu-root-view][data-menu-view-state="inactive"] {
431
+ filter: blur(8px);
432
+ translate: -100% 0;
433
+ }
434
+
435
+ .menu-panel[data-submenu] {
436
+ z-index: 1;
437
+ }
438
+
439
+ .menu-panel[data-submenu]:not([data-open], [data-ending-style]) {
440
+ translate: -100% 0;
441
+ transition-property: none;
442
+ }
443
+
444
+ .menu-panel[data-submenu][data-starting-style],
445
+ .menu-panel[data-submenu][data-ending-style] {
446
+ pointer-events: none;
447
+ filter: blur(8px);
448
+ }
449
+
450
+ .menu-panel[data-submenu][data-starting-style][data-direction="forward"],
451
+ .menu-panel[data-submenu][data-ending-style][data-direction="back"] {
452
+ translate: 100% 0;
453
+ }
454
+
455
+ .menu-panel[data-submenu][data-ending-style][data-direction="forward"],
456
+ .menu-panel[data-submenu][data-starting-style][data-direction="back"] {
457
+ translate: -100% 0;
458
+ }
459
+
460
+ .menu-item,
461
+ .menu-back {
462
+ display: flex;
463
+ align-items: center;
464
+ justify-content: space-between;
465
+ min-height: 32px;
466
+ padding: 0 10px;
467
+ font: inherit;
468
+ color: inherit;
469
+ cursor: pointer;
470
+ background: none;
471
+ border: 0;
472
+ border-radius: 6px;
473
+ }
474
+
475
+ .menu-item[data-highlighted],
476
+ .menu-back:hover {
477
+ background: rgba(255, 255, 255, 0.16);
478
+ }
479
+
480
+ .menu-back {
481
+ gap: 8px;
482
+ justify-content: flex-start;
483
+ }
484
+
485
+ .menu-value {
486
+ display: inline-flex;
487
+ gap: 8px;
488
+ align-items: center;
489
+ color: rgba(255, 255, 255, 0.72);
490
+ }
491
+
492
+ .menu-group {
493
+ display: grid;
494
+ gap: 2px;
495
+ }
496
+
497
+ .menu-tier {
498
+ margin-left: 2px;
499
+ font-size: 10px;
500
+ }
501
+
502
+ .menu-badge {
503
+ margin-left: auto;
504
+ color: rgba(255, 255, 255, 0.72);
505
+ }
506
+
507
+ .menu-back [aria-hidden],
508
+ [role="menuitemradio"] [aria-hidden],
509
+ .menu-item [aria-hidden] {
510
+ font-size: 18px;
511
+ line-height: 1;
512
+ color: rgba(255, 255, 255, 0.72);
513
+ }
514
+
515
+ .menu-indicator {
516
+ opacity: 0;
517
+ }
518
+
519
+ [role="menuitemradio"][aria-checked="true"] .menu-indicator {
520
+ opacity: 1;
521
+ }
522
+ ```
523
+
524
+ ## API Reference
525
+
526
+ ###
527
+
528
+ Root
529
+
530
+ #### Props
531
+
532
+ Prop
533
+
534
+ Type
535
+
536
+ Default
537
+
538
+ Details
539
+
540
+ `align`
541
+
542
+ `'start' | 'center' | 'end'`
543
+
544
+ `'start'`
545
+
546
+
547
+
548
+ Description
549
+
550
+ Alignment along the trigger's edge. Root menus only.
551
+
552
+ `closeOnEscape`
553
+
554
+ `boolean`
555
+
556
+ `true`
557
+
558
+
559
+
560
+ Description
561
+
562
+ Close the menu when Escape is pressed at root level.
563
+
564
+ `closeOnOutsideClick`
565
+
566
+ `boolean`
567
+
568
+ `true`
569
+
570
+
571
+
572
+ Description
573
+
574
+ Close the menu when clicking outside. Root menus only.
575
+
576
+ `defaultOpen`
577
+
578
+ `boolean`
579
+
580
+ `false`
581
+
582
+
583
+
584
+ Description
585
+
586
+ Initial open state (uncontrolled).
587
+
588
+ `isSubmenu`
589
+
590
+ `boolean`
591
+
592
+ `false`
593
+
594
+
595
+
596
+ Description
597
+
598
+ True when this menu instance is nested inside a parent menu's content.
599
+
600
+ `open`
601
+
602
+ `boolean`
603
+
604
+ `false`
605
+
606
+
607
+
608
+ Description
609
+
610
+ Controlled open state.
611
+
612
+ `side`
613
+
614
+ `'top' | 'bottom' | 'left' | 'right'`
615
+
616
+ `'bottom'`
617
+
618
+
619
+
620
+ Description
621
+
622
+ Which side of the trigger the menu appears on. Root menus only.
623
+
624
+ #### State
625
+
626
+ State is accessible via the `render`, `className`, and `style` props.
627
+
628
+ Property
629
+
630
+ Type
631
+
632
+ Details
633
+
634
+ `open`
635
+
636
+ `boolean`
637
+
638
+ `status`
639
+
640
+ `'idle' | 'starting' | 'ending'`
641
+
642
+ `side`
643
+
644
+ `'top' | 'bottom' | 'left' | 'right' |...`
645
+
646
+
647
+
648
+ Type
649
+
650
+ `'top' | 'bottom' | 'left' | 'right' | undefined`
651
+
652
+ `align`
653
+
654
+ `'start' | 'center' | 'end' | undefined`
655
+
656
+ `isSubmenu`
657
+
658
+ `boolean`
659
+
660
+
661
+
662
+ Description
663
+
664
+ Whether this menu is nested inside another menu's content.
665
+
666
+ `transitionStarting`
667
+
668
+ `boolean`
669
+
670
+
671
+
672
+ Description
673
+
674
+ Whether the open transition is in progress.
675
+
676
+ `transitionEnding`
677
+
678
+ `boolean`
679
+
680
+
681
+
682
+ Description
683
+
684
+ Whether the close transition is in progress.
685
+
686
+ #### Data attributes
687
+
688
+ Attribute
689
+
690
+ Type
691
+
692
+ Details
693
+
694
+ `data-open`
695
+
696
+
697
+
698
+ Description
699
+
700
+ Present when the menu is open.
701
+
702
+ `data-side`
703
+
704
+ `undefined | 'top' | 'bottom' | 'left'...`
705
+
706
+
707
+
708
+ Description
709
+
710
+ Popover positioning side. Absent on submenus.
711
+
712
+ Type
713
+
714
+ `undefined | 'top' | 'bottom' | 'left' | 'right'`
715
+
716
+ `data-align`
717
+
718
+ `undefined | 'start' | 'center' | 'end'`
719
+
720
+
721
+
722
+ Description
723
+
724
+ Popover positioning alignment. Absent on submenus.
725
+
726
+ `data-submenu`
727
+
728
+
729
+
730
+ Description
731
+
732
+ Present on Content when this menu is nested inside a parent menu.
733
+
734
+ #### CSS custom properties
735
+
736
+ Variable
737
+
738
+ Details
739
+
740
+ `--media-menu-width`
741
+
742
+
743
+
744
+ Description
745
+
746
+ Width of the incoming submenu view (px). Set on root Content before each transition.
747
+
748
+ `--media-menu-height`
749
+
750
+
751
+
752
+ Description
753
+
754
+ Height of the incoming submenu view (px). Set on root Content before each transition.
755
+
756
+ `--media-menu-available-width`
757
+
758
+
759
+
760
+ Description
761
+
762
+ Viewport-constrained max width for the menu (px). Set from popover positioning.
763
+
764
+ `--media-menu-available-height`
765
+
766
+
767
+
768
+ Description
769
+
770
+ Viewport-constrained max height for the menu (px). Set from popover positioning.
771
+
772
+ ###
773
+
774
+ Back
775
+
776
+ Button that navigates back to the parent menu view. Place at the top of a submenu Content.
777
+
778
+ #### Props
779
+
780
+ Prop
781
+
782
+ Type
783
+
784
+ Default
785
+
786
+ Details
787
+
788
+ `label`
789
+
790
+ `string`
791
+
792
+ `—`
793
+
794
+
795
+
796
+ Description
797
+
798
+ Accessible label for the back button.
799
+
800
+ ###
801
+
802
+ CheckboxItem
803
+
804
+ A checkbox-style menu item. Renders a `<div>` with `role="menuitemcheckbox"`.
805
+
806
+ #### Props
807
+
808
+ Prop
809
+
810
+ Type
811
+
812
+ Default
813
+
814
+ Details
815
+
816
+ `checked`
817
+
818
+ `boolean`
819
+
820
+ `—`
821
+
822
+
823
+
824
+ Description
825
+
826
+ Whether the item is currently checked.
827
+
828
+ `disabled`
829
+
830
+ `boolean`
831
+
832
+ `—`
833
+
834
+
835
+
836
+ Description
837
+
838
+ Whether the item is disabled.
839
+
840
+ `onCheckedChange`
841
+
842
+ `(checked: boolean) => void`
843
+
844
+ `—`
845
+
846
+
847
+
848
+ Description
849
+
850
+ Called when the checked state should change.
851
+
852
+ ###
853
+
854
+ Content
855
+
856
+ Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested.
857
+
858
+ #### Data attributes
859
+
860
+ Attribute
861
+
862
+ Type
863
+
864
+ Details
865
+
866
+ `data-open`
867
+
868
+
869
+
870
+ Description
871
+
872
+ Present when the menu is open.
873
+
874
+ `data-side`
875
+
876
+ `undefined | 'top' | 'bottom' | 'left'...`
877
+
878
+
879
+
880
+ Description
881
+
882
+ Popover positioning side. Absent on submenus.
883
+
884
+ Type
885
+
886
+ `undefined | 'top' | 'bottom' | 'left' | 'right'`
887
+
888
+ `data-align`
889
+
890
+ `undefined | 'start' | 'center' | 'end'`
891
+
892
+
893
+
894
+ Description
895
+
896
+ Popover positioning alignment. Absent on submenus.
897
+
898
+ `data-submenu`
899
+
900
+
901
+
902
+ Description
903
+
904
+ Present on Content when this menu is nested inside a parent menu.
905
+
906
+ ###
907
+
908
+ Group
909
+
910
+ Groups related menu items. Renders a `<div>` with `role="group"`.
911
+
912
+ ###
913
+
914
+ GroupLabel
915
+
916
+ Non-interactive label for a group of items. Renders a `<div>`.
917
+
918
+ ###
919
+
920
+ Item
921
+
922
+ A single action in the menu. Renders a `<div>` with `role="menuitem"`.
923
+
924
+ #### Props
925
+
926
+ Prop
927
+
928
+ Type
929
+
930
+ Default
931
+
932
+ Details
933
+
934
+ `disabled`
935
+
936
+ `boolean`
937
+
938
+ `—`
939
+
940
+
941
+
942
+ Description
943
+
944
+ Whether the item is disabled.
945
+
946
+ `onSelect`
947
+
948
+ `() => void`
949
+
950
+ `—`
951
+
952
+
953
+
954
+ Description
955
+
956
+ Called when the item is selected.
957
+
958
+ `type`
959
+
960
+ `MenuItemSettingType`
961
+
962
+ `—`
963
+
964
+
965
+
966
+ Description
967
+
968
+ Setting kind for submenu triggers (`playback-rate`, `quality`, `audio-track`, or `captions`).
969
+
970
+ ###
971
+
972
+ ItemIndicator
973
+
974
+ Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set).
975
+
976
+ #### Props
977
+
978
+ Prop
979
+
980
+ Type
981
+
982
+ Default
983
+
984
+ Details
985
+
986
+ `checked`
987
+
988
+ `boolean`
989
+
990
+ `—`
991
+
992
+
993
+
994
+ Description
995
+
996
+ Whether the indicator is currently shown. Typically bound to the parent item's checked state.
997
+
998
+ `forceMount`
999
+
1000
+ `boolean`
1001
+
1002
+ `—`
1003
+
1004
+
1005
+
1006
+ Description
1007
+
1008
+ When `true`, renders even when unchecked (useful for animating out). Defaults to `false`.
1009
+
1010
+ ###
1011
+
1012
+ ItemValue
1013
+
1014
+ Displays the current value for a settings menu item from `Menu.Item` or `Menu.Trigger` context.
1015
+
1016
+ #### Data attributes
1017
+
1018
+ Attribute
1019
+
1020
+ Type
1021
+
1022
+ Details
1023
+
1024
+ `data-open`
1025
+
1026
+
1027
+
1028
+ Description
1029
+
1030
+ Present when the menu is open.
1031
+
1032
+ `data-side`
1033
+
1034
+ `undefined | 'top' | 'bottom' | 'left'...`
1035
+
1036
+
1037
+
1038
+ Description
1039
+
1040
+ Popover positioning side. Absent on submenus.
1041
+
1042
+ Type
1043
+
1044
+ `undefined | 'top' | 'bottom' | 'left' | 'right'`
1045
+
1046
+ `data-align`
1047
+
1048
+ `undefined | 'start' | 'center' | 'end'`
1049
+
1050
+
1051
+
1052
+ Description
1053
+
1054
+ Popover positioning alignment. Absent on submenus.
1055
+
1056
+ `data-submenu`
1057
+
1058
+
1059
+
1060
+ Description
1061
+
1062
+ Present on Content when this menu is nested inside a parent menu.
1063
+
1064
+ ###
1065
+
1066
+ RadioGroup
1067
+
1068
+ A group of mutually exclusive radio items. Renders a `<div>` with `role="group"`.
1069
+
1070
+ #### Props
1071
+
1072
+ Prop
1073
+
1074
+ Type
1075
+
1076
+ Default
1077
+
1078
+ Details
1079
+
1080
+ `onValueChange`
1081
+
1082
+ `(value: string) => void`
1083
+
1084
+ `—`
1085
+
1086
+
1087
+
1088
+ Description
1089
+
1090
+ Called when the user selects a radio item.
1091
+
1092
+ `value`
1093
+
1094
+ `string`
1095
+
1096
+ `—`
1097
+
1098
+
1099
+
1100
+ Description
1101
+
1102
+ The currently selected value.
1103
+
1104
+ ###
1105
+
1106
+ RadioItem
1107
+
1108
+ A radio-style menu item. Renders a `<div>` with `role="menuitemradio"`.
1109
+
1110
+ #### Props
1111
+
1112
+ Prop
1113
+
1114
+ Type
1115
+
1116
+ Default
1117
+
1118
+ Details
1119
+
1120
+ `disabled`
1121
+
1122
+ `boolean`
1123
+
1124
+ `—`
1125
+
1126
+
1127
+
1128
+ Description
1129
+
1130
+ Whether the item is disabled.
1131
+
1132
+ `value`
1133
+
1134
+ `string`
1135
+
1136
+ `—`
1137
+
1138
+
1139
+
1140
+ Description
1141
+
1142
+ The value this item represents.
1143
+
1144
+ ###
1145
+
1146
+ Separator
1147
+
1148
+ Visual divider between groups of items. Renders a `<div>` with `role="separator"`.
1149
+
1150
+ ###
1151
+
1152
+ Trigger
1153
+
1154
+ Button that toggles the menu visibility. At root level renders a `<button>`. When inside a parent menu (as a submenu trigger), renders as a `<div role="menuitem">` that pushes the submenu on click or ArrowRight.
1155
+
1156
+ #### Props
1157
+
1158
+ Prop
1159
+
1160
+ Type
1161
+
1162
+ Default
1163
+
1164
+ Details
1165
+
1166
+ `disabled`
1167
+
1168
+ `boolean`
1169
+
1170
+ `—`
1171
+
1172
+
1173
+
1174
+ Description
1175
+
1176
+ Disables the trigger.
1177
+
1178
+ `type`
1179
+
1180
+ `MenuItemSettingType`
1181
+
1182
+ `—`
1183
+
1184
+
1185
+
1186
+ Description
1187
+
1188
+ Setting kind for submenu triggers (`playback-rate`, `quality`, `audio-track`, or `captions`).
1189
+
1190
+ ###
1191
+
1192
+ View
1193
+
1194
+ Root menu view inside the menu viewport.