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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1552) hide show
  1. package/dist/default/i18n/context.js.map +1 -1
  2. package/dist/default/i18n/create-i18n.js +7 -4
  3. package/dist/default/i18n/create-i18n.js.map +1 -1
  4. package/dist/default/i18n/get-provider-root-props.js.map +1 -1
  5. package/dist/default/i18n/locales/all/register.js.map +1 -1
  6. package/dist/default/i18n/locales/ar/register.js.map +1 -1
  7. package/dist/default/i18n/locales/az/register.js.map +1 -1
  8. package/dist/default/i18n/locales/bg/register.js.map +1 -1
  9. package/dist/default/i18n/locales/bn/register.js.map +1 -1
  10. package/dist/default/i18n/locales/bs/register.js.map +1 -1
  11. package/dist/default/i18n/locales/ca/register.js.map +1 -1
  12. package/dist/default/i18n/locales/cs/register.js.map +1 -1
  13. package/dist/default/i18n/locales/cy/register.js.map +1 -1
  14. package/dist/default/i18n/locales/da/register.js.map +1 -1
  15. package/dist/default/i18n/locales/de/register.js.map +1 -1
  16. package/dist/default/i18n/locales/el/register.js.map +1 -1
  17. package/dist/default/i18n/locales/en/register.js.map +1 -1
  18. package/dist/default/i18n/locales/es/register.js.map +1 -1
  19. package/dist/default/i18n/locales/et/register.js.map +1 -1
  20. package/dist/default/i18n/locales/eu/register.js.map +1 -1
  21. package/dist/default/i18n/locales/fa/register.js.map +1 -1
  22. package/dist/default/i18n/locales/fi/register.js.map +1 -1
  23. package/dist/default/i18n/locales/fr/register.js.map +1 -1
  24. package/dist/default/i18n/locales/gd/register.js.map +1 -1
  25. package/dist/default/i18n/locales/gl/register.js.map +1 -1
  26. package/dist/default/i18n/locales/he/register.js.map +1 -1
  27. package/dist/default/i18n/locales/hi/register.js.map +1 -1
  28. package/dist/default/i18n/locales/hr/register.js.map +1 -1
  29. package/dist/default/i18n/locales/hu/register.js.map +1 -1
  30. package/dist/default/i18n/locales/id/register.js.map +1 -1
  31. package/dist/default/i18n/locales/it/register.js.map +1 -1
  32. package/dist/default/i18n/locales/ja/register.js.map +1 -1
  33. package/dist/default/i18n/locales/ko/register.js.map +1 -1
  34. package/dist/default/i18n/locales/lt/register.js.map +1 -1
  35. package/dist/default/i18n/locales/lv/register.js.map +1 -1
  36. package/dist/default/i18n/locales/mr/register.js.map +1 -1
  37. package/dist/default/i18n/locales/nb/register.js.map +1 -1
  38. package/dist/default/i18n/locales/ne/register.js.map +1 -1
  39. package/dist/default/i18n/locales/nl/register.js.map +1 -1
  40. package/dist/default/i18n/locales/nn/register.js.map +1 -1
  41. package/dist/default/i18n/locales/oc/register.js.map +1 -1
  42. package/dist/default/i18n/locales/pl/register.js.map +1 -1
  43. package/dist/default/i18n/locales/pt/register.js.map +1 -1
  44. package/dist/default/i18n/locales/pt-BR/register.js.map +1 -1
  45. package/dist/default/i18n/locales/pt-PT/register.js.map +1 -1
  46. package/dist/default/i18n/locales/ro/register.js.map +1 -1
  47. package/dist/default/i18n/locales/ru/register.js.map +1 -1
  48. package/dist/default/i18n/locales/sk/register.js.map +1 -1
  49. package/dist/default/i18n/locales/sl/register.js.map +1 -1
  50. package/dist/default/i18n/locales/sr/register.js.map +1 -1
  51. package/dist/default/i18n/locales/sv/register.js.map +1 -1
  52. package/dist/default/i18n/locales/te/register.js.map +1 -1
  53. package/dist/default/i18n/locales/th/register.js.map +1 -1
  54. package/dist/default/i18n/locales/tr/register.js.map +1 -1
  55. package/dist/default/i18n/locales/uk/register.js.map +1 -1
  56. package/dist/default/i18n/locales/vi/register.js.map +1 -1
  57. package/dist/default/i18n/locales/zh/register.js.map +1 -1
  58. package/dist/default/i18n/locales/zh-CN/register.js.map +1 -1
  59. package/dist/default/i18n/locales/zh-TW/register.js.map +1 -1
  60. package/dist/default/i18n/text.js.map +1 -1
  61. package/dist/default/i18n/use-ambient-lang.js.map +1 -1
  62. package/dist/default/i18n/use-lang-root-element.js.map +1 -1
  63. package/dist/default/i18n/use-lazy-translations.js.map +1 -1
  64. package/dist/default/i18n/use-locale-root-notifications.js.map +1 -1
  65. package/dist/default/i18n/use-merged-translations.js +4 -2
  66. package/dist/default/i18n/use-merged-translations.js.map +1 -1
  67. package/dist/default/icons/dist/react/default/airplay-enter.js +5 -2
  68. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  69. package/dist/default/icons/dist/react/default/airplay-exit.js +5 -2
  70. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  71. package/dist/default/icons/dist/react/default/captions-off.js +5 -2
  72. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  73. package/dist/default/icons/dist/react/default/captions-on.js +5 -2
  74. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  75. package/dist/default/icons/dist/react/default/cast-enter.js +5 -2
  76. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  77. package/dist/default/icons/dist/react/default/cast-exit.js +5 -2
  78. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  79. package/dist/default/icons/dist/react/default/check.js +5 -2
  80. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  81. package/dist/default/icons/dist/react/default/chevron.js +5 -2
  82. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  83. package/dist/default/icons/dist/react/default/fullscreen-enter.js +5 -2
  84. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  85. package/dist/default/icons/dist/react/default/fullscreen-exit.js +5 -2
  86. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  87. package/dist/default/icons/dist/react/default/gear.js +5 -2
  88. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  89. package/dist/default/icons/dist/react/default/pause.js +5 -2
  90. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  91. package/dist/default/icons/dist/react/default/pip-enter.js +5 -2
  92. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  93. package/dist/default/icons/dist/react/default/pip-exit.js +5 -2
  94. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  95. package/dist/default/icons/dist/react/default/play.js +5 -2
  96. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  97. package/dist/default/icons/dist/react/default/quality.js +5 -2
  98. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  99. package/dist/default/icons/dist/react/default/restart.js +5 -2
  100. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  101. package/dist/default/icons/dist/react/default/seek.js +5 -2
  102. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  103. package/dist/default/icons/dist/react/default/speech.js +5 -2
  104. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  105. package/dist/default/icons/dist/react/default/speed.js +5 -2
  106. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  107. package/dist/default/icons/dist/react/default/spinner.js +5 -2
  108. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  109. package/dist/default/icons/dist/react/default/switches.js +5 -2
  110. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  111. package/dist/default/icons/dist/react/default/volume-high.js +5 -2
  112. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  113. package/dist/default/icons/dist/react/default/volume-low.js +5 -2
  114. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  115. package/dist/default/icons/dist/react/default/volume-off.js +5 -2
  116. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  117. package/dist/default/icons/dist/react/minimal/airplay-enter.js +5 -2
  118. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  119. package/dist/default/icons/dist/react/minimal/airplay-exit.js +5 -2
  120. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  121. package/dist/default/icons/dist/react/minimal/captions-off.js +5 -2
  122. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  123. package/dist/default/icons/dist/react/minimal/captions-on.js +5 -2
  124. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  125. package/dist/default/icons/dist/react/minimal/cast-enter.js +5 -2
  126. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  127. package/dist/default/icons/dist/react/minimal/cast-exit.js +5 -2
  128. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  129. package/dist/default/icons/dist/react/minimal/check.js +5 -2
  130. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  131. package/dist/default/icons/dist/react/minimal/chevron.js +5 -2
  132. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  133. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +5 -2
  134. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  135. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +5 -2
  136. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  137. package/dist/default/icons/dist/react/minimal/gear.js +5 -2
  138. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  139. package/dist/default/icons/dist/react/minimal/pause.js +5 -2
  140. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  141. package/dist/default/icons/dist/react/minimal/pip-enter.js +5 -2
  142. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  143. package/dist/default/icons/dist/react/minimal/pip-exit.js +5 -2
  144. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  145. package/dist/default/icons/dist/react/minimal/play.js +5 -2
  146. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  147. package/dist/default/icons/dist/react/minimal/quality.js +5 -2
  148. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  149. package/dist/default/icons/dist/react/minimal/restart.js +5 -2
  150. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  151. package/dist/default/icons/dist/react/minimal/seek.js +5 -2
  152. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  153. package/dist/default/icons/dist/react/minimal/speech.js +5 -2
  154. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  155. package/dist/default/icons/dist/react/minimal/speed.js +5 -2
  156. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  157. package/dist/default/icons/dist/react/minimal/spinner.js +5 -2
  158. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  159. package/dist/default/icons/dist/react/minimal/switches.js +5 -2
  160. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  161. package/dist/default/icons/dist/react/minimal/volume-high.js +5 -2
  162. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  163. package/dist/default/icons/dist/react/minimal/volume-low.js +5 -2
  164. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  165. package/dist/default/icons/dist/react/minimal/volume-off.js +5 -2
  166. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  167. package/dist/default/icons/index.js +26 -26
  168. package/dist/default/icons/minimal/index.js +26 -26
  169. package/dist/default/index.js +15 -13
  170. package/dist/default/media/audio.js +3 -1
  171. package/dist/default/media/audio.js.map +1 -1
  172. package/dist/default/media/background-video/media.js +5 -3
  173. package/dist/default/media/background-video/media.js.map +1 -1
  174. package/dist/default/media/cloudflare-video/media.js +2 -1
  175. package/dist/default/media/cloudflare-video/media.js.map +1 -1
  176. package/dist/default/media/dash-video/media.js +5 -2
  177. package/dist/default/media/dash-video/media.js.map +1 -1
  178. package/dist/default/media/google-cast/google-cast.js +10 -10
  179. package/dist/default/media/google-cast/google-cast.js.map +1 -1
  180. package/dist/default/media/hls-audio/media.js +5 -2
  181. package/dist/default/media/hls-audio/media.js.map +1 -1
  182. package/dist/default/media/hls-background-video/media.js +15 -20
  183. package/dist/default/media/hls-background-video/media.js.map +1 -1
  184. package/dist/default/media/hls-video/media.js +5 -2
  185. package/dist/default/media/hls-video/media.js.map +1 -1
  186. package/dist/default/media/hlsjs-video/media.js +5 -2
  187. package/dist/default/media/hlsjs-video/media.js.map +1 -1
  188. package/dist/default/media/mux-audio/hls-js.js +5 -2
  189. package/dist/default/media/mux-audio/hls-js.js.map +1 -1
  190. package/dist/default/media/mux-audio/spf.js +5 -2
  191. package/dist/default/media/mux-audio/spf.js.map +1 -1
  192. package/dist/default/media/mux-data/mux-data.js +13 -17
  193. package/dist/default/media/mux-data/mux-data.js.map +1 -1
  194. package/dist/default/media/mux-video/hls-js.js +5 -2
  195. package/dist/default/media/mux-video/hls-js.js.map +1 -1
  196. package/dist/default/media/mux-video/spf.js +5 -2
  197. package/dist/default/media/mux-video/spf.js.map +1 -1
  198. package/dist/default/media/mux-video/storyboard.js +1 -4
  199. package/dist/default/media/mux-video/storyboard.js.map +1 -1
  200. package/dist/default/media/native-hls-video/media.js +5 -2
  201. package/dist/default/media/native-hls-video/media.js.map +1 -1
  202. package/dist/default/media/shaka-video/media.js +5 -2
  203. package/dist/default/media/shaka-video/media.js.map +1 -1
  204. package/dist/default/media/spotify-audio/media.js +2 -1
  205. package/dist/default/media/spotify-audio/media.js.map +1 -1
  206. package/dist/default/media/tiktok-video/media.js +2 -1
  207. package/dist/default/media/tiktok-video/media.js.map +1 -1
  208. package/dist/default/media/twitch-video/media.js +2 -1
  209. package/dist/default/media/twitch-video/media.js.map +1 -1
  210. package/dist/default/media/video.js +9 -1
  211. package/dist/default/media/video.js.map +1 -1
  212. package/dist/default/media/vimeo-video/media.js +2 -1
  213. package/dist/default/media/vimeo-video/media.js.map +1 -1
  214. package/dist/default/media/youtube-video/media.js +2 -1
  215. package/dist/default/media/youtube-video/media.js.map +1 -1
  216. package/dist/default/player/container.js +8 -2
  217. package/dist/default/player/container.js.map +1 -1
  218. package/dist/default/player/context.js +2 -1
  219. package/dist/default/player/context.js.map +1 -1
  220. package/dist/default/player/create-player.js +12 -11
  221. package/dist/default/player/create-player.js.map +1 -1
  222. package/dist/default/presets/audio/minimal-skin.css +316 -251
  223. package/dist/default/presets/audio/minimal-skin.js +66 -38
  224. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  225. package/dist/default/presets/audio/minimal-skin.tailwind.js +65 -38
  226. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  227. package/dist/default/presets/audio/player.js.map +1 -1
  228. package/dist/default/presets/audio/skin.css +305 -239
  229. package/dist/default/presets/audio/skin.js +48 -36
  230. package/dist/default/presets/audio/skin.js.map +1 -1
  231. package/dist/default/presets/audio/skin.tailwind.js +46 -35
  232. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  233. package/dist/default/presets/background/player.js.map +1 -1
  234. package/dist/default/presets/background/skin.js.map +1 -1
  235. package/dist/default/presets/live-audio/minimal-skin.css +316 -251
  236. package/dist/default/presets/live-audio/minimal-skin.js +42 -28
  237. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  238. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +41 -25
  239. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  240. package/dist/default/presets/live-audio/player.js.map +1 -1
  241. package/dist/default/presets/live-audio/skin.css +305 -239
  242. package/dist/default/presets/live-audio/skin.js +24 -25
  243. package/dist/default/presets/live-audio/skin.js.map +1 -1
  244. package/dist/default/presets/live-audio/skin.tailwind.js +22 -22
  245. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  246. package/dist/default/presets/live-video/minimal-skin.css +404 -366
  247. package/dist/default/presets/live-video/minimal-skin.js +103 -86
  248. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  249. package/dist/default/presets/live-video/minimal-skin.tailwind.js +104 -86
  250. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  251. package/dist/default/presets/live-video/player.js.map +1 -1
  252. package/dist/default/presets/live-video/skin.css +362 -321
  253. package/dist/default/presets/live-video/skin.js +87 -84
  254. package/dist/default/presets/live-video/skin.js.map +1 -1
  255. package/dist/default/presets/live-video/skin.tailwind.js +87 -84
  256. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  257. package/dist/default/presets/video/minimal-skin.css +404 -366
  258. package/dist/default/presets/video/minimal-skin.js +104 -80
  259. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  260. package/dist/default/presets/video/minimal-skin.tailwind.js +100 -85
  261. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  262. package/dist/default/presets/video/player.js.map +1 -1
  263. package/dist/default/presets/video/skin.css +362 -321
  264. package/dist/default/presets/video/skin.js +88 -80
  265. package/dist/default/presets/video/skin.js.map +1 -1
  266. package/dist/default/presets/video/skin.tailwind.js +84 -84
  267. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  268. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
  269. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  270. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +1 -1
  271. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  272. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  273. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  274. package/dist/default/skins/dist/default/default/tailwind/components/button.js +6 -6
  275. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  276. package/dist/default/skins/dist/default/default/tailwind/components/container.js +1 -1
  277. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -1
  278. package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
  279. package/dist/default/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
  280. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  281. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  282. package/dist/default/skins/dist/default/default/tailwind/components/dialog.js +15 -0
  283. package/dist/default/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
  284. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  285. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  286. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
  287. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
  288. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -8
  289. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  290. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -4
  291. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  292. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +2 -2
  293. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  294. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
  295. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  296. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  297. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  298. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  299. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  300. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  301. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  302. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
  303. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  304. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
  305. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  306. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  307. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  308. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  309. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  310. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +6 -6
  311. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  312. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +1 -1
  313. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
  314. package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
  315. package/dist/default/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
  316. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  317. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  318. package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
  319. package/dist/default/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
  320. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  321. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  322. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
  323. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
  324. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
  325. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  326. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
  327. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  328. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
  329. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  330. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
  331. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  332. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  333. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  334. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  335. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  336. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
  337. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
  338. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
  339. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  340. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
  341. package/dist/default/ui/alert-dialog/alert-dialog-root.js +14 -45
  342. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  343. package/dist/default/ui/alert-dialog/index.js +1 -2
  344. package/dist/default/ui/alert-dialog/index.parts.js +11 -9
  345. package/dist/default/ui/alert-dialog/index.parts.js.map +1 -1
  346. package/dist/default/ui/audio-track/use-audio-track-options.js +2 -2
  347. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  348. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
  349. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
  350. package/dist/default/ui/buffering-indicator/buffering-indicator.js +7 -7
  351. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  352. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  353. package/dist/default/ui/captions-radio-group/captions-radio-group.js +11 -11
  354. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -1
  355. package/dist/default/ui/captions-radio-group/use-captions-options.js +2 -3
  356. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  357. package/dist/default/ui/controls/context.js.map +1 -1
  358. package/dist/default/ui/controls/controls-backdrop.js +28 -0
  359. package/dist/default/ui/controls/controls-backdrop.js.map +1 -0
  360. package/dist/default/ui/controls/controls-content.js +27 -0
  361. package/dist/default/ui/controls/controls-content.js.map +1 -0
  362. package/dist/default/ui/controls/controls-root.js +5 -20
  363. package/dist/default/ui/controls/controls-root.js.map +1 -1
  364. package/dist/default/ui/controls/index.parts.js +5 -1
  365. package/dist/default/ui/controls/index.parts.js.map +1 -1
  366. package/dist/default/ui/create-context-part.js.map +1 -1
  367. package/dist/default/ui/create-media-button.js.map +1 -1
  368. package/dist/default/ui/dialog/context.js +17 -0
  369. package/dist/default/ui/dialog/context.js.map +1 -0
  370. package/dist/default/ui/dialog/dialog-backdrop.js +26 -0
  371. package/dist/default/ui/dialog/dialog-backdrop.js.map +1 -0
  372. package/dist/default/ui/dialog/dialog-close.js +29 -0
  373. package/dist/default/ui/dialog/dialog-close.js.map +1 -0
  374. package/dist/default/ui/dialog/dialog-description.js +14 -0
  375. package/dist/default/ui/dialog/dialog-description.js.map +1 -0
  376. package/dist/default/ui/dialog/dialog-popup.js +28 -0
  377. package/dist/default/ui/dialog/dialog-popup.js.map +1 -0
  378. package/dist/default/ui/dialog/dialog-root.js +23 -0
  379. package/dist/default/ui/dialog/dialog-root.js.map +1 -0
  380. package/dist/default/ui/dialog/dialog-title.js +14 -0
  381. package/dist/default/ui/dialog/dialog-title.js.map +1 -0
  382. package/dist/default/ui/dialog/dialog-trigger.js +30 -0
  383. package/dist/default/ui/dialog/dialog-trigger.js.map +1 -0
  384. package/dist/default/ui/dialog/index.js +3 -0
  385. package/dist/default/ui/dialog/index.parts.js +22 -0
  386. package/dist/default/ui/dialog/index.parts.js.map +1 -0
  387. package/dist/default/ui/dialog/use-dialog-root.js +59 -0
  388. package/dist/default/ui/dialog/use-dialog-root.js.map +1 -0
  389. package/dist/default/ui/error-dialog/context.js +1 -0
  390. package/dist/default/ui/error-dialog/context.js.map +1 -1
  391. package/dist/default/ui/error-dialog/error-dialog-close.js +3 -2
  392. package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -1
  393. package/dist/default/ui/error-dialog/error-dialog-description.js +3 -2
  394. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
  395. package/dist/default/ui/error-dialog/error-dialog-root.js +19 -34
  396. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
  397. package/dist/default/ui/error-dialog/error-dialog-title.js +3 -2
  398. package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -1
  399. package/dist/default/ui/error-dialog/index.parts.js +5 -3
  400. package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
  401. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  402. package/dist/default/ui/gesture/use-doubletap-gesture.js +6 -0
  403. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  404. package/dist/default/ui/gesture/use-tap-gesture.js +6 -0
  405. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  406. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -1
  407. package/dist/default/ui/hooks/use-button.js +15 -14
  408. package/dist/default/ui/hooks/use-button.js.map +1 -1
  409. package/dist/default/ui/hooks/use-slider.js +5 -5
  410. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  411. package/dist/default/ui/hotkey/use-hotkey-shortcut.js +6 -0
  412. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  413. package/dist/default/ui/hotkey/use-hotkey.js +5 -0
  414. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  415. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -1
  416. package/dist/default/ui/input-indicator/use-input-indicator-root.js +2 -1
  417. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -1
  418. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
  419. package/dist/default/ui/live-button/live-button.js +7 -10
  420. package/dist/default/ui/live-button/live-button.js.map +1 -1
  421. package/dist/default/ui/menu/context.js +10 -1
  422. package/dist/default/ui/menu/context.js.map +1 -1
  423. package/dist/default/ui/menu/index.parts.js +3 -1
  424. package/dist/default/ui/menu/index.parts.js.map +1 -1
  425. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  426. package/dist/default/ui/menu/menu-content.js +44 -106
  427. package/dist/default/ui/menu/menu-content.js.map +1 -1
  428. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  429. package/dist/default/ui/menu/menu-item.js +22 -20
  430. package/dist/default/ui/menu/menu-item.js.map +1 -1
  431. package/dist/default/ui/menu/menu-keyboard.js.map +1 -1
  432. package/dist/default/ui/menu/menu-popup.js +69 -0
  433. package/dist/default/ui/menu/menu-popup.js.map +1 -0
  434. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  435. package/dist/default/ui/menu/menu-root.js +28 -27
  436. package/dist/default/ui/menu/menu-root.js.map +1 -1
  437. package/dist/default/ui/menu/menu-trigger.js +2 -3
  438. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  439. package/dist/default/ui/menu/use-menu-group.js +2 -1
  440. package/dist/default/ui/menu/use-menu-group.js.map +1 -1
  441. package/dist/default/ui/play-button/play-button.js +8 -8
  442. package/dist/default/ui/play-button/play-button.js.map +1 -1
  443. package/dist/default/ui/playback-rate/use-playback-rate-options.js +2 -2
  444. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  445. package/dist/default/ui/playback-rate-button/playback-rate-button.js +8 -8
  446. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  447. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
  448. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
  449. package/dist/default/ui/popover/context.js +1 -0
  450. package/dist/default/ui/popover/context.js.map +1 -1
  451. package/dist/default/ui/popover/popover-popup.js +7 -3
  452. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  453. package/dist/default/ui/popover/popover-root.js +1 -1
  454. package/dist/default/ui/popover/popover-root.js.map +1 -1
  455. package/dist/default/ui/popover/use-popup-position.js +2 -1
  456. package/dist/default/ui/popover/use-popup-position.js.map +1 -1
  457. package/dist/default/ui/poster/poster.js +11 -13
  458. package/dist/default/ui/poster/poster.js.map +1 -1
  459. package/dist/default/ui/quality/use-quality-options.js +2 -3
  460. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  461. package/dist/default/ui/quality-radio-group/quality-radio-group.js +12 -12
  462. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -1
  463. package/dist/default/ui/seek-button/seek-button.js +8 -8
  464. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  465. package/dist/default/ui/seek-indicator/context.js.map +1 -1
  466. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  467. package/dist/default/ui/slider/context.js.map +1 -1
  468. package/dist/default/ui/slider/slider-root.js.map +1 -1
  469. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  470. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  471. package/dist/default/ui/status-indicator/context.js.map +1 -1
  472. package/dist/default/ui/status-indicator/index.parts.js.map +1 -1
  473. package/dist/default/ui/status-indicator/status-indicator-root.js +2 -1
  474. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  475. package/dist/default/ui/thumbnail/thumbnail.js +5 -6
  476. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  477. package/dist/default/ui/time/time-group.js +7 -7
  478. package/dist/default/ui/time/time-group.js.map +1 -1
  479. package/dist/default/ui/time/time-separator.js +4 -4
  480. package/dist/default/ui/time/time-separator.js.map +1 -1
  481. package/dist/default/ui/time/time-value.js +5 -5
  482. package/dist/default/ui/time/time-value.js.map +1 -1
  483. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
  484. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
  485. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  486. package/dist/default/ui/title/title.js +5 -6
  487. package/dist/default/ui/title/title.js.map +1 -1
  488. package/dist/default/ui/tooltip/context.js +1 -0
  489. package/dist/default/ui/tooltip/context.js.map +1 -1
  490. package/dist/default/ui/tooltip/tooltip-popup.js +7 -3
  491. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  492. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  493. package/dist/default/ui/tooltip/tooltip-root.js +4 -2
  494. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  495. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
  496. package/dist/default/ui/volume-indicator/context.js.map +1 -1
  497. package/dist/default/ui/volume-indicator/index.parts.js.map +1 -1
  498. package/dist/default/ui/volume-indicator/volume-indicator-fill.js +3 -2
  499. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  500. package/dist/default/ui/volume-indicator/volume-indicator-root.js +2 -1
  501. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  502. package/dist/default/ui/volume-popover/context.js +13 -0
  503. package/dist/default/ui/volume-popover/context.js.map +1 -0
  504. package/dist/default/ui/volume-popover/index.js +2 -0
  505. package/dist/default/ui/volume-popover/index.parts.js +14 -0
  506. package/dist/default/ui/volume-popover/index.parts.js.map +1 -0
  507. package/dist/default/ui/volume-popover/volume-popover-popup.js +21 -0
  508. package/dist/default/ui/volume-popover/volume-popover-popup.js.map +1 -0
  509. package/dist/default/ui/volume-popover/volume-popover-root.js +47 -0
  510. package/dist/default/ui/volume-popover/volume-popover-root.js.map +1 -0
  511. package/dist/default/ui/volume-popover/volume-popover-trigger.js +32 -0
  512. package/dist/default/ui/volume-popover/volume-popover-trigger.js.map +1 -0
  513. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  514. package/dist/default/utils/merge-props.js +20 -30
  515. package/dist/default/utils/merge-props.js.map +1 -1
  516. package/dist/default/utils/use-attach-iframe.js.map +1 -1
  517. package/dist/default/utils/use-attach-media.js +5 -0
  518. package/dist/default/utils/use-attach-media.js.map +1 -1
  519. package/dist/default/utils/use-composed-refs.js +10 -8
  520. package/dist/default/utils/use-composed-refs.js.map +1 -1
  521. package/dist/default/utils/use-destroy.js +7 -9
  522. package/dist/default/utils/use-destroy.js.map +1 -1
  523. package/dist/default/utils/use-force-render.js.map +1 -1
  524. package/dist/default/utils/use-latest-ref.js +4 -2
  525. package/dist/default/utils/use-latest-ref.js.map +1 -1
  526. package/dist/default/utils/use-media-component.js +7 -6
  527. package/dist/default/utils/use-media-component.js.map +1 -1
  528. package/dist/default/utils/use-media-instance.js +8 -7
  529. package/dist/default/utils/use-media-instance.js.map +1 -1
  530. package/dist/default/utils/use-render.js +13 -15
  531. package/dist/default/utils/use-render.js.map +1 -1
  532. package/dist/default/utils/use-safe-id.js +3 -4
  533. package/dist/default/utils/use-safe-id.js.map +1 -1
  534. package/dist/default/utils/use-sync-props.js.map +1 -1
  535. package/dist/dev/i18n/context.d.ts.map +1 -1
  536. package/dist/dev/i18n/context.js.map +1 -1
  537. package/dist/dev/i18n/create-i18n.d.ts +15 -16
  538. package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
  539. package/dist/dev/i18n/create-i18n.js +7 -4
  540. package/dist/dev/i18n/create-i18n.js.map +1 -1
  541. package/dist/dev/i18n/get-provider-root-props.js.map +1 -1
  542. package/dist/dev/i18n/locales/all/register.js.map +1 -1
  543. package/dist/dev/i18n/locales/ar/register.js.map +1 -1
  544. package/dist/dev/i18n/locales/az/register.js.map +1 -1
  545. package/dist/dev/i18n/locales/bg/register.js.map +1 -1
  546. package/dist/dev/i18n/locales/bn/register.js.map +1 -1
  547. package/dist/dev/i18n/locales/bs/register.js.map +1 -1
  548. package/dist/dev/i18n/locales/ca/register.js.map +1 -1
  549. package/dist/dev/i18n/locales/cs/register.js.map +1 -1
  550. package/dist/dev/i18n/locales/cy/register.js.map +1 -1
  551. package/dist/dev/i18n/locales/da/register.js.map +1 -1
  552. package/dist/dev/i18n/locales/de/register.js.map +1 -1
  553. package/dist/dev/i18n/locales/el/register.js.map +1 -1
  554. package/dist/dev/i18n/locales/en/register.js.map +1 -1
  555. package/dist/dev/i18n/locales/es/register.js.map +1 -1
  556. package/dist/dev/i18n/locales/et/register.js.map +1 -1
  557. package/dist/dev/i18n/locales/eu/register.js.map +1 -1
  558. package/dist/dev/i18n/locales/fa/register.js.map +1 -1
  559. package/dist/dev/i18n/locales/fi/register.js.map +1 -1
  560. package/dist/dev/i18n/locales/fr/register.js.map +1 -1
  561. package/dist/dev/i18n/locales/gd/register.js.map +1 -1
  562. package/dist/dev/i18n/locales/gl/register.js.map +1 -1
  563. package/dist/dev/i18n/locales/he/register.js.map +1 -1
  564. package/dist/dev/i18n/locales/hi/register.js.map +1 -1
  565. package/dist/dev/i18n/locales/hr/register.js.map +1 -1
  566. package/dist/dev/i18n/locales/hu/register.js.map +1 -1
  567. package/dist/dev/i18n/locales/id/register.js.map +1 -1
  568. package/dist/dev/i18n/locales/it/register.js.map +1 -1
  569. package/dist/dev/i18n/locales/ja/register.js.map +1 -1
  570. package/dist/dev/i18n/locales/ko/register.js.map +1 -1
  571. package/dist/dev/i18n/locales/lt/register.js.map +1 -1
  572. package/dist/dev/i18n/locales/lv/register.js.map +1 -1
  573. package/dist/dev/i18n/locales/mr/register.js.map +1 -1
  574. package/dist/dev/i18n/locales/nb/register.js.map +1 -1
  575. package/dist/dev/i18n/locales/ne/register.js.map +1 -1
  576. package/dist/dev/i18n/locales/nl/register.js.map +1 -1
  577. package/dist/dev/i18n/locales/nn/register.js.map +1 -1
  578. package/dist/dev/i18n/locales/oc/register.js.map +1 -1
  579. package/dist/dev/i18n/locales/pl/register.js.map +1 -1
  580. package/dist/dev/i18n/locales/pt/register.js.map +1 -1
  581. package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -1
  582. package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -1
  583. package/dist/dev/i18n/locales/ro/register.js.map +1 -1
  584. package/dist/dev/i18n/locales/ru/register.js.map +1 -1
  585. package/dist/dev/i18n/locales/sk/register.js.map +1 -1
  586. package/dist/dev/i18n/locales/sl/register.js.map +1 -1
  587. package/dist/dev/i18n/locales/sr/register.js.map +1 -1
  588. package/dist/dev/i18n/locales/sv/register.js.map +1 -1
  589. package/dist/dev/i18n/locales/te/register.js.map +1 -1
  590. package/dist/dev/i18n/locales/th/register.js.map +1 -1
  591. package/dist/dev/i18n/locales/tr/register.js.map +1 -1
  592. package/dist/dev/i18n/locales/uk/register.js.map +1 -1
  593. package/dist/dev/i18n/locales/vi/register.js.map +1 -1
  594. package/dist/dev/i18n/locales/zh/register.js.map +1 -1
  595. package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -1
  596. package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -1
  597. package/dist/dev/i18n/text.d.ts.map +1 -1
  598. package/dist/dev/i18n/text.js.map +1 -1
  599. package/dist/dev/i18n/use-ambient-lang.js.map +1 -1
  600. package/dist/dev/i18n/use-lang-root-element.js.map +1 -1
  601. package/dist/dev/i18n/use-lazy-translations.js.map +1 -1
  602. package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -1
  603. package/dist/dev/i18n/use-merged-translations.js +4 -2
  604. package/dist/dev/i18n/use-merged-translations.js.map +1 -1
  605. package/dist/dev/icons/dist/react/default/airplay-enter.js +5 -2
  606. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  607. package/dist/dev/icons/dist/react/default/airplay-exit.js +5 -2
  608. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  609. package/dist/dev/icons/dist/react/default/captions-off.js +5 -2
  610. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  611. package/dist/dev/icons/dist/react/default/captions-on.js +5 -2
  612. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  613. package/dist/dev/icons/dist/react/default/cast-enter.js +5 -2
  614. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  615. package/dist/dev/icons/dist/react/default/cast-exit.js +5 -2
  616. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  617. package/dist/dev/icons/dist/react/default/check.js +5 -2
  618. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  619. package/dist/dev/icons/dist/react/default/chevron.js +5 -2
  620. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  621. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +5 -2
  622. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  623. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +5 -2
  624. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  625. package/dist/dev/icons/dist/react/default/gear.js +5 -2
  626. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  627. package/dist/dev/icons/dist/react/default/index.d.ts +1 -1
  628. package/dist/dev/icons/dist/react/default/pause.js +5 -2
  629. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  630. package/dist/dev/icons/dist/react/default/pip-enter.js +5 -2
  631. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  632. package/dist/dev/icons/dist/react/default/pip-exit.js +5 -2
  633. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  634. package/dist/dev/icons/dist/react/default/play.js +5 -2
  635. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  636. package/dist/dev/icons/dist/react/default/quality.js +5 -2
  637. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  638. package/dist/dev/icons/dist/react/default/restart.js +5 -2
  639. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  640. package/dist/dev/icons/dist/react/default/seek.js +5 -2
  641. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  642. package/dist/dev/icons/dist/react/default/speech.js +5 -2
  643. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  644. package/dist/dev/icons/dist/react/default/speed.js +5 -2
  645. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  646. package/dist/dev/icons/dist/react/default/spinner.js +5 -2
  647. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  648. package/dist/dev/icons/dist/react/default/switches.js +5 -2
  649. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  650. package/dist/dev/icons/dist/react/default/volume-high.js +5 -2
  651. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  652. package/dist/dev/icons/dist/react/default/volume-low.js +5 -2
  653. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  654. package/dist/dev/icons/dist/react/default/volume-off.js +5 -2
  655. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  656. package/dist/dev/icons/dist/react/minimal/airplay-enter.js +5 -2
  657. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  658. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +5 -2
  659. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  660. package/dist/dev/icons/dist/react/minimal/captions-off.js +5 -2
  661. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  662. package/dist/dev/icons/dist/react/minimal/captions-on.js +5 -2
  663. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  664. package/dist/dev/icons/dist/react/minimal/cast-enter.js +5 -2
  665. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  666. package/dist/dev/icons/dist/react/minimal/cast-exit.js +5 -2
  667. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  668. package/dist/dev/icons/dist/react/minimal/check.js +5 -2
  669. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  670. package/dist/dev/icons/dist/react/minimal/chevron.js +5 -2
  671. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  672. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +5 -2
  673. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  674. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +5 -2
  675. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  676. package/dist/dev/icons/dist/react/minimal/gear.js +5 -2
  677. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  678. package/dist/dev/icons/dist/react/minimal/index.d.ts +1 -1
  679. package/dist/dev/icons/dist/react/minimal/pause.js +5 -2
  680. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  681. package/dist/dev/icons/dist/react/minimal/pip-enter.js +5 -2
  682. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  683. package/dist/dev/icons/dist/react/minimal/pip-exit.js +5 -2
  684. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  685. package/dist/dev/icons/dist/react/minimal/play.js +5 -2
  686. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  687. package/dist/dev/icons/dist/react/minimal/quality.js +5 -2
  688. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  689. package/dist/dev/icons/dist/react/minimal/restart.js +5 -2
  690. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  691. package/dist/dev/icons/dist/react/minimal/seek.js +5 -2
  692. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  693. package/dist/dev/icons/dist/react/minimal/speech.js +5 -2
  694. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  695. package/dist/dev/icons/dist/react/minimal/speed.js +5 -2
  696. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  697. package/dist/dev/icons/dist/react/minimal/spinner.js +5 -2
  698. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  699. package/dist/dev/icons/dist/react/minimal/switches.js +5 -2
  700. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  701. package/dist/dev/icons/dist/react/minimal/volume-high.js +5 -2
  702. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  703. package/dist/dev/icons/dist/react/minimal/volume-low.js +5 -2
  704. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  705. package/dist/dev/icons/dist/react/minimal/volume-off.js +5 -2
  706. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  707. package/dist/dev/icons/index.js +26 -26
  708. package/dist/dev/icons/minimal/index.js +26 -26
  709. package/dist/dev/index.d.ts +19 -14
  710. package/dist/dev/index.js +15 -13
  711. package/dist/dev/media/audio.js +3 -1
  712. package/dist/dev/media/audio.js.map +1 -1
  713. package/dist/dev/media/background-video/media.js +5 -3
  714. package/dist/dev/media/background-video/media.js.map +1 -1
  715. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -1
  716. package/dist/dev/media/cloudflare-video/media.js +2 -1
  717. package/dist/dev/media/cloudflare-video/media.js.map +1 -1
  718. package/dist/dev/media/dash-video/media.d.ts.map +1 -1
  719. package/dist/dev/media/dash-video/media.js +5 -2
  720. package/dist/dev/media/dash-video/media.js.map +1 -1
  721. package/dist/dev/media/google-cast/google-cast.d.ts +8 -9
  722. package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -1
  723. package/dist/dev/media/google-cast/google-cast.js +10 -10
  724. package/dist/dev/media/google-cast/google-cast.js.map +1 -1
  725. package/dist/dev/media/hls-audio/media.d.ts.map +1 -1
  726. package/dist/dev/media/hls-audio/media.js +5 -2
  727. package/dist/dev/media/hls-audio/media.js.map +1 -1
  728. package/dist/dev/media/hls-background-video/media.d.ts +13 -19
  729. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
  730. package/dist/dev/media/hls-background-video/media.js +15 -20
  731. package/dist/dev/media/hls-background-video/media.js.map +1 -1
  732. package/dist/dev/media/hls-video/media.d.ts.map +1 -1
  733. package/dist/dev/media/hls-video/media.js +5 -2
  734. package/dist/dev/media/hls-video/media.js.map +1 -1
  735. package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -1
  736. package/dist/dev/media/hlsjs-video/media.js +5 -2
  737. package/dist/dev/media/hlsjs-video/media.js.map +1 -1
  738. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -1
  739. package/dist/dev/media/mux-audio/hls-js.js +5 -2
  740. package/dist/dev/media/mux-audio/hls-js.js.map +1 -1
  741. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -1
  742. package/dist/dev/media/mux-audio/spf.js +5 -2
  743. package/dist/dev/media/mux-audio/spf.js.map +1 -1
  744. package/dist/dev/media/mux-data/mux-data.d.ts +13 -17
  745. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
  746. package/dist/dev/media/mux-data/mux-data.js +13 -17
  747. package/dist/dev/media/mux-data/mux-data.js.map +1 -1
  748. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -1
  749. package/dist/dev/media/mux-video/hls-js.js +5 -2
  750. package/dist/dev/media/mux-video/hls-js.js.map +1 -1
  751. package/dist/dev/media/mux-video/spf.d.ts.map +1 -1
  752. package/dist/dev/media/mux-video/spf.js +5 -2
  753. package/dist/dev/media/mux-video/spf.js.map +1 -1
  754. package/dist/dev/media/mux-video/storyboard.js +1 -4
  755. package/dist/dev/media/mux-video/storyboard.js.map +1 -1
  756. package/dist/dev/media/native-hls-video/media.d.ts.map +1 -1
  757. package/dist/dev/media/native-hls-video/media.js +5 -2
  758. package/dist/dev/media/native-hls-video/media.js.map +1 -1
  759. package/dist/dev/media/shaka-video/media.d.ts.map +1 -1
  760. package/dist/dev/media/shaka-video/media.js +5 -2
  761. package/dist/dev/media/shaka-video/media.js.map +1 -1
  762. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -1
  763. package/dist/dev/media/spotify-audio/media.js +2 -1
  764. package/dist/dev/media/spotify-audio/media.js.map +1 -1
  765. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
  766. package/dist/dev/media/tiktok-video/media.js +2 -1
  767. package/dist/dev/media/tiktok-video/media.js.map +1 -1
  768. package/dist/dev/media/twitch-video/media.d.ts.map +1 -1
  769. package/dist/dev/media/twitch-video/media.js +2 -1
  770. package/dist/dev/media/twitch-video/media.js.map +1 -1
  771. package/dist/dev/media/video.d.ts +7 -0
  772. package/dist/dev/media/video.d.ts.map +1 -1
  773. package/dist/dev/media/video.js +9 -1
  774. package/dist/dev/media/video.js.map +1 -1
  775. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
  776. package/dist/dev/media/vimeo-video/media.js +2 -1
  777. package/dist/dev/media/vimeo-video/media.js.map +1 -1
  778. package/dist/dev/media/youtube-video/media.d.ts.map +1 -1
  779. package/dist/dev/media/youtube-video/media.js +2 -1
  780. package/dist/dev/media/youtube-video/media.js.map +1 -1
  781. package/dist/dev/player/container.d.ts.map +1 -1
  782. package/dist/dev/player/container.js +8 -2
  783. package/dist/dev/player/container.js.map +1 -1
  784. package/dist/dev/player/context.d.ts +14 -12
  785. package/dist/dev/player/context.d.ts.map +1 -1
  786. package/dist/dev/player/context.js +2 -1
  787. package/dist/dev/player/context.js.map +1 -1
  788. package/dist/dev/player/create-player.d.ts +19 -3
  789. package/dist/dev/player/create-player.d.ts.map +1 -1
  790. package/dist/dev/player/create-player.js +12 -11
  791. package/dist/dev/player/create-player.js.map +1 -1
  792. package/dist/dev/presets/audio/minimal-skin.css +316 -251
  793. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  794. package/dist/dev/presets/audio/minimal-skin.js +66 -38
  795. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  796. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  797. package/dist/dev/presets/audio/minimal-skin.tailwind.js +65 -38
  798. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  799. package/dist/dev/presets/audio/player.d.ts.map +1 -1
  800. package/dist/dev/presets/audio/player.js.map +1 -1
  801. package/dist/dev/presets/audio/skin.css +305 -239
  802. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  803. package/dist/dev/presets/audio/skin.js +48 -36
  804. package/dist/dev/presets/audio/skin.js.map +1 -1
  805. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  806. package/dist/dev/presets/audio/skin.tailwind.js +46 -35
  807. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  808. package/dist/dev/presets/background/player.d.ts.map +1 -1
  809. package/dist/dev/presets/background/player.js.map +1 -1
  810. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  811. package/dist/dev/presets/background/skin.js.map +1 -1
  812. package/dist/dev/presets/live-audio/minimal-skin.css +316 -251
  813. package/dist/dev/presets/live-audio/minimal-skin.d.ts +3 -5
  814. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  815. package/dist/dev/presets/live-audio/minimal-skin.js +42 -28
  816. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  817. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  818. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +41 -25
  819. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  820. package/dist/dev/presets/live-audio/player.d.ts.map +1 -1
  821. package/dist/dev/presets/live-audio/player.js.map +1 -1
  822. package/dist/dev/presets/live-audio/skin.css +305 -239
  823. package/dist/dev/presets/live-audio/skin.d.ts +3 -4
  824. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  825. package/dist/dev/presets/live-audio/skin.js +24 -25
  826. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  827. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  828. package/dist/dev/presets/live-audio/skin.tailwind.js +22 -22
  829. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  830. package/dist/dev/presets/live-video/minimal-skin.css +404 -366
  831. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  832. package/dist/dev/presets/live-video/minimal-skin.js +103 -86
  833. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  834. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  835. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +104 -86
  836. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  837. package/dist/dev/presets/live-video/player.d.ts.map +1 -1
  838. package/dist/dev/presets/live-video/player.js.map +1 -1
  839. package/dist/dev/presets/live-video/skin.css +362 -321
  840. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  841. package/dist/dev/presets/live-video/skin.js +87 -84
  842. package/dist/dev/presets/live-video/skin.js.map +1 -1
  843. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  844. package/dist/dev/presets/live-video/skin.tailwind.js +87 -84
  845. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  846. package/dist/dev/presets/types.d.ts +13 -10
  847. package/dist/dev/presets/types.d.ts.map +1 -1
  848. package/dist/dev/presets/video/minimal-skin.css +404 -366
  849. package/dist/dev/presets/video/minimal-skin.d.ts +9 -0
  850. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  851. package/dist/dev/presets/video/minimal-skin.js +104 -80
  852. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  853. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  854. package/dist/dev/presets/video/minimal-skin.tailwind.js +100 -85
  855. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  856. package/dist/dev/presets/video/player.d.ts.map +1 -1
  857. package/dist/dev/presets/video/player.js.map +1 -1
  858. package/dist/dev/presets/video/skin.css +362 -321
  859. package/dist/dev/presets/video/skin.d.ts +8 -0
  860. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  861. package/dist/dev/presets/video/skin.js +88 -80
  862. package/dist/dev/presets/video/skin.js.map +1 -1
  863. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  864. package/dist/dev/presets/video/skin.tailwind.js +84 -84
  865. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  866. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +10 -9
  867. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  868. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +1 -1
  869. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  870. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  871. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  872. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +6 -6
  873. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  874. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +1 -1
  875. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -1
  876. package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js +7 -0
  877. package/dist/dev/skins/dist/default/default/tailwind/components/controls-backdrop.js.map +1 -0
  878. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  879. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  880. package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js +15 -0
  881. package/dist/dev/skins/dist/default/default/tailwind/components/dialog.js.map +1 -0
  882. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  883. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  884. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +3 -2
  885. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -1
  886. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +12 -8
  887. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  888. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -4
  889. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  890. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +2 -2
  891. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  892. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +13 -13
  893. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  894. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  895. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  896. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  897. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  898. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  899. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  900. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +18 -17
  901. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  902. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +10 -10
  903. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  904. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  905. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  906. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  907. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  908. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +6 -6
  909. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  910. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +1 -1
  911. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -1
  912. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js +7 -0
  913. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls-backdrop.js.map +1 -0
  914. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  915. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  916. package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js +15 -0
  917. package/dist/dev/skins/dist/default/minimal/tailwind/components/dialog.js.map +1 -0
  918. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  919. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  920. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +5 -4
  921. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -1
  922. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +12 -8
  923. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  924. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -4
  925. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  926. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +2 -2
  927. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  928. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +12 -12
  929. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  930. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  931. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  932. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +1 -1
  933. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  934. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +1 -1
  935. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -1
  936. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +20 -20
  937. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  938. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
  939. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
  940. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +4 -3
  941. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
  942. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +14 -45
  943. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  944. package/dist/dev/ui/alert-dialog/index.d.ts +1 -2
  945. package/dist/dev/ui/alert-dialog/index.js +1 -2
  946. package/dist/dev/ui/alert-dialog/index.parts.d.ts +8 -6
  947. package/dist/dev/ui/alert-dialog/index.parts.js +11 -9
  948. package/dist/dev/ui/alert-dialog/index.parts.js.map +1 -1
  949. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +2 -2
  950. package/dist/dev/ui/audio-track/use-audio-track-options.js +2 -2
  951. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  952. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +10 -10
  953. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -1
  954. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +11 -11
  955. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -1
  956. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +7 -7
  957. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  958. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +7 -7
  959. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  960. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  961. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  962. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +10 -10
  963. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -1
  964. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +11 -11
  965. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -1
  966. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +2 -3
  967. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  968. package/dist/dev/ui/captions-radio-group/use-captions-options.js +2 -3
  969. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  970. package/dist/dev/ui/controls/context.js.map +1 -1
  971. package/dist/dev/ui/controls/controls-backdrop.d.ts +16 -0
  972. package/dist/dev/ui/controls/controls-backdrop.d.ts.map +1 -0
  973. package/dist/dev/ui/controls/controls-backdrop.js +28 -0
  974. package/dist/dev/ui/controls/controls-backdrop.js.map +1 -0
  975. package/dist/dev/ui/controls/controls-content.d.ts +16 -0
  976. package/dist/dev/ui/controls/controls-content.d.ts.map +1 -0
  977. package/dist/dev/ui/controls/controls-content.js +27 -0
  978. package/dist/dev/ui/controls/controls-content.js.map +1 -0
  979. package/dist/dev/ui/controls/controls-root.d.ts +3 -4
  980. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  981. package/dist/dev/ui/controls/controls-root.js +5 -20
  982. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  983. package/dist/dev/ui/controls/index.parts.d.ts +4 -2
  984. package/dist/dev/ui/controls/index.parts.js +5 -1
  985. package/dist/dev/ui/controls/index.parts.js.map +1 -1
  986. package/dist/dev/ui/create-context-part.js.map +1 -1
  987. package/dist/dev/ui/create-media-button.js.map +1 -1
  988. package/dist/dev/ui/dialog/context.d.ts +15 -0
  989. package/dist/dev/ui/dialog/context.d.ts.map +1 -0
  990. package/dist/dev/ui/dialog/context.js +17 -0
  991. package/dist/dev/ui/dialog/context.js.map +1 -0
  992. package/dist/dev/ui/dialog/dialog-backdrop.d.ts +13 -0
  993. package/dist/dev/ui/dialog/dialog-backdrop.d.ts.map +1 -0
  994. package/dist/dev/ui/dialog/dialog-backdrop.js +26 -0
  995. package/dist/dev/ui/dialog/dialog-backdrop.js.map +1 -0
  996. package/dist/dev/ui/dialog/dialog-close.d.ts +13 -0
  997. package/dist/dev/ui/dialog/dialog-close.d.ts.map +1 -0
  998. package/dist/dev/ui/dialog/dialog-close.js +29 -0
  999. package/dist/dev/ui/dialog/dialog-close.js.map +1 -0
  1000. package/dist/dev/ui/dialog/dialog-description.d.ts +13 -0
  1001. package/dist/dev/ui/dialog/dialog-description.d.ts.map +1 -0
  1002. package/dist/dev/ui/dialog/dialog-description.js +14 -0
  1003. package/dist/dev/ui/dialog/dialog-description.js.map +1 -0
  1004. package/dist/dev/ui/dialog/dialog-popup.d.ts +13 -0
  1005. package/dist/dev/ui/dialog/dialog-popup.d.ts.map +1 -0
  1006. package/dist/dev/ui/dialog/dialog-popup.js +28 -0
  1007. package/dist/dev/ui/dialog/dialog-popup.js.map +1 -0
  1008. package/dist/dev/ui/dialog/dialog-root.d.ts +18 -0
  1009. package/dist/dev/ui/dialog/dialog-root.d.ts.map +1 -0
  1010. package/dist/dev/ui/dialog/dialog-root.js +23 -0
  1011. package/dist/dev/ui/dialog/dialog-root.js.map +1 -0
  1012. package/dist/dev/ui/dialog/dialog-title.d.ts +13 -0
  1013. package/dist/dev/ui/dialog/dialog-title.d.ts.map +1 -0
  1014. package/dist/dev/ui/dialog/dialog-title.js +14 -0
  1015. package/dist/dev/ui/dialog/dialog-title.js.map +1 -0
  1016. package/dist/dev/ui/dialog/dialog-trigger.d.ts +13 -0
  1017. package/dist/dev/ui/dialog/dialog-trigger.d.ts.map +1 -0
  1018. package/dist/dev/ui/dialog/dialog-trigger.js +30 -0
  1019. package/dist/dev/ui/dialog/dialog-trigger.js.map +1 -0
  1020. package/dist/dev/ui/dialog/index.d.ts +3 -0
  1021. package/dist/dev/ui/dialog/index.js +3 -0
  1022. package/dist/dev/ui/dialog/index.parts.d.ts +13 -0
  1023. package/dist/dev/ui/dialog/index.parts.d.ts.map +1 -0
  1024. package/dist/dev/ui/dialog/index.parts.js +22 -0
  1025. package/dist/dev/ui/dialog/index.parts.js.map +1 -0
  1026. package/dist/dev/ui/dialog/use-dialog-root.js +59 -0
  1027. package/dist/dev/ui/dialog/use-dialog-root.js.map +1 -0
  1028. package/dist/dev/ui/error-dialog/context.d.ts +1 -0
  1029. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
  1030. package/dist/dev/ui/error-dialog/context.js +1 -0
  1031. package/dist/dev/ui/error-dialog/context.js.map +1 -1
  1032. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +4 -3
  1033. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -1
  1034. package/dist/dev/ui/error-dialog/error-dialog-close.js +3 -2
  1035. package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -1
  1036. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +4 -3
  1037. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  1038. package/dist/dev/ui/error-dialog/error-dialog-description.js +3 -2
  1039. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
  1040. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -0
  1041. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
  1042. package/dist/dev/ui/error-dialog/error-dialog-root.js +19 -34
  1043. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
  1044. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +4 -3
  1045. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -1
  1046. package/dist/dev/ui/error-dialog/error-dialog-title.js +3 -2
  1047. package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -1
  1048. package/dist/dev/ui/error-dialog/index.parts.d.ts +5 -3
  1049. package/dist/dev/ui/error-dialog/index.parts.js +5 -3
  1050. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
  1051. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  1052. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  1053. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +6 -0
  1054. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  1055. package/dist/dev/ui/gesture/use-doubletap-gesture.js +6 -0
  1056. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  1057. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +6 -0
  1058. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  1059. package/dist/dev/ui/gesture/use-tap-gesture.js +6 -0
  1060. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  1061. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -1
  1062. package/dist/dev/ui/hooks/use-button.d.ts +12 -12
  1063. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  1064. package/dist/dev/ui/hooks/use-button.js +15 -14
  1065. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  1066. package/dist/dev/ui/hooks/use-slider.d.ts +2 -3
  1067. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  1068. package/dist/dev/ui/hooks/use-slider.js +5 -5
  1069. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  1070. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +6 -0
  1071. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
  1072. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js +6 -0
  1073. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  1074. package/dist/dev/ui/hotkey/use-hotkey.d.ts +5 -0
  1075. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
  1076. package/dist/dev/ui/hotkey/use-hotkey.js +5 -0
  1077. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  1078. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -1
  1079. package/dist/dev/ui/input-indicator/use-input-indicator-root.js +2 -1
  1080. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -1
  1081. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -1
  1082. package/dist/dev/ui/live-button/live-button.d.ts +7 -10
  1083. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
  1084. package/dist/dev/ui/live-button/live-button.js +7 -10
  1085. package/dist/dev/ui/live-button/live-button.js.map +1 -1
  1086. package/dist/dev/ui/menu/context.d.ts +3 -2
  1087. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  1088. package/dist/dev/ui/menu/context.js +10 -1
  1089. package/dist/dev/ui/menu/context.js.map +1 -1
  1090. package/dist/dev/ui/menu/index.parts.d.ts +3 -2
  1091. package/dist/dev/ui/menu/index.parts.js +3 -1
  1092. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  1093. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
  1094. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  1095. package/dist/dev/ui/menu/menu-content.d.ts +1 -1
  1096. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  1097. package/dist/dev/ui/menu/menu-content.js +44 -106
  1098. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  1099. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  1100. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  1101. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  1102. package/dist/dev/ui/menu/menu-item.js +22 -20
  1103. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  1104. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -1
  1105. package/dist/dev/ui/menu/menu-popup.d.ts +13 -0
  1106. package/dist/dev/ui/menu/menu-popup.d.ts.map +1 -0
  1107. package/dist/dev/ui/menu/menu-popup.js +70 -0
  1108. package/dist/dev/ui/menu/menu-popup.js.map +1 -0
  1109. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  1110. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  1111. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  1112. package/dist/dev/ui/menu/menu-root.js +28 -27
  1113. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  1114. package/dist/dev/ui/menu/menu-trigger.d.ts +2 -3
  1115. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  1116. package/dist/dev/ui/menu/menu-trigger.js +2 -3
  1117. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  1118. package/dist/dev/ui/menu/use-menu-group.js +2 -1
  1119. package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
  1120. package/dist/dev/ui/play-button/play-button.d.ts +8 -8
  1121. package/dist/dev/ui/play-button/play-button.js +8 -8
  1122. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  1123. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +2 -2
  1124. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  1125. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +2 -2
  1126. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  1127. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +8 -8
  1128. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  1129. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +8 -8
  1130. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  1131. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +10 -10
  1132. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -1
  1133. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +11 -11
  1134. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -1
  1135. package/dist/dev/ui/popover/context.d.ts +1 -0
  1136. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  1137. package/dist/dev/ui/popover/context.js +1 -0
  1138. package/dist/dev/ui/popover/context.js.map +1 -1
  1139. package/dist/dev/ui/popover/popover-popup.d.ts +4 -1
  1140. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  1141. package/dist/dev/ui/popover/popover-popup.js +7 -3
  1142. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  1143. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  1144. package/dist/dev/ui/popover/popover-root.js +1 -1
  1145. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  1146. package/dist/dev/ui/popover/use-popup-position.js +2 -1
  1147. package/dist/dev/ui/popover/use-popup-position.js.map +1 -1
  1148. package/dist/dev/ui/poster/poster.d.ts +11 -13
  1149. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  1150. package/dist/dev/ui/poster/poster.js +11 -13
  1151. package/dist/dev/ui/poster/poster.js.map +1 -1
  1152. package/dist/dev/ui/quality/use-quality-options.d.ts +2 -3
  1153. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  1154. package/dist/dev/ui/quality/use-quality-options.js +2 -3
  1155. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  1156. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +11 -11
  1157. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -1
  1158. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +12 -12
  1159. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -1
  1160. package/dist/dev/ui/seek-button/seek-button.d.ts +8 -8
  1161. package/dist/dev/ui/seek-button/seek-button.js +8 -8
  1162. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  1163. package/dist/dev/ui/seek-indicator/context.js.map +1 -1
  1164. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
  1165. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  1166. package/dist/dev/ui/slider/context.js.map +1 -1
  1167. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  1168. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  1169. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  1170. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  1171. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  1172. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  1173. package/dist/dev/ui/status-indicator/context.js.map +1 -1
  1174. package/dist/dev/ui/status-indicator/index.parts.js.map +1 -1
  1175. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  1176. package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -1
  1177. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  1178. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1179. package/dist/dev/ui/thumbnail/thumbnail.js +5 -6
  1180. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  1181. package/dist/dev/ui/time/time-group.d.ts +7 -7
  1182. package/dist/dev/ui/time/time-group.js +7 -7
  1183. package/dist/dev/ui/time/time-group.js.map +1 -1
  1184. package/dist/dev/ui/time/time-separator.d.ts +4 -4
  1185. package/dist/dev/ui/time/time-separator.js +4 -4
  1186. package/dist/dev/ui/time/time-separator.js.map +1 -1
  1187. package/dist/dev/ui/time/time-value.d.ts +5 -5
  1188. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  1189. package/dist/dev/ui/time/time-value.js +5 -5
  1190. package/dist/dev/ui/time/time-value.js.map +1 -1
  1191. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -1
  1192. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +1 -1
  1193. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  1194. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  1195. package/dist/dev/ui/title/title.d.ts +5 -6
  1196. package/dist/dev/ui/title/title.d.ts.map +1 -1
  1197. package/dist/dev/ui/title/title.js +5 -6
  1198. package/dist/dev/ui/title/title.js.map +1 -1
  1199. package/dist/dev/ui/tooltip/context.d.ts +1 -0
  1200. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  1201. package/dist/dev/ui/tooltip/context.js +1 -0
  1202. package/dist/dev/ui/tooltip/context.js.map +1 -1
  1203. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +4 -1
  1204. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  1205. package/dist/dev/ui/tooltip/tooltip-popup.js +7 -3
  1206. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  1207. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
  1208. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  1209. package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -1
  1210. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  1211. package/dist/dev/ui/tooltip/tooltip-root.js +4 -2
  1212. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  1213. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
  1214. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
  1215. package/dist/dev/ui/volume-indicator/context.js.map +1 -1
  1216. package/dist/dev/ui/volume-indicator/index.parts.js.map +1 -1
  1217. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js +3 -2
  1218. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  1219. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
  1220. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +2 -1
  1221. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  1222. package/dist/dev/ui/volume-popover/context.js +13 -0
  1223. package/dist/dev/ui/volume-popover/context.js.map +1 -0
  1224. package/dist/dev/ui/volume-popover/index.d.ts +2 -0
  1225. package/dist/dev/ui/volume-popover/index.js +2 -0
  1226. package/dist/dev/ui/volume-popover/index.parts.d.ts +9 -0
  1227. package/dist/dev/ui/volume-popover/index.parts.d.ts.map +1 -0
  1228. package/dist/dev/ui/volume-popover/index.parts.js +14 -0
  1229. package/dist/dev/ui/volume-popover/index.parts.js.map +1 -0
  1230. package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts +11 -0
  1231. package/dist/dev/ui/volume-popover/volume-popover-popup.d.ts.map +1 -0
  1232. package/dist/dev/ui/volume-popover/volume-popover-popup.js +21 -0
  1233. package/dist/dev/ui/volume-popover/volume-popover-popup.js.map +1 -0
  1234. package/dist/dev/ui/volume-popover/volume-popover-root.d.ts +14 -0
  1235. package/dist/dev/ui/volume-popover/volume-popover-root.d.ts.map +1 -0
  1236. package/dist/dev/ui/volume-popover/volume-popover-root.js +47 -0
  1237. package/dist/dev/ui/volume-popover/volume-popover-root.js.map +1 -0
  1238. package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts +11 -0
  1239. package/dist/dev/ui/volume-popover/volume-popover-trigger.d.ts.map +1 -0
  1240. package/dist/dev/ui/volume-popover/volume-popover-trigger.js +32 -0
  1241. package/dist/dev/ui/volume-popover/volume-popover-trigger.js.map +1 -0
  1242. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  1243. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  1244. package/dist/dev/utils/merge-props.d.ts +14 -12
  1245. package/dist/dev/utils/merge-props.d.ts.map +1 -1
  1246. package/dist/dev/utils/merge-props.js +20 -30
  1247. package/dist/dev/utils/merge-props.js.map +1 -1
  1248. package/dist/dev/utils/types.d.ts +2 -4
  1249. package/dist/dev/utils/types.d.ts.map +1 -1
  1250. package/dist/dev/utils/use-attach-iframe.js.map +1 -1
  1251. package/dist/dev/utils/use-attach-media.d.ts +5 -0
  1252. package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
  1253. package/dist/dev/utils/use-attach-media.js +5 -0
  1254. package/dist/dev/utils/use-attach-media.js.map +1 -1
  1255. package/dist/dev/utils/use-composed-refs.d.ts +10 -8
  1256. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
  1257. package/dist/dev/utils/use-composed-refs.js +10 -8
  1258. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  1259. package/dist/dev/utils/use-destroy.d.ts +7 -9
  1260. package/dist/dev/utils/use-destroy.d.ts.map +1 -1
  1261. package/dist/dev/utils/use-destroy.js +7 -9
  1262. package/dist/dev/utils/use-destroy.js.map +1 -1
  1263. package/dist/dev/utils/use-force-render.js.map +1 -1
  1264. package/dist/dev/utils/use-latest-ref.d.ts +4 -2
  1265. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
  1266. package/dist/dev/utils/use-latest-ref.js +4 -2
  1267. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  1268. package/dist/dev/utils/use-media-component.d.ts +7 -6
  1269. package/dist/dev/utils/use-media-component.d.ts.map +1 -1
  1270. package/dist/dev/utils/use-media-component.js +7 -6
  1271. package/dist/dev/utils/use-media-component.js.map +1 -1
  1272. package/dist/dev/utils/use-media-instance.d.ts +8 -7
  1273. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  1274. package/dist/dev/utils/use-media-instance.js +8 -7
  1275. package/dist/dev/utils/use-media-instance.js.map +1 -1
  1276. package/dist/dev/utils/use-render.d.ts +11 -14
  1277. package/dist/dev/utils/use-render.d.ts.map +1 -1
  1278. package/dist/dev/utils/use-render.js +13 -15
  1279. package/dist/dev/utils/use-render.js.map +1 -1
  1280. package/dist/dev/utils/use-safe-id.js +3 -4
  1281. package/dist/dev/utils/use-safe-id.js.map +1 -1
  1282. package/dist/dev/utils/use-sync-props.js.map +1 -1
  1283. package/docs/README.md +1 -1
  1284. package/docs/concepts/browser-support.md +16 -8
  1285. package/docs/concepts/bundlers.md +43 -0
  1286. package/docs/concepts/media-sources.md +2 -2
  1287. package/docs/concepts/mux-data.md +3 -3
  1288. package/docs/concepts/overview.md +9 -25
  1289. package/docs/concepts/presets.md +2 -1
  1290. package/docs/concepts/skins.md +498 -457
  1291. package/docs/concepts/typescript.md +34 -0
  1292. package/docs/concepts/ui-components.md +12 -5
  1293. package/docs/concepts/why-videojs.md +14 -8
  1294. package/docs/how-to/add-a-background-video.md +210 -0
  1295. package/docs/how-to/add-a-poster-and-loading-placeholder.md +187 -0
  1296. package/docs/how-to/add-keyboard-shortcuts-and-gestures.md +97 -0
  1297. package/docs/how-to/add-quality-selector.md +249 -0
  1298. package/docs/how-to/autoplay.md +172 -0
  1299. package/docs/how-to/build-with-ai.md +2 -2
  1300. package/docs/how-to/build-your-own-component.md +131 -4
  1301. package/docs/how-to/cast-to-airplay-and-chromecast.md +158 -0
  1302. package/docs/how-to/customize-skins.md +3460 -2908
  1303. package/docs/how-to/go-fullscreen-and-lock-orientation.md +153 -0
  1304. package/docs/how-to/handle-playback-errors.md +92 -0
  1305. package/docs/how-to/installation.md +53 -11
  1306. package/docs/how-to/internationalize-the-player.md +358 -0
  1307. package/docs/how-to/migrate-from-media-chrome.md +94 -63
  1308. package/docs/how-to/migrate-from-mux-player.md +180 -54
  1309. package/docs/how-to/migrate-from-plyr.md +51 -32
  1310. package/docs/how-to/migrate-from-video-js-8.md +42 -34
  1311. package/docs/how-to/play-live-streams.md +135 -0
  1312. package/docs/how-to/remember-user-preferences.md +180 -0
  1313. package/docs/how-to/show-and-hide-controls.md +174 -0
  1314. package/docs/how-to/show-captions-and-subtitles.md +156 -0
  1315. package/docs/how-to/show-timeline-thumbnail-previews.md +163 -0
  1316. package/docs/how-to/use-picture-in-picture.md +150 -0
  1317. package/docs/llms.txt +63 -17
  1318. package/docs/reference/airplay-button.md +18 -18
  1319. package/docs/reference/alert-dialog.md +649 -0
  1320. package/docs/reference/audio-track-radio-group.md +32 -22
  1321. package/docs/reference/audio.md +78 -0
  1322. package/docs/reference/background-video.md +17 -45
  1323. package/docs/reference/buffering-indicator.md +8 -0
  1324. package/docs/reference/captions-button.md +24 -16
  1325. package/docs/reference/captions-radio-group.md +32 -22
  1326. package/docs/reference/cast-button.md +21 -19
  1327. package/docs/reference/cloudflare-video.md +8 -8
  1328. package/docs/reference/controls.md +252 -20
  1329. package/docs/reference/create-i18n.md +7 -3
  1330. package/docs/reference/create-player.md +81 -9
  1331. package/docs/reference/create-selector.md +4 -6
  1332. package/docs/reference/create-translator.md +15 -5
  1333. package/docs/reference/dash-video.md +5 -5
  1334. package/docs/reference/dialog.md +833 -0
  1335. package/docs/reference/error-dialog.md +586 -0
  1336. package/docs/reference/feature-buffer.md +10 -4
  1337. package/docs/reference/feature-controls.md +1 -1
  1338. package/docs/reference/feature-error.md +1 -1
  1339. package/docs/reference/feature-live.md +62 -7
  1340. package/docs/reference/feature-metadata.md +4 -4
  1341. package/docs/reference/feature-orientation-lock.md +1 -1
  1342. package/docs/reference/feature-quality.md +1 -1
  1343. package/docs/reference/feature-remote-playback.md +1 -1
  1344. package/docs/reference/feature-source.md +1 -1
  1345. package/docs/reference/feature-stream-type.md +14 -5
  1346. package/docs/reference/feature-text-tracks.md +5 -3
  1347. package/docs/reference/feature-time.md +1 -1
  1348. package/docs/reference/fullscreen-button.md +23 -23
  1349. package/docs/reference/gesture.md +201 -0
  1350. package/docs/reference/get-i18n-translations.md +5 -5
  1351. package/docs/reference/google-cast.md +4 -4
  1352. package/docs/reference/has-registered-locale.md +2 -2
  1353. package/docs/reference/hls-audio.md +9 -3
  1354. package/docs/reference/hls-background-video.md +75 -0
  1355. package/docs/reference/hls-video.md +12 -6
  1356. package/docs/reference/hlsjs-video.md +165 -147
  1357. package/docs/reference/hotkey.md +188 -0
  1358. package/docs/reference/i-18-n-context.md +92 -0
  1359. package/docs/reference/i18n-provider.md +2 -2
  1360. package/docs/reference/menu.md +476 -132
  1361. package/docs/reference/merge-props.md +56 -0
  1362. package/docs/reference/mute-button.md +26 -26
  1363. package/docs/reference/mux-audio.md +711 -3
  1364. package/docs/reference/mux-background-video.md +34 -0
  1365. package/docs/reference/mux-video.md +759 -12
  1366. package/docs/reference/native-hls-video.md +3 -3
  1367. package/docs/reference/pip-button.md +23 -23
  1368. package/docs/reference/play-button.md +11 -3
  1369. package/docs/reference/playback-rate-button.md +14 -6
  1370. package/docs/reference/playback-rate-radio-group.md +30 -20
  1371. package/docs/reference/player-container.md +22 -31
  1372. package/docs/reference/{player-provider.md → player.md} +11 -9
  1373. package/docs/reference/popover.md +173 -25
  1374. package/docs/reference/poster.md +8 -0
  1375. package/docs/reference/quality-radio-group.md +36 -26
  1376. package/docs/reference/register-i18n.md +2 -2
  1377. package/docs/reference/render-element.md +14 -2
  1378. package/docs/reference/seek-button.md +14 -6
  1379. package/docs/reference/seek-indicator.md +448 -0
  1380. package/docs/reference/shaka-video.md +67 -31
  1381. package/docs/reference/slider.md +316 -6
  1382. package/docs/reference/spotify-audio.md +6 -6
  1383. package/docs/reference/status-announcer.md +341 -0
  1384. package/docs/reference/status-indicator.md +535 -0
  1385. package/docs/reference/thumbnail.md +30 -2
  1386. package/docs/reference/tiktok-video.md +13 -13
  1387. package/docs/reference/time-slider.md +354 -20
  1388. package/docs/reference/time.md +83 -3
  1389. package/docs/reference/title.md +9 -1
  1390. package/docs/reference/tooltip.md +281 -75
  1391. package/docs/reference/translation-phrases.md +1 -1
  1392. package/docs/reference/twitch-video.md +6 -6
  1393. package/docs/reference/use-attach-media.md +59 -0
  1394. package/docs/reference/use-audio-track-options.md +44 -2
  1395. package/docs/reference/use-button.md +6 -2
  1396. package/docs/reference/use-captions-options.md +48 -2
  1397. package/docs/reference/use-composed-refs.md +59 -0
  1398. package/docs/reference/use-container.md +39 -0
  1399. package/docs/reference/use-destroy.md +89 -0
  1400. package/docs/reference/use-dialog-context.md +63 -0
  1401. package/docs/reference/use-double-tap-gesture.md +75 -0
  1402. package/docs/reference/use-error-dialog-context.md +41 -0
  1403. package/docs/reference/use-hotkey-shortcut.md +79 -0
  1404. package/docs/reference/use-hotkey.md +62 -0
  1405. package/docs/reference/use-latest-ref.md +73 -0
  1406. package/docs/reference/use-locale.md +3 -2
  1407. package/docs/reference/use-media-component.md +62 -0
  1408. package/docs/reference/use-media-instance.md +79 -0
  1409. package/docs/reference/use-media.md +31 -2
  1410. package/docs/reference/use-menu-context.md +101 -0
  1411. package/docs/reference/use-optional-container.md +33 -0
  1412. package/docs/reference/use-optional-menu-context.md +101 -0
  1413. package/docs/reference/use-optional-player.md +77 -0
  1414. package/docs/reference/use-playback-rate-options.md +58 -2
  1415. package/docs/reference/use-player-context.md +2 -2
  1416. package/docs/reference/use-player.md +1 -1
  1417. package/docs/reference/use-popover-context.md +95 -0
  1418. package/docs/reference/use-quality-options.md +44 -2
  1419. package/docs/reference/use-selector.md +7 -3
  1420. package/docs/reference/use-slider.md +133 -0
  1421. package/docs/reference/use-snapshot.md +25 -7
  1422. package/docs/reference/use-store.md +10 -6
  1423. package/docs/reference/use-tap-gesture.md +75 -0
  1424. package/docs/reference/use-tooltip-context.md +115 -0
  1425. package/docs/reference/video.md +82 -0
  1426. package/docs/reference/vimeo-video.md +58 -60
  1427. package/docs/reference/volume-indicator.md +601 -0
  1428. package/docs/reference/volume-popover.md +556 -0
  1429. package/docs/reference/volume-slider.md +237 -35
  1430. package/docs/reference/youtube-video.md +20 -20
  1431. package/package.json +33 -38
  1432. package/dist/default/__generated__/skins/default-video/styles/base.css +0 -25
  1433. package/dist/default/__generated__/skins/default-video/styles/buttons.css +0 -266
  1434. package/dist/default/__generated__/skins/default-video/styles/captions.css +0 -22
  1435. package/dist/default/__generated__/skins/default-video/styles/container.css +0 -158
  1436. package/dist/default/__generated__/skins/default-video/styles/controls.css +0 -460
  1437. package/dist/default/__generated__/skins/default-video/styles/dialog.css +0 -169
  1438. package/dist/default/__generated__/skins/default-video/styles/indicator.css +0 -459
  1439. package/dist/default/__generated__/skins/default-video/styles/menus.css +0 -254
  1440. package/dist/default/__generated__/skins/default-video/styles/overlays.css +0 -35
  1441. package/dist/default/__generated__/skins/default-video/styles/popups.css +0 -371
  1442. package/dist/default/__generated__/skins/default-video/styles/poster.css +0 -47
  1443. package/dist/default/__generated__/skins/default-video/styles/sliders.css +0 -436
  1444. package/dist/default/__generated__/skins/default-video/styles/styles.css +0 -2753
  1445. package/dist/default/__generated__/skins/default-video/styles/theme.css +0 -7
  1446. package/dist/default/__generated__/skins/default-video/styles/video.css +0 -29
  1447. package/dist/default/__generated__/skins/minimal-video/styles/base.css +0 -25
  1448. package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +0 -266
  1449. package/dist/default/__generated__/skins/minimal-video/styles/captions.css +0 -22
  1450. package/dist/default/__generated__/skins/minimal-video/styles/container.css +0 -158
  1451. package/dist/default/__generated__/skins/minimal-video/styles/controls.css +0 -182
  1452. package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +0 -77
  1453. package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +0 -322
  1454. package/dist/default/__generated__/skins/minimal-video/styles/menus.css +0 -254
  1455. package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +0 -35
  1456. package/dist/default/__generated__/skins/minimal-video/styles/popups.css +0 -371
  1457. package/dist/default/__generated__/skins/minimal-video/styles/poster.css +0 -47
  1458. package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +0 -436
  1459. package/dist/default/__generated__/skins/minimal-video/styles/styles.css +0 -2246
  1460. package/dist/default/__generated__/skins/minimal-video/styles/theme.css +0 -7
  1461. package/dist/default/__generated__/skins/minimal-video/styles/video.css +0 -29
  1462. package/dist/default/skins/dist/default/default/tailwind/components/error.js +0 -14
  1463. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +0 -1
  1464. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
  1465. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
  1466. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +0 -7
  1467. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
  1468. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -14
  1469. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  1470. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
  1471. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
  1472. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
  1473. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
  1474. package/dist/default/ui/alert-dialog/alert-dialog-close.js +0 -28
  1475. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +0 -1
  1476. package/dist/default/ui/alert-dialog/alert-dialog-description.js +0 -13
  1477. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +0 -1
  1478. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +0 -29
  1479. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
  1480. package/dist/default/ui/alert-dialog/alert-dialog-title.js +0 -13
  1481. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +0 -1
  1482. package/dist/default/ui/alert-dialog/context.js +0 -13
  1483. package/dist/default/ui/alert-dialog/context.js.map +0 -1
  1484. package/dist/dev/__generated__/skins/default-video/styles/base.css +0 -25
  1485. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +0 -266
  1486. package/dist/dev/__generated__/skins/default-video/styles/captions.css +0 -22
  1487. package/dist/dev/__generated__/skins/default-video/styles/container.css +0 -158
  1488. package/dist/dev/__generated__/skins/default-video/styles/controls.css +0 -460
  1489. package/dist/dev/__generated__/skins/default-video/styles/dialog.css +0 -169
  1490. package/dist/dev/__generated__/skins/default-video/styles/indicator.css +0 -459
  1491. package/dist/dev/__generated__/skins/default-video/styles/menus.css +0 -254
  1492. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +0 -35
  1493. package/dist/dev/__generated__/skins/default-video/styles/popups.css +0 -371
  1494. package/dist/dev/__generated__/skins/default-video/styles/poster.css +0 -47
  1495. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +0 -436
  1496. package/dist/dev/__generated__/skins/default-video/styles/styles.css +0 -2753
  1497. package/dist/dev/__generated__/skins/default-video/styles/theme.css +0 -7
  1498. package/dist/dev/__generated__/skins/default-video/styles/video.css +0 -29
  1499. package/dist/dev/__generated__/skins/minimal-video/styles/base.css +0 -25
  1500. package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +0 -266
  1501. package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +0 -22
  1502. package/dist/dev/__generated__/skins/minimal-video/styles/container.css +0 -158
  1503. package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +0 -182
  1504. package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +0 -77
  1505. package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +0 -322
  1506. package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +0 -254
  1507. package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +0 -35
  1508. package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +0 -371
  1509. package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +0 -47
  1510. package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +0 -436
  1511. package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +0 -2246
  1512. package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +0 -7
  1513. package/dist/dev/__generated__/skins/minimal-video/styles/video.css +0 -29
  1514. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +0 -14
  1515. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +0 -1
  1516. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +0 -7
  1517. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +0 -1
  1518. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +0 -7
  1519. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
  1520. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -14
  1521. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  1522. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +0 -7
  1523. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +0 -1
  1524. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +0 -7
  1525. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
  1526. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +0 -12
  1527. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +0 -1
  1528. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +0 -28
  1529. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +0 -1
  1530. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +0 -12
  1531. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +0 -1
  1532. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +0 -13
  1533. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +0 -1
  1534. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +0 -12
  1535. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +0 -1
  1536. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +0 -29
  1537. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +0 -1
  1538. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +0 -12
  1539. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +0 -1
  1540. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +0 -13
  1541. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +0 -1
  1542. package/dist/dev/ui/alert-dialog/context.d.ts +0 -13
  1543. package/dist/dev/ui/alert-dialog/context.d.ts.map +0 -1
  1544. package/dist/dev/ui/alert-dialog/context.js +0 -13
  1545. package/dist/dev/ui/alert-dialog/context.js.map +0 -1
  1546. package/docs/concepts/cast.md +0 -131
  1547. package/docs/concepts/i18n.md +0 -317
  1548. package/docs/how-to/add-a-poster-placeholder.md +0 -133
  1549. package/docs/how-to/i18n-override-translations.md +0 -114
  1550. package/docs/how-to/i18n-register-locale.md +0 -74
  1551. package/docs/how-to/i18n-ssr.md +0 -104
  1552. package/docs/how-to/i18n-switch-locale.md +0 -197
@@ -1 +1 @@
1
- {"version":3,"file":"use-rendered-indicator-state.js","names":[],"sources":["../../../../src/ui/input-indicator/use-rendered-indicator-state.ts"],"sourcesContent":["import { getRenderedIndicatorState, type IndicatorLifecycleState, isIndicatorPresent } from '@videojs/core';\nimport { createTransition } from '@videojs/core/dom';\nimport { useLayoutEffect, useRef, useState, useSyncExternalStore } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\n\nexport interface RenderedIndicatorOptions {\n replayOnUpdate?: boolean | undefined;\n}\n\nexport function useRenderedIndicatorState<State extends IndicatorLifecycleState>(\n currentState: State,\n options: RenderedIndicatorOptions = {}\n) {\n const elementRef = useRef<HTMLElement>(null);\n const currentStateRef = useRef(currentState);\n const snapshotRef = useRef(currentState);\n const [transition] = useState(() => createTransition());\n useDestroy(transition);\n currentStateRef.current = currentState;\n\n const transitionState = useSyncExternalStore(\n (callback) => transition.state.subscribe(callback),\n () => transition.state.current,\n () => transition.state.current\n );\n\n const { generation, open } = currentState;\n\n useLayoutEffect(() => {\n if (open) {\n const nextState = currentStateRef.current;\n if (nextState.generation !== generation) return;\n\n snapshotRef.current = nextState;\n const transitionState = transition.state.current;\n if (!transitionState.active || options.replayOnUpdate !== false) {\n void transition.open(elementRef.current);\n } else if (transitionState.status === 'ending') {\n transition.cancel();\n }\n return;\n }\n\n const { active, status } = transition.state.current;\n if (active && status !== 'ending') {\n void transition.close(elementRef.current);\n }\n }, [generation, open, options.replayOnUpdate, transition]);\n\n return {\n elementRef,\n present: isIndicatorPresent(currentState, transitionState),\n state: getRenderedIndicatorState(currentState, snapshotRef.current, transitionState),\n };\n}\n"],"mappings":";;;;;AAUA,SAAgB,0BACd,cACA,UAAoC,CAAC,GACrC;CACA,MAAM,aAAa,OAAoB,IAAI;CAC3C,MAAM,kBAAkB,OAAO,YAAY;CAC3C,MAAM,cAAc,OAAO,YAAY;CACvC,MAAM,CAAC,cAAc,eAAe,iBAAiB,CAAC;CACtD,WAAW,UAAU;CACrB,gBAAgB,UAAU;CAE1B,MAAM,kBAAkB,sBACrB,aAAa,WAAW,MAAM,UAAU,QAAQ,SAC3C,WAAW,MAAM,eACjB,WAAW,MAAM,OACzB;CAEA,MAAM,EAAE,YAAY,SAAS;CAE7B,sBAAsB;EACpB,IAAI,MAAM;GACR,MAAM,YAAY,gBAAgB;GAClC,IAAI,UAAU,eAAe,YAAY;GAEzC,YAAY,UAAU;GACtB,MAAM,kBAAkB,WAAW,MAAM;GACzC,IAAI,CAAC,gBAAgB,UAAU,QAAQ,mBAAmB,OACxD,WAAgB,KAAK,WAAW,OAAO;QAClC,IAAI,gBAAgB,WAAW,UACpC,WAAW,OAAO;GAEpB;EACF;EAEA,MAAM,EAAE,QAAQ,WAAW,WAAW,MAAM;EAC5C,IAAI,UAAU,WAAW,UACvB,WAAgB,MAAM,WAAW,OAAO;CAE5C,GAAG;EAAC;EAAY;EAAM,QAAQ;EAAgB;CAAU,CAAC;CAEzD,OAAO;EACL;EACA,SAAS,mBAAmB,cAAc,eAAe;EACzD,OAAO,0BAA0B,cAAc,YAAY,SAAS,eAAe;CACrF;AACF"}
1
+ {"version":3,"file":"use-rendered-indicator-state.js","names":[],"sources":["../../../../src/ui/input-indicator/use-rendered-indicator-state.ts"],"sourcesContent":["import { getRenderedIndicatorState, type IndicatorLifecycleState, isIndicatorPresent } from '@videojs/core';\nimport { createTransition } from '@videojs/core/dom';\nimport { useLayoutEffect, useRef, useState, useSyncExternalStore } from 'react';\n\nimport { useDestroy } from '../../utils/use-destroy';\n\nexport interface RenderedIndicatorOptions {\n replayOnUpdate?: boolean | undefined;\n}\n\nexport function useRenderedIndicatorState<State extends IndicatorLifecycleState>(\n currentState: State,\n options: RenderedIndicatorOptions = {}\n) {\n const elementRef = useRef<HTMLElement>(null);\n const currentStateRef = useRef(currentState);\n const snapshotRef = useRef(currentState);\n const [transition] = useState(() => createTransition());\n\n useDestroy(transition);\n currentStateRef.current = currentState;\n\n const transitionState = useSyncExternalStore(\n (callback) => transition.state.subscribe(callback),\n () => transition.state.current,\n () => transition.state.current\n );\n\n const { generation, open } = currentState;\n\n useLayoutEffect(() => {\n if (open) {\n const nextState = currentStateRef.current;\n if (nextState.generation !== generation) return;\n\n snapshotRef.current = nextState;\n const transitionState = transition.state.current;\n\n if (!transitionState.active || options.replayOnUpdate !== false) {\n void transition.open(elementRef.current);\n } else if (transitionState.status === 'ending') {\n transition.cancel();\n }\n\n return;\n }\n\n const { active, status } = transition.state.current;\n\n if (active && status !== 'ending') {\n void transition.close(elementRef.current);\n }\n }, [generation, open, options.replayOnUpdate, transition]);\n\n return {\n elementRef,\n present: isIndicatorPresent(currentState, transitionState),\n state: getRenderedIndicatorState(currentState, snapshotRef.current, transitionState),\n };\n}\n"],"mappings":";;;;;AAUA,SAAgB,0BACd,cACA,UAAoC,CAAC,GACrC;CACA,MAAM,aAAa,OAAoB,IAAI;CAC3C,MAAM,kBAAkB,OAAO,YAAY;CAC3C,MAAM,cAAc,OAAO,YAAY;CACvC,MAAM,CAAC,cAAc,eAAe,iBAAiB,CAAC;CAEtD,WAAW,UAAU;CACrB,gBAAgB,UAAU;CAE1B,MAAM,kBAAkB,sBACrB,aAAa,WAAW,MAAM,UAAU,QAAQ,SAC3C,WAAW,MAAM,eACjB,WAAW,MAAM,OACzB;CAEA,MAAM,EAAE,YAAY,SAAS;CAE7B,sBAAsB;EACpB,IAAI,MAAM;GACR,MAAM,YAAY,gBAAgB;GAClC,IAAI,UAAU,eAAe,YAAY;GAEzC,YAAY,UAAU;GACtB,MAAM,kBAAkB,WAAW,MAAM;GAEzC,IAAI,CAAC,gBAAgB,UAAU,QAAQ,mBAAmB,OACxD,WAAgB,KAAK,WAAW,OAAO;QAClC,IAAI,gBAAgB,WAAW,UACpC,WAAW,OAAO;GAGpB;EACF;EAEA,MAAM,EAAE,QAAQ,WAAW,WAAW,MAAM;EAE5C,IAAI,UAAU,WAAW,UACvB,WAAgB,MAAM,WAAW,OAAO;CAE5C,GAAG;EAAC;EAAY;EAAM,QAAQ;EAAgB;CAAU,CAAC;CAEzD,OAAO;EACL;EACA,SAAS,mBAAmB,cAAc,eAAe;EACzD,OAAO,0BAA0B,cAAc,YAAY,SAAS,eAAe;CACrF;AACF"}
@@ -3,21 +3,18 @@ import { LiveButtonCore } from "@videojs/core";
3
3
  //#region src/ui/live-button/live-button.d.ts
4
4
  interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}
5
5
  /**
6
- * A button that indicates live status and seeks to the live edge when
7
- * pressed. Exposes `data-live` while the stream is live (or DVR) and
8
- * `data-live-edge` while playing at the live edge so skins can style a
9
- * red-dot ↔ grey-dot treatment.
6
+ * A button that indicates live status and seeks to the live edge when pressed. Exposes `data-live` while the stream is
7
+ * live (or DVR) and `data-live-edge` while playing at the live edge so skins can style a red-dot ↔ grey-dot treatment.
10
8
  *
11
- * Selects from `live`, `time`, and `buffer` features and composes them
12
- * itself rather than going through `createMediaButton`, since the LiveButton
13
- * needs three feature slices to detect the live edge and seek.
9
+ * Selects from `live`, `time`, and `buffer` features and composes them itself rather than going through
10
+ * `createMediaButton`, since the LiveButton needs three feature slices to detect the live edge and seek.
14
11
  *
15
12
  * Displays the translated live badge when no children are provided.
16
13
  *
17
14
  * @example
18
- * ```tsx
19
- * <LiveButton />
20
- * ```
15
+ * ```tsx
16
+ * <LiveButton />;
17
+ * ```;
21
18
  *
22
19
  * @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md
23
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"live-button.d.ts","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"mappings":";;;UAciB,wBAAwB,2BAA2B,eAAe,QAAQ,eAAe;;;;;;;;;;;;;;;;;;;;cAqB7F,4BAAU,0BAAA,KAAA,0CAAA,cAAA;kBA0EN;OACH,QAAQ;OACR,QAAQ,eAAe"}
1
+ {"version":3,"file":"live-button.d.ts","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"mappings":";;;UAciB,wBAAwB,2BAA2B,eAAe,QAAQ,eAAe;;;;;;;;;;;;;;;;;cAkB7F,4BAAU,0BAAA,KAAA,0CAAA,cAAA;kBA8EN;OACH,QAAQ;OACR,QAAQ,eAAe"}
@@ -10,21 +10,18 @@ import { LiveButtonCore, LiveButtonDataAttrs } from "@videojs/core";
10
10
  //#region src/ui/live-button/live-button.tsx
11
11
  const DISPLAY_NAME = "LiveButton";
12
12
  /**
13
- * A button that indicates live status and seeks to the live edge when
14
- * pressed. Exposes `data-live` while the stream is live (or DVR) and
15
- * `data-live-edge` while playing at the live edge so skins can style a
16
- * red-dot ↔ grey-dot treatment.
13
+ * A button that indicates live status and seeks to the live edge when pressed. Exposes `data-live` while the stream is
14
+ * live (or DVR) and `data-live-edge` while playing at the live edge so skins can style a red-dot ↔ grey-dot treatment.
17
15
  *
18
- * Selects from `live`, `time`, and `buffer` features and composes them
19
- * itself rather than going through `createMediaButton`, since the LiveButton
20
- * needs three feature slices to detect the live edge and seek.
16
+ * Selects from `live`, `time`, and `buffer` features and composes them itself rather than going through
17
+ * `createMediaButton`, since the LiveButton needs three feature slices to detect the live edge and seek.
21
18
  *
22
19
  * Displays the translated live badge when no children are provided.
23
20
  *
24
21
  * @example
25
- * ```tsx
26
- * <LiveButton />
27
- * ```
22
+ * ```tsx
23
+ * <LiveButton />;
24
+ * ```;
28
25
  *
29
26
  * @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md
30
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"live-button.js","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"sourcesContent":["import { LiveButtonCore, LiveButtonDataAttrs, type LiveButtonMediaState } from '@videojs/core';\nimport { logMissingFeature, selectBuffer, selectLive, selectTime } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { forwardRef, type ReactNode, useLayoutEffect, useState } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useButton } from '../hooks/use-button';\nimport { useOptionalTooltipContext } from '../tooltip/context';\n\nconst DISPLAY_NAME = 'LiveButton';\n\nexport interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}\n\n/**\n * A button that indicates live status and seeks to the live edge when\n * pressed. Exposes `data-live` while the stream is live (or DVR) and\n * `data-live-edge` while playing at the live edge so skins can style a\n * red-dot ↔ grey-dot treatment.\n *\n * Selects from `live`, `time`, and `buffer` features and composes them\n * itself rather than going through `createMediaButton`, since the LiveButton\n * needs three feature slices to detect the live edge and seek.\n *\n * Displays the translated live badge when no children are provided.\n *\n * @example\n * ```tsx\n * <LiveButton />\n * ```\n *\n * @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md\n */\nexport const LiveButton = forwardRef<HTMLButtonElement, LiveButtonProps>(\n function LiveButton(componentProps, forwardedRef): ReactNode {\n const { children, render, className, style, label, disabled, ...elementProps } = componentProps;\n\n const live = usePlayer(selectLive);\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const media: LiveButtonMediaState | null =\n live && time && buffer\n ? {\n currentTime: time.currentTime,\n seek: time.seek,\n seekable: buffer.seekable,\n liveEdgeStart: live.liveEdgeStart,\n targetLiveWindow: live.targetLiveWindow,\n }\n : null;\n\n const tooltipCtx = useOptionalTooltipContext();\n const translator = useTranslator();\n const [core] = useState(() => new LiveButtonCore());\n core.setProps({ label, disabled });\n\n const { getButtonProps, buttonRef } = useButton({\n displayName: DISPLAY_NAME,\n onActivate: () => {\n if (media) core.seekToLive(media);\n },\n isDisabled: () => !!disabled || !media,\n });\n\n if (media) core.setMedia(media);\n const state = media ? core.getState() : null;\n const labelText = state ? translateText(core.getLabel(state), translator) : undefined;\n\n useLayoutEffect(() => {\n if (!tooltipCtx) return;\n tooltipCtx.setContent(labelText ? { label: labelText } : undefined);\n return () => tooltipCtx.setContent(undefined);\n }, [tooltipCtx, labelText]);\n\n if (!media || !state) {\n if (__DEV__) logMissingFeature(DISPLAY_NAME, selectLive.displayName ?? 'live');\n return null;\n }\n\n const attrs = core.getAttrs(state);\n const labelAttr = attrs['aria-label'];\n const content = children ?? translateText(LiveButtonCore.defaultText, translator);\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state,\n stateAttrMap: LiveButtonDataAttrs,\n ref: [forwardedRef, buttonRef],\n props: [\n attrs,\n {\n children: content,\n ...elementProps,\n 'aria-label': labelAttr ? translateText(labelAttr, translator) : labelAttr,\n },\n getButtonProps(),\n ],\n }\n );\n }\n);\n\nLiveButton.displayName = DISPLAY_NAME;\n\nexport namespace LiveButton {\n export type Props = LiveButtonProps;\n export type State = LiveButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;AAYA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;AAuBrB,MAAa,aAAa,WACxB,SAAS,WAAW,gBAAgB,cAAyB;CAC3D,MAAM,EAAE,UAAU,QAAQ,WAAW,OAAO,OAAO,UAAU,GAAG,iBAAiB;CAEjF,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,SAAS,UAAU,YAAY;CAErC,MAAM,QACJ,QAAQ,QAAQ,SACZ;EACE,aAAa,KAAK;EAClB,MAAM,KAAK;EACX,UAAU,OAAO;EACjB,eAAe,KAAK;EACpB,kBAAkB,KAAK;CACzB,IACA;CAEN,MAAM,aAAa,0BAA0B;CAC7C,MAAM,aAAa,cAAc;CACjC,MAAM,CAAC,QAAQ,eAAe,IAAI,eAAe,CAAC;CAClD,KAAK,SAAS;EAAE;EAAO;CAAS,CAAC;CAEjC,MAAM,EAAE,gBAAgB,cAAc,UAAU;EAC9C,aAAa;EACb,kBAAkB;GAChB,IAAI,OAAO,KAAK,WAAW,KAAK;EAClC;EACA,kBAAkB,CAAC,CAAC,YAAY,CAAC;CACnC,CAAC;CAED,IAAI,OAAO,KAAK,SAAS,KAAK;CAC9B,MAAM,QAAQ,QAAQ,KAAK,SAAS,IAAI;CACxC,MAAM,YAAY,QAAQ,cAAc,KAAK,SAAS,KAAK,GAAG,UAAU,IAAI,KAAA;CAE5E,sBAAsB;EACpB,IAAI,CAAC,YAAY;EACjB,WAAW,WAAW,YAAY,EAAE,OAAO,UAAU,IAAI,KAAA,CAAS;EAClE,aAAa,WAAW,WAAW,KAAA,CAAS;CAC9C,GAAG,CAAC,YAAY,SAAS,CAAC;CAE1B,IAAI,CAAC,SAAS,CAAC,OAAO;EACP,kBAAkB,cAAc,WAAW,eAAe,MAAM;EAC7E,OAAO;CACT;CAEA,MAAM,QAAQ,KAAK,SAAS,KAAK;CACjC,MAAM,YAAY,MAAM;CACxB,MAAM,UAAU,YAAY,cAAc,eAAe,aAAa,UAAU;CAEhF,OAAO,cACL,UACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK,CAAC,cAAc,SAAS;EAC7B,OAAO;GACL;GACA;IACE,UAAU;IACV,GAAG;IACH,cAAc,YAAY,cAAc,WAAW,UAAU,IAAI;GACnE;GACA,eAAe;EACjB;CACF,CACF;AACF,CACF;AAEA,WAAW,cAAc"}
1
+ {"version":3,"file":"live-button.js","names":[],"sources":["../../../../src/ui/live-button/live-button.tsx"],"sourcesContent":["import { LiveButtonCore, LiveButtonDataAttrs, type LiveButtonMediaState } from '@videojs/core';\nimport { logMissingFeature, selectBuffer, selectLive, selectTime } from '@videojs/core/dom';\nimport { translateText } from '@videojs/core/i18n';\nimport { forwardRef, type ReactNode, useLayoutEffect, useState } from 'react';\n\nimport { useTranslator } from '../../i18n/context';\nimport { usePlayer } from '../../player/context';\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useButton } from '../hooks/use-button';\nimport { useOptionalTooltipContext } from '../tooltip/context';\n\nconst DISPLAY_NAME = 'LiveButton';\n\nexport interface LiveButtonProps extends UIComponentProps<'button', LiveButtonCore.State>, LiveButtonCore.Props {}\n\n/**\n * A button that indicates live status and seeks to the live edge when pressed. Exposes `data-live` while the stream is\n * live (or DVR) and `data-live-edge` while playing at the live edge so skins can style a red-dot ↔ grey-dot treatment.\n *\n * Selects from `live`, `time`, and `buffer` features and composes them itself rather than going through\n * `createMediaButton`, since the LiveButton needs three feature slices to detect the live edge and seek.\n *\n * Displays the translated live badge when no children are provided.\n *\n * @example\n * ```tsx\n * <LiveButton />;\n * ```;\n *\n * @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md\n */\nexport const LiveButton = forwardRef<HTMLButtonElement, LiveButtonProps>(\n function LiveButton(componentProps, forwardedRef): ReactNode {\n const { children, render, className, style, label, disabled, ...elementProps } = componentProps;\n\n const live = usePlayer(selectLive);\n const time = usePlayer(selectTime);\n const buffer = usePlayer(selectBuffer);\n\n const media: LiveButtonMediaState | null =\n live && time && buffer\n ? {\n currentTime: time.currentTime,\n seek: time.seek,\n seekable: buffer.seekable,\n liveEdgeStart: live.liveEdgeStart,\n targetLiveWindow: live.targetLiveWindow,\n }\n : null;\n\n const tooltipCtx = useOptionalTooltipContext();\n const translator = useTranslator();\n const [core] = useState(() => new LiveButtonCore());\n\n core.setProps({ label, disabled });\n\n const { getButtonProps, buttonRef } = useButton({\n displayName: DISPLAY_NAME,\n onActivate: () => {\n if (media) core.seekToLive(media);\n },\n isDisabled: () => !!disabled || !media,\n });\n\n if (media) core.setMedia(media);\n\n const state = media ? core.getState() : null;\n const labelText = state ? translateText(core.getLabel(state), translator) : undefined;\n\n useLayoutEffect(() => {\n if (!tooltipCtx) return;\n\n tooltipCtx.setContent(labelText ? { label: labelText } : undefined);\n return () => tooltipCtx.setContent(undefined);\n }, [tooltipCtx, labelText]);\n\n if (!media || !state) {\n if (__DEV__) logMissingFeature(DISPLAY_NAME, selectLive.displayName ?? 'live');\n\n return null;\n }\n\n const attrs = core.getAttrs(state);\n const labelAttr = attrs['aria-label'];\n const content = children ?? translateText(LiveButtonCore.defaultText, translator);\n\n return renderElement(\n 'button',\n { render, className, style },\n {\n state,\n stateAttrMap: LiveButtonDataAttrs,\n ref: [forwardedRef, buttonRef],\n props: [\n attrs,\n {\n children: content,\n ...elementProps,\n 'aria-label': labelAttr ? translateText(labelAttr, translator) : labelAttr,\n },\n getButtonProps(),\n ],\n }\n );\n }\n);\n\nLiveButton.displayName = DISPLAY_NAME;\n\nexport namespace LiveButton {\n export type Props = LiveButtonProps;\n export type State = LiveButtonCore.State;\n}\n"],"mappings":";;;;;;;;;;AAYA,MAAM,eAAe;;;;;;;;;;;;;;;;;AAoBrB,MAAa,aAAa,WACxB,SAAS,WAAW,gBAAgB,cAAyB;CAC3D,MAAM,EAAE,UAAU,QAAQ,WAAW,OAAO,OAAO,UAAU,GAAG,iBAAiB;CAEjF,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,OAAO,UAAU,UAAU;CACjC,MAAM,SAAS,UAAU,YAAY;CAErC,MAAM,QACJ,QAAQ,QAAQ,SACZ;EACE,aAAa,KAAK;EAClB,MAAM,KAAK;EACX,UAAU,OAAO;EACjB,eAAe,KAAK;EACpB,kBAAkB,KAAK;CACzB,IACA;CAEN,MAAM,aAAa,0BAA0B;CAC7C,MAAM,aAAa,cAAc;CACjC,MAAM,CAAC,QAAQ,eAAe,IAAI,eAAe,CAAC;CAElD,KAAK,SAAS;EAAE;EAAO;CAAS,CAAC;CAEjC,MAAM,EAAE,gBAAgB,cAAc,UAAU;EAC9C,aAAa;EACb,kBAAkB;GAChB,IAAI,OAAO,KAAK,WAAW,KAAK;EAClC;EACA,kBAAkB,CAAC,CAAC,YAAY,CAAC;CACnC,CAAC;CAED,IAAI,OAAO,KAAK,SAAS,KAAK;CAE9B,MAAM,QAAQ,QAAQ,KAAK,SAAS,IAAI;CACxC,MAAM,YAAY,QAAQ,cAAc,KAAK,SAAS,KAAK,GAAG,UAAU,IAAI,KAAA;CAE5E,sBAAsB;EACpB,IAAI,CAAC,YAAY;EAEjB,WAAW,WAAW,YAAY,EAAE,OAAO,UAAU,IAAI,KAAA,CAAS;EAClE,aAAa,WAAW,WAAW,KAAA,CAAS;CAC9C,GAAG,CAAC,YAAY,SAAS,CAAC;CAE1B,IAAI,CAAC,SAAS,CAAC,OAAO;EACP,kBAAkB,cAAc,WAAW,eAAe,MAAM;EAE7E,OAAO;CACT;CAEA,MAAM,QAAQ,KAAK,SAAS,KAAK;CACjC,MAAM,YAAY,MAAM;CACxB,MAAM,UAAU,YAAY,cAAc,eAAe,aAAa,UAAU;CAEhF,OAAO,cACL,UACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK,CAAC,cAAc,SAAS;EAC7B,OAAO;GACL;GACA;IACE,UAAU;IACV,GAAG;IACH,cAAc,YAAY,cAAc,WAAW,UAAU,IAAI;GACnE;GACA,eAAe;EACjB;CACF,CACF;AACF,CACF;AAEA,WAAW,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import { MediaContainer, MenuApi, PositioningBoundary } from "@videojs/core/dom";
2
- import { MenuCore, MenuState, StateAttrMap as StateAttrMap$1 } from "@videojs/core";
2
+ import { MenuCore, MenuState } from "@videojs/core";
3
3
  //#region src/ui/menu/context.d.ts
4
4
  interface MenuContextValue {
5
5
  core: MenuCore;
@@ -8,13 +8,14 @@ interface MenuContextValue {
8
8
  state: MenuState;
9
9
  preferredSide: MenuState['side'];
10
10
  setPositionedSide: (side: MenuState['side']) => void;
11
- stateAttrMap: StateAttrMap$1<MenuState>;
12
11
  contentId: string;
13
12
  anchorName: string;
14
13
  boundary: PositioningBoundary;
15
14
  container: MediaContainer | null;
16
15
  }
16
+ /** Returns the current menu compound-component context. Throws outside `Menu.Root`. */
17
17
  declare function useMenuContext(): MenuContextValue;
18
+ /** Returns the nearest menu context, or `null` outside `Menu.Root`. */
18
19
  declare function useOptionalMenuContext(): MenuContextValue | null;
19
20
  //#endregion
20
21
  export { MenuContextValue, useMenuContext, useOptionalMenuContext };
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":";;;UAIiB;EACf,MAAM;EACN,MAAM;EACN,QAAQ;EACR,OAAO;EACP,eAAe;EACf,oBAAoB,MAAM;EAC1B,cAAc,eAAa;EAC3B;EACA;EACA,UAAU;EACV,WAAW;;iBAOG,kBAAkB;iBAMlB,0BAA0B"}
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"mappings":";;;UAIiB;EACf,MAAM;EACN,MAAM;EACN,QAAQ;EACR,OAAO;EACP,eAAe;EACf,oBAAoB,MAAM;EAC1B;EACA;EACA,UAAU;EACV,WAAW;;;iBAQG,kBAAkB;;iBAQlB,0BAA0B"}
@@ -2,14 +2,23 @@ import { createContext, useContext } from "react";
2
2
  //#region src/ui/menu/context.tsx
3
3
  const MenuContext = createContext(null);
4
4
  const MenuContextProvider = MenuContext.Provider;
5
+ /** Returns the current menu compound-component context. Throws outside `Menu.Root`. */
5
6
  function useMenuContext() {
6
7
  const ctx = useContext(MenuContext);
7
8
  if (!ctx) throw new Error("Menu compound components must be used within a Menu.Root");
8
9
  return ctx;
9
10
  }
11
+ /** Returns the nearest menu context, or `null` outside `Menu.Root`. */
10
12
  function useOptionalMenuContext() {
11
13
  return useContext(MenuContext);
12
14
  }
15
+ const MenuPopupContext = createContext(null);
16
+ const MenuPopupContextProvider = MenuPopupContext.Provider;
17
+ function useMenuPopupContext() {
18
+ const ctx = useContext(MenuPopupContext);
19
+ if (!ctx) throw new Error("Menu.Content must be used within a Menu.Popup");
20
+ return ctx;
21
+ }
13
22
  const MenuGroupContext = createContext(null);
14
23
  const MenuGroupContextProvider = MenuGroupContext.Provider;
15
24
  function useMenuGroupContext() {
@@ -33,6 +42,6 @@ function useOptionalMenuTriggerChildContext() {
33
42
  return useContext(MenuTriggerChildContext);
34
43
  }
35
44
  //#endregion
36
- export { MenuContextProvider, MenuGroupContextProvider, MenuRadioGroupContextProvider, MenuRadioItemContextProvider, MenuTriggerChildContextProvider, useMenuContext, useMenuGroupContext, useMenuRadioGroupContext, useOptionalMenuContext, useOptionalMenuRadioItemContext, useOptionalMenuTriggerChildContext };
45
+ export { MenuContextProvider, MenuGroupContextProvider, MenuPopupContextProvider, MenuRadioGroupContextProvider, MenuRadioItemContextProvider, MenuTriggerChildContextProvider, useMenuContext, useMenuGroupContext, useMenuPopupContext, useMenuRadioGroupContext, useOptionalMenuContext, useOptionalMenuRadioItemContext, useOptionalMenuTriggerChildContext };
37
46
 
38
47
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["import type { MenuCore, MenuState, StateAttrMap } from '@videojs/core';\nimport type { MediaContainer, MenuApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface MenuContextValue {\n core: MenuCore;\n menu: MenuApi;\n parent: MenuContextValue | null;\n state: MenuState;\n preferredSide: MenuState['side'];\n setPositionedSide: (side: MenuState['side']) => void;\n stateAttrMap: StateAttrMap<MenuState>;\n contentId: string;\n anchorName: string;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nexport const MenuContextProvider = MenuContext.Provider;\n\nexport function useMenuContext(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu compound components must be used within a Menu.Root');\n return ctx;\n}\n\nexport function useOptionalMenuContext(): MenuContextValue | null {\n return useContext(MenuContext);\n}\n\n// ---------------------------------------------------------------------------\n// Group context — shared by group-like parts and MenuGroupLabel\n// ---------------------------------------------------------------------------\n\nexport interface MenuGroupContextValue {\n registerLabel: (id: string) => () => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue | null>(null);\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\n\nexport function useMenuGroupContext(): MenuGroupContextValue | null {\n return useContext(MenuGroupContext);\n}\n\n// ---------------------------------------------------------------------------\n// Radio group context — shared between MenuRadioGroup and MenuRadioItem\n// ---------------------------------------------------------------------------\n\nexport interface MenuRadioGroupContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst MenuRadioGroupContext = createContext<MenuRadioGroupContextValue | null>(null);\n\nexport const MenuRadioGroupContextProvider = MenuRadioGroupContext.Provider;\n\nexport function useMenuRadioGroupContext(): MenuRadioGroupContextValue {\n const ctx = useContext(MenuRadioGroupContext);\n if (!ctx) throw new Error('Menu.RadioItem must be used within a Menu.RadioGroup');\n return ctx;\n}\n\nconst MenuRadioItemContext = createContext(false);\n\nexport const MenuRadioItemContextProvider = MenuRadioItemContext.Provider;\n\nexport function useOptionalMenuRadioItemContext(): boolean {\n return useContext(MenuRadioItemContext);\n}\n\n// ---------------------------------------------------------------------------\n// Root trigger render context — provided by Menu.Trigger for render children.\n// ---------------------------------------------------------------------------\n\nconst MenuTriggerChildContext = createContext(false);\n\nexport const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;\n\nexport function useOptionalMenuTriggerChildContext(): boolean {\n return useContext(MenuTriggerChildContext);\n}\n"],"mappings":";;AAkBA,MAAM,cAAc,cAAuC,IAAI;AAE/D,MAAa,sBAAsB,YAAY;AAE/C,SAAgB,iBAAmC;CACjD,MAAM,MAAM,WAAW,WAAW;CAClC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,0DAA0D;CACpF,OAAO;AACT;AAEA,SAAgB,yBAAkD;CAChE,OAAO,WAAW,WAAW;AAC/B;AAUA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,MAAa,2BAA2B,iBAAiB;AAEzD,SAAgB,sBAAoD;CAClE,OAAO,WAAW,gBAAgB;AACpC;AAWA,MAAM,wBAAwB,cAAiD,IAAI;AAEnF,MAAa,gCAAgC,sBAAsB;AAEnE,SAAgB,2BAAuD;CACrE,MAAM,MAAM,WAAW,qBAAqB;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,sDAAsD;CAChF,OAAO;AACT;AAEA,MAAM,uBAAuB,cAAc,KAAK;AAEhD,MAAa,+BAA+B,qBAAqB;AAEjE,SAAgB,kCAA2C;CACzD,OAAO,WAAW,oBAAoB;AACxC;AAMA,MAAM,0BAA0B,cAAc,KAAK;AAEnD,MAAa,kCAAkC,wBAAwB;AAEvE,SAAgB,qCAA8C;CAC5D,OAAO,WAAW,uBAAuB;AAC3C"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/menu/context.tsx"],"sourcesContent":["import type { MenuCore, MenuState } from '@videojs/core';\nimport type { MediaContainer, MenuApi, MenuPopupApi, PositioningBoundary } from '@videojs/core/dom';\nimport { createContext, useContext } from 'react';\n\nexport interface MenuContextValue {\n core: MenuCore;\n menu: MenuApi;\n parent: MenuContextValue | null;\n state: MenuState;\n preferredSide: MenuState['side'];\n setPositionedSide: (side: MenuState['side']) => void;\n contentId: string;\n anchorName: string;\n boundary: PositioningBoundary;\n container: MediaContainer | null;\n}\n\nconst MenuContext = createContext<MenuContextValue | null>(null);\n\nexport const MenuContextProvider = MenuContext.Provider;\n\n/** Returns the current menu compound-component context. Throws outside `Menu.Root`. */\nexport function useMenuContext(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) throw new Error('Menu compound components must be used within a Menu.Root');\n\n return ctx;\n}\n\n/** Returns the nearest menu context, or `null` outside `Menu.Root`. */\nexport function useOptionalMenuContext(): MenuContextValue | null {\n return useContext(MenuContext);\n}\n\nexport interface MenuPopupContextValue {\n popup: MenuPopupApi;\n element: HTMLElement | null;\n}\n\nconst MenuPopupContext = createContext<MenuPopupContextValue | null>(null);\n\nexport const MenuPopupContextProvider = MenuPopupContext.Provider;\n\nexport function useMenuPopupContext(): MenuPopupContextValue {\n const ctx = useContext(MenuPopupContext);\n if (!ctx) throw new Error('Menu.Content must be used within a Menu.Popup');\n\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// Group context — shared by group-like parts and MenuGroupLabel\n// ---------------------------------------------------------------------------\n\nexport interface MenuGroupContextValue {\n registerLabel: (id: string) => () => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue | null>(null);\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\n\nexport function useMenuGroupContext(): MenuGroupContextValue | null {\n return useContext(MenuGroupContext);\n}\n\n// ---------------------------------------------------------------------------\n// Radio group context — shared between MenuRadioGroup and MenuRadioItem\n// ---------------------------------------------------------------------------\n\nexport interface MenuRadioGroupContextValue {\n value: string;\n onValueChange: (value: string) => void;\n}\n\nconst MenuRadioGroupContext = createContext<MenuRadioGroupContextValue | null>(null);\n\nexport const MenuRadioGroupContextProvider = MenuRadioGroupContext.Provider;\n\nexport function useMenuRadioGroupContext(): MenuRadioGroupContextValue {\n const ctx = useContext(MenuRadioGroupContext);\n if (!ctx) throw new Error('Menu.RadioItem must be used within a Menu.RadioGroup');\n\n return ctx;\n}\n\nconst MenuRadioItemContext = createContext(false);\n\nexport const MenuRadioItemContextProvider = MenuRadioItemContext.Provider;\n\nexport function useOptionalMenuRadioItemContext(): boolean {\n return useContext(MenuRadioItemContext);\n}\n\n// ---------------------------------------------------------------------------\n// Root trigger render context — provided by Menu.Trigger for render children.\n// ---------------------------------------------------------------------------\n\nconst MenuTriggerChildContext = createContext(false);\n\nexport const MenuTriggerChildContextProvider = MenuTriggerChildContext.Provider;\n\nexport function useOptionalMenuTriggerChildContext(): boolean {\n return useContext(MenuTriggerChildContext);\n}\n"],"mappings":";;AAiBA,MAAM,cAAc,cAAuC,IAAI;AAE/D,MAAa,sBAAsB,YAAY;;AAG/C,SAAgB,iBAAmC;CACjD,MAAM,MAAM,WAAW,WAAW;CAClC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,0DAA0D;CAEpF,OAAO;AACT;;AAGA,SAAgB,yBAAkD;CAChE,OAAO,WAAW,WAAW;AAC/B;AAOA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,MAAa,2BAA2B,iBAAiB;AAEzD,SAAgB,sBAA6C;CAC3D,MAAM,MAAM,WAAW,gBAAgB;CACvC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,+CAA+C;CAEzE,OAAO;AACT;AAUA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,MAAa,2BAA2B,iBAAiB;AAEzD,SAAgB,sBAAoD;CAClE,OAAO,WAAW,gBAAgB;AACpC;AAWA,MAAM,wBAAwB,cAAiD,IAAI;AAEnF,MAAa,gCAAgC,sBAAsB;AAEnE,SAAgB,2BAAuD;CACrE,MAAM,MAAM,WAAW,qBAAqB;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,sDAAsD;CAEhF,OAAO;AACT;AAEA,MAAM,uBAAuB,cAAc,KAAK;AAEhD,MAAa,+BAA+B,qBAAqB;AAEjE,SAAgB,kCAA2C;CACzD,OAAO,WAAW,oBAAoB;AACxC;AAMA,MAAM,0BAA0B,cAAc,KAAK;AAEnD,MAAa,kCAAkC,wBAAwB;AAEvE,SAAgB,qCAA8C;CAC5D,OAAO,WAAW,uBAAuB;AAC3C"}
@@ -5,13 +5,14 @@ import { MenuGroup, MenuGroupProps } from "./menu-group.js";
5
5
  import { MenuGroupLabel, MenuGroupLabelProps } from "./menu-group-label.js";
6
6
  import { MenuItem, MenuItemProps } from "./menu-item.js";
7
7
  import { MenuItemIndicator, MenuItemIndicatorProps } from "./menu-item-indicator.js";
8
+ import { MenuPopup, MenuPopupProps } from "./menu-popup.js";
8
9
  import { MenuRadioGroup, MenuRadioGroupProps } from "./menu-radio-group.js";
9
10
  import { MenuRoot, MenuRootProps } from "./menu-root.js";
10
11
  import { MenuSeparator, MenuSeparatorProps } from "./menu-separator.js";
11
12
  import { MenuTrigger, MenuTriggerProps } from "./menu-trigger.js";
12
13
  declare namespace index_parts_d_exports {
13
- export { MenuCheckboxItem as CheckboxItem, MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuGroupLabelProps as GroupLabelProps, MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuItemIndicatorProps as ItemIndicatorProps, MenuItemProps as ItemProps, MenuRadioGroup as RadioGroup, MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, MenuRadioItemProps as RadioItemProps, MenuRoot as Root, MenuRootProps as RootProps, MenuSeparator as Separator, MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, MenuTriggerProps as TriggerProps };
14
+ export { MenuCheckboxItem as CheckboxItem, MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuGroupLabelProps as GroupLabelProps, MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuItemIndicatorProps as ItemIndicatorProps, MenuItemProps as ItemProps, MenuPopup as Popup, MenuPopupProps as PopupProps, MenuRadioGroup as RadioGroup, MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, MenuRadioItemProps as RadioItemProps, MenuRoot as Root, MenuRootProps as RootProps, MenuSeparator as Separator, MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, MenuTriggerProps as TriggerProps };
14
15
  }
15
16
  //#endregion
16
- export { MenuCheckboxItem as CheckboxItem, type MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, type MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps, type MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, type MenuItemIndicatorProps as ItemIndicatorProps, type MenuItemProps as ItemProps, MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps, MenuRoot as Root, type MenuRootProps as RootProps, MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps, index_parts_d_exports };
17
+ export { MenuCheckboxItem as CheckboxItem, type MenuCheckboxItemProps as CheckboxItemProps, MenuContent as Content, type MenuContentProps as ContentProps, MenuGroup as Group, MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps, type MenuGroupProps as GroupProps, MenuItem as Item, MenuItemIndicator as ItemIndicator, type MenuItemIndicatorProps as ItemIndicatorProps, type MenuItemProps as ItemProps, MenuPopup as Popup, type MenuPopupProps as PopupProps, MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps, MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps, MenuRoot as Root, type MenuRootProps as RootProps, MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps, MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps, index_parts_d_exports };
17
18
  //# sourceMappingURL=index.parts.d.ts.map
@@ -6,6 +6,7 @@ import { MenuGroup } from "./menu-group.js";
6
6
  import { MenuGroupLabel } from "./menu-group-label.js";
7
7
  import { MenuItem } from "./menu-item.js";
8
8
  import { MenuItemIndicator } from "./menu-item-indicator.js";
9
+ import { MenuPopup } from "./menu-popup.js";
9
10
  import { MenuRadioItem } from "./menu-radio-item.js";
10
11
  import { MenuRoot } from "./menu-root.js";
11
12
  import { MenuSeparator } from "./menu-separator.js";
@@ -18,6 +19,7 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
18
19
  GroupLabel: () => MenuGroupLabel,
19
20
  Item: () => MenuItem,
20
21
  ItemIndicator: () => MenuItemIndicator,
22
+ Popup: () => MenuPopup,
21
23
  RadioGroup: () => MenuRadioGroup,
22
24
  RadioItem: () => MenuRadioItem,
23
25
  Root: () => MenuRoot,
@@ -25,6 +27,6 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
25
27
  Trigger: () => MenuTrigger
26
28
  });
27
29
  //#endregion
28
- export { MenuCheckboxItem as CheckboxItem, MenuContent as Content, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuRadioGroup as RadioGroup, MenuRadioItem as RadioItem, MenuRoot as Root, MenuSeparator as Separator, MenuTrigger as Trigger, index_parts_exports };
30
+ export { MenuCheckboxItem as CheckboxItem, MenuContent as Content, MenuGroup as Group, MenuGroupLabel as GroupLabel, MenuItem as Item, MenuItemIndicator as ItemIndicator, MenuPopup as Popup, MenuRadioGroup as RadioGroup, MenuRadioItem as RadioItem, MenuRoot as Root, MenuSeparator as Separator, MenuTrigger as Trigger, index_parts_exports };
29
31
 
30
32
  //# sourceMappingURL=index.parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/menu/index.parts.ts"],"sourcesContent":["export {\n MenuCheckboxItem as CheckboxItem,\n type MenuCheckboxItemProps as CheckboxItemProps,\n} from './menu-checkbox-item';\nexport { MenuContent as Content, type MenuContentProps as ContentProps } from './menu-content';\nexport { MenuGroup as Group, type MenuGroupProps as GroupProps } from './menu-group';\nexport { MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps } from './menu-group-label';\nexport { MenuItem as Item, type MenuItemProps as ItemProps } from './menu-item';\nexport {\n MenuItemIndicator as ItemIndicator,\n type MenuItemIndicatorProps as ItemIndicatorProps,\n} from './menu-item-indicator';\nexport { MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps } from './menu-radio-group';\nexport { MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps } from './menu-radio-item';\nexport { MenuRoot as Root, type MenuRootProps as RootProps } from './menu-root';\nexport { MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps } from './menu-separator';\nexport { MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps } from './menu-trigger';\n"],"mappings":""}
1
+ {"version":3,"file":"index.parts.js","names":[],"sources":["../../../../src/ui/menu/index.parts.ts"],"sourcesContent":["export {\n MenuCheckboxItem as CheckboxItem,\n type MenuCheckboxItemProps as CheckboxItemProps,\n} from './menu-checkbox-item';\nexport { MenuContent as Content, type MenuContentProps as ContentProps } from './menu-content';\nexport { MenuGroup as Group, type MenuGroupProps as GroupProps } from './menu-group';\nexport { MenuGroupLabel as GroupLabel, type MenuGroupLabelProps as GroupLabelProps } from './menu-group-label';\nexport { MenuItem as Item, type MenuItemProps as ItemProps } from './menu-item';\nexport {\n MenuItemIndicator as ItemIndicator,\n type MenuItemIndicatorProps as ItemIndicatorProps,\n} from './menu-item-indicator';\nexport { MenuPopup as Popup, type MenuPopupProps as PopupProps } from './menu-popup';\nexport { MenuRadioGroup as RadioGroup, type MenuRadioGroupProps as RadioGroupProps } from './menu-radio-group';\nexport { MenuRadioItem as RadioItem, type MenuRadioItemProps as RadioItemProps } from './menu-radio-item';\nexport { MenuRoot as Root, type MenuRootProps as RootProps } from './menu-root';\nexport { MenuSeparator as Separator, type MenuSeparatorProps as SeparatorProps } from './menu-separator';\nexport { MenuTrigger as Trigger, type MenuTriggerProps as TriggerProps } from './menu-trigger';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-checkbox-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"mappings":";;;UAOiB,8BAA8B,wBAAwB;;EAErE;;EAEA,kBAAkB;;EAElB;;;cAIW,kCAAgB,0BAAA,KAAA,gDAAA,cAAA;kBAgDZ;OACH,QAAQ;OACR,QAAQ"}
1
+ {"version":3,"file":"menu-checkbox-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"mappings":";;;UAOiB,8BAA8B,wBAAwB;;EAErE;;EAEA,kBAAkB;;EAElB;;;cAIW,kCAAgB,0BAAA,KAAA,gDAAA,cAAA;kBAmDZ;OACH,QAAQ;OACR,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["import type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n menu.highlight(element, { focus: false, pointer: true });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;AAiBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CACvC,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EACd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,cAAc,aACjB,UAA4C;EAC3C,IAAI,UAAU;EACd,UAAU,KAAK;EACf,gBAAgB,CAAC,OAAO;CAC1B,GACA;EAAC;EAAU;EAAS;EAAiB;CAAO,CAC9C;CAEA,MAAM,qBAAqB,kBAAkB;EAC3C,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,WAAW,UAAU;EAC1B,KAAK,UAAU,SAAS;GAAE,OAAO;GAAO,SAAS;EAAK,CAAC;CACzD,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,gBAAgB;GAChB,iBAAiB,WAAW,OAAO,KAAA;GACnC,SAAS;GACT,gBAAgB;EAClB,GACA,YACF;CACF,CACF;AACF,CAAC"}
1
+ {"version":3,"file":"menu-checkbox-item.js","names":[],"sources":["../../../../src/ui/menu/menu-checkbox-item.tsx"],"sourcesContent":["import type { MenuState } from '@videojs/core';\nimport { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext } from './context';\n\nexport interface MenuCheckboxItemProps extends UIComponentProps<'div', MenuState> {\n /** Whether the item is currently checked. */\n checked: boolean;\n /** Called when the checked state should change. */\n onCheckedChange: (checked: boolean) => void;\n /** Whether the item is disabled. */\n disabled?: boolean;\n}\n\n/** A checkbox-style menu item. Renders a `<div>` with `role=\"menuitemcheckbox\"`. */\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n { render, className, style, checked, onCheckedChange, disabled, onClick, ...elementProps },\n forwardedRef\n) {\n const { menu, state } = useMenuContext();\n const elementRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n\n return menu.registerItem(element);\n }, [menu]);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n\n onClick?.(event);\n onCheckedChange(!checked);\n },\n [disabled, onClick, onCheckedChange, checked]\n );\n\n const handlePointerEnter = useCallback(() => {\n const element = elementRef.current;\n if (!element || disabled) return;\n\n menu.highlight(element, { focus: false, pointer: true });\n }, [menu, disabled]);\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n ref: [forwardedRef, elementRef],\n props: [\n {\n role: 'menuitemcheckbox' as const,\n 'aria-checked': checked,\n 'aria-disabled': disabled ? true : undefined,\n onClick: handleClick,\n onPointerEnter: handlePointerEnter,\n },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuCheckboxItem {\n export type Props = MenuCheckboxItemProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;AAiBA,MAAa,mBAAmB,WAAkD,SAAS,iBACzF,EAAE,QAAQ,WAAW,OAAO,SAAS,iBAAiB,UAAU,SAAS,GAAG,gBAC5E,cACA;CACA,MAAM,EAAE,MAAM,UAAU,eAAe;CACvC,MAAM,aAAa,OAAuB,IAAI;CAE9C,gBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,SAAS;EAEd,OAAO,KAAK,aAAa,OAAO;CAClC,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,cAAc,aACjB,UAA4C;EAC3C,IAAI,UAAU;EAEd,UAAU,KAAK;EACf,gBAAgB,CAAC,OAAO;CAC1B,GACA;EAAC;EAAU;EAAS;EAAiB;CAAO,CAC9C;CAEA,MAAM,qBAAqB,kBAAkB;EAC3C,MAAM,UAAU,WAAW;EAC3B,IAAI,CAAC,WAAW,UAAU;EAE1B,KAAK,UAAU,SAAS;GAAE,OAAO;GAAO,SAAS;EAAK,CAAC;CACzD,GAAG,CAAC,MAAM,QAAQ,CAAC;CAEnB,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,cAAc,UAAU;EAC9B,OAAO,CACL;GACE,MAAM;GACN,gBAAgB;GAChB,iBAAiB,WAAW,OAAO,KAAA;GACnC,SAAS;GACT,gBAAgB;EAClB,GACA,YACF;CACF,CACF;AACF,CAAC"}
@@ -2,7 +2,7 @@ import { UIComponentProps } from "../../utils/types.js";
2
2
  import { MenuState } from "@videojs/core";
3
3
  //#region src/ui/menu/menu-content.d.ts
4
4
  interface MenuContentProps extends UIComponentProps<'div', MenuState> {}
5
- /** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
5
+ /** Accessible item and focus scope for exactly one root or nested menu page. */
6
6
  declare const MenuContent: import("react").ForwardRefExoticComponent<Omit<MenuContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
7
  declare namespace MenuContent {
8
8
  type Props = MenuContentProps;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":";;;UAkBiB,yBAAyB,wBAAwB;;cAGrD,6BAAW,0BAAA,KAAA,2CAAA,cAAA;kBA2MP;OACH,QAAQ;OACR,QAAQ"}
1
+ {"version":3,"file":"menu-content.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"mappings":";;;UAWiB,yBAAyB,wBAAwB;;cAGrD,6BAAW,0BAAA,KAAA,2CAAA,cAAA;kBAkGP;OACH,QAAQ;OACR,QAAQ"}
@@ -1,18 +1,20 @@
1
1
  import { useComposedRefs } from "../../utils/use-composed-refs.js";
2
2
  import { renderElement } from "../../utils/use-render.js";
3
- import { useMenuContext } from "./context.js";
4
- import { usePopupPosition } from "../popover/use-popup-position.js";
3
+ import { useMenuContext, useMenuPopupContext } from "./context.js";
5
4
  import { callKeyDownHandler, preventMenuKeyDefault } from "./menu-keyboard.js";
6
- import { MenuPositioningCSSVars, getRootPositionOptions, isMenuNavigationKey, observeMenuSize, syncMenuSizeChain } from "@videojs/core/dom";
7
- import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef } from "react";
5
+ import { isMenuNavigationKey } from "@videojs/core/dom";
6
+ import { forwardRef, useCallback, useLayoutEffect, useRef } from "react";
7
+ import { MenuContentDataAttrs } from "@videojs/core";
8
8
  import { createPortal } from "react-dom";
9
9
  //#region src/ui/menu/menu-content.tsx
10
- /** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */
10
+ /** Accessible item and focus scope for exactly one root or nested menu page. */
11
11
  const MenuContent = forwardRef(function MenuContent({ render, className, style, onKeyDown, onBlur, ...elementProps }, forwardedRef) {
12
- const { core, menu, parent, state, preferredSide, setPositionedSide, stateAttrMap, anchorName, contentId, boundary, container } = useMenuContext();
13
- const isSubmenu = state.isSubmenu;
12
+ const { core, menu, parent, state, contentId } = useMenuContext();
13
+ const { popup, element: popupElement } = useMenuPopupContext();
14
+ const isSubmenu = parent !== null;
14
15
  const isActive = isSubmenu && state.open;
15
16
  const wasActiveRef = useRef(false);
17
+ const cleanupRegistrationRef = useRef(null);
16
18
  useLayoutEffect(() => {
17
19
  if (!isSubmenu) return void 0;
18
20
  const wasActive = wasActiveRef.current;
@@ -26,130 +28,66 @@ const MenuContent = forwardRef(function MenuContent({ render, className, style,
26
28
  isSubmenu,
27
29
  menu
28
30
  ]);
29
- const setSubmenuContentElement = useCallback((element) => {
30
- menu.setContentElement(element);
31
- if (!element) requestAnimationFrame(() => {
32
- syncMenuSizeChain(parent?.menu.contentElement ?? null);
33
- if (!menu.input.current.active) menu.restoreFocus({ preventScroll: true });
31
+ const setContentElement = useCallback((element) => {
32
+ cleanupRegistrationRef.current?.();
33
+ cleanupRegistrationRef.current = null;
34
+ if (!element) {
35
+ if (isSubmenu) menu.setPopupElement(null);
36
+ return;
37
+ }
38
+ if (isSubmenu) menu.setPopupElement(element);
39
+ cleanupRegistrationRef.current = popup.registerContent({
40
+ menu,
41
+ parent: parent?.menu ?? null,
42
+ element
34
43
  });
35
- }, [menu, parent]);
36
- const handleSubMenuKeyDown = useCallback((event) => {
44
+ }, [
45
+ isSubmenu,
46
+ menu,
47
+ parent?.menu,
48
+ popup
49
+ ]);
50
+ const composedRef = useComposedRefs(forwardedRef, setContentElement);
51
+ const handleKeyDown = useCallback((event) => {
37
52
  const defaultPreventedByUser = callKeyDownHandler(onKeyDown, event);
38
53
  const isNavigationKey = isMenuNavigationKey(event);
39
54
  menu.contentProps.onKeyDown(event);
40
- if ((event.key === "ArrowLeft" || event.key === "Escape") && !defaultPreventedByUser) {
55
+ if (isSubmenu && (event.key === "ArrowLeft" || event.key === "Escape") && !defaultPreventedByUser) {
41
56
  event.preventDefault();
42
57
  menu.close("escape");
43
58
  }
44
- if (isNavigationKey) event.stopPropagation();
45
- }, [onKeyDown, menu]);
46
- const handleRootMenuKeyDown = useCallback((event) => {
47
- onKeyDown?.(event);
48
- menu.contentProps.onKeyDown(event);
49
- if (event.key === "Escape") return;
50
- if (isMenuNavigationKey(event)) event.stopPropagation();
51
- }, [onKeyDown, menu]);
52
- const handleRootMenuBlur = useCallback((event) => {
53
- onBlur?.(event);
54
- menu.contentProps.onFocusOut(event);
55
- }, [onBlur, menu]);
56
- const handleSubMenuBlur = useCallback((event) => {
57
- onBlur?.(event);
58
- menu.contentProps.onFocusOut(event);
59
- }, [onBlur, menu]);
60
- const internalRef = useRef(null);
61
- const rootComposedRef = useComposedRefs(forwardedRef, useCallback((element) => {
62
- if (!isSubmenu) menu.setContentElement(element);
63
- }, [isSubmenu, menu]), internalRef);
64
- const submenuComposedRef = useComposedRefs(forwardedRef, setSubmenuContentElement);
65
- const positionOptions = useMemo(() => getRootPositionOptions(preferredSide, state.align), [preferredSide, state.align]);
66
- const positioningStyle = usePopupPosition({
67
- open: state.open && !isSubmenu,
68
- anchorName,
69
- position: positionOptions,
70
- triggerSource: menu,
71
- popupRef: internalRef,
72
- boundary,
73
- container,
74
- cssVars: MenuPositioningCSSVars,
75
- onSideChange: setPositionedSide
76
- });
77
- useLayoutEffect(() => {
78
- if (isSubmenu || !state.open) return;
79
- const contentElement = internalRef.current;
80
- if (!contentElement) return;
81
- const sync = () => syncMenuSizeChain(contentElement);
82
- sync();
83
- const frame = requestAnimationFrame(sync);
84
- const stopObserving = observeMenuSize(contentElement, sync);
85
- return () => {
86
- cancelAnimationFrame(frame);
87
- stopObserving();
88
- };
89
- }, [isSubmenu, state.open]);
90
- useLayoutEffect(() => {
91
- if (!isSubmenu) return;
92
- const isEnding = state.status === "ending";
93
- const parentContentElement = parent?.menu.contentElement ?? null;
94
- const sync = () => syncMenuSizeChain(parentContentElement);
95
- sync();
96
- const frame = requestAnimationFrame(sync);
97
- const stopObserving = state.open && !isEnding && parentContentElement ? observeMenuSize(parentContentElement, sync) : null;
98
- return () => {
99
- cancelAnimationFrame(frame);
100
- stopObserving?.();
101
- };
59
+ if (event.key !== "Escape" && isNavigationKey) event.stopPropagation();
102
60
  }, [
103
61
  isSubmenu,
104
- parent,
105
- state.open,
106
- state.status
62
+ menu,
63
+ onKeyDown
107
64
  ]);
108
- if (isSubmenu) {
109
- if (!isActive && state.status !== "ending") return null;
110
- const subMenuContent = renderElement("div", {
111
- render,
112
- className,
113
- style
114
- }, {
115
- state,
116
- stateAttrMap,
117
- ref: submenuComposedRef,
118
- props: [{
119
- id: contentId,
120
- role: "menu",
121
- tabIndex: -1,
122
- onKeyDownCapture: preventMenuKeyDefault,
123
- onKeyDown: handleSubMenuKeyDown,
124
- onBlur: handleSubMenuBlur
125
- }, elementProps]
126
- });
127
- const parentContentElement = parent?.menu.contentElement ?? null;
128
- return parentContentElement ? createPortal(subMenuContent, parentContentElement) : subMenuContent;
129
- }
130
- if (!state.open && state.status !== "ending") return null;
131
- return renderElement("div", {
65
+ if (isSubmenu && !isActive && state.status !== "ending") return null;
66
+ const contentNode = renderElement("div", {
132
67
  render,
133
68
  className,
134
69
  style
135
70
  }, {
136
71
  state,
137
- stateAttrMap,
138
- ref: rootComposedRef,
72
+ stateAttrMap: MenuContentDataAttrs,
73
+ ref: composedRef,
139
74
  props: [
140
75
  {
141
76
  id: contentId,
142
- style: positioningStyle,
143
- ...core.getContentAttrs(state)
77
+ ...core.getContentAttrs()
144
78
  },
145
79
  {
146
80
  onKeyDownCapture: preventMenuKeyDefault,
147
- onKeyDown: handleRootMenuKeyDown,
148
- onBlur: handleRootMenuBlur
81
+ onKeyDown: handleKeyDown,
82
+ onBlur: (event) => {
83
+ onBlur?.(event);
84
+ if (isSubmenu) menu.contentProps.onFocusOut(event);
85
+ }
149
86
  },
150
87
  elementProps
151
88
  ]
152
89
  });
90
+ return isSubmenu && popupElement ? createPortal(contentNode, popupElement) : contentNode;
153
91
  });
154
92
  //#endregion
155
93
  export { MenuContent };
@@ -1 +1 @@
1
- {"version":3,"file":"menu-content.js","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"sourcesContent":["import type { MenuState } from '@videojs/core';\nimport {\n getRootPositionOptions,\n isMenuNavigationKey,\n MenuPositioningCSSVars,\n observeMenuSize,\n syncMenuSizeChain,\n} from '@videojs/core/dom';\nimport { forwardRef, useCallback, useLayoutEffect, useMemo, useRef } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { usePopupPosition } from '../popover/use-popup-position';\nimport { useMenuContext } from './context';\nimport { callKeyDownHandler, preventMenuKeyDefault } from './menu-keyboard';\n\nexport interface MenuContentProps extends UIComponentProps<'div', MenuState> {}\n\n/** Container for menu items. Positioned relative to the trigger at root level; renders in-place as a submenu panel when nested. */\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { render, className, style, onKeyDown, onBlur, ...elementProps },\n forwardedRef\n) {\n const {\n core,\n menu,\n parent,\n state,\n preferredSide,\n setPositionedSide,\n stateAttrMap,\n anchorName,\n contentId,\n boundary,\n container,\n } = useMenuContext();\n const isSubmenu = state.isSubmenu;\n const isActive = isSubmenu && state.open;\n const wasActiveRef = useRef(false);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return undefined;\n\n const wasActive = wasActiveRef.current;\n wasActiveRef.current = isActive;\n\n if (isActive && !wasActive) {\n const frame = requestAnimationFrame(() => menu.highlightFirstItem({ preventScroll: true }));\n return () => cancelAnimationFrame(frame);\n }\n\n return undefined;\n }, [isActive, isSubmenu, menu]);\n\n const setSubmenuContentElement = useCallback(\n (element: HTMLDivElement | null) => {\n menu.setContentElement(element);\n if (!element) {\n requestAnimationFrame(() => {\n syncMenuSizeChain(parent?.menu.contentElement ?? null);\n if (!menu.input.current.active) menu.restoreFocus({ preventScroll: true });\n });\n }\n },\n [menu, parent]\n );\n\n const handleSubMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const defaultPreventedByUser = callKeyDownHandler(\n onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event\n );\n const isNavigationKey = isMenuNavigationKey(event);\n menu.contentProps.onKeyDown(event);\n const isBackNavigationKey = event.key === 'ArrowLeft' || event.key === 'Escape';\n\n if (isBackNavigationKey && !defaultPreventedByUser) {\n event.preventDefault();\n menu.close('escape');\n }\n\n if (isNavigationKey) event.stopPropagation();\n },\n [onKeyDown, menu]\n );\n\n const handleRootMenuKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n (onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined)?.(event);\n menu.contentProps.onKeyDown(event);\n if (event.key === 'Escape') return;\n if (isMenuNavigationKey(event)) event.stopPropagation();\n },\n [onKeyDown, menu]\n );\n\n const handleRootMenuBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n (onBlur as React.FocusEventHandler<HTMLDivElement> | undefined)?.(event);\n menu.contentProps.onFocusOut(event);\n },\n [onBlur, menu]\n );\n\n const handleSubMenuBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n (onBlur as React.FocusEventHandler<HTMLDivElement> | undefined)?.(event);\n menu.contentProps.onFocusOut(event);\n },\n [onBlur, menu]\n );\n\n const internalRef = useRef<HTMLDivElement>(null);\n const contentRef = useCallback(\n (element: HTMLDivElement | null) => {\n if (!isSubmenu) menu.setContentElement(element);\n },\n [isSubmenu, menu]\n );\n const rootComposedRef = useComposedRefs(forwardedRef, contentRef, internalRef);\n const submenuComposedRef = useComposedRefs(forwardedRef, setSubmenuContentElement);\n const positionOptions = useMemo(\n () => getRootPositionOptions(preferredSide, state.align),\n [preferredSide, state.align]\n );\n const positioningStyle = usePopupPosition({\n open: state.open && !isSubmenu,\n anchorName,\n position: positionOptions,\n triggerSource: menu,\n popupRef: internalRef,\n boundary,\n container,\n cssVars: MenuPositioningCSSVars,\n onSideChange: setPositionedSide,\n });\n\n useLayoutEffect(() => {\n if (isSubmenu || !state.open) return;\n\n const contentElement = internalRef.current;\n if (!contentElement) return;\n\n const sync = () => syncMenuSizeChain(contentElement);\n sync();\n const frame = requestAnimationFrame(sync);\n const stopObserving = observeMenuSize(contentElement, sync);\n\n return () => {\n cancelAnimationFrame(frame);\n stopObserving();\n };\n }, [isSubmenu, state.open]);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return;\n\n const isEnding = state.status === 'ending';\n const parentContentElement = parent?.menu.contentElement ?? null;\n const sync = () => syncMenuSizeChain(parentContentElement);\n sync();\n const frame = requestAnimationFrame(sync);\n const stopObserving =\n state.open && !isEnding && parentContentElement ? observeMenuSize(parentContentElement, sync) : null;\n\n return () => {\n cancelAnimationFrame(frame);\n stopObserving?.();\n };\n }, [isSubmenu, parent, state.open, state.status]);\n\n if (isSubmenu) {\n if (!isActive && state.status !== 'ending') return null;\n\n const subMenuContent = renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: submenuComposedRef,\n props: [\n {\n id: contentId,\n role: 'menu' as const,\n tabIndex: -1,\n onKeyDownCapture: preventMenuKeyDefault,\n onKeyDown: handleSubMenuKeyDown,\n onBlur: handleSubMenuBlur,\n },\n elementProps,\n ],\n }\n );\n\n const parentContentElement = parent?.menu.contentElement ?? null;\n return parentContentElement ? createPortal(subMenuContent, parentContentElement) : subMenuContent;\n }\n\n if (!state.open && state.status !== 'ending') return null;\n\n return renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap,\n ref: rootComposedRef,\n props: [\n {\n id: contentId,\n style: positioningStyle,\n ...core.getContentAttrs(state),\n },\n { onKeyDownCapture: preventMenuKeyDefault, onKeyDown: handleRootMenuKeyDown, onBlur: handleRootMenuBlur },\n elementProps,\n ],\n }\n );\n});\n\nexport namespace MenuContent {\n export type Props = MenuContentProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;;;;AAqBA,MAAa,cAAc,WAA6C,SAAS,YAC/E,EAAE,QAAQ,WAAW,OAAO,WAAW,QAAQ,GAAG,gBAClD,cACA;CACA,MAAM,EACJ,MACA,MACA,QACA,OACA,eACA,mBACA,cACA,YACA,WACA,UACA,cACE,eAAe;CACnB,MAAM,YAAY,MAAM;CACxB,MAAM,WAAW,aAAa,MAAM;CACpC,MAAM,eAAe,OAAO,KAAK;CAEjC,sBAAsB;EACpB,IAAI,CAAC,WAAW,OAAO,KAAA;EAEvB,MAAM,YAAY,aAAa;EAC/B,aAAa,UAAU;EAEvB,IAAI,YAAY,CAAC,WAAW;GAC1B,MAAM,QAAQ,4BAA4B,KAAK,mBAAmB,EAAE,eAAe,KAAK,CAAC,CAAC;GAC1F,aAAa,qBAAqB,KAAK;EACzC;CAGF,GAAG;EAAC;EAAU;EAAW;CAAI,CAAC;CAE9B,MAAM,2BAA2B,aAC9B,YAAmC;EAClC,KAAK,kBAAkB,OAAO;EAC9B,IAAI,CAAC,SACH,4BAA4B;GAC1B,kBAAkB,QAAQ,KAAK,kBAAkB,IAAI;GACrD,IAAI,CAAC,KAAK,MAAM,QAAQ,QAAQ,KAAK,aAAa,EAAE,eAAe,KAAK,CAAC;EAC3E,CAAC;CAEL,GACA,CAAC,MAAM,MAAM,CACf;CAEA,MAAM,uBAAuB,aAC1B,UAA+C;EAC9C,MAAM,yBAAyB,mBAC7B,WACA,KACF;EACA,MAAM,kBAAkB,oBAAoB,KAAK;EACjD,KAAK,aAAa,UAAU,KAAK;EAGjC,KAF4B,MAAM,QAAQ,eAAe,MAAM,QAAQ,aAE5C,CAAC,wBAAwB;GAClD,MAAM,eAAe;GACrB,KAAK,MAAM,QAAQ;EACrB;EAEA,IAAI,iBAAiB,MAAM,gBAAgB;CAC7C,GACA,CAAC,WAAW,IAAI,CAClB;CAEA,MAAM,wBAAwB,aAC3B,UAA+C;EAC9C,YAAwE,KAAK;EAC7E,KAAK,aAAa,UAAU,KAAK;EACjC,IAAI,MAAM,QAAQ,UAAU;EAC5B,IAAI,oBAAoB,KAAK,GAAG,MAAM,gBAAgB;CACxD,GACA,CAAC,WAAW,IAAI,CAClB;CAEA,MAAM,qBAAqB,aACxB,UAA4C;EAC3C,SAAkE,KAAK;EACvE,KAAK,aAAa,WAAW,KAAK;CACpC,GACA,CAAC,QAAQ,IAAI,CACf;CAEA,MAAM,oBAAoB,aACvB,UAA4C;EAC3C,SAAkE,KAAK;EACvE,KAAK,aAAa,WAAW,KAAK;CACpC,GACA,CAAC,QAAQ,IAAI,CACf;CAEA,MAAM,cAAc,OAAuB,IAAI;CAO/C,MAAM,kBAAkB,gBAAgB,cANrB,aAChB,YAAmC;EAClC,IAAI,CAAC,WAAW,KAAK,kBAAkB,OAAO;CAChD,GACA,CAAC,WAAW,IAAI,CAE6C,GAAG,WAAW;CAC7E,MAAM,qBAAqB,gBAAgB,cAAc,wBAAwB;CACjF,MAAM,kBAAkB,cAChB,uBAAuB,eAAe,MAAM,KAAK,GACvD,CAAC,eAAe,MAAM,KAAK,CAC7B;CACA,MAAM,mBAAmB,iBAAiB;EACxC,MAAM,MAAM,QAAQ,CAAC;EACrB;EACA,UAAU;EACV,eAAe;EACf,UAAU;EACV;EACA;EACA,SAAS;EACT,cAAc;CAChB,CAAC;CAED,sBAAsB;EACpB,IAAI,aAAa,CAAC,MAAM,MAAM;EAE9B,MAAM,iBAAiB,YAAY;EACnC,IAAI,CAAC,gBAAgB;EAErB,MAAM,aAAa,kBAAkB,cAAc;EACnD,KAAK;EACL,MAAM,QAAQ,sBAAsB,IAAI;EACxC,MAAM,gBAAgB,gBAAgB,gBAAgB,IAAI;EAE1D,aAAa;GACX,qBAAqB,KAAK;GAC1B,cAAc;EAChB;CACF,GAAG,CAAC,WAAW,MAAM,IAAI,CAAC;CAE1B,sBAAsB;EACpB,IAAI,CAAC,WAAW;EAEhB,MAAM,WAAW,MAAM,WAAW;EAClC,MAAM,uBAAuB,QAAQ,KAAK,kBAAkB;EAC5D,MAAM,aAAa,kBAAkB,oBAAoB;EACzD,KAAK;EACL,MAAM,QAAQ,sBAAsB,IAAI;EACxC,MAAM,gBACJ,MAAM,QAAQ,CAAC,YAAY,uBAAuB,gBAAgB,sBAAsB,IAAI,IAAI;EAElG,aAAa;GACX,qBAAqB,KAAK;GAC1B,gBAAgB;EAClB;CACF,GAAG;EAAC;EAAW;EAAQ,MAAM;EAAM,MAAM;CAAM,CAAC;CAEhD,IAAI,WAAW;EACb,IAAI,CAAC,YAAY,MAAM,WAAW,UAAU,OAAO;EAEnD,MAAM,iBAAiB,cACrB,OACA;GAAE;GAAQ;GAAW;EAAM,GAC3B;GACE;GACA;GACA,KAAK;GACL,OAAO,CACL;IACE,IAAI;IACJ,MAAM;IACN,UAAU;IACV,kBAAkB;IAClB,WAAW;IACX,QAAQ;GACV,GACA,YACF;EACF,CACF;EAEA,MAAM,uBAAuB,QAAQ,KAAK,kBAAkB;EAC5D,OAAO,uBAAuB,aAAa,gBAAgB,oBAAoB,IAAI;CACrF;CAEA,IAAI,CAAC,MAAM,QAAQ,MAAM,WAAW,UAAU,OAAO;CAErD,OAAO,cACL,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA;EACA,KAAK;EACL,OAAO;GACL;IACE,IAAI;IACJ,OAAO;IACP,GAAG,KAAK,gBAAgB,KAAK;GAC/B;GACA;IAAE,kBAAkB;IAAuB,WAAW;IAAuB,QAAQ;GAAmB;GACxG;EACF;CACF,CACF;AACF,CAAC"}
1
+ {"version":3,"file":"menu-content.js","names":[],"sources":["../../../../src/ui/menu/menu-content.tsx"],"sourcesContent":["import { MenuContentDataAttrs, type MenuState } from '@videojs/core';\nimport { isMenuNavigationKey } from '@videojs/core/dom';\nimport { forwardRef, useCallback, useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { useComposedRefs } from '../../utils/use-composed-refs';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useMenuPopupContext } from './context';\nimport { callKeyDownHandler, preventMenuKeyDefault } from './menu-keyboard';\n\nexport interface MenuContentProps extends UIComponentProps<'div', MenuState> {}\n\n/** Accessible item and focus scope for exactly one root or nested menu page. */\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { render, className, style, onKeyDown, onBlur, ...elementProps },\n forwardedRef\n) {\n const { core, menu, parent, state, contentId } = useMenuContext();\n const { popup, element: popupElement } = useMenuPopupContext();\n const isSubmenu = parent !== null;\n const isActive = isSubmenu && state.open;\n const wasActiveRef = useRef(false);\n const cleanupRegistrationRef = useRef<(() => void) | null>(null);\n\n useLayoutEffect(() => {\n if (!isSubmenu) return undefined;\n\n const wasActive = wasActiveRef.current;\n\n wasActiveRef.current = isActive;\n\n if (isActive && !wasActive) {\n const frame = requestAnimationFrame(() => menu.highlightFirstItem({ preventScroll: true }));\n\n return () => cancelAnimationFrame(frame);\n }\n\n return undefined;\n }, [isActive, isSubmenu, menu]);\n\n const setContentElement = useCallback(\n (element: HTMLDivElement | null) => {\n cleanupRegistrationRef.current?.();\n cleanupRegistrationRef.current = null;\n\n if (!element) {\n if (isSubmenu) menu.setPopupElement(null);\n\n return;\n }\n\n if (isSubmenu) menu.setPopupElement(element);\n\n cleanupRegistrationRef.current = popup.registerContent({\n menu,\n parent: parent?.menu ?? null,\n element,\n });\n },\n [isSubmenu, menu, parent?.menu, popup]\n );\n const composedRef = useComposedRefs(forwardedRef, setContentElement);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const defaultPreventedByUser = callKeyDownHandler(\n onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined,\n event\n );\n const isNavigationKey = isMenuNavigationKey(event);\n\n menu.contentProps.onKeyDown(event);\n\n if (isSubmenu && (event.key === 'ArrowLeft' || event.key === 'Escape') && !defaultPreventedByUser) {\n event.preventDefault();\n menu.close('escape');\n }\n\n if (event.key !== 'Escape' && isNavigationKey) event.stopPropagation();\n },\n [isSubmenu, menu, onKeyDown]\n );\n\n if (isSubmenu && !isActive && state.status !== 'ending') return null;\n\n const contentNode = renderElement(\n 'div',\n { render, className, style },\n {\n state,\n stateAttrMap: MenuContentDataAttrs,\n ref: composedRef,\n props: [\n { id: contentId, ...core.getContentAttrs() },\n {\n onKeyDownCapture: preventMenuKeyDefault,\n onKeyDown: handleKeyDown,\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n onBlur?.(event);\n\n if (isSubmenu) menu.contentProps.onFocusOut(event);\n },\n },\n elementProps,\n ],\n }\n );\n\n return isSubmenu && popupElement ? createPortal(contentNode, popupElement) : contentNode;\n});\n\nexport namespace MenuContent {\n export type Props = MenuContentProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;;;;;;AAcA,MAAa,cAAc,WAA6C,SAAS,YAC/E,EAAE,QAAQ,WAAW,OAAO,WAAW,QAAQ,GAAG,gBAClD,cACA;CACA,MAAM,EAAE,MAAM,MAAM,QAAQ,OAAO,cAAc,eAAe;CAChE,MAAM,EAAE,OAAO,SAAS,iBAAiB,oBAAoB;CAC7D,MAAM,YAAY,WAAW;CAC7B,MAAM,WAAW,aAAa,MAAM;CACpC,MAAM,eAAe,OAAO,KAAK;CACjC,MAAM,yBAAyB,OAA4B,IAAI;CAE/D,sBAAsB;EACpB,IAAI,CAAC,WAAW,OAAO,KAAA;EAEvB,MAAM,YAAY,aAAa;EAE/B,aAAa,UAAU;EAEvB,IAAI,YAAY,CAAC,WAAW;GAC1B,MAAM,QAAQ,4BAA4B,KAAK,mBAAmB,EAAE,eAAe,KAAK,CAAC,CAAC;GAE1F,aAAa,qBAAqB,KAAK;EACzC;CAGF,GAAG;EAAC;EAAU;EAAW;CAAI,CAAC;CAE9B,MAAM,oBAAoB,aACvB,YAAmC;EAClC,uBAAuB,UAAU;EACjC,uBAAuB,UAAU;EAEjC,IAAI,CAAC,SAAS;GACZ,IAAI,WAAW,KAAK,gBAAgB,IAAI;GAExC;EACF;EAEA,IAAI,WAAW,KAAK,gBAAgB,OAAO;EAE3C,uBAAuB,UAAU,MAAM,gBAAgB;GACrD;GACA,QAAQ,QAAQ,QAAQ;GACxB;EACF,CAAC;CACH,GACA;EAAC;EAAW;EAAM,QAAQ;EAAM;CAAK,CACvC;CACA,MAAM,cAAc,gBAAgB,cAAc,iBAAiB;CAEnE,MAAM,gBAAgB,aACnB,UAA+C;EAC9C,MAAM,yBAAyB,mBAC7B,WACA,KACF;EACA,MAAM,kBAAkB,oBAAoB,KAAK;EAEjD,KAAK,aAAa,UAAU,KAAK;EAEjC,IAAI,cAAc,MAAM,QAAQ,eAAe,MAAM,QAAQ,aAAa,CAAC,wBAAwB;GACjG,MAAM,eAAe;GACrB,KAAK,MAAM,QAAQ;EACrB;EAEA,IAAI,MAAM,QAAQ,YAAY,iBAAiB,MAAM,gBAAgB;CACvE,GACA;EAAC;EAAW;EAAM;CAAS,CAC7B;CAEA,IAAI,aAAa,CAAC,YAAY,MAAM,WAAW,UAAU,OAAO;CAEhE,MAAM,cAAc,cAClB,OACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,cAAc;EACd,KAAK;EACL,OAAO;GACL;IAAE,IAAI;IAAW,GAAG,KAAK,gBAAgB;GAAE;GAC3C;IACE,kBAAkB;IAClB,WAAW;IACX,SAAS,UAA4C;KACnD,SAAS,KAAK;KAEd,IAAI,WAAW,KAAK,aAAa,WAAW,KAAK;IACnD;GACF;GACA;EACF;CACF,CACF;CAEA,OAAO,aAAa,eAAe,aAAa,aAAa,YAAY,IAAI;AAC/E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-indicator.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"mappings":";;;UAOiB,+BAA+B,yBAAyB;;EAEvE;;EAEA;;;cAIW,mCAAiB,0BAAA,KAAA,iDAAA,cAAA;kBAqBb;OACH,QAAQ;OACR,QAAQ"}
1
+ {"version":3,"file":"menu-item-indicator.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"mappings":";;;UAOiB,+BAA+B,yBAAyB;;EAEvE;;EAEA;;;cAIW,mCAAiB,0BAAA,KAAA,iDAAA,cAAA;kBAoBb;OACH,QAAQ;OACR,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-indicator.js","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"sourcesContent":["import type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useOptionalMenuRadioItemContext } from './context';\n\nexport interface MenuItemIndicatorProps extends UIComponentProps<'span', MenuState> {\n /** Whether the indicator is currently shown. Typically bound to the parent item's checked state. */\n checked?: boolean;\n /** When `true`, renders even when unchecked (useful for animating out). Defaults to `false`. */\n forceMount?: boolean;\n}\n\n/** Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set). */\nexport const MenuItemIndicator = forwardRef<HTMLSpanElement, MenuItemIndicatorProps>(function MenuItemIndicator(\n { render, className, style, checked, forceMount = false, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n const itemChecked = useOptionalMenuRadioItemContext();\n const resolvedChecked = checked ?? itemChecked;\n\n if (!resolvedChecked && !forceMount) return null;\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ 'aria-hidden': true }, elementProps],\n }\n );\n});\n\nexport namespace MenuItemIndicator {\n export type Props = MenuItemIndicatorProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;AAeA,MAAa,oBAAoB,WAAoD,SAAS,kBAC5F,EAAE,QAAQ,WAAW,OAAO,SAAS,aAAa,OAAO,GAAG,gBAC5D,cACA;CACA,MAAM,EAAE,UAAU,eAAe;CACjC,MAAM,cAAc,gCAAgC;CAGpD,IAAI,EAFoB,WAAW,gBAEX,CAAC,YAAY,OAAO;CAE5C,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,EAAE,eAAe,KAAK,GAAG,YAAY;CAC/C,CACF;AACF,CAAC"}
1
+ {"version":3,"file":"menu-item-indicator.js","names":[],"sources":["../../../../src/ui/menu/menu-item-indicator.tsx"],"sourcesContent":["import type { MenuState } from '@videojs/core';\nimport { forwardRef } from 'react';\n\nimport type { UIComponentProps } from '../../utils/types';\nimport { renderElement } from '../../utils/use-render';\nimport { useMenuContext, useOptionalMenuRadioItemContext } from './context';\n\nexport interface MenuItemIndicatorProps extends UIComponentProps<'span', MenuState> {\n /** Whether the indicator is currently shown. Typically bound to the parent item's checked state. */\n checked?: boolean;\n /** When `true`, renders even when unchecked (useful for animating out). Defaults to `false`. */\n forceMount?: boolean;\n}\n\n/** Visual indicator for a checked state. Only renders when `checked` is `true` (or `forceMount` is set). */\nexport const MenuItemIndicator = forwardRef<HTMLSpanElement, MenuItemIndicatorProps>(function MenuItemIndicator(\n { render, className, style, checked, forceMount = false, ...elementProps },\n forwardedRef\n) {\n const { state } = useMenuContext();\n const itemChecked = useOptionalMenuRadioItemContext();\n const resolvedChecked = checked ?? itemChecked;\n if (!resolvedChecked && !forceMount) return null;\n\n return renderElement(\n 'span',\n { render, className, style },\n {\n state,\n ref: [forwardedRef],\n props: [{ 'aria-hidden': true }, elementProps],\n }\n );\n});\n\nexport namespace MenuItemIndicator {\n export type Props = MenuItemIndicatorProps;\n export type State = MenuState;\n}\n"],"mappings":";;;;;AAeA,MAAa,oBAAoB,WAAoD,SAAS,kBAC5F,EAAE,QAAQ,WAAW,OAAO,SAAS,aAAa,OAAO,GAAG,gBAC5D,cACA;CACA,MAAM,EAAE,UAAU,eAAe;CACjC,MAAM,cAAc,gCAAgC;CAEpD,IAAI,EADoB,WAAW,gBACX,CAAC,YAAY,OAAO;CAE5C,OAAO,cACL,QACA;EAAE;EAAQ;EAAW;CAAM,GAC3B;EACE;EACA,KAAK,CAAC,YAAY;EAClB,OAAO,CAAC,EAAE,eAAe,KAAK,GAAG,YAAY;CAC/C,CACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-item.tsx"],"mappings":";;;UAQiB,sBAAsB,wBAAwB;;EAE7D;;EAEA;;;cAIW,0BAAQ,0BAAA,KAAA,wCAAA,cAAA;kBA0FJ;OACH,QAAQ;OACR,QAAQ"}
1
+ {"version":3,"file":"menu-item.d.ts","names":[],"sources":["../../../../src/ui/menu/menu-item.tsx"],"mappings":";;;UAQiB,sBAAsB,wBAAwB;;EAE7D;;EAEA;;;cAIW,0BAAQ,0BAAA,KAAA,wCAAA,cAAA;kBA+FJ;OACH,QAAQ;OACR,QAAQ"}
@@ -13,29 +13,31 @@ const MenuItem = forwardRef(function MenuItem({ render, className, style, onSele
13
13
  if (!element) return;
14
14
  return menu.registerItem(element);
15
15
  }, [menu]);
16
+ const handleClick = useCallback((event) => {
17
+ if (disabled) return;
18
+ onClick?.(event);
19
+ if (event.defaultPrevented) return;
20
+ onSelect?.();
21
+ completeMenuItemSelection(menu);
22
+ }, [
23
+ disabled,
24
+ onClick,
25
+ onSelect,
26
+ menu
27
+ ]);
28
+ const handlePointerEnter = useCallback(() => {
29
+ const element = elementRef.current;
30
+ if (!element || disabled) return;
31
+ menu.highlight(element, {
32
+ focus: false,
33
+ pointer: true
34
+ });
35
+ }, [menu, disabled]);
16
36
  return /* @__PURE__ */ jsx(MenuItemContent, {
17
37
  disabled,
18
38
  elementProps,
19
- onClick: useCallback((event) => {
20
- if (disabled) return;
21
- onClick?.(event);
22
- if (event.defaultPrevented) return;
23
- onSelect?.();
24
- completeMenuItemSelection(menu);
25
- }, [
26
- disabled,
27
- onClick,
28
- onSelect,
29
- menu
30
- ]),
31
- onPointerEnter: useCallback(() => {
32
- const element = elementRef.current;
33
- if (!element || disabled) return;
34
- menu.highlight(element, {
35
- focus: false,
36
- pointer: true
37
- });
38
- }, [menu, disabled]),
39
+ onClick: handleClick,
40
+ onPointerEnter: handlePointerEnter,
39
41
  render,
40
42
  className,
41
43
  style,