@videojs/react 10.0.0-beta.25 → 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 (1594) 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.map +1 -1
  180. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  181. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  182. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  183. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -1
  184. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -1
  185. package/dist/default/icons/dist/react/default/check.js.map +1 -1
  186. package/dist/default/icons/dist/react/default/chevron.js.map +1 -1
  187. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  188. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  189. package/dist/default/icons/dist/react/default/gear.js.map +1 -1
  190. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  191. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  192. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  193. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  194. package/dist/default/icons/dist/react/default/quality.js.map +1 -1
  195. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  196. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  197. package/dist/default/icons/dist/react/default/speech.js.map +1 -1
  198. package/dist/default/icons/dist/react/default/speed.js.map +1 -1
  199. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  200. package/dist/default/icons/dist/react/default/switches.js.map +1 -1
  201. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  202. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  203. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  204. package/dist/default/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  205. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  206. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  207. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  208. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -1
  209. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -1
  210. package/dist/default/icons/dist/react/minimal/check.js.map +1 -1
  211. package/dist/default/icons/dist/react/minimal/chevron.js.map +1 -1
  212. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  213. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  214. package/dist/default/icons/dist/react/minimal/gear.js.map +1 -1
  215. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  216. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  217. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  218. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  219. package/dist/default/icons/dist/react/minimal/quality.js.map +1 -1
  220. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  221. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  222. package/dist/default/icons/dist/react/minimal/speech.js.map +1 -1
  223. package/dist/default/icons/dist/react/minimal/speed.js.map +1 -1
  224. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  225. package/dist/default/icons/dist/react/minimal/switches.js.map +1 -1
  226. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  227. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  228. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  229. package/dist/default/index.js +9 -3
  230. package/dist/default/media/audio.js.map +1 -1
  231. package/dist/default/media/background-video/index.js +1 -25
  232. package/dist/default/media/background-video/media.js +26 -0
  233. package/dist/default/media/background-video/{index.js.map → media.js.map} +1 -1
  234. package/dist/default/media/dash-video/index.js +1 -24
  235. package/dist/default/media/dash-video/media.js +21 -0
  236. package/dist/default/media/dash-video/media.js.map +1 -0
  237. package/dist/default/media/google-cast/google-cast.js +28 -0
  238. package/dist/default/media/google-cast/google-cast.js.map +1 -0
  239. package/dist/default/media/google-cast/index.js +2 -0
  240. package/dist/default/media/hlsjs-video/index.js +1 -24
  241. package/dist/default/media/hlsjs-video/media.js +21 -0
  242. package/dist/default/media/hlsjs-video/media.js.map +1 -0
  243. package/dist/default/media/mux-audio/index.js +1 -26
  244. package/dist/default/media/mux-audio/media.js +26 -0
  245. package/dist/default/media/mux-audio/media.js.map +1 -0
  246. package/dist/default/media/mux-data/index.js +2 -0
  247. package/dist/default/media/mux-data/mux-data.js +37 -0
  248. package/dist/default/media/mux-data/mux-data.js.map +1 -0
  249. package/dist/default/media/mux-video/index.js +1 -26
  250. package/dist/default/media/mux-video/media.js +56 -0
  251. package/dist/default/media/mux-video/media.js.map +1 -0
  252. package/dist/default/media/native-hls-video/index.js +1 -24
  253. package/dist/default/media/native-hls-video/media.js +21 -0
  254. package/dist/default/media/native-hls-video/media.js.map +1 -0
  255. package/dist/default/media/simple-hls-audio-only/index.js +1 -21
  256. package/dist/default/media/simple-hls-audio-only/media.js +22 -0
  257. package/dist/default/media/simple-hls-audio-only/media.js.map +1 -0
  258. package/dist/default/media/simple-hls-video/index.js +1 -21
  259. package/dist/default/media/simple-hls-video/media.js +22 -0
  260. package/dist/default/media/simple-hls-video/media.js.map +1 -0
  261. package/dist/default/media/video.js.map +1 -1
  262. package/dist/default/media/vimeo-video/index.js +1 -36
  263. package/dist/default/media/vimeo-video/media.js +37 -0
  264. package/dist/default/media/vimeo-video/media.js.map +1 -0
  265. package/dist/default/player/container.js +41 -0
  266. package/dist/default/player/container.js.map +1 -0
  267. package/dist/default/player/context.js +2 -25
  268. package/dist/default/player/context.js.map +1 -1
  269. package/dist/default/player/create-player.js +2 -1
  270. package/dist/default/player/create-player.js.map +1 -1
  271. package/dist/default/presets/audio/minimal-skin.css +269 -254
  272. package/dist/default/presets/audio/minimal-skin.js +14 -16
  273. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  274. package/dist/default/presets/audio/minimal-skin.tailwind.js +13 -15
  275. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  276. package/dist/default/presets/audio/skin.css +286 -256
  277. package/dist/default/presets/audio/skin.js +12 -14
  278. package/dist/default/presets/audio/skin.js.map +1 -1
  279. package/dist/default/presets/audio/skin.tailwind.js +15 -18
  280. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  281. package/dist/default/presets/background/index.js +1 -1
  282. package/dist/default/presets/background/skin.js.map +1 -1
  283. package/dist/default/presets/live-audio/minimal-skin.css +269 -254
  284. package/dist/default/presets/live-audio/minimal-skin.js +7 -12
  285. package/dist/default/presets/live-audio/minimal-skin.js.map +1 -1
  286. package/dist/default/presets/live-audio/minimal-skin.tailwind.js +9 -14
  287. package/dist/default/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  288. package/dist/default/presets/live-audio/skin.css +286 -256
  289. package/dist/default/presets/live-audio/skin.js +7 -12
  290. package/dist/default/presets/live-audio/skin.js.map +1 -1
  291. package/dist/default/presets/live-audio/skin.tailwind.js +9 -14
  292. package/dist/default/presets/live-audio/skin.tailwind.js.map +1 -1
  293. package/dist/default/presets/live-video/minimal-skin.css +361 -327
  294. package/dist/default/presets/live-video/minimal-skin.js +33 -32
  295. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  296. package/dist/default/presets/live-video/minimal-skin.tailwind.js +35 -34
  297. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  298. package/dist/default/presets/live-video/skin.css +440 -350
  299. package/dist/default/presets/live-video/skin.js +85 -84
  300. package/dist/default/presets/live-video/skin.js.map +1 -1
  301. package/dist/default/presets/live-video/skin.tailwind.js +86 -85
  302. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  303. package/dist/default/presets/video/minimal-skin.css +361 -327
  304. package/dist/default/presets/video/minimal-skin.js +56 -87
  305. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  306. package/dist/default/presets/video/minimal-skin.tailwind.js +62 -93
  307. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  308. package/dist/default/presets/video/skin.css +440 -350
  309. package/dist/default/presets/video/skin.js +148 -160
  310. package/dist/default/presets/video/skin.js.map +1 -1
  311. package/dist/default/presets/video/skin.tailwind.js +98 -122
  312. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  313. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -11
  314. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  315. package/dist/default/skins/dist/default/default/tailwind/components/badge.js +1 -1
  316. package/dist/default/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  317. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  318. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  319. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  320. package/dist/default/skins/dist/default/default/tailwind/components/button.js +8 -3
  321. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  322. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  323. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  324. package/dist/default/skins/dist/default/default/tailwind/components/error.js +1 -1
  325. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  326. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  327. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +2 -2
  328. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
  329. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +11 -7
  330. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  331. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  332. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  333. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +2 -2
  334. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  335. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  336. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  337. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  338. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  339. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
  340. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  341. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -2
  342. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  343. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +1 -1
  344. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  345. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  346. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  347. package/dist/default/skins/dist/default/default/tailwind/components/time.js +3 -3
  348. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  349. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +25 -21
  350. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  351. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +14 -12
  352. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  353. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  354. package/dist/default/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  355. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  356. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  357. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +13 -3
  358. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  359. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  360. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  361. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  362. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  363. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +4 -4
  364. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
  365. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +11 -7
  366. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  367. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  368. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  369. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  370. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
  371. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  372. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  373. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  374. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  375. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  376. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  377. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  378. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  379. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  380. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  381. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  382. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  383. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  384. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +22 -21
  385. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  386. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  387. package/dist/default/ui/airplay-button/airplay-button.js +2 -1
  388. package/dist/default/ui/airplay-button/airplay-button.js.map +1 -1
  389. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  390. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  391. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  392. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  393. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  394. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  395. package/dist/default/ui/alert-dialog/index.parts.js +1 -1
  396. package/dist/default/ui/audio-track/use-audio-track-options.js +10 -1
  397. package/dist/default/ui/audio-track/use-audio-track-options.js.map +1 -1
  398. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  399. package/dist/default/ui/captions-button/captions-button.js +2 -1
  400. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  401. package/dist/default/ui/captions-radio-group/use-captions-options.js +13 -2
  402. package/dist/default/ui/captions-radio-group/use-captions-options.js.map +1 -1
  403. package/dist/default/ui/cast-button/cast-button.js +2 -1
  404. package/dist/default/ui/cast-button/cast-button.js.map +1 -1
  405. package/dist/default/ui/controls/context.js.map +1 -1
  406. package/dist/default/ui/controls/controls-group.js.map +1 -1
  407. package/dist/default/ui/controls/controls-root.js +5 -1
  408. package/dist/default/ui/controls/controls-root.js.map +1 -1
  409. package/dist/default/ui/controls/index.parts.js +1 -1
  410. package/dist/default/ui/create-context-part.js.map +1 -1
  411. package/dist/default/ui/create-media-button.js +21 -8
  412. package/dist/default/ui/create-media-button.js.map +1 -1
  413. package/dist/default/ui/error-dialog/context.js.map +1 -1
  414. package/dist/default/ui/error-dialog/error-dialog-close.js +36 -0
  415. package/dist/default/ui/error-dialog/error-dialog-close.js.map +1 -0
  416. package/dist/default/ui/error-dialog/error-dialog-description.js +7 -2
  417. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -1
  418. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -1
  419. package/dist/default/ui/error-dialog/error-dialog-title.js +30 -0
  420. package/dist/default/ui/error-dialog/error-dialog-title.js.map +1 -0
  421. package/dist/default/ui/error-dialog/index.parts.js +5 -5
  422. package/dist/default/ui/error-dialog/index.parts.js.map +1 -1
  423. package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -1
  424. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  425. package/dist/default/ui/gesture/gesture.js.map +1 -1
  426. package/dist/default/ui/gesture/use-doubletap-gesture.js +1 -2
  427. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  428. package/dist/default/ui/gesture/use-tap-gesture.js +1 -2
  429. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  430. package/dist/default/ui/hooks/use-button.js.map +1 -1
  431. package/dist/default/ui/hooks/use-positioned-state.js +39 -0
  432. package/dist/default/ui/hooks/use-positioned-state.js.map +1 -0
  433. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  434. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  435. package/dist/default/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  436. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -1
  437. package/dist/default/ui/input-indicators/use-indicator-visibility.js.map +1 -1
  438. package/dist/default/ui/input-indicators/use-input-action-subscription.js.map +1 -1
  439. package/dist/default/ui/input-indicators/use-input-indicator-root.js.map +1 -1
  440. package/dist/default/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
  441. package/dist/default/ui/live-button/live-button.js +9 -5
  442. package/dist/default/ui/live-button/live-button.js.map +1 -1
  443. package/dist/default/ui/menu/context.js.map +1 -1
  444. package/dist/default/ui/menu/index.parts.js +1 -1
  445. package/dist/default/ui/menu/menu-back.js +6 -2
  446. package/dist/default/ui/menu/menu-back.js.map +1 -1
  447. package/dist/default/ui/menu/menu-checkbox-item.js.map +1 -1
  448. package/dist/default/ui/menu/menu-content.js +27 -13
  449. package/dist/default/ui/menu/menu-content.js.map +1 -1
  450. package/dist/default/ui/menu/menu-group-label.js.map +1 -1
  451. package/dist/default/ui/menu/menu-group.js.map +1 -1
  452. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  453. package/dist/default/ui/menu/menu-item-setting-provider.js +7 -2
  454. package/dist/default/ui/menu/menu-item-setting-provider.js.map +1 -1
  455. package/dist/default/ui/menu/menu-item-value.js.map +1 -1
  456. package/dist/default/ui/menu/menu-item.js.map +1 -1
  457. package/dist/default/ui/menu/menu-radio-group.js.map +1 -1
  458. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  459. package/dist/default/ui/menu/menu-root.js +7 -2
  460. package/dist/default/ui/menu/menu-root.js.map +1 -1
  461. package/dist/default/ui/menu/menu-separator.js.map +1 -1
  462. package/dist/default/ui/menu/menu-trigger.js +1 -1
  463. package/dist/default/ui/menu/menu-trigger.js.map +1 -1
  464. package/dist/default/ui/menu/menu-view.js.map +1 -1
  465. package/dist/default/ui/menu/use-menu-group.js.map +1 -1
  466. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  467. package/dist/default/ui/pip-button/pip-button.js +2 -1
  468. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  469. package/dist/default/ui/play-button/play-button.js.map +1 -1
  470. package/dist/default/ui/playback-rate/use-playback-rate-options.js +6 -0
  471. package/dist/default/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  472. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  473. package/dist/default/ui/popover/context.js.map +1 -1
  474. package/dist/default/ui/popover/index.parts.js +1 -1
  475. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  476. package/dist/default/ui/popover/popover-popup.js +21 -11
  477. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  478. package/dist/default/ui/popover/popover-root.js +6 -2
  479. package/dist/default/ui/popover/popover-root.js.map +1 -1
  480. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  481. package/dist/default/ui/poster/poster.js.map +1 -1
  482. package/dist/default/ui/quality/use-quality-options.js +12 -2
  483. package/dist/default/ui/quality/use-quality-options.js.map +1 -1
  484. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  485. package/dist/default/ui/seek-indicator/context.js.map +1 -1
  486. package/dist/default/ui/seek-indicator/index.parts.js +1 -1
  487. package/dist/default/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  488. package/dist/default/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  489. package/dist/default/ui/slider/context.js.map +1 -1
  490. package/dist/default/ui/slider/index.parts.js +1 -1
  491. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  492. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  493. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  494. package/dist/default/ui/slider/slider-root.js +10 -1
  495. package/dist/default/ui/slider/slider-root.js.map +1 -1
  496. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  497. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  498. package/dist/default/ui/slider/slider-track.js.map +1 -1
  499. package/dist/default/ui/slider/slider-value.js.map +1 -1
  500. package/dist/default/ui/status-announcer/status-announcer.js +19 -10
  501. package/dist/default/ui/status-announcer/status-announcer.js.map +1 -1
  502. package/dist/default/ui/status-indicator/context.js.map +1 -1
  503. package/dist/default/ui/status-indicator/index.parts.js +1 -1
  504. package/dist/default/ui/status-indicator/status-indicator-root.js +4 -3
  505. package/dist/default/ui/status-indicator/status-indicator-root.js.map +1 -1
  506. package/dist/default/ui/status-indicator/status-indicator-value.js.map +1 -1
  507. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  508. package/dist/default/ui/time/index.parts.js +1 -1
  509. package/dist/default/ui/time/time-group.js.map +1 -1
  510. package/dist/default/ui/time/time-separator.js.map +1 -1
  511. package/dist/default/ui/time/time-value.js +11 -2
  512. package/dist/default/ui/time/time-value.js.map +1 -1
  513. package/dist/default/ui/time-slider/index.parts.js +1 -1
  514. package/dist/default/ui/time-slider/time-slider-root.js +15 -2
  515. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  516. package/dist/default/ui/tooltip/context.js.map +1 -1
  517. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  518. package/dist/default/ui/tooltip/index.parts.js +1 -1
  519. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  520. package/dist/default/ui/tooltip/tooltip-label.js.map +1 -1
  521. package/dist/default/ui/tooltip/tooltip-popup.js +22 -12
  522. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  523. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  524. package/dist/default/ui/tooltip/tooltip-root.js +6 -2
  525. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  526. package/dist/default/ui/tooltip/tooltip-shortcut.js.map +1 -1
  527. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  528. package/dist/default/ui/volume-indicator/context.js.map +1 -1
  529. package/dist/default/ui/volume-indicator/index.parts.js +1 -1
  530. package/dist/default/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  531. package/dist/default/ui/volume-indicator/volume-indicator-root.js +6 -2
  532. package/dist/default/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  533. package/dist/default/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  534. package/dist/default/ui/volume-slider/index.parts.js +1 -1
  535. package/dist/default/ui/volume-slider/volume-slider-root.js +14 -2
  536. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  537. package/dist/default/utils/merge-props.js.map +1 -1
  538. package/dist/default/utils/use-attach-iframe.js.map +1 -1
  539. package/dist/default/utils/use-attach-media.js.map +1 -1
  540. package/dist/default/utils/use-composed-refs.js.map +1 -1
  541. package/dist/default/utils/use-destroy.js.map +1 -1
  542. package/dist/default/utils/use-force-render.js.map +1 -1
  543. package/dist/default/utils/use-latest-ref.js.map +1 -1
  544. package/dist/default/utils/use-media-component.js +29 -0
  545. package/dist/default/utils/use-media-component.js.map +1 -0
  546. package/dist/default/utils/use-media-instance.js +1 -1
  547. package/dist/default/utils/use-media-instance.js.map +1 -1
  548. package/dist/default/utils/use-render.js.map +1 -1
  549. package/dist/default/utils/use-safe-id.js.map +1 -1
  550. package/dist/default/utils/use-sync-props.js +11 -2
  551. package/dist/default/utils/use-sync-props.js.map +1 -1
  552. package/dist/dev/i18n/context.d.ts +29 -0
  553. package/dist/dev/i18n/context.d.ts.map +1 -0
  554. package/dist/dev/i18n/context.js +36 -0
  555. package/dist/dev/i18n/context.js.map +1 -0
  556. package/dist/dev/i18n/create-i18n.d.ts +61 -0
  557. package/dist/dev/i18n/create-i18n.d.ts.map +1 -0
  558. package/dist/dev/i18n/create-i18n.js +76 -0
  559. package/dist/dev/i18n/create-i18n.js.map +1 -0
  560. package/dist/dev/i18n/get-provider-root-props.js +40 -0
  561. package/dist/dev/i18n/get-provider-root-props.js.map +1 -0
  562. package/dist/dev/i18n/index.d.ts +4 -0
  563. package/dist/dev/i18n/index.js +5 -0
  564. package/dist/dev/i18n/locales/all/register.d.ts +1 -0
  565. package/dist/dev/i18n/locales/all/register.js +8 -0
  566. package/dist/dev/i18n/locales/all/register.js.map +1 -0
  567. package/dist/dev/i18n/locales/all.d.ts +2 -0
  568. package/dist/dev/i18n/locales/all.js +2 -0
  569. package/dist/dev/i18n/locales/ar/register.d.ts +1 -0
  570. package/dist/dev/i18n/locales/ar/register.js +8 -0
  571. package/dist/dev/i18n/locales/ar/register.js.map +1 -0
  572. package/dist/dev/i18n/locales/ar.d.ts +2 -0
  573. package/dist/dev/i18n/locales/ar.js +2 -0
  574. package/dist/dev/i18n/locales/az/register.d.ts +1 -0
  575. package/dist/dev/i18n/locales/az/register.js +8 -0
  576. package/dist/dev/i18n/locales/az/register.js.map +1 -0
  577. package/dist/dev/i18n/locales/az.d.ts +2 -0
  578. package/dist/dev/i18n/locales/az.js +2 -0
  579. package/dist/dev/i18n/locales/bg/register.d.ts +1 -0
  580. package/dist/dev/i18n/locales/bg/register.js +8 -0
  581. package/dist/dev/i18n/locales/bg/register.js.map +1 -0
  582. package/dist/dev/i18n/locales/bg.d.ts +2 -0
  583. package/dist/dev/i18n/locales/bg.js +2 -0
  584. package/dist/dev/i18n/locales/bn/register.d.ts +1 -0
  585. package/dist/dev/i18n/locales/bn/register.js +8 -0
  586. package/dist/dev/i18n/locales/bn/register.js.map +1 -0
  587. package/dist/dev/i18n/locales/bn.d.ts +2 -0
  588. package/dist/dev/i18n/locales/bn.js +2 -0
  589. package/dist/dev/i18n/locales/bs/register.d.ts +1 -0
  590. package/dist/dev/i18n/locales/bs/register.js +8 -0
  591. package/dist/dev/i18n/locales/bs/register.js.map +1 -0
  592. package/dist/dev/i18n/locales/bs.d.ts +2 -0
  593. package/dist/dev/i18n/locales/bs.js +2 -0
  594. package/dist/dev/i18n/locales/ca/register.d.ts +1 -0
  595. package/dist/dev/i18n/locales/ca/register.js +8 -0
  596. package/dist/dev/i18n/locales/ca/register.js.map +1 -0
  597. package/dist/dev/i18n/locales/ca.d.ts +2 -0
  598. package/dist/dev/i18n/locales/ca.js +2 -0
  599. package/dist/dev/i18n/locales/cs/register.d.ts +1 -0
  600. package/dist/dev/i18n/locales/cs/register.js +8 -0
  601. package/dist/dev/i18n/locales/cs/register.js.map +1 -0
  602. package/dist/dev/i18n/locales/cs.d.ts +2 -0
  603. package/dist/dev/i18n/locales/cs.js +2 -0
  604. package/dist/dev/i18n/locales/cy/register.d.ts +1 -0
  605. package/dist/dev/i18n/locales/cy/register.js +8 -0
  606. package/dist/dev/i18n/locales/cy/register.js.map +1 -0
  607. package/dist/dev/i18n/locales/cy.d.ts +2 -0
  608. package/dist/dev/i18n/locales/cy.js +2 -0
  609. package/dist/dev/i18n/locales/da/register.d.ts +1 -0
  610. package/dist/dev/i18n/locales/da/register.js +8 -0
  611. package/dist/dev/i18n/locales/da/register.js.map +1 -0
  612. package/dist/dev/i18n/locales/da.d.ts +2 -0
  613. package/dist/dev/i18n/locales/da.js +2 -0
  614. package/dist/dev/i18n/locales/de/register.d.ts +1 -0
  615. package/dist/dev/i18n/locales/de/register.js +8 -0
  616. package/dist/dev/i18n/locales/de/register.js.map +1 -0
  617. package/dist/dev/i18n/locales/de.d.ts +2 -0
  618. package/dist/dev/i18n/locales/de.js +2 -0
  619. package/dist/dev/i18n/locales/el/register.d.ts +1 -0
  620. package/dist/dev/i18n/locales/el/register.js +8 -0
  621. package/dist/dev/i18n/locales/el/register.js.map +1 -0
  622. package/dist/dev/i18n/locales/el.d.ts +2 -0
  623. package/dist/dev/i18n/locales/el.js +2 -0
  624. package/dist/dev/i18n/locales/en/register.d.ts +1 -0
  625. package/dist/dev/i18n/locales/en/register.js +8 -0
  626. package/dist/dev/i18n/locales/en/register.js.map +1 -0
  627. package/dist/dev/i18n/locales/en.d.ts +2 -0
  628. package/dist/dev/i18n/locales/en.js +2 -0
  629. package/dist/dev/i18n/locales/es/register.d.ts +1 -0
  630. package/dist/dev/i18n/locales/es/register.js +8 -0
  631. package/dist/dev/i18n/locales/es/register.js.map +1 -0
  632. package/dist/dev/i18n/locales/es.d.ts +2 -0
  633. package/dist/dev/i18n/locales/es.js +2 -0
  634. package/dist/dev/i18n/locales/et/register.d.ts +1 -0
  635. package/dist/dev/i18n/locales/et/register.js +8 -0
  636. package/dist/dev/i18n/locales/et/register.js.map +1 -0
  637. package/dist/dev/i18n/locales/et.d.ts +2 -0
  638. package/dist/dev/i18n/locales/et.js +2 -0
  639. package/dist/dev/i18n/locales/eu/register.d.ts +1 -0
  640. package/dist/dev/i18n/locales/eu/register.js +8 -0
  641. package/dist/dev/i18n/locales/eu/register.js.map +1 -0
  642. package/dist/dev/i18n/locales/eu.d.ts +2 -0
  643. package/dist/dev/i18n/locales/eu.js +2 -0
  644. package/dist/dev/i18n/locales/fa/register.d.ts +1 -0
  645. package/dist/dev/i18n/locales/fa/register.js +8 -0
  646. package/dist/dev/i18n/locales/fa/register.js.map +1 -0
  647. package/dist/dev/i18n/locales/fa.d.ts +2 -0
  648. package/dist/dev/i18n/locales/fa.js +2 -0
  649. package/dist/dev/i18n/locales/fi/register.d.ts +1 -0
  650. package/dist/dev/i18n/locales/fi/register.js +8 -0
  651. package/dist/dev/i18n/locales/fi/register.js.map +1 -0
  652. package/dist/dev/i18n/locales/fi.d.ts +2 -0
  653. package/dist/dev/i18n/locales/fi.js +2 -0
  654. package/dist/dev/i18n/locales/fr/register.d.ts +1 -0
  655. package/dist/dev/i18n/locales/fr/register.js +8 -0
  656. package/dist/dev/i18n/locales/fr/register.js.map +1 -0
  657. package/dist/dev/i18n/locales/fr.d.ts +2 -0
  658. package/dist/dev/i18n/locales/fr.js +2 -0
  659. package/dist/dev/i18n/locales/gd/register.d.ts +1 -0
  660. package/dist/dev/i18n/locales/gd/register.js +8 -0
  661. package/dist/dev/i18n/locales/gd/register.js.map +1 -0
  662. package/dist/dev/i18n/locales/gd.d.ts +2 -0
  663. package/dist/dev/i18n/locales/gd.js +2 -0
  664. package/dist/dev/i18n/locales/gl/register.d.ts +1 -0
  665. package/dist/dev/i18n/locales/gl/register.js +8 -0
  666. package/dist/dev/i18n/locales/gl/register.js.map +1 -0
  667. package/dist/dev/i18n/locales/gl.d.ts +2 -0
  668. package/dist/dev/i18n/locales/gl.js +2 -0
  669. package/dist/dev/i18n/locales/he/register.d.ts +1 -0
  670. package/dist/dev/i18n/locales/he/register.js +8 -0
  671. package/dist/dev/i18n/locales/he/register.js.map +1 -0
  672. package/dist/dev/i18n/locales/he.d.ts +2 -0
  673. package/dist/dev/i18n/locales/he.js +2 -0
  674. package/dist/dev/i18n/locales/hi/register.d.ts +1 -0
  675. package/dist/dev/i18n/locales/hi/register.js +8 -0
  676. package/dist/dev/i18n/locales/hi/register.js.map +1 -0
  677. package/dist/dev/i18n/locales/hi.d.ts +2 -0
  678. package/dist/dev/i18n/locales/hi.js +2 -0
  679. package/dist/dev/i18n/locales/hr/register.d.ts +1 -0
  680. package/dist/dev/i18n/locales/hr/register.js +8 -0
  681. package/dist/dev/i18n/locales/hr/register.js.map +1 -0
  682. package/dist/dev/i18n/locales/hr.d.ts +2 -0
  683. package/dist/dev/i18n/locales/hr.js +2 -0
  684. package/dist/dev/i18n/locales/hu/register.d.ts +1 -0
  685. package/dist/dev/i18n/locales/hu/register.js +8 -0
  686. package/dist/dev/i18n/locales/hu/register.js.map +1 -0
  687. package/dist/dev/i18n/locales/hu.d.ts +2 -0
  688. package/dist/dev/i18n/locales/hu.js +2 -0
  689. package/dist/dev/i18n/locales/it/register.d.ts +1 -0
  690. package/dist/dev/i18n/locales/it/register.js +8 -0
  691. package/dist/dev/i18n/locales/it/register.js.map +1 -0
  692. package/dist/dev/i18n/locales/it.d.ts +2 -0
  693. package/dist/dev/i18n/locales/it.js +2 -0
  694. package/dist/dev/i18n/locales/ja/register.d.ts +1 -0
  695. package/dist/dev/i18n/locales/ja/register.js +8 -0
  696. package/dist/dev/i18n/locales/ja/register.js.map +1 -0
  697. package/dist/dev/i18n/locales/ja.d.ts +2 -0
  698. package/dist/dev/i18n/locales/ja.js +2 -0
  699. package/dist/dev/i18n/locales/ko/register.d.ts +1 -0
  700. package/dist/dev/i18n/locales/ko/register.js +8 -0
  701. package/dist/dev/i18n/locales/ko/register.js.map +1 -0
  702. package/dist/dev/i18n/locales/ko.d.ts +2 -0
  703. package/dist/dev/i18n/locales/ko.js +2 -0
  704. package/dist/dev/i18n/locales/lv/register.d.ts +1 -0
  705. package/dist/dev/i18n/locales/lv/register.js +8 -0
  706. package/dist/dev/i18n/locales/lv/register.js.map +1 -0
  707. package/dist/dev/i18n/locales/lv.d.ts +2 -0
  708. package/dist/dev/i18n/locales/lv.js +2 -0
  709. package/dist/dev/i18n/locales/mr/register.d.ts +1 -0
  710. package/dist/dev/i18n/locales/mr/register.js +8 -0
  711. package/dist/dev/i18n/locales/mr/register.js.map +1 -0
  712. package/dist/dev/i18n/locales/mr.d.ts +2 -0
  713. package/dist/dev/i18n/locales/mr.js +2 -0
  714. package/dist/dev/i18n/locales/nb/register.d.ts +1 -0
  715. package/dist/dev/i18n/locales/nb/register.js +8 -0
  716. package/dist/dev/i18n/locales/nb/register.js.map +1 -0
  717. package/dist/dev/i18n/locales/nb.d.ts +2 -0
  718. package/dist/dev/i18n/locales/nb.js +2 -0
  719. package/dist/dev/i18n/locales/ne/register.d.ts +1 -0
  720. package/dist/dev/i18n/locales/ne/register.js +8 -0
  721. package/dist/dev/i18n/locales/ne/register.js.map +1 -0
  722. package/dist/dev/i18n/locales/ne.d.ts +2 -0
  723. package/dist/dev/i18n/locales/ne.js +2 -0
  724. package/dist/dev/i18n/locales/nl/register.d.ts +1 -0
  725. package/dist/dev/i18n/locales/nl/register.js +8 -0
  726. package/dist/dev/i18n/locales/nl/register.js.map +1 -0
  727. package/dist/dev/i18n/locales/nl.d.ts +2 -0
  728. package/dist/dev/i18n/locales/nl.js +2 -0
  729. package/dist/dev/i18n/locales/nn/register.d.ts +1 -0
  730. package/dist/dev/i18n/locales/nn/register.js +8 -0
  731. package/dist/dev/i18n/locales/nn/register.js.map +1 -0
  732. package/dist/dev/i18n/locales/nn.d.ts +2 -0
  733. package/dist/dev/i18n/locales/nn.js +2 -0
  734. package/dist/dev/i18n/locales/oc/register.d.ts +1 -0
  735. package/dist/dev/i18n/locales/oc/register.js +8 -0
  736. package/dist/dev/i18n/locales/oc/register.js.map +1 -0
  737. package/dist/dev/i18n/locales/oc.d.ts +2 -0
  738. package/dist/dev/i18n/locales/oc.js +2 -0
  739. package/dist/dev/i18n/locales/pl/register.d.ts +1 -0
  740. package/dist/dev/i18n/locales/pl/register.js +8 -0
  741. package/dist/dev/i18n/locales/pl/register.js.map +1 -0
  742. package/dist/dev/i18n/locales/pl.d.ts +2 -0
  743. package/dist/dev/i18n/locales/pl.js +2 -0
  744. package/dist/dev/i18n/locales/pt/register.d.ts +1 -0
  745. package/dist/dev/i18n/locales/pt/register.js +8 -0
  746. package/dist/dev/i18n/locales/pt/register.js.map +1 -0
  747. package/dist/dev/i18n/locales/pt-BR/register.d.ts +1 -0
  748. package/dist/dev/i18n/locales/pt-BR/register.js +8 -0
  749. package/dist/dev/i18n/locales/pt-BR/register.js.map +1 -0
  750. package/dist/dev/i18n/locales/pt-BR.d.ts +2 -0
  751. package/dist/dev/i18n/locales/pt-BR.js +2 -0
  752. package/dist/dev/i18n/locales/pt-PT/register.d.ts +1 -0
  753. package/dist/dev/i18n/locales/pt-PT/register.js +8 -0
  754. package/dist/dev/i18n/locales/pt-PT/register.js.map +1 -0
  755. package/dist/dev/i18n/locales/pt-PT.d.ts +2 -0
  756. package/dist/dev/i18n/locales/pt-PT.js +2 -0
  757. package/dist/dev/i18n/locales/pt.d.ts +2 -0
  758. package/dist/dev/i18n/locales/pt.js +2 -0
  759. package/dist/dev/i18n/locales/ro/register.d.ts +1 -0
  760. package/dist/dev/i18n/locales/ro/register.js +8 -0
  761. package/dist/dev/i18n/locales/ro/register.js.map +1 -0
  762. package/dist/dev/i18n/locales/ro.d.ts +2 -0
  763. package/dist/dev/i18n/locales/ro.js +2 -0
  764. package/dist/dev/i18n/locales/ru/register.d.ts +1 -0
  765. package/dist/dev/i18n/locales/ru/register.js +8 -0
  766. package/dist/dev/i18n/locales/ru/register.js.map +1 -0
  767. package/dist/dev/i18n/locales/ru.d.ts +2 -0
  768. package/dist/dev/i18n/locales/ru.js +2 -0
  769. package/dist/dev/i18n/locales/sk/register.d.ts +1 -0
  770. package/dist/dev/i18n/locales/sk/register.js +8 -0
  771. package/dist/dev/i18n/locales/sk/register.js.map +1 -0
  772. package/dist/dev/i18n/locales/sk.d.ts +2 -0
  773. package/dist/dev/i18n/locales/sk.js +2 -0
  774. package/dist/dev/i18n/locales/sl/register.d.ts +1 -0
  775. package/dist/dev/i18n/locales/sl/register.js +8 -0
  776. package/dist/dev/i18n/locales/sl/register.js.map +1 -0
  777. package/dist/dev/i18n/locales/sl.d.ts +2 -0
  778. package/dist/dev/i18n/locales/sl.js +2 -0
  779. package/dist/dev/i18n/locales/sr/register.d.ts +1 -0
  780. package/dist/dev/i18n/locales/sr/register.js +8 -0
  781. package/dist/dev/i18n/locales/sr/register.js.map +1 -0
  782. package/dist/dev/i18n/locales/sr.d.ts +2 -0
  783. package/dist/dev/i18n/locales/sr.js +2 -0
  784. package/dist/dev/i18n/locales/sv/register.d.ts +1 -0
  785. package/dist/dev/i18n/locales/sv/register.js +8 -0
  786. package/dist/dev/i18n/locales/sv/register.js.map +1 -0
  787. package/dist/dev/i18n/locales/sv.d.ts +2 -0
  788. package/dist/dev/i18n/locales/sv.js +2 -0
  789. package/dist/dev/i18n/locales/te/register.d.ts +1 -0
  790. package/dist/dev/i18n/locales/te/register.js +8 -0
  791. package/dist/dev/i18n/locales/te/register.js.map +1 -0
  792. package/dist/dev/i18n/locales/te.d.ts +2 -0
  793. package/dist/dev/i18n/locales/te.js +2 -0
  794. package/dist/dev/i18n/locales/th/register.d.ts +1 -0
  795. package/dist/dev/i18n/locales/th/register.js +8 -0
  796. package/dist/dev/i18n/locales/th/register.js.map +1 -0
  797. package/dist/dev/i18n/locales/th.d.ts +2 -0
  798. package/dist/dev/i18n/locales/th.js +2 -0
  799. package/dist/dev/i18n/locales/tr/register.d.ts +1 -0
  800. package/dist/dev/i18n/locales/tr/register.js +8 -0
  801. package/dist/dev/i18n/locales/tr/register.js.map +1 -0
  802. package/dist/dev/i18n/locales/tr.d.ts +2 -0
  803. package/dist/dev/i18n/locales/tr.js +2 -0
  804. package/dist/dev/i18n/locales/uk/register.d.ts +1 -0
  805. package/dist/dev/i18n/locales/uk/register.js +8 -0
  806. package/dist/dev/i18n/locales/uk/register.js.map +1 -0
  807. package/dist/dev/i18n/locales/uk.d.ts +2 -0
  808. package/dist/dev/i18n/locales/uk.js +2 -0
  809. package/dist/dev/i18n/locales/vi/register.d.ts +1 -0
  810. package/dist/dev/i18n/locales/vi/register.js +8 -0
  811. package/dist/dev/i18n/locales/vi/register.js.map +1 -0
  812. package/dist/dev/i18n/locales/vi.d.ts +2 -0
  813. package/dist/dev/i18n/locales/vi.js +2 -0
  814. package/dist/dev/i18n/locales/zh/register.d.ts +1 -0
  815. package/dist/dev/i18n/locales/zh/register.js +8 -0
  816. package/dist/dev/i18n/locales/zh/register.js.map +1 -0
  817. package/dist/dev/i18n/locales/zh-CN/register.d.ts +1 -0
  818. package/dist/dev/i18n/locales/zh-CN/register.js +8 -0
  819. package/dist/dev/i18n/locales/zh-CN/register.js.map +1 -0
  820. package/dist/dev/i18n/locales/zh-CN.d.ts +2 -0
  821. package/dist/dev/i18n/locales/zh-CN.js +2 -0
  822. package/dist/dev/i18n/locales/zh-TW/register.d.ts +1 -0
  823. package/dist/dev/i18n/locales/zh-TW/register.js +8 -0
  824. package/dist/dev/i18n/locales/zh-TW/register.js.map +1 -0
  825. package/dist/dev/i18n/locales/zh-TW.d.ts +2 -0
  826. package/dist/dev/i18n/locales/zh-TW.js +2 -0
  827. package/dist/dev/i18n/locales/zh.d.ts +2 -0
  828. package/dist/dev/i18n/locales/zh.js +2 -0
  829. package/dist/dev/i18n/use-ambient-lang.js +15 -0
  830. package/dist/dev/i18n/use-ambient-lang.js.map +1 -0
  831. package/dist/dev/i18n/use-lang-root-element.js +28 -0
  832. package/dist/dev/i18n/use-lang-root-element.js.map +1 -0
  833. package/dist/dev/i18n/use-lazy-translations.js +37 -0
  834. package/dist/dev/i18n/use-lazy-translations.js.map +1 -0
  835. package/dist/dev/i18n/use-locale-root-notifications.js +27 -0
  836. package/dist/dev/i18n/use-locale-root-notifications.js.map +1 -0
  837. package/dist/dev/i18n/use-merged-translations.js +22 -0
  838. package/dist/dev/i18n/use-merged-translations.js.map +1 -0
  839. package/dist/dev/i18n/use-registry-epoch.js +14 -0
  840. package/dist/dev/i18n/use-registry-epoch.js.map +1 -0
  841. package/dist/dev/icons/dist/react/default/airplay-enter.js.map +1 -1
  842. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  843. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  844. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  845. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -1
  846. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -1
  847. package/dist/dev/icons/dist/react/default/check.js.map +1 -1
  848. package/dist/dev/icons/dist/react/default/chevron.js.map +1 -1
  849. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  850. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  851. package/dist/dev/icons/dist/react/default/gear.js.map +1 -1
  852. package/dist/dev/icons/dist/react/default/index.d.ts.map +1 -1
  853. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  854. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  855. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  856. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  857. package/dist/dev/icons/dist/react/default/quality.js.map +1 -1
  858. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  859. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  860. package/dist/dev/icons/dist/react/default/speech.js.map +1 -1
  861. package/dist/dev/icons/dist/react/default/speed.js.map +1 -1
  862. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  863. package/dist/dev/icons/dist/react/default/switches.js.map +1 -1
  864. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  865. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  866. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  867. package/dist/dev/icons/dist/react/minimal/airplay-enter.js.map +1 -1
  868. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  869. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  870. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  871. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -1
  872. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -1
  873. package/dist/dev/icons/dist/react/minimal/check.js.map +1 -1
  874. package/dist/dev/icons/dist/react/minimal/chevron.js.map +1 -1
  875. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  876. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  877. package/dist/dev/icons/dist/react/minimal/gear.js.map +1 -1
  878. package/dist/dev/icons/dist/react/minimal/index.d.ts.map +1 -1
  879. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  880. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  881. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  882. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  883. package/dist/dev/icons/dist/react/minimal/quality.js.map +1 -1
  884. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  885. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  886. package/dist/dev/icons/dist/react/minimal/speech.js.map +1 -1
  887. package/dist/dev/icons/dist/react/minimal/speed.js.map +1 -1
  888. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  889. package/dist/dev/icons/dist/react/minimal/switches.js.map +1 -1
  890. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  891. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  892. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  893. package/dist/dev/index.d.ts +26 -3
  894. package/dist/dev/index.js +9 -3
  895. package/dist/dev/media/audio.d.ts +1 -3
  896. package/dist/dev/media/audio.d.ts.map +1 -1
  897. package/dist/dev/media/audio.js.map +1 -1
  898. package/dist/dev/media/background-video/index.d.ts +2 -12
  899. package/dist/dev/media/background-video/index.js +1 -25
  900. package/dist/dev/media/background-video/media.d.ts +10 -0
  901. package/dist/dev/media/background-video/media.d.ts.map +1 -0
  902. package/dist/dev/media/background-video/media.js +26 -0
  903. package/dist/dev/media/background-video/{index.js.map → media.js.map} +1 -1
  904. package/dist/dev/media/dash-video/index.d.ts +2 -15
  905. package/dist/dev/media/dash-video/index.js +1 -24
  906. package/dist/dev/media/dash-video/media.d.ts +13 -0
  907. package/dist/dev/media/dash-video/media.d.ts.map +1 -0
  908. package/dist/dev/media/dash-video/media.js +21 -0
  909. package/dist/dev/media/dash-video/media.js.map +1 -0
  910. package/dist/dev/media/google-cast/google-cast.d.ts +26 -0
  911. package/dist/dev/media/google-cast/google-cast.d.ts.map +1 -0
  912. package/dist/dev/media/google-cast/google-cast.js +28 -0
  913. package/dist/dev/media/google-cast/google-cast.js.map +1 -0
  914. package/dist/dev/media/google-cast/index.d.ts +2 -0
  915. package/dist/dev/media/google-cast/index.js +2 -0
  916. package/dist/dev/media/hlsjs-video/index.d.ts +2 -15
  917. package/dist/dev/media/hlsjs-video/index.js +1 -24
  918. package/dist/dev/media/hlsjs-video/media.d.ts +13 -0
  919. package/dist/dev/media/hlsjs-video/media.d.ts.map +1 -0
  920. package/dist/dev/media/hlsjs-video/media.js +21 -0
  921. package/dist/dev/media/hlsjs-video/media.js.map +1 -0
  922. package/dist/dev/media/mux-audio/index.d.ts +2 -15
  923. package/dist/dev/media/mux-audio/index.js +1 -26
  924. package/dist/dev/media/mux-audio/media.d.ts +14 -0
  925. package/dist/dev/media/mux-audio/media.d.ts.map +1 -0
  926. package/dist/dev/media/mux-audio/media.js +26 -0
  927. package/dist/dev/media/mux-audio/media.js.map +1 -0
  928. package/dist/dev/media/mux-data/index.d.ts +2 -0
  929. package/dist/dev/media/mux-data/index.js +2 -0
  930. package/dist/dev/media/mux-data/mux-data.d.ts +31 -0
  931. package/dist/dev/media/mux-data/mux-data.d.ts.map +1 -0
  932. package/dist/dev/media/mux-data/mux-data.js +37 -0
  933. package/dist/dev/media/mux-data/mux-data.js.map +1 -0
  934. package/dist/dev/media/mux-video/index.d.ts +2 -15
  935. package/dist/dev/media/mux-video/index.js +1 -26
  936. package/dist/dev/media/mux-video/media.d.ts +14 -0
  937. package/dist/dev/media/mux-video/media.d.ts.map +1 -0
  938. package/dist/dev/media/mux-video/media.js +56 -0
  939. package/dist/dev/media/mux-video/media.js.map +1 -0
  940. package/dist/dev/media/native-hls-video/index.d.ts +2 -15
  941. package/dist/dev/media/native-hls-video/index.js +1 -24
  942. package/dist/dev/media/native-hls-video/media.d.ts +13 -0
  943. package/dist/dev/media/native-hls-video/media.d.ts.map +1 -0
  944. package/dist/dev/media/native-hls-video/media.js +21 -0
  945. package/dist/dev/media/native-hls-video/media.js.map +1 -0
  946. package/dist/dev/media/simple-hls-audio-only/index.d.ts +2 -15
  947. package/dist/dev/media/simple-hls-audio-only/index.js +1 -21
  948. package/dist/dev/media/simple-hls-audio-only/media.d.ts +13 -0
  949. package/dist/dev/media/simple-hls-audio-only/media.d.ts.map +1 -0
  950. package/dist/dev/media/simple-hls-audio-only/media.js +22 -0
  951. package/dist/dev/media/simple-hls-audio-only/media.js.map +1 -0
  952. package/dist/dev/media/simple-hls-video/index.d.ts +2 -15
  953. package/dist/dev/media/simple-hls-video/index.js +1 -21
  954. package/dist/dev/media/simple-hls-video/media.d.ts +13 -0
  955. package/dist/dev/media/simple-hls-video/media.d.ts.map +1 -0
  956. package/dist/dev/media/simple-hls-video/media.js +22 -0
  957. package/dist/dev/media/simple-hls-video/media.js.map +1 -0
  958. package/dist/dev/media/video.d.ts +1 -3
  959. package/dist/dev/media/video.d.ts.map +1 -1
  960. package/dist/dev/media/video.js.map +1 -1
  961. package/dist/dev/media/vimeo-video/index.d.ts +2 -15
  962. package/dist/dev/media/vimeo-video/index.js +1 -36
  963. package/dist/dev/media/vimeo-video/media.d.ts +13 -0
  964. package/dist/dev/media/vimeo-video/media.d.ts.map +1 -0
  965. package/dist/dev/media/vimeo-video/media.js +37 -0
  966. package/dist/dev/media/vimeo-video/media.js.map +1 -0
  967. package/dist/dev/player/container.d.ts +12 -0
  968. package/dist/dev/player/container.d.ts.map +1 -0
  969. package/dist/dev/player/container.js +41 -0
  970. package/dist/dev/player/container.js.map +1 -0
  971. package/dist/dev/player/context.d.ts +7 -16
  972. package/dist/dev/player/context.d.ts.map +1 -1
  973. package/dist/dev/player/context.js +2 -25
  974. package/dist/dev/player/context.js.map +1 -1
  975. package/dist/dev/player/create-player.d.ts +4 -4
  976. package/dist/dev/player/create-player.d.ts.map +1 -1
  977. package/dist/dev/player/create-player.js +2 -1
  978. package/dist/dev/player/create-player.js.map +1 -1
  979. package/dist/dev/presets/audio/minimal-skin.css +269 -254
  980. package/dist/dev/presets/audio/minimal-skin.d.ts +0 -1
  981. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  982. package/dist/dev/presets/audio/minimal-skin.js +14 -16
  983. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  984. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts +0 -1
  985. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  986. package/dist/dev/presets/audio/minimal-skin.tailwind.js +13 -15
  987. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  988. package/dist/dev/presets/audio/skin.css +286 -256
  989. package/dist/dev/presets/audio/skin.d.ts +0 -1
  990. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  991. package/dist/dev/presets/audio/skin.js +12 -14
  992. package/dist/dev/presets/audio/skin.js.map +1 -1
  993. package/dist/dev/presets/audio/skin.tailwind.d.ts +0 -1
  994. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  995. package/dist/dev/presets/audio/skin.tailwind.js +15 -18
  996. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  997. package/dist/dev/presets/background/index.d.ts +2 -1
  998. package/dist/dev/presets/background/index.js +1 -1
  999. package/dist/dev/presets/background/skin.d.ts +1 -3
  1000. package/dist/dev/presets/background/skin.d.ts.map +1 -1
  1001. package/dist/dev/presets/background/skin.js.map +1 -1
  1002. package/dist/dev/presets/live-audio/minimal-skin.css +269 -254
  1003. package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -1
  1004. package/dist/dev/presets/live-audio/minimal-skin.d.ts.map +1 -1
  1005. package/dist/dev/presets/live-audio/minimal-skin.js +7 -12
  1006. package/dist/dev/presets/live-audio/minimal-skin.js.map +1 -1
  1007. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts +0 -1
  1008. package/dist/dev/presets/live-audio/minimal-skin.tailwind.d.ts.map +1 -1
  1009. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js +9 -14
  1010. package/dist/dev/presets/live-audio/minimal-skin.tailwind.js.map +1 -1
  1011. package/dist/dev/presets/live-audio/skin.css +286 -256
  1012. package/dist/dev/presets/live-audio/skin.d.ts +1 -1
  1013. package/dist/dev/presets/live-audio/skin.d.ts.map +1 -1
  1014. package/dist/dev/presets/live-audio/skin.js +7 -12
  1015. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  1016. package/dist/dev/presets/live-audio/skin.tailwind.d.ts +0 -1
  1017. package/dist/dev/presets/live-audio/skin.tailwind.d.ts.map +1 -1
  1018. package/dist/dev/presets/live-audio/skin.tailwind.js +9 -14
  1019. package/dist/dev/presets/live-audio/skin.tailwind.js.map +1 -1
  1020. package/dist/dev/presets/live-video/minimal-skin.css +361 -327
  1021. package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -1
  1022. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  1023. package/dist/dev/presets/live-video/minimal-skin.js +33 -32
  1024. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  1025. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts +0 -1
  1026. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  1027. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +35 -34
  1028. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  1029. package/dist/dev/presets/live-video/skin.css +440 -350
  1030. package/dist/dev/presets/live-video/skin.d.ts +0 -1
  1031. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  1032. package/dist/dev/presets/live-video/skin.js +85 -84
  1033. package/dist/dev/presets/live-video/skin.js.map +1 -1
  1034. package/dist/dev/presets/live-video/skin.tailwind.d.ts +0 -1
  1035. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  1036. package/dist/dev/presets/live-video/skin.tailwind.js +86 -85
  1037. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  1038. package/dist/dev/presets/types.d.ts +3 -2
  1039. package/dist/dev/presets/types.d.ts.map +1 -1
  1040. package/dist/dev/presets/video/minimal-skin.css +361 -327
  1041. package/dist/dev/presets/video/minimal-skin.d.ts +0 -1
  1042. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  1043. package/dist/dev/presets/video/minimal-skin.js +56 -87
  1044. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  1045. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts +0 -1
  1046. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  1047. package/dist/dev/presets/video/minimal-skin.tailwind.js +62 -93
  1048. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  1049. package/dist/dev/presets/video/skin.css +440 -350
  1050. package/dist/dev/presets/video/skin.d.ts +0 -1
  1051. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  1052. package/dist/dev/presets/video/skin.js +148 -160
  1053. package/dist/dev/presets/video/skin.js.map +1 -1
  1054. package/dist/dev/presets/video/skin.tailwind.d.ts +0 -1
  1055. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  1056. package/dist/dev/presets/video/skin.tailwind.js +98 -122
  1057. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  1058. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -11
  1059. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  1060. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js +1 -1
  1061. package/dist/dev/skins/dist/default/default/tailwind/components/badge.js.map +1 -1
  1062. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  1063. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -2
  1064. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
  1065. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +8 -3
  1066. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  1067. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
  1068. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  1069. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +1 -1
  1070. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  1071. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  1072. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js +2 -2
  1073. package/dist/dev/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -1
  1074. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +11 -7
  1075. package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  1076. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  1077. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  1078. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +2 -2
  1079. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  1080. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  1081. package/dist/dev/skins/dist/default/default/tailwind/components/reset.js.map +1 -1
  1082. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  1083. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  1084. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
  1085. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  1086. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -2
  1087. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  1088. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +1 -1
  1089. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  1090. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +2 -2
  1091. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  1092. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +3 -3
  1093. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  1094. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +25 -21
  1095. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  1096. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +14 -12
  1097. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  1098. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js +1 -1
  1099. package/dist/dev/skins/dist/default/minimal/tailwind/components/badge.js.map +1 -1
  1100. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  1101. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  1102. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +13 -3
  1103. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  1104. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  1105. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  1106. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  1107. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  1108. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js +4 -4
  1109. package/dist/dev/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -1
  1110. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +11 -7
  1111. package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  1112. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  1113. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  1114. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  1115. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +3 -3
  1116. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  1117. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  1118. package/dist/dev/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -1
  1119. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  1120. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  1121. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  1122. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  1123. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  1124. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  1125. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +2 -2
  1126. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  1127. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
  1128. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  1129. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +22 -21
  1130. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  1131. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  1132. package/dist/dev/ui/airplay-button/airplay-button.d.ts +1 -3
  1133. package/dist/dev/ui/airplay-button/airplay-button.d.ts.map +1 -1
  1134. package/dist/dev/ui/airplay-button/airplay-button.js +2 -1
  1135. package/dist/dev/ui/airplay-button/airplay-button.js.map +1 -1
  1136. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts +1 -3
  1137. package/dist/dev/ui/alert-dialog/alert-dialog-close.d.ts.map +1 -1
  1138. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  1139. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts +1 -3
  1140. package/dist/dev/ui/alert-dialog/alert-dialog-description.d.ts.map +1 -1
  1141. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  1142. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts +1 -3
  1143. package/dist/dev/ui/alert-dialog/alert-dialog-popup.d.ts.map +1 -1
  1144. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  1145. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts +1 -8
  1146. package/dist/dev/ui/alert-dialog/alert-dialog-root.d.ts.map +1 -1
  1147. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  1148. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts +1 -3
  1149. package/dist/dev/ui/alert-dialog/alert-dialog-title.d.ts.map +1 -1
  1150. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  1151. package/dist/dev/ui/alert-dialog/context.d.ts +0 -1
  1152. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -1
  1153. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  1154. package/dist/dev/ui/alert-dialog/index.parts.d.ts +1 -3
  1155. package/dist/dev/ui/alert-dialog/index.parts.js +1 -1
  1156. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts +6 -1
  1157. package/dist/dev/ui/audio-track/use-audio-track-options.d.ts.map +1 -1
  1158. package/dist/dev/ui/audio-track/use-audio-track-options.js +10 -1
  1159. package/dist/dev/ui/audio-track/use-audio-track-options.js.map +1 -1
  1160. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts +1 -3
  1161. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  1162. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  1163. package/dist/dev/ui/captions-button/captions-button.d.ts +1 -3
  1164. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  1165. package/dist/dev/ui/captions-button/captions-button.js +2 -1
  1166. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  1167. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts +7 -1
  1168. package/dist/dev/ui/captions-radio-group/use-captions-options.d.ts.map +1 -1
  1169. package/dist/dev/ui/captions-radio-group/use-captions-options.js +13 -2
  1170. package/dist/dev/ui/captions-radio-group/use-captions-options.js.map +1 -1
  1171. package/dist/dev/ui/cast-button/cast-button.d.ts +1 -3
  1172. package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -1
  1173. package/dist/dev/ui/cast-button/cast-button.js +2 -1
  1174. package/dist/dev/ui/cast-button/cast-button.js.map +1 -1
  1175. package/dist/dev/ui/controls/context.js.map +1 -1
  1176. package/dist/dev/ui/controls/controls-group.d.ts +1 -3
  1177. package/dist/dev/ui/controls/controls-group.d.ts.map +1 -1
  1178. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  1179. package/dist/dev/ui/controls/controls-root.d.ts +1 -3
  1180. package/dist/dev/ui/controls/controls-root.d.ts.map +1 -1
  1181. package/dist/dev/ui/controls/controls-root.js +5 -1
  1182. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  1183. package/dist/dev/ui/controls/index.parts.d.ts +1 -3
  1184. package/dist/dev/ui/controls/index.parts.js +1 -1
  1185. package/dist/dev/ui/create-context-part.js.map +1 -1
  1186. package/dist/dev/ui/create-media-button.js +23 -8
  1187. package/dist/dev/ui/create-media-button.js.map +1 -1
  1188. package/dist/dev/ui/error-dialog/context.d.ts +2 -3
  1189. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -1
  1190. package/dist/dev/ui/error-dialog/context.js.map +1 -1
  1191. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts +12 -0
  1192. package/dist/dev/ui/error-dialog/error-dialog-close.d.ts.map +1 -0
  1193. package/dist/dev/ui/error-dialog/error-dialog-close.js +36 -0
  1194. package/dist/dev/ui/error-dialog/error-dialog-close.js.map +1 -0
  1195. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +1 -3
  1196. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -1
  1197. package/dist/dev/ui/error-dialog/error-dialog-description.js +7 -2
  1198. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -1
  1199. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +1 -4
  1200. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -1
  1201. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -1
  1202. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts +12 -0
  1203. package/dist/dev/ui/error-dialog/error-dialog-title.d.ts.map +1 -0
  1204. package/dist/dev/ui/error-dialog/error-dialog-title.js +30 -0
  1205. package/dist/dev/ui/error-dialog/error-dialog-title.js.map +1 -0
  1206. package/dist/dev/ui/error-dialog/index.parts.d.ts +4 -6
  1207. package/dist/dev/ui/error-dialog/index.parts.js +5 -5
  1208. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -1
  1209. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts +1 -3
  1210. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  1211. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -1
  1212. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  1213. package/dist/dev/ui/gesture/gesture.d.ts +1 -9
  1214. package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
  1215. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  1216. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +0 -1
  1217. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  1218. package/dist/dev/ui/gesture/use-doubletap-gesture.js +1 -2
  1219. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  1220. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +0 -1
  1221. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  1222. package/dist/dev/ui/gesture/use-tap-gesture.js +1 -2
  1223. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  1224. package/dist/dev/ui/hooks/use-button.d.ts +1 -2
  1225. package/dist/dev/ui/hooks/use-button.d.ts.map +1 -1
  1226. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  1227. package/dist/dev/ui/hooks/use-positioned-state.js +39 -0
  1228. package/dist/dev/ui/hooks/use-positioned-state.js.map +1 -0
  1229. package/dist/dev/ui/hooks/use-slider.d.ts +1 -2
  1230. package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
  1231. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  1232. package/dist/dev/ui/hotkey/hotkey.d.ts +1 -8
  1233. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  1234. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  1235. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts +0 -1
  1236. package/dist/dev/ui/hotkey/use-hotkey-shortcut.d.ts.map +1 -1
  1237. package/dist/dev/ui/hotkey/use-hotkey-shortcut.js.map +1 -1
  1238. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -1
  1239. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -1
  1240. package/dist/dev/ui/input-indicators/use-indicator-visibility.js.map +1 -1
  1241. package/dist/dev/ui/input-indicators/use-input-action-subscription.js.map +1 -1
  1242. package/dist/dev/ui/input-indicators/use-input-indicator-root.js.map +1 -1
  1243. package/dist/dev/ui/input-indicators/use-rendered-indicator-state.js.map +1 -1
  1244. package/dist/dev/ui/live-button/live-button.d.ts +2 -5
  1245. package/dist/dev/ui/live-button/live-button.d.ts.map +1 -1
  1246. package/dist/dev/ui/live-button/live-button.js +9 -5
  1247. package/dist/dev/ui/live-button/live-button.js.map +1 -1
  1248. package/dist/dev/ui/menu/context.d.ts +2 -1
  1249. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  1250. package/dist/dev/ui/menu/context.js.map +1 -1
  1251. package/dist/dev/ui/menu/index.parts.d.ts +1 -3
  1252. package/dist/dev/ui/menu/index.parts.js +1 -1
  1253. package/dist/dev/ui/menu/menu-back.d.ts +3 -4
  1254. package/dist/dev/ui/menu/menu-back.d.ts.map +1 -1
  1255. package/dist/dev/ui/menu/menu-back.js +6 -2
  1256. package/dist/dev/ui/menu/menu-back.js.map +1 -1
  1257. package/dist/dev/ui/menu/menu-checkbox-item.d.ts +1 -3
  1258. package/dist/dev/ui/menu/menu-checkbox-item.d.ts.map +1 -1
  1259. package/dist/dev/ui/menu/menu-checkbox-item.js.map +1 -1
  1260. package/dist/dev/ui/menu/menu-content.d.ts +1 -3
  1261. package/dist/dev/ui/menu/menu-content.d.ts.map +1 -1
  1262. package/dist/dev/ui/menu/menu-content.js +27 -13
  1263. package/dist/dev/ui/menu/menu-content.js.map +1 -1
  1264. package/dist/dev/ui/menu/menu-group-label.d.ts +1 -3
  1265. package/dist/dev/ui/menu/menu-group-label.d.ts.map +1 -1
  1266. package/dist/dev/ui/menu/menu-group-label.js.map +1 -1
  1267. package/dist/dev/ui/menu/menu-group.d.ts +1 -3
  1268. package/dist/dev/ui/menu/menu-group.d.ts.map +1 -1
  1269. package/dist/dev/ui/menu/menu-group.js.map +1 -1
  1270. package/dist/dev/ui/menu/menu-item-indicator.d.ts +1 -3
  1271. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  1272. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  1273. package/dist/dev/ui/menu/menu-item-setting-provider.js +7 -2
  1274. package/dist/dev/ui/menu/menu-item-setting-provider.js.map +1 -1
  1275. package/dist/dev/ui/menu/menu-item-type.d.ts.map +1 -1
  1276. package/dist/dev/ui/menu/menu-item-value.d.ts +1 -3
  1277. package/dist/dev/ui/menu/menu-item-value.d.ts.map +1 -1
  1278. package/dist/dev/ui/menu/menu-item-value.js.map +1 -1
  1279. package/dist/dev/ui/menu/menu-item.d.ts +1 -3
  1280. package/dist/dev/ui/menu/menu-item.d.ts.map +1 -1
  1281. package/dist/dev/ui/menu/menu-item.js.map +1 -1
  1282. package/dist/dev/ui/menu/menu-radio-group.d.ts +1 -3
  1283. package/dist/dev/ui/menu/menu-radio-group.d.ts.map +1 -1
  1284. package/dist/dev/ui/menu/menu-radio-group.js.map +1 -1
  1285. package/dist/dev/ui/menu/menu-radio-item.d.ts +1 -3
  1286. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  1287. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  1288. package/dist/dev/ui/menu/menu-root.d.ts +1 -10
  1289. package/dist/dev/ui/menu/menu-root.d.ts.map +1 -1
  1290. package/dist/dev/ui/menu/menu-root.js +7 -2
  1291. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  1292. package/dist/dev/ui/menu/menu-separator.d.ts +1 -3
  1293. package/dist/dev/ui/menu/menu-separator.d.ts.map +1 -1
  1294. package/dist/dev/ui/menu/menu-separator.js.map +1 -1
  1295. package/dist/dev/ui/menu/menu-trigger.d.ts +1 -3
  1296. package/dist/dev/ui/menu/menu-trigger.d.ts.map +1 -1
  1297. package/dist/dev/ui/menu/menu-trigger.js +1 -1
  1298. package/dist/dev/ui/menu/menu-trigger.js.map +1 -1
  1299. package/dist/dev/ui/menu/menu-view.d.ts +1 -3
  1300. package/dist/dev/ui/menu/menu-view.d.ts.map +1 -1
  1301. package/dist/dev/ui/menu/menu-view.js.map +1 -1
  1302. package/dist/dev/ui/menu/use-menu-group.js.map +1 -1
  1303. package/dist/dev/ui/mute-button/mute-button.d.ts +1 -3
  1304. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  1305. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  1306. package/dist/dev/ui/pip-button/pip-button.d.ts +1 -3
  1307. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
  1308. package/dist/dev/ui/pip-button/pip-button.js +2 -1
  1309. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  1310. package/dist/dev/ui/play-button/play-button.d.ts +1 -3
  1311. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
  1312. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  1313. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts +6 -1
  1314. package/dist/dev/ui/playback-rate/use-playback-rate-options.d.ts.map +1 -1
  1315. package/dist/dev/ui/playback-rate/use-playback-rate-options.js +6 -0
  1316. package/dist/dev/ui/playback-rate/use-playback-rate-options.js.map +1 -1
  1317. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts +1 -3
  1318. package/dist/dev/ui/playback-rate-button/playback-rate-button.d.ts.map +1 -1
  1319. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  1320. package/dist/dev/ui/popover/context.d.ts +2 -1
  1321. package/dist/dev/ui/popover/context.d.ts.map +1 -1
  1322. package/dist/dev/ui/popover/context.js.map +1 -1
  1323. package/dist/dev/ui/popover/index.parts.d.ts +1 -3
  1324. package/dist/dev/ui/popover/index.parts.js +1 -1
  1325. package/dist/dev/ui/popover/popover-arrow.d.ts +1 -3
  1326. package/dist/dev/ui/popover/popover-arrow.d.ts.map +1 -1
  1327. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  1328. package/dist/dev/ui/popover/popover-popup.d.ts +1 -3
  1329. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  1330. package/dist/dev/ui/popover/popover-popup.js +21 -11
  1331. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  1332. package/dist/dev/ui/popover/popover-root.d.ts +1 -13
  1333. package/dist/dev/ui/popover/popover-root.d.ts.map +1 -1
  1334. package/dist/dev/ui/popover/popover-root.js +6 -2
  1335. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  1336. package/dist/dev/ui/popover/popover-trigger.d.ts +1 -3
  1337. package/dist/dev/ui/popover/popover-trigger.d.ts.map +1 -1
  1338. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  1339. package/dist/dev/ui/poster/poster.d.ts +1 -3
  1340. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  1341. package/dist/dev/ui/poster/poster.js.map +1 -1
  1342. package/dist/dev/ui/quality/use-quality-options.d.ts +7 -1
  1343. package/dist/dev/ui/quality/use-quality-options.d.ts.map +1 -1
  1344. package/dist/dev/ui/quality/use-quality-options.js +12 -2
  1345. package/dist/dev/ui/quality/use-quality-options.js.map +1 -1
  1346. package/dist/dev/ui/seek-button/seek-button.d.ts +1 -3
  1347. package/dist/dev/ui/seek-button/seek-button.d.ts.map +1 -1
  1348. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  1349. package/dist/dev/ui/seek-indicator/context.js.map +1 -1
  1350. package/dist/dev/ui/seek-indicator/index.parts.d.ts +1 -3
  1351. package/dist/dev/ui/seek-indicator/index.parts.js +1 -1
  1352. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts +1 -3
  1353. package/dist/dev/ui/seek-indicator/seek-indicator-root.d.ts.map +1 -1
  1354. package/dist/dev/ui/seek-indicator/seek-indicator-root.js.map +1 -1
  1355. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts +1 -3
  1356. package/dist/dev/ui/seek-indicator/seek-indicator-value.d.ts.map +1 -1
  1357. package/dist/dev/ui/seek-indicator/seek-indicator-value.js.map +1 -1
  1358. package/dist/dev/ui/slider/context.js.map +1 -1
  1359. package/dist/dev/ui/slider/index.parts.d.ts +1 -3
  1360. package/dist/dev/ui/slider/index.parts.js +1 -1
  1361. package/dist/dev/ui/slider/slider-buffer.d.ts +1 -3
  1362. package/dist/dev/ui/slider/slider-buffer.d.ts.map +1 -1
  1363. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  1364. package/dist/dev/ui/slider/slider-fill.d.ts +1 -3
  1365. package/dist/dev/ui/slider/slider-fill.d.ts.map +1 -1
  1366. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  1367. package/dist/dev/ui/slider/slider-preview.d.ts +1 -3
  1368. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  1369. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  1370. package/dist/dev/ui/slider/slider-root.d.ts +1 -3
  1371. package/dist/dev/ui/slider/slider-root.d.ts.map +1 -1
  1372. package/dist/dev/ui/slider/slider-root.js +10 -1
  1373. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  1374. package/dist/dev/ui/slider/slider-thumb.d.ts +1 -3
  1375. package/dist/dev/ui/slider/slider-thumb.d.ts.map +1 -1
  1376. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  1377. package/dist/dev/ui/slider/slider-thumbnail.d.ts +1 -3
  1378. package/dist/dev/ui/slider/slider-thumbnail.d.ts.map +1 -1
  1379. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  1380. package/dist/dev/ui/slider/slider-track.d.ts +1 -3
  1381. package/dist/dev/ui/slider/slider-track.d.ts.map +1 -1
  1382. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  1383. package/dist/dev/ui/slider/slider-value.d.ts +1 -3
  1384. package/dist/dev/ui/slider/slider-value.d.ts.map +1 -1
  1385. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  1386. package/dist/dev/ui/status-announcer/status-announcer.d.ts +2 -4
  1387. package/dist/dev/ui/status-announcer/status-announcer.d.ts.map +1 -1
  1388. package/dist/dev/ui/status-announcer/status-announcer.js +19 -10
  1389. package/dist/dev/ui/status-announcer/status-announcer.js.map +1 -1
  1390. package/dist/dev/ui/status-indicator/context.js.map +1 -1
  1391. package/dist/dev/ui/status-indicator/index.parts.d.ts +1 -3
  1392. package/dist/dev/ui/status-indicator/index.parts.js +1 -1
  1393. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts +2 -4
  1394. package/dist/dev/ui/status-indicator/status-indicator-root.d.ts.map +1 -1
  1395. package/dist/dev/ui/status-indicator/status-indicator-root.js +4 -3
  1396. package/dist/dev/ui/status-indicator/status-indicator-root.js.map +1 -1
  1397. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts +1 -3
  1398. package/dist/dev/ui/status-indicator/status-indicator-value.d.ts.map +1 -1
  1399. package/dist/dev/ui/status-indicator/status-indicator-value.js.map +1 -1
  1400. package/dist/dev/ui/thumbnail/thumbnail.d.ts +1 -3
  1401. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1402. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  1403. package/dist/dev/ui/time/index.parts.d.ts +1 -3
  1404. package/dist/dev/ui/time/index.parts.js +1 -1
  1405. package/dist/dev/ui/time/time-group.d.ts +1 -3
  1406. package/dist/dev/ui/time/time-group.d.ts.map +1 -1
  1407. package/dist/dev/ui/time/time-group.js.map +1 -1
  1408. package/dist/dev/ui/time/time-separator.d.ts +1 -3
  1409. package/dist/dev/ui/time/time-separator.d.ts.map +1 -1
  1410. package/dist/dev/ui/time/time-separator.js.map +1 -1
  1411. package/dist/dev/ui/time/time-value.d.ts +1 -3
  1412. package/dist/dev/ui/time/time-value.d.ts.map +1 -1
  1413. package/dist/dev/ui/time/time-value.js +11 -2
  1414. package/dist/dev/ui/time/time-value.js.map +1 -1
  1415. package/dist/dev/ui/time-slider/index.parts.d.ts +2 -3
  1416. package/dist/dev/ui/time-slider/index.parts.js +1 -1
  1417. package/dist/dev/ui/time-slider/time-slider-root.d.ts +1 -3
  1418. package/dist/dev/ui/time-slider/time-slider-root.d.ts.map +1 -1
  1419. package/dist/dev/ui/time-slider/time-slider-root.js +15 -2
  1420. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  1421. package/dist/dev/ui/tooltip/context.d.ts +2 -1
  1422. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  1423. package/dist/dev/ui/tooltip/context.js.map +1 -1
  1424. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  1425. package/dist/dev/ui/tooltip/index.parts.d.ts +1 -3
  1426. package/dist/dev/ui/tooltip/index.parts.js +1 -1
  1427. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts +1 -3
  1428. package/dist/dev/ui/tooltip/tooltip-arrow.d.ts.map +1 -1
  1429. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  1430. package/dist/dev/ui/tooltip/tooltip-label.d.ts +1 -3
  1431. package/dist/dev/ui/tooltip/tooltip-label.d.ts.map +1 -1
  1432. package/dist/dev/ui/tooltip/tooltip-label.js.map +1 -1
  1433. package/dist/dev/ui/tooltip/tooltip-popup.d.ts +1 -3
  1434. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  1435. package/dist/dev/ui/tooltip/tooltip-popup.js +22 -12
  1436. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  1437. package/dist/dev/ui/tooltip/tooltip-provider.d.ts +1 -7
  1438. package/dist/dev/ui/tooltip/tooltip-provider.d.ts.map +1 -1
  1439. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  1440. package/dist/dev/ui/tooltip/tooltip-root.d.ts +1 -14
  1441. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  1442. package/dist/dev/ui/tooltip/tooltip-root.js +6 -2
  1443. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  1444. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts +1 -3
  1445. package/dist/dev/ui/tooltip/tooltip-shortcut.d.ts.map +1 -1
  1446. package/dist/dev/ui/tooltip/tooltip-shortcut.js.map +1 -1
  1447. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts +1 -3
  1448. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  1449. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  1450. package/dist/dev/ui/volume-indicator/context.js.map +1 -1
  1451. package/dist/dev/ui/volume-indicator/index.parts.d.ts +1 -3
  1452. package/dist/dev/ui/volume-indicator/index.parts.js +1 -1
  1453. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts +1 -3
  1454. package/dist/dev/ui/volume-indicator/volume-indicator-fill.d.ts.map +1 -1
  1455. package/dist/dev/ui/volume-indicator/volume-indicator-fill.js.map +1 -1
  1456. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts +2 -4
  1457. package/dist/dev/ui/volume-indicator/volume-indicator-root.d.ts.map +1 -1
  1458. package/dist/dev/ui/volume-indicator/volume-indicator-root.js +6 -2
  1459. package/dist/dev/ui/volume-indicator/volume-indicator-root.js.map +1 -1
  1460. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts +1 -3
  1461. package/dist/dev/ui/volume-indicator/volume-indicator-value.d.ts.map +1 -1
  1462. package/dist/dev/ui/volume-indicator/volume-indicator-value.js.map +1 -1
  1463. package/dist/dev/ui/volume-slider/index.parts.d.ts +2 -3
  1464. package/dist/dev/ui/volume-slider/index.parts.js +1 -1
  1465. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts +1 -3
  1466. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  1467. package/dist/dev/ui/volume-slider/volume-slider-root.js +14 -2
  1468. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  1469. package/dist/dev/utils/merge-props.d.ts +0 -1
  1470. package/dist/dev/utils/merge-props.d.ts.map +1 -1
  1471. package/dist/dev/utils/merge-props.js.map +1 -1
  1472. package/dist/dev/utils/types.d.ts +5 -3
  1473. package/dist/dev/utils/types.d.ts.map +1 -1
  1474. package/dist/dev/utils/use-attach-iframe.js.map +1 -1
  1475. package/dist/dev/utils/use-attach-media.d.ts +1 -2
  1476. package/dist/dev/utils/use-attach-media.d.ts.map +1 -1
  1477. package/dist/dev/utils/use-attach-media.js.map +1 -1
  1478. package/dist/dev/utils/use-composed-refs.d.ts +0 -1
  1479. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -1
  1480. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  1481. package/dist/dev/utils/use-destroy.d.ts.map +1 -1
  1482. package/dist/dev/utils/use-destroy.js.map +1 -1
  1483. package/dist/dev/utils/use-force-render.js.map +1 -1
  1484. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -1
  1485. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  1486. package/dist/dev/utils/use-media-component.d.ts +17 -0
  1487. package/dist/dev/utils/use-media-component.d.ts.map +1 -0
  1488. package/dist/dev/utils/use-media-component.js +29 -0
  1489. package/dist/dev/utils/use-media-component.js.map +1 -0
  1490. package/dist/dev/utils/use-media-instance.d.ts +2 -3
  1491. package/dist/dev/utils/use-media-instance.d.ts.map +1 -1
  1492. package/dist/dev/utils/use-media-instance.js +1 -1
  1493. package/dist/dev/utils/use-media-instance.js.map +1 -1
  1494. package/dist/dev/utils/use-render.d.ts +1 -2
  1495. package/dist/dev/utils/use-render.d.ts.map +1 -1
  1496. package/dist/dev/utils/use-render.js.map +1 -1
  1497. package/dist/dev/utils/use-safe-id.js.map +1 -1
  1498. package/dist/dev/utils/use-sync-props.js +11 -2
  1499. package/dist/dev/utils/use-sync-props.js.map +1 -1
  1500. package/docs/README.md +1 -1
  1501. package/docs/concepts/accessibility.md +8 -0
  1502. package/docs/concepts/cast.md +58 -89
  1503. package/docs/concepts/features.md +12 -4
  1504. package/docs/concepts/i18n.md +327 -0
  1505. package/docs/concepts/mux-data.md +84 -0
  1506. package/docs/concepts/security.md +32 -0
  1507. package/docs/concepts/skins.md +614 -507
  1508. package/docs/how-to/customize-skins.md +1625 -1420
  1509. package/docs/how-to/i18n-override-translations.md +114 -0
  1510. package/docs/how-to/i18n-register-locale.md +74 -0
  1511. package/docs/how-to/i18n-ssr.md +104 -0
  1512. package/docs/how-to/i18n-switch-locale.md +170 -0
  1513. package/docs/how-to/installation.md +8 -27
  1514. package/docs/llms.txt +30 -3
  1515. package/docs/reference/airplay-button.md +65 -31
  1516. package/docs/reference/audio-track-radio-group.md +147 -12
  1517. package/docs/reference/buffering-indicator.md +1 -7
  1518. package/docs/reference/captions-button.md +55 -18
  1519. package/docs/reference/captions-radio-group.md +195 -0
  1520. package/docs/reference/cast-button.md +69 -22
  1521. package/docs/reference/controls.md +1 -7
  1522. package/docs/reference/create-i18n.md +84 -0
  1523. package/docs/reference/create-player.md +1 -6
  1524. package/docs/reference/create-translator.md +63 -0
  1525. package/docs/reference/dash-video.md +8 -91
  1526. package/docs/reference/feature-error.md +1 -1
  1527. package/docs/reference/feature-text-tracks.md +3 -3
  1528. package/docs/reference/fullscreen-button.md +52 -23
  1529. package/docs/reference/get-i18n-translations.md +58 -0
  1530. package/docs/reference/google-cast.md +69 -0
  1531. package/docs/reference/has-registered-locale.md +47 -0
  1532. package/docs/reference/hlsjs-video.md +8 -191
  1533. package/docs/reference/i18n-provider.md +25 -0
  1534. package/docs/reference/menu.md +110 -8
  1535. package/docs/reference/mute-button.md +5 -17
  1536. package/docs/reference/mux-audio.md +48 -113
  1537. package/docs/reference/mux-data.md +93 -0
  1538. package/docs/reference/mux-video.md +110 -159
  1539. package/docs/reference/native-hls-video.md +8 -141
  1540. package/docs/reference/on-i18n-registry-change.md +49 -0
  1541. package/docs/reference/pip-button.md +52 -23
  1542. package/docs/reference/play-button.md +5 -10
  1543. package/docs/reference/playback-rate-button.md +4 -10
  1544. package/docs/reference/playback-rate-radio-group.md +194 -0
  1545. package/docs/reference/popover.md +20 -13
  1546. package/docs/reference/poster.md +1 -4
  1547. package/docs/reference/quality-radio-group.md +161 -12
  1548. package/docs/reference/register-i18n.md +64 -0
  1549. package/docs/reference/seek-button.md +4 -10
  1550. package/docs/reference/simple-hls-audio-only.md +6 -58
  1551. package/docs/reference/simple-hls-video.md +6 -115
  1552. package/docs/reference/slider.md +2 -2
  1553. package/docs/reference/thumbnail.md +1 -1
  1554. package/docs/reference/time-slider.md +5 -11
  1555. package/docs/reference/time.md +7 -37
  1556. package/docs/reference/tooltip.md +20 -18
  1557. package/docs/reference/translation-phrases.md +429 -0
  1558. package/docs/reference/use-audio-track-options.md +59 -0
  1559. package/docs/reference/use-captions-options.md +59 -0
  1560. package/docs/reference/use-locale.md +124 -0
  1561. package/docs/reference/use-media.md +1 -7
  1562. package/docs/reference/use-playback-rate-options.md +59 -0
  1563. package/docs/reference/use-player-context.md +5 -3
  1564. package/docs/reference/use-player.md +2 -14
  1565. package/docs/reference/use-quality-options.md +59 -0
  1566. package/docs/reference/use-store.md +2 -14
  1567. package/docs/reference/use-translator.md +119 -0
  1568. package/docs/reference/volume-slider.md +5 -11
  1569. package/package.json +26 -13
  1570. package/dist/default/media/dash-video/index.js.map +0 -1
  1571. package/dist/default/media/hlsjs-video/index.js.map +0 -1
  1572. package/dist/default/media/mux-audio/index.js.map +0 -1
  1573. package/dist/default/media/mux-video/index.js.map +0 -1
  1574. package/dist/default/media/native-hls-video/index.js.map +0 -1
  1575. package/dist/default/media/simple-hls-audio-only/index.js.map +0 -1
  1576. package/dist/default/media/simple-hls-video/index.js.map +0 -1
  1577. package/dist/default/media/vimeo-video/index.js.map +0 -1
  1578. package/dist/dev/media/background-video/index.d.ts.map +0 -1
  1579. package/dist/dev/media/dash-video/index.d.ts.map +0 -1
  1580. package/dist/dev/media/dash-video/index.js.map +0 -1
  1581. package/dist/dev/media/hlsjs-video/index.d.ts.map +0 -1
  1582. package/dist/dev/media/hlsjs-video/index.js.map +0 -1
  1583. package/dist/dev/media/mux-audio/index.d.ts.map +0 -1
  1584. package/dist/dev/media/mux-audio/index.js.map +0 -1
  1585. package/dist/dev/media/mux-video/index.d.ts.map +0 -1
  1586. package/dist/dev/media/mux-video/index.js.map +0 -1
  1587. package/dist/dev/media/native-hls-video/index.d.ts.map +0 -1
  1588. package/dist/dev/media/native-hls-video/index.js.map +0 -1
  1589. package/dist/dev/media/simple-hls-audio-only/index.d.ts.map +0 -1
  1590. package/dist/dev/media/simple-hls-audio-only/index.js.map +0 -1
  1591. package/dist/dev/media/simple-hls-video/index.d.ts.map +0 -1
  1592. package/dist/dev/media/simple-hls-video/index.js.map +0 -1
  1593. package/dist/dev/media/vimeo-video/index.d.ts.map +0 -1
  1594. package/dist/dev/media/vimeo-video/index.js.map +0 -1
@@ -55,7 +55,9 @@ tsx
55
55
 
56
56
  ### Example of ejected
57
57
 
58
- Skin.tsx
58
+ VideoPlayer.tsx
59
+
60
+ player.ts
59
61
 
60
62
  skin.css
61
63
 
@@ -63,10 +65,12 @@ skin.css
63
65
  'use client';
64
66
 
65
67
  import { type CSSProperties, type ComponentProps, forwardRef, type ReactNode, isValidElement } from 'react';
66
- import { AirPlayEnterIcon, AirPlayExitIcon, CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, GearIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, QualityIcon, RestartIcon, SeekIcon, SpeechIcon, SpeedIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons';
67
- import { createPlayer, Poster, Container, usePlayer, AirPlayButton, useAudioTrackOptions, BufferingIndicator, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, Popover, useQualityOptions, SeekButton, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider, type RenderProp } from '@videojs/react';
68
- import { Video, videoFeatures } from '@videojs/react/video';
68
+ import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from '@videojs/core/i18n/text/menu';
69
+ import { AirPlayEnterIcon, AirPlayExitIcon, CaptionsOffIcon, CaptionsOnIcon, CastEnterIcon, CastExitIcon, CheckIcon, ChevronIcon, FullscreenEnterIcon, FullscreenExitIcon, GearIcon, PauseIcon, PipEnterIcon, PipExitIcon, PlayIcon, QualityIcon, RestartIcon, SpeechIcon, SpeedIcon, SpinnerIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon } from '@videojs/react/icons';
70
+ import { Poster, useTranslator, Container, usePlayer, AirPlayButton, useAudioTrackOptions, BufferingIndicator, CaptionsButton, useCaptionsOptions, CastButton, Controls, ErrorDialog, FullscreenButton, Gesture, Hotkey, Menu, MuteButton, PiPButton, PlayButton, usePlaybackRateOptions, Popover, useQualityOptions, SeekIndicator, Slider, StatusAnnouncer, StatusIndicator, Time, TimeSlider, Tooltip, VolumeIndicator, VolumeSlider, type RenderProp } from '@videojs/react';
71
+ import { Video } from '@videojs/react/video';
69
72
  import './player.css';
73
+ import { Player } from './player';
70
74
 
71
75
  const TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;
72
76
 
@@ -77,6 +81,7 @@ function MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {
77
81
  }
78
82
 
79
83
  function SettingsMenu(): ReactNode {
84
+ const t = useTranslator();
80
85
  const playbackRate = usePlaybackRateOptions();
81
86
  const quality = useQualityOptions();
82
87
  const audioTrack = useAudioTrackOptions();
@@ -90,7 +95,7 @@ function SettingsMenu(): ReactNode {
90
95
 
91
96
  return (
92
97
  <Menu.Root side="top" align="center">
93
- <Menu.Trigger aria-label="Settings" className="media-button--settings" render={<Button />}>
98
+ <Menu.Trigger aria-label={t(settingsText)} className="media-button--settings" render={<Button />}>
94
99
  <GearIcon className="media-icon media-icon--settings" />
95
100
  </Menu.Trigger>
96
101
  <Menu.Content className="media-surface media-popover media-menu media-menu--settings">
@@ -104,7 +109,7 @@ function SettingsMenu(): ReactNode {
104
109
  render={(props) => (
105
110
  <div {...props}>
106
111
  <QualityIcon className="media-icon" />
107
- <span>Quality</span>
112
+ <span>{t(qualityText)}</span>
108
113
  <span className="media-menu__hint">
109
114
  <Menu.ItemValue className="media-menu__hint-label" />
110
115
  <MenuChevron />
@@ -115,14 +120,14 @@ function SettingsMenu(): ReactNode {
115
120
  <Menu.Content className="media-menu__panel">
116
121
  <Menu.Back className="media-menu__back">
117
122
  <MenuChevron flipped />
118
- Quality
123
+ {t(qualityText)}
119
124
  </Menu.Back>
120
125
  <Menu.Separator className="media-menu__separator" />
121
126
  <Menu.RadioGroup
122
127
  className="media-menu__group"
123
128
  value={quality.value}
124
129
  onValueChange={quality.setValue}
125
- aria-label="Quality"
130
+ aria-label={t(qualityText)}
126
131
  >
127
132
  {quality.options.map((option) => (
128
133
  <Menu.RadioItem
@@ -158,7 +163,7 @@ function SettingsMenu(): ReactNode {
158
163
  render={(props) => (
159
164
  <div {...props}>
160
165
  <SpeechIcon className="media-icon" />
161
- <span>Audio</span>
166
+ <span>{t(audioText)}</span>
162
167
  <span className="media-menu__hint">
163
168
  <Menu.ItemValue className="media-menu__hint-label" />
164
169
  <MenuChevron />
@@ -169,14 +174,14 @@ function SettingsMenu(): ReactNode {
169
174
  <Menu.Content className="media-menu__panel">
170
175
  <Menu.Back className="media-menu__back">
171
176
  <MenuChevron flipped />
172
- Audio
177
+ {t(audioText)}
173
178
  </Menu.Back>
174
179
  <Menu.Separator className="media-menu__separator" />
175
180
  <Menu.RadioGroup
176
181
  className="media-menu__group"
177
182
  value={audioTrack.value}
178
183
  onValueChange={audioTrack.setValue}
179
- aria-label="Audio tracks"
184
+ aria-label={t(audioText)}
180
185
  >
181
186
  {audioTrack.options.map((option) => (
182
187
  <Menu.RadioItem
@@ -208,7 +213,7 @@ function SettingsMenu(): ReactNode {
208
213
  render={(props) => (
209
214
  <div {...props}>
210
215
  <SpeedIcon className="media-icon" />
211
- <span>Speed</span>
216
+ <span>{t(speedText)}</span>
212
217
  <span className="media-menu__hint">
213
218
  <Menu.ItemValue className="media-menu__hint-label" />
214
219
  <MenuChevron />
@@ -219,14 +224,14 @@ function SettingsMenu(): ReactNode {
219
224
  <Menu.Content className="media-menu__panel">
220
225
  <Menu.Back className="media-menu__back">
221
226
  <MenuChevron flipped />
222
- Speed
227
+ {t(speedText)}
223
228
  </Menu.Back>
224
229
  <Menu.Separator className="media-menu__separator" />
225
230
  <Menu.RadioGroup
226
231
  className="media-menu__group"
227
232
  value={playbackRate.value}
228
233
  onValueChange={playbackRate.setValue}
229
- aria-label="Playback rate"
234
+ aria-label={t(playbackRateText)}
230
235
  >
231
236
  {playbackRate.options.map((option) => (
232
237
  <Menu.RadioItem
@@ -258,7 +263,7 @@ function SettingsMenu(): ReactNode {
258
263
  render={(props) => (
259
264
  <div {...props}>
260
265
  <CaptionsOffIcon className="media-icon" />
261
- <span>Captions</span>
266
+ <span>{t(captionsText)}</span>
262
267
  <span className="media-menu__hint">
263
268
  <Menu.ItemValue className="media-menu__hint-label" />
264
269
  <MenuChevron />
@@ -269,14 +274,14 @@ function SettingsMenu(): ReactNode {
269
274
  <Menu.Content className="media-menu__panel">
270
275
  <Menu.Back className="media-menu__back">
271
276
  <MenuChevron flipped />
272
- Captions
277
+ {t(captionsText)}
273
278
  </Menu.Back>
274
279
  <Menu.Separator className="media-menu__separator" />
275
280
  <Menu.RadioGroup
276
281
  className="media-menu__group"
277
282
  value={captions.value}
278
283
  onValueChange={captions.setValue}
279
- aria-label="Captions"
284
+ aria-label={t(captionsText)}
280
285
  >
281
286
  {captions.options.map((option) => (
282
287
  <Menu.RadioItem
@@ -306,14 +311,88 @@ function SettingsMenu(): ReactNode {
306
311
  );
307
312
  }
308
313
 
314
+ function CastControl() {
315
+ return (
316
+ <Tooltip.Root side="top">
317
+ <Tooltip.Trigger
318
+ render={
319
+ <CastButton className="media-button--cast" render={<Button />}>
320
+ <CastEnterIcon className="media-icon media-icon--cast-enter" />
321
+ <CastExitIcon className="media-icon media-icon--cast-exit" />
322
+ </CastButton>
323
+ }
324
+ />
325
+ <Tooltip.Popup className="media-surface media-tooltip">
326
+ <Tooltip.Label />
327
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
328
+ </Tooltip.Popup>
329
+ </Tooltip.Root>
330
+ );
331
+ }
332
+
333
+ function AirPlayControl() {
334
+ return (
335
+ <Tooltip.Root side="top">
336
+ <Tooltip.Trigger
337
+ render={
338
+ <AirPlayButton className="media-button--airplay" render={<Button />}>
339
+ <AirPlayEnterIcon className="media-icon media-icon--airplay-enter" />
340
+ <AirPlayExitIcon className="media-icon media-icon--airplay-exit" />
341
+ </AirPlayButton>
342
+ }
343
+ />
344
+ <Tooltip.Popup className="media-surface media-tooltip">
345
+ <Tooltip.Label />
346
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
347
+ </Tooltip.Popup>
348
+ </Tooltip.Root>
349
+ );
350
+ }
351
+
352
+ function PiPControl() {
353
+ return (
354
+ <Tooltip.Root side="top">
355
+ <Tooltip.Trigger
356
+ render={
357
+ <PiPButton className="media-button--pip" render={<Button />}>
358
+ <PipEnterIcon className="media-icon media-icon--pip-enter" />
359
+ <PipExitIcon className="media-icon media-icon--pip-exit" />
360
+ </PiPButton>
361
+ }
362
+ />
363
+ <Tooltip.Popup className="media-surface media-tooltip">
364
+ <Tooltip.Label />
365
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
366
+ </Tooltip.Popup>
367
+ </Tooltip.Root>
368
+ );
369
+ }
370
+
371
+ function FullscreenControl() {
372
+ return (
373
+ <Tooltip.Root side="top">
374
+ <Tooltip.Trigger
375
+ render={
376
+ <FullscreenButton className="media-button--fullscreen" render={<Button />}>
377
+ <FullscreenEnterIcon className="media-icon media-icon--fullscreen-enter" />
378
+ <FullscreenExitIcon className="media-icon media-icon--fullscreen-exit" />
379
+ </FullscreenButton>
380
+ }
381
+ />
382
+ <Tooltip.Popup className="media-surface media-tooltip">
383
+ <Tooltip.Label />
384
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
385
+ </Tooltip.Popup>
386
+ </Tooltip.Root>
387
+ );
388
+ }
389
+
309
390
  // ================================================================
310
391
  // Player
311
392
  // ================================================================
312
393
 
313
394
  const SEEK_TIME = 10;
314
395
 
315
- export const Player = createPlayer({ features: videoFeatures });
316
-
317
396
  export interface VideoPlayerProps {
318
397
  src: string;
319
398
  style?: CSSProperties;
@@ -360,155 +439,87 @@ export function VideoPlayer({ src, className, poster, placeholder, style, ...res
360
439
  <ErrorDialog.Popup className="media-error">
361
440
  <div className="media-error__dialog media-surface">
362
441
  <div className="media-error__content">
363
- <ErrorDialog.Title className="media-error__title">Something went wrong.</ErrorDialog.Title>
442
+ <ErrorDialog.Title className="media-error__title"></ErrorDialog.Title>
364
443
  <ErrorDialog.Description className="media-error__description" />
365
444
  </div>
366
445
  <div className="media-error__actions">
367
- <ErrorDialog.Close className="media-button media-button--primary">OK</ErrorDialog.Close>
446
+ <ErrorDialog.Close className="media-button media-button--primary"></ErrorDialog.Close>
368
447
  </div>
369
448
  </div>
370
449
  </ErrorDialog.Popup>
371
450
  </ErrorDialog.Root>
372
451
 
373
- <Controls.Root className="media-surface media-controls">
452
+ <Controls.Root className="media-surface media-controls media-controls--root">
374
453
  <Tooltip.Provider>
375
- <div className="media-button-group">
376
- <Tooltip.Root side="top">
377
- <Tooltip.Trigger
378
- render={
379
- <PlayButton className="media-button--play" render={<Button />}>
380
- <RestartIcon className="media-icon media-icon--restart" />
381
- <PlayIcon className="media-icon media-icon--play" />
382
- <PauseIcon className="media-icon media-icon--pause" />
383
- </PlayButton>
384
- }
385
- />
386
- <Tooltip.Popup className="media-surface media-tooltip">
387
- <Tooltip.Label />
388
- <Tooltip.Shortcut className="media-tooltip__kbd" />
389
- </Tooltip.Popup>
390
- </Tooltip.Root>
391
-
392
- <Tooltip.Root side="top">
393
- <Tooltip.Trigger
394
- render={
395
- <SeekButton seconds={-SEEK_TIME} className="media-button--seek" render={<Button />}>
396
- <span className="media-icon__container">
397
- <SeekIcon className="media-icon media-icon--seek media-icon--flipped" />
398
- <span className="media-icon__label">{SEEK_TIME}</span>
399
- </span>
400
- </SeekButton>
401
- }
402
- />
403
- <Tooltip.Popup className="media-surface media-tooltip">
404
- <Tooltip.Label />
405
- <Tooltip.Shortcut className="media-tooltip__kbd" />
406
- </Tooltip.Popup>
407
- </Tooltip.Root>
408
-
409
- <Tooltip.Root side="top">
410
- <Tooltip.Trigger
411
- render={
412
- <SeekButton seconds={SEEK_TIME} className="media-button--seek" render={<Button />}>
413
- <span className="media-icon__container">
414
- <SeekIcon className="media-icon media-icon--seek" />
415
- <span className="media-icon__label">{SEEK_TIME}</span>
416
- </span>
417
- </SeekButton>
418
- }
419
- />
420
- <Tooltip.Popup className="media-surface media-tooltip">
421
- <Tooltip.Label />
422
- <Tooltip.Shortcut className="media-tooltip__kbd" />
423
- </Tooltip.Popup>
424
- </Tooltip.Root>
425
- </div>
426
-
427
- <div className="media-time-controls">
428
- <Time.Value type="current" className="media-time" />
429
- <TimeSlider.Root className="media-slider">
430
- <TimeSlider.Track className="media-slider__track">
431
- <TimeSlider.Fill className="media-slider__fill" />
432
- <TimeSlider.Buffer className="media-slider__buffer" />
433
- </TimeSlider.Track>
434
- <TimeSlider.Thumb className="media-slider__thumb" />
435
-
436
- <div className="media-surface media-thumbnail media-slider__thumbnail">
437
- <Slider.Thumbnail className="media-thumbnail__image" />
438
- <TimeSlider.Value type="pointer" className="media-time media-thumbnail__time" />
439
- <SpinnerIcon className="media-thumbnail__spinner media-icon" />
440
- </div>
441
- <TimeSlider.Preview className="media-slider__preview">
442
- <TimeSlider.Value type="pointer" className="media-time media-slider__value" />
443
- </TimeSlider.Preview>
444
- </TimeSlider.Root>
445
- <Time.Value toggle type="remaining" className="media-time" />
446
- </div>
454
+ <div className="media-surface media-controls media-controls--primary">
455
+ <div className="media-button-group">
456
+ <Tooltip.Root side="top">
457
+ <Tooltip.Trigger
458
+ render={
459
+ <PlayButton className="media-button--play" render={<Button />}>
460
+ <RestartIcon className="media-icon media-icon--restart" />
461
+ <PlayIcon className="media-icon media-icon--play" />
462
+ <PauseIcon className="media-icon media-icon--pause" />
463
+ </PlayButton>
464
+ }
465
+ />
466
+ <Tooltip.Popup className="media-surface media-tooltip">
467
+ <Tooltip.Label />
468
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
469
+ </Tooltip.Popup>
470
+ </Tooltip.Root>
471
+
472
+ <VolumePopover />
473
+ </div>
447
474
 
448
- <div className="media-button-group">
449
- <VolumePopover />
475
+ <div className="media-time-controls">
476
+ <Time.Value type="current" className="media-time" />
477
+ <TimeSlider.Root className="media-slider">
478
+ <TimeSlider.Track className="media-slider__track">
479
+ <TimeSlider.Fill className="media-slider__fill" />
480
+ <TimeSlider.Buffer className="media-slider__buffer" />
481
+ </TimeSlider.Track>
482
+ <TimeSlider.Thumb className="media-slider__thumb" />
483
+
484
+ <div className="media-surface media-thumbnail media-slider__thumbnail">
485
+ <Slider.Thumbnail className="media-thumbnail__image" />
486
+ <TimeSlider.Value type="pointer" className="media-time media-thumbnail__time" />
487
+ <SpinnerIcon className="media-thumbnail__spinner media-icon" />
488
+ </div>
489
+ <TimeSlider.Preview className="media-slider__preview">
490
+ <TimeSlider.Value type="pointer" className="media-time media-slider__value" />
491
+ </TimeSlider.Preview>
492
+ </TimeSlider.Root>
493
+ <Time.Value toggle type="remaining" className="media-time" />
494
+ </div>
450
495
 
451
- <SettingsMenu />
496
+ <div className="media-button-group">
497
+ <Tooltip.Root side="top">
498
+ <Tooltip.Trigger
499
+ render={
500
+ <CaptionsButton className="media-button--captions" render={<Button />}>
501
+ <CaptionsOffIcon className="media-icon media-icon--captions-off" />
502
+ <CaptionsOnIcon className="media-icon media-icon--captions-on" />
503
+ </CaptionsButton>
504
+ }
505
+ />
506
+ <Tooltip.Popup className="media-surface media-tooltip">
507
+ <Tooltip.Label />
508
+ <Tooltip.Shortcut className="media-tooltip__kbd" />
509
+ </Tooltip.Popup>
510
+ </Tooltip.Root>
511
+
512
+ <SettingsMenu />
513
+ </div>
514
+ </div>
452
515
 
453
- <Tooltip.Root side="top">
454
- <Tooltip.Trigger
455
- render={
456
- <CastButton className="media-button--cast" render={<Button />}>
457
- <CastEnterIcon className="media-icon media-icon--cast-enter" />
458
- <CastExitIcon className="media-icon media-icon--cast-exit" />
459
- </CastButton>
460
- }
461
- />
462
- <Tooltip.Popup className="media-surface media-tooltip">
463
- <Tooltip.Label />
464
- <Tooltip.Shortcut className="media-tooltip__kbd" />
465
- </Tooltip.Popup>
466
- </Tooltip.Root>
467
-
468
- <Tooltip.Root side="top">
469
- <Tooltip.Trigger
470
- render={
471
- <AirPlayButton className="media-button--airplay" render={<Button />}>
472
- <AirPlayEnterIcon className="media-icon media-icon--airplay-enter" />
473
- <AirPlayExitIcon className="media-icon media-icon--airplay-exit" />
474
- </AirPlayButton>
475
- }
476
- />
477
- <Tooltip.Popup className="media-surface media-tooltip">
478
- <Tooltip.Label />
479
- <Tooltip.Shortcut className="media-tooltip__kbd" />
480
- </Tooltip.Popup>
481
- </Tooltip.Root>
482
-
483
- <Tooltip.Root side="top">
484
- <Tooltip.Trigger
485
- render={
486
- <PiPButton className="media-button--pip" render={<Button />}>
487
- <PipEnterIcon className="media-icon media-icon--pip-enter" />
488
- <PipExitIcon className="media-icon media-icon--pip-exit" />
489
- </PiPButton>
490
- }
491
- />
492
- <Tooltip.Popup className="media-surface media-tooltip">
493
- <Tooltip.Label />
494
- <Tooltip.Shortcut className="media-tooltip__kbd" />
495
- </Tooltip.Popup>
496
- </Tooltip.Root>
497
-
498
- <Tooltip.Root side="top">
499
- <Tooltip.Trigger
500
- render={
501
- <FullscreenButton className="media-button--fullscreen" render={<Button />}>
502
- <FullscreenEnterIcon className="media-icon media-icon--fullscreen-enter" />
503
- <FullscreenExitIcon className="media-icon media-icon--fullscreen-exit" />
504
- </FullscreenButton>
505
- }
506
- />
507
- <Tooltip.Popup className="media-surface media-tooltip">
508
- <Tooltip.Label />
509
- <Tooltip.Shortcut className="media-tooltip__kbd" />
510
- </Tooltip.Popup>
511
- </Tooltip.Root>
516
+ <div className="media-surface media-controls media-controls--secondary">
517
+ <div className="media-button-group">
518
+ <CastControl />
519
+ <AirPlayControl />
520
+ <PiPControl />
521
+ <FullscreenControl />
522
+ </div>
512
523
  </div>
513
524
  </Tooltip.Provider>
514
525
  </Controls.Root>
@@ -542,7 +553,7 @@ export function VideoPlayer({ src, className, poster, placeholder, style, ...res
542
553
  <Gesture type="doubletap" action="seekStep" value={SEEK_TIME} region="right" />
543
554
 
544
555
  {/* Input Feedback */}
545
- <StatusAnnouncer />
556
+ <StatusAnnouncer className="media-sr-only" />
546
557
  <div className="media-input-feedback">
547
558
  <VolumeIndicator.Root className="media-surface media-input-feedback-island media-input-feedback-island--volume">
548
559
  <VolumeIndicator.Fill className="media-input-feedback-island__content">
@@ -640,6 +651,25 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
640
651
  }
641
652
  ```
642
653
  ```
654
+ import { createPlayer } from '@videojs/react';
655
+ import { videoFeatures } from '@videojs/react/video';
656
+
657
+ export const Player = createPlayer({ features: videoFeatures });
658
+ ```
659
+ ```
660
+ .media-sr-only {
661
+ position: absolute;
662
+ width: 1px;
663
+ height: 1px;
664
+ padding: 0;
665
+ margin: -1px;
666
+ overflow: hidden;
667
+ white-space: nowrap;
668
+ border: 0;
669
+ clip: rect(0, 0, 0, 0);
670
+ }
671
+
672
+
643
673
  /* ==========================================================================
644
674
  Reset
645
675
  ========================================================================== */
@@ -673,10 +703,24 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
673
703
  ========================================================================== */
674
704
 
675
705
  .media-default-skin {
706
+ /* Colors */
676
707
  --media-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
677
708
  --media-current-shadow-color-subtle: oklch(from var(--media-current-shadow-color) l c h / calc(alpha * 0.4));
678
- --media-icon-size: 18px;
679
- --media-color-scrollbar-thumb: oklch(from currentColor l c h / 0.3);
709
+ --scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);
710
+
711
+ /* Scaling (used in video fullscreen) */
712
+ --scale: 1;
713
+ /* What value and unit to use - 1rem assumes the document font size remains at the default 16px */
714
+ --base-size: 1rem;
715
+ --size: calc(var(--base-size) * var(--scale));
716
+ /* Create a Tailwind-like spacing unit */
717
+ --spacing: calc(var(--size) / 4);
718
+ --font-size-medium: calc(0.9375 * var(--size)); /* 15px */
719
+ --font-size-base: calc(0.8125 * var(--size)); /* 13px */
720
+ --font-size-small: calc(0.6875 * var(--size)); /* 11px */
721
+ --font-size-tiny: calc(0.5625 * var(--size)); /* 9px */
722
+ --media-icon-size: calc(1.125 * var(--size)); /* 18px */
723
+
680
724
  position: relative;
681
725
  display: block;
682
726
  width: 100%;
@@ -688,16 +732,16 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
688
732
  ui-sans-serif,
689
733
  system-ui,
690
734
  sans-serif;
691
- font-size: 0.8125rem; /* 13px at 100% font size */
735
+ font-size: var(--font-size-base);
692
736
  -webkit-font-smoothing: auto;
693
737
  -moz-osx-font-smoothing: auto;
694
738
  line-height: 1.5;
695
739
  letter-spacing: normal;
696
740
  outline: 2px solid transparent;
697
741
  outline-offset: -4px;
698
- scrollbar-color: var(--media-color-scrollbar-thumb) transparent;
742
+ scrollbar-color: var(--scrollbar-thumb-color) transparent;
699
743
  scrollbar-width: thin;
700
- border-radius: var(--media-border-radius, 2rem);
744
+ border-radius: var(--media-border-radius, 1.75rem);
701
745
  isolation: isolate;
702
746
  transition-timing-function: ease-out;
703
747
  transition-duration: 100ms;
@@ -709,12 +753,12 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
709
753
  }
710
754
 
711
755
  &::-webkit-scrollbar-thumb {
712
- background: var(--media-color-scrollbar-thumb);
756
+ background: var(--scrollbar-thumb-color);
713
757
  border-radius: 9999px;
714
758
  }
715
759
 
716
760
  @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
717
- --media-color-scrollbar-thumb: oklch(from currentColor l c h / 0.8);
761
+ --scrollbar-thumb-color: oklch(from currentColor l c h / 0.8);
718
762
  scrollbar-width: auto;
719
763
  }
720
764
  }
@@ -739,7 +783,9 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
739
783
  pointer-events: none;
740
784
  content: "";
741
785
  border-radius: inherit;
742
- box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
786
+ box-shadow:
787
+ inset 0 1px 0 0 var(--media-surface-inner-border-color),
788
+ inset 0 0 0 1px oklch(from var(--media-surface-inner-border-color) l c h / calc(alpha * 0.5));
743
789
  }
744
790
  }
745
791
 
@@ -850,7 +896,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
850
896
 
851
897
  .media-default-skin .media-error__actions {
852
898
  display: flex;
853
- gap: 0.5rem;
899
+ gap: calc(var(--spacing) * 2);
854
900
 
855
901
  & > * {
856
902
  flex: 1;
@@ -866,13 +912,17 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
866
912
  ========================================================================== */
867
913
 
868
914
  .media-default-skin .media-controls {
915
+ --media-popover-side-offset: calc(var(--spacing) * (var(--base-side-offset, 2) + 1));
916
+ --media-tooltip-side-offset: var(--media-popover-side-offset);
917
+ --media-popover-boundary-offset: calc(var(--spacing) * var(--base-boundary-offset, 2));
918
+ --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);
919
+
869
920
  display: flex;
870
- column-gap: 0.075rem;
871
921
  align-items: center;
872
- padding: 0.375rem;
922
+ padding: calc(var(--spacing) * 1);
873
923
  container: media-controls / inline-size;
874
924
  text-shadow: 0 1px 0 var(--media-current-shadow-color);
875
- border-radius: 1.5rem;
925
+ border-radius: calc(Infinity * 1px);
876
926
  }
877
927
 
878
928
  /* ==========================================================================
@@ -882,10 +932,15 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
882
932
  .media-default-skin .media-time-controls {
883
933
  display: flex;
884
934
  flex: 1;
885
- gap: 0.75rem;
935
+ gap: calc(var(--spacing) * 2.5);
886
936
  align-items: center;
887
- padding-inline: 0.5rem;
888
937
  container: media-time-controls / inline-size;
938
+
939
+ & .media-time:last-child {
940
+ @container media-time-controls (width < 10rem) {
941
+ display: none;
942
+ }
943
+ }
889
944
  }
890
945
 
891
946
  .media-default-skin .media-time {
@@ -896,7 +951,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
896
951
  cursor: pointer;
897
952
  outline: 2px solid transparent;
898
953
  outline-offset: -2px;
899
- border-radius: 0.25rem;
954
+ border-radius: calc(var(--spacing) * 1);
900
955
  transition-timing-function: ease-out;
901
956
  transition-duration: 100ms;
902
957
  transition-property: outline-color, outline-offset;
@@ -917,8 +972,9 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
917
972
  flex-shrink: 0;
918
973
  align-items: center;
919
974
  justify-content: center;
975
+ height: calc(var(--spacing) * 9);
920
976
  min-height: 0;
921
- padding: 0.5rem 1rem;
977
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
922
978
  text-align: center;
923
979
  touch-action: manipulation;
924
980
  cursor: pointer;
@@ -926,7 +982,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
926
982
  outline: 2px solid transparent;
927
983
  outline-offset: -2px;
928
984
  border: none;
929
- border-radius: calc(infinity * 1px);
985
+ border-radius: calc(Infinity * 1px);
930
986
  transition-timing-function: ease-out;
931
987
  transition-duration: 150ms;
932
988
  transition-property: background-color, outline-offset, scale;
@@ -938,20 +994,15 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
938
994
  outline-offset: 2px;
939
995
  }
940
996
 
941
- &:active {
997
+ &:active:not([aria-disabled="true"]) {
942
998
  scale: 0.98;
943
999
  }
944
1000
 
945
- &[disabled] {
1001
+ &[aria-disabled="true"] {
946
1002
  cursor: not-allowed;
947
1003
  opacity: 0.5;
948
1004
  filter: grayscale(1);
949
1005
  }
950
-
951
- &[data-availability="unavailable"],
952
- &[data-availability="unsupported"] {
953
- display: none;
954
- }
955
1006
  }
956
1007
 
957
1008
  /* Primary button variant */
@@ -979,11 +1030,10 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
979
1030
  /* Icon button variant */
980
1031
  .media-default-skin .media-button--icon {
981
1032
  display: grid;
982
- width: 2.25rem;
983
1033
  aspect-ratio: 1;
984
1034
  padding: 0;
985
1035
 
986
- &:active {
1036
+ &:active:not([aria-disabled="true"]) {
987
1037
  scale: 0.9;
988
1038
  }
989
1039
 
@@ -1007,7 +1057,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1007
1057
  position: absolute;
1008
1058
  right: -1px;
1009
1059
  bottom: -3px;
1010
- font-size: 10px;
1060
+ font-size: 0.715em; /* 10px */
1011
1061
  font-weight: 500;
1012
1062
  font-variant-numeric: tabular-nums;
1013
1063
  letter-spacing: -0.05em;
@@ -1036,8 +1086,6 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1036
1086
 
1037
1087
  /* Settings button */
1038
1088
  .media-default-skin .media-button--settings {
1039
- display: none;
1040
-
1041
1089
  & .media-icon--settings {
1042
1090
  transition: transform 150ms ease-in-out;
1043
1091
 
@@ -1051,21 +1099,17 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1051
1099
  }
1052
1100
  }
1053
1101
 
1054
- .media-default-skin .media-button-group:has([data-availability="available"]) .media-button--settings {
1055
- display: grid;
1056
- }
1057
-
1058
1102
  /* Live button — wide pill button with a status dot (gray → red at the live
1059
1103
  edge) rendered via ::before, and "LIVE" text rendered as the button's own
1060
1104
  text content. */
1061
1105
  .media-default-skin .media-button--live {
1062
1106
  display: inline-flex;
1063
- gap: 0.4rem;
1107
+ gap: calc(var(--spacing) * 1.5);
1064
1108
  align-items: center;
1065
1109
  width: auto;
1066
1110
  aspect-ratio: auto;
1067
- padding: 0.5rem 0.75rem;
1068
- font-size: 0.75rem;
1111
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
1112
+ font-size: var(--font-size-small);
1069
1113
  font-weight: 600;
1070
1114
  line-height: 1;
1071
1115
  text-transform: uppercase;
@@ -1074,8 +1118,8 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1074
1118
  &::before {
1075
1119
  display: inline-block;
1076
1120
  flex-shrink: 0;
1077
- width: 0.5rem;
1078
- height: 0.5rem;
1121
+ width: calc(var(--spacing) * 2);
1122
+ height: calc(var(--spacing) * 2);
1079
1123
  content: "";
1080
1124
  background-color: oklch(from currentColor l c h / 0.4);
1081
1125
  border-radius: 50%;
@@ -1093,12 +1137,8 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1093
1137
 
1094
1138
  .media-default-skin .media-button-group {
1095
1139
  display: flex;
1096
- gap: 0.075rem;
1140
+ gap: 1px;
1097
1141
  align-items: center;
1098
-
1099
- @container media-root (width > 42rem) {
1100
- gap: 0.125rem;
1101
- }
1102
1142
  }
1103
1143
 
1104
1144
  /* ==========================================================================
@@ -1106,14 +1146,14 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1106
1146
  ========================================================================== */
1107
1147
 
1108
1148
  .media-default-skin .media-badge {
1109
- padding: 0.125rem 0.375rem;
1110
- font-size: 0.6875rem;
1149
+ padding: calc(var(--spacing) * 0.5) calc(var(--spacing) * 1.5);
1150
+ font-size: var(--font-size-small);
1111
1151
  font-weight: 500;
1112
1152
  line-height: 1;
1113
1153
  color: oklch(from currentColor l c h / 0.85);
1114
1154
  white-space: nowrap;
1115
1155
  background-color: oklch(from currentColor l c h / 0.1);
1116
- border-radius: calc(infinity * 1px);
1156
+ border-radius: calc(Infinity * 1px);
1117
1157
  }
1118
1158
 
1119
1159
  /* ==========================================================================
@@ -1204,7 +1244,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1204
1244
  .media-default-skin .media-thumbnail {
1205
1245
  pointer-events: none;
1206
1246
  background-color: oklch(0 0 0 / 0.9);
1207
- border-radius: 0.75rem;
1247
+ border-radius: calc(var(--spacing) * 3);
1208
1248
 
1209
1249
  & .media-thumbnail__image {
1210
1250
  position: relative;
@@ -1216,7 +1256,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1216
1256
  position: absolute;
1217
1257
  inset: 0;
1218
1258
  content: "";
1219
- background-image: linear-gradient(to top, oklch(0 0 0 / 0.8), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
1259
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.1), oklch(0 0 0 / 0));
1220
1260
  border-radius: inherit;
1221
1261
  }
1222
1262
  }
@@ -1224,7 +1264,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1224
1264
  & .media-thumbnail__time {
1225
1265
  position: absolute;
1226
1266
  inset-inline: 0;
1227
- bottom: 0.5rem;
1267
+ bottom: calc(var(--spacing) * 2);
1228
1268
  text-align: center;
1229
1269
  }
1230
1270
 
@@ -1272,210 +1312,204 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1272
1312
  border-radius: calc(infinity * 1px);
1273
1313
 
1274
1314
  &[data-orientation="horizontal"] {
1275
- width: 100%;
1276
- min-width: 5rem;
1277
- height: 2rem;
1315
+ width: var(--slider-width, 100%);
1316
+ min-width: calc(var(--spacing) * 20);
1317
+ height: var(--slider-height, calc(var(--spacing) * 8));
1278
1318
  }
1279
-
1280
1319
  &[data-orientation="vertical"] {
1281
- width: 2rem;
1282
- height: 5rem;
1320
+ width: var(--slider-width, calc(var(--spacing) * 8));
1321
+ height: var(--slider-height, calc(var(--spacing) * 20));
1283
1322
  }
1284
- }
1285
1323
 
1286
- /* Track */
1287
- .media-default-skin .media-slider__track {
1288
- position: relative;
1289
- overflow: hidden;
1290
- user-select: none;
1291
- border-radius: inherit;
1292
- isolation: isolate;
1293
-
1294
- &[data-orientation="horizontal"] {
1295
- width: 100%;
1296
- height: 0.25rem;
1297
- }
1298
-
1299
- &[data-orientation="vertical"] {
1300
- width: 0.25rem;
1301
- height: 100%;
1302
- }
1303
- }
1304
-
1305
- /* Thumb */
1306
- .media-default-skin .media-slider__thumb {
1307
- position: absolute;
1308
- z-index: 10;
1309
- width: 0.625rem;
1310
- height: 0.625rem;
1311
- user-select: none;
1312
- outline: 4px solid transparent;
1313
- outline-offset: -4px;
1314
- background-color: currentColor;
1315
- border-radius: calc(infinity * 1px);
1316
- box-shadow:
1317
- 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.1)),
1318
- 0 1px 3px 0 oklch(0 0 0 / 0.35),
1319
- 0 1px 2px -1px oklch(0 0 0 / 0.35);
1320
- opacity: 0;
1321
- translate: -50% -50%;
1322
- transition-timing-function: ease-out;
1323
- transition-duration: 150ms;
1324
- transition-property: opacity, height, width, outline-offset;
1325
-
1326
- &[data-orientation="horizontal"] {
1327
- top: 50%;
1328
- left: var(--media-slider-fill);
1329
- }
1330
-
1331
- &[data-orientation="vertical"] {
1332
- top: calc(100% - var(--media-slider-fill));
1333
- left: 50%;
1334
- }
1324
+ /* Track */
1325
+ & .media-slider__track {
1326
+ position: relative;
1327
+ overflow: hidden;
1328
+ user-select: none;
1329
+ border-radius: inherit;
1330
+ isolation: isolate;
1335
1331
 
1336
- &:hover,
1337
- &:focus {
1338
- outline-color: oklch(from currentColor l c h / 0.15);
1339
- outline-offset: 0;
1332
+ &[data-orientation="horizontal"] {
1333
+ width: 100%;
1334
+ height: calc(var(--spacing) * 1);
1335
+ }
1336
+ &[data-orientation="vertical"] {
1337
+ width: calc(var(--spacing) * 1);
1338
+ height: 100%;
1339
+ }
1340
1340
  }
1341
1341
 
1342
- &::after {
1342
+ /* Thumb */
1343
+ & .media-slider__thumb {
1343
1344
  position: absolute;
1344
- inset: -4px;
1345
- content: "";
1346
- border-radius: inherit;
1347
- box-shadow: 0 0 0 2px currentColor;
1345
+ z-index: 10;
1346
+ width: calc(var(--spacing) * 2.5);
1347
+ height: calc(var(--spacing) * 2.5);
1348
+ user-select: none;
1349
+ outline: 4px solid transparent;
1350
+ outline-offset: -4px;
1351
+ background-color: currentColor;
1352
+ border-radius: calc(Infinity * 1px);
1353
+ box-shadow:
1354
+ 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.1)),
1355
+ 0 1px 3px 0 oklch(0 0 0 / 0.35),
1356
+ 0 1px 2px -1px oklch(0 0 0 / 0.35);
1357
+ opacity: 0;
1358
+ translate: -50% -50%;
1348
1359
  transition-timing-function: ease-out;
1349
1360
  transition-duration: 150ms;
1350
- transition-property: opacity, scale;
1351
- }
1361
+ transition-property: opacity, height, width, outline-offset;
1352
1362
 
1353
- &:not(:focus-visible)::after {
1354
- opacity: 0;
1355
- scale: 0.5;
1356
- }
1357
- }
1363
+ &[data-orientation="horizontal"] {
1364
+ top: 50%;
1365
+ left: var(--media-slider-fill);
1366
+ }
1367
+ &[data-orientation="vertical"] {
1368
+ top: calc(100% - var(--media-slider-fill));
1369
+ left: 50%;
1370
+ }
1358
1371
 
1359
- .media-default-skin .media-slider:active .media-slider__thumb,
1360
- .media-default-skin .media-slider__thumb--persistent {
1361
- width: 0.75rem;
1362
- height: 0.75rem;
1363
- }
1372
+ &:hover,
1373
+ &:focus {
1374
+ outline-color: oklch(from currentColor l c h / 0.15);
1375
+ outline-offset: 0;
1376
+ }
1364
1377
 
1365
- .media-default-skin .media-slider:hover .media-slider__thumb,
1366
- .media-default-skin .media-slider__thumb:focus-visible,
1367
- .media-default-skin .media-slider__thumb--persistent {
1368
- opacity: 1;
1369
- }
1378
+ &::after {
1379
+ position: absolute;
1380
+ inset: -4px;
1381
+ content: "";
1382
+ border-radius: inherit;
1383
+ box-shadow: 0 0 0 2px currentColor;
1384
+ transition-timing-function: ease-out;
1385
+ transition-duration: 150ms;
1386
+ transition-property: opacity, scale;
1387
+ }
1370
1388
 
1371
- /* Preview */
1372
- .media-default-skin .media-slider__preview {
1373
- & .media-slider__value,
1374
- &::before {
1375
- opacity: 0;
1376
- scale: 0.5;
1377
- transition-timing-function: ease-out;
1378
- transition-duration: 200ms;
1379
- transition-property: opacity, scale;
1389
+ &:not(:focus-visible)::after {
1390
+ opacity: 0;
1391
+ scale: 0.5;
1392
+ }
1380
1393
  }
1381
1394
 
1382
- & .media-slider__value {
1383
- position: absolute;
1384
- bottom: 2.25rem;
1385
- text-shadow: 0 1px 0 var(--media-current-shadow-color);
1386
- filter: blur(8px);
1387
- translate: -50% 0.5rem;
1388
- transition-property: filter, opacity, scale, translate;
1395
+ &:active .media-slider__thumb,
1396
+ &:focus-within .media-slider__thumb,
1397
+ & .media-slider__thumb--persistent {
1398
+ width: calc(var(--spacing) * 3);
1399
+ height: calc(var(--spacing) * 3);
1389
1400
  }
1390
1401
 
1391
- &::before {
1392
- display: block;
1393
- min-width: 0.25rem;
1394
- height: 0.25rem;
1395
- content: "";
1396
- background-color: currentColor;
1397
- border-radius: 100%;
1398
- box-shadow:
1399
- 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.15)),
1400
- 0 1px 2px 0 oklch(0 0 0 / 0.35);
1401
- }
1402
-
1403
- &[data-pointing] .media-slider__value,
1404
- &[data-pointing]:not([data-dragging])::before {
1402
+ &:hover .media-slider__thumb,
1403
+ & .media-slider__thumb:focus-visible,
1404
+ & .media-slider__thumb--persistent {
1405
1405
  opacity: 1;
1406
- scale: 1;
1407
- }
1408
- &[data-pointing] .media-slider__value {
1409
- filter: blur(0);
1410
- translate: -50% 0;
1411
1406
  }
1412
- }
1413
-
1414
- /* Shared track fills */
1415
- .media-default-skin .media-slider__buffer,
1416
- .media-default-skin .media-slider__fill {
1417
- position: absolute;
1418
- pointer-events: none;
1419
- border-radius: inherit;
1420
- }
1421
-
1422
- .media-default-skin .media-slider__buffer[data-orientation="horizontal"],
1423
- .media-default-skin .media-slider__fill[data-orientation="horizontal"] {
1424
- inset-block: 0;
1425
- left: 0;
1426
- }
1427
1407
 
1428
- .media-default-skin .media-slider__buffer[data-orientation="vertical"],
1429
- .media-default-skin .media-slider__fill[data-orientation="vertical"] {
1430
- inset-inline: 0;
1431
- bottom: 0;
1432
- }
1408
+ /* Preview */
1409
+ & .media-slider__preview {
1410
+ & .media-slider__value,
1411
+ &::before {
1412
+ opacity: 0;
1413
+ scale: 0.5;
1414
+ transition-timing-function: ease-out;
1415
+ transition-duration: 200ms;
1416
+ transition-property: opacity, scale;
1417
+ }
1433
1418
 
1434
- /* Buffer */
1435
- .media-default-skin .media-slider__buffer {
1436
- background-color: oklch(from currentColor l c h / 0.2);
1437
- transition-timing-function: ease-out;
1438
- transition-duration: 0.25s;
1419
+ & .media-slider__value {
1420
+ position: absolute;
1421
+ bottom: calc(var(--spacing) * 9);
1422
+ text-shadow: 0 1px 0 var(--media-current-shadow-color);
1423
+ filter: blur(8px);
1424
+ translate: -50% calc(var(--spacing) * 2);
1425
+ transition-property: filter, opacity, scale, translate;
1426
+ }
1439
1427
 
1440
- &[data-orientation="horizontal"] {
1441
- width: var(--media-slider-buffer);
1442
- transition-property: width;
1443
- }
1428
+ &::before {
1429
+ display: block;
1430
+ min-width: calc(var(--spacing) * 1);
1431
+ height: calc(var(--spacing) * 1);
1432
+ content: "";
1433
+ background-color: currentColor;
1434
+ border-radius: 100%;
1435
+ box-shadow:
1436
+ 0 0 0 1px var(--media-current-shadow-color, oklch(0 0 0 / 0.15)),
1437
+ 0 1px 2px 0 oklch(0 0 0 / 0.35);
1438
+ }
1444
1439
 
1445
- &[data-orientation="vertical"] {
1446
- height: var(--media-slider-buffer);
1447
- transition-property: height;
1440
+ &[data-pointing] .media-slider__value,
1441
+ &[data-pointing]:not([data-dragging])::before {
1442
+ opacity: 1;
1443
+ scale: 1;
1444
+ }
1445
+ &[data-pointing] .media-slider__value {
1446
+ filter: blur(0);
1447
+ translate: -50% 0;
1448
+ }
1448
1449
  }
1449
- }
1450
1450
 
1451
- /* Fill */
1452
- .media-default-skin .media-slider__fill {
1453
- background-color: currentColor;
1451
+ /* Shared track fills */
1452
+ & .media-slider__buffer,
1453
+ & .media-slider__fill {
1454
+ position: absolute;
1455
+ pointer-events: none;
1456
+ border-radius: inherit;
1454
1457
 
1455
- &[data-orientation="horizontal"] {
1456
- width: var(--media-slider-fill);
1458
+ &[data-orientation="horizontal"],
1459
+ &[data-orientation="horizontal"] {
1460
+ inset-block: 0;
1461
+ left: 0;
1462
+ }
1463
+ &[data-orientation="vertical"],
1464
+ &[data-orientation="vertical"] {
1465
+ inset-inline: 0;
1466
+ bottom: 0;
1467
+ }
1457
1468
  }
1458
1469
 
1459
- &[data-orientation="vertical"] {
1460
- height: var(--media-slider-fill);
1461
- }
1462
- }
1470
+ /* Buffer */
1471
+ & .media-slider__buffer {
1472
+ background-color: oklch(from currentColor l c h / 0.2);
1473
+ transition-timing-function: ease-out;
1474
+ transition-duration: 0.25s;
1463
1475
 
1464
- /* Dragging — thumb and fill follow the pointer position */
1465
- .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
1466
- left: var(--media-slider-pointer);
1467
- }
1476
+ &[data-orientation="horizontal"] {
1477
+ width: var(--media-slider-buffer);
1478
+ transition-property: width;
1479
+ }
1480
+ &[data-orientation="vertical"] {
1481
+ height: var(--media-slider-buffer);
1482
+ transition-property: height;
1483
+ }
1484
+ }
1468
1485
 
1469
- .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
1470
- top: calc(100% - var(--media-slider-pointer));
1471
- }
1486
+ /* Fill */
1487
+ & .media-slider__fill {
1488
+ background-color: currentColor;
1472
1489
 
1473
- .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
1474
- width: var(--media-slider-pointer);
1475
- }
1490
+ &[data-orientation="horizontal"] {
1491
+ width: var(--media-slider-fill);
1492
+ }
1493
+ &[data-orientation="vertical"] {
1494
+ height: var(--media-slider-fill);
1495
+ }
1496
+ }
1476
1497
 
1477
- .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
1478
- height: var(--media-slider-pointer);
1498
+ /* Dragging thumb and fill follow the pointer position */
1499
+ &[data-dragging] {
1500
+ & .media-slider__thumb[data-orientation="horizontal"] {
1501
+ left: var(--media-slider-pointer);
1502
+ }
1503
+ & .media-slider__thumb[data-orientation="vertical"] {
1504
+ top: calc(100% - var(--media-slider-pointer));
1505
+ }
1506
+ & .media-slider__fill[data-orientation="horizontal"] {
1507
+ width: var(--media-slider-pointer);
1508
+ }
1509
+ & .media-slider__fill[data-orientation="vertical"] {
1510
+ height: var(--media-slider-pointer);
1511
+ }
1512
+ }
1479
1513
  }
1480
1514
 
1481
1515
  /* ==========================================================================
@@ -1492,7 +1526,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1492
1526
 
1493
1527
  .media-default-skin .media-popover,
1494
1528
  .media-default-skin .media-tooltip {
1495
- --popup-translate-distance: 0.5rem;
1529
+ --popup-translate-distance: calc(0.5 * var(--base-size));
1496
1530
  margin: 0;
1497
1531
  overflow: visible;
1498
1532
  color: inherit;
@@ -1574,8 +1608,8 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1574
1608
  }
1575
1609
  }
1576
1610
  .media-default-skin .media-popover--volume {
1577
- padding: 0.75rem 0;
1578
- border-radius: calc(infinity * 1px);
1611
+ padding: calc(var(--spacing) * 3) 0;
1612
+ border-radius: calc(Infinity * 1px);
1579
1613
 
1580
1614
  &:has(media-volume-slider[data-availability="unsupported"]) {
1581
1615
  display: none;
@@ -1583,15 +1617,15 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1583
1617
  }
1584
1618
 
1585
1619
  .media-default-skin .media-tooltip {
1586
- padding: 0.25rem 0.625rem;
1587
- font-size: 0.75rem;
1620
+ padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);
1621
+ font-size: var(--font-size-base);
1588
1622
  white-space: nowrap;
1589
- border-radius: calc(infinity * 1px);
1623
+ border-radius: calc(Infinity * 1px);
1590
1624
 
1591
1625
  /* `display: flex` must not apply while closed — it overrides UA `[popover]` hiding. */
1592
1626
  &[data-open] {
1593
1627
  display: flex;
1594
- column-gap: 0.25rem;
1628
+ column-gap: calc(var(--spacing) * 1);
1595
1629
  align-items: center;
1596
1630
  }
1597
1631
 
@@ -1608,12 +1642,12 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1608
1642
  min-width: 1.5em;
1609
1643
  padding: 0.1em;
1610
1644
  font-family: inherit;
1611
- font-size: 90%;
1645
+ font-size: var(--font-size-small);
1612
1646
  font-weight: 600;
1613
1647
  line-height: 1.25;
1614
1648
  text-align: center;
1615
1649
  background-color: oklch(from currentColor l c h / 0.3);
1616
- border-radius: 0.25rem;
1650
+ border-radius: calc(var(--spacing) * 1);
1617
1651
  }
1618
1652
  }
1619
1653
 
@@ -1624,11 +1658,12 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1624
1658
 
1625
1659
  .media-default-skin .media-menu {
1626
1660
  --menu-transition-duration: 250ms;
1627
- --menu-max-height: 14rem;
1628
- --menu-padding: 0.25rem;
1629
- --menu-border-radius: 0.75rem;
1661
+ --menu-max-height: calc(var(--spacing) * 56);
1662
+ --menu-padding: calc(var(--spacing) * 1);
1663
+ --menu-border-radius: calc(var(--spacing) * 3);
1630
1664
  --menu-item-border-radius: calc(var(--menu-border-radius) - var(--menu-padding));
1631
1665
  box-sizing: border-box;
1666
+ min-width: max-content;
1632
1667
  max-width: var(--media-popover-available-width, none);
1633
1668
  max-height: min(var(--media-popover-available-height, var(--menu-max-height)), var(--menu-max-height));
1634
1669
  padding: var(--menu-padding);
@@ -1697,15 +1732,16 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1697
1732
  }
1698
1733
 
1699
1734
  & .media-menu__separator {
1700
- margin-block: 0.25rem;
1735
+ margin-block: calc(var(--spacing) * 1);
1701
1736
  border-bottom: 1px solid oklch(0 0 0 / 0.1);
1702
1737
  box-shadow: 0 1px 0 0 oklch(1 0 0 / 0.075);
1703
1738
  }
1704
1739
 
1705
1740
  & .media-menu__group {
1741
+ anchor-scope: --media-menu-item-highlight-anchor;
1706
1742
  display: flex;
1707
1743
  flex-direction: column;
1708
- gap: 0.125rem;
1744
+ gap: calc(var(--spacing) * 0.5);
1709
1745
 
1710
1746
  @supports (top: anchor(top)) {
1711
1747
  &::before {
@@ -1724,9 +1760,9 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1724
1760
  & .media-menu__item,
1725
1761
  & .media-menu__back {
1726
1762
  display: flex;
1727
- gap: 0.375rem;
1763
+ gap: calc(var(--spacing) * 1.5);
1728
1764
  align-items: center;
1729
- padding: 0.375rem 0.5rem;
1765
+ padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);
1730
1766
  text-align: left;
1731
1767
  text-shadow: 0 1px 0 var(--media-current-shadow-color);
1732
1768
  cursor: pointer;
@@ -1746,11 +1782,6 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1746
1782
  &:hover,
1747
1783
  &[data-highlighted] {
1748
1784
  background-color: oklch(from currentColor l c h / 0.1);
1749
-
1750
- @supports (top: anchor(top)) {
1751
- anchor-name: --media-menu-item-highlight-anchor;
1752
- background-color: transparent;
1753
- }
1754
1785
  }
1755
1786
 
1756
1787
  & .media-icon {
@@ -1762,7 +1793,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1762
1793
 
1763
1794
  & .media-menu__indicator {
1764
1795
  flex-shrink: 0;
1765
- margin-right: -0.25rem;
1796
+ margin-right: calc(var(--spacing) * -1);
1766
1797
  margin-left: auto;
1767
1798
  opacity: 0;
1768
1799
 
@@ -1790,12 +1821,20 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1790
1821
  &[data-availability="unsupported"] {
1791
1822
  display: none;
1792
1823
  }
1824
+
1825
+ &:hover,
1826
+ &[data-highlighted] {
1827
+ @supports (top: anchor(top)) {
1828
+ anchor-name: --media-menu-item-highlight-anchor;
1829
+ background-color: transparent;
1830
+ }
1831
+ }
1793
1832
  }
1794
1833
 
1795
1834
  & .media-menu__tier {
1796
1835
  padding-top: 1px;
1797
- padding-left: 0.125rem;
1798
- font-size: 0.5625rem;
1836
+ padding-left: calc(var(--spacing) * 0.5);
1837
+ font-size: var(--font-size-tiny);
1799
1838
  font-weight: 600;
1800
1839
  line-height: 1;
1801
1840
  color: oklch(from currentColor l c h / 0.7);
@@ -1803,36 +1842,35 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1803
1842
 
1804
1843
  & .media-menu__back {
1805
1844
  width: 100%;
1806
- margin-bottom: 0.125rem;
1845
+ margin-bottom: calc(var(--spacing) * 0.5);
1807
1846
  }
1808
1847
 
1809
1848
  & .media-menu__hint {
1810
1849
  display: inline-flex;
1811
- gap: 0.25rem;
1850
+ gap: calc(var(--spacing) * 1);
1812
1851
  align-items: center;
1813
1852
  min-width: 0;
1814
- padding-left: 0.5rem;
1853
+ padding-left: calc(var(--spacing) * 2);
1815
1854
  margin-left: auto;
1816
- font-size: 0.75rem;
1817
1855
  color: oklch(from currentColor l c h / 0.65);
1818
1856
  }
1819
1857
 
1820
1858
  & .media-menu__hint-label {
1821
- max-width: 6rem;
1859
+ max-width: calc(var(--spacing) * 24);
1822
1860
  overflow: hidden;
1823
1861
  text-overflow: ellipsis;
1824
1862
  white-space: nowrap;
1825
1863
  }
1826
1864
 
1827
1865
  & .media-menu__chevron {
1828
- width: 0.875rem;
1829
- height: 0.875rem;
1866
+ width: calc(var(--spacing) * 3.5);
1867
+ height: calc(var(--spacing) * 3.5);
1830
1868
  }
1831
1869
 
1832
1870
  /* Settings menu */
1833
1871
  &.media-menu--settings {
1834
1872
  width: var(--media-menu-width);
1835
- min-width: 12rem;
1873
+ min-width: calc(var(--spacing) * 48);
1836
1874
  height: var(--media-menu-height);
1837
1875
  overflow: hidden;
1838
1876
  /* Add height and width transitions. */
@@ -1856,15 +1894,15 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1856
1894
  .media-default-skin {
1857
1895
  --media-caption-track-duration: var(--media-controls-transition-duration);
1858
1896
  --media-caption-track-delay: 25ms;
1859
- --media-caption-track-y: -0.5rem;
1897
+ --media-caption-track-y: calc(var(--spacing) * -2);
1860
1898
 
1861
1899
  &:has(.media-controls[data-visible]) {
1862
- --media-caption-track-y: -5.5rem;
1900
+ --media-caption-track-y: calc(var(--spacing) * -22);
1863
1901
  }
1864
1902
 
1865
1903
  @container media-root (width > 42rem) {
1866
1904
  &:has(.media-controls[data-visible]) > * {
1867
- --media-caption-track-y: -3.5rem;
1905
+ --media-caption-track-y: calc(var(--spacing) * -14);
1868
1906
  }
1869
1907
  }
1870
1908
  }
@@ -1884,19 +1922,13 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1884
1922
 
1885
1923
  .media-default-skin .media-input-feedback {
1886
1924
  position: absolute;
1887
- inset-inline: 0;
1888
- top: 0;
1889
- bottom: 3.5rem; /* Shift up a little in smaller containers */
1925
+ inset: 0;
1890
1926
  display: grid;
1891
1927
  grid-template-columns: 1fr 1fr 1fr;
1892
1928
  align-items: center;
1893
1929
  justify-items: center;
1894
1930
  color: var(--media-color-primary, oklch(1 0 0));
1895
1931
  pointer-events: none;
1896
-
1897
- @container media-root (width > 24rem) {
1898
- bottom: 0;
1899
- }
1900
1932
  }
1901
1933
 
1902
1934
  /* --- Feedback islands ------------------------------------------------------- */
@@ -1904,7 +1936,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1904
1936
  .media-default-skin .media-input-feedback-island {
1905
1937
  --media-surface-background-color: oklch(0 0 0 / 0.25);
1906
1938
  position: absolute;
1907
- top: 0.75rem;
1939
+ top: calc(var(--spacing) * 3);
1908
1940
  font-weight: 500;
1909
1941
  color: inherit;
1910
1942
  pointer-events: none;
@@ -1915,11 +1947,11 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1915
1947
 
1916
1948
  .media-input-feedback-island__content {
1917
1949
  display: flex;
1918
- gap: 0.5rem;
1950
+ gap: calc(var(--spacing) * 2);
1919
1951
  align-items: center;
1920
1952
  justify-content: space-between;
1921
1953
  width: 100%;
1922
- padding: 0.25rem 0.625rem;
1954
+ padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);
1923
1955
 
1924
1956
  /* Increase contrast of the content */
1925
1957
  * {
@@ -1971,7 +2003,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
1971
2003
  }
1972
2004
 
1973
2005
  .media-default-skin .media-input-feedback-island--volume {
1974
- width: min(80%, 12rem);
2006
+ width: min(80%, calc(var(--spacing) * 48));
1975
2007
 
1976
2008
  .media-input-feedback-island__content {
1977
2009
  --media-progress-fill: var(--media-volume-fill);
@@ -2018,7 +2050,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2018
2050
  grid-row: 1;
2019
2051
  grid-column: 2;
2020
2052
  place-content: center;
2021
- padding: 1rem;
2053
+ padding: calc(var(--spacing) * 4);
2022
2054
  text-align: center;
2023
2055
 
2024
2056
  /* Central bubble (play, pause) */
@@ -2049,10 +2081,10 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2049
2081
 
2050
2082
  /* Directional bubbles (seek) */
2051
2083
  &[data-direction] {
2052
- gap: 0.25rem;
2084
+ gap: calc(var(--spacing) * 1);
2053
2085
 
2054
2086
  @container media-root (width > 24rem) {
2055
- padding: 1.5rem;
2087
+ padding: calc(var(--spacing) * 6);
2056
2088
  }
2057
2089
  }
2058
2090
 
@@ -2088,7 +2120,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2088
2120
  }
2089
2121
 
2090
2122
  @media (prefers-reduced-motion: no-preference) {
2091
- .media-icon--seek {
2123
+ &[data-direction] .media-icon--seek {
2092
2124
  transition-timing-function: ease-in-out;
2093
2125
  transition-duration: 200ms;
2094
2126
  transition-property: translate, opacity;
@@ -2240,22 +2272,24 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2240
2272
  );
2241
2273
  --media-border-color: oklch(0 0 0 / 0.1);
2242
2274
  --media-surface-background-color: oklch(1 0 0 / 0.1);
2243
- --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
2275
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.1);
2244
2276
  --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
2245
2277
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
2246
2278
  --media-surface-backdrop-filter: blur(16px) saturate(1.5);
2247
- --media-video-border-radius: var(--media-border-radius, 2rem);
2279
+
2280
+ /* We have to create an alias so that the shadow DOM can inherit the custom property value */
2281
+ --media-video-border-radius: var(--media-border-radius, 1.75rem);
2282
+
2248
2283
  --media-controls-transition-duration: 100ms;
2249
2284
  --media-controls-transition-timing-function: ease-out;
2285
+
2250
2286
  --media-error-dialog-transition-duration: 350ms;
2251
2287
  --media-error-dialog-transition-delay: 100ms;
2252
2288
  --media-error-dialog-transition-timing-function: var(--media-spring-timing-function);
2289
+
2253
2290
  --media-popup-transition-duration: 100ms;
2254
2291
  --media-popup-transition-timing-function: ease-out;
2255
- --media-tooltip-side-offset: 0.75rem;
2256
- --media-tooltip-boundary-offset: 0.5rem;
2257
- --media-popover-side-offset: 0.5rem;
2258
- --media-popover-boundary-offset: 0.5rem;
2292
+
2259
2293
  overflow: clip;
2260
2294
  background: oklch(0 0 0);
2261
2295
 
@@ -2276,7 +2310,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2276
2310
  --media-surface-outer-border-color: transparent;
2277
2311
  }
2278
2312
 
2279
- &:has(.media-controls:not([data-visible])) {
2313
+ &:has(.media-controls--root:not([data-visible])) {
2280
2314
  /* Slight delay to hide controls on non-touch devices after interaction */
2281
2315
  @media (pointer: fine) {
2282
2316
  --media-controls-transition-duration: 300ms;
@@ -2302,6 +2336,20 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2302
2336
 
2303
2337
  &:fullscreen {
2304
2338
  --media-border-radius: 0;
2339
+
2340
+ &::after {
2341
+ display: none;
2342
+ }
2343
+
2344
+ @media (width >= 1280px) {
2345
+ --scale: 1.25;
2346
+ }
2347
+ @media (width >= 1536px) {
2348
+ --scale: 1.5;
2349
+ }
2350
+ @media (width >= 1920px) {
2351
+ --scale: 1.75;
2352
+ }
2305
2353
  }
2306
2354
  }
2307
2355
 
@@ -2321,12 +2369,13 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2321
2369
  .media-default-skin--video .media-error__dialog {
2322
2370
  display: flex;
2323
2371
  flex-direction: column;
2324
- gap: 0.75rem;
2325
- max-width: 18rem;
2326
- padding: 0.75rem;
2372
+ gap: calc(var(--spacing) * 3);
2373
+ width: 100%;
2374
+ max-width: calc(var(--spacing) * 72);
2375
+ padding: calc(var(--spacing) * 3);
2327
2376
  color: oklch(1 0 0);
2328
2377
  text-shadow: 0 1px 0 oklch(0 0 0 / 0.25);
2329
- border-radius: 1.75rem;
2378
+ border-radius: calc(var(--spacing) * 7);
2330
2379
  transition-delay: var(--media-error-dialog-transition-delay);
2331
2380
  transition-timing-function: var(--media-error-dialog-transition-timing-function);
2332
2381
  transition-duration: var(--media-error-dialog-transition-duration);
@@ -2345,86 +2394,155 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2345
2394
  .media-default-skin--video .media-error__content {
2346
2395
  display: flex;
2347
2396
  flex-direction: column;
2348
- gap: 0.5rem;
2349
- padding: 0.5rem 0.5rem 0.375rem;
2397
+ gap: calc(var(--spacing) * 2);
2398
+ padding: calc(var(--spacing) * 2) calc(var(--spacing) * 2) calc(var(--spacing) * 1.5);
2350
2399
  text-shadow: inherit;
2351
2400
  }
2352
2401
 
2353
2402
  .media-default-skin--video .media-error__title {
2354
- font-size: 1rem;
2403
+ font-size: var(--font-size-medium);
2355
2404
  }
2356
2405
 
2357
2406
  /* ==========================================================================
2358
2407
  Controls (hide/show behavior)
2359
2408
  ========================================================================== */
2360
2409
 
2361
- .media-default-skin--video .media-controls {
2362
- position: absolute;
2363
- inset-inline: 0.5rem;
2364
- bottom: 0.5rem;
2410
+ .media-default-skin--video .media-controls--root {
2411
+ --inset-factor: 2;
2412
+ --inset: calc(var(--spacing) * var(--inset-factor));
2413
+ --base-boundary-offset: var(--inset-factor);
2414
+
2365
2415
  z-index: 10;
2366
- flex-wrap: wrap;
2416
+ display: contents;
2367
2417
  color: var(--media-color-primary, oklch(1 0 0));
2368
- transform-origin: bottom;
2369
2418
  transition-timing-function: var(--media-controls-transition-timing-function);
2370
- transition-duration: var(--media-controls-transition-duration);
2419
+ /* Speed up the entry transition */
2420
+ transition-duration: calc(var(--media-controls-transition-duration) / 2);
2371
2421
 
2372
- @media (pointer: fine) {
2373
- transition-property: scale, filter, opacity;
2374
- will-change: scale, filter, opacity;
2422
+ & .media-controls--primary,
2423
+ & .media-controls--secondary {
2424
+ position: absolute;
2425
+ z-index: 10;
2375
2426
  }
2376
2427
 
2377
- @media (pointer: coarse) {
2378
- transition-property: scale, opacity;
2379
- will-change: scale, opacity;
2428
+ & .media-controls--primary {
2429
+ inset-inline: var(--inset);
2430
+ bottom: var(--inset);
2431
+ transform-origin: bottom;
2380
2432
  }
2381
2433
 
2382
- &:not([data-visible]) {
2383
- pointer-events: none;
2384
- opacity: 0;
2385
- scale: 0.95;
2434
+ & .media-controls--secondary {
2435
+ top: var(--inset);
2436
+ right: var(--inset);
2437
+ container-type: normal;
2438
+ transform-origin: top;
2439
+ }
2386
2440
 
2387
- @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
2388
- filter: blur(8px);
2441
+ @container media-root (width < 32rem) {
2442
+ & .media-controls--primary,
2443
+ & .media-controls--secondary {
2444
+ transition-timing-function: inherit;
2445
+ transition-duration: inherit;
2446
+
2447
+ @media (pointer: fine) {
2448
+ transition-property: filter, opacity, scale, translate;
2449
+ will-change: filter, opacity, scale, translate;
2450
+ }
2451
+
2452
+ @media (pointer: coarse) {
2453
+ transition-property: opacity, scale, translate;
2454
+ will-change: opacity, scale, translate;
2455
+ }
2389
2456
  }
2390
2457
 
2391
- @media (prefers-reduced-motion: reduce) {
2392
- scale: 1;
2458
+ &:after {
2459
+ display: none;
2393
2460
  }
2394
- }
2395
2461
 
2396
- & .media-time-controls {
2397
- flex: 0 0 100%;
2398
- order: -1;
2399
- padding-inline: 0.625rem;
2462
+ &:not([data-visible]) {
2463
+ & .media-controls--primary,
2464
+ & .media-controls--secondary {
2465
+ pointer-events: none;
2466
+ opacity: 0;
2467
+ scale: 0.95;
2468
+ transition-duration: var(--media-controls-transition-duration);
2469
+
2470
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
2471
+ filter: blur(8px);
2472
+ }
2473
+
2474
+ @media (prefers-reduced-motion: reduce) {
2475
+ scale: 1;
2476
+ }
2477
+ }
2478
+
2479
+ & .media-controls--primary {
2480
+ @media (prefers-reduced-motion: no-preference) {
2481
+ translate: 0 4px;
2482
+ }
2483
+ }
2484
+
2485
+ & .media-controls--secondary {
2486
+ @media (prefers-reduced-motion: no-preference) {
2487
+ translate: 0 -4px;
2488
+ }
2489
+ }
2490
+ }
2400
2491
  }
2401
2492
 
2402
- & .media-button-group:first-child {
2403
- flex: 1;
2404
- text-align: left;
2493
+ @container media-root (width >= 32rem) {
2494
+ position: absolute;
2495
+ inset-inline: var(--inset);
2496
+ bottom: var(--inset);
2497
+ display: flex;
2498
+ transform-origin: bottom;
2499
+
2500
+ & .media-controls--primary,
2501
+ & .media-controls--secondary {
2502
+ display: contents;
2503
+
2504
+ &::after {
2505
+ display: none;
2506
+ }
2507
+ }
2508
+
2509
+ &:not([data-visible]) {
2510
+ pointer-events: none;
2511
+ opacity: 0;
2512
+ scale: 0.95;
2513
+ transition-duration: var(--media-controls-transition-duration);
2514
+
2515
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
2516
+ filter: blur(8px);
2517
+ }
2518
+
2519
+ @media (prefers-reduced-motion: reduce) {
2520
+ scale: 1;
2521
+ }
2522
+
2523
+ @media (prefers-reduced-motion: no-preference) {
2524
+ translate: 0 4px;
2525
+ }
2526
+ }
2405
2527
  }
2406
2528
 
2407
- & .media-button-group:last-child {
2529
+ & .media-time-controls {
2408
2530
  flex: 1;
2409
- justify-content: end;
2531
+ padding-inline: calc(var(--spacing) * 3);
2410
2532
  }
2411
2533
 
2412
- @container media-root (width > 42rem) {
2413
- inset-inline: 0.75rem;
2414
- bottom: 0.75rem;
2415
- flex-wrap: nowrap;
2416
- column-gap: 0.125rem;
2417
- padding: 0.25rem;
2534
+ @media (pointer: fine) {
2535
+ transition-property: filter, opacity, scale, translate;
2536
+ will-change: filter, opacity, scale, translate;
2537
+ }
2418
2538
 
2419
- & .media-time-controls {
2420
- flex: 1;
2421
- order: unset;
2422
- }
2539
+ @media (pointer: coarse) {
2540
+ transition-property: opacity, scale, translate;
2541
+ will-change: opacity, scale, translate;
2542
+ }
2423
2543
 
2424
- & .media-button-group:first-child,
2425
- & .media-button-group:last-child {
2426
- flex: 0 0 auto;
2427
- }
2544
+ @container media-root (width > 42rem) {
2545
+ --inset-factor: 3;
2428
2546
  }
2429
2547
  }
2430
2548
 
@@ -2433,7 +2551,7 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2433
2551
  }
2434
2552
 
2435
2553
  /* Hide cursor when controls are hidden */
2436
- .media-default-skin--video:has(.media-controls:not([data-visible])) {
2554
+ .media-default-skin--video:has(.media-controls--root:not([data-visible])) {
2437
2555
  cursor: none;
2438
2556
  }
2439
2557
 
@@ -2447,32 +2565,21 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2447
2565
  }
2448
2566
 
2449
2567
  .media-default-skin--video .media-slider__thumbnail {
2450
- --media-slider-thumbnail-max-width: 11rem;
2451
- --media-slider-thumbnail-max-height: 8rem;
2452
- --media-slider-thumbnail-padding: -1.125rem;
2568
+ --max-width: calc(var(--spacing) * 44);
2569
+ --max-height: calc(var(--spacing) * 32);
2570
+ --padding: calc(var(--spacing) * -4.5);
2453
2571
  /**
2454
2572
  Inset is the difference between the container width and the slider (100%) width.
2455
2573
  Divided by 2 as we render the time on both sides.
2456
2574
  */
2457
- --media-slider-thumbnail-inset: calc((100cqi - 100%) / 2);
2575
+ --inset: calc((100cqi - 100%) / 2);
2458
2576
 
2459
2577
  position: absolute;
2460
- bottom: calc(100% + 1.2rem);
2578
+ bottom: calc(100% + calc(var(--spacing) * 4.8));
2461
2579
  left: clamp(
2462
- calc(
2463
- var(--media-slider-thumbnail-max-width) /
2464
- 2 +
2465
- var(--media-slider-thumbnail-padding) -
2466
- var(--media-slider-thumbnail-inset)
2467
- ),
2580
+ calc(var(--max-width) / 2 + var(--padding) - var(--inset)),
2468
2581
  var(--media-slider-pointer),
2469
- calc(
2470
- 100% -
2471
- var(--media-slider-thumbnail-max-width) /
2472
- 2 -
2473
- var(--media-slider-thumbnail-padding) +
2474
- var(--media-slider-thumbnail-inset)
2475
- )
2582
+ calc(100% - var(--max-width) / 2 - var(--padding) + var(--inset))
2476
2583
  );
2477
2584
  pointer-events: none;
2478
2585
  opacity: 0;
@@ -2485,8 +2592,8 @@ function isRenderProp(value: unknown): value is RenderProp<unknown> {
2485
2592
  transition-property: scale, opacity, filter;
2486
2593
 
2487
2594
  & .media-thumbnail__image {
2488
- max-width: var(--media-slider-thumbnail-max-width);
2489
- max-height: var(--media-slider-thumbnail-max-height);
2595
+ max-width: var(--max-width);
2596
+ max-height: var(--max-height);
2490
2597
  }
2491
2598
  }
2492
2599
  .media-default-skin--video .media-slider[data-pointing] .media-slider__thumbnail:has([role="img"]:not([data-hidden])) {