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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1027) hide show
  1. package/dist/default/__generated__/skins/default-video/styles/base.css +25 -0
  2. package/dist/default/__generated__/skins/default-video/styles/buttons.css +152 -0
  3. package/dist/default/__generated__/skins/default-video/styles/container.css +45 -0
  4. package/dist/default/__generated__/skins/default-video/styles/controls.css +45 -0
  5. package/dist/default/__generated__/skins/default-video/styles/overlays.css +11 -0
  6. package/dist/default/__generated__/skins/default-video/styles/popups.css +45 -0
  7. package/dist/default/__generated__/skins/default-video/styles/poster.css +47 -0
  8. package/dist/default/__generated__/skins/default-video/styles/sliders.css +112 -0
  9. package/dist/default/__generated__/skins/default-video/styles/styles.css +514 -0
  10. package/dist/default/__generated__/skins/default-video/styles/theme.css +22 -0
  11. package/dist/default/i18n/context.js +3 -3
  12. package/dist/default/i18n/context.js.map +1 -1
  13. package/dist/default/i18n/locales/id/register.js +8 -0
  14. package/dist/default/i18n/locales/id/register.js.map +1 -0
  15. package/dist/default/i18n/locales/id.js +2 -0
  16. package/dist/default/i18n/locales/lt/register.js +8 -0
  17. package/dist/default/i18n/locales/lt/register.js.map +1 -0
  18. package/dist/default/i18n/locales/lt.js +2 -0
  19. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/airplay-exit.js +1 -2
  21. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  23. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/cast-enter.js +2 -45
  25. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/cast-exit.js +4 -61
  27. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  29. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  31. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  33. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  34. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  35. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  36. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  37. package/dist/default/icons/dist/react/default/quality.js +1 -1
  38. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  39. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  40. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  41. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  42. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  43. package/dist/default/icons/dist/react/default/spinner.js +1 -1
  44. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  45. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  46. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  47. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  48. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  49. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/airplay-exit.js +1 -2
  51. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  52. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  53. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/cast-enter.js +2 -45
  55. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/cast-exit.js +4 -61
  57. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  59. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  61. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  63. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  65. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  66. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  67. package/dist/default/icons/dist/react/minimal/quality.js +1 -1
  68. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  69. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  70. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  71. package/dist/default/icons/dist/react/minimal/speech.js +7 -40
  72. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  73. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  74. package/dist/default/icons/dist/react/minimal/spinner.js +1 -1
  75. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  76. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  77. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  78. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  79. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  80. package/dist/default/index.js +7 -3
  81. package/dist/default/media/cloudflare-video/index.js +2 -0
  82. package/dist/default/media/cloudflare-video/media.js +38 -0
  83. package/dist/default/media/cloudflare-video/media.js.map +1 -0
  84. package/dist/default/media/google-cast/google-cast.js +3 -3
  85. package/dist/default/media/google-cast/google-cast.js.map +1 -1
  86. package/dist/default/media/hls-audio/index.js +2 -0
  87. package/dist/default/media/hls-audio/media.js +21 -0
  88. package/dist/default/media/hls-audio/media.js.map +1 -0
  89. package/dist/default/media/hls-background-video/index.js +2 -0
  90. package/dist/default/media/hls-background-video/media.js +45 -0
  91. package/dist/default/media/hls-background-video/media.js.map +1 -0
  92. package/dist/default/media/hls-video/index.js +2 -0
  93. package/dist/{dev/media/simple-hls-video → default/media/hls-video}/media.js +6 -7
  94. package/dist/default/media/hls-video/media.js.map +1 -0
  95. package/dist/default/media/mux-audio/{media.js → hls-js.js} +2 -2
  96. package/dist/default/media/mux-audio/hls-js.js.map +1 -0
  97. package/dist/default/media/mux-audio/index.js +1 -1
  98. package/dist/default/media/mux-audio/spf.js +26 -0
  99. package/dist/default/media/mux-audio/spf.js.map +1 -0
  100. package/dist/default/media/mux-background-video/index.js +2 -0
  101. package/dist/default/media/mux-data/mux-data.js +7 -3
  102. package/dist/default/media/mux-data/mux-data.js.map +1 -1
  103. package/dist/default/media/mux-video/hls-js.js +27 -0
  104. package/dist/default/media/mux-video/hls-js.js.map +1 -0
  105. package/dist/default/media/mux-video/index.js +1 -1
  106. package/dist/default/media/mux-video/spf.js +27 -0
  107. package/dist/default/media/mux-video/spf.js.map +1 -0
  108. package/dist/default/media/mux-video/storyboard.js +43 -0
  109. package/dist/default/media/mux-video/storyboard.js.map +1 -0
  110. package/dist/default/media/spotify-audio/index.js +2 -0
  111. package/dist/default/media/spotify-audio/media.js +40 -0
  112. package/dist/default/media/spotify-audio/media.js.map +1 -0
  113. package/dist/default/media/tiktok-video/index.js +2 -0
  114. package/dist/default/media/tiktok-video/media.js +38 -0
  115. package/dist/default/media/tiktok-video/media.js.map +1 -0
  116. package/dist/default/media/twitch-video/index.js +2 -0
  117. package/dist/default/media/twitch-video/media.js +38 -0
  118. package/dist/default/media/twitch-video/media.js.map +1 -0
  119. package/dist/default/media/vimeo-video/media.js +4 -4
  120. package/dist/default/media/vimeo-video/media.js.map +1 -1
  121. package/dist/default/media/youtube-video/index.js +2 -0
  122. package/dist/default/media/youtube-video/media.js +37 -0
  123. package/dist/default/media/youtube-video/media.js.map +1 -0
  124. package/dist/default/player/container.js +8 -3
  125. package/dist/default/player/container.js.map +1 -1
  126. package/dist/default/player/context.js +6 -10
  127. package/dist/default/player/context.js.map +1 -1
  128. package/dist/default/player/create-player.js +44 -13
  129. package/dist/default/player/create-player.js.map +1 -1
  130. package/dist/default/player/popup-group-context.js +18 -0
  131. package/dist/default/player/popup-group-context.js.map +1 -0
  132. package/dist/default/presets/audio/index.js +8 -1
  133. package/dist/default/presets/audio/index.js.map +1 -0
  134. package/dist/default/presets/audio/minimal-skin.css +426 -295
  135. package/dist/default/presets/audio/minimal-skin.js +12 -19
  136. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  137. package/dist/default/presets/audio/minimal-skin.tailwind.js +81 -20
  138. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  139. package/dist/default/presets/audio/player.js +13 -0
  140. package/dist/default/presets/audio/player.js.map +1 -0
  141. package/dist/default/presets/audio/skin.css +458 -341
  142. package/dist/default/presets/audio/skin.js +13 -19
  143. package/dist/default/presets/audio/skin.js.map +1 -1
  144. package/dist/default/presets/audio/skin.tailwind.js +14 -19
  145. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  146. package/dist/default/presets/background/index.js +8 -1
  147. package/dist/default/presets/background/index.js.map +1 -0
  148. package/dist/default/presets/background/player.js +13 -0
  149. package/dist/default/presets/background/player.js.map +1 -0
  150. package/dist/default/presets/background/skin.css +3 -3
  151. package/dist/default/presets/live-audio/index.js +8 -1
  152. package/dist/default/presets/live-audio/index.js.map +1 -0
  153. package/dist/default/presets/live-audio/minimal-skin.css +426 -295
  154. package/dist/default/presets/live-audio/minimal-skin.js +2 -2
  155. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  156. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +4 -4
  157. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  158. package/dist/default/presets/live-audio/player.js +13 -0
  159. package/dist/default/presets/live-audio/player.js.map +1 -0
  160. package/dist/default/presets/live-audio/skin.css +458 -341
  161. package/dist/default/presets/live-audio/skin.js +2 -2
  162. package/dist/default/presets/live-audio/skin.js.map +1 -1
  163. package/dist/default/presets/live-audio/skin.tailwind.js +4 -4
  164. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  165. package/dist/default/presets/live-video/index.js +8 -1
  166. package/dist/default/presets/live-video/index.js.map +1 -0
  167. package/dist/default/presets/live-video/minimal-skin.css +655 -588
  168. package/dist/default/presets/live-video/minimal-skin.js +12 -12
  169. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  170. package/dist/default/presets/live-video/minimal-skin.tailwind.js +27 -26
  171. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  172. package/dist/default/presets/live-video/player.js +13 -0
  173. package/dist/default/presets/live-video/player.js.map +1 -0
  174. package/dist/default/presets/live-video/skin.css +656 -618
  175. package/dist/default/presets/live-video/skin.js +11 -11
  176. package/dist/default/presets/live-video/skin.js.map +1 -1
  177. package/dist/default/presets/live-video/skin.tailwind.js +24 -112
  178. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  179. package/dist/default/presets/video/index.js +8 -1
  180. package/dist/default/presets/video/index.js.map +1 -0
  181. package/dist/default/presets/video/minimal-skin.css +655 -588
  182. package/dist/default/presets/video/minimal-skin.js +212 -211
  183. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  184. package/dist/default/presets/video/minimal-skin.tailwind.js +226 -233
  185. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  186. package/dist/default/presets/video/player.js +13 -0
  187. package/dist/default/presets/video/player.js.map +1 -0
  188. package/dist/default/presets/video/skin.css +656 -618
  189. package/dist/default/presets/video/skin.js +212 -207
  190. package/dist/default/presets/video/skin.js.map +1 -1
  191. package/dist/default/presets/video/skin.tailwind.js +224 -227
  192. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  193. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  194. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  195. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  196. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  197. package/dist/default/skins/dist/default/default/tailwind/components/button.js +4 -4
  198. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  199. package/dist/default/skins/dist/default/default/tailwind/components/container.js +8 -0
  200. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  201. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  202. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  203. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  204. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  205. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  206. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  207. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  208. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  209. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  210. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  211. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -12
  212. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  213. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  214. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  215. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +1 -1
  216. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  217. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -1
  218. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  219. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  220. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  221. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +17 -9
  222. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  223. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  224. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  225. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  226. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  227. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  228. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  229. package/dist/default/skins/dist/default/default/tailwind/components/time.js +2 -2
  230. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  231. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  232. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  233. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  234. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  235. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  236. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  237. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  238. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  239. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  240. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  241. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  242. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  243. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  244. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  245. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  246. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  247. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  248. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  249. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  250. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  251. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  252. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  253. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  254. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  255. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  256. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  257. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  258. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  259. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  260. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  261. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  262. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  263. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  264. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  265. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  266. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  267. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  268. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  269. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  270. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  271. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  272. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  273. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  274. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  275. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  276. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  277. package/dist/default/ui/audio-track/use-audio-track-options.js +8 -23
  278. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  279. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  280. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  281. package/dist/default/ui/audio-track-radio-group/index.js +2 -0
  282. package/dist/default/ui/captions-radio-group/captions-radio-group.js +65 -0
  283. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  284. package/dist/default/ui/captions-radio-group/index.js +2 -1
  285. package/dist/default/ui/captions-radio-group/use-captions-options.js +12 -29
  286. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  287. package/dist/default/ui/hooks/create-radio-options-hook.js +43 -0
  288. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -0
  289. package/dist/default/ui/hooks/use-slider.js +49 -13
  290. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  291. package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-indicator-visibility.js +1 -1
  292. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  293. package/dist/default/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  294. package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  295. package/dist/default/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  296. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  297. package/dist/default/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  298. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  299. package/dist/default/ui/menu/context.js +1 -11
  300. package/dist/default/ui/menu/context.js.map +1 -1
  301. package/dist/default/ui/menu/index.parts.js +3 -9
  302. package/dist/default/ui/menu/index.parts.js.map +1 -1
  303. package/dist/default/ui/menu/menu-checkbox-item.js +4 -1
  304. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  305. package/dist/default/ui/menu/menu-content.js +78 -236
  306. package/dist/default/ui/menu/menu-content.js.map +1 -1
  307. package/dist/default/ui/menu/menu-item.js +11 -18
  308. package/dist/default/ui/menu/menu-item.js.map +1 -1
  309. package/dist/default/ui/menu/menu-keyboard.js +31 -0
  310. package/dist/default/ui/menu/menu-keyboard.js.map +1 -0
  311. package/dist/default/ui/menu/menu-radio-item.js +8 -6
  312. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  313. package/dist/default/ui/menu/menu-root.js +46 -61
  314. package/dist/default/ui/menu/menu-root.js.map +1 -1
  315. package/dist/default/ui/menu/menu-trigger.js +50 -87
  316. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  317. package/dist/default/ui/mute-button/mute-button.js +2 -1
  318. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  319. package/dist/default/ui/playback-rate/use-playback-rate-options.js +14 -22
  320. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  321. package/dist/default/ui/playback-rate-radio-group/index.js +2 -0
  322. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  323. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  324. package/dist/default/ui/popover/popover-popup.js +10 -80
  325. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  326. package/dist/default/ui/popover/popover-root.js +2 -1
  327. package/dist/default/ui/popover/popover-root.js.map +1 -1
  328. package/dist/default/ui/popover/popover-trigger.js +4 -5
  329. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  330. package/dist/default/ui/popover/use-popup-position.js +34 -0
  331. package/dist/default/ui/popover/use-popup-position.js.map +1 -0
  332. package/dist/default/ui/poster/poster.js +8 -4
  333. package/dist/default/ui/poster/poster.js.map +1 -1
  334. package/dist/default/ui/quality/use-quality-options.js +9 -30
  335. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  336. package/dist/default/ui/quality-radio-group/index.js +2 -0
  337. package/dist/default/ui/quality-radio-group/quality-radio-group.js +66 -0
  338. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  339. package/dist/default/ui/seek-indicator/seek-indicator-root.js +1 -1
  340. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  341. package/dist/default/ui/slider/context.js +7 -2
  342. package/dist/default/ui/slider/context.js.map +1 -1
  343. package/dist/default/ui/slider/slider-preview.js +2 -3
  344. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  345. package/dist/default/ui/slider/slider-root.js +3 -1
  346. package/dist/default/ui/slider/slider-root.js.map +1 -1
  347. package/dist/default/ui/slider/slider-thumbnail.js +2 -2
  348. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  349. package/dist/default/ui/slider/slider-value.js +3 -2
  350. package/dist/default/ui/slider/slider-value.js.map +1 -1
  351. package/dist/default/ui/status-announcer/status-announcer.js +7 -4
  352. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  353. package/dist/default/ui/status-indicator/status-indicator-root.js +2 -2
  354. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  355. package/dist/default/ui/time/time-value.js +13 -5
  356. package/dist/default/ui/time/time-value.js.map +1 -1
  357. package/dist/default/ui/time-slider/index.parts.js +5 -1
  358. package/dist/default/ui/time-slider/index.parts.js.map +1 -1
  359. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  360. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  361. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  362. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  363. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  364. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  365. package/dist/default/ui/time-slider/time-slider-root.js +6 -4
  366. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  367. package/dist/default/ui/tooltip/tooltip-popup.js +13 -82
  368. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  369. package/dist/default/ui/tooltip/tooltip-root.js +5 -1
  370. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  371. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  372. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  373. package/dist/default/ui/volume-indicator/volume-indicator-root.js +1 -1
  374. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  375. package/dist/default/ui/volume-slider/volume-slider-root.js +10 -4
  376. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  377. package/dist/dev/__generated__/skins/default-video/styles/base.css +25 -0
  378. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +152 -0
  379. package/dist/dev/__generated__/skins/default-video/styles/container.css +45 -0
  380. package/dist/dev/__generated__/skins/default-video/styles/controls.css +45 -0
  381. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +11 -0
  382. package/dist/dev/__generated__/skins/default-video/styles/popups.css +45 -0
  383. package/dist/dev/__generated__/skins/default-video/styles/poster.css +47 -0
  384. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +112 -0
  385. package/dist/dev/__generated__/skins/default-video/styles/styles.css +514 -0
  386. package/dist/dev/__generated__/skins/default-video/styles/theme.css +22 -0
  387. package/dist/dev/_virtual/_rolldown/runtime.js +15 -1
  388. package/dist/dev/i18n/context.d.ts.map +1 -1
  389. package/dist/dev/i18n/context.js +3 -3
  390. package/dist/dev/i18n/context.js.map +1 -1
  391. package/dist/dev/i18n/locales/id/register.d.ts +1 -0
  392. package/dist/dev/i18n/locales/id/register.js +8 -0
  393. package/dist/dev/i18n/locales/id/register.js.map +1 -0
  394. package/dist/dev/i18n/locales/id.d.ts +2 -0
  395. package/dist/dev/i18n/locales/id.js +2 -0
  396. package/dist/dev/i18n/locales/lt/register.d.ts +1 -0
  397. package/dist/dev/i18n/locales/lt/register.js +8 -0
  398. package/dist/dev/i18n/locales/lt/register.js.map +1 -0
  399. package/dist/dev/i18n/locales/lt.d.ts +2 -0
  400. package/dist/dev/i18n/locales/lt.js +2 -0
  401. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  402. package/dist/dev/icons/dist/react/default/airplay-exit.js +1 -2
  403. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  404. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  405. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  406. package/dist/dev/icons/dist/react/default/cast-enter.js +2 -45
  407. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  408. package/dist/dev/icons/dist/react/default/cast-exit.js +4 -61
  409. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  410. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  411. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  412. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  413. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  414. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  415. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  416. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  417. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  418. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  419. package/dist/dev/icons/dist/react/default/quality.js +1 -1
  420. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  421. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  422. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  423. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  424. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  425. package/dist/dev/icons/dist/react/default/spinner.js +1 -1
  426. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  427. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  428. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  429. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  430. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  431. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  432. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +1 -2
  433. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  434. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  435. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  436. package/dist/dev/icons/dist/react/minimal/cast-enter.js +2 -45
  437. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  438. package/dist/dev/icons/dist/react/minimal/cast-exit.js +4 -61
  439. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  440. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  441. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  442. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  443. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  444. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  445. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  446. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  447. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  448. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  449. package/dist/dev/icons/dist/react/minimal/quality.js +1 -1
  450. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  451. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  452. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  453. package/dist/dev/icons/dist/react/minimal/speech.js +7 -40
  454. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  455. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  456. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -1
  457. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  458. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  459. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  460. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  461. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  462. package/dist/dev/index.d.ts +18 -2
  463. package/dist/dev/index.d.ts.map +1 -0
  464. package/dist/dev/index.js +7 -3
  465. package/dist/dev/media/cloudflare-video/index.d.ts +2 -0
  466. package/dist/dev/media/cloudflare-video/index.js +2 -0
  467. package/dist/dev/media/cloudflare-video/media.d.ts +13 -0
  468. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -0
  469. package/dist/dev/media/cloudflare-video/media.js +38 -0
  470. package/dist/dev/media/cloudflare-video/media.js.map +1 -0
  471. package/dist/dev/media/google-cast/google-cast.d.ts +3 -3
  472. package/dist/dev/media/google-cast/google-cast.js +3 -3
  473. package/dist/dev/media/google-cast/google-cast.js.map +1 -1
  474. package/dist/dev/media/hls-audio/index.d.ts +2 -0
  475. package/dist/dev/media/hls-audio/index.js +2 -0
  476. package/dist/dev/media/hls-audio/media.d.ts +13 -0
  477. package/dist/dev/media/hls-audio/media.d.ts.map +1 -0
  478. package/dist/dev/media/hls-audio/media.js +21 -0
  479. package/dist/dev/media/hls-audio/media.js.map +1 -0
  480. package/dist/dev/media/hls-background-video/index.d.ts +2 -0
  481. package/dist/dev/media/hls-background-video/index.js +2 -0
  482. package/dist/dev/media/hls-background-video/media.d.ts +28 -0
  483. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -0
  484. package/dist/dev/media/hls-background-video/media.js +45 -0
  485. package/dist/dev/media/hls-background-video/media.js.map +1 -0
  486. package/dist/dev/media/hls-video/index.d.ts +2 -0
  487. package/dist/dev/media/hls-video/index.js +2 -0
  488. package/dist/dev/media/hls-video/media.d.ts +13 -0
  489. package/dist/dev/media/hls-video/media.d.ts.map +1 -0
  490. package/dist/{default/media/simple-hls-video → dev/media/hls-video}/media.js +6 -7
  491. package/dist/dev/media/hls-video/media.js.map +1 -0
  492. package/dist/dev/media/mux-audio/{media.d.ts → hls-js.d.ts} +3 -3
  493. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -0
  494. package/dist/dev/media/mux-audio/{media.js → hls-js.js} +2 -2
  495. package/dist/dev/media/mux-audio/hls-js.js.map +1 -0
  496. package/dist/dev/media/mux-audio/index.d.ts +1 -1
  497. package/dist/dev/media/mux-audio/index.js +1 -1
  498. package/dist/dev/media/mux-audio/spf.d.ts +14 -0
  499. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -0
  500. package/dist/dev/media/mux-audio/spf.js +26 -0
  501. package/dist/dev/media/mux-audio/spf.js.map +1 -0
  502. package/dist/dev/media/mux-background-video/index.d.ts +3 -0
  503. package/dist/dev/media/mux-background-video/index.js +2 -0
  504. package/dist/dev/media/mux-data/mux-data.d.ts +7 -3
  505. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -1
  506. package/dist/dev/media/mux-data/mux-data.js +7 -3
  507. package/dist/dev/media/mux-data/mux-data.js.map +1 -1
  508. package/dist/dev/media/mux-video/{media.d.ts → hls-js.d.ts} +3 -3
  509. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -0
  510. package/dist/dev/media/mux-video/hls-js.js +27 -0
  511. package/dist/dev/media/mux-video/hls-js.js.map +1 -0
  512. package/dist/dev/media/mux-video/index.d.ts +1 -1
  513. package/dist/dev/media/mux-video/index.js +1 -1
  514. package/dist/dev/media/mux-video/spf.d.ts +14 -0
  515. package/dist/dev/media/mux-video/spf.d.ts.map +1 -0
  516. package/dist/dev/media/mux-video/spf.js +27 -0
  517. package/dist/dev/media/mux-video/spf.js.map +1 -0
  518. package/dist/dev/media/mux-video/storyboard.js +43 -0
  519. package/dist/dev/media/mux-video/storyboard.js.map +1 -0
  520. package/dist/dev/media/spotify-audio/index.d.ts +2 -0
  521. package/dist/dev/media/spotify-audio/index.js +2 -0
  522. package/dist/dev/media/spotify-audio/media.d.ts +13 -0
  523. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -0
  524. package/dist/dev/media/spotify-audio/media.js +40 -0
  525. package/dist/dev/media/spotify-audio/media.js.map +1 -0
  526. package/dist/dev/media/tiktok-video/index.d.ts +2 -0
  527. package/dist/dev/media/tiktok-video/index.js +2 -0
  528. package/dist/dev/media/tiktok-video/media.d.ts +13 -0
  529. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -0
  530. package/dist/dev/media/tiktok-video/media.js +38 -0
  531. package/dist/dev/media/tiktok-video/media.js.map +1 -0
  532. package/dist/dev/media/twitch-video/index.d.ts +2 -0
  533. package/dist/dev/media/twitch-video/index.js +2 -0
  534. package/dist/dev/media/twitch-video/media.d.ts +13 -0
  535. package/dist/dev/media/twitch-video/media.d.ts.map +1 -0
  536. package/dist/dev/media/twitch-video/media.js +38 -0
  537. package/dist/dev/media/twitch-video/media.js.map +1 -0
  538. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -1
  539. package/dist/dev/media/vimeo-video/media.js +4 -4
  540. package/dist/dev/media/vimeo-video/media.js.map +1 -1
  541. package/dist/dev/media/youtube-video/index.d.ts +2 -0
  542. package/dist/dev/media/youtube-video/index.js +2 -0
  543. package/dist/dev/media/youtube-video/media.d.ts +13 -0
  544. package/dist/dev/media/youtube-video/media.d.ts.map +1 -0
  545. package/dist/dev/media/youtube-video/media.js +37 -0
  546. package/dist/dev/media/youtube-video/media.js.map +1 -0
  547. package/dist/dev/player/container.d.ts.map +1 -1
  548. package/dist/dev/player/container.js +8 -3
  549. package/dist/dev/player/container.js.map +1 -1
  550. package/dist/dev/player/context.d.ts +7 -8
  551. package/dist/dev/player/context.d.ts.map +1 -1
  552. package/dist/dev/player/context.js +6 -10
  553. package/dist/dev/player/context.js.map +1 -1
  554. package/dist/dev/player/create-player.d.ts +6 -8
  555. package/dist/dev/player/create-player.d.ts.map +1 -1
  556. package/dist/dev/player/create-player.js +45 -14
  557. package/dist/dev/player/create-player.js.map +1 -1
  558. package/dist/dev/player/popup-group-context.js +18 -0
  559. package/dist/dev/player/popup-group-context.js.map +1 -0
  560. package/dist/dev/presets/audio/index.d.ts +2 -1
  561. package/dist/dev/presets/audio/index.js +8 -1
  562. package/dist/dev/presets/audio/index.js.map +1 -0
  563. package/dist/dev/presets/audio/minimal-skin.css +426 -295
  564. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  565. package/dist/dev/presets/audio/minimal-skin.js +12 -19
  566. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  567. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  568. package/dist/dev/presets/audio/minimal-skin.tailwind.js +81 -20
  569. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  570. package/dist/dev/presets/audio/player.d.ts +13 -0
  571. package/dist/dev/presets/audio/player.d.ts.map +1 -0
  572. package/dist/dev/presets/audio/player.js +13 -0
  573. package/dist/dev/presets/audio/player.js.map +1 -0
  574. package/dist/dev/presets/audio/skin.css +458 -341
  575. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  576. package/dist/dev/presets/audio/skin.js +13 -19
  577. package/dist/dev/presets/audio/skin.js.map +1 -1
  578. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  579. package/dist/dev/presets/audio/skin.tailwind.js +14 -19
  580. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  581. package/dist/dev/presets/background/index.d.ts +2 -1
  582. package/dist/dev/presets/background/index.js +8 -1
  583. package/dist/dev/presets/background/index.js.map +1 -0
  584. package/dist/dev/presets/background/player.d.ts +10 -0
  585. package/dist/dev/presets/background/player.d.ts.map +1 -0
  586. package/dist/dev/presets/background/player.js +13 -0
  587. package/dist/dev/presets/background/player.js.map +1 -0
  588. package/dist/dev/presets/background/skin.css +3 -3
  589. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  590. package/dist/dev/presets/live-audio/index.js +8 -1
  591. package/dist/dev/presets/live-audio/index.js.map +1 -0
  592. package/dist/dev/presets/live-audio/minimal-skin.css +426 -295
  593. package/dist/dev/presets/live-audio/minimal-skin.js +2 -2
  594. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  595. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +4 -4
  596. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  597. package/dist/dev/presets/live-audio/player.d.ts +13 -0
  598. package/dist/dev/presets/live-audio/player.d.ts.map +1 -0
  599. package/dist/dev/presets/live-audio/player.js +13 -0
  600. package/dist/dev/presets/live-audio/player.js.map +1 -0
  601. package/dist/dev/presets/live-audio/skin.css +458 -341
  602. package/dist/dev/presets/live-audio/skin.js +2 -2
  603. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  604. package/dist/dev/presets/live-audio/skin.tailwind.js +4 -4
  605. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  606. package/dist/dev/presets/live-video/index.d.ts +2 -1
  607. package/dist/dev/presets/live-video/index.js +8 -1
  608. package/dist/dev/presets/live-video/index.js.map +1 -0
  609. package/dist/dev/presets/live-video/minimal-skin.css +655 -588
  610. package/dist/dev/presets/live-video/minimal-skin.js +12 -12
  611. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  612. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  613. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +27 -26
  614. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  615. package/dist/dev/presets/live-video/player.d.ts +13 -0
  616. package/dist/dev/presets/live-video/player.d.ts.map +1 -0
  617. package/dist/dev/presets/live-video/player.js +13 -0
  618. package/dist/dev/presets/live-video/player.js.map +1 -0
  619. package/dist/dev/presets/live-video/skin.css +656 -618
  620. package/dist/dev/presets/live-video/skin.js +11 -11
  621. package/dist/dev/presets/live-video/skin.js.map +1 -1
  622. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  623. package/dist/dev/presets/live-video/skin.tailwind.js +24 -112
  624. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  625. package/dist/dev/presets/video/index.d.ts +2 -1
  626. package/dist/dev/presets/video/index.js +8 -1
  627. package/dist/dev/presets/video/index.js.map +1 -0
  628. package/dist/dev/presets/video/minimal-skin.css +655 -588
  629. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  630. package/dist/dev/presets/video/minimal-skin.js +212 -211
  631. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  632. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  633. package/dist/dev/presets/video/minimal-skin.tailwind.js +226 -233
  634. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  635. package/dist/dev/presets/video/player.d.ts +13 -0
  636. package/dist/dev/presets/video/player.d.ts.map +1 -0
  637. package/dist/dev/presets/video/player.js +13 -0
  638. package/dist/dev/presets/video/player.js.map +1 -0
  639. package/dist/dev/presets/video/skin.css +656 -618
  640. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  641. package/dist/dev/presets/video/skin.js +212 -207
  642. package/dist/dev/presets/video/skin.js.map +1 -1
  643. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  644. package/dist/dev/presets/video/skin.tailwind.js +224 -227
  645. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  646. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +6 -6
  647. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  648. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  649. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  650. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +4 -4
  651. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  652. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +8 -0
  653. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  654. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  655. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  656. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  657. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  658. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  659. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  660. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  661. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  662. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  663. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  664. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +8 -12
  665. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  666. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  667. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  668. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +1 -1
  669. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  670. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -1
  671. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  672. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  673. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  674. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +17 -9
  675. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  676. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  677. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  678. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  679. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  680. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  681. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  682. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +2 -2
  683. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  684. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  685. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  686. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +22 -19
  687. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  688. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +6 -6
  689. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  690. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  691. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  692. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +4 -4
  693. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  694. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  695. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  696. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  697. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  698. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  699. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  700. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  701. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  702. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  703. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  704. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  705. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  706. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +9 -13
  707. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  708. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  709. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  710. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -2
  711. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  712. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  713. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  714. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  715. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  716. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  717. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  718. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  719. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  720. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  721. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  722. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  723. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  724. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  725. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  726. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +14 -15
  727. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  728. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  729. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  730. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -6
  731. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
  732. package/dist/dev/ui/audio-track/use-audio-track-options.js +9 -27
  733. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  734. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +43 -0
  735. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -0
  736. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  737. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  738. package/dist/dev/ui/audio-track-radio-group/index.d.ts +2 -0
  739. package/dist/dev/ui/audio-track-radio-group/index.js +2 -0
  740. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +43 -0
  741. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -0
  742. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +65 -0
  743. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  744. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -1
  745. package/dist/dev/ui/captions-radio-group/index.js +2 -1
  746. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +6 -6
  747. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  748. package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -33
  749. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  750. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts +11 -0
  751. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -0
  752. package/dist/dev/ui/hooks/create-radio-options-hook.js +46 -0
  753. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -0
  754. package/dist/dev/ui/hooks/use-slider.d.ts +2 -1
  755. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  756. package/dist/dev/ui/hooks/use-slider.js +49 -13
  757. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  758. package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-indicator-visibility.js +1 -1
  759. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  760. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-action-subscription.js +1 -1
  761. package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  762. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  763. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  764. package/dist/dev/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  765. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  766. package/dist/dev/ui/menu/context.d.ts +1 -10
  767. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  768. package/dist/dev/ui/menu/context.js +1 -11
  769. package/dist/dev/ui/menu/context.js.map +1 -1
  770. package/dist/dev/ui/menu/index.parts.d.ts +3 -6
  771. package/dist/dev/ui/menu/index.parts.js +3 -9
  772. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  773. package/dist/dev/ui/menu/menu-checkbox-item.js +4 -1
  774. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  775. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  776. package/dist/dev/ui/menu/menu-content.js +78 -236
  777. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  778. package/dist/dev/ui/menu/menu-item.d.ts +0 -3
  779. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  780. package/dist/dev/ui/menu/menu-item.js +11 -18
  781. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  782. package/dist/dev/ui/menu/menu-keyboard.js +31 -0
  783. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -0
  784. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  785. package/dist/dev/ui/menu/menu-radio-item.js +8 -6
  786. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  787. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  788. package/dist/dev/ui/menu/menu-root.js +46 -61
  789. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  790. package/dist/dev/ui/menu/menu-trigger.d.ts +5 -5
  791. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  792. package/dist/dev/ui/menu/menu-trigger.js +50 -87
  793. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  794. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  795. package/dist/dev/ui/mute-button/mute-button.js +2 -1
  796. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  797. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -7
  798. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  799. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +15 -26
  800. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  801. package/dist/dev/ui/playback-rate-radio-group/index.d.ts +2 -0
  802. package/dist/dev/ui/playback-rate-radio-group/index.js +2 -0
  803. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +43 -0
  804. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -0
  805. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  806. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  807. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  808. package/dist/dev/ui/popover/popover-popup.js +10 -80
  809. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  810. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  811. package/dist/dev/ui/popover/popover-root.js +2 -1
  812. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  813. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  814. package/dist/dev/ui/popover/popover-trigger.js +4 -5
  815. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  816. package/dist/dev/ui/popover/use-popup-position.js +34 -0
  817. package/dist/dev/ui/popover/use-popup-position.js.map +1 -0
  818. package/dist/dev/ui/poster/poster.js +8 -4
  819. package/dist/dev/ui/poster/poster.js.map +1 -1
  820. package/dist/dev/ui/quality/use-quality-options.d.ts +6 -8
  821. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  822. package/dist/dev/ui/quality/use-quality-options.js +10 -34
  823. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  824. package/dist/dev/ui/quality-radio-group/index.d.ts +2 -0
  825. package/dist/dev/ui/quality-radio-group/index.js +2 -0
  826. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +44 -0
  827. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -0
  828. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +66 -0
  829. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  830. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +1 -1
  831. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  832. package/dist/dev/ui/slider/context.js +7 -2
  833. package/dist/dev/ui/slider/context.js.map +1 -1
  834. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  835. package/dist/dev/ui/slider/slider-preview.js +2 -3
  836. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  837. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  838. package/dist/dev/ui/slider/slider-root.js +3 -1
  839. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  840. package/dist/dev/ui/slider/slider-thumbnail.js +2 -2
  841. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  842. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  843. package/dist/dev/ui/slider/slider-value.js +3 -2
  844. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  845. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  846. package/dist/dev/ui/status-announcer/status-announcer.js +7 -4
  847. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  848. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  849. package/dist/dev/ui/status-indicator/status-indicator-root.js +2 -2
  850. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  851. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  852. package/dist/dev/ui/time/time-value.js +13 -5
  853. package/dist/dev/ui/time/time-value.js.map +1 -1
  854. package/dist/dev/ui/time-slider/index.parts.d.ts +4 -2
  855. package/dist/dev/ui/time-slider/index.parts.js +5 -1
  856. package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
  857. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  858. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  859. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts +19 -0
  860. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -0
  861. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  862. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  863. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts +22 -0
  864. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -0
  865. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  866. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  867. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  868. package/dist/dev/ui/time-slider/time-slider-root.js +6 -4
  869. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  870. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  871. package/dist/dev/ui/tooltip/tooltip-popup.js +13 -82
  872. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  873. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  874. package/dist/dev/ui/tooltip/tooltip-root.js +5 -1
  875. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  876. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  877. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  878. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  879. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +1 -1
  880. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  881. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  882. package/dist/dev/ui/volume-slider/volume-slider-root.js +10 -4
  883. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  884. package/docs/README.md +1 -1
  885. package/docs/concepts/cast.md +6 -6
  886. package/docs/concepts/features.md +9 -6
  887. package/docs/concepts/i18n.md +16 -26
  888. package/docs/concepts/media-sources.md +383 -0
  889. package/docs/concepts/mux-data.md +9 -7
  890. package/docs/concepts/overview.md +15 -18
  891. package/docs/concepts/presets.md +18 -19
  892. package/docs/concepts/skins.md +864 -859
  893. package/docs/concepts/ui-components.md +3 -3
  894. package/docs/concepts/why-videojs.md +4 -4
  895. package/docs/how-to/build-your-own-component.md +7 -5
  896. package/docs/how-to/customize-skins.md +2677 -2363
  897. package/docs/how-to/i18n-override-translations.md +3 -3
  898. package/docs/how-to/i18n-register-locale.md +3 -3
  899. package/docs/how-to/i18n-ssr.md +3 -3
  900. package/docs/how-to/i18n-switch-locale.md +3 -3
  901. package/docs/how-to/installation.md +3 -8
  902. package/docs/llms.txt +42 -39
  903. package/docs/reference/airplay-button.md +6 -6
  904. package/docs/reference/audio-track-radio-group.md +198 -29
  905. package/docs/reference/buffering-indicator.md +6 -6
  906. package/docs/reference/captions-button.md +6 -6
  907. package/docs/reference/captions-radio-group.md +206 -29
  908. package/docs/reference/cast-button.md +6 -6
  909. package/docs/reference/controls.md +6 -6
  910. package/docs/reference/create-player.md +22 -31
  911. package/docs/reference/create-translator.md +1 -1
  912. package/docs/reference/dash-video.md +14 -0
  913. package/docs/reference/feature-controls.md +13 -1
  914. package/docs/reference/feature-fullscreen.md +1 -1
  915. package/docs/reference/feature-orientation-lock.md +2 -2
  916. package/docs/reference/feature-text-tracks.md +3 -1
  917. package/docs/reference/feature-volume.md +10 -0
  918. package/docs/reference/fullscreen-button.md +6 -6
  919. package/docs/reference/get-i18n-translations.md +1 -1
  920. package/docs/reference/has-registered-locale.md +1 -1
  921. package/docs/reference/{simple-hls-audio-only.md → hls-audio.md} +5 -5
  922. package/docs/reference/{simple-hls-video.md → hls-video.md} +4 -4
  923. package/docs/reference/hlsjs-video.md +17 -9
  924. package/docs/reference/menu.md +65 -157
  925. package/docs/reference/mute-button.md +60 -18
  926. package/docs/reference/mux-audio.md +1 -107
  927. package/docs/reference/mux-video.md +1 -107
  928. package/docs/reference/native-hls-video.md +24 -0
  929. package/docs/reference/pip-button.md +6 -6
  930. package/docs/reference/play-button.md +6 -6
  931. package/docs/reference/playback-rate-button.md +6 -6
  932. package/docs/reference/playback-rate-radio-group.md +200 -29
  933. package/docs/reference/player-container.md +25 -25
  934. package/docs/reference/player-provider.md +24 -24
  935. package/docs/reference/popover.md +6 -6
  936. package/docs/reference/poster.md +6 -6
  937. package/docs/reference/quality-radio-group.md +200 -31
  938. package/docs/reference/register-i18n.md +1 -1
  939. package/docs/reference/seek-button.md +6 -6
  940. package/docs/reference/slider.md +1 -1
  941. package/docs/reference/thumbnail.md +7 -7
  942. package/docs/reference/time-slider.md +251 -7
  943. package/docs/reference/time.md +78 -34
  944. package/docs/reference/translation-phrases.md +27 -3
  945. package/docs/reference/use-container-attach.md +5 -5
  946. package/docs/reference/use-locale.md +1 -1
  947. package/docs/reference/use-media-attach.md +2 -2
  948. package/docs/reference/use-media.md +16 -10
  949. package/docs/reference/use-player-context.md +2 -7
  950. package/docs/reference/use-player.md +25 -19
  951. package/docs/reference/use-store.md +15 -15
  952. package/docs/reference/volume-slider.md +13 -11
  953. package/package.json +28 -8
  954. package/dist/default/media/mux-audio/media.js.map +0 -1
  955. package/dist/default/media/mux-video/media.js +0 -56
  956. package/dist/default/media/mux-video/media.js.map +0 -1
  957. package/dist/default/media/simple-hls-audio-only/index.js +0 -2
  958. package/dist/default/media/simple-hls-audio-only/media.js +0 -22
  959. package/dist/default/media/simple-hls-audio-only/media.js.map +0 -1
  960. package/dist/default/media/simple-hls-video/index.js +0 -2
  961. package/dist/default/media/simple-hls-video/media.js.map +0 -1
  962. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  963. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  964. package/dist/default/skins/dist/default/default/tailwind/components/root.js +0 -8
  965. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  966. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  967. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  968. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  969. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  970. package/dist/default/tailwind.css +0 -42
  971. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  972. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  973. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  974. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  975. package/dist/default/ui/menu/menu-back.js +0 -34
  976. package/dist/default/ui/menu/menu-back.js.map +0 -1
  977. package/dist/default/ui/menu/menu-item-setting-provider.js +0 -77
  978. package/dist/default/ui/menu/menu-item-setting-provider.js.map +0 -1
  979. package/dist/default/ui/menu/menu-item-value.js +0 -28
  980. package/dist/default/ui/menu/menu-item-value.js.map +0 -1
  981. package/dist/default/ui/menu/menu-view.js +0 -23
  982. package/dist/default/ui/menu/menu-view.js.map +0 -1
  983. package/dist/dev/media/mux-audio/media.d.ts.map +0 -1
  984. package/dist/dev/media/mux-audio/media.js.map +0 -1
  985. package/dist/dev/media/mux-video/media.d.ts.map +0 -1
  986. package/dist/dev/media/mux-video/media.js +0 -56
  987. package/dist/dev/media/mux-video/media.js.map +0 -1
  988. package/dist/dev/media/simple-hls-audio-only/index.d.ts +0 -2
  989. package/dist/dev/media/simple-hls-audio-only/index.js +0 -2
  990. package/dist/dev/media/simple-hls-audio-only/media.d.ts +0 -13
  991. package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +0 -1
  992. package/dist/dev/media/simple-hls-audio-only/media.js +0 -22
  993. package/dist/dev/media/simple-hls-audio-only/media.js.map +0 -1
  994. package/dist/dev/media/simple-hls-video/index.d.ts +0 -2
  995. package/dist/dev/media/simple-hls-video/index.js +0 -2
  996. package/dist/dev/media/simple-hls-video/media.d.ts +0 -13
  997. package/dist/dev/media/simple-hls-video/media.d.ts.map +0 -1
  998. package/dist/dev/media/simple-hls-video/media.js.map +0 -1
  999. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  1000. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  1001. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -8
  1002. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1003. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  1004. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  1005. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  1006. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1007. package/dist/dev/tailwind.css +0 -42
  1008. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  1009. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  1010. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  1011. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  1012. package/dist/dev/ui/menu/menu-back.d.ts +0 -17
  1013. package/dist/dev/ui/menu/menu-back.d.ts.map +0 -1
  1014. package/dist/dev/ui/menu/menu-back.js +0 -34
  1015. package/dist/dev/ui/menu/menu-back.js.map +0 -1
  1016. package/dist/dev/ui/menu/menu-item-setting-provider.js +0 -77
  1017. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +0 -1
  1018. package/dist/dev/ui/menu/menu-item-type.d.ts +0 -5
  1019. package/dist/dev/ui/menu/menu-item-type.d.ts.map +0 -1
  1020. package/dist/dev/ui/menu/menu-item-value.d.ts +0 -12
  1021. package/dist/dev/ui/menu/menu-item-value.d.ts.map +0 -1
  1022. package/dist/dev/ui/menu/menu-item-value.js +0 -28
  1023. package/dist/dev/ui/menu/menu-item-value.js.map +0 -1
  1024. package/dist/dev/ui/menu/menu-view.d.ts +0 -13
  1025. package/dist/dev/ui/menu/menu-view.d.ts.map +0 -1
  1026. package/dist/dev/ui/menu/menu-view.js +0 -23
  1027. package/dist/dev/ui/menu/menu-view.js.map +0 -1
@@ -11,10 +11,6 @@
11
11
  }
12
12
 
13
13
 
14
- /* ==========================================================================
15
- Reset
16
- ========================================================================== */
17
-
18
14
  .media-minimal-skin *,
19
15
  .media-minimal-skin *::before,
20
16
  .media-minimal-skin *::after {
@@ -39,28 +35,37 @@
39
35
  }
40
36
  }
41
37
 
42
- /* ==========================================================================
43
- Root Container
44
- ========================================================================== */
45
-
46
38
  .media-minimal-skin {
47
39
  /* Colors */
48
- --media-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
49
- --media-current-shadow-color-subtle: oklch(from var(--media-current-shadow-color) l c h / calc(alpha * 0.4));
40
+ --accent-color: var(--media-accent-color, var(--default-accent-color));
41
+ --accent-contrast-color: contrast-color(var(--accent-color));
42
+ --accent-background-color: var(
43
+ --media-accent-color,
44
+ oklch(from var(--default-accent-color) l c h / calc(alpha * 0.1))
45
+ );
46
+ --accent-text-color: var(--media-accent-text-color, contrast-color(var(--media-accent-color, oklch(0 0 0))));
47
+ --shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
48
+ --shadow-subtle-current-color: oklch(from var(--shadow-current-color) l c h / calc(alpha * 0.4));
50
49
  --scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);
51
- /* Scaling (used in video fullscreen) */
50
+
51
+ /* Scaling - used in video fullscreen to scale the UI. */
52
52
  --scale: 1;
53
- /* What value and unit to use - 1rem assumes the document font size remains at the default 16px */
54
- --base-size: 1rem;
55
- --size: calc(var(--base-size) * var(--scale));
56
- /* Create a Tailwind-like spacing unit. */
53
+ /* Fixed scaling unit to avoid inheriting the document's root font size. This must be a CSS <length>. */
54
+ --scale-unit: var(--media-scale-unit, 16px);
55
+ --size: calc(var(--scale-unit) * var(--scale));
56
+ /* Create a Tailwind-like spacing unit where 1 equals 4px with default scaling. */
57
57
  --spacing: calc(var(--size) / 4);
58
+
59
+ /* Font sizes */
58
60
  --font-size-medium: calc(0.9375 * var(--size)); /* 15px */
59
61
  --font-size-base: calc(0.8125 * var(--size)); /* 13px */
60
62
  --font-size-small: calc(0.6875 * var(--size)); /* 11px */
61
63
  --font-size-tiny: calc(0.5625 * var(--size)); /* 9px */
62
64
  --media-icon-size: calc(1.125 * var(--size)); /* 18px */
63
65
 
66
+ /* Radii */
67
+ --container-border-radius: var(--media-border-radius, 0.75rem);
68
+
64
69
  position: relative;
65
70
  display: block;
66
71
  width: 100%;
@@ -81,14 +86,14 @@
81
86
  outline-offset: -4px;
82
87
  scrollbar-color: var(--scrollbar-thumb-color) transparent;
83
88
  scrollbar-width: thin;
84
- border-radius: var(--media-border-radius, 0.75rem);
89
+ border-radius: var(--container-border-radius);
85
90
  isolation: isolate;
86
91
  transition-timing-function: ease-out;
87
92
  transition-duration: 100ms;
88
93
  transition-property: outline-offset, outline-color;
89
94
 
90
95
  &:focus-visible {
91
- outline-color: currentColor;
96
+ outline-color: var(--focus-ring-color);
92
97
  outline-offset: 2px;
93
98
  }
94
99
 
@@ -103,10 +108,6 @@
103
108
  }
104
109
  }
105
110
 
106
- /* ==========================================================================
107
- Buffering Indicator
108
- ========================================================================== */
109
-
110
111
  .media-minimal-skin .media-buffering-indicator {
111
112
  position: absolute;
112
113
  inset: 0;
@@ -123,11 +124,11 @@
123
124
  &[data-visible] {
124
125
  display: grid;
125
126
  }
126
- }
127
127
 
128
- /* ==========================================================================
129
- Error Dialog
130
- ========================================================================== */
128
+ @media (prefers-reduced-motion: reduce) {
129
+ --media-spinner-animation: none;
130
+ }
131
+ }
131
132
 
132
133
  .media-minimal-skin .media-error:not([data-open]) {
133
134
  display: none;
@@ -147,7 +148,7 @@
147
148
  display: flex;
148
149
  gap: calc(var(--spacing) * 2);
149
150
 
150
- & > * {
151
+ > * {
151
152
  flex: 1;
152
153
  }
153
154
  }
@@ -156,10 +157,6 @@
156
157
  visibility: hidden;
157
158
  }
158
159
 
159
- /* ==========================================================================
160
- Controls
161
- ========================================================================== */
162
-
163
160
  .media-minimal-skin .media-controls {
164
161
  --media-popover-side-offset: calc(var(--spacing) * (var(--base-side-offset, 2) + 1));
165
162
  --media-tooltip-side-offset: var(--media-popover-side-offset);
@@ -170,15 +167,11 @@
170
167
  align-items: center;
171
168
  padding: calc(var(--spacing) * 1);
172
169
  container: media-controls / inline-size;
173
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
174
- background-color: var(--media-controls-background-color);
175
- backdrop-filter: var(--media-controls-backdrop-filter);
170
+ text-shadow: 0 1px 0 var(--shadow-current-color);
171
+ background-color: var(--controls-background-color);
172
+ backdrop-filter: var(--controls-backdrop-filter);
176
173
  }
177
174
 
178
- /* ==========================================================================
179
- Time Controls & Display
180
- ========================================================================== */
181
-
182
175
  .media-minimal-skin .media-time-controls {
183
176
  display: flex;
184
177
  flex: 1;
@@ -213,7 +206,7 @@
213
206
  }
214
207
 
215
208
  &:focus-visible {
216
- outline-color: currentColor;
209
+ outline-color: var(--focus-ring-color);
217
210
  outline-offset: 2px;
218
211
  }
219
212
  }
@@ -239,10 +232,6 @@
239
232
  }
240
233
  }
241
234
 
242
- /* ==========================================================================
243
- Buttons
244
- ========================================================================== */
245
-
246
235
  /* Base button */
247
236
  .media-minimal-skin .media-button {
248
237
  display: flex;
@@ -267,18 +256,17 @@
267
256
  will-change: scale;
268
257
 
269
258
  &:focus-visible {
270
- outline-color: currentColor;
259
+ outline-color: var(--focus-ring-color);
271
260
  outline-offset: 2px;
272
261
  }
273
262
 
274
263
  &:active:not([aria-disabled="true"]) {
275
- scale: 0.98;
264
+ scale: 0.97;
276
265
  }
277
266
 
278
267
  &[aria-disabled="true"] {
279
268
  cursor: not-allowed;
280
269
  opacity: 0.5;
281
- filter: grayscale(1);
282
270
  }
283
271
  }
284
272
 
@@ -292,9 +280,9 @@
292
280
  /* Primary button variant */
293
281
  .media-minimal-skin .media-button--primary {
294
282
  font-weight: 500;
295
- color: oklch(0 0 0);
283
+ color: var(--accent-contrast-color);
296
284
  text-shadow: none;
297
- background: oklch(1 0 0);
285
+ background: var(--accent-color);
298
286
  }
299
287
 
300
288
  /* Subtle button variant */
@@ -303,10 +291,14 @@
303
291
  text-shadow: inherit;
304
292
  background: transparent;
305
293
 
306
- &:hover,
307
- &:focus-visible,
308
- &[aria-expanded="true"] {
309
- background: oklch(from currentColor l c h / 0.1);
294
+ &:not([aria-disabled="true"]) {
295
+ &:hover,
296
+ &:focus-visible,
297
+ &[aria-expanded="true"] {
298
+ color: var(--accent-text-color);
299
+ text-decoration: none;
300
+ background-color: var(--accent-background-color);
301
+ }
310
302
  }
311
303
  }
312
304
 
@@ -317,26 +309,25 @@
317
309
  padding: 0;
318
310
 
319
311
  &:active:not([aria-disabled="true"]) {
320
- scale: 0.9;
312
+ scale: 0.97;
321
313
  }
322
314
 
323
- & .media-icon__container {
315
+ .media-icon__container {
324
316
  display: grid;
325
317
  }
326
318
 
327
- & .media-icon {
319
+ .media-icon {
328
320
  grid-area: 1 / 1;
329
- transition-behavior: allow-discrete;
330
- transition-property: display, opacity;
331
- transition-duration: 150ms;
321
+ filter: drop-shadow(0 1px 0 var(--shadow-current-color));
332
322
  transition-timing-function: ease-out;
333
- filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
323
+ transition-duration: 150ms;
324
+ transition-property: opacity, scale;
334
325
  }
335
326
  }
336
327
 
337
328
  /* Seek button */
338
329
  .media-minimal-skin .media-button--seek {
339
- & .media-icon__label {
330
+ .media-icon__label {
340
331
  position: absolute;
341
332
  right: -1px;
342
333
  bottom: -3px;
@@ -369,7 +360,7 @@
369
360
 
370
361
  /* Settings button */
371
362
  .media-minimal-skin .media-button--settings {
372
- & .media-icon--settings {
363
+ .media-icon--settings {
373
364
  transition: transform 150ms ease-in-out;
374
365
 
375
366
  @media (prefers-reduced-motion: reduce) {
@@ -414,9 +405,13 @@
414
405
  }
415
406
  }
416
407
 
417
- /* ==========================================================================
418
- Button Groups
419
- ========================================================================== */
408
+ @media (prefers-reduced-motion: reduce) {
409
+ .media-minimal-skin .media-button {
410
+ scale: 1;
411
+ transition-property: background-color, outline-offset;
412
+ will-change: auto;
413
+ }
414
+ }
420
415
 
421
416
  .media-minimal-skin .media-button-group {
422
417
  display: flex;
@@ -424,10 +419,6 @@
424
419
  align-items: center;
425
420
  }
426
421
 
427
- /* ==========================================================================
428
- Badge
429
- ========================================================================== */
430
-
431
422
  .media-minimal-skin .media-badge {
432
423
  padding: calc(var(--spacing) * 1) calc(var(--spacing) * 1.5);
433
424
  font-size: var(--font-size-small);
@@ -439,10 +430,6 @@
439
430
  border-radius: calc(var(--spacing) * 1);
440
431
  }
441
432
 
442
- /* ==========================================================================
443
- Icons
444
- ========================================================================== */
445
-
446
433
  .media-minimal-skin .media-icon__container {
447
434
  position: relative;
448
435
  }
@@ -456,11 +443,11 @@
456
443
  scale: -1 1;
457
444
  }
458
445
 
459
- /* ==========================================================================
460
- Slider
461
- ========================================================================== */
462
-
463
446
  .media-minimal-skin .media-slider {
447
+ --thumb-size: calc(var(--spacing) * 3);
448
+ --thumb-active-size: calc(var(--spacing) * 3);
449
+ --track-border-radius: calc(Infinity * 1px);
450
+
464
451
  position: relative;
465
452
  display: flex;
466
453
  flex: 1;
@@ -468,7 +455,7 @@
468
455
  justify-content: center;
469
456
  cursor: pointer;
470
457
  outline: none;
471
- border-radius: calc(Infinity * 1px);
458
+ border-radius: var(--track-border-radius);
472
459
 
473
460
  &[data-orientation="horizontal"] {
474
461
  width: var(--slider-width, 100%);
@@ -481,7 +468,7 @@
481
468
  }
482
469
 
483
470
  /* Track */
484
- & .media-slider__track {
471
+ .media-slider__track {
485
472
  position: relative;
486
473
  overflow: hidden;
487
474
  user-select: none;
@@ -500,18 +487,18 @@
500
487
  }
501
488
 
502
489
  /* Thumb */
503
- & .media-slider__thumb {
490
+ .media-slider__thumb {
504
491
  position: absolute;
505
492
  z-index: 10;
506
- width: calc(var(--spacing) * 3);
507
- height: calc(var(--spacing) * 3);
493
+ width: var(--thumb-size);
494
+ height: var(--thumb-size);
508
495
  user-select: none;
509
496
  outline: 2px solid transparent;
510
497
  outline-offset: -2px;
511
498
  background-color: currentColor;
512
499
  border-radius: calc(Infinity * 1px);
513
500
  box-shadow:
514
- 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.15)),
501
+ 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
515
502
  0 1px 3px 0 oklch(0 0 0 / 0.15),
516
503
  0 1px 2px -1px oklch(0 0 0 / 0.15);
517
504
  opacity: 0;
@@ -520,7 +507,6 @@
520
507
  translate: -50% -50%;
521
508
  transition-timing-function: ease-out;
522
509
  transition-duration: 150ms;
523
- transition-property: opacity, scale, outline-offset;
524
510
 
525
511
  &[data-orientation="horizontal"] {
526
512
  top: 50%;
@@ -532,67 +518,31 @@
532
518
  }
533
519
 
534
520
  &:focus-visible {
535
- outline-color: currentColor;
521
+ outline-color: var(--focus-ring-color);
536
522
  outline-offset: 2px;
537
523
  }
538
524
  }
539
525
 
540
- &:hover .media-slider__thumb,
541
526
  &:focus-within .media-slider__thumb,
542
- & .media-slider__thumb--persistent {
527
+ .media-slider__thumb--persistent {
528
+ width: var(--thumb-active-size);
529
+ height: var(--thumb-active-size);
543
530
  opacity: 1;
544
531
  scale: 1;
545
532
  }
546
533
 
547
- /* Preview */
548
- & .media-slider__preview {
549
- & .media-slider__value,
550
- &::before {
551
- opacity: 0;
552
- scale: 0.5;
553
- transition-timing-function: ease-out;
554
- transition-duration: 200ms;
555
- transition-property: opacity, scale;
556
- }
557
-
558
- & .media-slider__value {
559
- position: absolute;
560
- bottom: calc(var(--spacing) * 6);
561
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
562
- filter: blur(8px);
563
- translate: -50% calc(var(--spacing) * 2);
564
- transition-property: filter, opacity, scale, translate;
565
- }
566
-
567
- &::before {
568
- display: block;
569
- content: "";
570
- background-color: oklch(from currentColor l c h / 0.35);
571
- }
572
-
573
- &[data-pointing] .media-slider__value,
574
- &[data-pointing]:not([data-dragging])::before {
534
+ @media (hover: hover) and (pointer: fine) {
535
+ &:hover .media-slider__thumb {
536
+ width: var(--thumb-active-size);
537
+ height: var(--thumb-active-size);
575
538
  opacity: 1;
576
539
  scale: 1;
577
540
  }
578
- &[data-pointing] .media-slider__value {
579
- filter: blur(0);
580
- translate: -50% 0;
581
- }
582
-
583
- &[data-orientation="horizontal"]::before {
584
- min-width: 1px;
585
- height: calc(var(--spacing) * 5);
586
- }
587
- &[data-orientation="vertical"]::before {
588
- width: calc(var(--spacing) * 5);
589
- min-height: 1px;
590
- }
591
541
  }
592
542
 
593
543
  /* Shared track fills */
594
- & .media-slider__buffer,
595
- & .media-slider__fill {
544
+ .media-slider__buffer,
545
+ .media-slider__fill {
596
546
  position: absolute;
597
547
  pointer-events: none;
598
548
  border-radius: inherit;
@@ -600,68 +550,264 @@
600
550
  &[data-orientation="horizontal"] {
601
551
  inset-block: 0;
602
552
  left: 0;
553
+ width: 100%;
554
+ transition-property: clip-path;
603
555
  }
604
556
  &[data-orientation="vertical"] {
605
557
  inset-inline: 0;
606
558
  bottom: 0;
559
+ height: 100%;
560
+ transition-property: clip-path;
607
561
  }
608
562
  }
609
563
 
610
564
  /* Buffer */
611
- & .media-slider__buffer {
565
+ .media-slider__buffer {
612
566
  background-color: oklch(from currentColor l c h / 0.2);
613
- transition-timing-function: ease-out;
614
- transition-duration: 0.25s;
615
567
 
616
568
  &[data-orientation="horizontal"] {
617
- width: var(--media-slider-buffer);
618
- transition-property: width;
569
+ clip-path: inset(0 calc(100% - var(--media-slider-buffer)) 0 0 round var(--track-border-radius));
619
570
  }
620
571
  &[data-orientation="vertical"] {
621
- height: var(--media-slider-buffer);
622
- transition-property: height;
572
+ clip-path: inset(calc(100% - var(--media-slider-buffer)) 0 0 0 round var(--track-border-radius));
623
573
  }
624
574
  }
625
575
 
626
576
  /* Fill */
627
- & .media-slider__fill {
628
- background-color: currentColor;
577
+ .media-slider__fill {
578
+ background-color: var(--accent-color);
629
579
 
630
580
  &[data-orientation="horizontal"] {
631
- width: var(--media-slider-fill);
581
+ clip-path: inset(0 calc(100% - var(--media-slider-fill)) 0 0 round var(--track-border-radius));
632
582
  }
633
583
  &[data-orientation="vertical"] {
634
- height: var(--media-slider-fill);
584
+ clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
585
+ }
586
+ }
587
+
588
+ /* Chapters */
589
+ .media-slider__chapters {
590
+ position: relative;
591
+ display: flex;
592
+ flex: 1;
593
+ align-items: center;
594
+ min-width: 0;
595
+ min-height: 0;
596
+ border-radius: inherit;
597
+
598
+ &[data-orientation="horizontal"] {
599
+ width: 100%;
600
+ height: 100%;
601
+ }
602
+ &[data-orientation="vertical"] {
603
+ flex-direction: column-reverse;
604
+ width: 100%;
605
+ height: 100%;
606
+ }
607
+ }
608
+
609
+ .media-slider__chapter {
610
+ --chapter-gap: calc(var(--spacing) * 1);
611
+ --chapter-inset-start: 0.5;
612
+ --chapter-inset-end: 0.5;
613
+ position: absolute;
614
+ inset: 0;
615
+ display: flex;
616
+ align-items: center;
617
+ justify-content: center;
618
+ min-width: 0;
619
+ min-height: 0;
620
+
621
+ &:first-child {
622
+ --chapter-inset-start: 0;
623
+ }
624
+ &:last-child {
625
+ --chapter-inset-end: 0;
626
+ }
627
+
628
+ .media-slider__chapter-track {
629
+ --chapter-track-size: calc(var(--spacing) * 0.75);
630
+ --chapter-track-highlighted-size: calc(var(--spacing) * 1.25);
631
+ border-radius: var(--track-border-radius);
632
+
633
+ @media (prefers-reduced-motion: no-preference) {
634
+ transition: 200ms ease-out;
635
+ transition-property: height, width;
636
+ }
637
+ }
638
+
639
+ &[data-orientation="horizontal"] {
640
+ clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
641
+
642
+ .media-slider__chapter-track {
643
+ height: var(--chapter-track-size);
644
+ clip-path: inset(
645
+ 0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-gap) * var(--chapter-inset-end)) 0
646
+ calc(var(--media-slider-chapter-start) + var(--chapter-gap) * var(--chapter-inset-start)) round
647
+ var(--track-border-radius)
648
+ );
649
+ }
650
+
651
+ &[data-highlighted] .media-slider__chapter-track {
652
+ height: var(--chapter-track-highlighted-size);
653
+ }
654
+ }
655
+
656
+ &[data-orientation="vertical"] {
657
+ clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
658
+
659
+ .media-slider__chapter-track {
660
+ width: var(--chapter-track-size);
661
+ clip-path: inset(
662
+ calc(100% - var(--media-slider-chapter-end) + var(--chapter-gap) * var(--chapter-inset-end)) 0
663
+ calc(var(--media-slider-chapter-start) + var(--chapter-gap) * var(--chapter-inset-start)) 0 round
664
+ var(--track-border-radius)
665
+ );
666
+ }
667
+
668
+ &[data-highlighted] .media-slider__chapter-track {
669
+ width: var(--chapter-track-highlighted-size);
670
+ }
635
671
  }
636
672
  }
637
673
 
638
674
  /* Dragging — thumb and fill follow the pointer position */
639
675
  &[data-dragging] {
640
- & .media-slider__thumb[data-orientation="horizontal"] {
676
+ .media-slider__thumb[data-orientation="horizontal"] {
641
677
  left: var(--media-slider-pointer);
642
678
  }
643
- & .media-slider__thumb[data-orientation="vertical"] {
679
+ .media-slider__thumb[data-orientation="vertical"] {
644
680
  top: calc(100% - var(--media-slider-pointer));
645
681
  }
646
- & .media-slider__fill[data-orientation="horizontal"] {
647
- width: var(--media-slider-pointer);
682
+ .media-slider__fill[data-orientation="horizontal"] {
683
+ clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
648
684
  }
649
- & .media-slider__fill[data-orientation="vertical"] {
650
- height: var(--media-slider-pointer);
685
+ .media-slider__fill[data-orientation="vertical"] {
686
+ clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
651
687
  }
652
688
  }
653
- }
654
689
 
655
- /* ==========================================================================
656
- Popups & Animations
657
- ========================================================================== */
690
+ @media (prefers-reduced-motion: no-preference) {
691
+ .media-slider__thumb {
692
+ transition-property: opacity, scale, height, width, outline-offset, left, top;
693
+ }
694
+ .media-slider__fill {
695
+ transition-timing-function: linear;
696
+ transition-duration: 200ms;
697
+ }
698
+ .media-slider__buffer {
699
+ transition-timing-function: ease-out;
700
+ transition-duration: 250ms;
701
+ }
702
+ }
703
+
704
+ &[data-dragging],
705
+ &[data-seeking] {
706
+ .media-slider__thumb,
707
+ .media-slider__fill,
708
+ .media-slider__buffer {
709
+ transition-duration: 0ms;
710
+ }
711
+ }
712
+
713
+ /* Preview */
714
+ .media-slider__preview {
715
+ --max-width: min(calc(var(--spacing) * 48), 100cqi);
716
+ --max-height: calc(var(--spacing) * 32);
717
+
718
+ min-width: 100%;
719
+ height: calc(var(--spacing) * 1);
720
+
721
+ .media-slider__thumbnail,
722
+ .media-slider__value {
723
+ position: absolute;
724
+ left: var(--preview-left, var(--media-slider-pointer));
725
+ max-width: var(--max-width);
726
+ opacity: 0;
727
+ filter: blur(8px);
728
+ transform-origin: bottom;
729
+ scale: 0.8;
730
+ translate: -50% calc(var(--spacing) * 2);
731
+ transition-timing-function: ease-out;
732
+ transition-duration: 150ms;
733
+ transition-property: filter, opacity, scale;
734
+ }
735
+
736
+ .media-slider__thumbnail {
737
+ --thumbnail-max-width: var(--max-width);
738
+ bottom: calc(100% + (var(--spacing) * 12));
739
+ }
740
+
741
+ .media-slider__value {
742
+ bottom: calc(100% + (var(--spacing) * 5));
743
+ display: flex;
744
+ flex-direction: row-reverse;
745
+ gap: calc(var(--spacing) * 2);
746
+ justify-content: center;
747
+ padding-inline: calc(var(--spacing) * 3);
748
+ text-shadow: 0 1px 0 var(--shadow-current-color);
749
+ }
750
+
751
+ .media-slider__chapter-title {
752
+ min-width: 0;
753
+ overflow: hidden;
754
+ text-overflow: ellipsis;
755
+ white-space: nowrap;
756
+
757
+ &:empty {
758
+ display: none;
759
+ }
760
+ }
761
+
762
+ &::before {
763
+ position: absolute;
764
+ z-index: 1;
765
+ pointer-events: none;
766
+ content: "";
767
+ background-color: oklch(from currentColor l c h / 0.35);
768
+ opacity: 0;
769
+ scale: 0.5;
770
+ translate: -50% -50%;
771
+ transition-timing-function: ease-out;
772
+ transition-duration: 200ms;
773
+ transition-property: opacity, scale;
774
+ }
775
+
776
+ &[data-pointing] .media-slider__value,
777
+ &[data-pointing] .media-slider__thumbnail,
778
+ &[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__value,
779
+ &[data-interactive]:not([data-pointing]):not([data-dragging]) .media-slider__thumbnail {
780
+ opacity: 1;
781
+ filter: blur(0);
782
+ scale: 1;
783
+ }
784
+
785
+ &[data-orientation="horizontal"]::before {
786
+ top: 50%;
787
+ left: var(--media-slider-pointer);
788
+ width: 1px;
789
+ height: calc(var(--spacing) * 5);
790
+ }
791
+ &[data-orientation="vertical"]::before {
792
+ top: calc(100% - var(--media-slider-pointer));
793
+ left: 50%;
794
+ width: calc(var(--spacing) * 5);
795
+ height: 1px;
796
+ }
797
+
798
+ &[data-pointing]:not([data-dragging])::before {
799
+ opacity: 1;
800
+ scale: 1;
801
+ }
802
+ }
803
+ }
658
804
 
659
805
  .media-minimal-skin {
660
- --media-popup-transition:
661
- opacity var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
662
- filter var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
663
- transform var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
664
- scale var(--media-popup-transition-timing-function) var(--media-popup-transition-duration);
806
+ --popup-transition:
807
+ opacity var(--popup-transition-timing-function) var(--popup-transition-duration),
808
+ filter var(--popup-transition-timing-function) var(--popup-transition-duration),
809
+ transform var(--popup-transition-timing-function) var(--popup-transition-duration),
810
+ scale var(--popup-transition-timing-function) var(--popup-transition-duration);
665
811
  }
666
812
 
667
813
  .media-minimal-skin .media-popover,
@@ -671,7 +817,7 @@
671
817
  overflow: visible;
672
818
  color: inherit;
673
819
  border: 0;
674
- transition: var(--media-popup-transition);
820
+ transition: var(--popup-transition);
675
821
 
676
822
  &[data-starting-style],
677
823
  &[data-ending-style] {
@@ -685,7 +831,7 @@
685
831
  filter: blur(4px);
686
832
  transform: none;
687
833
  /* Speed up the exit transition. */
688
- transition-duration: max(0ms, calc(var(--media-popup-transition-duration) - 50ms));
834
+ transition-duration: max(0ms, calc(var(--popup-transition-duration) - 50ms));
689
835
  }
690
836
 
691
837
  &[data-side="top"] {
@@ -751,15 +897,15 @@
751
897
  .media-minimal-skin .media-tooltip {
752
898
  padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2);
753
899
  font-size: var(--font-size-base);
754
- color: var(--media-tooltip-text-color);
900
+ color: var(--tooltip-text-color);
755
901
  white-space: nowrap;
756
- background-color: var(--media-tooltip-background-color);
902
+ background-color: var(--tooltip-background-color);
757
903
  border-radius: calc(var(--spacing) * 2);
758
904
  box-shadow:
759
- 0 0 0 1px var(--media-tooltip-border-color),
905
+ 0 0 0 1px var(--tooltip-border-color),
760
906
  0 4px 6px -1px oklch(0 0 0 / 0.2),
761
907
  0 2px 4px -2px oklch(0 0 0 / 0.2);
762
- backdrop-filter: var(--media-tooltip-backdrop-filter);
908
+ backdrop-filter: var(--tooltip-backdrop-filter);
763
909
 
764
910
  /* `display: flex` must not apply while closed — it overrides UA `[popover]` hiding. */
765
911
  &[data-open] {
@@ -777,7 +923,7 @@
777
923
  width: var(--media-tooltip-side-offset);
778
924
  }
779
925
 
780
- & .media-tooltip__kbd {
926
+ .media-tooltip__kbd {
781
927
  min-width: 1.5em;
782
928
  padding: 0.1em;
783
929
  margin-right: calc(var(--spacing) * -1);
@@ -791,15 +937,10 @@
791
937
  }
792
938
  }
793
939
 
794
- .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
940
+ .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-hidden]) {
795
941
  display: none;
796
942
  }
797
943
 
798
- /* ==========================================================================
799
- Menus
800
- Note: Menus use `.media-popover` styles for positioning and transitions.
801
- ========================================================================== */
802
-
803
944
  .media-minimal-skin .media-menu {
804
945
  --menu-transition-duration: 250ms;
805
946
  --menu-max-height: calc(var(--spacing) * 56);
@@ -813,81 +954,49 @@
813
954
  padding: var(--menu-padding);
814
955
  overflow: auto;
815
956
  overscroll-behavior: none;
816
- background-color: var(--media-popover-background-color);
957
+ background-color: var(--popover-background-color);
817
958
  border-radius: var(--menu-border-radius);
818
959
  box-shadow:
819
- 0 0 0 1px var(--media-popover-border-color),
960
+ 0 0 0 1px var(--popover-border-color),
820
961
  0 4px 6px -1px oklch(0 0 0 / 0.1),
821
962
  0 2px 4px -2px oklch(0 0 0 / 0.1);
822
- backdrop-filter: var(--media-popover-backdrop-filter);
963
+ backdrop-filter: var(--popover-backdrop-filter);
823
964
 
824
965
  @media (prefers-reduced-motion: reduce) {
825
966
  --menu-transition-duration: 0ms;
826
967
  }
827
968
 
828
- & .media-menu__panel {
969
+ & > .media-menu__panel {
829
970
  position: absolute;
830
- inset: 0;
971
+ inset-inline: 0;
972
+ top: 0;
973
+ z-index: 10;
974
+ max-height: inherit;
831
975
  padding: var(--menu-padding);
832
976
  overflow: auto;
833
977
  overscroll-behavior: none;
834
978
  outline: none;
835
979
  translate: 0 0;
836
- transition-timing-function: ease-in-out;
980
+ transition-timing-function: ease-out;
837
981
  transition-duration: var(--menu-transition-duration);
838
982
  transition-property: translate, filter;
839
983
  will-change: translate, filter;
840
984
 
841
- &[data-starting-style],
842
- &[data-ending-style] {
985
+ &:where([data-starting-style], [data-ending-style]) {
843
986
  overflow: hidden;
844
- }
845
-
846
- /* Root settings view — slides out when a submenu is active */
847
- &[data-menu-root-view][data-menu-view-state="inactive"] {
987
+ pointer-events: none;
848
988
  filter: blur(8px);
849
- translate: -100% 0;
850
-
851
- /* Hide the indicator while transitioning */
852
- & .media-menu__group::before {
853
- display: none;
854
- }
855
- }
856
-
857
- /* Submenu panels — slide in/out alongside the root view */
858
- &[data-submenu] {
859
- z-index: 10;
860
-
861
- &:not([data-open], [data-ending-style]) {
862
- translate: -100% 0;
863
- transition-property: none;
864
- }
865
-
866
- &[data-starting-style],
867
- &[data-ending-style] {
868
- pointer-events: none;
869
- filter: blur(8px);
870
- }
871
-
872
- &[data-starting-style][data-direction="forward"],
873
- &[data-ending-style][data-direction="back"] {
874
- translate: 100% 0;
875
- }
876
-
877
- &[data-ending-style][data-direction="forward"],
878
- &[data-starting-style][data-direction="back"] {
879
- translate: -100% 0;
880
- }
989
+ translate: 100% 0;
881
990
  }
882
991
  }
883
992
 
884
- & .media-menu__separator {
993
+ .media-menu__separator {
885
994
  margin: calc(var(--spacing) * 1) 0;
886
995
  border-bottom: 1px solid oklch(1 0 0 / 0.1);
887
996
  }
888
997
 
889
- & .media-menu__group {
890
- anchor-scope: --media-menu-item-highlight-anchor;
998
+ .media-menu__group {
999
+ anchor-scope: --menu-item-highlight-anchor;
891
1000
  display: flex;
892
1001
  flex-direction: column;
893
1002
  gap: calc(var(--spacing) * 0.5);
@@ -895,59 +1004,81 @@
895
1004
  @supports (top: anchor(top)) {
896
1005
  &::before {
897
1006
  position: absolute;
898
- position-anchor: --media-menu-item-highlight-anchor;
1007
+ position-anchor: --menu-item-highlight-anchor;
899
1008
  inset: anchor(inside);
1009
+ /* Firefox treats the moving highlight as a content shift and re-scrolls
1010
+ the menu while hovering. Exclude it from scroll anchoring. */
1011
+ overflow-anchor: none;
900
1012
  pointer-events: none;
901
1013
  content: "";
902
- background-color: oklch(from currentColor l c h / 0.1);
1014
+ background-color: var(--accent-background-color);
903
1015
  border-radius: var(--menu-item-border-radius);
904
- transition: inset ease-in-out 100ms;
1016
+ transition: inset 100ms ease-in-out;
1017
+ }
1018
+
1019
+ &:has([data-highlighted=""])::before {
1020
+ transition-duration: 0ms;
905
1021
  }
906
1022
  }
907
1023
  }
908
1024
 
909
- & .media-menu__item,
910
- & .media-menu__back {
1025
+ .media-menu__item,
1026
+ .media-menu__back {
1027
+ position: relative;
911
1028
  display: flex;
912
1029
  gap: calc(var(--spacing) * 1.5);
913
1030
  align-items: center;
914
1031
  padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);
915
1032
  text-align: left;
916
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
1033
+ text-shadow: 0 1px 0 var(--shadow-current-color);
917
1034
  cursor: pointer;
918
1035
  user-select: none;
919
1036
  outline: 2px solid transparent;
920
1037
  outline-offset: -2px;
921
1038
  border-radius: var(--menu-item-border-radius);
922
1039
  transition: background-color, color;
923
- transition-timing-function: ease-out;
1040
+ transition-timing-function: ease-in-out;
924
1041
  transition-duration: 100ms;
925
1042
 
1043
+ .media-icon {
1044
+ flex-shrink: 0;
1045
+ color: oklch(from currentColor l c h / 0.5);
1046
+ filter: drop-shadow(0 1px 0 var(--shadow-current-color));
1047
+ }
1048
+
926
1049
  &:focus-visible {
927
- outline-color: currentColor;
1050
+ outline-color: var(--focus-ring-color);
928
1051
  outline-offset: 2px;
929
1052
  }
930
1053
 
931
1054
  &:hover,
932
1055
  &[data-highlighted] {
933
- background-color: oklch(from currentColor l c h / 0.1);
1056
+ color: var(--accent-text-color);
1057
+ background-color: var(--accent-background-color);
1058
+
1059
+ .media-icon {
1060
+ color: inherit;
1061
+ }
934
1062
  }
935
1063
 
936
- & .media-icon {
937
- flex-shrink: 0;
938
- color: oklch(from currentColor l c h / 0.5);
939
- filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
1064
+ @supports (top: anchor(top)) {
1065
+ transition-duration: 50ms;
1066
+
1067
+ &:hover,
1068
+ &[data-highlighted] {
1069
+ transition-duration: 200ms;
1070
+ }
940
1071
  }
941
1072
  }
942
1073
 
943
- & .media-menu__indicator {
1074
+ .media-menu__indicator {
944
1075
  flex-shrink: 0;
945
1076
  margin-right: calc(var(--spacing) * -1);
946
1077
  margin-left: auto;
947
1078
  opacity: 0;
948
1079
  }
949
1080
 
950
- & .media-menu__item {
1081
+ .media-menu__item {
951
1082
  justify-content: space-between;
952
1083
  font-variant-numeric: tabular-nums;
953
1084
  color: inherit;
@@ -967,16 +1098,15 @@
967
1098
  display: none;
968
1099
  }
969
1100
 
970
- &:hover,
971
1101
  &[data-highlighted] {
972
1102
  @supports (top: anchor(top)) {
973
- anchor-name: --media-menu-item-highlight-anchor;
1103
+ anchor-name: --menu-item-highlight-anchor;
974
1104
  background-color: transparent;
975
1105
  }
976
1106
  }
977
1107
  }
978
1108
 
979
- & .media-menu__tier {
1109
+ .media-menu__tier {
980
1110
  padding-top: 1px;
981
1111
  padding-left: calc(var(--spacing) * 0.5);
982
1112
  font-size: var(--font-size-tiny);
@@ -985,12 +1115,12 @@
985
1115
  color: oklch(from currentColor l c h / 0.7);
986
1116
  }
987
1117
 
988
- & .media-menu__back {
1118
+ .media-menu__back {
989
1119
  width: 100%;
990
1120
  margin-bottom: calc(var(--spacing) * 0.5);
991
1121
  }
992
1122
 
993
- & .media-menu__hint {
1123
+ .media-menu__hint {
994
1124
  display: inline-flex;
995
1125
  gap: calc(var(--spacing) * 1);
996
1126
  align-items: center;
@@ -1000,14 +1130,14 @@
1000
1130
  color: oklch(from currentColor l c h / 0.65);
1001
1131
  }
1002
1132
 
1003
- & .media-menu__hint-label {
1133
+ .media-menu__hint-label {
1004
1134
  max-width: calc(var(--spacing) * 24);
1005
1135
  overflow: hidden;
1006
1136
  text-overflow: ellipsis;
1007
1137
  white-space: nowrap;
1008
1138
  }
1009
1139
 
1010
- & .media-menu__chevron {
1140
+ .media-menu__chevron {
1011
1141
  width: calc(var(--spacing) * 3.5);
1012
1142
  height: calc(var(--spacing) * 3.5);
1013
1143
  }
@@ -1018,16 +1148,35 @@
1018
1148
  min-width: calc(var(--spacing) * 48);
1019
1149
  height: var(--media-menu-height);
1020
1150
  overflow: hidden;
1021
- /* Add height and width transitions. */
1151
+ /* Only the menu size changes between panels. */
1022
1152
  transition:
1023
- var(--media-popup-transition),
1024
- height var(--media-popup-transition-timing-function) var(--menu-transition-duration),
1025
- width var(--media-popup-transition-timing-function) var(--menu-transition-duration);
1153
+ var(--popup-transition),
1154
+ width var(--popup-transition-timing-function) var(--menu-transition-duration),
1155
+ height var(--popup-transition-timing-function) var(--menu-transition-duration);
1156
+
1157
+ & > :not([data-submenu]) {
1158
+ translate: 0 0;
1159
+ transition:
1160
+ translate var(--menu-transition-duration) ease-out,
1161
+ filter var(--menu-transition-duration) ease-out;
1162
+ will-change: translate, filter;
1163
+ }
1164
+
1165
+ &[data-submenu-expanded="true"] > :not([data-submenu]) {
1166
+ filter: blur(8px);
1167
+ translate: -100% 0;
1168
+ }
1026
1169
 
1027
- /* Don't transition width and height on open/close. */
1170
+ /* WebKit can restart the covered-content transition while the
1171
+ anchor-positioned highlight remains active. */
1172
+ &[data-submenu-expanded] > :not([data-submenu])::before {
1173
+ display: none;
1174
+ }
1175
+
1176
+ /* Don't transition size on open/close. */
1028
1177
  &[data-starting-style],
1029
1178
  &[data-ending-style] {
1030
- transition: var(--media-popup-transition);
1179
+ transition: var(--popup-transition);
1031
1180
  }
1032
1181
  }
1033
1182
  }
@@ -1035,9 +1184,8 @@
1035
1184
  /* ==========================================================================
1036
1185
  Icon State Visibility for Audio Skins
1037
1186
 
1038
- Data-attribute-driven visibility rules for multi-state icon buttons.
1039
- Uses :is() with both element selectors (for HTML custom element wrappers)
1040
- and class selectors (for React rendered SVG elements).
1187
+ Data-attribute-driven visibility rules for multi-state icon buttons shared
1188
+ by the HTML and React skins.
1041
1189
  ========================================================================== */
1042
1190
 
1043
1191
  /* --- All icons hidden by default --- */
@@ -1072,56 +1220,45 @@
1072
1220
  }
1073
1221
 
1074
1222
 
1075
- /* ==========================================================================
1076
- Root
1077
- ========================================================================== */
1223
+ /* Container */
1078
1224
 
1079
1225
  .media-minimal-skin--audio {
1080
- --media-controls-background-color: oklch(1 0 0);
1081
- --media-controls-backdrop-filter: blur(16px) saturate(1.5);
1082
- --media-controls-border-color: oklch(0 0 0 / 0.1);
1083
- --media-controls-text-color: var(--media-color-primary, oklch(0 0 0));
1226
+ --default-accent-color: light-dark(oklch(0 0 0), oklch(1 0 0));
1227
+ --focus-ring-color: light-dark(oklch(0 0 0), oklch(1 0 0));
1084
1228
 
1085
- --media-error-dialog-transition-duration: 250ms;
1086
- --media-error-dialog-transition-delay: 100ms;
1229
+ --controls-background-color: light-dark(oklch(1 0 0), oklch(0 0 0));
1230
+ --controls-backdrop-filter: blur(16px) saturate(1.5);
1231
+ --controls-border-color: light-dark(oklch(0 0 0 / 0.1), oklch(1 0 0 / 0.1));
1232
+ --controls-text-color: light-dark(oklch(0 0 0), oklch(1 0 0));
1087
1233
 
1088
- --media-popup-transition-duration: 100ms;
1089
- --media-popup-transition-timing-function: ease-out;
1234
+ --error-dialog-transition-duration: 250ms;
1235
+ --error-dialog-transition-delay: 100ms;
1090
1236
 
1091
- --media-popover-backdrop-filter: blur(16px) saturate(1.5);
1092
- --media-popover-background-color: oklch(1 0 0);
1093
- --media-popover-border-color: oklch(0 0 0 / 0.1);
1237
+ --popup-transition-duration: 100ms;
1238
+ --popup-transition-timing-function: ease-out;
1094
1239
 
1095
- --media-tooltip-backdrop-filter: var(--media-popover-backdrop-filter);
1096
- --media-tooltip-background-color: var(--media-popover-background-color);
1097
- --media-tooltip-border-color: var(--media-popover-border-color);
1240
+ --popover-backdrop-filter: blur(16px) saturate(1.5);
1241
+ --popover-background-color: light-dark(oklch(1 0 0), oklch(0 0 0));
1242
+ --popover-border-color: oklch(0 0 0 / 0.1);
1098
1243
 
1099
- --media-tooltip-text-color: currentColor;
1244
+ --tooltip-backdrop-filter: var(--popover-backdrop-filter);
1245
+ --tooltip-background-color: var(--popover-background-color);
1246
+ --tooltip-border-color: var(--popover-border-color);
1100
1247
 
1101
- @media (prefers-reduced-motion: reduce) {
1102
- --media-error-dialog-transition-duration: 50ms;
1103
- --media-error-dialog-transition-delay: 0ms;
1104
- --media-popup-transition-duration: 0ms;
1105
- }
1248
+ --tooltip-text-color: currentColor;
1106
1249
 
1107
- @media (prefers-color-scheme: dark) {
1108
- --media-controls-background-color: oklch(0 0 0);
1109
- --media-controls-border-color: oklch(1 0 0 / 0.1);
1110
- --media-controls-text-color: var(--media-color-primary, oklch(1 0 0));
1250
+ @media (prefers-reduced-motion: reduce) {
1251
+ --error-dialog-transition-duration: 50ms;
1252
+ --error-dialog-transition-delay: 0ms;
1253
+ --popup-transition-duration: 0ms;
1111
1254
  }
1112
1255
 
1113
1256
  @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1114
- --media-tooltip-background-color: oklch(1 0 0);
1115
- }
1116
-
1117
- @media (prefers-color-scheme: dark) and ((prefers-reduced-transparency: reduce) or (prefers-contrast: more)) {
1118
- --media-tooltip-background-color: oklch(0 0 0);
1257
+ --tooltip-background-color: light-dark(oklch(1 0 0), oklch(0 0 0));
1119
1258
  }
1120
1259
  }
1121
1260
 
1122
- /* ==========================================================================
1123
- Error Dialog
1124
- ========================================================================== */
1261
+ /* Error Dialog */
1125
1262
 
1126
1263
  .media-minimal-skin--audio .media-error__dialog {
1127
1264
  position: absolute;
@@ -1131,11 +1268,11 @@
1131
1268
  gap: calc(var(--spacing) * 4);
1132
1269
  align-items: center;
1133
1270
  padding-inline: calc(var(--spacing) * 5) calc(var(--spacing) * 2);
1134
- background-color: oklch(from var(--media-controls-background-color) l c h / 1);
1271
+ background-color: oklch(from var(--controls-background-color) l c h / 1);
1135
1272
  border-radius: calc(Infinity * 1px);
1136
- transition-delay: var(--media-error-dialog-transition-delay);
1273
+ transition-delay: var(--error-dialog-transition-delay);
1137
1274
  transition-timing-function: ease-out;
1138
- transition-duration: var(--media-error-dialog-transition-duration);
1275
+ transition-duration: var(--error-dialog-transition-duration);
1139
1276
  transition-property: opacity, filter, scale;
1140
1277
  }
1141
1278
 
@@ -1156,23 +1293,19 @@
1156
1293
  align-items: center;
1157
1294
  }
1158
1295
 
1159
- /* ==========================================================================
1160
- Controls
1161
- ========================================================================== */
1296
+ /* Controls */
1162
1297
 
1163
1298
  .media-minimal-skin--audio .media-controls {
1164
1299
  --base-side-offset: 2;
1165
1300
  --base-boundary-offset: 2;
1166
1301
 
1167
1302
  gap: calc(var(--spacing) * 2);
1168
- color: var(--media-controls-text-color);
1303
+ color: var(--controls-text-color);
1169
1304
  border-radius: var(--media-border-radius, calc(var(--spacing) * 3.5));
1170
- box-shadow: 0 0 0 1px var(--media-controls-border-color);
1305
+ box-shadow: 0 0 0 1px var(--controls-border-color);
1171
1306
  }
1172
1307
 
1173
- /* ==========================================================================
1174
- Buffering (spinner over play button — overlay only, no layout change)
1175
- ========================================================================== */
1308
+ /* Buffering (spinner over play button — overlay only, no layout change) */
1176
1309
 
1177
1310
  .media-minimal-skin--audio .media-button--play__wrapper {
1178
1311
  position: relative;
@@ -1190,14 +1323,12 @@
1190
1323
  opacity: 0;
1191
1324
  }
1192
1325
 
1193
- /* ==========================================================================
1194
- Popups & Animations
1195
- ========================================================================== */
1326
+ /* Popups & Animations */
1196
1327
 
1197
1328
  .media-minimal-skin--audio .media-popover--volume {
1198
1329
  --media-popover-side-offset: 0rem;
1199
1330
  padding: 0 calc(var(--spacing) * 2) 0 calc(var(--spacing) * 16);
1200
- background: linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);
1331
+ background: linear-gradient(to left, var(--controls-background-color) 80%, transparent 100%);
1201
1332
  }
1202
1333
 
1203
1334
  .media-minimal-skin--audio .media-slider .media-slider__preview .media-slider__value {