@videojs/react 10.0.0-beta.25 → 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 (1994) 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 +36 -0
  12. package/dist/default/i18n/context.js.map +1 -0
  13. package/dist/default/i18n/create-i18n.js +76 -0
  14. package/dist/default/i18n/create-i18n.js.map +1 -0
  15. package/dist/default/i18n/get-provider-root-props.js +40 -0
  16. package/dist/default/i18n/get-provider-root-props.js.map +1 -0
  17. package/dist/default/i18n/index.js +5 -0
  18. package/dist/default/i18n/locales/all/register.js +8 -0
  19. package/dist/default/i18n/locales/all/register.js.map +1 -0
  20. package/dist/default/i18n/locales/all.js +2 -0
  21. package/dist/default/i18n/locales/ar/register.js +8 -0
  22. package/dist/default/i18n/locales/ar/register.js.map +1 -0
  23. package/dist/default/i18n/locales/ar.js +2 -0
  24. package/dist/default/i18n/locales/az/register.js +8 -0
  25. package/dist/default/i18n/locales/az/register.js.map +1 -0
  26. package/dist/default/i18n/locales/az.js +2 -0
  27. package/dist/default/i18n/locales/bg/register.js +8 -0
  28. package/dist/default/i18n/locales/bg/register.js.map +1 -0
  29. package/dist/default/i18n/locales/bg.js +2 -0
  30. package/dist/default/i18n/locales/bn/register.js +8 -0
  31. package/dist/default/i18n/locales/bn/register.js.map +1 -0
  32. package/dist/default/i18n/locales/bn.js +2 -0
  33. package/dist/default/i18n/locales/bs/register.js +8 -0
  34. package/dist/default/i18n/locales/bs/register.js.map +1 -0
  35. package/dist/default/i18n/locales/bs.js +2 -0
  36. package/dist/default/i18n/locales/ca/register.js +8 -0
  37. package/dist/default/i18n/locales/ca/register.js.map +1 -0
  38. package/dist/default/i18n/locales/ca.js +2 -0
  39. package/dist/default/i18n/locales/cs/register.js +8 -0
  40. package/dist/default/i18n/locales/cs/register.js.map +1 -0
  41. package/dist/default/i18n/locales/cs.js +2 -0
  42. package/dist/default/i18n/locales/cy/register.js +8 -0
  43. package/dist/default/i18n/locales/cy/register.js.map +1 -0
  44. package/dist/default/i18n/locales/cy.js +2 -0
  45. package/dist/default/i18n/locales/da/register.js +8 -0
  46. package/dist/default/i18n/locales/da/register.js.map +1 -0
  47. package/dist/default/i18n/locales/da.js +2 -0
  48. package/dist/default/i18n/locales/de/register.js +8 -0
  49. package/dist/default/i18n/locales/de/register.js.map +1 -0
  50. package/dist/default/i18n/locales/de.js +2 -0
  51. package/dist/default/i18n/locales/el/register.js +8 -0
  52. package/dist/default/i18n/locales/el/register.js.map +1 -0
  53. package/dist/default/i18n/locales/el.js +2 -0
  54. package/dist/default/i18n/locales/en/register.js +8 -0
  55. package/dist/default/i18n/locales/en/register.js.map +1 -0
  56. package/dist/default/i18n/locales/en.js +2 -0
  57. package/dist/default/i18n/locales/es/register.js +8 -0
  58. package/dist/default/i18n/locales/es/register.js.map +1 -0
  59. package/dist/default/i18n/locales/es.js +2 -0
  60. package/dist/default/i18n/locales/et/register.js +8 -0
  61. package/dist/default/i18n/locales/et/register.js.map +1 -0
  62. package/dist/default/i18n/locales/et.js +2 -0
  63. package/dist/default/i18n/locales/eu/register.js +8 -0
  64. package/dist/default/i18n/locales/eu/register.js.map +1 -0
  65. package/dist/default/i18n/locales/eu.js +2 -0
  66. package/dist/default/i18n/locales/fa/register.js +8 -0
  67. package/dist/default/i18n/locales/fa/register.js.map +1 -0
  68. package/dist/default/i18n/locales/fa.js +2 -0
  69. package/dist/default/i18n/locales/fi/register.js +8 -0
  70. package/dist/default/i18n/locales/fi/register.js.map +1 -0
  71. package/dist/default/i18n/locales/fi.js +2 -0
  72. package/dist/default/i18n/locales/fr/register.js +8 -0
  73. package/dist/default/i18n/locales/fr/register.js.map +1 -0
  74. package/dist/default/i18n/locales/fr.js +2 -0
  75. package/dist/default/i18n/locales/gd/register.js +8 -0
  76. package/dist/default/i18n/locales/gd/register.js.map +1 -0
  77. package/dist/default/i18n/locales/gd.js +2 -0
  78. package/dist/default/i18n/locales/gl/register.js +8 -0
  79. package/dist/default/i18n/locales/gl/register.js.map +1 -0
  80. package/dist/default/i18n/locales/gl.js +2 -0
  81. package/dist/default/i18n/locales/he/register.js +8 -0
  82. package/dist/default/i18n/locales/he/register.js.map +1 -0
  83. package/dist/default/i18n/locales/he.js +2 -0
  84. package/dist/default/i18n/locales/hi/register.js +8 -0
  85. package/dist/default/i18n/locales/hi/register.js.map +1 -0
  86. package/dist/default/i18n/locales/hi.js +2 -0
  87. package/dist/default/i18n/locales/hr/register.js +8 -0
  88. package/dist/default/i18n/locales/hr/register.js.map +1 -0
  89. package/dist/default/i18n/locales/hr.js +2 -0
  90. package/dist/default/i18n/locales/hu/register.js +8 -0
  91. package/dist/default/i18n/locales/hu/register.js.map +1 -0
  92. package/dist/default/i18n/locales/hu.js +2 -0
  93. package/dist/default/i18n/locales/id/register.js +8 -0
  94. package/dist/default/i18n/locales/id/register.js.map +1 -0
  95. package/dist/default/i18n/locales/id.js +2 -0
  96. package/dist/default/i18n/locales/it/register.js +8 -0
  97. package/dist/default/i18n/locales/it/register.js.map +1 -0
  98. package/dist/default/i18n/locales/it.js +2 -0
  99. package/dist/default/i18n/locales/ja/register.js +8 -0
  100. package/dist/default/i18n/locales/ja/register.js.map +1 -0
  101. package/dist/default/i18n/locales/ja.js +2 -0
  102. package/dist/default/i18n/locales/ko/register.js +8 -0
  103. package/dist/default/i18n/locales/ko/register.js.map +1 -0
  104. package/dist/default/i18n/locales/ko.js +2 -0
  105. package/dist/default/i18n/locales/lt/register.js +8 -0
  106. package/dist/default/i18n/locales/lt/register.js.map +1 -0
  107. package/dist/default/i18n/locales/lt.js +2 -0
  108. package/dist/default/i18n/locales/lv/register.js +8 -0
  109. package/dist/default/i18n/locales/lv/register.js.map +1 -0
  110. package/dist/default/i18n/locales/lv.js +2 -0
  111. package/dist/default/i18n/locales/mr/register.js +8 -0
  112. package/dist/default/i18n/locales/mr/register.js.map +1 -0
  113. package/dist/default/i18n/locales/mr.js +2 -0
  114. package/dist/default/i18n/locales/nb/register.js +8 -0
  115. package/dist/default/i18n/locales/nb/register.js.map +1 -0
  116. package/dist/default/i18n/locales/nb.js +2 -0
  117. package/dist/default/i18n/locales/ne/register.js +8 -0
  118. package/dist/default/i18n/locales/ne/register.js.map +1 -0
  119. package/dist/default/i18n/locales/ne.js +2 -0
  120. package/dist/default/i18n/locales/nl/register.js +8 -0
  121. package/dist/default/i18n/locales/nl/register.js.map +1 -0
  122. package/dist/default/i18n/locales/nl.js +2 -0
  123. package/dist/default/i18n/locales/nn/register.js +8 -0
  124. package/dist/default/i18n/locales/nn/register.js.map +1 -0
  125. package/dist/default/i18n/locales/nn.js +2 -0
  126. package/dist/default/i18n/locales/oc/register.js +8 -0
  127. package/dist/default/i18n/locales/oc/register.js.map +1 -0
  128. package/dist/default/i18n/locales/oc.js +2 -0
  129. package/dist/default/i18n/locales/pl/register.js +8 -0
  130. package/dist/default/i18n/locales/pl/register.js.map +1 -0
  131. package/dist/default/i18n/locales/pl.js +2 -0
  132. package/dist/default/i18n/locales/pt/register.js +8 -0
  133. package/dist/default/i18n/locales/pt/register.js.map +1 -0
  134. package/dist/default/i18n/locales/pt-BR/register.js +8 -0
  135. package/dist/default/i18n/locales/pt-BR/register.js.map +1 -0
  136. package/dist/default/i18n/locales/pt-BR.js +2 -0
  137. package/dist/default/i18n/locales/pt-PT/register.js +8 -0
  138. package/dist/default/i18n/locales/pt-PT/register.js.map +1 -0
  139. package/dist/default/i18n/locales/pt-PT.js +2 -0
  140. package/dist/default/i18n/locales/pt.js +2 -0
  141. package/dist/default/i18n/locales/ro/register.js +8 -0
  142. package/dist/default/i18n/locales/ro/register.js.map +1 -0
  143. package/dist/default/i18n/locales/ro.js +2 -0
  144. package/dist/default/i18n/locales/ru/register.js +8 -0
  145. package/dist/default/i18n/locales/ru/register.js.map +1 -0
  146. package/dist/default/i18n/locales/ru.js +2 -0
  147. package/dist/default/i18n/locales/sk/register.js +8 -0
  148. package/dist/default/i18n/locales/sk/register.js.map +1 -0
  149. package/dist/default/i18n/locales/sk.js +2 -0
  150. package/dist/default/i18n/locales/sl/register.js +8 -0
  151. package/dist/default/i18n/locales/sl/register.js.map +1 -0
  152. package/dist/default/i18n/locales/sl.js +2 -0
  153. package/dist/default/i18n/locales/sr/register.js +8 -0
  154. package/dist/default/i18n/locales/sr/register.js.map +1 -0
  155. package/dist/default/i18n/locales/sr.js +2 -0
  156. package/dist/default/i18n/locales/sv/register.js +8 -0
  157. package/dist/default/i18n/locales/sv/register.js.map +1 -0
  158. package/dist/default/i18n/locales/sv.js +2 -0
  159. package/dist/default/i18n/locales/te/register.js +8 -0
  160. package/dist/default/i18n/locales/te/register.js.map +1 -0
  161. package/dist/default/i18n/locales/te.js +2 -0
  162. package/dist/default/i18n/locales/th/register.js +8 -0
  163. package/dist/default/i18n/locales/th/register.js.map +1 -0
  164. package/dist/default/i18n/locales/th.js +2 -0
  165. package/dist/default/i18n/locales/tr/register.js +8 -0
  166. package/dist/default/i18n/locales/tr/register.js.map +1 -0
  167. package/dist/default/i18n/locales/tr.js +2 -0
  168. package/dist/default/i18n/locales/uk/register.js +8 -0
  169. package/dist/default/i18n/locales/uk/register.js.map +1 -0
  170. package/dist/default/i18n/locales/uk.js +2 -0
  171. package/dist/default/i18n/locales/vi/register.js +8 -0
  172. package/dist/default/i18n/locales/vi/register.js.map +1 -0
  173. package/dist/default/i18n/locales/vi.js +2 -0
  174. package/dist/default/i18n/locales/zh/register.js +8 -0
  175. package/dist/default/i18n/locales/zh/register.js.map +1 -0
  176. package/dist/default/i18n/locales/zh-CN/register.js +8 -0
  177. package/dist/default/i18n/locales/zh-CN/register.js.map +1 -0
  178. package/dist/default/i18n/locales/zh-CN.js +2 -0
  179. package/dist/default/i18n/locales/zh-TW/register.js +8 -0
  180. package/dist/default/i18n/locales/zh-TW/register.js.map +1 -0
  181. package/dist/default/i18n/locales/zh-TW.js +2 -0
  182. package/dist/default/i18n/locales/zh.js +2 -0
  183. package/dist/default/i18n/use-ambient-lang.js +15 -0
  184. package/dist/default/i18n/use-ambient-lang.js.map +1 -0
  185. package/dist/default/i18n/use-lang-root-element.js +28 -0
  186. package/dist/default/i18n/use-lang-root-element.js.map +1 -0
  187. package/dist/default/i18n/use-lazy-translations.js +37 -0
  188. package/dist/default/i18n/use-lazy-translations.js.map +1 -0
  189. package/dist/default/i18n/use-locale-root-notifications.js +27 -0
  190. package/dist/default/i18n/use-locale-root-notifications.js.map +1 -0
  191. package/dist/default/i18n/use-merged-translations.js +22 -0
  192. package/dist/default/i18n/use-merged-translations.js.map +1 -0
  193. package/dist/default/i18n/use-registry-epoch.js +14 -0
  194. package/dist/default/i18n/use-registry-epoch.js.map +1 -0
  195. package/dist/default/icons/dist/react/default/airplay-enter.js.map +1 -1
  196. package/dist/default/icons/dist/react/default/airplay-exit.js +1 -2
  197. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  198. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  199. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  200. package/dist/default/icons/dist/react/default/cast-enter.js +2 -45
  201. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  202. package/dist/default/icons/dist/react/default/cast-exit.js +4 -61
  203. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  204. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  205. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  206. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  207. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  208. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  209. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  210. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  211. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  212. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  213. package/dist/default/icons/dist/react/default/quality.js +1 -1
  214. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  215. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  216. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  217. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  218. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  219. package/dist/default/icons/dist/react/default/spinner.js +1 -1
  220. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  221. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  222. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  223. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  224. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  225. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  226. package/dist/default/icons/dist/react/minimal/airplay-exit.js +1 -2
  227. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  228. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  229. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  230. package/dist/default/icons/dist/react/minimal/cast-enter.js +2 -45
  231. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  232. package/dist/default/icons/dist/react/minimal/cast-exit.js +4 -61
  233. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  234. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  235. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  236. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  237. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  238. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  239. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  240. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  241. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  242. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  243. package/dist/default/icons/dist/react/minimal/quality.js +1 -1
  244. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  245. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  246. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  247. package/dist/default/icons/dist/react/minimal/speech.js +7 -40
  248. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  249. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  250. package/dist/default/icons/dist/react/minimal/spinner.js +1 -1
  251. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  252. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  253. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  254. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  255. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  256. package/dist/default/index.js +15 -5
  257. package/dist/default/media/audio.js.map +1 -1
  258. package/dist/default/media/background-video/index.js +1 -25
  259. package/dist/default/media/background-video/media.js +26 -0
  260. package/dist/default/media/background-video/{index.js.map → media.js.map} +1 -1
  261. package/dist/default/media/cloudflare-video/index.js +2 -0
  262. package/dist/default/media/cloudflare-video/media.js +38 -0
  263. package/dist/default/media/cloudflare-video/media.js.map +1 -0
  264. package/dist/default/media/dash-video/index.js +1 -24
  265. package/dist/default/media/dash-video/media.js +21 -0
  266. package/dist/default/media/dash-video/media.js.map +1 -0
  267. package/dist/default/media/google-cast/google-cast.js +28 -0
  268. package/dist/default/media/google-cast/google-cast.js.map +1 -0
  269. package/dist/default/media/google-cast/index.js +2 -0
  270. package/dist/default/media/hls-audio/index.js +2 -0
  271. package/dist/default/media/hls-audio/media.js +21 -0
  272. package/dist/default/media/hls-audio/media.js.map +1 -0
  273. package/dist/default/media/hls-background-video/index.js +2 -0
  274. package/dist/default/media/hls-background-video/media.js +45 -0
  275. package/dist/default/media/hls-background-video/media.js.map +1 -0
  276. package/dist/default/media/hls-video/index.js +2 -0
  277. package/dist/default/media/hls-video/media.js +21 -0
  278. package/dist/default/media/hls-video/media.js.map +1 -0
  279. package/dist/default/media/hlsjs-video/index.js +1 -24
  280. package/dist/default/media/hlsjs-video/media.js +21 -0
  281. package/dist/default/media/hlsjs-video/media.js.map +1 -0
  282. package/dist/default/media/mux-audio/hls-js.js +26 -0
  283. package/dist/default/media/mux-audio/hls-js.js.map +1 -0
  284. package/dist/default/media/mux-audio/index.js +1 -26
  285. package/dist/default/media/mux-audio/spf.js +26 -0
  286. package/dist/default/media/mux-audio/spf.js.map +1 -0
  287. package/dist/default/media/mux-background-video/index.js +2 -0
  288. package/dist/default/media/mux-data/index.js +2 -0
  289. package/dist/default/media/mux-data/mux-data.js +41 -0
  290. package/dist/default/media/mux-data/mux-data.js.map +1 -0
  291. package/dist/default/media/mux-video/hls-js.js +27 -0
  292. package/dist/default/media/mux-video/hls-js.js.map +1 -0
  293. package/dist/default/media/mux-video/index.js +1 -26
  294. package/dist/default/media/mux-video/spf.js +27 -0
  295. package/dist/default/media/mux-video/spf.js.map +1 -0
  296. package/dist/default/media/mux-video/storyboard.js +43 -0
  297. package/dist/default/media/mux-video/storyboard.js.map +1 -0
  298. package/dist/default/media/native-hls-video/index.js +1 -24
  299. package/dist/default/media/{simple-hls-video/index.js → native-hls-video/media.js} +7 -8
  300. package/dist/default/media/native-hls-video/media.js.map +1 -0
  301. package/dist/default/media/spotify-audio/index.js +2 -0
  302. package/dist/default/media/spotify-audio/media.js +40 -0
  303. package/dist/default/media/spotify-audio/media.js.map +1 -0
  304. package/dist/default/media/tiktok-video/index.js +2 -0
  305. package/dist/default/media/tiktok-video/media.js +38 -0
  306. package/dist/default/media/tiktok-video/media.js.map +1 -0
  307. package/dist/default/media/twitch-video/index.js +2 -0
  308. package/dist/default/media/twitch-video/media.js +38 -0
  309. package/dist/default/media/twitch-video/media.js.map +1 -0
  310. package/dist/default/media/video.js.map +1 -1
  311. package/dist/default/media/vimeo-video/index.js +1 -36
  312. package/dist/default/media/vimeo-video/media.js +37 -0
  313. package/dist/default/media/vimeo-video/media.js.map +1 -0
  314. package/dist/default/media/youtube-video/index.js +2 -0
  315. package/dist/default/media/youtube-video/media.js +37 -0
  316. package/dist/default/media/youtube-video/media.js.map +1 -0
  317. package/dist/default/player/container.js +46 -0
  318. package/dist/default/player/container.js.map +1 -0
  319. package/dist/default/player/context.js +7 -34
  320. package/dist/default/player/context.js.map +1 -1
  321. package/dist/default/player/create-player.js +45 -13
  322. package/dist/default/player/create-player.js.map +1 -1
  323. package/dist/default/player/popup-group-context.js +18 -0
  324. package/dist/default/player/popup-group-context.js.map +1 -0
  325. package/dist/default/presets/audio/index.js +8 -1
  326. package/dist/default/presets/audio/index.js.map +1 -0
  327. package/dist/default/presets/audio/minimal-skin.css +599 -453
  328. package/dist/default/presets/audio/minimal-skin.js +24 -33
  329. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  330. package/dist/default/presets/audio/minimal-skin.tailwind.js +94 -35
  331. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  332. package/dist/default/presets/audio/player.js +13 -0
  333. package/dist/default/presets/audio/player.js.map +1 -0
  334. package/dist/default/presets/audio/skin.css +613 -466
  335. package/dist/default/presets/audio/skin.js +23 -31
  336. package/dist/default/presets/audio/skin.js.map +1 -1
  337. package/dist/default/presets/audio/skin.tailwind.js +28 -36
  338. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  339. package/dist/default/presets/background/index.js +9 -2
  340. package/dist/default/presets/background/index.js.map +1 -0
  341. package/dist/default/presets/background/player.js +13 -0
  342. package/dist/default/presets/background/player.js.map +1 -0
  343. package/dist/default/presets/background/skin.css +3 -3
  344. package/dist/default/presets/background/skin.js.map +1 -1
  345. package/dist/default/presets/live-audio/index.js +8 -1
  346. package/dist/default/presets/live-audio/index.js.map +1 -0
  347. package/dist/default/presets/live-audio/minimal-skin.css +599 -453
  348. package/dist/default/presets/live-audio/minimal-skin.js +9 -14
  349. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  350. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +12 -17
  351. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  352. package/dist/default/presets/live-audio/player.js +13 -0
  353. package/dist/default/presets/live-audio/player.js.map +1 -0
  354. package/dist/default/presets/live-audio/skin.css +613 -466
  355. package/dist/default/presets/live-audio/skin.js +9 -14
  356. package/dist/default/presets/live-audio/skin.js.map +1 -1
  357. package/dist/default/presets/live-audio/skin.tailwind.js +12 -17
  358. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  359. package/dist/default/presets/live-video/index.js +8 -1
  360. package/dist/default/presets/live-video/index.js.map +1 -0
  361. package/dist/default/presets/live-video/minimal-skin.css +899 -798
  362. package/dist/default/presets/live-video/minimal-skin.js +45 -44
  363. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  364. package/dist/default/presets/live-video/minimal-skin.tailwind.js +61 -59
  365. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  366. package/dist/default/presets/live-video/player.js +13 -0
  367. package/dist/default/presets/live-video/player.js.map +1 -0
  368. package/dist/default/presets/live-video/skin.css +936 -808
  369. package/dist/default/presets/live-video/skin.js +96 -95
  370. package/dist/default/presets/live-video/skin.js.map +1 -1
  371. package/dist/default/presets/live-video/skin.tailwind.js +106 -193
  372. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  373. package/dist/default/presets/video/index.js +8 -1
  374. package/dist/default/presets/video/index.js.map +1 -0
  375. package/dist/default/presets/video/minimal-skin.css +899 -798
  376. package/dist/default/presets/video/minimal-skin.js +255 -285
  377. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  378. package/dist/default/presets/video/minimal-skin.tailwind.js +271 -309
  379. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  380. package/dist/default/presets/video/player.js +13 -0
  381. package/dist/default/presets/video/player.js.map +1 -0
  382. package/dist/default/presets/video/skin.css +936 -808
  383. package/dist/default/presets/video/skin.js +328 -335
  384. package/dist/default/presets/video/skin.js.map +1 -1
  385. package/dist/default/presets/video/skin.tailwind.js +285 -312
  386. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  387. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +20 -14
  388. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  389. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +1 -1
  390. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  391. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  392. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  393. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  394. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  395. package/dist/default/skins/dist/default/default/tailwind/components/button.js +10 -5
  396. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  397. package/dist/default/skins/dist/default/default/tailwind/components/container.js +8 -0
  398. package/dist/default/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  399. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  400. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  401. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  402. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  403. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  404. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  405. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  406. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  407. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  408. package/dist/default/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  409. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +14 -14
  410. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  411. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  412. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  413. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  414. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +3 -3
  415. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  416. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -1
  417. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  418. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  419. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  420. package/dist/default/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  421. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
  422. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  423. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +17 -9
  424. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  425. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  426. package/dist/default/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  427. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  428. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  429. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  430. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  431. package/dist/default/skins/dist/default/default/tailwind/components/time.js +3 -3
  432. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  433. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  434. package/dist/default/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  435. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +39 -32
  436. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  437. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +16 -14
  438. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  439. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  440. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  441. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  442. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  443. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  444. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  445. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +15 -5
  446. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  447. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  448. package/dist/default/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  449. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  450. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  451. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  452. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  453. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  454. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  455. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  456. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  457. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  458. package/dist/default/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  459. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +14 -14
  460. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  461. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  462. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  463. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  464. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
  465. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  466. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  467. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  468. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  469. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  470. package/dist/default/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  471. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  472. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  473. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  474. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  475. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  476. package/dist/default/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  477. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  478. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  479. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  480. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  481. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  482. package/dist/default/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  483. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +29 -29
  484. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  485. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  486. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  487. package/dist/default/ui/airplay-button/airplay-button.js +2 -1
  488. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
  489. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  490. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  491. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  492. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  493. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  494. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  495. package/dist/default/ui/alert-dialog/index.parts.js +1 -1
  496. package/dist/default/ui/audio-track/use-audio-track-options.js +14 -20
  497. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  498. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  499. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  500. package/dist/default/ui/audio-track-radio-group/index.js +2 -0
  501. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  502. package/dist/default/ui/captions-button/captions-button.js +2 -1
  503. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  504. package/dist/default/ui/captions-radio-group/captions-radio-group.js +65 -0
  505. package/dist/default/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  506. package/dist/default/ui/captions-radio-group/index.js +2 -1
  507. package/dist/default/ui/captions-radio-group/use-captions-options.js +19 -25
  508. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  509. package/dist/default/ui/cast-button/cast-button.js +2 -1
  510. package/dist/default/ui/cast-button/cast-button.js.map +1 -1
  511. package/dist/default/ui/controls/context.js.map +1 -1
  512. package/dist/default/ui/controls/controls-group.js.map +1 -1
  513. package/dist/default/ui/controls/controls-root.js +5 -1
  514. package/dist/default/ui/controls/controls-root.js.map +1 -1
  515. package/dist/default/ui/controls/index.parts.js +1 -1
  516. package/dist/default/ui/create-context-part.js.map +1 -1
  517. package/dist/default/ui/create-media-button.js +21 -8
  518. package/dist/default/ui/create-media-button.js.map +1 -1
  519. package/dist/default/ui/error-dialog/context.js.map +1 -1
  520. package/dist/default/ui/error-dialog/error-dialog-close.js +36 -0
  521. package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -0
  522. package/dist/default/ui/error-dialog/error-dialog-description.js +7 -2
  523. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
  524. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
  525. package/dist/default/ui/error-dialog/error-dialog-title.js +30 -0
  526. package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -0
  527. package/dist/default/ui/error-dialog/index.parts.js +5 -5
  528. package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
  529. package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -1
  530. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  531. package/dist/default/ui/gesture/gesture.js.map +1 -1
  532. package/dist/default/ui/gesture/use-doubletap-gesture.js +1 -2
  533. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  534. package/dist/default/ui/gesture/use-tap-gesture.js +1 -2
  535. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  536. package/dist/default/ui/hooks/create-radio-options-hook.js +43 -0
  537. package/dist/default/ui/hooks/create-radio-options-hook.js.map +1 -0
  538. package/dist/default/ui/hooks/use-button.js.map +1 -1
  539. package/dist/default/ui/hooks/use-positioned-state.js +39 -0
  540. package/dist/default/ui/hooks/use-positioned-state.js.map +1 -0
  541. package/dist/default/ui/hooks/use-slider.js +49 -13
  542. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  543. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  544. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  545. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  546. package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-indicator-visibility.js +1 -1
  547. package/dist/default/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  548. package/dist/{dev/ui/input-indicators → default/ui/input-indicator}/use-input-action-subscription.js +1 -1
  549. package/dist/default/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  550. package/dist/default/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  551. package/dist/default/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  552. package/dist/default/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  553. package/dist/default/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  554. package/dist/default/ui/live-button/live-button.js +9 -5
  555. package/dist/default/ui/live-button/live-button.js.map +1 -1
  556. package/dist/default/ui/menu/context.js +1 -11
  557. package/dist/default/ui/menu/context.js.map +1 -1
  558. package/dist/default/ui/menu/index.parts.js +3 -9
  559. package/dist/default/ui/menu/index.parts.js.map +1 -1
  560. package/dist/default/ui/menu/menu-checkbox-item.js +4 -1
  561. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  562. package/dist/default/ui/menu/menu-content.js +79 -223
  563. package/dist/default/ui/menu/menu-content.js.map +1 -1
  564. package/dist/default/ui/menu/menu-group-label.js.map +1 -1
  565. package/dist/default/ui/menu/menu-group.js.map +1 -1
  566. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  567. package/dist/default/ui/menu/menu-item.js +11 -18
  568. package/dist/default/ui/menu/menu-item.js.map +1 -1
  569. package/dist/default/ui/menu/menu-keyboard.js +31 -0
  570. package/dist/default/ui/menu/menu-keyboard.js.map +1 -0
  571. package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
  572. package/dist/default/ui/menu/menu-radio-item.js +8 -6
  573. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  574. package/dist/default/ui/menu/menu-root.js +49 -59
  575. package/dist/default/ui/menu/menu-root.js.map +1 -1
  576. package/dist/default/ui/menu/menu-separator.js.map +1 -1
  577. package/dist/default/ui/menu/menu-trigger.js +50 -87
  578. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  579. package/dist/default/ui/menu/use-menu-group.js.map +1 -1
  580. package/dist/default/ui/mute-button/mute-button.js +2 -1
  581. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  582. package/dist/default/ui/pip-button/pip-button.js +2 -1
  583. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  584. package/dist/default/ui/play-button/play-button.js.map +1 -1
  585. package/dist/default/ui/playback-rate/use-playback-rate-options.js +20 -22
  586. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  587. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  588. package/dist/default/ui/playback-rate-radio-group/index.js +2 -0
  589. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  590. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  591. package/dist/default/ui/popover/context.js.map +1 -1
  592. package/dist/default/ui/popover/index.parts.js +1 -1
  593. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  594. package/dist/default/ui/popover/popover-popup.js +14 -74
  595. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  596. package/dist/default/ui/popover/popover-root.js +8 -3
  597. package/dist/default/ui/popover/popover-root.js.map +1 -1
  598. package/dist/default/ui/popover/popover-trigger.js +4 -5
  599. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  600. package/dist/default/ui/popover/use-popup-position.js +34 -0
  601. package/dist/default/ui/popover/use-popup-position.js.map +1 -0
  602. package/dist/default/ui/poster/poster.js +8 -4
  603. package/dist/default/ui/poster/poster.js.map +1 -1
  604. package/dist/default/ui/quality/use-quality-options.js +16 -27
  605. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  606. package/dist/default/ui/quality-radio-group/index.js +2 -0
  607. package/dist/default/ui/quality-radio-group/quality-radio-group.js +66 -0
  608. package/dist/default/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  609. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  610. package/dist/default/ui/seek-indicator/context.js.map +1 -1
  611. package/dist/default/ui/seek-indicator/index.parts.js +1 -1
  612. package/dist/default/ui/seek-indicator/seek-indicator-root.js +1 -1
  613. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  614. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  615. package/dist/default/ui/slider/context.js +7 -2
  616. package/dist/default/ui/slider/context.js.map +1 -1
  617. package/dist/default/ui/slider/index.parts.js +1 -1
  618. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  619. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  620. package/dist/default/ui/slider/slider-preview.js +2 -3
  621. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  622. package/dist/default/ui/slider/slider-root.js +13 -2
  623. package/dist/default/ui/slider/slider-root.js.map +1 -1
  624. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  625. package/dist/default/ui/slider/slider-thumbnail.js +2 -2
  626. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  627. package/dist/default/ui/slider/slider-track.js.map +1 -1
  628. package/dist/default/ui/slider/slider-value.js +3 -2
  629. package/dist/default/ui/slider/slider-value.js.map +1 -1
  630. package/dist/default/ui/status-announcer/status-announcer.js +22 -10
  631. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  632. package/dist/default/ui/status-indicator/context.js.map +1 -1
  633. package/dist/default/ui/status-indicator/index.parts.js +1 -1
  634. package/dist/default/ui/status-indicator/status-indicator-root.js +6 -5
  635. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  636. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -1
  637. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  638. package/dist/default/ui/time/index.parts.js +1 -1
  639. package/dist/default/ui/time/time-group.js.map +1 -1
  640. package/dist/default/ui/time/time-separator.js.map +1 -1
  641. package/dist/default/ui/time/time-value.js +22 -5
  642. package/dist/default/ui/time/time-value.js.map +1 -1
  643. package/dist/default/ui/time-slider/index.parts.js +5 -1
  644. package/dist/default/ui/time-slider/index.parts.js.map +1 -1
  645. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  646. package/dist/default/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  647. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  648. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  649. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  650. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  651. package/dist/default/ui/time-slider/time-slider-root.js +21 -6
  652. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  653. package/dist/default/ui/tooltip/context.js.map +1 -1
  654. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  655. package/dist/default/ui/tooltip/index.parts.js +1 -1
  656. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  657. package/dist/default/ui/tooltip/tooltip-label.js.map +1 -1
  658. package/dist/default/ui/tooltip/tooltip-popup.js +17 -76
  659. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  660. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  661. package/dist/default/ui/tooltip/tooltip-root.js +11 -3
  662. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  663. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
  664. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  665. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  666. package/dist/default/ui/volume-indicator/context.js.map +1 -1
  667. package/dist/default/ui/volume-indicator/index.parts.js +1 -1
  668. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  669. package/dist/default/ui/volume-indicator/volume-indicator-root.js +7 -3
  670. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  671. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  672. package/dist/default/ui/volume-slider/index.parts.js +1 -1
  673. package/dist/default/ui/volume-slider/volume-slider-root.js +24 -6
  674. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  675. package/dist/default/utils/merge-props.js.map +1 -1
  676. package/dist/default/utils/use-attach-iframe.js.map +1 -1
  677. package/dist/default/utils/use-attach-media.js.map +1 -1
  678. package/dist/default/utils/use-composed-refs.js.map +1 -1
  679. package/dist/default/utils/use-destroy.js.map +1 -1
  680. package/dist/default/utils/use-force-render.js.map +1 -1
  681. package/dist/default/utils/use-latest-ref.js.map +1 -1
  682. package/dist/default/utils/use-media-component.js +29 -0
  683. package/dist/default/utils/use-media-component.js.map +1 -0
  684. package/dist/default/utils/use-media-instance.js +1 -1
  685. package/dist/default/utils/use-media-instance.js.map +1 -1
  686. package/dist/default/utils/use-render.js.map +1 -1
  687. package/dist/default/utils/use-safe-id.js.map +1 -1
  688. package/dist/default/utils/use-sync-props.js +11 -2
  689. package/dist/default/utils/use-sync-props.js.map +1 -1
  690. package/dist/dev/__generated__/skins/default-video/styles/base.css +25 -0
  691. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +152 -0
  692. package/dist/dev/__generated__/skins/default-video/styles/container.css +45 -0
  693. package/dist/dev/__generated__/skins/default-video/styles/controls.css +45 -0
  694. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +11 -0
  695. package/dist/dev/__generated__/skins/default-video/styles/popups.css +45 -0
  696. package/dist/dev/__generated__/skins/default-video/styles/poster.css +47 -0
  697. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +112 -0
  698. package/dist/dev/__generated__/skins/default-video/styles/styles.css +514 -0
  699. package/dist/dev/__generated__/skins/default-video/styles/theme.css +22 -0
  700. package/dist/dev/_virtual/_rolldown/runtime.js +15 -1
  701. package/dist/dev/i18n/context.d.ts +29 -0
  702. package/dist/dev/i18n/context.d.ts.map +1 -0
  703. package/dist/dev/i18n/context.js +36 -0
  704. package/dist/dev/i18n/context.js.map +1 -0
  705. package/dist/dev/i18n/create-i18n.d.ts +61 -0
  706. package/dist/dev/i18n/create-i18n.d.ts.map +1 -0
  707. package/dist/dev/i18n/create-i18n.js +76 -0
  708. package/dist/dev/i18n/create-i18n.js.map +1 -0
  709. package/dist/dev/i18n/get-provider-root-props.js +40 -0
  710. package/dist/dev/i18n/get-provider-root-props.js.map +1 -0
  711. package/dist/dev/i18n/index.d.ts +4 -0
  712. package/dist/dev/i18n/index.js +5 -0
  713. package/dist/dev/i18n/locales/all/register.d.ts +1 -0
  714. package/dist/dev/i18n/locales/all/register.js +8 -0
  715. package/dist/dev/i18n/locales/all/register.js.map +1 -0
  716. package/dist/dev/i18n/locales/all.d.ts +2 -0
  717. package/dist/dev/i18n/locales/all.js +2 -0
  718. package/dist/dev/i18n/locales/ar/register.d.ts +1 -0
  719. package/dist/dev/i18n/locales/ar/register.js +8 -0
  720. package/dist/dev/i18n/locales/ar/register.js.map +1 -0
  721. package/dist/dev/i18n/locales/ar.d.ts +2 -0
  722. package/dist/dev/i18n/locales/ar.js +2 -0
  723. package/dist/dev/i18n/locales/az/register.d.ts +1 -0
  724. package/dist/dev/i18n/locales/az/register.js +8 -0
  725. package/dist/dev/i18n/locales/az/register.js.map +1 -0
  726. package/dist/dev/i18n/locales/az.d.ts +2 -0
  727. package/dist/dev/i18n/locales/az.js +2 -0
  728. package/dist/dev/i18n/locales/bg/register.d.ts +1 -0
  729. package/dist/dev/i18n/locales/bg/register.js +8 -0
  730. package/dist/dev/i18n/locales/bg/register.js.map +1 -0
  731. package/dist/dev/i18n/locales/bg.d.ts +2 -0
  732. package/dist/dev/i18n/locales/bg.js +2 -0
  733. package/dist/dev/i18n/locales/bn/register.d.ts +1 -0
  734. package/dist/dev/i18n/locales/bn/register.js +8 -0
  735. package/dist/dev/i18n/locales/bn/register.js.map +1 -0
  736. package/dist/dev/i18n/locales/bn.d.ts +2 -0
  737. package/dist/dev/i18n/locales/bn.js +2 -0
  738. package/dist/dev/i18n/locales/bs/register.d.ts +1 -0
  739. package/dist/dev/i18n/locales/bs/register.js +8 -0
  740. package/dist/dev/i18n/locales/bs/register.js.map +1 -0
  741. package/dist/dev/i18n/locales/bs.d.ts +2 -0
  742. package/dist/dev/i18n/locales/bs.js +2 -0
  743. package/dist/dev/i18n/locales/ca/register.d.ts +1 -0
  744. package/dist/dev/i18n/locales/ca/register.js +8 -0
  745. package/dist/dev/i18n/locales/ca/register.js.map +1 -0
  746. package/dist/dev/i18n/locales/ca.d.ts +2 -0
  747. package/dist/dev/i18n/locales/ca.js +2 -0
  748. package/dist/dev/i18n/locales/cs/register.d.ts +1 -0
  749. package/dist/dev/i18n/locales/cs/register.js +8 -0
  750. package/dist/dev/i18n/locales/cs/register.js.map +1 -0
  751. package/dist/dev/i18n/locales/cs.d.ts +2 -0
  752. package/dist/dev/i18n/locales/cs.js +2 -0
  753. package/dist/dev/i18n/locales/cy/register.d.ts +1 -0
  754. package/dist/dev/i18n/locales/cy/register.js +8 -0
  755. package/dist/dev/i18n/locales/cy/register.js.map +1 -0
  756. package/dist/dev/i18n/locales/cy.d.ts +2 -0
  757. package/dist/dev/i18n/locales/cy.js +2 -0
  758. package/dist/dev/i18n/locales/da/register.d.ts +1 -0
  759. package/dist/dev/i18n/locales/da/register.js +8 -0
  760. package/dist/dev/i18n/locales/da/register.js.map +1 -0
  761. package/dist/dev/i18n/locales/da.d.ts +2 -0
  762. package/dist/dev/i18n/locales/da.js +2 -0
  763. package/dist/dev/i18n/locales/de/register.d.ts +1 -0
  764. package/dist/dev/i18n/locales/de/register.js +8 -0
  765. package/dist/dev/i18n/locales/de/register.js.map +1 -0
  766. package/dist/dev/i18n/locales/de.d.ts +2 -0
  767. package/dist/dev/i18n/locales/de.js +2 -0
  768. package/dist/dev/i18n/locales/el/register.d.ts +1 -0
  769. package/dist/dev/i18n/locales/el/register.js +8 -0
  770. package/dist/dev/i18n/locales/el/register.js.map +1 -0
  771. package/dist/dev/i18n/locales/el.d.ts +2 -0
  772. package/dist/dev/i18n/locales/el.js +2 -0
  773. package/dist/dev/i18n/locales/en/register.d.ts +1 -0
  774. package/dist/dev/i18n/locales/en/register.js +8 -0
  775. package/dist/dev/i18n/locales/en/register.js.map +1 -0
  776. package/dist/dev/i18n/locales/en.d.ts +2 -0
  777. package/dist/dev/i18n/locales/en.js +2 -0
  778. package/dist/dev/i18n/locales/es/register.d.ts +1 -0
  779. package/dist/dev/i18n/locales/es/register.js +8 -0
  780. package/dist/dev/i18n/locales/es/register.js.map +1 -0
  781. package/dist/dev/i18n/locales/es.d.ts +2 -0
  782. package/dist/dev/i18n/locales/es.js +2 -0
  783. package/dist/dev/i18n/locales/et/register.d.ts +1 -0
  784. package/dist/dev/i18n/locales/et/register.js +8 -0
  785. package/dist/dev/i18n/locales/et/register.js.map +1 -0
  786. package/dist/dev/i18n/locales/et.d.ts +2 -0
  787. package/dist/dev/i18n/locales/et.js +2 -0
  788. package/dist/dev/i18n/locales/eu/register.d.ts +1 -0
  789. package/dist/dev/i18n/locales/eu/register.js +8 -0
  790. package/dist/dev/i18n/locales/eu/register.js.map +1 -0
  791. package/dist/dev/i18n/locales/eu.d.ts +2 -0
  792. package/dist/dev/i18n/locales/eu.js +2 -0
  793. package/dist/dev/i18n/locales/fa/register.d.ts +1 -0
  794. package/dist/dev/i18n/locales/fa/register.js +8 -0
  795. package/dist/dev/i18n/locales/fa/register.js.map +1 -0
  796. package/dist/dev/i18n/locales/fa.d.ts +2 -0
  797. package/dist/dev/i18n/locales/fa.js +2 -0
  798. package/dist/dev/i18n/locales/fi/register.d.ts +1 -0
  799. package/dist/dev/i18n/locales/fi/register.js +8 -0
  800. package/dist/dev/i18n/locales/fi/register.js.map +1 -0
  801. package/dist/dev/i18n/locales/fi.d.ts +2 -0
  802. package/dist/dev/i18n/locales/fi.js +2 -0
  803. package/dist/dev/i18n/locales/fr/register.d.ts +1 -0
  804. package/dist/dev/i18n/locales/fr/register.js +8 -0
  805. package/dist/dev/i18n/locales/fr/register.js.map +1 -0
  806. package/dist/dev/i18n/locales/fr.d.ts +2 -0
  807. package/dist/dev/i18n/locales/fr.js +2 -0
  808. package/dist/dev/i18n/locales/gd/register.d.ts +1 -0
  809. package/dist/dev/i18n/locales/gd/register.js +8 -0
  810. package/dist/dev/i18n/locales/gd/register.js.map +1 -0
  811. package/dist/dev/i18n/locales/gd.d.ts +2 -0
  812. package/dist/dev/i18n/locales/gd.js +2 -0
  813. package/dist/dev/i18n/locales/gl/register.d.ts +1 -0
  814. package/dist/dev/i18n/locales/gl/register.js +8 -0
  815. package/dist/dev/i18n/locales/gl/register.js.map +1 -0
  816. package/dist/dev/i18n/locales/gl.d.ts +2 -0
  817. package/dist/dev/i18n/locales/gl.js +2 -0
  818. package/dist/dev/i18n/locales/he/register.d.ts +1 -0
  819. package/dist/dev/i18n/locales/he/register.js +8 -0
  820. package/dist/dev/i18n/locales/he/register.js.map +1 -0
  821. package/dist/dev/i18n/locales/he.d.ts +2 -0
  822. package/dist/dev/i18n/locales/he.js +2 -0
  823. package/dist/dev/i18n/locales/hi/register.d.ts +1 -0
  824. package/dist/dev/i18n/locales/hi/register.js +8 -0
  825. package/dist/dev/i18n/locales/hi/register.js.map +1 -0
  826. package/dist/dev/i18n/locales/hi.d.ts +2 -0
  827. package/dist/dev/i18n/locales/hi.js +2 -0
  828. package/dist/dev/i18n/locales/hr/register.d.ts +1 -0
  829. package/dist/dev/i18n/locales/hr/register.js +8 -0
  830. package/dist/dev/i18n/locales/hr/register.js.map +1 -0
  831. package/dist/dev/i18n/locales/hr.d.ts +2 -0
  832. package/dist/dev/i18n/locales/hr.js +2 -0
  833. package/dist/dev/i18n/locales/hu/register.d.ts +1 -0
  834. package/dist/dev/i18n/locales/hu/register.js +8 -0
  835. package/dist/dev/i18n/locales/hu/register.js.map +1 -0
  836. package/dist/dev/i18n/locales/hu.d.ts +2 -0
  837. package/dist/dev/i18n/locales/hu.js +2 -0
  838. package/dist/dev/i18n/locales/id/register.d.ts +1 -0
  839. package/dist/dev/i18n/locales/id/register.js +8 -0
  840. package/dist/dev/i18n/locales/id/register.js.map +1 -0
  841. package/dist/dev/i18n/locales/id.d.ts +2 -0
  842. package/dist/dev/i18n/locales/id.js +2 -0
  843. package/dist/dev/i18n/locales/it/register.d.ts +1 -0
  844. package/dist/dev/i18n/locales/it/register.js +8 -0
  845. package/dist/dev/i18n/locales/it/register.js.map +1 -0
  846. package/dist/dev/i18n/locales/it.d.ts +2 -0
  847. package/dist/dev/i18n/locales/it.js +2 -0
  848. package/dist/dev/i18n/locales/ja/register.d.ts +1 -0
  849. package/dist/dev/i18n/locales/ja/register.js +8 -0
  850. package/dist/dev/i18n/locales/ja/register.js.map +1 -0
  851. package/dist/dev/i18n/locales/ja.d.ts +2 -0
  852. package/dist/dev/i18n/locales/ja.js +2 -0
  853. package/dist/dev/i18n/locales/ko/register.d.ts +1 -0
  854. package/dist/dev/i18n/locales/ko/register.js +8 -0
  855. package/dist/dev/i18n/locales/ko/register.js.map +1 -0
  856. package/dist/dev/i18n/locales/ko.d.ts +2 -0
  857. package/dist/dev/i18n/locales/ko.js +2 -0
  858. package/dist/dev/i18n/locales/lt/register.d.ts +1 -0
  859. package/dist/dev/i18n/locales/lt/register.js +8 -0
  860. package/dist/dev/i18n/locales/lt/register.js.map +1 -0
  861. package/dist/dev/i18n/locales/lt.d.ts +2 -0
  862. package/dist/dev/i18n/locales/lt.js +2 -0
  863. package/dist/dev/i18n/locales/lv/register.d.ts +1 -0
  864. package/dist/dev/i18n/locales/lv/register.js +8 -0
  865. package/dist/dev/i18n/locales/lv/register.js.map +1 -0
  866. package/dist/dev/i18n/locales/lv.d.ts +2 -0
  867. package/dist/dev/i18n/locales/lv.js +2 -0
  868. package/dist/dev/i18n/locales/mr/register.d.ts +1 -0
  869. package/dist/dev/i18n/locales/mr/register.js +8 -0
  870. package/dist/dev/i18n/locales/mr/register.js.map +1 -0
  871. package/dist/dev/i18n/locales/mr.d.ts +2 -0
  872. package/dist/dev/i18n/locales/mr.js +2 -0
  873. package/dist/dev/i18n/locales/nb/register.d.ts +1 -0
  874. package/dist/dev/i18n/locales/nb/register.js +8 -0
  875. package/dist/dev/i18n/locales/nb/register.js.map +1 -0
  876. package/dist/dev/i18n/locales/nb.d.ts +2 -0
  877. package/dist/dev/i18n/locales/nb.js +2 -0
  878. package/dist/dev/i18n/locales/ne/register.d.ts +1 -0
  879. package/dist/dev/i18n/locales/ne/register.js +8 -0
  880. package/dist/dev/i18n/locales/ne/register.js.map +1 -0
  881. package/dist/dev/i18n/locales/ne.d.ts +2 -0
  882. package/dist/dev/i18n/locales/ne.js +2 -0
  883. package/dist/dev/i18n/locales/nl/register.d.ts +1 -0
  884. package/dist/dev/i18n/locales/nl/register.js +8 -0
  885. package/dist/dev/i18n/locales/nl/register.js.map +1 -0
  886. package/dist/dev/i18n/locales/nl.d.ts +2 -0
  887. package/dist/dev/i18n/locales/nl.js +2 -0
  888. package/dist/dev/i18n/locales/nn/register.d.ts +1 -0
  889. package/dist/dev/i18n/locales/nn/register.js +8 -0
  890. package/dist/dev/i18n/locales/nn/register.js.map +1 -0
  891. package/dist/dev/i18n/locales/nn.d.ts +2 -0
  892. package/dist/dev/i18n/locales/nn.js +2 -0
  893. package/dist/dev/i18n/locales/oc/register.d.ts +1 -0
  894. package/dist/dev/i18n/locales/oc/register.js +8 -0
  895. package/dist/dev/i18n/locales/oc/register.js.map +1 -0
  896. package/dist/dev/i18n/locales/oc.d.ts +2 -0
  897. package/dist/dev/i18n/locales/oc.js +2 -0
  898. package/dist/dev/i18n/locales/pl/register.d.ts +1 -0
  899. package/dist/dev/i18n/locales/pl/register.js +8 -0
  900. package/dist/dev/i18n/locales/pl/register.js.map +1 -0
  901. package/dist/dev/i18n/locales/pl.d.ts +2 -0
  902. package/dist/dev/i18n/locales/pl.js +2 -0
  903. package/dist/dev/i18n/locales/pt/register.d.ts +1 -0
  904. package/dist/dev/i18n/locales/pt/register.js +8 -0
  905. package/dist/dev/i18n/locales/pt/register.js.map +1 -0
  906. package/dist/dev/i18n/locales/pt-BR/register.d.ts +1 -0
  907. package/dist/dev/i18n/locales/pt-BR/register.js +8 -0
  908. package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -0
  909. package/dist/dev/i18n/locales/pt-BR.d.ts +2 -0
  910. package/dist/dev/i18n/locales/pt-BR.js +2 -0
  911. package/dist/dev/i18n/locales/pt-PT/register.d.ts +1 -0
  912. package/dist/dev/i18n/locales/pt-PT/register.js +8 -0
  913. package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -0
  914. package/dist/dev/i18n/locales/pt-PT.d.ts +2 -0
  915. package/dist/dev/i18n/locales/pt-PT.js +2 -0
  916. package/dist/dev/i18n/locales/pt.d.ts +2 -0
  917. package/dist/dev/i18n/locales/pt.js +2 -0
  918. package/dist/dev/i18n/locales/ro/register.d.ts +1 -0
  919. package/dist/dev/i18n/locales/ro/register.js +8 -0
  920. package/dist/dev/i18n/locales/ro/register.js.map +1 -0
  921. package/dist/dev/i18n/locales/ro.d.ts +2 -0
  922. package/dist/dev/i18n/locales/ro.js +2 -0
  923. package/dist/dev/i18n/locales/ru/register.d.ts +1 -0
  924. package/dist/dev/i18n/locales/ru/register.js +8 -0
  925. package/dist/dev/i18n/locales/ru/register.js.map +1 -0
  926. package/dist/dev/i18n/locales/ru.d.ts +2 -0
  927. package/dist/dev/i18n/locales/ru.js +2 -0
  928. package/dist/dev/i18n/locales/sk/register.d.ts +1 -0
  929. package/dist/dev/i18n/locales/sk/register.js +8 -0
  930. package/dist/dev/i18n/locales/sk/register.js.map +1 -0
  931. package/dist/dev/i18n/locales/sk.d.ts +2 -0
  932. package/dist/dev/i18n/locales/sk.js +2 -0
  933. package/dist/dev/i18n/locales/sl/register.d.ts +1 -0
  934. package/dist/dev/i18n/locales/sl/register.js +8 -0
  935. package/dist/dev/i18n/locales/sl/register.js.map +1 -0
  936. package/dist/dev/i18n/locales/sl.d.ts +2 -0
  937. package/dist/dev/i18n/locales/sl.js +2 -0
  938. package/dist/dev/i18n/locales/sr/register.d.ts +1 -0
  939. package/dist/dev/i18n/locales/sr/register.js +8 -0
  940. package/dist/dev/i18n/locales/sr/register.js.map +1 -0
  941. package/dist/dev/i18n/locales/sr.d.ts +2 -0
  942. package/dist/dev/i18n/locales/sr.js +2 -0
  943. package/dist/dev/i18n/locales/sv/register.d.ts +1 -0
  944. package/dist/dev/i18n/locales/sv/register.js +8 -0
  945. package/dist/dev/i18n/locales/sv/register.js.map +1 -0
  946. package/dist/dev/i18n/locales/sv.d.ts +2 -0
  947. package/dist/dev/i18n/locales/sv.js +2 -0
  948. package/dist/dev/i18n/locales/te/register.d.ts +1 -0
  949. package/dist/dev/i18n/locales/te/register.js +8 -0
  950. package/dist/dev/i18n/locales/te/register.js.map +1 -0
  951. package/dist/dev/i18n/locales/te.d.ts +2 -0
  952. package/dist/dev/i18n/locales/te.js +2 -0
  953. package/dist/dev/i18n/locales/th/register.d.ts +1 -0
  954. package/dist/dev/i18n/locales/th/register.js +8 -0
  955. package/dist/dev/i18n/locales/th/register.js.map +1 -0
  956. package/dist/dev/i18n/locales/th.d.ts +2 -0
  957. package/dist/dev/i18n/locales/th.js +2 -0
  958. package/dist/dev/i18n/locales/tr/register.d.ts +1 -0
  959. package/dist/dev/i18n/locales/tr/register.js +8 -0
  960. package/dist/dev/i18n/locales/tr/register.js.map +1 -0
  961. package/dist/dev/i18n/locales/tr.d.ts +2 -0
  962. package/dist/dev/i18n/locales/tr.js +2 -0
  963. package/dist/dev/i18n/locales/uk/register.d.ts +1 -0
  964. package/dist/dev/i18n/locales/uk/register.js +8 -0
  965. package/dist/dev/i18n/locales/uk/register.js.map +1 -0
  966. package/dist/dev/i18n/locales/uk.d.ts +2 -0
  967. package/dist/dev/i18n/locales/uk.js +2 -0
  968. package/dist/dev/i18n/locales/vi/register.d.ts +1 -0
  969. package/dist/dev/i18n/locales/vi/register.js +8 -0
  970. package/dist/dev/i18n/locales/vi/register.js.map +1 -0
  971. package/dist/dev/i18n/locales/vi.d.ts +2 -0
  972. package/dist/dev/i18n/locales/vi.js +2 -0
  973. package/dist/dev/i18n/locales/zh/register.d.ts +1 -0
  974. package/dist/dev/i18n/locales/zh/register.js +8 -0
  975. package/dist/dev/i18n/locales/zh/register.js.map +1 -0
  976. package/dist/dev/i18n/locales/zh-CN/register.d.ts +1 -0
  977. package/dist/dev/i18n/locales/zh-CN/register.js +8 -0
  978. package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -0
  979. package/dist/dev/i18n/locales/zh-CN.d.ts +2 -0
  980. package/dist/dev/i18n/locales/zh-CN.js +2 -0
  981. package/dist/dev/i18n/locales/zh-TW/register.d.ts +1 -0
  982. package/dist/dev/i18n/locales/zh-TW/register.js +8 -0
  983. package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -0
  984. package/dist/dev/i18n/locales/zh-TW.d.ts +2 -0
  985. package/dist/dev/i18n/locales/zh-TW.js +2 -0
  986. package/dist/dev/i18n/locales/zh.d.ts +2 -0
  987. package/dist/dev/i18n/locales/zh.js +2 -0
  988. package/dist/dev/i18n/use-ambient-lang.js +15 -0
  989. package/dist/dev/i18n/use-ambient-lang.js.map +1 -0
  990. package/dist/dev/i18n/use-lang-root-element.js +28 -0
  991. package/dist/dev/i18n/use-lang-root-element.js.map +1 -0
  992. package/dist/dev/i18n/use-lazy-translations.js +37 -0
  993. package/dist/dev/i18n/use-lazy-translations.js.map +1 -0
  994. package/dist/dev/i18n/use-locale-root-notifications.js +27 -0
  995. package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -0
  996. package/dist/dev/i18n/use-merged-translations.js +22 -0
  997. package/dist/dev/i18n/use-merged-translations.js.map +1 -0
  998. package/dist/dev/i18n/use-registry-epoch.js +14 -0
  999. package/dist/dev/i18n/use-registry-epoch.js.map +1 -0
  1000. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  1001. package/dist/dev/icons/dist/react/default/airplay-exit.js +1 -2
  1002. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  1003. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  1004. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  1005. package/dist/dev/icons/dist/react/default/cast-enter.js +2 -45
  1006. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  1007. package/dist/dev/icons/dist/react/default/cast-exit.js +4 -61
  1008. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  1009. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  1010. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  1011. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  1012. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  1013. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  1014. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
  1015. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  1016. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  1017. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  1018. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  1019. package/dist/dev/icons/dist/react/default/quality.js +1 -1
  1020. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  1021. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  1022. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  1023. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  1024. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  1025. package/dist/dev/icons/dist/react/default/spinner.js +1 -1
  1026. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  1027. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  1028. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  1029. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  1030. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  1031. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  1032. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +1 -2
  1033. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  1034. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  1035. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  1036. package/dist/dev/icons/dist/react/minimal/cast-enter.js +2 -45
  1037. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  1038. package/dist/dev/icons/dist/react/minimal/cast-exit.js +4 -61
  1039. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  1040. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  1041. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  1042. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  1043. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  1044. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  1045. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
  1046. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  1047. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  1048. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  1049. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  1050. package/dist/dev/icons/dist/react/minimal/quality.js +1 -1
  1051. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  1052. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  1053. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  1054. package/dist/dev/icons/dist/react/minimal/speech.js +7 -40
  1055. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  1056. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  1057. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -1
  1058. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  1059. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  1060. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  1061. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  1062. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  1063. package/dist/dev/index.d.ts +43 -4
  1064. package/dist/dev/index.d.ts.map +1 -0
  1065. package/dist/dev/index.js +15 -5
  1066. package/dist/dev/media/audio.d.ts +1 -3
  1067. package/dist/dev/media/audio.d.ts.map +1 -1
  1068. package/dist/dev/media/audio.js.map +1 -1
  1069. package/dist/dev/media/background-video/index.d.ts +2 -12
  1070. package/dist/dev/media/background-video/index.js +1 -25
  1071. package/dist/dev/media/background-video/media.d.ts +10 -0
  1072. package/dist/dev/media/background-video/media.d.ts.map +1 -0
  1073. package/dist/dev/media/background-video/media.js +26 -0
  1074. package/dist/dev/media/background-video/{index.js.map → media.js.map} +1 -1
  1075. package/dist/dev/media/cloudflare-video/index.d.ts +2 -0
  1076. package/dist/dev/media/cloudflare-video/index.js +2 -0
  1077. package/dist/dev/media/cloudflare-video/media.d.ts +13 -0
  1078. package/dist/dev/media/cloudflare-video/media.d.ts.map +1 -0
  1079. package/dist/dev/media/cloudflare-video/media.js +38 -0
  1080. package/dist/dev/media/cloudflare-video/media.js.map +1 -0
  1081. package/dist/dev/media/dash-video/index.d.ts +2 -15
  1082. package/dist/dev/media/dash-video/index.js +1 -24
  1083. package/dist/dev/media/dash-video/media.d.ts +13 -0
  1084. package/dist/dev/media/dash-video/media.d.ts.map +1 -0
  1085. package/dist/dev/media/dash-video/media.js +21 -0
  1086. package/dist/dev/media/dash-video/media.js.map +1 -0
  1087. package/dist/dev/media/google-cast/google-cast.d.ts +26 -0
  1088. package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -0
  1089. package/dist/dev/media/google-cast/google-cast.js +28 -0
  1090. package/dist/dev/media/google-cast/google-cast.js.map +1 -0
  1091. package/dist/dev/media/google-cast/index.d.ts +2 -0
  1092. package/dist/dev/media/google-cast/index.js +2 -0
  1093. package/dist/dev/media/hls-audio/index.d.ts +2 -0
  1094. package/dist/dev/media/hls-audio/index.js +2 -0
  1095. package/dist/dev/media/hls-audio/media.d.ts +13 -0
  1096. package/dist/dev/media/hls-audio/media.d.ts.map +1 -0
  1097. package/dist/dev/media/hls-audio/media.js +21 -0
  1098. package/dist/dev/media/hls-audio/media.js.map +1 -0
  1099. package/dist/dev/media/hls-background-video/index.d.ts +2 -0
  1100. package/dist/dev/media/hls-background-video/index.js +2 -0
  1101. package/dist/dev/media/hls-background-video/media.d.ts +28 -0
  1102. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -0
  1103. package/dist/dev/media/hls-background-video/media.js +45 -0
  1104. package/dist/dev/media/hls-background-video/media.js.map +1 -0
  1105. package/dist/dev/media/hls-video/index.d.ts +2 -0
  1106. package/dist/dev/media/hls-video/index.js +2 -0
  1107. package/dist/dev/media/hls-video/media.d.ts +13 -0
  1108. package/dist/dev/media/hls-video/media.d.ts.map +1 -0
  1109. package/dist/dev/media/hls-video/media.js +21 -0
  1110. package/dist/dev/media/hls-video/media.js.map +1 -0
  1111. package/dist/dev/media/hlsjs-video/index.d.ts +2 -15
  1112. package/dist/dev/media/hlsjs-video/index.js +1 -24
  1113. package/dist/dev/media/hlsjs-video/media.d.ts +13 -0
  1114. package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -0
  1115. package/dist/dev/media/hlsjs-video/media.js +21 -0
  1116. package/dist/dev/media/hlsjs-video/media.js.map +1 -0
  1117. package/dist/dev/media/mux-audio/hls-js.d.ts +14 -0
  1118. package/dist/dev/media/mux-audio/hls-js.d.ts.map +1 -0
  1119. package/dist/dev/media/mux-audio/hls-js.js +26 -0
  1120. package/dist/dev/media/mux-audio/hls-js.js.map +1 -0
  1121. package/dist/dev/media/mux-audio/index.d.ts +2 -15
  1122. package/dist/dev/media/mux-audio/index.js +1 -26
  1123. package/dist/dev/media/mux-audio/spf.d.ts +14 -0
  1124. package/dist/dev/media/mux-audio/spf.d.ts.map +1 -0
  1125. package/dist/dev/media/mux-audio/spf.js +26 -0
  1126. package/dist/dev/media/mux-audio/spf.js.map +1 -0
  1127. package/dist/dev/media/mux-background-video/index.d.ts +3 -0
  1128. package/dist/dev/media/mux-background-video/index.js +2 -0
  1129. package/dist/dev/media/mux-data/index.d.ts +2 -0
  1130. package/dist/dev/media/mux-data/index.js +2 -0
  1131. package/dist/dev/media/mux-data/mux-data.d.ts +35 -0
  1132. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -0
  1133. package/dist/dev/media/mux-data/mux-data.js +41 -0
  1134. package/dist/dev/media/mux-data/mux-data.js.map +1 -0
  1135. package/dist/dev/media/mux-video/hls-js.d.ts +14 -0
  1136. package/dist/dev/media/mux-video/hls-js.d.ts.map +1 -0
  1137. package/dist/dev/media/mux-video/hls-js.js +27 -0
  1138. package/dist/dev/media/mux-video/hls-js.js.map +1 -0
  1139. package/dist/dev/media/mux-video/index.d.ts +2 -15
  1140. package/dist/dev/media/mux-video/index.js +1 -26
  1141. package/dist/dev/media/mux-video/spf.d.ts +14 -0
  1142. package/dist/dev/media/mux-video/spf.d.ts.map +1 -0
  1143. package/dist/dev/media/mux-video/spf.js +27 -0
  1144. package/dist/dev/media/mux-video/spf.js.map +1 -0
  1145. package/dist/dev/media/mux-video/storyboard.js +43 -0
  1146. package/dist/dev/media/mux-video/storyboard.js.map +1 -0
  1147. package/dist/dev/media/native-hls-video/index.d.ts +2 -15
  1148. package/dist/dev/media/native-hls-video/index.js +1 -24
  1149. package/dist/dev/media/native-hls-video/media.d.ts +13 -0
  1150. package/dist/dev/media/native-hls-video/media.d.ts.map +1 -0
  1151. package/dist/dev/media/{simple-hls-video/index.js → native-hls-video/media.js} +7 -8
  1152. package/dist/dev/media/native-hls-video/media.js.map +1 -0
  1153. package/dist/dev/media/spotify-audio/index.d.ts +2 -0
  1154. package/dist/dev/media/spotify-audio/index.js +2 -0
  1155. package/dist/dev/media/spotify-audio/media.d.ts +13 -0
  1156. package/dist/dev/media/spotify-audio/media.d.ts.map +1 -0
  1157. package/dist/dev/media/spotify-audio/media.js +40 -0
  1158. package/dist/dev/media/spotify-audio/media.js.map +1 -0
  1159. package/dist/dev/media/tiktok-video/index.d.ts +2 -0
  1160. package/dist/dev/media/tiktok-video/index.js +2 -0
  1161. package/dist/dev/media/tiktok-video/media.d.ts +13 -0
  1162. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -0
  1163. package/dist/dev/media/tiktok-video/media.js +38 -0
  1164. package/dist/dev/media/tiktok-video/media.js.map +1 -0
  1165. package/dist/dev/media/twitch-video/index.d.ts +2 -0
  1166. package/dist/dev/media/twitch-video/index.js +2 -0
  1167. package/dist/dev/media/twitch-video/media.d.ts +13 -0
  1168. package/dist/dev/media/twitch-video/media.d.ts.map +1 -0
  1169. package/dist/dev/media/twitch-video/media.js +38 -0
  1170. package/dist/dev/media/twitch-video/media.js.map +1 -0
  1171. package/dist/dev/media/video.d.ts +1 -3
  1172. package/dist/dev/media/video.d.ts.map +1 -1
  1173. package/dist/dev/media/video.js.map +1 -1
  1174. package/dist/dev/media/vimeo-video/index.d.ts +2 -15
  1175. package/dist/dev/media/vimeo-video/index.js +1 -36
  1176. package/dist/dev/media/vimeo-video/media.d.ts +13 -0
  1177. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -0
  1178. package/dist/dev/media/vimeo-video/media.js +37 -0
  1179. package/dist/dev/media/vimeo-video/media.js.map +1 -0
  1180. package/dist/dev/media/youtube-video/index.d.ts +2 -0
  1181. package/dist/dev/media/youtube-video/index.js +2 -0
  1182. package/dist/dev/media/youtube-video/media.d.ts +13 -0
  1183. package/dist/dev/media/youtube-video/media.d.ts.map +1 -0
  1184. package/dist/dev/media/youtube-video/media.js +37 -0
  1185. package/dist/dev/media/youtube-video/media.js.map +1 -0
  1186. package/dist/dev/player/container.d.ts +12 -0
  1187. package/dist/dev/player/container.d.ts.map +1 -0
  1188. package/dist/dev/player/container.js +46 -0
  1189. package/dist/dev/player/container.js.map +1 -0
  1190. package/dist/dev/player/context.d.ts +14 -24
  1191. package/dist/dev/player/context.d.ts.map +1 -1
  1192. package/dist/dev/player/context.js +7 -34
  1193. package/dist/dev/player/context.js.map +1 -1
  1194. package/dist/dev/player/create-player.d.ts +7 -9
  1195. package/dist/dev/player/create-player.d.ts.map +1 -1
  1196. package/dist/dev/player/create-player.js +46 -14
  1197. package/dist/dev/player/create-player.js.map +1 -1
  1198. package/dist/dev/player/popup-group-context.js +18 -0
  1199. package/dist/dev/player/popup-group-context.js.map +1 -0
  1200. package/dist/dev/presets/audio/index.d.ts +2 -1
  1201. package/dist/dev/presets/audio/index.js +8 -1
  1202. package/dist/dev/presets/audio/index.js.map +1 -0
  1203. package/dist/dev/presets/audio/minimal-skin.css +599 -453
  1204. package/dist/dev/presets/audio/minimal-skin.d.ts +0 -1
  1205. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  1206. package/dist/dev/presets/audio/minimal-skin.js +24 -33
  1207. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  1208. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +0 -1
  1209. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  1210. package/dist/dev/presets/audio/minimal-skin.tailwind.js +94 -35
  1211. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  1212. package/dist/dev/presets/audio/player.d.ts +13 -0
  1213. package/dist/dev/presets/audio/player.d.ts.map +1 -0
  1214. package/dist/dev/presets/audio/player.js +13 -0
  1215. package/dist/dev/presets/audio/player.js.map +1 -0
  1216. package/dist/dev/presets/audio/skin.css +613 -466
  1217. package/dist/dev/presets/audio/skin.d.ts +0 -1
  1218. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  1219. package/dist/dev/presets/audio/skin.js +23 -31
  1220. package/dist/dev/presets/audio/skin.js.map +1 -1
  1221. package/dist/dev/presets/audio/skin.tailwind.d.ts +0 -1
  1222. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  1223. package/dist/dev/presets/audio/skin.tailwind.js +28 -36
  1224. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  1225. package/dist/dev/presets/background/index.d.ts +4 -2
  1226. package/dist/dev/presets/background/index.js +9 -2
  1227. package/dist/dev/presets/background/index.js.map +1 -0
  1228. package/dist/dev/presets/background/player.d.ts +10 -0
  1229. package/dist/dev/presets/background/player.d.ts.map +1 -0
  1230. package/dist/dev/presets/background/player.js +13 -0
  1231. package/dist/dev/presets/background/player.js.map +1 -0
  1232. package/dist/dev/presets/background/skin.css +3 -3
  1233. package/dist/dev/presets/background/skin.d.ts +1 -3
  1234. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  1235. package/dist/dev/presets/background/skin.js.map +1 -1
  1236. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  1237. package/dist/dev/presets/live-audio/index.js +8 -1
  1238. package/dist/dev/presets/live-audio/index.js.map +1 -0
  1239. package/dist/dev/presets/live-audio/minimal-skin.css +599 -453
  1240. package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -1
  1241. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  1242. package/dist/dev/presets/live-audio/minimal-skin.js +9 -14
  1243. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  1244. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts +0 -1
  1245. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  1246. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +12 -17
  1247. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  1248. package/dist/dev/presets/live-audio/player.d.ts +13 -0
  1249. package/dist/dev/presets/live-audio/player.d.ts.map +1 -0
  1250. package/dist/dev/presets/live-audio/player.js +13 -0
  1251. package/dist/dev/presets/live-audio/player.js.map +1 -0
  1252. package/dist/dev/presets/live-audio/skin.css +613 -466
  1253. package/dist/dev/presets/live-audio/skin.d.ts +1 -1
  1254. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  1255. package/dist/dev/presets/live-audio/skin.js +9 -14
  1256. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  1257. package/dist/dev/presets/live-audio/skin.tailwind.d.ts +0 -1
  1258. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  1259. package/dist/dev/presets/live-audio/skin.tailwind.js +12 -17
  1260. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  1261. package/dist/dev/presets/live-video/index.d.ts +2 -1
  1262. package/dist/dev/presets/live-video/index.js +8 -1
  1263. package/dist/dev/presets/live-video/index.js.map +1 -0
  1264. package/dist/dev/presets/live-video/minimal-skin.css +899 -798
  1265. package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -1
  1266. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  1267. package/dist/dev/presets/live-video/minimal-skin.js +45 -44
  1268. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  1269. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts +0 -1
  1270. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  1271. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +61 -59
  1272. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  1273. package/dist/dev/presets/live-video/player.d.ts +13 -0
  1274. package/dist/dev/presets/live-video/player.d.ts.map +1 -0
  1275. package/dist/dev/presets/live-video/player.js +13 -0
  1276. package/dist/dev/presets/live-video/player.js.map +1 -0
  1277. package/dist/dev/presets/live-video/skin.css +936 -808
  1278. package/dist/dev/presets/live-video/skin.d.ts +0 -1
  1279. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  1280. package/dist/dev/presets/live-video/skin.js +96 -95
  1281. package/dist/dev/presets/live-video/skin.js.map +1 -1
  1282. package/dist/dev/presets/live-video/skin.tailwind.d.ts +0 -1
  1283. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  1284. package/dist/dev/presets/live-video/skin.tailwind.js +106 -193
  1285. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  1286. package/dist/dev/presets/types.d.ts +3 -2
  1287. package/dist/dev/presets/types.d.ts.map +1 -1
  1288. package/dist/dev/presets/video/index.d.ts +2 -1
  1289. package/dist/dev/presets/video/index.js +8 -1
  1290. package/dist/dev/presets/video/index.js.map +1 -0
  1291. package/dist/dev/presets/video/minimal-skin.css +899 -798
  1292. package/dist/dev/presets/video/minimal-skin.d.ts +0 -1
  1293. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  1294. package/dist/dev/presets/video/minimal-skin.js +255 -285
  1295. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  1296. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +0 -1
  1297. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  1298. package/dist/dev/presets/video/minimal-skin.tailwind.js +271 -309
  1299. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  1300. package/dist/dev/presets/video/player.d.ts +13 -0
  1301. package/dist/dev/presets/video/player.d.ts.map +1 -0
  1302. package/dist/dev/presets/video/player.js +13 -0
  1303. package/dist/dev/presets/video/player.js.map +1 -0
  1304. package/dist/dev/presets/video/skin.css +936 -808
  1305. package/dist/dev/presets/video/skin.d.ts +0 -1
  1306. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  1307. package/dist/dev/presets/video/skin.js +328 -335
  1308. package/dist/dev/presets/video/skin.js.map +1 -1
  1309. package/dist/dev/presets/video/skin.tailwind.d.ts +0 -1
  1310. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  1311. package/dist/dev/presets/video/skin.tailwind.js +285 -312
  1312. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  1313. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +20 -14
  1314. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  1315. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +1 -1
  1316. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  1317. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  1318. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  1319. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  1320. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  1321. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +10 -5
  1322. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  1323. package/dist/dev/skins/dist/default/default/tailwind/components/container.js +8 -0
  1324. package/dist/dev/skins/dist/default/default/tailwind/components/container.js.map +1 -0
  1325. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  1326. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  1327. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  1328. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  1329. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -1
  1330. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  1331. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js +7 -0
  1332. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator-overlay.js.map +1 -0
  1333. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js +9 -0
  1334. package/dist/dev/skins/dist/default/default/tailwind/components/input-indicator.js.map +1 -0
  1335. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +14 -14
  1336. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  1337. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  1338. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  1339. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  1340. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +3 -3
  1341. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  1342. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -1
  1343. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  1344. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  1345. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js +12 -0
  1346. package/dist/dev/skins/dist/default/default/tailwind/components/seek-indicator.js.map +1 -0
  1347. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
  1348. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  1349. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +17 -9
  1350. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  1351. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js +29 -0
  1352. package/dist/dev/skins/dist/default/default/tailwind/components/status-indicator.js.map +1 -0
  1353. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  1354. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  1355. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +3 -4
  1356. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  1357. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +3 -3
  1358. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  1359. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js +18 -0
  1360. package/dist/dev/skins/dist/default/default/tailwind/components/volume-indicator.js.map +1 -0
  1361. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +39 -32
  1362. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  1363. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +16 -14
  1364. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  1365. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  1366. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  1367. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  1368. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  1369. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  1370. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  1371. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +15 -5
  1372. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  1373. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js +8 -0
  1374. package/dist/dev/skins/dist/default/minimal/tailwind/components/container.js.map +1 -0
  1375. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  1376. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  1377. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +1 -1
  1378. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  1379. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  1380. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  1381. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js +7 -0
  1382. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator-overlay.js.map +1 -0
  1383. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js +10 -0
  1384. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-indicator.js.map +1 -0
  1385. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +14 -14
  1386. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  1387. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  1388. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  1389. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  1390. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
  1391. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  1392. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -1
  1393. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  1394. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  1395. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js +12 -0
  1396. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek-indicator.js.map +1 -0
  1397. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  1398. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  1399. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +17 -9
  1400. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  1401. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js +29 -0
  1402. package/dist/dev/skins/dist/default/minimal/tailwind/components/status-indicator.js.map +1 -0
  1403. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +3 -5
  1404. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  1405. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  1406. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  1407. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js +19 -0
  1408. package/dist/dev/skins/dist/default/minimal/tailwind/components/volume-indicator.js.map +1 -0
  1409. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +29 -29
  1410. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  1411. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +22 -20
  1412. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  1413. package/dist/dev/ui/airplay-button/airplay-button.d.ts +1 -3
  1414. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
  1415. package/dist/dev/ui/airplay-button/airplay-button.js +2 -1
  1416. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
  1417. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +1 -3
  1418. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
  1419. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  1420. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +1 -3
  1421. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
  1422. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  1423. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +1 -3
  1424. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
  1425. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  1426. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +1 -8
  1427. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
  1428. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  1429. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +1 -3
  1430. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
  1431. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  1432. package/dist/dev/ui/alert-dialog/context.d.ts +0 -1
  1433. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
  1434. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  1435. package/dist/dev/ui/alert-dialog/index.parts.d.ts +1 -3
  1436. package/dist/dev/ui/alert-dialog/index.parts.js +1 -1
  1437. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +12 -7
  1438. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
  1439. package/dist/dev/ui/audio-track/use-audio-track-options.js +15 -24
  1440. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  1441. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts +43 -0
  1442. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.d.ts.map +1 -0
  1443. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js +65 -0
  1444. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group.js.map +1 -0
  1445. package/dist/dev/ui/audio-track-radio-group/index.d.ts +2 -0
  1446. package/dist/dev/ui/audio-track-radio-group/index.js +2 -0
  1447. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +1 -3
  1448. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  1449. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  1450. package/dist/dev/ui/captions-button/captions-button.d.ts +1 -3
  1451. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  1452. package/dist/dev/ui/captions-button/captions-button.js +2 -1
  1453. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  1454. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts +43 -0
  1455. package/dist/dev/ui/captions-radio-group/captions-radio-group.d.ts.map +1 -0
  1456. package/dist/dev/ui/captions-radio-group/captions-radio-group.js +65 -0
  1457. package/dist/dev/ui/captions-radio-group/captions-radio-group.js.map +1 -0
  1458. package/dist/dev/ui/captions-radio-group/index.d.ts +2 -1
  1459. package/dist/dev/ui/captions-radio-group/index.js +2 -1
  1460. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +13 -7
  1461. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  1462. package/dist/dev/ui/captions-radio-group/use-captions-options.js +20 -29
  1463. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  1464. package/dist/dev/ui/cast-button/cast-button.d.ts +1 -3
  1465. package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
  1466. package/dist/dev/ui/cast-button/cast-button.js +2 -1
  1467. package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
  1468. package/dist/dev/ui/controls/context.js.map +1 -1
  1469. package/dist/dev/ui/controls/controls-group.d.ts +1 -3
  1470. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
  1471. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  1472. package/dist/dev/ui/controls/controls-root.d.ts +1 -3
  1473. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  1474. package/dist/dev/ui/controls/controls-root.js +5 -1
  1475. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  1476. package/dist/dev/ui/controls/index.parts.d.ts +1 -3
  1477. package/dist/dev/ui/controls/index.parts.js +1 -1
  1478. package/dist/dev/ui/create-context-part.js.map +1 -1
  1479. package/dist/dev/ui/create-media-button.js +23 -8
  1480. package/dist/dev/ui/create-media-button.js.map +1 -1
  1481. package/dist/dev/ui/error-dialog/context.d.ts +2 -3
  1482. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
  1483. package/dist/dev/ui/error-dialog/context.js.map +1 -1
  1484. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +12 -0
  1485. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -0
  1486. package/dist/dev/ui/error-dialog/error-dialog-close.js +36 -0
  1487. package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -0
  1488. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +1 -3
  1489. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  1490. package/dist/dev/ui/error-dialog/error-dialog-description.js +7 -2
  1491. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
  1492. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -4
  1493. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
  1494. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
  1495. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +12 -0
  1496. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -0
  1497. package/dist/dev/ui/error-dialog/error-dialog-title.js +30 -0
  1498. package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -0
  1499. package/dist/dev/ui/error-dialog/index.parts.d.ts +4 -6
  1500. package/dist/dev/ui/error-dialog/index.parts.js +5 -5
  1501. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
  1502. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +1 -3
  1503. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  1504. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -1
  1505. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  1506. package/dist/dev/ui/gesture/gesture.d.ts +1 -9
  1507. package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
  1508. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  1509. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +0 -1
  1510. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  1511. package/dist/dev/ui/gesture/use-doubletap-gesture.js +1 -2
  1512. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  1513. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +0 -1
  1514. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  1515. package/dist/dev/ui/gesture/use-tap-gesture.js +1 -2
  1516. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  1517. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts +11 -0
  1518. package/dist/dev/ui/hooks/create-radio-options-hook.d.ts.map +1 -0
  1519. package/dist/dev/ui/hooks/create-radio-options-hook.js +46 -0
  1520. package/dist/dev/ui/hooks/create-radio-options-hook.js.map +1 -0
  1521. package/dist/dev/ui/hooks/use-button.d.ts +1 -2
  1522. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  1523. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  1524. package/dist/dev/ui/hooks/use-positioned-state.js +39 -0
  1525. package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -0
  1526. package/dist/dev/ui/hooks/use-slider.d.ts +3 -3
  1527. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  1528. package/dist/dev/ui/hooks/use-slider.js +49 -13
  1529. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  1530. package/dist/dev/ui/hotkey/hotkey.d.ts +1 -8
  1531. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  1532. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  1533. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +0 -1
  1534. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
  1535. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  1536. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
  1537. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  1538. package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-indicator-visibility.js +1 -1
  1539. package/dist/dev/ui/input-indicator/use-indicator-visibility.js.map +1 -0
  1540. package/dist/{default/ui/input-indicators → dev/ui/input-indicator}/use-input-action-subscription.js +1 -1
  1541. package/dist/dev/ui/input-indicator/use-input-action-subscription.js.map +1 -0
  1542. package/dist/dev/ui/{input-indicators → input-indicator}/use-input-indicator-root.js +1 -1
  1543. package/dist/dev/ui/input-indicator/use-input-indicator-root.js.map +1 -0
  1544. package/dist/dev/ui/{input-indicators → input-indicator}/use-rendered-indicator-state.js +1 -1
  1545. package/dist/dev/ui/input-indicator/use-rendered-indicator-state.js.map +1 -0
  1546. package/dist/dev/ui/live-button/live-button.d.ts +2 -5
  1547. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
  1548. package/dist/dev/ui/live-button/live-button.js +9 -5
  1549. package/dist/dev/ui/live-button/live-button.js.map +1 -1
  1550. package/dist/dev/ui/menu/context.d.ts +3 -11
  1551. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  1552. package/dist/dev/ui/menu/context.js +1 -11
  1553. package/dist/dev/ui/menu/context.js.map +1 -1
  1554. package/dist/dev/ui/menu/index.parts.d.ts +3 -8
  1555. package/dist/dev/ui/menu/index.parts.js +3 -9
  1556. package/dist/dev/ui/menu/index.parts.js.map +1 -1
  1557. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +1 -3
  1558. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
  1559. package/dist/dev/ui/menu/menu-checkbox-item.js +4 -1
  1560. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  1561. package/dist/dev/ui/menu/menu-content.d.ts +1 -3
  1562. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  1563. package/dist/dev/ui/menu/menu-content.js +79 -223
  1564. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  1565. package/dist/dev/ui/menu/menu-group-label.d.ts +1 -3
  1566. package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -1
  1567. package/dist/dev/ui/menu/menu-group-label.js.map +1 -1
  1568. package/dist/dev/ui/menu/menu-group.d.ts +1 -3
  1569. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
  1570. package/dist/dev/ui/menu/menu-group.js.map +1 -1
  1571. package/dist/dev/ui/menu/menu-item-indicator.d.ts +1 -3
  1572. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  1573. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  1574. package/dist/dev/ui/menu/menu-item.d.ts +1 -6
  1575. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  1576. package/dist/dev/ui/menu/menu-item.js +11 -18
  1577. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  1578. package/dist/dev/ui/menu/menu-keyboard.js +31 -0
  1579. package/dist/dev/ui/menu/menu-keyboard.js.map +1 -0
  1580. package/dist/dev/ui/menu/menu-radio-group.d.ts +1 -3
  1581. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
  1582. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
  1583. package/dist/dev/ui/menu/menu-radio-item.d.ts +1 -3
  1584. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  1585. package/dist/dev/ui/menu/menu-radio-item.js +8 -6
  1586. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  1587. package/dist/dev/ui/menu/menu-root.d.ts +1 -10
  1588. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  1589. package/dist/dev/ui/menu/menu-root.js +49 -59
  1590. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  1591. package/dist/dev/ui/menu/menu-separator.d.ts +1 -3
  1592. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
  1593. package/dist/dev/ui/menu/menu-separator.js.map +1 -1
  1594. package/dist/dev/ui/menu/menu-trigger.d.ts +6 -8
  1595. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  1596. package/dist/dev/ui/menu/menu-trigger.js +50 -87
  1597. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  1598. package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
  1599. package/dist/dev/ui/mute-button/mute-button.d.ts +1 -3
  1600. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  1601. package/dist/dev/ui/mute-button/mute-button.js +2 -1
  1602. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  1603. package/dist/dev/ui/pip-button/pip-button.d.ts +1 -3
  1604. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
  1605. package/dist/dev/ui/pip-button/pip-button.js +2 -1
  1606. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  1607. package/dist/dev/ui/play-button/play-button.d.ts +1 -3
  1608. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
  1609. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  1610. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +12 -8
  1611. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  1612. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +21 -26
  1613. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  1614. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +1 -3
  1615. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  1616. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  1617. package/dist/dev/ui/playback-rate-radio-group/index.d.ts +2 -0
  1618. package/dist/dev/ui/playback-rate-radio-group/index.js +2 -0
  1619. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts +43 -0
  1620. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.d.ts.map +1 -0
  1621. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js +65 -0
  1622. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group.js.map +1 -0
  1623. package/dist/dev/ui/popover/context.d.ts +2 -1
  1624. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  1625. package/dist/dev/ui/popover/context.js.map +1 -1
  1626. package/dist/dev/ui/popover/index.parts.d.ts +1 -3
  1627. package/dist/dev/ui/popover/index.parts.js +1 -1
  1628. package/dist/dev/ui/popover/popover-arrow.d.ts +1 -3
  1629. package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
  1630. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  1631. package/dist/dev/ui/popover/popover-popup.d.ts +1 -3
  1632. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  1633. package/dist/dev/ui/popover/popover-popup.js +14 -74
  1634. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  1635. package/dist/dev/ui/popover/popover-root.d.ts +1 -13
  1636. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  1637. package/dist/dev/ui/popover/popover-root.js +8 -3
  1638. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  1639. package/dist/dev/ui/popover/popover-trigger.d.ts +1 -3
  1640. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  1641. package/dist/dev/ui/popover/popover-trigger.js +4 -5
  1642. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  1643. package/dist/dev/ui/popover/use-popup-position.js +34 -0
  1644. package/dist/dev/ui/popover/use-popup-position.js.map +1 -0
  1645. package/dist/dev/ui/poster/poster.d.ts +1 -3
  1646. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  1647. package/dist/dev/ui/poster/poster.js +8 -4
  1648. package/dist/dev/ui/poster/poster.js.map +1 -1
  1649. package/dist/dev/ui/quality/use-quality-options.d.ts +13 -9
  1650. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  1651. package/dist/dev/ui/quality/use-quality-options.js +17 -31
  1652. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  1653. package/dist/dev/ui/quality-radio-group/index.d.ts +2 -0
  1654. package/dist/dev/ui/quality-radio-group/index.js +2 -0
  1655. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts +44 -0
  1656. package/dist/dev/ui/quality-radio-group/quality-radio-group.d.ts.map +1 -0
  1657. package/dist/dev/ui/quality-radio-group/quality-radio-group.js +66 -0
  1658. package/dist/dev/ui/quality-radio-group/quality-radio-group.js.map +1 -0
  1659. package/dist/dev/ui/seek-button/seek-button.d.ts +1 -3
  1660. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
  1661. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  1662. package/dist/dev/ui/seek-indicator/context.js.map +1 -1
  1663. package/dist/dev/ui/seek-indicator/index.parts.d.ts +1 -3
  1664. package/dist/dev/ui/seek-indicator/index.parts.js +1 -1
  1665. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +1 -3
  1666. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
  1667. package/dist/dev/ui/seek-indicator/seek-indicator-root.js +1 -1
  1668. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  1669. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +1 -3
  1670. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -1
  1671. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  1672. package/dist/dev/ui/slider/context.js +7 -2
  1673. package/dist/dev/ui/slider/context.js.map +1 -1
  1674. package/dist/dev/ui/slider/index.parts.d.ts +1 -3
  1675. package/dist/dev/ui/slider/index.parts.js +1 -1
  1676. package/dist/dev/ui/slider/slider-buffer.d.ts +1 -3
  1677. package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
  1678. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  1679. package/dist/dev/ui/slider/slider-fill.d.ts +1 -3
  1680. package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
  1681. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  1682. package/dist/dev/ui/slider/slider-preview.d.ts +1 -3
  1683. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  1684. package/dist/dev/ui/slider/slider-preview.js +2 -3
  1685. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  1686. package/dist/dev/ui/slider/slider-root.d.ts +1 -3
  1687. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  1688. package/dist/dev/ui/slider/slider-root.js +13 -2
  1689. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  1690. package/dist/dev/ui/slider/slider-thumb.d.ts +1 -3
  1691. package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
  1692. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  1693. package/dist/dev/ui/slider/slider-thumbnail.d.ts +1 -3
  1694. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  1695. package/dist/dev/ui/slider/slider-thumbnail.js +2 -2
  1696. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  1697. package/dist/dev/ui/slider/slider-track.d.ts +1 -3
  1698. package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
  1699. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  1700. package/dist/dev/ui/slider/slider-value.d.ts +1 -3
  1701. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  1702. package/dist/dev/ui/slider/slider-value.js +3 -2
  1703. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  1704. package/dist/dev/ui/status-announcer/status-announcer.d.ts +2 -4
  1705. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  1706. package/dist/dev/ui/status-announcer/status-announcer.js +22 -10
  1707. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  1708. package/dist/dev/ui/status-indicator/context.js.map +1 -1
  1709. package/dist/dev/ui/status-indicator/index.parts.d.ts +1 -3
  1710. package/dist/dev/ui/status-indicator/index.parts.js +1 -1
  1711. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +2 -4
  1712. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  1713. package/dist/dev/ui/status-indicator/status-indicator-root.js +6 -5
  1714. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  1715. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +1 -3
  1716. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -1
  1717. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -1
  1718. package/dist/dev/ui/thumbnail/thumbnail.d.ts +1 -3
  1719. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1720. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  1721. package/dist/dev/ui/time/index.parts.d.ts +1 -3
  1722. package/dist/dev/ui/time/index.parts.js +1 -1
  1723. package/dist/dev/ui/time/time-group.d.ts +1 -3
  1724. package/dist/dev/ui/time/time-group.d.ts.map +1 -1
  1725. package/dist/dev/ui/time/time-group.js.map +1 -1
  1726. package/dist/dev/ui/time/time-separator.d.ts +1 -3
  1727. package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
  1728. package/dist/dev/ui/time/time-separator.js.map +1 -1
  1729. package/dist/dev/ui/time/time-value.d.ts +1 -3
  1730. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  1731. package/dist/dev/ui/time/time-value.js +22 -5
  1732. package/dist/dev/ui/time/time-value.js.map +1 -1
  1733. package/dist/dev/ui/time-slider/index.parts.d.ts +5 -4
  1734. package/dist/dev/ui/time-slider/index.parts.js +5 -1
  1735. package/dist/dev/ui/time-slider/index.parts.js.map +1 -1
  1736. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js +61 -0
  1737. package/dist/dev/ui/time-slider/time-slider-chapters/slider-segments.js.map +1 -0
  1738. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts +19 -0
  1739. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.d.ts.map +1 -0
  1740. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js +46 -0
  1741. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title.js.map +1 -0
  1742. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts +22 -0
  1743. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.d.ts.map +1 -0
  1744. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js +52 -0
  1745. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters.js.map +1 -0
  1746. package/dist/dev/ui/time-slider/time-slider-root.d.ts +1 -3
  1747. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  1748. package/dist/dev/ui/time-slider/time-slider-root.js +21 -6
  1749. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  1750. package/dist/dev/ui/tooltip/context.d.ts +2 -1
  1751. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  1752. package/dist/dev/ui/tooltip/context.js.map +1 -1
  1753. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  1754. package/dist/dev/ui/tooltip/index.parts.d.ts +1 -3
  1755. package/dist/dev/ui/tooltip/index.parts.js +1 -1
  1756. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +1 -3
  1757. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
  1758. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  1759. package/dist/dev/ui/tooltip/tooltip-label.d.ts +1 -3
  1760. package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -1
  1761. package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -1
  1762. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +1 -3
  1763. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  1764. package/dist/dev/ui/tooltip/tooltip-popup.js +17 -76
  1765. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  1766. package/dist/dev/ui/tooltip/tooltip-provider.d.ts +1 -7
  1767. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
  1768. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  1769. package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -14
  1770. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  1771. package/dist/dev/ui/tooltip/tooltip-root.js +11 -3
  1772. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  1773. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +1 -3
  1774. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
  1775. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
  1776. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +1 -3
  1777. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  1778. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  1779. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  1780. package/dist/dev/ui/volume-indicator/context.js.map +1 -1
  1781. package/dist/dev/ui/volume-indicator/index.parts.d.ts +1 -3
  1782. package/dist/dev/ui/volume-indicator/index.parts.js +1 -1
  1783. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +1 -3
  1784. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -1
  1785. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  1786. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +2 -4
  1787. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
  1788. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +7 -3
  1789. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  1790. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +1 -3
  1791. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -1
  1792. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  1793. package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -3
  1794. package/dist/dev/ui/volume-slider/index.parts.js +1 -1
  1795. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +1 -3
  1796. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  1797. package/dist/dev/ui/volume-slider/volume-slider-root.js +24 -6
  1798. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  1799. package/dist/dev/utils/merge-props.d.ts +0 -1
  1800. package/dist/dev/utils/merge-props.d.ts.map +1 -1
  1801. package/dist/dev/utils/merge-props.js.map +1 -1
  1802. package/dist/dev/utils/types.d.ts +5 -3
  1803. package/dist/dev/utils/types.d.ts.map +1 -1
  1804. package/dist/dev/utils/use-attach-iframe.js.map +1 -1
  1805. package/dist/dev/utils/use-attach-media.d.ts +1 -2
  1806. package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
  1807. package/dist/dev/utils/use-attach-media.js.map +1 -1
  1808. package/dist/dev/utils/use-composed-refs.d.ts +0 -1
  1809. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
  1810. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  1811. package/dist/dev/utils/use-destroy.d.ts.map +1 -1
  1812. package/dist/dev/utils/use-destroy.js.map +1 -1
  1813. package/dist/dev/utils/use-force-render.js.map +1 -1
  1814. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
  1815. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  1816. package/dist/dev/utils/use-media-component.d.ts +17 -0
  1817. package/dist/dev/utils/use-media-component.d.ts.map +1 -0
  1818. package/dist/dev/utils/use-media-component.js +29 -0
  1819. package/dist/dev/utils/use-media-component.js.map +1 -0
  1820. package/dist/dev/utils/use-media-instance.d.ts +2 -3
  1821. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  1822. package/dist/dev/utils/use-media-instance.js +1 -1
  1823. package/dist/dev/utils/use-media-instance.js.map +1 -1
  1824. package/dist/dev/utils/use-render.d.ts +1 -2
  1825. package/dist/dev/utils/use-render.d.ts.map +1 -1
  1826. package/dist/dev/utils/use-render.js.map +1 -1
  1827. package/dist/dev/utils/use-safe-id.js.map +1 -1
  1828. package/dist/dev/utils/use-sync-props.js +11 -2
  1829. package/dist/dev/utils/use-sync-props.js.map +1 -1
  1830. package/docs/README.md +1 -1
  1831. package/docs/concepts/accessibility.md +8 -0
  1832. package/docs/concepts/cast.md +58 -89
  1833. package/docs/concepts/features.md +21 -10
  1834. package/docs/concepts/i18n.md +317 -0
  1835. package/docs/concepts/media-sources.md +383 -0
  1836. package/docs/concepts/mux-data.md +86 -0
  1837. package/docs/concepts/overview.md +15 -18
  1838. package/docs/concepts/presets.md +18 -19
  1839. package/docs/concepts/security.md +32 -0
  1840. package/docs/concepts/skins.md +1285 -1173
  1841. package/docs/concepts/ui-components.md +3 -3
  1842. package/docs/concepts/why-videojs.md +4 -4
  1843. package/docs/how-to/build-your-own-component.md +7 -5
  1844. package/docs/how-to/customize-skins.md +3748 -3229
  1845. package/docs/how-to/i18n-override-translations.md +114 -0
  1846. package/docs/how-to/i18n-register-locale.md +74 -0
  1847. package/docs/how-to/i18n-ssr.md +104 -0
  1848. package/docs/how-to/i18n-switch-locale.md +170 -0
  1849. package/docs/how-to/installation.md +11 -35
  1850. package/docs/llms.txt +59 -29
  1851. package/docs/reference/airplay-button.md +71 -37
  1852. package/docs/reference/audio-track-radio-group.md +316 -12
  1853. package/docs/reference/buffering-indicator.md +7 -13
  1854. package/docs/reference/captions-button.md +61 -24
  1855. package/docs/reference/captions-radio-group.md +372 -0
  1856. package/docs/reference/cast-button.md +75 -28
  1857. package/docs/reference/controls.md +7 -13
  1858. package/docs/reference/create-i18n.md +84 -0
  1859. package/docs/reference/create-player.md +23 -37
  1860. package/docs/reference/create-translator.md +63 -0
  1861. package/docs/reference/dash-video.md +14 -83
  1862. package/docs/reference/feature-controls.md +13 -1
  1863. package/docs/reference/feature-error.md +1 -1
  1864. package/docs/reference/feature-fullscreen.md +1 -1
  1865. package/docs/reference/feature-orientation-lock.md +2 -2
  1866. package/docs/reference/feature-text-tracks.md +6 -4
  1867. package/docs/reference/feature-volume.md +10 -0
  1868. package/docs/reference/fullscreen-button.md +58 -29
  1869. package/docs/reference/get-i18n-translations.md +58 -0
  1870. package/docs/reference/google-cast.md +69 -0
  1871. package/docs/reference/has-registered-locale.md +47 -0
  1872. package/docs/reference/hls-audio.md +41 -0
  1873. package/docs/reference/hls-video.md +41 -0
  1874. package/docs/reference/hlsjs-video.md +22 -197
  1875. package/docs/reference/i18n-provider.md +25 -0
  1876. package/docs/reference/menu.md +156 -146
  1877. package/docs/reference/mute-button.md +65 -35
  1878. package/docs/reference/mux-audio.md +22 -193
  1879. package/docs/reference/mux-data.md +93 -0
  1880. package/docs/reference/mux-video.md +79 -234
  1881. package/docs/reference/native-hls-video.md +23 -132
  1882. package/docs/reference/on-i18n-registry-change.md +49 -0
  1883. package/docs/reference/pip-button.md +58 -29
  1884. package/docs/reference/play-button.md +11 -16
  1885. package/docs/reference/playback-rate-button.md +10 -16
  1886. package/docs/reference/playback-rate-radio-group.md +365 -0
  1887. package/docs/reference/player-container.md +25 -25
  1888. package/docs/reference/player-provider.md +24 -24
  1889. package/docs/reference/popover.md +26 -19
  1890. package/docs/reference/poster.md +7 -10
  1891. package/docs/reference/quality-radio-group.md +330 -12
  1892. package/docs/reference/register-i18n.md +64 -0
  1893. package/docs/reference/seek-button.md +10 -16
  1894. package/docs/reference/slider.md +3 -3
  1895. package/docs/reference/thumbnail.md +8 -8
  1896. package/docs/reference/time-slider.md +256 -18
  1897. package/docs/reference/time.md +85 -71
  1898. package/docs/reference/tooltip.md +20 -18
  1899. package/docs/reference/translation-phrases.md +453 -0
  1900. package/docs/reference/use-audio-track-options.md +59 -0
  1901. package/docs/reference/use-captions-options.md +59 -0
  1902. package/docs/reference/use-container-attach.md +5 -5
  1903. package/docs/reference/use-locale.md +124 -0
  1904. package/docs/reference/use-media-attach.md +2 -2
  1905. package/docs/reference/use-media.md +17 -17
  1906. package/docs/reference/use-playback-rate-options.md +59 -0
  1907. package/docs/reference/use-player-context.md +5 -8
  1908. package/docs/reference/use-player.md +27 -33
  1909. package/docs/reference/use-quality-options.md +59 -0
  1910. package/docs/reference/use-store.md +17 -29
  1911. package/docs/reference/use-translator.md +119 -0
  1912. package/docs/reference/volume-slider.md +18 -22
  1913. package/package.json +46 -13
  1914. package/dist/default/media/dash-video/index.js.map +0 -1
  1915. package/dist/default/media/hlsjs-video/index.js.map +0 -1
  1916. package/dist/default/media/mux-audio/index.js.map +0 -1
  1917. package/dist/default/media/mux-video/index.js.map +0 -1
  1918. package/dist/default/media/native-hls-video/index.js.map +0 -1
  1919. package/dist/default/media/simple-hls-audio-only/index.js +0 -22
  1920. package/dist/default/media/simple-hls-audio-only/index.js.map +0 -1
  1921. package/dist/default/media/simple-hls-video/index.js.map +0 -1
  1922. package/dist/default/media/vimeo-video/index.js.map +0 -1
  1923. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  1924. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  1925. package/dist/default/skins/dist/default/default/tailwind/components/root.js +0 -8
  1926. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1927. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  1928. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  1929. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  1930. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1931. package/dist/default/tailwind.css +0 -42
  1932. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  1933. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  1934. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  1935. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  1936. package/dist/default/ui/menu/menu-back.js +0 -30
  1937. package/dist/default/ui/menu/menu-back.js.map +0 -1
  1938. package/dist/default/ui/menu/menu-item-setting-provider.js +0 -72
  1939. package/dist/default/ui/menu/menu-item-setting-provider.js.map +0 -1
  1940. package/dist/default/ui/menu/menu-item-value.js +0 -28
  1941. package/dist/default/ui/menu/menu-item-value.js.map +0 -1
  1942. package/dist/default/ui/menu/menu-view.js +0 -23
  1943. package/dist/default/ui/menu/menu-view.js.map +0 -1
  1944. package/dist/dev/media/background-video/index.d.ts.map +0 -1
  1945. package/dist/dev/media/dash-video/index.d.ts.map +0 -1
  1946. package/dist/dev/media/dash-video/index.js.map +0 -1
  1947. package/dist/dev/media/hlsjs-video/index.d.ts.map +0 -1
  1948. package/dist/dev/media/hlsjs-video/index.js.map +0 -1
  1949. package/dist/dev/media/mux-audio/index.d.ts.map +0 -1
  1950. package/dist/dev/media/mux-audio/index.js.map +0 -1
  1951. package/dist/dev/media/mux-video/index.d.ts.map +0 -1
  1952. package/dist/dev/media/mux-video/index.js.map +0 -1
  1953. package/dist/dev/media/native-hls-video/index.d.ts.map +0 -1
  1954. package/dist/dev/media/native-hls-video/index.js.map +0 -1
  1955. package/dist/dev/media/simple-hls-audio-only/index.d.ts +0 -15
  1956. package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +0 -1
  1957. package/dist/dev/media/simple-hls-audio-only/index.js +0 -22
  1958. package/dist/dev/media/simple-hls-audio-only/index.js.map +0 -1
  1959. package/dist/dev/media/simple-hls-video/index.d.ts +0 -15
  1960. package/dist/dev/media/simple-hls-video/index.d.ts.map +0 -1
  1961. package/dist/dev/media/simple-hls-video/index.js.map +0 -1
  1962. package/dist/dev/media/vimeo-video/index.d.ts.map +0 -1
  1963. package/dist/dev/media/vimeo-video/index.js.map +0 -1
  1964. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +0 -40
  1965. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +0 -1
  1966. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -8
  1967. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1968. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +0 -41
  1969. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +0 -1
  1970. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -8
  1971. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1972. package/dist/dev/tailwind.css +0 -42
  1973. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +0 -1
  1974. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +0 -1
  1975. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +0 -1
  1976. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +0 -1
  1977. package/dist/dev/ui/menu/menu-back.d.ts +0 -18
  1978. package/dist/dev/ui/menu/menu-back.d.ts.map +0 -1
  1979. package/dist/dev/ui/menu/menu-back.js +0 -30
  1980. package/dist/dev/ui/menu/menu-back.js.map +0 -1
  1981. package/dist/dev/ui/menu/menu-item-setting-provider.js +0 -72
  1982. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +0 -1
  1983. package/dist/dev/ui/menu/menu-item-type.d.ts +0 -5
  1984. package/dist/dev/ui/menu/menu-item-type.d.ts.map +0 -1
  1985. package/dist/dev/ui/menu/menu-item-value.d.ts +0 -14
  1986. package/dist/dev/ui/menu/menu-item-value.d.ts.map +0 -1
  1987. package/dist/dev/ui/menu/menu-item-value.js +0 -28
  1988. package/dist/dev/ui/menu/menu-item-value.js.map +0 -1
  1989. package/dist/dev/ui/menu/menu-view.d.ts +0 -15
  1990. package/dist/dev/ui/menu/menu-view.d.ts.map +0 -1
  1991. package/dist/dev/ui/menu/menu-view.js +0 -23
  1992. package/dist/dev/ui/menu/menu-view.js.map +0 -1
  1993. package/docs/reference/simple-hls-audio-only.md +0 -93
  1994. package/docs/reference/simple-hls-video.md +0 -150
@@ -1,6 +1,15 @@
1
- /* ==========================================================================
2
- Reset
3
- ========================================================================== */
1
+ .media-sr-only {
2
+ position: absolute;
3
+ width: 1px;
4
+ height: 1px;
5
+ padding: 0;
6
+ margin: -1px;
7
+ overflow: hidden;
8
+ white-space: nowrap;
9
+ border: 0;
10
+ clip: rect(0, 0, 0, 0);
11
+ }
12
+
4
13
 
5
14
  .media-default-skin *,
6
15
  .media-default-skin *::before,
@@ -26,15 +35,37 @@
26
35
  }
27
36
  }
28
37
 
29
- /* ==========================================================================
30
- Root Container
31
- ========================================================================== */
32
-
33
38
  .media-default-skin {
34
- --media-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
35
- --media-current-shadow-color-subtle: oklch(from var(--media-current-shadow-color) l c h / calc(alpha * 0.4));
36
- --media-icon-size: 18px;
37
- --media-color-scrollbar-thumb: oklch(from currentColor l c h / 0.3);
39
+ /* Colors */
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));
49
+ --scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);
50
+
51
+ /* Scaling - used in video fullscreen to scale the UI. */
52
+ --scale: 1;
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
+ --spacing: calc(var(--size) / 4);
58
+
59
+ /* Font sizes */
60
+ --font-size-medium: calc(0.9375 * var(--size)); /* 15px */
61
+ --font-size-base: calc(0.8125 * var(--size)); /* 13px */
62
+ --font-size-small: calc(0.6875 * var(--size)); /* 11px */
63
+ --font-size-tiny: calc(0.5625 * var(--size)); /* 9px */
64
+ --media-icon-size: calc(1.125 * var(--size)); /* 18px */
65
+
66
+ /* Radii */
67
+ --container-border-radius: var(--media-border-radius, 1.75rem);
68
+
38
69
  position: relative;
39
70
  display: block;
40
71
  width: 100%;
@@ -46,48 +77,44 @@
46
77
  ui-sans-serif,
47
78
  system-ui,
48
79
  sans-serif;
49
- font-size: 0.8125rem; /* 13px at 100% font size */
80
+ font-size: var(--font-size-base);
50
81
  -webkit-font-smoothing: auto;
51
82
  -moz-osx-font-smoothing: auto;
52
83
  line-height: 1.5;
53
84
  letter-spacing: normal;
54
85
  outline: 2px solid transparent;
55
86
  outline-offset: -4px;
56
- scrollbar-color: var(--media-color-scrollbar-thumb) transparent;
87
+ scrollbar-color: var(--scrollbar-thumb-color) transparent;
57
88
  scrollbar-width: thin;
58
- border-radius: var(--media-border-radius, 2rem);
89
+ border-radius: var(--container-border-radius, 1.75rem);
59
90
  isolation: isolate;
60
91
  transition-timing-function: ease-out;
61
92
  transition-duration: 100ms;
62
93
  transition-property: outline-offset, outline-color;
63
94
 
64
95
  &:focus-visible {
65
- outline-color: currentColor;
96
+ outline-color: var(--focus-ring-color);
66
97
  outline-offset: 2px;
67
98
  }
68
99
 
69
100
  &::-webkit-scrollbar-thumb {
70
- background: var(--media-color-scrollbar-thumb);
101
+ background: var(--scrollbar-thumb-color);
71
102
  border-radius: 9999px;
72
103
  }
73
104
 
74
105
  @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
75
- --media-color-scrollbar-thumb: oklch(from currentColor l c h / 0.8);
106
+ --scrollbar-thumb-color: oklch(from currentColor l c h / 0.8);
76
107
  scrollbar-width: auto;
77
108
  }
78
109
  }
79
110
 
80
- /* ==========================================================================
81
- Surface (shared glass effect for tooltips, popovers, controls)
82
- ========================================================================== */
83
-
84
111
  .media-default-skin .media-surface {
85
- background-color: var(--media-surface-background-color);
112
+ background-color: var(--surface-background-color);
86
113
  box-shadow:
87
- 0 0 0 1px var(--media-surface-outer-border-color),
88
- 0 1px 3px 0 var(--media-surface-shadow-color),
89
- 0 1px 2px -1px var(--media-surface-shadow-color);
90
- backdrop-filter: var(--media-surface-backdrop-filter);
114
+ 0 0 0 1px var(--surface-outer-border-color),
115
+ 0 1px 3px 0 var(--surface-shadow-color),
116
+ 0 1px 2px -1px var(--surface-shadow-color);
117
+ backdrop-filter: var(--surface-backdrop-filter);
91
118
 
92
119
  /* Inner border ring */
93
120
  &::after {
@@ -97,14 +124,12 @@
97
124
  pointer-events: none;
98
125
  content: "";
99
126
  border-radius: inherit;
100
- box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
127
+ box-shadow:
128
+ inset 0 1px 0 0 var(--surface-inner-border-color),
129
+ inset 0 0 0 1px oklch(from var(--surface-inner-border-color) l c h / calc(alpha * 0.5));
101
130
  }
102
131
  }
103
132
 
104
- /* ==========================================================================
105
- Media Element
106
- ========================================================================== */
107
-
108
133
  .media-default-skin ::slotted(video),
109
134
  .media-default-skin video {
110
135
  display: block;
@@ -114,7 +139,7 @@
114
139
  object-position: var(--media-object-position, center);
115
140
  }
116
141
  .media-default-skin ::slotted(video) {
117
- border-radius: var(--media-video-border-radius);
142
+ border-radius: var(--container-border-radius);
118
143
  }
119
144
  .media-default-skin video {
120
145
  border-radius: inherit;
@@ -125,10 +150,6 @@
125
150
  object-fit: contain;
126
151
  }
127
152
 
128
- /* ==========================================================================
129
- Overlay / Scrim
130
- ========================================================================== */
131
-
132
153
  .media-default-skin .media-overlay {
133
154
  position: absolute;
134
155
  inset: 0;
@@ -138,13 +159,13 @@
138
159
  opacity: 0;
139
160
  backdrop-filter: blur(0) saturate(1);
140
161
  transition-timing-function: ease-out;
141
- transition-duration: var(--media-controls-transition-duration);
162
+ transition-duration: var(--controls-transition-duration);
142
163
  transition-property: opacity, backdrop-filter;
143
164
  }
144
165
 
145
166
  .media-default-skin .media-error ~ .media-overlay {
146
- transition-delay: var(--media-error-dialog-transition-delay);
147
- transition-duration: var(--media-error-dialog-transition-duration);
167
+ transition-delay: var(--error-dialog-transition-delay);
168
+ transition-duration: var(--error-dialog-transition-duration);
148
169
  }
149
170
 
150
171
  .media-default-skin .media-controls[data-visible] ~ .media-overlay,
@@ -162,10 +183,6 @@
162
183
  backdrop-filter: blur(16px) saturate(1.5);
163
184
  }
164
185
 
165
- /* ==========================================================================
166
- Buffering Indicator
167
- ========================================================================== */
168
-
169
186
  .media-default-skin .media-buffering-indicator {
170
187
  position: absolute;
171
188
  inset: 0;
@@ -182,11 +199,11 @@
182
199
  &[data-visible] {
183
200
  display: grid;
184
201
  }
185
- }
186
202
 
187
- /* ==========================================================================
188
- Error Dialog
189
- ========================================================================== */
203
+ @media (prefers-reduced-motion: reduce) {
204
+ --media-spinner-animation: none;
205
+ }
206
+ }
190
207
 
191
208
  .media-default-skin .media-error {
192
209
  outline: none;
@@ -208,9 +225,9 @@
208
225
 
209
226
  .media-default-skin .media-error__actions {
210
227
  display: flex;
211
- gap: 0.5rem;
228
+ gap: calc(var(--spacing) * 2);
212
229
 
213
- & > * {
230
+ > * {
214
231
  flex: 1;
215
232
  }
216
233
  }
@@ -219,31 +236,32 @@
219
236
  visibility: hidden;
220
237
  }
221
238
 
222
- /* ==========================================================================
223
- Controls
224
- ========================================================================== */
225
-
226
239
  .media-default-skin .media-controls {
240
+ --media-popover-side-offset: calc(var(--spacing) * (var(--base-side-offset, 2) + 1));
241
+ --media-tooltip-side-offset: var(--media-popover-side-offset);
242
+ --media-popover-boundary-offset: calc(var(--spacing) * var(--base-boundary-offset, 2));
243
+ --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);
244
+
227
245
  display: flex;
228
- column-gap: 0.075rem;
229
246
  align-items: center;
230
- padding: 0.375rem;
247
+ padding: calc(var(--spacing) * 1);
231
248
  container: media-controls / inline-size;
232
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
233
- border-radius: 1.5rem;
249
+ text-shadow: 0 1px 0 var(--shadow-current-color);
250
+ border-radius: calc(Infinity * 1px);
234
251
  }
235
252
 
236
- /* ==========================================================================
237
- Time Display
238
- ========================================================================== */
239
-
240
253
  .media-default-skin .media-time-controls {
241
254
  display: flex;
242
255
  flex: 1;
243
- gap: 0.75rem;
256
+ gap: calc(var(--spacing) * 2.5);
244
257
  align-items: center;
245
- padding-inline: 0.5rem;
246
258
  container: media-time-controls / inline-size;
259
+
260
+ > .media-time:last-child {
261
+ @container media-time-controls (width < 16rem) {
262
+ display: none;
263
+ }
264
+ }
247
265
  }
248
266
 
249
267
  .media-default-skin .media-time {
@@ -254,29 +272,26 @@
254
272
  cursor: pointer;
255
273
  outline: 2px solid transparent;
256
274
  outline-offset: -2px;
257
- border-radius: 0.25rem;
275
+ border-radius: calc(var(--spacing) * 1);
258
276
  transition-timing-function: ease-out;
259
277
  transition-duration: 100ms;
260
278
  transition-property: outline-color, outline-offset;
261
279
 
262
280
  &:focus-visible {
263
- outline-color: currentColor;
281
+ outline-color: var(--focus-ring-color);
264
282
  outline-offset: 2px;
265
283
  }
266
284
  }
267
285
 
268
- /* ==========================================================================
269
- Buttons
270
- ========================================================================== */
271
-
272
286
  /* Base button */
273
287
  .media-default-skin .media-button {
274
288
  display: flex;
275
289
  flex-shrink: 0;
276
290
  align-items: center;
277
291
  justify-content: center;
292
+ height: calc(var(--spacing) * 9);
278
293
  min-height: 0;
279
- padding: 0.5rem 1rem;
294
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
280
295
  text-align: center;
281
296
  touch-action: manipulation;
282
297
  cursor: pointer;
@@ -284,40 +299,34 @@
284
299
  outline: 2px solid transparent;
285
300
  outline-offset: -2px;
286
301
  border: none;
287
- border-radius: calc(infinity * 1px);
302
+ border-radius: calc(Infinity * 1px);
288
303
  transition-timing-function: ease-out;
289
304
  transition-duration: 150ms;
290
- transition-property: background-color, outline-offset, scale;
305
+ transition-property: background-color, color, outline-offset, scale;
291
306
  /* Fix weird jumping when clicking on the buttons in Safari. */
292
307
  will-change: scale;
293
308
 
294
309
  &:focus-visible {
295
- outline-color: currentColor;
310
+ outline-color: var(--focus-ring-color);
296
311
  outline-offset: 2px;
297
312
  }
298
313
 
299
- &:active {
300
- scale: 0.98;
314
+ &:active:not([aria-disabled="true"]) {
315
+ scale: 0.97;
301
316
  }
302
317
 
303
- &[disabled] {
318
+ &[aria-disabled="true"] {
304
319
  cursor: not-allowed;
305
320
  opacity: 0.5;
306
- filter: grayscale(1);
307
- }
308
-
309
- &[data-availability="unavailable"],
310
- &[data-availability="unsupported"] {
311
- display: none;
312
321
  }
313
322
  }
314
323
 
315
324
  /* Primary button variant */
316
325
  .media-default-skin .media-button--primary {
317
326
  font-weight: 500;
318
- color: oklch(0 0 0);
327
+ color: var(--accent-contrast-color);
319
328
  text-shadow: none;
320
- background: oklch(1 0 0);
329
+ background: var(--accent-color);
321
330
  }
322
331
 
323
332
  /* Subtle button variant */
@@ -326,46 +335,47 @@
326
335
  text-shadow: inherit;
327
336
  background: transparent;
328
337
 
329
- &:hover,
330
- &:focus-visible,
331
- &[aria-expanded="true"] {
332
- text-decoration: none;
333
- background-color: oklch(from currentColor l c h / 0.1);
338
+ &:not([aria-disabled="true"]) {
339
+ &:hover,
340
+ &:focus-visible,
341
+ &[aria-expanded="true"] {
342
+ color: var(--accent-text-color);
343
+ text-decoration: none;
344
+ background-color: var(--accent-background-color);
345
+ }
334
346
  }
335
347
  }
336
348
 
337
349
  /* Icon button variant */
338
350
  .media-default-skin .media-button--icon {
339
351
  display: grid;
340
- width: 2.25rem;
341
352
  aspect-ratio: 1;
342
353
  padding: 0;
343
354
 
344
- &:active {
345
- scale: 0.9;
355
+ &:active:not([aria-disabled="true"]) {
356
+ scale: 0.97;
346
357
  }
347
358
 
348
- & .media-icon__container {
359
+ .media-icon__container {
349
360
  display: grid;
350
361
  }
351
362
 
352
- & .media-icon {
363
+ .media-icon {
353
364
  grid-area: 1 / 1;
354
- transition-behavior: allow-discrete;
355
- transition-property: display, opacity;
356
- transition-duration: 150ms;
365
+ filter: drop-shadow(0 1px 0 var(--shadow-current-color));
357
366
  transition-timing-function: ease-out;
358
- filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
367
+ transition-duration: 150ms;
368
+ transition-property: opacity, scale;
359
369
  }
360
370
  }
361
371
 
362
372
  /* Seek button */
363
373
  .media-default-skin .media-button--seek {
364
- & .media-icon__label {
374
+ .media-icon__label {
365
375
  position: absolute;
366
376
  right: -1px;
367
377
  bottom: -3px;
368
- font-size: 10px;
378
+ font-size: 0.715em; /* 10px */
369
379
  font-weight: 500;
370
380
  font-variant-numeric: tabular-nums;
371
381
  letter-spacing: -0.05em;
@@ -394,9 +404,7 @@
394
404
 
395
405
  /* Settings button */
396
406
  .media-default-skin .media-button--settings {
397
- display: none;
398
-
399
- & .media-icon--settings {
407
+ .media-icon--settings {
400
408
  transition: transform 150ms ease-in-out;
401
409
 
402
410
  @media (prefers-reduced-motion: reduce) {
@@ -409,21 +417,17 @@
409
417
  }
410
418
  }
411
419
 
412
- .media-default-skin .media-button-group:has([data-availability="available"]) .media-button--settings {
413
- display: grid;
414
- }
415
-
416
420
  /* Live button — wide pill button with a status dot (gray → red at the live
417
421
  edge) rendered via ::before, and "LIVE" text rendered as the button's own
418
422
  text content. */
419
423
  .media-default-skin .media-button--live {
420
424
  display: inline-flex;
421
- gap: 0.4rem;
425
+ gap: calc(var(--spacing) * 1.5);
422
426
  align-items: center;
423
427
  width: auto;
424
428
  aspect-ratio: auto;
425
- padding: 0.5rem 0.75rem;
426
- font-size: 0.75rem;
429
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
430
+ font-size: var(--font-size-small);
427
431
  font-weight: 600;
428
432
  line-height: 1;
429
433
  text-transform: uppercase;
@@ -432,8 +436,8 @@
432
436
  &::before {
433
437
  display: inline-block;
434
438
  flex-shrink: 0;
435
- width: 0.5rem;
436
- height: 0.5rem;
439
+ width: calc(var(--spacing) * 2);
440
+ height: calc(var(--spacing) * 2);
437
441
  content: "";
438
442
  background-color: oklch(from currentColor l c h / 0.4);
439
443
  border-radius: 50%;
@@ -445,39 +449,31 @@
445
449
  }
446
450
  }
447
451
 
448
- /* ==========================================================================
449
- Button Groups
450
- ========================================================================== */
452
+ @media (prefers-reduced-motion: reduce) {
453
+ .media-default-skin .media-button {
454
+ scale: 1;
455
+ transition-property: background-color, color, outline-offset;
456
+ will-change: auto;
457
+ }
458
+ }
451
459
 
452
460
  .media-default-skin .media-button-group {
453
461
  display: flex;
454
- gap: 0.075rem;
462
+ gap: 1px;
455
463
  align-items: center;
456
-
457
- @container media-root (width > 42rem) {
458
- gap: 0.125rem;
459
- }
460
464
  }
461
465
 
462
- /* ==========================================================================
463
- Badge
464
- ========================================================================== */
465
-
466
466
  .media-default-skin .media-badge {
467
- padding: 0.125rem 0.375rem;
468
- font-size: 0.6875rem;
467
+ padding: calc(var(--spacing) * 0.5) calc(var(--spacing) * 1.5);
468
+ font-size: var(--font-size-small);
469
469
  font-weight: 500;
470
470
  line-height: 1;
471
471
  color: oklch(from currentColor l c h / 0.85);
472
472
  white-space: nowrap;
473
473
  background-color: oklch(from currentColor l c h / 0.1);
474
- border-radius: calc(infinity * 1px);
474
+ border-radius: calc(Infinity * 1px);
475
475
  }
476
476
 
477
- /* ==========================================================================
478
- Icons
479
- ========================================================================== */
480
-
481
477
  .media-default-skin .media-icon__container {
482
478
  position: relative;
483
479
  }
@@ -491,10 +487,6 @@
491
487
  scale: -1 1;
492
488
  }
493
489
 
494
- /* ==========================================================================
495
- Poster Image
496
- ========================================================================== */
497
-
498
490
  .media-default-skin media-poster,
499
491
  .media-default-skin > img {
500
492
  position: absolute;
@@ -517,7 +509,7 @@
517
509
  height: 100%;
518
510
  object-fit: var(--media-object-fit, contain);
519
511
  object-position: var(--media-object-position, center);
520
- border-radius: var(--media-video-border-radius);
512
+ border-radius: var(--container-border-radius);
521
513
  }
522
514
  .media-default-skin > img {
523
515
  object-fit: var(--media-object-fit, contain);
@@ -555,18 +547,17 @@
555
547
  object-fit: contain;
556
548
  }
557
549
 
558
- /* ==========================================================================
559
- Media thumbnail
560
- ========================================================================== */
561
-
562
550
  .media-default-skin .media-thumbnail {
551
+ position: relative;
563
552
  pointer-events: none;
564
553
  background-color: oklch(0 0 0 / 0.9);
565
- border-radius: 0.75rem;
554
+ border-radius: calc(var(--spacing) * 3);
566
555
 
567
- & .media-thumbnail__image {
556
+ .media-thumbnail__image {
568
557
  position: relative;
569
558
  display: block;
559
+ max-width: var(--thumbnail-max-width);
560
+ max-height: var(--max-height);
570
561
  overflow: clip;
571
562
  border-radius: inherit;
572
563
 
@@ -574,19 +565,12 @@
574
565
  position: absolute;
575
566
  inset: 0;
576
567
  content: "";
577
- background-image: linear-gradient(to top, oklch(0 0 0 / 0.8), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
568
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.1), oklch(0 0 0 / 0));
578
569
  border-radius: inherit;
579
570
  }
580
571
  }
581
572
 
582
- & .media-thumbnail__time {
583
- position: absolute;
584
- inset-inline: 0;
585
- bottom: 0.5rem;
586
- text-align: center;
587
- }
588
-
589
- & .media-thumbnail__spinner {
573
+ .media-thumbnail__spinner {
590
574
  position: absolute;
591
575
  top: 50%;
592
576
  left: 50%;
@@ -594,32 +578,41 @@
594
578
  translate: -50% -50%;
595
579
  }
596
580
 
597
- & .media-thumbnail__image,
598
- & .media-thumbnail__spinner {
581
+ .media-thumbnail__image,
582
+ .media-thumbnail__spinner {
599
583
  transition: opacity 150ms ease-out;
600
584
  }
601
585
 
602
586
  &:not(:has(.media-thumbnail__image[data-loading])) {
603
- & .media-thumbnail__spinner {
587
+ .media-thumbnail__spinner {
604
588
  --media-spinner-animation: none;
605
589
  }
606
590
  }
607
591
 
592
+ @media (prefers-reduced-motion: reduce) {
593
+ --media-spinner-animation: none;
594
+ }
595
+
608
596
  &:has(.media-thumbnail__image[data-loading]) {
609
- & .media-thumbnail__image {
597
+ width: var(--thumbnail-max-width);
598
+ max-width: 100%;
599
+ aspect-ratio: 16 / 9;
600
+ overflow: hidden;
601
+
602
+ .media-thumbnail__image {
610
603
  opacity: 0;
611
604
  }
612
- & .media-thumbnail__spinner {
605
+ .media-thumbnail__spinner {
613
606
  opacity: 1;
614
607
  }
615
608
  }
616
609
  }
617
610
 
618
- /* ==========================================================================
619
- Slider
620
- ========================================================================== */
621
-
622
611
  .media-default-skin .media-slider {
612
+ --thumb-size: calc(var(--spacing) * 2.5);
613
+ --thumb-active-size: calc(var(--spacing) * 3);
614
+ --track-border-radius: calc(Infinity * 1px);
615
+
623
616
  position: relative;
624
617
  display: flex;
625
618
  flex: 1;
@@ -627,235 +620,383 @@
627
620
  justify-content: center;
628
621
  cursor: pointer;
629
622
  outline: none;
630
- border-radius: calc(infinity * 1px);
631
623
 
632
624
  &[data-orientation="horizontal"] {
633
- width: 100%;
634
- min-width: 5rem;
635
- height: 2rem;
625
+ width: var(--slider-width, 100%);
626
+ min-width: calc(var(--spacing) * 20);
627
+ height: var(--slider-height, calc(var(--spacing) * 8));
636
628
  }
637
-
638
629
  &[data-orientation="vertical"] {
639
- width: 2rem;
640
- height: 5rem;
630
+ width: var(--slider-width, calc(var(--spacing) * 8));
631
+ height: var(--slider-height, calc(var(--spacing) * 20));
641
632
  }
642
- }
643
633
 
644
- /* Track */
645
- .media-default-skin .media-slider__track {
646
- position: relative;
647
- overflow: hidden;
648
- user-select: none;
649
- border-radius: inherit;
650
- isolation: isolate;
634
+ /* Track */
635
+ .media-slider__track {
636
+ position: relative;
637
+ overflow: hidden;
638
+ user-select: none;
639
+ background-color: oklch(from currentColor l c h / 0.2);
640
+ border-radius: var(--track-border-radius);
641
+ isolation: isolate;
651
642
 
652
- &[data-orientation="horizontal"] {
653
- width: 100%;
654
- height: 0.25rem;
643
+ &[data-orientation="horizontal"] {
644
+ width: 100%;
645
+ height: calc(var(--spacing) * 1);
646
+ }
647
+ &[data-orientation="vertical"] {
648
+ width: calc(var(--spacing) * 1);
649
+ height: 100%;
650
+ }
655
651
  }
656
652
 
657
- &[data-orientation="vertical"] {
658
- width: 0.25rem;
659
- height: 100%;
653
+ /* Shared track fills */
654
+ .media-slider__buffer,
655
+ .media-slider__fill {
656
+ position: absolute;
657
+ pointer-events: none;
658
+ border-radius: inherit;
659
+
660
+ &[data-orientation="horizontal"] {
661
+ inset-block: 0;
662
+ left: 0;
663
+ width: 100%;
664
+ transition-property: clip-path;
665
+ }
666
+ &[data-orientation="vertical"] {
667
+ inset-inline: 0;
668
+ bottom: 0;
669
+ height: 100%;
670
+ transition-property: clip-path;
671
+ }
660
672
  }
661
- }
662
673
 
663
- /* Thumb */
664
- .media-default-skin .media-slider__thumb {
665
- position: absolute;
666
- z-index: 10;
667
- width: 0.625rem;
668
- height: 0.625rem;
669
- user-select: none;
670
- outline: 4px solid transparent;
671
- outline-offset: -4px;
672
- background-color: currentColor;
673
- border-radius: calc(infinity * 1px);
674
- box-shadow:
675
- 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.1)),
676
- 0 1px 3px 0 oklch(0 0 0 / 0.35),
677
- 0 1px 2px -1px oklch(0 0 0 / 0.35);
678
- opacity: 0;
679
- translate: -50% -50%;
680
- transition-timing-function: ease-out;
681
- transition-duration: 150ms;
682
- transition-property: opacity, height, width, outline-offset;
674
+ /* Buffer */
675
+ .media-slider__buffer {
676
+ background-color: oklch(from currentColor l c h / 0.2);
683
677
 
684
- &[data-orientation="horizontal"] {
685
- top: 50%;
686
- left: var(--media-slider-fill);
678
+ &[data-orientation="horizontal"] {
679
+ clip-path: inset(0 calc(100% - var(--media-slider-buffer)) 0 0 round var(--track-border-radius));
680
+ }
681
+ &[data-orientation="vertical"] {
682
+ clip-path: inset(calc(100% - var(--media-slider-buffer)) 0 0 0 round var(--track-border-radius));
683
+ }
687
684
  }
688
685
 
689
- &[data-orientation="vertical"] {
690
- top: calc(100% - var(--media-slider-fill));
691
- left: 50%;
692
- }
686
+ /* Fill */
687
+ .media-slider__fill {
688
+ background-color: var(--accent-color);
693
689
 
694
- &:hover,
695
- &:focus {
696
- outline-color: oklch(from currentColor l c h / 0.15);
697
- outline-offset: 0;
690
+ &[data-orientation="horizontal"] {
691
+ clip-path: inset(0 calc(100% - var(--media-slider-fill)) 0 0 round var(--track-border-radius));
692
+ }
693
+ &[data-orientation="vertical"] {
694
+ clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
695
+ }
698
696
  }
699
697
 
700
- &::after {
701
- position: absolute;
702
- inset: -4px;
703
- content: "";
698
+ /* Chapters */
699
+ .media-slider__chapters {
700
+ position: relative;
701
+ display: flex;
702
+ flex: 1;
703
+ align-items: center;
704
+ min-width: 0;
705
+ min-height: 0;
704
706
  border-radius: inherit;
705
- box-shadow: 0 0 0 2px currentColor;
706
- transition-timing-function: ease-out;
707
- transition-duration: 150ms;
708
- transition-property: opacity, scale;
709
- }
710
707
 
711
- &:not(:focus-visible)::after {
712
- opacity: 0;
713
- scale: 0.5;
708
+ &[data-orientation="horizontal"] {
709
+ width: 100%;
710
+ height: 100%;
711
+ }
712
+ &[data-orientation="vertical"] {
713
+ flex-direction: column-reverse;
714
+ width: 100%;
715
+ height: 100%;
716
+ }
714
717
  }
715
- }
716
718
 
717
- .media-default-skin .media-slider:active .media-slider__thumb,
718
- .media-default-skin .media-slider__thumb--persistent {
719
- width: 0.75rem;
720
- height: 0.75rem;
721
- }
719
+ .media-slider__chapter {
720
+ --chapter-gap: calc(var(--spacing) * 1);
721
+ --chapter-inset-start: 0.5;
722
+ --chapter-inset-end: 0.5;
722
723
 
723
- .media-default-skin .media-slider:hover .media-slider__thumb,
724
- .media-default-skin .media-slider__thumb:focus-visible,
725
- .media-default-skin .media-slider__thumb--persistent {
726
- opacity: 1;
727
- }
724
+ position: absolute;
725
+ inset: 0;
726
+ display: flex;
727
+ align-items: center;
728
+ justify-content: center;
729
+ min-width: 0;
730
+ min-height: 0;
731
+ border-radius: inherit;
728
732
 
729
- /* Preview */
730
- .media-default-skin .media-slider__preview {
731
- & .media-slider__value,
732
- &::before {
733
- opacity: 0;
734
- scale: 0.5;
735
- transition-timing-function: ease-out;
736
- transition-duration: 200ms;
737
- transition-property: opacity, scale;
738
- }
733
+ &:first-child {
734
+ --chapter-inset-start: 0;
735
+ }
736
+ &:last-child {
737
+ --chapter-inset-end: 0;
738
+ }
739
739
 
740
- & .media-slider__value {
741
- position: absolute;
742
- bottom: 2.25rem;
743
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
744
- filter: blur(8px);
745
- translate: -50% 0.5rem;
746
- transition-property: filter, opacity, scale, translate;
747
- }
740
+ .media-slider__chapter-track {
741
+ --chapter-track-size: calc(var(--spacing) * 1);
742
+ --chapter-track-highlighted-size: calc(var(--spacing) * 1.75);
748
743
 
749
- &::before {
750
- display: block;
751
- min-width: 0.25rem;
752
- height: 0.25rem;
753
- content: "";
754
- background-color: currentColor;
755
- border-radius: 100%;
756
- box-shadow:
757
- 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.15)),
758
- 0 1px 2px 0 oklch(0 0 0 / 0.35);
759
- }
744
+ border-radius: inherit;
760
745
 
761
- &[data-pointing] .media-slider__value,
762
- &[data-pointing]:not([data-dragging])::before {
763
- opacity: 1;
764
- scale: 1;
765
- }
766
- &[data-pointing] .media-slider__value {
767
- filter: blur(0);
768
- translate: -50% 0;
769
- }
770
- }
746
+ @media (prefers-reduced-motion: no-preference) {
747
+ transition: 200ms ease-out;
748
+ transition-property: height, width;
749
+ }
750
+ }
771
751
 
772
- /* Shared track fills */
773
- .media-default-skin .media-slider__buffer,
774
- .media-default-skin .media-slider__fill {
775
- position: absolute;
776
- pointer-events: none;
777
- border-radius: inherit;
778
- }
752
+ &[data-orientation="horizontal"] {
753
+ clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
779
754
 
780
- .media-default-skin .media-slider__buffer[data-orientation="horizontal"],
781
- .media-default-skin .media-slider__fill[data-orientation="horizontal"] {
782
- inset-block: 0;
783
- left: 0;
784
- }
755
+ .media-slider__chapter-track {
756
+ height: var(--chapter-track-size);
757
+ clip-path: inset(
758
+ 0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-gap) * var(--chapter-inset-end)) 0
759
+ calc(var(--media-slider-chapter-start) + var(--chapter-gap) * var(--chapter-inset-start)) round
760
+ var(--track-border-radius)
761
+ );
762
+ }
785
763
 
786
- .media-default-skin .media-slider__buffer[data-orientation="vertical"],
787
- .media-default-skin .media-slider__fill[data-orientation="vertical"] {
788
- inset-inline: 0;
789
- bottom: 0;
790
- }
764
+ &[data-highlighted] .media-slider__chapter-track {
765
+ height: var(--chapter-track-highlighted-size);
766
+ }
767
+ }
791
768
 
792
- /* Buffer */
793
- .media-default-skin .media-slider__buffer {
794
- background-color: oklch(from currentColor l c h / 0.2);
795
- transition-timing-function: ease-out;
796
- transition-duration: 0.25s;
769
+ &[data-orientation="vertical"] {
770
+ clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
797
771
 
798
- &[data-orientation="horizontal"] {
799
- width: var(--media-slider-buffer);
800
- transition-property: width;
801
- }
772
+ .media-slider__chapter-track {
773
+ width: var(--chapter-track-size);
774
+ clip-path: inset(
775
+ calc(100% - var(--media-slider-chapter-end) + var(--chapter-gap) * var(--chapter-inset-end)) 0
776
+ calc(var(--media-slider-chapter-start) + var(--chapter-gap) * var(--chapter-inset-start)) 0 round
777
+ var(--track-border-radius)
778
+ );
779
+ }
802
780
 
803
- &[data-orientation="vertical"] {
804
- height: var(--media-slider-buffer);
805
- transition-property: height;
781
+ &[data-highlighted] .media-slider__chapter-track {
782
+ width: var(--chapter-track-highlighted-size);
783
+ }
784
+ }
806
785
  }
807
- }
808
786
 
809
- /* Fill */
810
- .media-default-skin .media-slider__fill {
811
- background-color: currentColor;
787
+ /* Dragging — thumb and fill follow the pointer position */
788
+ &[data-dragging] {
789
+ .media-slider__thumb[data-orientation="horizontal"] {
790
+ left: var(--media-slider-pointer);
791
+ }
792
+ .media-slider__thumb[data-orientation="vertical"] {
793
+ top: calc(100% - var(--media-slider-pointer));
794
+ }
795
+ .media-slider__fill[data-orientation="horizontal"] {
796
+ clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
797
+ }
798
+ .media-slider__fill[data-orientation="vertical"] {
799
+ clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
800
+ }
801
+ }
812
802
 
813
- &[data-orientation="horizontal"] {
814
- width: var(--media-slider-fill);
803
+ @media (prefers-reduced-motion: no-preference) {
804
+ .media-slider__thumb {
805
+ transition-property: opacity, height, width, outline-offset, left, top;
806
+ }
807
+ .media-slider__fill {
808
+ transition-timing-function: linear;
809
+ transition-duration: 200ms;
810
+ }
811
+ .media-slider__buffer {
812
+ transition-timing-function: ease-out;
813
+ transition-duration: 250ms;
814
+ }
815
815
  }
816
816
 
817
- &[data-orientation="vertical"] {
818
- height: var(--media-slider-fill);
817
+ &[data-dragging],
818
+ &[data-seeking] {
819
+ .media-slider__thumb,
820
+ .media-slider__fill,
821
+ .media-slider__buffer {
822
+ transition-duration: 0ms;
823
+ }
819
824
  }
820
- }
821
825
 
822
- /* Dragging — thumb and fill follow the pointer position */
823
- .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
824
- left: var(--media-slider-pointer);
825
- }
826
+ /* Thumb */
827
+ .media-slider__thumb {
828
+ position: absolute;
829
+ z-index: 10;
830
+ width: var(--thumb-size);
831
+ height: var(--thumb-size);
832
+ user-select: none;
833
+ outline: 4px solid transparent;
834
+ outline-offset: -4px;
835
+ background-color: currentColor;
836
+ border-radius: calc(Infinity * 1px);
837
+ box-shadow:
838
+ 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.1)),
839
+ 0 1px 3px 0 oklch(0 0 0 / 0.35),
840
+ 0 1px 2px -1px oklch(0 0 0 / 0.35);
841
+ opacity: 0;
842
+ translate: -50% -50%;
843
+ transition-timing-function: ease-out;
844
+ transition-duration: 150ms;
845
+ transition-property: opacity, height, width, outline-offset;
826
846
 
827
- .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
828
- top: calc(100% - var(--media-slider-pointer));
829
- }
847
+ &[data-orientation="horizontal"] {
848
+ top: 50%;
849
+ left: var(--media-slider-fill);
850
+ }
851
+ &[data-orientation="vertical"] {
852
+ top: calc(100% - var(--media-slider-fill));
853
+ left: 50%;
854
+ }
830
855
 
831
- .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
832
- width: var(--media-slider-pointer);
833
- }
856
+ &:focus-visible {
857
+ outline-color: oklch(from currentColor l c h / 0.15);
858
+ outline-offset: 0;
859
+ opacity: 1;
860
+ }
834
861
 
835
- .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
836
- height: var(--media-slider-pointer);
837
- }
862
+ @media (hover: hover) and (pointer: fine) {
863
+ &:hover {
864
+ outline-color: oklch(from currentColor l c h / 0.15);
865
+ outline-offset: 0;
866
+ }
867
+ }
838
868
 
839
- /* ==========================================================================
840
- Popups & Tooltips
841
- ========================================================================== */
869
+ &::after {
870
+ position: absolute;
871
+ inset: -4px;
872
+ content: "";
873
+ border-radius: inherit;
874
+ box-shadow: 0 0 0 2px currentColor;
875
+ transition-timing-function: ease-out;
876
+ transition-duration: 150ms;
877
+ transition-property: opacity, scale;
878
+ }
842
879
 
843
- .media-default-skin {
844
- --media-popup-transition:
845
- opacity var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
846
- filter var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
847
- transform var(--media-popup-transition-timing-function) var(--media-popup-transition-duration),
848
- scale var(--media-popup-transition-timing-function) var(--media-popup-transition-duration);
849
- }
880
+ &:not(:focus-visible)::after {
881
+ opacity: 0;
882
+ scale: 0.5;
883
+ }
850
884
 
851
- .media-default-skin .media-popover,
852
- .media-default-skin .media-tooltip {
853
- --popup-translate-distance: 0.5rem;
885
+ &.media-slider__thumb--persistent {
886
+ width: var(--thumb-active-size);
887
+ height: var(--thumb-active-size);
888
+ opacity: 1;
889
+ }
890
+ }
891
+
892
+ &:active .media-slider__thumb,
893
+ &:focus-within .media-slider__thumb {
894
+ width: var(--thumb-active-size);
895
+ height: var(--thumb-active-size);
896
+ }
897
+
898
+ @media (hover: hover) and (pointer: fine) {
899
+ &:hover .media-slider__thumb {
900
+ opacity: 1;
901
+ }
902
+ }
903
+
904
+ /* Preview */
905
+ .media-slider__preview {
906
+ --max-width: min(calc(var(--spacing) * 48), 100cqi);
907
+ --max-height: calc(var(--spacing) * 32);
908
+
909
+ min-width: var(--max-width);
910
+ height: calc(var(--spacing) * 1);
911
+
912
+ .media-slider__thumbnail,
913
+ .media-slider__value {
914
+ position: absolute;
915
+ left: 50%;
916
+ max-width: var(--max-width);
917
+ opacity: 0;
918
+ filter: blur(8px);
919
+ transform-origin: bottom;
920
+ scale: 0.8;
921
+ translate: -50% calc(var(--spacing) * 2);
922
+ transition-timing-function: ease-out;
923
+ transition-duration: 150ms;
924
+ }
925
+
926
+ .media-slider__thumbnail {
927
+ --thumbnail-max-width: var(--max-width);
928
+ bottom: calc(100% + (var(--spacing) * 9));
929
+ }
930
+
931
+ .media-slider__value {
932
+ bottom: calc(100% + (var(--spacing) * 10.5));
933
+ display: flex;
934
+ flex-direction: column;
935
+ align-items: center;
936
+ text-shadow: 0 1px 0 var(--shadow-current-color);
937
+ }
938
+
939
+ .media-slider__chapter-title {
940
+ min-width: 0;
941
+ max-width: var(--max-width);
942
+ padding-inline: calc(var(--spacing) * 3);
943
+ overflow: hidden;
944
+ text-overflow: ellipsis;
945
+ white-space: nowrap;
946
+
947
+ &:empty {
948
+ display: none;
949
+ }
950
+ }
951
+
952
+ &::before {
953
+ position: absolute;
954
+ top: 50%;
955
+ left: 50%;
956
+ z-index: 1;
957
+ width: calc(var(--spacing) * 1);
958
+ height: calc(var(--spacing) * 1);
959
+ pointer-events: none;
960
+ content: "";
961
+ background-color: currentColor;
962
+ border-radius: 100%;
963
+ box-shadow:
964
+ 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
965
+ 0 1px 2px 0 oklch(0 0 0 / 0.35);
966
+ opacity: 0;
967
+ scale: 0.5;
968
+ translate: -50% -50%;
969
+ transition-timing-function: ease-out;
970
+ transition-duration: 200ms;
971
+ transition-property: opacity, scale;
972
+ }
973
+
974
+ &[data-pointing]:not([data-dragging])::before,
975
+ &[data-pointing] :is(.media-slider__thumbnail, .media-slider__value),
976
+ &[data-interactive]:not([data-pointing]):not([data-dragging]) :is(.media-slider__value, .media-slider__thumbnail) {
977
+ opacity: 1;
978
+ filter: blur(0);
979
+ scale: 1;
980
+ }
981
+ }
982
+ }
983
+
984
+ .media-default-skin {
985
+ --popup-transition:
986
+ opacity var(--popup-transition-timing-function) var(--popup-transition-duration),
987
+ filter var(--popup-transition-timing-function) var(--popup-transition-duration),
988
+ transform var(--popup-transition-timing-function) var(--popup-transition-duration),
989
+ scale var(--popup-transition-timing-function) var(--popup-transition-duration);
990
+ }
991
+
992
+ .media-default-skin .media-popover,
993
+ .media-default-skin .media-tooltip {
994
+ --popup-translate-distance: calc(0.5 * var(--scale-unit));
854
995
  margin: 0;
855
996
  overflow: visible;
856
997
  color: inherit;
857
998
  border: 0;
858
- transition: var(--media-popup-transition);
999
+ transition: var(--popup-transition);
859
1000
 
860
1001
  &[data-starting-style],
861
1002
  &[data-ending-style] {
@@ -869,7 +1010,7 @@
869
1010
  &[data-ending-style] {
870
1011
  transform: none;
871
1012
  /* Speed up the exit transition. */
872
- transition-duration: max(0ms, calc(var(--media-popup-transition-duration) - 50ms));
1013
+ transition-duration: max(0ms, calc(var(--popup-transition-duration) - 50ms));
873
1014
  }
874
1015
 
875
1016
  &[data-side="top"] {
@@ -932,24 +1073,24 @@
932
1073
  }
933
1074
  }
934
1075
  .media-default-skin .media-popover--volume {
935
- padding: 0.75rem 0;
936
- border-radius: calc(infinity * 1px);
1076
+ padding: calc(var(--spacing) * 3) 0;
1077
+ border-radius: calc(Infinity * 1px);
937
1078
 
938
- &:has(media-volume-slider[data-availability="unsupported"]) {
1079
+ &:has(media-volume-slider[data-hidden]) {
939
1080
  display: none;
940
1081
  }
941
1082
  }
942
1083
 
943
1084
  .media-default-skin .media-tooltip {
944
- padding: 0.25rem 0.625rem;
945
- font-size: 0.75rem;
1085
+ padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);
1086
+ font-size: var(--font-size-base);
946
1087
  white-space: nowrap;
947
- border-radius: calc(infinity * 1px);
1088
+ border-radius: calc(Infinity * 1px);
948
1089
 
949
1090
  /* `display: flex` must not apply while closed — it overrides UA `[popover]` hiding. */
950
1091
  &[data-open] {
951
1092
  display: flex;
952
- column-gap: 0.25rem;
1093
+ column-gap: calc(var(--spacing) * 1);
953
1094
  align-items: center;
954
1095
  }
955
1096
 
@@ -962,31 +1103,27 @@
962
1103
  width: var(--media-tooltip-side-offset);
963
1104
  }
964
1105
 
965
- & .media-tooltip__kbd {
1106
+ .media-tooltip__kbd {
966
1107
  min-width: 1.5em;
967
1108
  padding: 0.1em;
968
1109
  font-family: inherit;
969
- font-size: 90%;
1110
+ font-size: var(--font-size-small);
970
1111
  font-weight: 600;
971
1112
  line-height: 1.25;
972
1113
  text-align: center;
973
1114
  background-color: oklch(from currentColor l c h / 0.3);
974
- border-radius: 0.25rem;
1115
+ border-radius: calc(var(--spacing) * 1);
975
1116
  }
976
1117
  }
977
1118
 
978
- /* ==========================================================================
979
- Menus
980
- Note: Menus use `.media-popover` styles for positioning and transitions.
981
- ========================================================================== */
982
-
983
1119
  .media-default-skin .media-menu {
984
1120
  --menu-transition-duration: 250ms;
985
- --menu-max-height: 14rem;
986
- --menu-padding: 0.25rem;
987
- --menu-border-radius: 0.75rem;
1121
+ --menu-max-height: calc(var(--spacing) * 56);
1122
+ --menu-padding: calc(var(--spacing) * 1);
1123
+ --menu-border-radius: calc(var(--spacing) * 3);
988
1124
  --menu-item-border-radius: calc(var(--menu-border-radius) - var(--menu-padding));
989
1125
  box-sizing: border-box;
1126
+ min-width: max-content;
990
1127
  max-width: var(--media-popover-available-width, none);
991
1128
  max-height: min(var(--media-popover-available-height, var(--menu-max-height)), var(--menu-max-height));
992
1129
  padding: var(--menu-padding);
@@ -998,138 +1135,124 @@
998
1135
  --menu-transition-duration: 0ms;
999
1136
  }
1000
1137
 
1001
- & .media-menu__panel {
1138
+ & > .media-menu__panel {
1002
1139
  position: absolute;
1003
- inset: 0;
1140
+ inset-inline: 0;
1141
+ top: 0;
1142
+ z-index: 10;
1143
+ max-height: inherit;
1004
1144
  padding: var(--menu-padding);
1005
1145
  overflow: auto;
1006
1146
  overscroll-behavior: none;
1007
1147
  outline: none;
1008
1148
  translate: 0 0;
1009
- transition-timing-function: ease-in-out;
1149
+ transition-timing-function: ease-out;
1010
1150
  transition-duration: var(--menu-transition-duration);
1011
1151
  transition-property: translate, filter;
1012
1152
  will-change: translate, filter;
1013
1153
 
1014
- &[data-starting-style],
1015
- &[data-ending-style] {
1154
+ &:where([data-starting-style], [data-ending-style]) {
1016
1155
  overflow: hidden;
1017
- }
1018
-
1019
- /* Root settings view — slides out when a submenu is active */
1020
- &[data-menu-root-view][data-menu-view-state="inactive"] {
1156
+ pointer-events: none;
1021
1157
  filter: blur(8px);
1022
- translate: -100% 0;
1023
-
1024
- /* Hide the indicator while transitioning */
1025
- & .media-menu__group::before {
1026
- display: none;
1027
- }
1028
- }
1029
-
1030
- /* Submenu panels — slide in/out alongside the root view */
1031
- &[data-submenu] {
1032
- z-index: 10;
1033
-
1034
- &:not([data-open], [data-ending-style]) {
1035
- translate: -100% 0;
1036
- transition-property: none;
1037
- }
1038
-
1039
- &[data-starting-style],
1040
- &[data-ending-style] {
1041
- pointer-events: none;
1042
- filter: blur(8px);
1043
- }
1044
-
1045
- &[data-starting-style][data-direction="forward"],
1046
- &[data-ending-style][data-direction="back"] {
1047
- translate: 100% 0;
1048
- }
1049
-
1050
- &[data-ending-style][data-direction="forward"],
1051
- &[data-starting-style][data-direction="back"] {
1052
- translate: -100% 0;
1053
- }
1158
+ translate: 100% 0;
1054
1159
  }
1055
1160
  }
1056
1161
 
1057
- & .media-menu__separator {
1058
- margin-block: 0.25rem;
1162
+ .media-menu__separator {
1163
+ margin-block: calc(var(--spacing) * 1);
1059
1164
  border-bottom: 1px solid oklch(0 0 0 / 0.1);
1060
1165
  box-shadow: 0 1px 0 0 oklch(1 0 0 / 0.075);
1061
1166
  }
1062
1167
 
1063
- & .media-menu__group {
1168
+ .media-menu__group {
1169
+ anchor-scope: --menu-item-highlight-anchor;
1064
1170
  display: flex;
1065
1171
  flex-direction: column;
1066
- gap: 0.125rem;
1172
+ gap: calc(var(--spacing) * 0.5);
1067
1173
 
1068
1174
  @supports (top: anchor(top)) {
1069
1175
  &::before {
1070
1176
  position: absolute;
1071
- position-anchor: --media-menu-item-highlight-anchor;
1177
+ position-anchor: --menu-item-highlight-anchor;
1072
1178
  inset: anchor(inside);
1179
+ /* Firefox treats the moving highlight as a content shift and re-scrolls
1180
+ the menu while hovering. Exclude it from scroll anchoring. */
1181
+ overflow-anchor: none;
1073
1182
  pointer-events: none;
1074
1183
  content: "";
1075
- background-color: oklch(from currentColor l c h / 0.1);
1184
+ background-color: var(--accent-background-color);
1076
1185
  border-radius: var(--menu-item-border-radius);
1077
- transition: inset ease-in-out 100ms;
1186
+ transition: inset 100ms ease-in-out;
1187
+ }
1188
+
1189
+ &:has([data-highlighted=""])::before {
1190
+ transition-duration: 0ms;
1078
1191
  }
1079
1192
  }
1080
1193
  }
1081
1194
 
1082
- & .media-menu__item,
1083
- & .media-menu__back {
1195
+ .media-menu__item,
1196
+ .media-menu__back {
1197
+ position: relative;
1084
1198
  display: flex;
1085
- gap: 0.375rem;
1199
+ gap: calc(var(--spacing) * 1.5);
1086
1200
  align-items: center;
1087
- padding: 0.375rem 0.5rem;
1201
+ padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);
1088
1202
  text-align: left;
1089
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
1203
+ text-shadow: 0 1px 0 var(--shadow-current-color);
1090
1204
  cursor: pointer;
1091
1205
  user-select: none;
1092
1206
  outline: 2px solid transparent;
1093
1207
  outline-offset: -2px;
1094
1208
  border-radius: var(--menu-item-border-radius);
1095
1209
  transition: background-color, color;
1096
- transition-timing-function: ease-out;
1210
+ transition-timing-function: ease-in-out;
1097
1211
  transition-duration: 100ms;
1098
1212
 
1213
+ .media-icon {
1214
+ flex-shrink: 0;
1215
+ color: oklch(from currentColor l c h / 0.65);
1216
+ filter: drop-shadow(0 1px 0 var(--shadow-current-color));
1217
+ }
1218
+
1099
1219
  &:focus-visible {
1100
- outline-color: currentColor;
1220
+ outline-color: var(--focus-ring-color);
1101
1221
  outline-offset: 2px;
1102
1222
  }
1103
1223
 
1104
1224
  &:hover,
1105
1225
  &[data-highlighted] {
1106
- background-color: oklch(from currentColor l c h / 0.1);
1226
+ color: var(--accent-text-color);
1227
+ background-color: var(--accent-background-color);
1107
1228
 
1108
- @supports (top: anchor(top)) {
1109
- anchor-name: --media-menu-item-highlight-anchor;
1110
- background-color: transparent;
1229
+ .media-icon {
1230
+ color: inherit;
1111
1231
  }
1112
1232
  }
1113
1233
 
1114
- & .media-icon {
1115
- flex-shrink: 0;
1116
- color: oklch(from currentColor l c h / 0.65);
1117
- filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
1234
+ @supports (top: anchor(top)) {
1235
+ transition-duration: 50ms;
1236
+
1237
+ &:hover,
1238
+ &[data-highlighted] {
1239
+ transition-duration: 200ms;
1240
+ }
1118
1241
  }
1119
1242
  }
1120
1243
 
1121
- & .media-menu__indicator {
1244
+ .media-menu__indicator {
1122
1245
  flex-shrink: 0;
1123
- margin-right: -0.25rem;
1246
+ margin-right: calc(var(--spacing) * -1);
1124
1247
  margin-left: auto;
1125
1248
  opacity: 0;
1126
1249
 
1127
- & .media-icon {
1128
- filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
1250
+ .media-icon {
1251
+ filter: drop-shadow(0 1px 0 var(--shadow-current-color));
1129
1252
  }
1130
1253
  }
1131
1254
 
1132
- & .media-menu__item {
1255
+ .media-menu__item {
1133
1256
  justify-content: space-between;
1134
1257
  font-variant-numeric: tabular-nums;
1135
1258
  color: inherit;
@@ -1148,82 +1271,97 @@
1148
1271
  &[data-availability="unsupported"] {
1149
1272
  display: none;
1150
1273
  }
1274
+
1275
+ &[data-highlighted] {
1276
+ @supports (top: anchor(top)) {
1277
+ anchor-name: --menu-item-highlight-anchor;
1278
+ background-color: transparent;
1279
+ }
1280
+ }
1151
1281
  }
1152
1282
 
1153
- & .media-menu__tier {
1283
+ .media-menu__tier {
1154
1284
  padding-top: 1px;
1155
- padding-left: 0.125rem;
1156
- font-size: 0.5625rem;
1285
+ padding-left: calc(var(--spacing) * 0.5);
1286
+ font-size: var(--font-size-tiny);
1157
1287
  font-weight: 600;
1158
1288
  line-height: 1;
1159
1289
  color: oklch(from currentColor l c h / 0.7);
1160
1290
  }
1161
1291
 
1162
- & .media-menu__back {
1292
+ .media-menu__back {
1163
1293
  width: 100%;
1164
- margin-bottom: 0.125rem;
1294
+ margin-bottom: calc(var(--spacing) * 0.5);
1165
1295
  }
1166
1296
 
1167
- & .media-menu__hint {
1297
+ .media-menu__hint {
1168
1298
  display: inline-flex;
1169
- gap: 0.25rem;
1299
+ gap: calc(var(--spacing) * 1);
1170
1300
  align-items: center;
1171
1301
  min-width: 0;
1172
- padding-left: 0.5rem;
1302
+ padding-left: calc(var(--spacing) * 2);
1173
1303
  margin-left: auto;
1174
- font-size: 0.75rem;
1175
1304
  color: oklch(from currentColor l c h / 0.65);
1176
1305
  }
1177
1306
 
1178
- & .media-menu__hint-label {
1179
- max-width: 6rem;
1307
+ .media-menu__hint-label {
1308
+ max-width: calc(var(--spacing) * 24);
1180
1309
  overflow: hidden;
1181
1310
  text-overflow: ellipsis;
1182
1311
  white-space: nowrap;
1183
1312
  }
1184
1313
 
1185
- & .media-menu__chevron {
1186
- width: 0.875rem;
1187
- height: 0.875rem;
1314
+ .media-menu__chevron {
1315
+ width: calc(var(--spacing) * 3.5);
1316
+ height: calc(var(--spacing) * 3.5);
1188
1317
  }
1189
1318
 
1190
1319
  /* Settings menu */
1191
1320
  &.media-menu--settings {
1192
1321
  width: var(--media-menu-width);
1193
- min-width: 12rem;
1322
+ min-width: calc(var(--spacing) * 48);
1194
1323
  height: var(--media-menu-height);
1195
1324
  overflow: hidden;
1196
- /* Add height and width transitions. */
1325
+ /* Only the menu size changes between panels. */
1197
1326
  transition:
1198
- var(--media-popup-transition),
1199
- height var(--media-popup-transition-timing-function) var(--menu-transition-duration),
1200
- width var(--media-popup-transition-timing-function) var(--menu-transition-duration);
1327
+ var(--popup-transition),
1328
+ width var(--popup-transition-timing-function) var(--menu-transition-duration),
1329
+ height var(--popup-transition-timing-function) var(--menu-transition-duration);
1330
+
1331
+ & > :not([data-submenu]) {
1332
+ translate: 0 0;
1333
+ transition:
1334
+ translate var(--menu-transition-duration) ease-out,
1335
+ filter var(--menu-transition-duration) ease-out;
1336
+ will-change: translate, filter;
1337
+ }
1201
1338
 
1202
- /* Don't transition width and height on open/close. */
1339
+ &[data-submenu-expanded="true"] > :not([data-submenu]) {
1340
+ filter: blur(8px);
1341
+ translate: -100% 0;
1342
+ }
1343
+
1344
+ /* WebKit can restart the covered-content transition while the
1345
+ anchor-positioned highlight remains active. */
1346
+ &[data-submenu-expanded] > :not([data-submenu])::before {
1347
+ display: none;
1348
+ }
1349
+
1350
+ /* Don't transition size on open/close. */
1203
1351
  &[data-starting-style],
1204
1352
  &[data-ending-style] {
1205
- transition: var(--media-popup-transition);
1353
+ transition: var(--popup-transition);
1206
1354
  }
1207
1355
  }
1208
1356
  }
1209
1357
 
1210
- /* ==========================================================================
1211
- Native Caption Track
1212
- ========================================================================== */
1213
-
1214
1358
  .media-default-skin {
1215
- --media-caption-track-duration: var(--media-controls-transition-duration);
1359
+ --media-caption-track-duration: var(--controls-transition-duration);
1216
1360
  --media-caption-track-delay: 25ms;
1217
- --media-caption-track-y: -0.5rem;
1361
+ --media-caption-track-y: calc(var(--spacing) * -2);
1218
1362
 
1219
1363
  &:has(.media-controls[data-visible]) {
1220
- --media-caption-track-y: -5.5rem;
1221
- }
1222
-
1223
- @container media-root (width > 42rem) {
1224
- &:has(.media-controls[data-visible]) > * {
1225
- --media-caption-track-y: -3.5rem;
1226
- }
1364
+ --media-caption-track-y: calc(var(--spacing) * -14);
1227
1365
  }
1228
1366
  }
1229
1367
 
@@ -1236,112 +1374,110 @@
1236
1374
  transition-delay: var(--media-caption-track-delay);
1237
1375
  }
1238
1376
 
1239
- /* ==========================================================================
1240
- Input Feedback
1241
- ========================================================================== */
1242
-
1243
- .media-default-skin .media-input-feedback {
1377
+ .media-default-skin .media-input-indicator-overlay {
1244
1378
  position: absolute;
1245
- inset-inline: 0;
1246
- top: 0;
1247
- bottom: 3.5rem; /* Shift up a little in smaller containers */
1379
+ inset: 0;
1248
1380
  display: grid;
1249
1381
  grid-template-columns: 1fr 1fr 1fr;
1250
1382
  align-items: center;
1251
1383
  justify-items: center;
1252
- color: var(--media-color-primary, oklch(1 0 0));
1384
+ color: oklch(1 0 0);
1253
1385
  pointer-events: none;
1254
-
1255
- @container media-root (width > 24rem) {
1256
- bottom: 0;
1257
- }
1258
1386
  }
1259
1387
 
1260
- /* --- Feedback islands ------------------------------------------------------- */
1261
-
1262
- .media-default-skin .media-input-feedback-island {
1263
- --media-surface-background-color: oklch(0 0 0 / 0.25);
1264
- position: absolute;
1265
- top: 0.75rem;
1266
- font-weight: 500;
1267
- color: inherit;
1268
- pointer-events: none;
1269
- border-radius: calc(Infinity * 1px);
1270
- transform-origin: top center;
1271
- transition-timing-function: ease-out;
1272
- transition-duration: 100ms;
1273
-
1274
- .media-input-feedback-island__content {
1275
- display: flex;
1276
- gap: 0.5rem;
1277
- align-items: center;
1278
- justify-content: space-between;
1279
- width: 100%;
1280
- padding: 0.25rem 0.625rem;
1388
+ .media-default-skin {
1389
+ .media-volume-indicator,
1390
+ .media-status-indicator--state {
1391
+ --surface-background-color: oklch(0 0 0 / 0.25);
1392
+ position: absolute;
1393
+ top: calc(var(--spacing) * 3);
1394
+ font-weight: 500;
1395
+ color: inherit;
1396
+ pointer-events: none;
1397
+ border-radius: calc(Infinity * 1px);
1398
+ transform-origin: top center;
1399
+ transition-timing-function: ease-out;
1400
+ transition-duration: 100ms;
1281
1401
 
1282
- /* Increase contrast of the content */
1283
- * {
1284
- mix-blend-mode: difference;
1402
+ .media-volume-indicator__content,
1403
+ .media-status-indicator__content {
1404
+ display: flex;
1405
+ gap: calc(var(--spacing) * 2);
1406
+ align-items: center;
1407
+ justify-content: space-between;
1408
+ width: 100%;
1409
+ padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);
1410
+
1411
+ * {
1412
+ mix-blend-mode: difference;
1413
+ }
1285
1414
  }
1286
- }
1287
1415
 
1288
- .media-icon {
1289
- display: none;
1290
- flex-shrink: 0;
1291
- }
1416
+ .media-icon {
1417
+ display: none;
1418
+ flex-shrink: 0;
1419
+ }
1292
1420
 
1293
- .media-input-feedback-island__value {
1294
- margin-left: auto;
1295
- }
1421
+ .media-volume-indicator__value,
1422
+ .media-status-indicator__value {
1423
+ margin-left: auto;
1424
+ }
1296
1425
 
1297
- @media (pointer: coarse) {
1298
- transition-property: scale, translate, opacity;
1299
- will-change: scale, translate, opacity;
1300
- }
1426
+ @media (pointer: coarse) {
1427
+ transition-property: scale, translate, opacity;
1428
+ will-change: scale, translate, opacity;
1429
+ }
1301
1430
 
1302
- @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1303
- transition-property: scale, translate, filter, opacity;
1304
- will-change: scale, translate, filter, opacity;
1305
- }
1431
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1432
+ transition-property: scale, translate, filter, opacity;
1433
+ will-change: scale, translate, filter, opacity;
1434
+ }
1306
1435
 
1307
- @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1308
- --media-surface-background-color: oklch(0 0 0);
1309
- }
1436
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1437
+ --surface-background-color: oklch(0 0 0);
1438
+ }
1310
1439
 
1311
- /* Default hidden state */
1312
- &[data-starting-style],
1313
- &[data-ending-style] {
1314
- opacity: 0;
1315
- transition-timing-function: ease-in;
1316
- transition-duration: 250ms;
1440
+ &[data-starting-style],
1441
+ &[data-ending-style] {
1442
+ opacity: 0;
1443
+ transition-timing-function: ease-in;
1444
+ transition-duration: 250ms;
1317
1445
 
1318
- @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1319
- filter: blur(8px);
1320
- scale: 0.9;
1446
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1447
+ filter: blur(8px);
1448
+ scale: 0.9;
1449
+ }
1321
1450
  }
1322
1451
 
1323
- @media (prefers-reduced-motion: no-preference) {
1324
- &[data-ending-style] {
1452
+ &[data-ending-style] {
1453
+ @media (prefers-reduced-motion: no-preference) {
1325
1454
  translate: 0 -25%;
1326
1455
  }
1327
1456
  }
1328
1457
  }
1458
+
1459
+ .media-seek-indicator,
1460
+ .media-status-indicator--playback {
1461
+ display: grid;
1462
+ grid-row: 1;
1463
+ grid-column: 2;
1464
+ place-content: center;
1465
+ padding: calc(var(--spacing) * 4);
1466
+ text-align: center;
1467
+ }
1329
1468
  }
1330
1469
 
1331
- .media-default-skin .media-input-feedback-island--volume {
1332
- width: min(80%, 12rem);
1470
+ .media-default-skin .media-volume-indicator {
1471
+ width: min(80%, calc(var(--spacing) * 48));
1472
+ transform: translateX(0);
1333
1473
 
1334
- .media-input-feedback-island__content {
1335
- --media-progress-fill: var(--media-volume-fill);
1336
- background-image: linear-gradient(
1337
- to right,
1338
- currentColor 0%,
1339
- currentColor var(--media-progress-fill),
1340
- transparent var(--media-progress-fill),
1341
- transparent 100%
1342
- );
1474
+ .media-volume-indicator__content {
1475
+ background-image: linear-gradient(currentColor, currentColor);
1476
+ background-repeat: no-repeat;
1477
+ background-position: left;
1478
+ background-size: var(--media-volume-fill, 0%) 100%;
1343
1479
  border-radius: inherit;
1344
- transition: --media-progress-fill 200ms linear;
1480
+ transition: background-size 200ms linear;
1345
1481
  }
1346
1482
 
1347
1483
  &[data-level="high"] .media-icon--volume-high,
@@ -1351,14 +1487,15 @@
1351
1487
  }
1352
1488
 
1353
1489
  @media (prefers-reduced-motion: no-preference) {
1354
- &[data-min],
1355
- &[data-max] {
1356
- animation: media-shake 300ms ease-in-out;
1490
+ &[data-min]:not([data-starting-style], [data-ending-style]),
1491
+ &[data-max]:not([data-starting-style], [data-ending-style]) {
1492
+ transform: translateX(0.25px);
1493
+ transition: transform 300ms linear(0, -24 20%, 16 40%, -8 60%, 4 80%, 1);
1357
1494
  }
1358
1495
  }
1359
1496
  }
1360
1497
 
1361
- .media-default-skin .media-input-feedback-island--status {
1498
+ .media-default-skin .media-status-indicator--state {
1362
1499
  &[data-status="captions-on"] .media-icon--captions-on,
1363
1500
  &[data-status="captions-off"] .media-icon--captions-off,
1364
1501
  &[data-status="fullscreen"] .media-icon--fullscreen-enter,
@@ -1369,49 +1506,72 @@
1369
1506
  }
1370
1507
  }
1371
1508
 
1372
- /* --- Bubble ---------------------------------------------------------------- */
1373
-
1374
- .media-default-skin .media-input-feedback-bubble {
1375
- display: grid;
1376
- grid-row: 1;
1377
- grid-column: 2;
1378
- place-content: center;
1379
- padding: 1rem;
1380
- text-align: center;
1509
+ .media-default-skin .media-status-indicator--playback {
1510
+ background: oklch(0 0 0 / 0.35);
1511
+ border-radius: 100%;
1512
+ backdrop-filter: blur(8px);
1513
+ transition-timing-function: ease-out;
1514
+ transition-duration: 200ms;
1515
+ transition-property: opacity, scale;
1381
1516
 
1382
- /* Central bubble (play, pause) */
1383
- &:not([data-direction]) {
1384
- background: oklch(0 0 0 / 0.35);
1385
- border-radius: 100%;
1386
- backdrop-filter: blur(8px);
1517
+ .media-icon {
1518
+ grid-area: 1 / 1;
1519
+ width: calc(var(--media-icon-size) * 1.5);
1520
+ height: calc(var(--media-icon-size) * 1.5);
1521
+ opacity: 0;
1522
+ scale: 0;
1387
1523
  transition-timing-function: ease-out;
1388
- transition-duration: 200ms;
1524
+ transition-duration: 150ms;
1389
1525
  transition-property: opacity, scale;
1390
1526
 
1391
- &[data-starting-style],
1392
- &[data-ending-style] {
1393
- opacity: 0;
1394
- scale: 0.85;
1527
+ &.media-icon--play {
1528
+ translate: 1px 0;
1395
1529
  }
1530
+ }
1396
1531
 
1397
- &[data-ending-style] {
1398
- transition-timing-function: ease-in;
1399
- transition-duration: 100ms;
1532
+ &[data-status="pause"] .media-icon--pause,
1533
+ &[data-status="play"] .media-icon--play {
1534
+ opacity: 1;
1535
+ scale: 1;
1536
+ }
1537
+
1538
+ &[data-starting-style],
1539
+ &[data-ending-style] {
1540
+ opacity: 0;
1541
+ scale: 0.85;
1542
+ }
1543
+
1544
+ &[data-ending-style] {
1545
+ transition-timing-function: ease-in;
1546
+ transition-duration: 100ms;
1547
+ }
1548
+
1549
+ @media (prefers-reduced-motion: reduce) {
1550
+ transition-duration: 50ms;
1551
+ transition-property: opacity;
1552
+
1553
+ &[data-starting-style],
1554
+ &[data-ending-style],
1555
+ .media-icon {
1556
+ scale: 1;
1400
1557
  }
1401
1558
 
1402
- @media (prefers-reduced-motion: reduce) {
1559
+ .media-icon {
1403
1560
  transition-duration: 50ms;
1404
1561
  transition-property: opacity;
1405
1562
  }
1406
1563
  }
1564
+ }
1407
1565
 
1408
- /* Directional bubbles (seek) */
1409
- &[data-direction] {
1410
- gap: 0.25rem;
1566
+ .media-default-skin .media-seek-indicator {
1567
+ gap: calc(var(--spacing) * 1);
1411
1568
 
1412
- @container media-root (width > 24rem) {
1413
- padding: 1.5rem;
1414
- }
1569
+ .media-seek-indicator__value {
1570
+ font-variant-numeric: tabular-nums;
1571
+ }
1572
+
1573
+ @container media-root (width > 24rem) {
1574
+ padding: calc(var(--spacing) * 6);
1415
1575
  }
1416
1576
 
1417
1577
  &[data-direction="backward"] {
@@ -1424,21 +1584,10 @@
1424
1584
  justify-self: right;
1425
1585
  }
1426
1586
 
1427
- /* Icons */
1428
- .media-icon {
1429
- display: none;
1587
+ .media-icon--seek {
1588
+ display: block;
1430
1589
  width: calc(var(--media-icon-size) * 1.5);
1431
1590
  height: calc(var(--media-icon-size) * 1.5);
1432
-
1433
- &.media-icon--play {
1434
- translate: 1px 0;
1435
- }
1436
- }
1437
-
1438
- &[data-direction] .media-icon--seek,
1439
- &[data-status="pause"] .media-icon--pause,
1440
- &[data-status="play"] .media-icon--play {
1441
- display: block;
1442
1591
  }
1443
1592
 
1444
1593
  &[data-direction="backward"] .media-icon--seek {
@@ -1460,6 +1609,7 @@
1460
1609
  &[data-direction="forward"][data-starting-style] .media-icon--seek {
1461
1610
  translate: -60% 0;
1462
1611
  }
1612
+
1463
1613
  &[data-direction="backward"][data-starting-style] .media-icon--seek {
1464
1614
  translate: 60% 0;
1465
1615
  }
@@ -1469,32 +1619,24 @@
1469
1619
  /* ==========================================================================
1470
1620
  Icon State Visibility for Video Skins
1471
1621
 
1472
- Data-attribute-driven visibility rules for multi-state icon buttons.
1473
- Uses :is() with both element selectors (for HTML custom element wrappers)
1474
- and class selectors (for React rendered SVG elements).
1622
+ Data-attribute-driven visibility rules for multi-state icon buttons shared
1623
+ by the HTML and React skins.
1475
1624
  ========================================================================== */
1476
1625
 
1477
1626
  /* --- All icons hidden by default --- */
1478
1627
 
1479
- .media-button--play .media-icon--restart,
1480
- .media-button--play .media-icon--play,
1481
- .media-button--play .media-icon--pause,
1482
- .media-button--mute .media-icon--volume-off,
1483
- .media-button--mute .media-icon--volume-low,
1484
- .media-button--mute .media-icon--volume-high,
1485
- .media-button--fullscreen .media-icon--fullscreen-enter,
1486
- .media-button--fullscreen .media-icon--fullscreen-exit,
1487
- .media-button--pip .media-icon--pip-enter,
1488
- .media-button--pip .media-icon--pip-exit,
1489
- .media-button--cast .media-icon--cast-enter,
1490
- .media-button--cast .media-icon--cast-exit,
1491
- .media-button--airplay .media-icon--airplay-enter,
1492
- .media-button--airplay .media-icon--airplay-exit,
1493
- .media-button--captions .media-icon--captions-off,
1494
- .media-button--captions .media-icon--captions-on {
1495
- display: none;
1628
+ .media-button--play .media-icon,
1629
+ .media-button--mute .media-icon,
1630
+ .media-button--fullscreen .media-icon,
1631
+ .media-button--pip .media-icon,
1632
+ .media-button--cast .media-icon,
1633
+ .media-button--airplay .media-icon,
1634
+ .media-button--captions .media-icon {
1496
1635
  opacity: 0;
1497
1636
  }
1637
+ .media-button--play .media-icon {
1638
+ scale: 0;
1639
+ }
1498
1640
 
1499
1641
  /* --- Active icon per state --- */
1500
1642
 
@@ -1531,8 +1673,8 @@
1531
1673
  .media-button--captions:not([data-active]) .media-icon--captions-off,
1532
1674
  /* Captions: active → captions on */
1533
1675
  .media-button--captions[data-active] .media-icon--captions-on {
1534
- display: block;
1535
1676
  opacity: 1;
1677
+ scale: 1;
1536
1678
  }
1537
1679
 
1538
1680
  /* --- Pause keyframe animations on inactive icons --- */
@@ -1546,104 +1688,68 @@
1546
1688
  --media-icon--airplay__triangle-animation: none;
1547
1689
  }
1548
1690
 
1549
- /* -------------------------------------------------------------------------- */
1550
- /* Global @keyframes for all video skins (CSS & Tailwind) */
1551
- /* -------------------------------------------------------------------------- */
1552
-
1553
- @keyframes media-shake {
1554
- 0%,
1555
- 100% {
1556
- translate: 0 0;
1557
- }
1558
- 20% {
1559
- translate: -6px 0;
1560
- }
1561
- 40% {
1562
- translate: 4px 0;
1563
- }
1564
- 60% {
1565
- translate: -2px 0;
1566
- }
1567
- 80% {
1568
- translate: 1px 0;
1691
+ @media (prefers-reduced-motion: reduce) {
1692
+ .media-button--airplay {
1693
+ --media-icon--airplay__fill-animation: none;
1694
+ --media-icon--airplay__triangle-animation: none;
1569
1695
  }
1570
1696
  }
1571
1697
 
1572
- /* -------------------------------------------------------------------------- */
1573
- /* Global @properties for all video skins (CSS & Tailwind) */
1574
- /* -------------------------------------------------------------------------- */
1575
1698
 
1576
- @property --media-progress-fill {
1577
- syntax: "<percentage>";
1578
- inherits: true;
1579
- initial-value: 0%;
1580
- }
1699
+ /* Video-specific container styles */
1581
1700
 
1701
+ .media-default-skin--video {
1702
+ --default-accent-color: oklch(1 0 0);
1703
+ --border-color: light-dark(oklch(0 0 0 / 0.1), oklch(1 0 0 / 0.15));
1704
+ --focus-ring-color: light-dark(oklch(0 0 0), oklch(1 0 0));
1705
+ --media-video-border-radius: var(--container-border-radius);
1582
1706
 
1583
- /* ==========================================================================
1584
- Root
1585
- ========================================================================== */
1707
+ --surface-background-color: oklch(1 0 0 / 0.1);
1708
+ --surface-inner-border-color: oklch(1 0 0 / 0.1);
1709
+ --surface-outer-border-color: oklch(0 0 0 / 0.1);
1710
+ --surface-shadow-color: oklch(0 0 0 / 0.15);
1711
+ --surface-backdrop-filter: blur(16px) saturate(1.5);
1712
+
1713
+ --controls-transition-duration: 100ms;
1714
+ --controls-transition-timing-function: ease-out;
1715
+
1716
+ --error-dialog-transition-duration: 350ms;
1717
+ --error-dialog-transition-delay: 100ms;
1718
+ --error-dialog-transition-timing-function: ease-out;
1719
+
1720
+ --popup-transition-duration: 100ms;
1721
+ --popup-transition-timing-function: ease-out;
1586
1722
 
1587
- .media-default-skin--video {
1588
- --media-spring-timing-function: linear(
1589
- 0,
1590
- 0.034 1.5%,
1591
- 0.763 9.7%,
1592
- 1.066 13.9%,
1593
- 1.198 19.9%,
1594
- 1.184 21.8%,
1595
- 0.963 37.5%,
1596
- 0.997 50.9%,
1597
- 1
1598
- );
1599
- --media-border-color: oklch(0 0 0 / 0.1);
1600
- --media-surface-background-color: oklch(1 0 0 / 0.1);
1601
- --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
1602
- --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
1603
- --media-surface-shadow-color: oklch(0 0 0 / 0.15);
1604
- --media-surface-backdrop-filter: blur(16px) saturate(1.5);
1605
- --media-video-border-radius: var(--media-border-radius, 2rem);
1606
- --media-controls-transition-duration: 100ms;
1607
- --media-controls-transition-timing-function: ease-out;
1608
- --media-error-dialog-transition-duration: 350ms;
1609
- --media-error-dialog-transition-delay: 100ms;
1610
- --media-error-dialog-transition-timing-function: var(--media-spring-timing-function);
1611
- --media-popup-transition-duration: 100ms;
1612
- --media-popup-transition-timing-function: ease-out;
1613
- --media-tooltip-side-offset: 0.75rem;
1614
- --media-tooltip-boundary-offset: 0.5rem;
1615
- --media-popover-side-offset: 0.5rem;
1616
- --media-popover-boundary-offset: 0.5rem;
1617
1723
  overflow: clip;
1618
1724
  background: oklch(0 0 0);
1619
1725
 
1620
1726
  @media (prefers-reduced-motion: reduce) {
1621
- --media-error-dialog-transition-duration: 50ms;
1622
- --media-error-dialog-transition-delay: 0ms;
1623
- --media-error-dialog-transition-timing-function: ease-out;
1624
- --media-popup-transition-duration: 0ms;
1625
- }
1727
+ --error-dialog-transition-duration: 50ms;
1728
+ --error-dialog-transition-delay: 0ms;
1729
+ --popup-transition-duration: 0ms;
1626
1730
 
1627
- @media (prefers-color-scheme: dark) {
1628
- --media-border-color: oklch(1 0 0 / 0.15);
1731
+ .media-error__dialog {
1732
+ scale: 1;
1733
+ transition-property: opacity;
1734
+ }
1629
1735
  }
1630
1736
 
1631
1737
  @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1632
- --media-surface-background-color: oklch(0 0 0);
1633
- --media-surface-inner-border-color: oklch(1 0 0 / 0.25);
1634
- --media-surface-outer-border-color: transparent;
1738
+ --surface-background-color: oklch(0 0 0);
1739
+ --surface-inner-border-color: oklch(1 0 0 / 0.25);
1740
+ --surface-outer-border-color: transparent;
1635
1741
  }
1636
1742
 
1637
- &:has(.media-controls:not([data-visible])) {
1743
+ &:has(.media-controls--root:not([data-visible])) {
1638
1744
  /* Slight delay to hide controls on non-touch devices after interaction */
1639
1745
  @media (pointer: fine) {
1640
- --media-controls-transition-duration: 300ms;
1746
+ --controls-transition-duration: 300ms;
1641
1747
  }
1642
1748
  @media (pointer: coarse) {
1643
- --media-controls-transition-duration: 150ms;
1749
+ --controls-transition-duration: 150ms;
1644
1750
  }
1645
1751
  @media (prefers-reduced-motion: reduce) {
1646
- --media-controls-transition-duration: 50ms;
1752
+ --controls-transition-duration: 50ms;
1647
1753
  }
1648
1754
  }
1649
1755
 
@@ -1655,17 +1761,29 @@
1655
1761
  pointer-events: none;
1656
1762
  content: "";
1657
1763
  border-radius: inherit;
1658
- box-shadow: inset 0 0 0 1px var(--media-border-color);
1764
+ box-shadow: inset 0 0 0 1px var(--border-color);
1659
1765
  }
1660
1766
 
1661
1767
  &:fullscreen {
1662
- --media-border-radius: 0;
1768
+ --container-border-radius: 0;
1769
+
1770
+ &::after {
1771
+ display: none;
1772
+ }
1773
+
1774
+ @media (width >= 1280px) {
1775
+ --scale: 1.25;
1776
+ }
1777
+ @media (width >= 1536px) {
1778
+ --scale: 1.5;
1779
+ }
1780
+ @media (width >= 1920px) {
1781
+ --scale: 1.75;
1782
+ }
1663
1783
  }
1664
1784
  }
1665
1785
 
1666
- /* ==========================================================================
1667
- Error Dialog
1668
- ========================================================================== */
1786
+ /* Error Dialog */
1669
1787
 
1670
1788
  .media-default-skin--video .media-error {
1671
1789
  position: absolute;
@@ -1679,22 +1797,23 @@
1679
1797
  .media-default-skin--video .media-error__dialog {
1680
1798
  display: flex;
1681
1799
  flex-direction: column;
1682
- gap: 0.75rem;
1683
- max-width: 18rem;
1684
- padding: 0.75rem;
1800
+ gap: calc(var(--spacing) * 3);
1801
+ width: 100%;
1802
+ max-width: calc(var(--spacing) * 72);
1803
+ padding: calc(var(--spacing) * 3);
1685
1804
  color: oklch(1 0 0);
1686
1805
  text-shadow: 0 1px 0 oklch(0 0 0 / 0.25);
1687
- border-radius: 1.75rem;
1688
- transition-delay: var(--media-error-dialog-transition-delay);
1689
- transition-timing-function: var(--media-error-dialog-transition-timing-function);
1690
- transition-duration: var(--media-error-dialog-transition-duration);
1806
+ border-radius: calc(var(--spacing) * 7);
1807
+ transition-delay: var(--error-dialog-transition-delay);
1808
+ transition-timing-function: var(--error-dialog-transition-timing-function);
1809
+ transition-duration: var(--error-dialog-transition-duration);
1691
1810
  transition-property: opacity, scale;
1692
1811
  }
1693
1812
 
1694
1813
  .media-default-skin--video .media-error[data-starting-style] .media-error__dialog,
1695
1814
  .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1696
1815
  opacity: 0;
1697
- scale: 0.5;
1816
+ scale: 0.95;
1698
1817
  }
1699
1818
  .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1700
1819
  transition-delay: 0ms;
@@ -1703,86 +1822,153 @@
1703
1822
  .media-default-skin--video .media-error__content {
1704
1823
  display: flex;
1705
1824
  flex-direction: column;
1706
- gap: 0.5rem;
1707
- padding: 0.5rem 0.5rem 0.375rem;
1825
+ gap: calc(var(--spacing) * 2);
1826
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 2) calc(var(--spacing) * 1.5);
1708
1827
  text-shadow: inherit;
1709
1828
  }
1710
1829
 
1711
1830
  .media-default-skin--video .media-error__title {
1712
- font-size: 1rem;
1831
+ font-size: var(--font-size-medium);
1713
1832
  }
1714
1833
 
1715
- /* ==========================================================================
1716
- Controls (hide/show behavior)
1717
- ========================================================================== */
1834
+ /* Controls (hide/show behavior) */
1835
+
1836
+ .media-default-skin--video .media-controls--root {
1837
+ --inset-factor: 2;
1838
+ --inset: calc(var(--spacing) * var(--inset-factor));
1839
+ --base-boundary-offset: var(--inset-factor);
1718
1840
 
1719
- .media-default-skin--video .media-controls {
1720
- position: absolute;
1721
- inset-inline: 0.5rem;
1722
- bottom: 0.5rem;
1723
1841
  z-index: 10;
1724
- flex-wrap: wrap;
1725
- color: var(--media-color-primary, oklch(1 0 0));
1726
- transform-origin: bottom;
1727
- transition-timing-function: var(--media-controls-transition-timing-function);
1728
- transition-duration: var(--media-controls-transition-duration);
1842
+ display: contents;
1843
+ color: oklch(1 0 0);
1844
+ transition-timing-function: var(--controls-transition-timing-function);
1845
+ /* Speed up the entry transition */
1846
+ transition-duration: calc(var(--controls-transition-duration) / 2);
1729
1847
 
1730
- @media (pointer: fine) {
1731
- transition-property: scale, filter, opacity;
1732
- will-change: scale, filter, opacity;
1848
+ .media-controls--primary,
1849
+ .media-controls--secondary {
1850
+ position: absolute;
1851
+ z-index: 10;
1733
1852
  }
1734
1853
 
1735
- @media (pointer: coarse) {
1736
- transition-property: scale, opacity;
1737
- will-change: scale, opacity;
1854
+ .media-controls--primary {
1855
+ inset-inline: var(--inset);
1856
+ bottom: var(--inset);
1857
+ transform-origin: bottom;
1738
1858
  }
1739
1859
 
1740
- &:not([data-visible]) {
1741
- pointer-events: none;
1742
- opacity: 0;
1743
- scale: 0.95;
1860
+ .media-controls--secondary {
1861
+ top: var(--inset);
1862
+ right: var(--inset);
1863
+ container-type: normal;
1864
+ transform-origin: top;
1865
+ }
1744
1866
 
1745
- @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1746
- filter: blur(8px);
1867
+ @container media-root (width < 32rem) {
1868
+ .media-controls--primary,
1869
+ .media-controls--secondary {
1870
+ transition-timing-function: inherit;
1871
+ transition-duration: inherit;
1872
+
1873
+ @media (pointer: fine) {
1874
+ transition-property: filter, opacity, scale, translate;
1875
+ will-change: filter, opacity, scale, translate;
1876
+ }
1877
+
1878
+ @media (pointer: coarse) {
1879
+ transition-property: opacity, scale, translate;
1880
+ will-change: opacity, scale, translate;
1881
+ }
1747
1882
  }
1748
1883
 
1749
- @media (prefers-reduced-motion: reduce) {
1750
- scale: 1;
1884
+ &:after {
1885
+ display: none;
1751
1886
  }
1752
- }
1753
1887
 
1754
- & .media-time-controls {
1755
- flex: 0 0 100%;
1756
- order: -1;
1757
- padding-inline: 0.625rem;
1888
+ &:not([data-visible]) {
1889
+ .media-controls--primary,
1890
+ .media-controls--secondary {
1891
+ pointer-events: none;
1892
+ opacity: 0;
1893
+ scale: 0.95;
1894
+ transition-duration: var(--controls-transition-duration);
1895
+
1896
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1897
+ filter: blur(8px);
1898
+ }
1899
+
1900
+ @media (prefers-reduced-motion: reduce) {
1901
+ scale: 1;
1902
+ }
1903
+ }
1904
+
1905
+ .media-controls--primary {
1906
+ @media (prefers-reduced-motion: no-preference) {
1907
+ translate: 0 4px;
1908
+ }
1909
+ }
1910
+
1911
+ .media-controls--secondary {
1912
+ @media (prefers-reduced-motion: no-preference) {
1913
+ translate: 0 -4px;
1914
+ }
1915
+ }
1916
+ }
1758
1917
  }
1759
1918
 
1760
- & .media-button-group:first-child {
1761
- flex: 1;
1762
- text-align: left;
1919
+ @container media-root (width >= 32rem) {
1920
+ position: absolute;
1921
+ inset-inline: var(--inset);
1922
+ bottom: var(--inset);
1923
+ display: flex;
1924
+ transform-origin: bottom;
1925
+
1926
+ .media-controls--primary,
1927
+ .media-controls--secondary {
1928
+ display: contents;
1929
+
1930
+ &::after {
1931
+ display: none;
1932
+ }
1933
+ }
1934
+
1935
+ &:not([data-visible]) {
1936
+ pointer-events: none;
1937
+ opacity: 0;
1938
+ scale: 0.95;
1939
+ transition-duration: var(--controls-transition-duration);
1940
+
1941
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1942
+ filter: blur(8px);
1943
+ }
1944
+
1945
+ @media (prefers-reduced-motion: reduce) {
1946
+ scale: 1;
1947
+ }
1948
+
1949
+ @media (prefers-reduced-motion: no-preference) {
1950
+ translate: 0 4px;
1951
+ }
1952
+ }
1763
1953
  }
1764
1954
 
1765
- & .media-button-group:last-child {
1955
+ .media-time-controls {
1766
1956
  flex: 1;
1767
- justify-content: end;
1957
+ padding-inline: calc(var(--spacing) * 3);
1768
1958
  }
1769
1959
 
1770
- @container media-root (width > 42rem) {
1771
- inset-inline: 0.75rem;
1772
- bottom: 0.75rem;
1773
- flex-wrap: nowrap;
1774
- column-gap: 0.125rem;
1775
- padding: 0.25rem;
1960
+ @media (pointer: fine) {
1961
+ transition-property: filter, opacity, scale, translate;
1962
+ will-change: filter, opacity, scale, translate;
1963
+ }
1776
1964
 
1777
- & .media-time-controls {
1778
- flex: 1;
1779
- order: unset;
1780
- }
1965
+ @media (pointer: coarse) {
1966
+ transition-property: opacity, scale, translate;
1967
+ will-change: opacity, scale, translate;
1968
+ }
1781
1969
 
1782
- & .media-button-group:first-child,
1783
- & .media-button-group:last-child {
1784
- flex: 0 0 auto;
1785
- }
1970
+ @container media-root (width > 42rem) {
1971
+ --inset-factor: 3;
1786
1972
  }
1787
1973
  }
1788
1974
 
@@ -1791,71 +1977,13 @@
1791
1977
  }
1792
1978
 
1793
1979
  /* Hide cursor when controls are hidden */
1794
- .media-default-skin--video:has(.media-controls:not([data-visible])) {
1980
+ .media-default-skin--video:has(.media-controls--root:not([data-visible])) {
1795
1981
  cursor: none;
1796
1982
  }
1797
1983
 
1798
- /* ==========================================================================
1799
- Sliders
1800
- ========================================================================== */
1984
+ /* Sliders */
1801
1985
 
1802
1986
  .media-default-skin--video .media-slider__track {
1803
1987
  background-color: oklch(1 0 0 / 0.2);
1804
- box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
1805
- }
1806
-
1807
- .media-default-skin--video .media-slider__thumbnail {
1808
- --media-slider-thumbnail-max-width: 11rem;
1809
- --media-slider-thumbnail-max-height: 8rem;
1810
- --media-slider-thumbnail-padding: -1.125rem;
1811
- /**
1812
- Inset is the difference between the container width and the slider (100%) width.
1813
- Divided by 2 as we render the time on both sides.
1814
- */
1815
- --media-slider-thumbnail-inset: calc((100cqi - 100%) / 2);
1816
-
1817
- position: absolute;
1818
- bottom: calc(100% + 1.2rem);
1819
- left: clamp(
1820
- calc(
1821
- var(--media-slider-thumbnail-max-width) /
1822
- 2 +
1823
- var(--media-slider-thumbnail-padding) -
1824
- var(--media-slider-thumbnail-inset)
1825
- ),
1826
- var(--media-slider-pointer),
1827
- calc(
1828
- 100% -
1829
- var(--media-slider-thumbnail-max-width) /
1830
- 2 -
1831
- var(--media-slider-thumbnail-padding) +
1832
- var(--media-slider-thumbnail-inset)
1833
- )
1834
- );
1835
- pointer-events: none;
1836
- opacity: 0;
1837
- filter: blur(8px);
1838
- transform-origin: bottom;
1839
- scale: 0.8;
1840
- translate: -50%;
1841
- transition-timing-function: ease-out;
1842
- transition-duration: 150ms;
1843
- transition-property: scale, opacity, filter;
1844
-
1845
- & .media-thumbnail__image {
1846
- max-width: var(--media-slider-thumbnail-max-width);
1847
- max-height: var(--media-slider-thumbnail-max-height);
1848
- }
1849
- }
1850
- .media-default-skin--video .media-slider[data-pointing] .media-slider__thumbnail:has([role="img"]:not([data-hidden])) {
1851
- opacity: 1;
1852
- filter: blur(0);
1853
- scale: 1;
1854
- }
1855
- .media-default-skin--video
1856
- .media-slider__thumbnail:has([role="img"]:not([data-hidden]))
1857
- + .media-slider__preview
1858
- .media-slider__value {
1859
- display: none;
1860
1988
  }
1861
1989