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

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