@videojs/html 10.0.0-beta.22 → 10.0.0-beta.24

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 (1296) hide show
  1. package/README.md +6 -0
  2. package/cdn/{abort-C9UiBdVU.js → abort-0nUH9HXc.js} +1 -1
  3. package/cdn/{abort-C9UiBdVU.js.map → abort-0nUH9HXc.js.map} +1 -1
  4. package/cdn/{abort-DsTff8mS.js → abort-DQxwCs92.js} +1 -1
  5. package/cdn/{abort-DsTff8mS.js.map → abort-DQxwCs92.js.map} +1 -1
  6. package/cdn/audio-minimal-ui.dev.js +2 -4
  7. package/cdn/audio-minimal-ui.js +1 -1
  8. package/cdn/audio-minimal.dev.js +22 -20
  9. package/cdn/audio-minimal.dev.js.map +1 -1
  10. package/cdn/audio-minimal.js +1 -1
  11. package/cdn/audio-minimal.js.map +1 -1
  12. package/cdn/audio-ui.dev.js +2 -4
  13. package/cdn/audio-ui.js +1 -1
  14. package/cdn/audio.dev.js +22 -19
  15. package/cdn/audio.dev.js.map +1 -1
  16. package/cdn/audio.js +1 -1
  17. package/cdn/audio.js.map +1 -1
  18. package/cdn/background.dev.js +4 -4
  19. package/cdn/background.dev.js.map +1 -1
  20. package/cdn/background.js +1 -1
  21. package/cdn/background.js.map +1 -1
  22. package/cdn/base-CaXY3kMA.js +66 -0
  23. package/cdn/base-CaXY3kMA.js.map +1 -0
  24. package/cdn/base-JIGv_MlJ.js +2 -0
  25. package/cdn/base-JIGv_MlJ.js.map +1 -0
  26. package/cdn/compounds-CJ9NGNJr.js +8 -0
  27. package/cdn/compounds-CJ9NGNJr.js.map +1 -0
  28. package/cdn/{compounds-DD3MYkSc.js → compounds-DxdDY3jr.js} +2872 -537
  29. package/cdn/compounds-DxdDY3jr.js.map +1 -0
  30. package/cdn/create-player-B2W5yr5I.js +7 -0
  31. package/cdn/create-player-B2W5yr5I.js.map +1 -0
  32. package/cdn/{create-player-BKLw7l1a.js → create-player-_WED6HtK.js} +288 -183
  33. package/cdn/create-player-_WED6HtK.js.map +1 -0
  34. package/cdn/default-BtA2xVd7.js +33 -0
  35. package/cdn/default-BtA2xVd7.js.map +1 -0
  36. package/cdn/default-Ci15Ic2n.js +2 -0
  37. package/cdn/default-Ci15Ic2n.js.map +1 -0
  38. package/cdn/default-Ciudg7Lh.js +32 -0
  39. package/cdn/default-Ciudg7Lh.js.map +1 -0
  40. package/cdn/default-CmbctS5n.js +2 -0
  41. package/cdn/default-CmbctS5n.js.map +1 -0
  42. package/cdn/hls-CoCXCB8b.js +41 -0
  43. package/cdn/hls-CoCXCB8b.js.map +1 -0
  44. package/cdn/{hls-CcSAx_3I.js → hls-DjqAxSvY.js} +236 -21
  45. package/cdn/hls-DjqAxSvY.js.map +1 -0
  46. package/cdn/{hotkey-element-BONs_FyJ.js → hotkey-element-89VAnCrc.js} +47 -52
  47. package/cdn/hotkey-element-89VAnCrc.js.map +1 -0
  48. package/cdn/hotkey-element-CmUxzW-C.js +2 -0
  49. package/cdn/hotkey-element-CmUxzW-C.js.map +1 -0
  50. package/cdn/live-button-element-BMneBAzX.js +208 -0
  51. package/cdn/live-button-element-BMneBAzX.js.map +1 -0
  52. package/cdn/live-button-element-CPEl1qK3.js +2 -0
  53. package/cdn/live-button-element-CPEl1qK3.js.map +1 -0
  54. package/cdn/live-video-minimal.dev.d.ts +1 -0
  55. package/cdn/live-video-minimal.dev.js +193 -0
  56. package/cdn/live-video-minimal.dev.js.map +1 -0
  57. package/cdn/live-video-minimal.js +2 -0
  58. package/cdn/live-video-minimal.js.map +1 -0
  59. package/cdn/live-video.dev.d.ts +1 -0
  60. package/cdn/live-video.dev.js +194 -0
  61. package/cdn/live-video.dev.js.map +1 -0
  62. package/cdn/live-video.js +2 -0
  63. package/cdn/live-video.js.map +1 -0
  64. package/cdn/media/dash-video.dev.js +8 -7
  65. package/cdn/media/dash-video.dev.js.map +1 -1
  66. package/cdn/media/dash-video.js +6 -6
  67. package/cdn/media/dash-video.js.map +1 -1
  68. package/cdn/media/hls-video.dev.js +4 -4
  69. package/cdn/media/hls-video.js +1 -1
  70. package/cdn/media/hls-video.js.map +1 -1
  71. package/cdn/media/mux-audio.dev.js +8 -6
  72. package/cdn/media/mux-audio.dev.js.map +1 -1
  73. package/cdn/media/mux-audio.js +1 -1
  74. package/cdn/media/mux-audio.js.map +1 -1
  75. package/cdn/media/mux-video.dev.js +8 -6
  76. package/cdn/media/mux-video.dev.js.map +1 -1
  77. package/cdn/media/mux-video.js +1 -1
  78. package/cdn/media/mux-video.js.map +1 -1
  79. package/cdn/media/native-hls-video.dev.js +4 -4
  80. package/cdn/media/native-hls-video.js +1 -1
  81. package/cdn/media/native-hls-video.js.map +1 -1
  82. package/cdn/media/simple-hls-video.dev.js +3604 -2632
  83. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  84. package/cdn/media/simple-hls-video.js +7 -7
  85. package/cdn/media/simple-hls-video.js.map +1 -1
  86. package/cdn/media-attach-mixin-0gzahJxP.js +2 -0
  87. package/cdn/{media-attach-mixin-C2wz0Qbd.js.map → media-attach-mixin-0gzahJxP.js.map} +1 -1
  88. package/cdn/{media-attach-mixin-CYoNe7Sh.js → media-attach-mixin-C1KQy-y8.js} +2 -2
  89. package/cdn/{media-attach-mixin-CYoNe7Sh.js.map → media-attach-mixin-C1KQy-y8.js.map} +1 -1
  90. package/cdn/minimal-BGKTRgLy.js +2 -0
  91. package/cdn/minimal-BGKTRgLy.js.map +1 -0
  92. package/cdn/minimal-BY8ZmNCh.js +33 -0
  93. package/cdn/minimal-BY8ZmNCh.js.map +1 -0
  94. package/cdn/minimal-D-o7FGL2.js +2 -0
  95. package/cdn/minimal-D-o7FGL2.js.map +1 -0
  96. package/cdn/minimal-b3s_qClU.js +32 -0
  97. package/cdn/minimal-b3s_qClU.js.map +1 -0
  98. package/cdn/minimal-ui-B0PWg1gR.js +2 -0
  99. package/cdn/minimal-ui-B0PWg1gR.js.map +1 -0
  100. package/cdn/minimal-ui-B6AtFmJO.js +2 -0
  101. package/cdn/minimal-ui-B6AtFmJO.js.map +1 -0
  102. package/cdn/minimal-ui-BjQUqQ_m.js +26 -0
  103. package/cdn/minimal-ui-BjQUqQ_m.js.map +1 -0
  104. package/cdn/minimal-ui-C2NRTvWx.js +38 -0
  105. package/cdn/minimal-ui-C2NRTvWx.js.map +1 -0
  106. package/cdn/{mux-BgWl50KW.js → mux-CJn4lTbv.js} +10 -10
  107. package/cdn/mux-CJn4lTbv.js.map +1 -0
  108. package/cdn/{mux-BhHIeG3e.js → mux-wKbnuUQu.js} +55 -20
  109. package/cdn/mux-wKbnuUQu.js.map +1 -0
  110. package/cdn/native-hls-1-isweaY.js +2 -0
  111. package/cdn/native-hls-1-isweaY.js.map +1 -0
  112. package/cdn/native-hls-D4f2-E9D.js +371 -0
  113. package/cdn/native-hls-D4f2-E9D.js.map +1 -0
  114. package/cdn/playback-rate-button-element-Ck7CCs0t.js +2 -0
  115. package/cdn/playback-rate-button-element-Ck7CCs0t.js.map +1 -0
  116. package/cdn/playback-rate-button-element-DN78puhg.js +79 -0
  117. package/cdn/playback-rate-button-element-DN78puhg.js.map +1 -0
  118. package/cdn/player-9_6BPhTP.js +16 -0
  119. package/cdn/player-9_6BPhTP.js.map +1 -0
  120. package/cdn/player-C6DIXZpP.js +16 -0
  121. package/cdn/player-C6DIXZpP.js.map +1 -0
  122. package/cdn/{player-BVGWmIbQ.js → player-ClV0UtoS.js} +3 -3
  123. package/cdn/{player-BVGWmIbQ.js.map → player-ClV0UtoS.js.map} +1 -1
  124. package/cdn/player-D7lHFQo6.js +2 -0
  125. package/cdn/player-D7lHFQo6.js.map +1 -0
  126. package/cdn/player-DzqwkiTI.js +2 -0
  127. package/cdn/{player-ChdQN3H5.js.map → player-DzqwkiTI.js.map} +1 -1
  128. package/cdn/player-_4EjFnET.js +2 -0
  129. package/cdn/player-_4EjFnET.js.map +1 -0
  130. package/cdn/poster-element-DmfmTRCV.js +2 -0
  131. package/cdn/poster-element-DmfmTRCV.js.map +1 -0
  132. package/cdn/{player-DX5Ka0vt.js → poster-element-IdY3MYJj.js} +18 -25
  133. package/cdn/poster-element-IdY3MYJj.js.map +1 -0
  134. package/cdn/{context-0rI_P6jf.js → predicate-Dqd8wbW6.js} +26 -2
  135. package/cdn/predicate-Dqd8wbW6.js.map +1 -0
  136. package/cdn/{context-CEFisYD0.js → predicate-Dxl3IuYh.js} +2 -2
  137. package/cdn/predicate-Dxl3IuYh.js.map +1 -0
  138. package/cdn/seek-button-element-BkC8xrVR.js +394 -0
  139. package/cdn/seek-button-element-BkC8xrVR.js.map +1 -0
  140. package/cdn/seek-button-element-C0uAXebE.js +2 -0
  141. package/cdn/seek-button-element-C0uAXebE.js.map +1 -0
  142. package/cdn/{shallow-equal-xh6Wj-hj.js → shallow-equal-D-fthE54.js} +1 -1
  143. package/cdn/{shallow-equal-xh6Wj-hj.js.map → shallow-equal-D-fthE54.js.map} +1 -1
  144. package/cdn/{shallow-equal-Daj3-_LC.js → shallow-equal-DSpD9PMp.js} +1 -1
  145. package/cdn/{shallow-equal-Daj3-_LC.js.map → shallow-equal-DSpD9PMp.js.map} +1 -1
  146. package/cdn/skin-element-D0TDGWJH.js +2 -0
  147. package/cdn/skin-element-D0TDGWJH.js.map +1 -0
  148. package/cdn/skin-element-mgqcAutZ.js +55 -0
  149. package/cdn/skin-element-mgqcAutZ.js.map +1 -0
  150. package/cdn/types-B_4Es-UH.js +20 -0
  151. package/cdn/types-B_4Es-UH.js.map +1 -0
  152. package/cdn/types-DRezN4yy.js +2 -0
  153. package/cdn/types-DRezN4yy.js.map +1 -0
  154. package/cdn/ui-BH0azXYN.js +2 -0
  155. package/cdn/ui-BH0azXYN.js.map +1 -0
  156. package/cdn/ui-B_E6hb1k.js +33 -0
  157. package/cdn/ui-B_E6hb1k.js.map +1 -0
  158. package/cdn/ui-ByhUcpaY.js +2 -0
  159. package/cdn/ui-ByhUcpaY.js.map +1 -0
  160. package/cdn/ui-DG0AlJbU.js +42 -0
  161. package/cdn/ui-DG0AlJbU.js.map +1 -0
  162. package/cdn/{video-host-BtD61mpF.js → video-host-BU9t26fe.js} +29 -16
  163. package/cdn/{video-host-BtD61mpF.js.map → video-host-BU9t26fe.js.map} +1 -1
  164. package/cdn/{video-host-LeB1FKfO.js → video-host-CvYvXa8l.js} +10 -10
  165. package/cdn/{video-host-LeB1FKfO.js.map → video-host-CvYvXa8l.js.map} +1 -1
  166. package/cdn/video-minimal-ui.dev.js +2 -4
  167. package/cdn/video-minimal-ui.js +1 -1
  168. package/cdn/video-minimal.dev.js +83 -20
  169. package/cdn/video-minimal.dev.js.map +1 -1
  170. package/cdn/video-minimal.js +1 -1
  171. package/cdn/video-minimal.js.map +1 -1
  172. package/cdn/video-ui.dev.js +2 -4
  173. package/cdn/video-ui.js +1 -1
  174. package/cdn/video.dev.js +56 -17
  175. package/cdn/video.dev.js.map +1 -1
  176. package/cdn/video.js +1 -1
  177. package/cdn/video.js.map +1 -1
  178. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  179. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  180. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  181. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  182. package/dist/default/_virtual/inline-css_src/define/background/skin.js +1 -1
  183. package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -1
  184. package/dist/default/_virtual/inline-css_src/define/global.js +6 -0
  185. package/dist/default/_virtual/inline-css_src/define/global.js.map +1 -0
  186. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +6 -0
  187. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -0
  188. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +6 -0
  189. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -0
  190. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +6 -0
  191. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -0
  192. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +6 -0
  193. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -0
  194. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  195. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  196. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  197. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  198. package/dist/default/define/audio/minimal-skin.css +227 -108
  199. package/dist/default/define/audio/minimal-skin.js +1 -1
  200. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  201. package/dist/default/define/audio/minimal-skin.tailwind.js +3 -2
  202. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  203. package/dist/default/define/audio/minimal-ui.js +8 -3
  204. package/dist/default/define/audio/minimal-ui.js.map +1 -1
  205. package/dist/default/define/audio/skin.css +253 -108
  206. package/dist/default/define/audio/skin.js +1 -1
  207. package/dist/default/define/audio/skin.js.map +1 -1
  208. package/dist/default/define/audio/skin.tailwind.js +2 -1
  209. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  210. package/dist/default/define/audio/ui.js +10 -1
  211. package/dist/default/define/audio/ui.js.map +1 -1
  212. package/dist/default/define/background/skin.css +4 -2
  213. package/dist/default/define/background/skin.js +1 -1
  214. package/dist/{dev/define/base.css → default/define/global.css} +12 -8
  215. package/dist/default/define/live-audio/minimal-skin.css +897 -0
  216. package/dist/default/define/live-audio/minimal-skin.js +26 -0
  217. package/dist/default/define/live-audio/minimal-skin.js.map +1 -0
  218. package/dist/default/define/live-audio/minimal-skin.tailwind.js +29 -0
  219. package/dist/default/define/live-audio/minimal-skin.tailwind.js.map +1 -0
  220. package/dist/default/define/live-audio/minimal-ui.js +26 -0
  221. package/dist/default/define/live-audio/minimal-ui.js.map +1 -0
  222. package/dist/default/define/live-audio/player.js +18 -0
  223. package/dist/default/define/live-audio/player.js.map +1 -0
  224. package/dist/default/define/live-audio/skin.css +939 -0
  225. package/dist/default/define/live-audio/skin.js +26 -0
  226. package/dist/default/define/live-audio/skin.js.map +1 -0
  227. package/dist/default/define/live-audio/skin.tailwind.js +28 -0
  228. package/dist/default/define/live-audio/skin.tailwind.js.map +1 -0
  229. package/dist/default/define/live-audio/ui.js +30 -0
  230. package/dist/default/define/live-audio/ui.js.map +1 -0
  231. package/dist/default/define/live-video/minimal-skin.css +1593 -0
  232. package/dist/default/define/live-video/minimal-skin.js +26 -0
  233. package/dist/default/define/live-video/minimal-skin.js.map +1 -0
  234. package/dist/default/define/live-video/minimal-skin.tailwind.js +31 -0
  235. package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -0
  236. package/dist/default/define/live-video/minimal-ui.js +44 -0
  237. package/dist/default/define/live-video/minimal-ui.js.map +1 -0
  238. package/dist/default/define/live-video/player.js +18 -0
  239. package/dist/default/define/live-video/player.js.map +1 -0
  240. package/dist/default/define/live-video/skin.css +1595 -0
  241. package/dist/default/define/live-video/skin.js +26 -0
  242. package/dist/default/define/live-video/skin.js.map +1 -0
  243. package/dist/default/define/live-video/skin.tailwind.js +29 -0
  244. package/dist/default/define/live-video/skin.tailwind.js.map +1 -0
  245. package/dist/default/define/live-video/ui.js +44 -0
  246. package/dist/default/define/live-video/ui.js.map +1 -0
  247. package/dist/default/define/shared.css +4 -0
  248. package/dist/default/define/skin-element.js +3 -3
  249. package/dist/default/define/skin-element.js.map +1 -1
  250. package/dist/default/define/tailwind.css +66 -0
  251. package/dist/default/define/ui/compounds.js +43 -1
  252. package/dist/default/define/ui/compounds.js.map +1 -1
  253. package/dist/default/define/ui/menu.js +6 -0
  254. package/dist/default/define/ui/menu.js.map +1 -0
  255. package/dist/default/define/ui/playback-rate-menu.js +13 -0
  256. package/dist/default/define/ui/playback-rate-menu.js.map +1 -0
  257. package/dist/default/define/ui/seek-indicator-value.js +7 -0
  258. package/dist/default/define/ui/seek-indicator-value.js.map +1 -0
  259. package/dist/default/define/ui/seek-indicator.js +9 -0
  260. package/dist/default/define/ui/seek-indicator.js.map +1 -0
  261. package/dist/default/define/ui/status-announcer.js +7 -0
  262. package/dist/default/define/ui/status-announcer.js.map +1 -0
  263. package/dist/default/define/ui/status-indicator-value.js +7 -0
  264. package/dist/default/define/ui/status-indicator-value.js.map +1 -0
  265. package/dist/default/define/ui/status-indicator.js +9 -0
  266. package/dist/default/define/ui/status-indicator.js.map +1 -0
  267. package/dist/default/define/ui/volume-indicator-fill.js +7 -0
  268. package/dist/default/define/ui/volume-indicator-fill.js.map +1 -0
  269. package/dist/default/define/ui/volume-indicator-value.js +7 -0
  270. package/dist/default/define/ui/volume-indicator-value.js.map +1 -0
  271. package/dist/default/define/ui/volume-indicator.js +11 -0
  272. package/dist/default/define/ui/volume-indicator.js.map +1 -0
  273. package/dist/default/define/video/minimal-skin.css +571 -147
  274. package/dist/default/define/video/minimal-skin.js +1 -1
  275. package/dist/default/define/video/minimal-skin.js.map +1 -1
  276. package/dist/default/define/video/minimal-skin.tailwind.js +4 -2
  277. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  278. package/dist/default/define/video/minimal-ui.js +13 -3
  279. package/dist/default/define/video/minimal-ui.js.map +1 -1
  280. package/dist/default/define/video/skin.css +581 -145
  281. package/dist/default/define/video/skin.js +1 -1
  282. package/dist/default/define/video/skin.js.map +1 -1
  283. package/dist/default/define/video/skin.tailwind.js +3 -2
  284. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  285. package/dist/default/define/video/ui.js +11 -1
  286. package/dist/default/define/video/ui.js.map +1 -1
  287. package/dist/default/icons/default/index.js +19 -0
  288. package/dist/default/icons/dist/element/base.js +66 -0
  289. package/dist/default/icons/dist/element/base.js.map +1 -0
  290. package/dist/default/icons/dist/element/default/icons.js +25 -0
  291. package/dist/default/icons/dist/element/default/icons.js.map +1 -0
  292. package/dist/default/icons/dist/element/default/index.js +10 -0
  293. package/dist/default/icons/dist/element/default/index.js.map +1 -0
  294. package/dist/default/icons/dist/element/index.js +11 -0
  295. package/dist/default/icons/dist/element/index.js.map +1 -0
  296. package/dist/default/icons/dist/element/minimal/icons.js +25 -0
  297. package/dist/default/icons/dist/element/minimal/icons.js.map +1 -0
  298. package/dist/default/icons/dist/element/minimal/index.js +10 -0
  299. package/dist/default/icons/dist/element/minimal/index.js.map +1 -0
  300. package/dist/default/icons/dist/html/default/captions-off.js +6 -0
  301. package/dist/default/icons/dist/html/default/captions-off.js.map +1 -0
  302. package/dist/default/icons/dist/html/default/captions-on.js +6 -0
  303. package/dist/default/icons/dist/html/default/captions-on.js.map +1 -0
  304. package/dist/default/icons/dist/html/default/cast-enter.js +6 -0
  305. package/dist/default/icons/dist/html/default/cast-enter.js.map +1 -0
  306. package/dist/default/icons/dist/html/default/cast-exit.js +6 -0
  307. package/dist/default/icons/dist/html/default/cast-exit.js.map +1 -0
  308. package/dist/default/icons/dist/html/default/check.js +6 -0
  309. package/dist/default/icons/dist/html/default/check.js.map +1 -0
  310. package/dist/default/icons/dist/html/default/chevron.js +6 -0
  311. package/dist/default/icons/dist/html/default/chevron.js.map +1 -0
  312. package/dist/default/icons/dist/html/default/fullscreen-enter.js +6 -0
  313. package/dist/default/icons/dist/html/default/fullscreen-enter.js.map +1 -0
  314. package/dist/default/icons/dist/html/default/fullscreen-exit.js +6 -0
  315. package/dist/default/icons/dist/html/default/fullscreen-exit.js.map +1 -0
  316. package/dist/default/icons/dist/html/default/pause.js +6 -0
  317. package/dist/default/icons/dist/html/default/pause.js.map +1 -0
  318. package/dist/default/icons/dist/html/default/pip-enter.js +6 -0
  319. package/dist/default/icons/dist/html/default/pip-enter.js.map +1 -0
  320. package/dist/default/icons/dist/html/default/pip-exit.js +6 -0
  321. package/dist/default/icons/dist/html/default/pip-exit.js.map +1 -0
  322. package/dist/default/icons/dist/html/default/play.js +6 -0
  323. package/dist/default/icons/dist/html/default/play.js.map +1 -0
  324. package/dist/default/icons/dist/html/default/restart.js +6 -0
  325. package/dist/default/icons/dist/html/default/restart.js.map +1 -0
  326. package/dist/default/icons/dist/html/default/seek.js +6 -0
  327. package/dist/default/icons/dist/html/default/seek.js.map +1 -0
  328. package/dist/default/icons/dist/html/default/spinner.js +6 -0
  329. package/dist/default/icons/dist/html/default/spinner.js.map +1 -0
  330. package/dist/default/icons/dist/html/default/volume-high.js +6 -0
  331. package/dist/default/icons/dist/html/default/volume-high.js.map +1 -0
  332. package/dist/default/icons/dist/html/default/volume-low.js +6 -0
  333. package/dist/default/icons/dist/html/default/volume-low.js.map +1 -0
  334. package/dist/default/icons/dist/html/default/volume-off.js +6 -0
  335. package/dist/default/icons/dist/html/default/volume-off.js.map +1 -0
  336. package/dist/default/icons/dist/html/minimal/captions-off.js +6 -0
  337. package/dist/default/icons/dist/html/minimal/captions-off.js.map +1 -0
  338. package/dist/default/icons/dist/html/minimal/captions-on.js +6 -0
  339. package/dist/default/icons/dist/html/minimal/captions-on.js.map +1 -0
  340. package/dist/default/icons/dist/html/minimal/cast-enter.js +6 -0
  341. package/dist/default/icons/dist/html/minimal/cast-enter.js.map +1 -0
  342. package/dist/default/icons/dist/html/minimal/cast-exit.js +6 -0
  343. package/dist/default/icons/dist/html/minimal/cast-exit.js.map +1 -0
  344. package/dist/default/icons/dist/html/minimal/check.js +6 -0
  345. package/dist/default/icons/dist/html/minimal/check.js.map +1 -0
  346. package/dist/default/icons/dist/html/minimal/chevron.js +6 -0
  347. package/dist/default/icons/dist/html/minimal/chevron.js.map +1 -0
  348. package/dist/default/icons/dist/html/minimal/fullscreen-enter.js +6 -0
  349. package/dist/default/icons/dist/html/minimal/fullscreen-enter.js.map +1 -0
  350. package/dist/default/icons/dist/html/minimal/fullscreen-exit.js +6 -0
  351. package/dist/default/icons/dist/html/minimal/fullscreen-exit.js.map +1 -0
  352. package/dist/default/icons/dist/html/minimal/pause.js +6 -0
  353. package/dist/default/icons/dist/html/minimal/pause.js.map +1 -0
  354. package/dist/default/icons/dist/html/minimal/pip-enter.js +6 -0
  355. package/dist/default/icons/dist/html/minimal/pip-enter.js.map +1 -0
  356. package/dist/default/icons/dist/html/minimal/pip-exit.js +6 -0
  357. package/dist/default/icons/dist/html/minimal/pip-exit.js.map +1 -0
  358. package/dist/default/icons/dist/html/minimal/play.js +6 -0
  359. package/dist/default/icons/dist/html/minimal/play.js.map +1 -0
  360. package/dist/default/icons/dist/html/minimal/restart.js +6 -0
  361. package/dist/default/icons/dist/html/minimal/restart.js.map +1 -0
  362. package/dist/default/icons/dist/html/minimal/seek.js +6 -0
  363. package/dist/default/icons/dist/html/minimal/seek.js.map +1 -0
  364. package/dist/default/icons/dist/html/minimal/spinner.js +6 -0
  365. package/dist/default/icons/dist/html/minimal/spinner.js.map +1 -0
  366. package/dist/default/icons/dist/html/minimal/volume-high.js +6 -0
  367. package/dist/default/icons/dist/html/minimal/volume-high.js.map +1 -0
  368. package/dist/default/icons/dist/html/minimal/volume-low.js +6 -0
  369. package/dist/default/icons/dist/html/minimal/volume-low.js.map +1 -0
  370. package/dist/default/icons/dist/html/minimal/volume-off.js +6 -0
  371. package/dist/default/icons/dist/html/minimal/volume-off.js.map +1 -0
  372. package/dist/default/icons/dist/render/default/index.js +17 -15
  373. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  374. package/dist/default/icons/dist/render/minimal/index.js +17 -15
  375. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  376. package/dist/default/icons/element/default/index.js +1 -0
  377. package/dist/default/icons/element/index.js +1 -0
  378. package/dist/default/icons/element/minimal/index.js +1 -0
  379. package/dist/default/icons/index.js +19 -0
  380. package/dist/default/icons/minimal/index.js +19 -0
  381. package/dist/default/index.js +26 -1
  382. package/dist/default/media/mux-audio/index.js +4 -1
  383. package/dist/default/media/mux-audio/index.js.map +1 -1
  384. package/dist/default/media/mux-video/index.js +4 -1
  385. package/dist/default/media/mux-video/index.js.map +1 -1
  386. package/dist/default/player/context.js.map +1 -1
  387. package/dist/default/presets/live-audio.js +7 -0
  388. package/dist/default/presets/live-video.js +7 -0
  389. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -2
  390. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  391. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  392. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  393. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -2
  394. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  395. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
  396. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  397. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -1
  398. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  399. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  400. package/dist/default/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  401. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +12 -0
  402. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  403. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  404. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  405. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +1 -1
  406. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  407. package/dist/default/skins/dist/default/default/tailwind/components/reset.js +7 -0
  408. package/dist/default/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  409. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -1
  410. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  411. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +1 -1
  412. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  413. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +13 -4
  414. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  415. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +4 -2
  416. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  417. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  418. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  419. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +3 -2
  420. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  421. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
  422. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  423. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -1
  424. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  425. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  426. package/dist/default/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  427. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  428. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  429. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +1 -1
  430. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -1
  431. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +1 -1
  432. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  433. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  434. package/dist/default/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  435. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -1
  436. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  437. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +1 -1
  438. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  439. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  440. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  441. package/dist/default/store/provider-mixin.js +8 -3
  442. package/dist/default/store/provider-mixin.js.map +1 -1
  443. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +7 -5
  444. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  445. package/dist/default/ui/alert-dialog/alert-dialog-element.js +12 -6
  446. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  447. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +6 -3
  448. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  449. package/dist/default/ui/cast-button/cast-button-element.js +2 -2
  450. package/dist/default/ui/cast-button/cast-button-element.js.map +1 -1
  451. package/dist/default/ui/controls/controls-element.js +13 -1
  452. package/dist/default/ui/controls/controls-element.js.map +1 -1
  453. package/dist/default/ui/error-dialog/error-dialog-element.js +4 -1
  454. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
  455. package/dist/default/ui/gesture/gesture-element.js +12 -8
  456. package/dist/default/ui/gesture/gesture-element.js.map +1 -1
  457. package/dist/default/ui/hotkey/hotkey-element.js +11 -7
  458. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
  459. package/dist/default/ui/input-indicators/input-indicator-element.js +110 -0
  460. package/dist/default/ui/input-indicators/input-indicator-element.js.map +1 -0
  461. package/dist/default/ui/input-indicators/live-indicator.js +32 -0
  462. package/dist/default/ui/input-indicators/live-indicator.js.map +1 -0
  463. package/dist/default/ui/live-button/live-button-element.js +97 -0
  464. package/dist/default/ui/live-button/live-button-element.js.map +1 -0
  465. package/dist/default/ui/media-button-element.js +4 -2
  466. package/dist/default/ui/media-button-element.js.map +1 -1
  467. package/dist/default/ui/menu/context.js +10 -0
  468. package/dist/default/ui/menu/context.js.map +1 -0
  469. package/dist/default/ui/menu/menu-back-element.js +57 -0
  470. package/dist/default/ui/menu/menu-back-element.js.map +1 -0
  471. package/dist/default/ui/menu/menu-checkbox-item-element.js +78 -0
  472. package/dist/default/ui/menu/menu-checkbox-item-element.js.map +1 -0
  473. package/dist/default/ui/menu/menu-element.js +285 -0
  474. package/dist/default/ui/menu/menu-element.js.map +1 -0
  475. package/dist/default/ui/menu/menu-group-element.js +35 -0
  476. package/dist/default/ui/menu/menu-group-element.js.map +1 -0
  477. package/dist/default/ui/menu/menu-item-element.js +96 -0
  478. package/dist/default/ui/menu/menu-item-element.js.map +1 -0
  479. package/dist/default/ui/menu/menu-item-indicator-element.js +34 -0
  480. package/dist/default/ui/menu/menu-item-indicator-element.js.map +1 -0
  481. package/dist/default/ui/menu/menu-label-element.js +20 -0
  482. package/dist/default/ui/menu/menu-label-element.js.map +1 -0
  483. package/dist/default/ui/menu/menu-radio-group-element.js +51 -0
  484. package/dist/default/ui/menu/menu-radio-group-element.js.map +1 -0
  485. package/dist/default/ui/menu/menu-radio-item-element.js +84 -0
  486. package/dist/default/ui/menu/menu-radio-item-element.js.map +1 -0
  487. package/dist/default/ui/menu/menu-separator-element.js +24 -0
  488. package/dist/default/ui/menu/menu-separator-element.js.map +1 -0
  489. package/dist/default/ui/menu/menu-view-element.js +16 -0
  490. package/dist/default/ui/menu/menu-view-element.js.map +1 -0
  491. package/dist/default/ui/playback-rate-menu/playback-rate-menu-element.js +47 -0
  492. package/dist/default/ui/playback-rate-menu/playback-rate-menu-element.js.map +1 -0
  493. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger-element.js +85 -0
  494. package/dist/default/ui/playback-rate-menu/playback-rate-menu-trigger-element.js.map +1 -0
  495. package/dist/default/ui/playback-rate-menu/playback-rate-options-element.js +113 -0
  496. package/dist/default/ui/playback-rate-menu/playback-rate-options-element.js.map +1 -0
  497. package/dist/default/ui/popover/popover-element.js +44 -16
  498. package/dist/default/ui/popover/popover-element.js.map +1 -1
  499. package/dist/default/ui/position-controller.js +11 -6
  500. package/dist/default/ui/position-controller.js.map +1 -1
  501. package/dist/default/ui/seek-indicator/seek-indicator-element.js +44 -0
  502. package/dist/default/ui/seek-indicator/seek-indicator-element.js.map +1 -0
  503. package/dist/default/ui/seek-indicator/seek-indicator-value-element.js +11 -0
  504. package/dist/default/ui/seek-indicator/seek-indicator-value-element.js.map +1 -0
  505. package/dist/default/ui/slider/slider-element.js +8 -4
  506. package/dist/default/ui/slider/slider-element.js.map +1 -1
  507. package/dist/default/ui/slider/slider-preview-element.js +9 -6
  508. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  509. package/dist/default/ui/slider/slider-value-element.js +5 -4
  510. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  511. package/dist/default/ui/status-announcer/status-announcer-element.js +70 -0
  512. package/dist/default/ui/status-announcer/status-announcer-element.js.map +1 -0
  513. package/dist/default/ui/status-indicator/status-indicator-element.js +53 -0
  514. package/dist/default/ui/status-indicator/status-indicator-element.js.map +1 -0
  515. package/dist/default/ui/status-indicator/status-indicator-value-element.js +11 -0
  516. package/dist/default/ui/status-indicator/status-indicator-value-element.js.map +1 -0
  517. package/dist/default/ui/thumbnail/thumbnail-element.js +10 -5
  518. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  519. package/dist/default/ui/time/time-element.js +8 -4
  520. package/dist/default/ui/time/time-element.js.map +1 -1
  521. package/dist/default/ui/time-slider/time-slider-element.js +12 -6
  522. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  523. package/dist/default/ui/tooltip/tooltip-element.js +43 -16
  524. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  525. package/dist/default/ui/tooltip/tooltip-group-element.js +7 -5
  526. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  527. package/dist/default/ui/volume-indicator/volume-indicator-element.js +46 -0
  528. package/dist/default/ui/volume-indicator/volume-indicator-element.js.map +1 -0
  529. package/dist/default/ui/volume-indicator/volume-indicator-fill-element.js +11 -0
  530. package/dist/default/ui/volume-indicator/volume-indicator-fill-element.js.map +1 -0
  531. package/dist/default/ui/volume-indicator/volume-indicator-value-element.js +11 -0
  532. package/dist/default/ui/volume-indicator/volume-indicator-value-element.js.map +1 -0
  533. package/dist/default/ui/volume-slider/volume-slider-element.js +10 -5
  534. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  535. package/dist/dev/_virtual/_rolldown/runtime.js +27 -0
  536. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  537. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  538. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  539. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  540. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +1 -1
  541. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -1
  542. package/dist/dev/_virtual/inline-css_src/define/global.js +6 -0
  543. package/dist/dev/_virtual/inline-css_src/define/global.js.map +1 -0
  544. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +6 -0
  545. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -0
  546. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +6 -0
  547. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -0
  548. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +6 -0
  549. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -0
  550. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +6 -0
  551. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -0
  552. package/dist/dev/_virtual/inline-css_src/define/shared.js +1 -1
  553. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -1
  554. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  555. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  556. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  557. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  558. package/dist/dev/define/audio/minimal-skin.css +227 -108
  559. package/dist/dev/define/audio/minimal-skin.d.ts +2 -2
  560. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  561. package/dist/dev/define/audio/minimal-skin.js +18 -14
  562. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  563. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  564. package/dist/dev/define/audio/minimal-skin.tailwind.js +29 -23
  565. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  566. package/dist/dev/define/audio/minimal-ui.js +8 -3
  567. package/dist/dev/define/audio/minimal-ui.js.map +1 -1
  568. package/dist/dev/define/audio/player.d.ts +2 -2
  569. package/dist/dev/define/audio/skin.css +253 -108
  570. package/dist/dev/define/audio/skin.d.ts +2 -2
  571. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  572. package/dist/dev/define/audio/skin.js +18 -13
  573. package/dist/dev/define/audio/skin.js.map +1 -1
  574. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  575. package/dist/dev/define/audio/skin.tailwind.js +27 -21
  576. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  577. package/dist/dev/define/audio/ui.js +10 -1
  578. package/dist/dev/define/audio/ui.js.map +1 -1
  579. package/dist/dev/define/background/player.d.ts +2 -2
  580. package/dist/dev/define/background/skin.css +4 -2
  581. package/dist/dev/define/background/skin.d.ts.map +1 -1
  582. package/dist/dev/define/background/skin.js +1 -1
  583. package/dist/{default/define/base.css → dev/define/global.css} +12 -8
  584. package/dist/dev/define/live-audio/minimal-skin.css +897 -0
  585. package/dist/dev/define/live-audio/minimal-skin.d.ts +17 -0
  586. package/dist/dev/define/live-audio/minimal-skin.d.ts.map +1 -0
  587. package/dist/dev/define/live-audio/minimal-skin.js +78 -0
  588. package/dist/dev/define/live-audio/minimal-skin.js.map +1 -0
  589. package/dist/dev/define/live-audio/minimal-skin.tailwind.d.ts +14 -0
  590. package/dist/dev/define/live-audio/minimal-skin.tailwind.d.ts.map +1 -0
  591. package/dist/dev/define/live-audio/minimal-skin.tailwind.js +81 -0
  592. package/dist/dev/define/live-audio/minimal-skin.tailwind.js.map +1 -0
  593. package/dist/dev/define/live-audio/minimal-ui.d.ts +1 -0
  594. package/dist/dev/define/live-audio/minimal-ui.js +26 -0
  595. package/dist/dev/define/live-audio/minimal-ui.js.map +1 -0
  596. package/dist/dev/define/live-audio/player.d.ts +17 -0
  597. package/dist/dev/define/live-audio/player.d.ts.map +1 -0
  598. package/dist/dev/define/live-audio/player.js +18 -0
  599. package/dist/dev/define/live-audio/player.js.map +1 -0
  600. package/dist/dev/define/live-audio/skin.css +939 -0
  601. package/dist/dev/define/live-audio/skin.d.ts +17 -0
  602. package/dist/dev/define/live-audio/skin.d.ts.map +1 -0
  603. package/dist/dev/define/live-audio/skin.js +85 -0
  604. package/dist/dev/define/live-audio/skin.js.map +1 -0
  605. package/dist/dev/define/live-audio/skin.tailwind.d.ts +14 -0
  606. package/dist/dev/define/live-audio/skin.tailwind.d.ts.map +1 -0
  607. package/dist/dev/define/live-audio/skin.tailwind.js +80 -0
  608. package/dist/dev/define/live-audio/skin.tailwind.js.map +1 -0
  609. package/dist/dev/define/live-audio/ui.d.ts +1 -0
  610. package/dist/dev/define/live-audio/ui.js +30 -0
  611. package/dist/dev/define/live-audio/ui.js.map +1 -0
  612. package/dist/dev/define/live-video/minimal-skin.css +1593 -0
  613. package/dist/dev/define/live-video/minimal-skin.d.ts +17 -0
  614. package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -0
  615. package/dist/dev/define/live-video/minimal-skin.js +160 -0
  616. package/dist/dev/define/live-video/minimal-skin.js.map +1 -0
  617. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts +14 -0
  618. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -0
  619. package/dist/dev/define/live-video/minimal-skin.tailwind.js +161 -0
  620. package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -0
  621. package/dist/dev/define/live-video/minimal-ui.d.ts +1 -0
  622. package/dist/dev/define/live-video/minimal-ui.js +44 -0
  623. package/dist/dev/define/live-video/minimal-ui.js.map +1 -0
  624. package/dist/dev/define/live-video/player.d.ts +17 -0
  625. package/dist/dev/define/live-video/player.d.ts.map +1 -0
  626. package/dist/dev/define/live-video/player.js +18 -0
  627. package/dist/dev/define/live-video/player.js.map +1 -0
  628. package/dist/dev/define/live-video/skin.css +1595 -0
  629. package/dist/dev/define/live-video/skin.d.ts +17 -0
  630. package/dist/dev/define/live-video/skin.d.ts.map +1 -0
  631. package/dist/dev/define/live-video/skin.js +161 -0
  632. package/dist/dev/define/live-video/skin.js.map +1 -0
  633. package/dist/dev/define/live-video/skin.tailwind.d.ts +14 -0
  634. package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -0
  635. package/dist/dev/define/live-video/skin.tailwind.js +160 -0
  636. package/dist/dev/define/live-video/skin.tailwind.js.map +1 -0
  637. package/dist/dev/define/live-video/ui.d.ts +1 -0
  638. package/dist/dev/define/live-video/ui.js +44 -0
  639. package/dist/dev/define/live-video/ui.js.map +1 -0
  640. package/dist/dev/define/shared.css +4 -0
  641. package/dist/dev/define/skin-element.d.ts +1 -1
  642. package/dist/dev/define/skin-element.d.ts.map +1 -1
  643. package/dist/dev/define/skin-element.js +3 -3
  644. package/dist/dev/define/skin-element.js.map +1 -1
  645. package/dist/dev/define/tailwind.css +66 -0
  646. package/dist/dev/define/ui/compounds.d.ts +3 -1
  647. package/dist/dev/define/ui/compounds.d.ts.map +1 -1
  648. package/dist/dev/define/ui/compounds.js +43 -1
  649. package/dist/dev/define/ui/compounds.js.map +1 -1
  650. package/dist/dev/define/ui/menu.d.ts +25 -0
  651. package/dist/dev/define/ui/menu.d.ts.map +1 -0
  652. package/dist/dev/define/ui/menu.js +6 -0
  653. package/dist/dev/define/ui/menu.js.map +1 -0
  654. package/dist/dev/define/ui/playback-rate-menu.d.ts +13 -0
  655. package/dist/dev/define/ui/playback-rate-menu.d.ts.map +1 -0
  656. package/dist/dev/define/ui/playback-rate-menu.js +13 -0
  657. package/dist/dev/define/ui/playback-rate-menu.js.map +1 -0
  658. package/dist/dev/define/ui/seek-indicator-value.d.ts +9 -0
  659. package/dist/dev/define/ui/seek-indicator-value.d.ts.map +1 -0
  660. package/dist/dev/define/ui/seek-indicator-value.js +7 -0
  661. package/dist/dev/define/ui/seek-indicator-value.js.map +1 -0
  662. package/dist/dev/define/ui/seek-indicator.d.ts +11 -0
  663. package/dist/dev/define/ui/seek-indicator.d.ts.map +1 -0
  664. package/dist/dev/define/ui/seek-indicator.js +9 -0
  665. package/dist/dev/define/ui/seek-indicator.js.map +1 -0
  666. package/dist/dev/define/ui/status-announcer.d.ts +9 -0
  667. package/dist/dev/define/ui/status-announcer.d.ts.map +1 -0
  668. package/dist/dev/define/ui/status-announcer.js +7 -0
  669. package/dist/dev/define/ui/status-announcer.js.map +1 -0
  670. package/dist/dev/define/ui/status-indicator-value.d.ts +9 -0
  671. package/dist/dev/define/ui/status-indicator-value.d.ts.map +1 -0
  672. package/dist/dev/define/ui/status-indicator-value.js +7 -0
  673. package/dist/dev/define/ui/status-indicator-value.js.map +1 -0
  674. package/dist/dev/define/ui/status-indicator.d.ts +11 -0
  675. package/dist/dev/define/ui/status-indicator.d.ts.map +1 -0
  676. package/dist/dev/define/ui/status-indicator.js +9 -0
  677. package/dist/dev/define/ui/status-indicator.js.map +1 -0
  678. package/dist/dev/define/ui/volume-indicator-fill.d.ts +9 -0
  679. package/dist/dev/define/ui/volume-indicator-fill.d.ts.map +1 -0
  680. package/dist/dev/define/ui/volume-indicator-fill.js +7 -0
  681. package/dist/dev/define/ui/volume-indicator-fill.js.map +1 -0
  682. package/dist/dev/define/ui/volume-indicator-value.d.ts +9 -0
  683. package/dist/dev/define/ui/volume-indicator-value.d.ts.map +1 -0
  684. package/dist/dev/define/ui/volume-indicator-value.js +7 -0
  685. package/dist/dev/define/ui/volume-indicator-value.js.map +1 -0
  686. package/dist/dev/define/ui/volume-indicator.d.ts +13 -0
  687. package/dist/dev/define/ui/volume-indicator.d.ts.map +1 -0
  688. package/dist/dev/define/ui/volume-indicator.js +11 -0
  689. package/dist/dev/define/ui/volume-indicator.js.map +1 -0
  690. package/dist/dev/define/video/minimal-skin.css +571 -147
  691. package/dist/dev/define/video/minimal-skin.d.ts +2 -2
  692. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  693. package/dist/dev/define/video/minimal-skin.js +79 -14
  694. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  695. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  696. package/dist/dev/define/video/minimal-skin.tailwind.js +93 -21
  697. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  698. package/dist/dev/define/video/minimal-ui.js +13 -3
  699. package/dist/dev/define/video/minimal-ui.js.map +1 -1
  700. package/dist/dev/define/video/player.d.ts +2 -2
  701. package/dist/dev/define/video/skin.css +581 -145
  702. package/dist/dev/define/video/skin.d.ts +2 -2
  703. package/dist/dev/define/video/skin.d.ts.map +1 -1
  704. package/dist/dev/define/video/skin.js +52 -11
  705. package/dist/dev/define/video/skin.js.map +1 -1
  706. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  707. package/dist/dev/define/video/skin.tailwind.js +89 -19
  708. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  709. package/dist/dev/define/video/ui.js +11 -1
  710. package/dist/dev/define/video/ui.js.map +1 -1
  711. package/dist/dev/icons/default/index.d.ts +2 -0
  712. package/dist/dev/icons/default/index.js +19 -0
  713. package/dist/dev/icons/element/default/index.d.ts +1 -0
  714. package/dist/dev/icons/element/default/index.js +1 -0
  715. package/dist/dev/icons/element/index.d.ts +1 -0
  716. package/dist/dev/icons/element/index.js +1 -0
  717. package/dist/dev/icons/element/minimal/index.d.ts +1 -0
  718. package/dist/dev/icons/element/minimal/index.js +1 -0
  719. package/dist/dev/icons/index.d.ts +2 -0
  720. package/dist/dev/icons/index.js +19 -0
  721. package/dist/dev/icons/minimal/index.d.ts +2 -0
  722. package/dist/dev/icons/minimal/index.js +19 -0
  723. package/dist/dev/index.d.ts +36 -3
  724. package/dist/dev/index.d.ts.map +1 -0
  725. package/dist/dev/index.js +26 -1
  726. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  727. package/dist/dev/media/container-element.d.ts +2 -2
  728. package/dist/dev/media/dash-video/index.d.ts +2 -2
  729. package/dist/dev/media/hls-video/index.d.ts +2 -2
  730. package/dist/dev/media/mux-audio/index.d.ts +2 -2
  731. package/dist/dev/media/mux-audio/index.js +4 -1
  732. package/dist/dev/media/mux-audio/index.js.map +1 -1
  733. package/dist/dev/media/mux-video/index.d.ts +2 -2
  734. package/dist/dev/media/mux-video/index.js +4 -1
  735. package/dist/dev/media/mux-video/index.js.map +1 -1
  736. package/dist/dev/media/native-hls-video/index.d.ts +2 -2
  737. package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
  738. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/index.d.ts +2 -0
  739. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/context-request-event.d.ts +61 -0
  740. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/context-request-event.d.ts.map +1 -0
  741. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-consumer.d.ts +1 -0
  742. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-provider.d.ts +22 -0
  743. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-provider.d.ts.map +1 -0
  744. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/create-context.d.ts +19 -0
  745. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/create-context.d.ts.map +1 -0
  746. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/decorators/consume.d.ts +1 -0
  747. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/decorators/provide.d.ts +1 -0
  748. package/dist/dev/node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/development/lib/value-notifier.d.ts +1 -0
  749. package/dist/dev/node_modules/.pnpm/@lit_reactive-element@2.1.2/node_modules/@lit/reactive-element/development/reactive-element.d.ts +116 -0
  750. package/dist/dev/node_modules/.pnpm/@lit_reactive-element@2.1.2/node_modules/@lit/reactive-element/development/reactive-element.d.ts.map +1 -0
  751. package/dist/dev/packages/icons/dist/element/base.js +66 -0
  752. package/dist/dev/packages/icons/dist/element/base.js.map +1 -0
  753. package/dist/dev/packages/icons/dist/element/default/icons.js +25 -0
  754. package/dist/dev/packages/icons/dist/element/default/icons.js.map +1 -0
  755. package/dist/dev/packages/icons/dist/element/default/index.d.ts +1 -0
  756. package/dist/dev/packages/icons/dist/element/default/index.js +10 -0
  757. package/dist/dev/packages/icons/dist/element/default/index.js.map +1 -0
  758. package/dist/dev/packages/icons/dist/element/index.d.ts +1 -0
  759. package/dist/dev/packages/icons/dist/element/index.js +11 -0
  760. package/dist/dev/packages/icons/dist/element/index.js.map +1 -0
  761. package/dist/dev/packages/icons/dist/element/minimal/icons.js +25 -0
  762. package/dist/dev/packages/icons/dist/element/minimal/icons.js.map +1 -0
  763. package/dist/dev/packages/icons/dist/element/minimal/index.d.ts +1 -0
  764. package/dist/dev/packages/icons/dist/element/minimal/index.js +10 -0
  765. package/dist/dev/packages/icons/dist/element/minimal/index.js.map +1 -0
  766. package/dist/dev/packages/icons/dist/html/default/captions-off.js +6 -0
  767. package/dist/dev/packages/icons/dist/html/default/captions-off.js.map +1 -0
  768. package/dist/dev/packages/icons/dist/html/default/captions-on.js +6 -0
  769. package/dist/dev/packages/icons/dist/html/default/captions-on.js.map +1 -0
  770. package/dist/dev/packages/icons/dist/html/default/cast-enter.js +6 -0
  771. package/dist/dev/packages/icons/dist/html/default/cast-enter.js.map +1 -0
  772. package/dist/dev/packages/icons/dist/html/default/cast-exit.js +6 -0
  773. package/dist/dev/packages/icons/dist/html/default/cast-exit.js.map +1 -0
  774. package/dist/dev/packages/icons/dist/html/default/check.js +6 -0
  775. package/dist/dev/packages/icons/dist/html/default/check.js.map +1 -0
  776. package/dist/dev/packages/icons/dist/html/default/chevron.js +6 -0
  777. package/dist/dev/packages/icons/dist/html/default/chevron.js.map +1 -0
  778. package/dist/dev/packages/icons/dist/html/default/fullscreen-enter.js +6 -0
  779. package/dist/dev/packages/icons/dist/html/default/fullscreen-enter.js.map +1 -0
  780. package/dist/dev/packages/icons/dist/html/default/fullscreen-exit.js +6 -0
  781. package/dist/dev/packages/icons/dist/html/default/fullscreen-exit.js.map +1 -0
  782. package/dist/dev/packages/icons/dist/html/default/index.d.ts +23 -0
  783. package/dist/dev/packages/icons/dist/html/default/index.d.ts.map +1 -0
  784. package/dist/dev/packages/icons/dist/html/default/pause.js +6 -0
  785. package/dist/dev/packages/icons/dist/html/default/pause.js.map +1 -0
  786. package/dist/dev/packages/icons/dist/html/default/pip-enter.js +6 -0
  787. package/dist/dev/packages/icons/dist/html/default/pip-enter.js.map +1 -0
  788. package/dist/dev/packages/icons/dist/html/default/pip-exit.js +6 -0
  789. package/dist/dev/packages/icons/dist/html/default/pip-exit.js.map +1 -0
  790. package/dist/dev/packages/icons/dist/html/default/play.js +6 -0
  791. package/dist/dev/packages/icons/dist/html/default/play.js.map +1 -0
  792. package/dist/dev/packages/icons/dist/html/default/restart.js +6 -0
  793. package/dist/dev/packages/icons/dist/html/default/restart.js.map +1 -0
  794. package/dist/dev/packages/icons/dist/html/default/seek.js +6 -0
  795. package/dist/dev/packages/icons/dist/html/default/seek.js.map +1 -0
  796. package/dist/dev/packages/icons/dist/html/default/spinner.js +6 -0
  797. package/dist/dev/packages/icons/dist/html/default/spinner.js.map +1 -0
  798. package/dist/dev/packages/icons/dist/html/default/volume-high.js +6 -0
  799. package/dist/dev/packages/icons/dist/html/default/volume-high.js.map +1 -0
  800. package/dist/dev/packages/icons/dist/html/default/volume-low.js +6 -0
  801. package/dist/dev/packages/icons/dist/html/default/volume-low.js.map +1 -0
  802. package/dist/dev/packages/icons/dist/html/default/volume-off.js +6 -0
  803. package/dist/dev/packages/icons/dist/html/default/volume-off.js.map +1 -0
  804. package/dist/dev/packages/icons/dist/html/minimal/captions-off.js +6 -0
  805. package/dist/dev/packages/icons/dist/html/minimal/captions-off.js.map +1 -0
  806. package/dist/dev/packages/icons/dist/html/minimal/captions-on.js +6 -0
  807. package/dist/dev/packages/icons/dist/html/minimal/captions-on.js.map +1 -0
  808. package/dist/dev/packages/icons/dist/html/minimal/cast-enter.js +6 -0
  809. package/dist/dev/packages/icons/dist/html/minimal/cast-enter.js.map +1 -0
  810. package/dist/dev/packages/icons/dist/html/minimal/cast-exit.js +6 -0
  811. package/dist/dev/packages/icons/dist/html/minimal/cast-exit.js.map +1 -0
  812. package/dist/dev/packages/icons/dist/html/minimal/check.js +6 -0
  813. package/dist/dev/packages/icons/dist/html/minimal/check.js.map +1 -0
  814. package/dist/dev/packages/icons/dist/html/minimal/chevron.js +6 -0
  815. package/dist/dev/packages/icons/dist/html/minimal/chevron.js.map +1 -0
  816. package/dist/dev/packages/icons/dist/html/minimal/fullscreen-enter.js +6 -0
  817. package/dist/dev/packages/icons/dist/html/minimal/fullscreen-enter.js.map +1 -0
  818. package/dist/dev/packages/icons/dist/html/minimal/fullscreen-exit.js +6 -0
  819. package/dist/dev/packages/icons/dist/html/minimal/fullscreen-exit.js.map +1 -0
  820. package/dist/dev/packages/icons/dist/html/minimal/index.d.ts +23 -0
  821. package/dist/dev/packages/icons/dist/html/minimal/index.d.ts.map +1 -0
  822. package/dist/dev/packages/icons/dist/html/minimal/pause.js +6 -0
  823. package/dist/dev/packages/icons/dist/html/minimal/pause.js.map +1 -0
  824. package/dist/dev/packages/icons/dist/html/minimal/pip-enter.js +6 -0
  825. package/dist/dev/packages/icons/dist/html/minimal/pip-enter.js.map +1 -0
  826. package/dist/dev/packages/icons/dist/html/minimal/pip-exit.js +6 -0
  827. package/dist/dev/packages/icons/dist/html/minimal/pip-exit.js.map +1 -0
  828. package/dist/dev/packages/icons/dist/html/minimal/play.js +6 -0
  829. package/dist/dev/packages/icons/dist/html/minimal/play.js.map +1 -0
  830. package/dist/dev/packages/icons/dist/html/minimal/restart.js +6 -0
  831. package/dist/dev/packages/icons/dist/html/minimal/restart.js.map +1 -0
  832. package/dist/dev/packages/icons/dist/html/minimal/seek.js +6 -0
  833. package/dist/dev/packages/icons/dist/html/minimal/seek.js.map +1 -0
  834. package/dist/dev/packages/icons/dist/html/minimal/spinner.js +6 -0
  835. package/dist/dev/packages/icons/dist/html/minimal/spinner.js.map +1 -0
  836. package/dist/dev/packages/icons/dist/html/minimal/volume-high.js +6 -0
  837. package/dist/dev/packages/icons/dist/html/minimal/volume-high.js.map +1 -0
  838. package/dist/dev/packages/icons/dist/html/minimal/volume-low.js +6 -0
  839. package/dist/dev/packages/icons/dist/html/minimal/volume-low.js.map +1 -0
  840. package/dist/dev/packages/icons/dist/html/minimal/volume-off.js +6 -0
  841. package/dist/dev/packages/icons/dist/html/minimal/volume-off.js.map +1 -0
  842. package/dist/dev/packages/icons/dist/render/default/index.js +32 -0
  843. package/dist/dev/packages/icons/dist/render/default/index.js.map +1 -0
  844. package/dist/dev/packages/icons/dist/render/minimal/index.js +32 -0
  845. package/dist/dev/packages/icons/dist/render/minimal/index.js.map +1 -0
  846. package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/audio.tailwind.js +3 -2
  847. package/dist/dev/packages/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  848. package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/buffering.js +1 -1
  849. package/dist/dev/packages/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  850. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  851. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +13 -0
  852. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  853. package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js +7 -0
  854. package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  855. package/dist/dev/packages/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  856. package/dist/dev/packages/skins/dist/default/default/tailwind/components/icon.js +9 -0
  857. package/dist/dev/packages/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  858. package/dist/dev/packages/skins/dist/default/default/tailwind/components/input-feedback.js +40 -0
  859. package/dist/dev/packages/skins/dist/default/default/tailwind/components/input-feedback.js.map +1 -0
  860. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +12 -0
  861. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -0
  862. package/dist/dev/packages/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  863. package/dist/dev/packages/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  864. package/dist/dev/packages/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  865. package/dist/dev/packages/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  866. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  867. package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/preview.js +1 -1
  868. package/dist/dev/packages/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  869. package/dist/dev/packages/skins/dist/default/default/tailwind/components/reset.js +7 -0
  870. package/dist/dev/packages/skins/dist/default/default/tailwind/components/reset.js.map +1 -0
  871. package/dist/dev/packages/skins/dist/default/default/tailwind/components/root.js +8 -0
  872. package/dist/dev/packages/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  873. package/dist/dev/packages/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  874. package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/slider.js +1 -1
  875. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  876. package/dist/dev/packages/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  877. package/dist/dev/packages/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  878. package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/video.tailwind.js +13 -4
  879. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  880. package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/audio.tailwind.js +4 -2
  881. package/dist/dev/packages/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  882. package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/buffering.js +1 -1
  883. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  884. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  885. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js +13 -0
  886. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  887. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js +7 -0
  888. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  889. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  890. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/icon.js +9 -0
  891. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  892. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/input-feedback.js +41 -0
  893. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/input-feedback.js.map +1 -0
  894. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +12 -0
  895. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -0
  896. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  897. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  898. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  899. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  900. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  901. package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/preview.js +1 -1
  902. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  903. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/reset.js +7 -0
  904. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/reset.js.map +1 -0
  905. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  906. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  907. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  908. package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/slider.js +1 -1
  909. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  910. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  911. package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  912. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  913. package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  914. package/dist/dev/player/context.d.ts +3 -2
  915. package/dist/dev/player/context.d.ts.map +1 -1
  916. package/dist/dev/player/context.js.map +1 -1
  917. package/dist/dev/player/player-controller.d.ts +1 -1
  918. package/dist/dev/player/player-controller.d.ts.map +1 -1
  919. package/dist/dev/presets/live-audio.d.ts +7 -0
  920. package/dist/dev/presets/live-audio.js +7 -0
  921. package/dist/dev/presets/live-video.d.ts +7 -0
  922. package/dist/dev/presets/live-video.js +7 -0
  923. package/dist/dev/store/container-mixin.d.ts +1 -1
  924. package/dist/dev/store/provider-mixin.d.ts +1 -1
  925. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  926. package/dist/dev/store/provider-mixin.js +8 -3
  927. package/dist/dev/store/provider-mixin.js.map +1 -1
  928. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts.map +1 -1
  929. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +7 -5
  930. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  931. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +2 -2
  932. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  933. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +12 -6
  934. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  935. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +2 -2
  936. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  937. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +6 -3
  938. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  939. package/dist/dev/ui/captions-button/captions-button-element.d.ts +4 -4
  940. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  941. package/dist/dev/ui/cast-button/cast-button-element.d.ts +6 -6
  942. package/dist/dev/ui/cast-button/cast-button-element.d.ts.map +1 -1
  943. package/dist/dev/ui/cast-button/cast-button-element.js +2 -2
  944. package/dist/dev/ui/cast-button/cast-button-element.js.map +1 -1
  945. package/dist/dev/ui/controls/controls-element.d.ts.map +1 -1
  946. package/dist/dev/ui/controls/controls-element.js +13 -1
  947. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  948. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
  949. package/dist/dev/ui/error-dialog/error-dialog-element.js +4 -1
  950. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
  951. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +4 -4
  952. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  953. package/dist/dev/ui/gesture/gesture-element.js +12 -8
  954. package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
  955. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -1
  956. package/dist/dev/ui/hotkey/hotkey-element.js +11 -7
  957. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
  958. package/dist/dev/ui/input-indicators/input-indicator-element.d.ts +37 -0
  959. package/dist/dev/ui/input-indicators/input-indicator-element.d.ts.map +1 -0
  960. package/dist/dev/ui/input-indicators/input-indicator-element.js +110 -0
  961. package/dist/dev/ui/input-indicators/input-indicator-element.js.map +1 -0
  962. package/dist/dev/ui/input-indicators/live-indicator.d.ts +18 -0
  963. package/dist/dev/ui/input-indicators/live-indicator.d.ts.map +1 -0
  964. package/dist/dev/ui/input-indicators/live-indicator.js +32 -0
  965. package/dist/dev/ui/input-indicators/live-indicator.js.map +1 -0
  966. package/dist/dev/ui/live-button/live-button-element.d.ts +38 -0
  967. package/dist/dev/ui/live-button/live-button-element.d.ts.map +1 -0
  968. package/dist/dev/ui/live-button/live-button-element.js +98 -0
  969. package/dist/dev/ui/live-button/live-button-element.js.map +1 -0
  970. package/dist/dev/ui/media-button-element.d.ts +1 -1
  971. package/dist/dev/ui/media-button-element.js +4 -2
  972. package/dist/dev/ui/media-button-element.js.map +1 -1
  973. package/dist/dev/ui/media-element.d.ts +2 -2
  974. package/dist/dev/ui/menu/context.d.ts +25 -0
  975. package/dist/dev/ui/menu/context.d.ts.map +1 -0
  976. package/dist/dev/ui/menu/context.js +10 -0
  977. package/dist/dev/ui/menu/context.js.map +1 -0
  978. package/dist/dev/ui/menu/menu-back-element.d.ts +20 -0
  979. package/dist/dev/ui/menu/menu-back-element.d.ts.map +1 -0
  980. package/dist/dev/ui/menu/menu-back-element.js +57 -0
  981. package/dist/dev/ui/menu/menu-back-element.js.map +1 -0
  982. package/dist/dev/ui/menu/menu-checkbox-item-element.d.ts +24 -0
  983. package/dist/dev/ui/menu/menu-checkbox-item-element.d.ts.map +1 -0
  984. package/dist/dev/ui/menu/menu-checkbox-item-element.js +78 -0
  985. package/dist/dev/ui/menu/menu-checkbox-item-element.js.map +1 -0
  986. package/dist/dev/ui/menu/menu-element.d.ts +52 -0
  987. package/dist/dev/ui/menu/menu-element.d.ts.map +1 -0
  988. package/dist/dev/ui/menu/menu-element.js +285 -0
  989. package/dist/dev/ui/menu/menu-element.js.map +1 -0
  990. package/dist/dev/ui/menu/menu-group-element.d.ts +18 -0
  991. package/dist/dev/ui/menu/menu-group-element.d.ts.map +1 -0
  992. package/dist/dev/ui/menu/menu-group-element.js +35 -0
  993. package/dist/dev/ui/menu/menu-group-element.js.map +1 -0
  994. package/dist/dev/ui/menu/menu-item-element.d.ts +25 -0
  995. package/dist/dev/ui/menu/menu-item-element.d.ts.map +1 -0
  996. package/dist/dev/ui/menu/menu-item-element.js +96 -0
  997. package/dist/dev/ui/menu/menu-item-element.js.map +1 -0
  998. package/dist/dev/ui/menu/menu-item-indicator-element.d.ts +22 -0
  999. package/dist/dev/ui/menu/menu-item-indicator-element.d.ts.map +1 -0
  1000. package/dist/dev/ui/menu/menu-item-indicator-element.js +34 -0
  1001. package/dist/dev/ui/menu/menu-item-indicator-element.js.map +1 -0
  1002. package/dist/dev/ui/menu/menu-label-element.d.ts +15 -0
  1003. package/dist/dev/ui/menu/menu-label-element.d.ts.map +1 -0
  1004. package/dist/dev/ui/menu/menu-label-element.js +20 -0
  1005. package/dist/dev/ui/menu/menu-label-element.js.map +1 -0
  1006. package/dist/dev/ui/menu/menu-radio-group-element.d.ts +22 -0
  1007. package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +1 -0
  1008. package/dist/dev/ui/menu/menu-radio-group-element.js +51 -0
  1009. package/dist/dev/ui/menu/menu-radio-group-element.js.map +1 -0
  1010. package/dist/dev/ui/menu/menu-radio-item-element.d.ts +24 -0
  1011. package/dist/dev/ui/menu/menu-radio-item-element.d.ts.map +1 -0
  1012. package/dist/dev/ui/menu/menu-radio-item-element.js +84 -0
  1013. package/dist/dev/ui/menu/menu-radio-item-element.js.map +1 -0
  1014. package/dist/dev/ui/menu/menu-separator-element.d.ts +12 -0
  1015. package/dist/dev/ui/menu/menu-separator-element.d.ts.map +1 -0
  1016. package/dist/dev/ui/menu/menu-separator-element.js +24 -0
  1017. package/dist/dev/ui/menu/menu-separator-element.js.map +1 -0
  1018. package/dist/dev/ui/menu/menu-view-element.d.ts +11 -0
  1019. package/dist/dev/ui/menu/menu-view-element.d.ts.map +1 -0
  1020. package/dist/dev/ui/menu/menu-view-element.js +16 -0
  1021. package/dist/dev/ui/menu/menu-view-element.js.map +1 -0
  1022. package/dist/dev/ui/mute-button/mute-button-element.d.ts +4 -4
  1023. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  1024. package/dist/dev/ui/pip-button/pip-button-element.d.ts +4 -4
  1025. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  1026. package/dist/dev/ui/play-button/play-button-element.d.ts +5 -5
  1027. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  1028. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +3 -3
  1029. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
  1030. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-element.d.ts +53 -0
  1031. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-element.d.ts.map +1 -0
  1032. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-element.js +48 -0
  1033. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-element.js.map +1 -0
  1034. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger-element.d.ts +35 -0
  1035. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger-element.d.ts.map +1 -0
  1036. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger-element.js +86 -0
  1037. package/dist/dev/ui/playback-rate-menu/playback-rate-menu-trigger-element.js.map +1 -0
  1038. package/dist/dev/ui/playback-rate-menu/playback-rate-options-element.d.ts +31 -0
  1039. package/dist/dev/ui/playback-rate-menu/playback-rate-options-element.d.ts.map +1 -0
  1040. package/dist/dev/ui/playback-rate-menu/playback-rate-options-element.js +114 -0
  1041. package/dist/dev/ui/playback-rate-menu/playback-rate-options-element.js.map +1 -0
  1042. package/dist/dev/ui/popover/popover-element.d.ts +9 -3
  1043. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  1044. package/dist/dev/ui/popover/popover-element.js +44 -16
  1045. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  1046. package/dist/dev/ui/position-controller.js +11 -6
  1047. package/dist/dev/ui/position-controller.js.map +1 -1
  1048. package/dist/dev/ui/poster/poster-element.d.ts +4 -4
  1049. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  1050. package/dist/dev/ui/seek-button/seek-button-element.d.ts +4 -4
  1051. package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -1
  1052. package/dist/dev/ui/seek-indicator/seek-indicator-element.d.ts +25 -0
  1053. package/dist/dev/ui/seek-indicator/seek-indicator-element.d.ts.map +1 -0
  1054. package/dist/dev/ui/seek-indicator/seek-indicator-element.js +44 -0
  1055. package/dist/dev/ui/seek-indicator/seek-indicator-element.js.map +1 -0
  1056. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.d.ts +9 -0
  1057. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.d.ts.map +1 -0
  1058. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.js +11 -0
  1059. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.js.map +1 -0
  1060. package/dist/dev/ui/slider/slider-element.d.ts +2 -2
  1061. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  1062. package/dist/dev/ui/slider/slider-element.js +8 -4
  1063. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  1064. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
  1065. package/dist/dev/ui/slider/slider-preview-element.js +9 -6
  1066. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  1067. package/dist/dev/ui/slider/slider-value-element.d.ts.map +1 -1
  1068. package/dist/dev/ui/slider/slider-value-element.js +5 -4
  1069. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  1070. package/dist/dev/ui/status-announcer/status-announcer-element.d.ts +23 -0
  1071. package/dist/dev/ui/status-announcer/status-announcer-element.d.ts.map +1 -0
  1072. package/dist/dev/ui/status-announcer/status-announcer-element.js +70 -0
  1073. package/dist/dev/ui/status-announcer/status-announcer-element.js.map +1 -0
  1074. package/dist/dev/ui/status-indicator/status-indicator-element.d.ts +29 -0
  1075. package/dist/dev/ui/status-indicator/status-indicator-element.d.ts.map +1 -0
  1076. package/dist/dev/ui/status-indicator/status-indicator-element.js +53 -0
  1077. package/dist/dev/ui/status-indicator/status-indicator-element.js.map +1 -0
  1078. package/dist/dev/ui/status-indicator/status-indicator-value-element.d.ts +9 -0
  1079. package/dist/dev/ui/status-indicator/status-indicator-value-element.d.ts.map +1 -0
  1080. package/dist/dev/ui/status-indicator/status-indicator-value-element.js +11 -0
  1081. package/dist/dev/ui/status-indicator/status-indicator-value-element.js.map +1 -0
  1082. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
  1083. package/dist/dev/ui/thumbnail/thumbnail-element.js +10 -5
  1084. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  1085. package/dist/dev/ui/time/time-element.d.ts +2 -2
  1086. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  1087. package/dist/dev/ui/time/time-element.js +8 -4
  1088. package/dist/dev/ui/time/time-element.js.map +1 -1
  1089. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  1090. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  1091. package/dist/dev/ui/time-slider/time-slider-element.js +12 -6
  1092. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  1093. package/dist/dev/ui/tooltip/tooltip-element.d.ts +9 -3
  1094. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  1095. package/dist/dev/ui/tooltip/tooltip-element.js +43 -16
  1096. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  1097. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts.map +1 -1
  1098. package/dist/dev/ui/tooltip/tooltip-group-element.js +7 -5
  1099. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  1100. package/dist/dev/ui/volume-indicator/volume-indicator-element.d.ts +25 -0
  1101. package/dist/dev/ui/volume-indicator/volume-indicator-element.d.ts.map +1 -0
  1102. package/dist/dev/ui/volume-indicator/volume-indicator-element.js +46 -0
  1103. package/dist/dev/ui/volume-indicator/volume-indicator-element.js.map +1 -0
  1104. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.d.ts +9 -0
  1105. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.d.ts.map +1 -0
  1106. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.js +11 -0
  1107. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.js.map +1 -0
  1108. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.d.ts +9 -0
  1109. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.d.ts.map +1 -0
  1110. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.js +11 -0
  1111. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.js.map +1 -0
  1112. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +2 -2
  1113. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  1114. package/dist/dev/ui/volume-slider/volume-slider-element.js +10 -5
  1115. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  1116. package/docs/README.md +7 -0
  1117. package/docs/concepts/accessibility.md +60 -0
  1118. package/docs/concepts/browser-support.md +37 -0
  1119. package/docs/concepts/features.md +129 -0
  1120. package/docs/concepts/overview.md +118 -0
  1121. package/docs/concepts/presets.md +207 -0
  1122. package/docs/concepts/skins.md +2006 -0
  1123. package/docs/concepts/ui-components.md +59 -0
  1124. package/docs/concepts/v10-roadmap.md +75 -0
  1125. package/docs/concepts/why-videojs.md +113 -0
  1126. package/docs/how-to/build-with-ai.md +39 -0
  1127. package/docs/how-to/build-your-own-component.md +217 -0
  1128. package/docs/how-to/customize-skins.md +5711 -0
  1129. package/docs/how-to/installation.md +172 -0
  1130. package/docs/llms.txt +88 -0
  1131. package/docs/reference/buffering-indicator.md +152 -0
  1132. package/docs/reference/captions-button.md +216 -0
  1133. package/docs/reference/container-mixin.md +69 -0
  1134. package/docs/reference/controls.md +248 -0
  1135. package/docs/reference/create-selector.md +59 -0
  1136. package/docs/reference/feature-buffer.md +52 -0
  1137. package/docs/reference/feature-controls.md +70 -0
  1138. package/docs/reference/feature-error.md +60 -0
  1139. package/docs/reference/feature-fullscreen.md +90 -0
  1140. package/docs/reference/feature-live.md +60 -0
  1141. package/docs/reference/feature-pip.md +90 -0
  1142. package/docs/reference/feature-playback-rate.md +70 -0
  1143. package/docs/reference/feature-playback.md +110 -0
  1144. package/docs/reference/feature-remote-playback.md +70 -0
  1145. package/docs/reference/feature-source.md +70 -0
  1146. package/docs/reference/feature-stream-type.md +46 -0
  1147. package/docs/reference/feature-text-tracks.md +100 -0
  1148. package/docs/reference/feature-time.md +80 -0
  1149. package/docs/reference/feature-volume.md +90 -0
  1150. package/docs/reference/fullscreen-button.md +229 -0
  1151. package/docs/reference/html-create-player.md +449 -0
  1152. package/docs/reference/media-attach-mixin.md +83 -0
  1153. package/docs/reference/mute-button.md +301 -0
  1154. package/docs/reference/pip-button.md +229 -0
  1155. package/docs/reference/play-button.md +251 -0
  1156. package/docs/reference/playback-rate-button.md +170 -0
  1157. package/docs/reference/player-container.md +126 -0
  1158. package/docs/reference/player-context.md +50 -0
  1159. package/docs/reference/player-controller.md +276 -0
  1160. package/docs/reference/player-provider.md +114 -0
  1161. package/docs/reference/popover.md +460 -0
  1162. package/docs/reference/poster.md +158 -0
  1163. package/docs/reference/provider-mixin.md +71 -0
  1164. package/docs/reference/seek-button.md +223 -0
  1165. package/docs/reference/slider.md +862 -0
  1166. package/docs/reference/snapshot-controller.md +208 -0
  1167. package/docs/reference/store-controller.md +180 -0
  1168. package/docs/reference/thumbnail.md +364 -0
  1169. package/docs/reference/time-slider.md +794 -0
  1170. package/docs/reference/time.md +488 -0
  1171. package/docs/reference/tooltip.md +547 -0
  1172. package/docs/reference/volume-slider.md +783 -0
  1173. package/package.json +46 -12
  1174. package/cdn/compounds-CCgS3IGo.js +0 -8
  1175. package/cdn/compounds-CCgS3IGo.js.map +0 -1
  1176. package/cdn/compounds-DD3MYkSc.js.map +0 -1
  1177. package/cdn/context-0rI_P6jf.js.map +0 -1
  1178. package/cdn/context-CEFisYD0.js.map +0 -1
  1179. package/cdn/create-player-B-PGzhq2.js +0 -7
  1180. package/cdn/create-player-B-PGzhq2.js.map +0 -1
  1181. package/cdn/create-player-BKLw7l1a.js.map +0 -1
  1182. package/cdn/default-Djy9PEXm.js +0 -2
  1183. package/cdn/default-Djy9PEXm.js.map +0 -1
  1184. package/cdn/default-YzaLyoYg.js +0 -30
  1185. package/cdn/default-YzaLyoYg.js.map +0 -1
  1186. package/cdn/hls-CcSAx_3I.js.map +0 -1
  1187. package/cdn/hls-Dl2v35sW.js +0 -41
  1188. package/cdn/hls-Dl2v35sW.js.map +0 -1
  1189. package/cdn/hotkey-element-BONs_FyJ.js.map +0 -1
  1190. package/cdn/hotkey-element-DWWkfH3A.js +0 -2
  1191. package/cdn/hotkey-element-DWWkfH3A.js.map +0 -1
  1192. package/cdn/media-attach-mixin-C2wz0Qbd.js +0 -2
  1193. package/cdn/minimal-AX_y2YBU.js +0 -30
  1194. package/cdn/minimal-AX_y2YBU.js.map +0 -1
  1195. package/cdn/minimal-Bc74CFqg.js +0 -2
  1196. package/cdn/minimal-Bc74CFqg.js.map +0 -1
  1197. package/cdn/minimal-ui-CE1sVxKB.js +0 -22
  1198. package/cdn/minimal-ui-CE1sVxKB.js.map +0 -1
  1199. package/cdn/minimal-ui-hC8-_9_F.js +0 -2
  1200. package/cdn/minimal-ui-hC8-_9_F.js.map +0 -1
  1201. package/cdn/minimal-ui-lnw8AjaS.js +0 -2
  1202. package/cdn/minimal-ui-lnw8AjaS.js.map +0 -1
  1203. package/cdn/minimal-ui-yKur3jyD.js +0 -29
  1204. package/cdn/minimal-ui-yKur3jyD.js.map +0 -1
  1205. package/cdn/mux-BgWl50KW.js.map +0 -1
  1206. package/cdn/mux-BhHIeG3e.js.map +0 -1
  1207. package/cdn/native-hls-lhip4tV9.js +0 -123
  1208. package/cdn/native-hls-lhip4tV9.js.map +0 -1
  1209. package/cdn/native-hls-odPBXxK7.js +0 -2
  1210. package/cdn/native-hls-odPBXxK7.js.map +0 -1
  1211. package/cdn/player-B7jISTmQ.js +0 -2
  1212. package/cdn/player-B7jISTmQ.js.map +0 -1
  1213. package/cdn/player-ChdQN3H5.js +0 -2
  1214. package/cdn/player-DX5Ka0vt.js.map +0 -1
  1215. package/cdn/skin-element-D3iVinGP.js +0 -55
  1216. package/cdn/skin-element-D3iVinGP.js.map +0 -1
  1217. package/cdn/skin-element-DM82PPxz.js +0 -2
  1218. package/cdn/skin-element-DM82PPxz.js.map +0 -1
  1219. package/cdn/ui-BGvi0TNr.js +0 -2
  1220. package/cdn/ui-BGvi0TNr.js.map +0 -1
  1221. package/cdn/ui-BN57BxYZ.js +0 -2
  1222. package/cdn/ui-BN57BxYZ.js.map +0 -1
  1223. package/cdn/ui-CKR6dVbQ.js +0 -25
  1224. package/cdn/ui-CKR6dVbQ.js.map +0 -1
  1225. package/cdn/ui-CZ4yl3t3.js +0 -32
  1226. package/cdn/ui-CZ4yl3t3.js.map +0 -1
  1227. package/dist/default/_virtual/inline-css_src/define/base.js +0 -6
  1228. package/dist/default/_virtual/inline-css_src/define/base.js.map +0 -1
  1229. package/dist/dev/_virtual/inline-css_src/define/base.js +0 -6
  1230. package/dist/dev/_virtual/inline-css_src/define/base.js.map +0 -1
  1231. package/dist/dev/icons/dist/render/default/index.js +0 -30
  1232. package/dist/dev/icons/dist/render/default/index.js.map +0 -1
  1233. package/dist/dev/icons/dist/render/minimal/index.js +0 -30
  1234. package/dist/dev/icons/dist/render/minimal/index.js.map +0 -1
  1235. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +0 -1
  1236. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +0 -1
  1237. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +0 -1
  1238. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +0 -12
  1239. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +0 -1
  1240. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +0 -7
  1241. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +0 -1
  1242. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +0 -1
  1243. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +0 -9
  1244. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +0 -1
  1245. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +0 -1
  1246. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +0 -6
  1247. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +0 -1
  1248. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +0 -1
  1249. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +0 -1
  1250. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +0 -1
  1251. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +0 -7
  1252. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +0 -1
  1253. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +0 -1
  1254. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +0 -1
  1255. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +0 -1
  1256. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +0 -1
  1257. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +0 -1
  1258. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +0 -1
  1259. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +0 -1
  1260. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +0 -1
  1261. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +0 -12
  1262. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +0 -1
  1263. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +0 -7
  1264. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +0 -1
  1265. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  1266. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +0 -9
  1267. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +0 -1
  1268. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +0 -1
  1269. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +0 -6
  1270. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +0 -1
  1271. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +0 -1
  1272. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +0 -1
  1273. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +0 -1
  1274. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +0 -7
  1275. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +0 -1
  1276. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +0 -1
  1277. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +0 -1
  1278. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +0 -1
  1279. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +0 -1
  1280. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +0 -1
  1281. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/button-group.js +0 -0
  1282. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/error.js +0 -0
  1283. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/overlay.js +0 -0
  1284. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/popup.js +0 -0
  1285. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/poster.js +0 -0
  1286. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/seek.js +0 -0
  1287. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/surface.js +0 -0
  1288. /package/dist/dev/{skins → packages/skins}/dist/default/default/tailwind/components/time.js +0 -0
  1289. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/button-group.js +0 -0
  1290. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/error.js +0 -0
  1291. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/overlay.js +0 -0
  1292. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/popup.js +0 -0
  1293. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/poster.js +0 -0
  1294. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/seek.js +0 -0
  1295. /package/dist/dev/{skins → packages/skins}/dist/default/minimal/tailwind/components/time.js +0 -0
  1296. /package/dist/dev/{skins → packages/skins}/dist/default/shared/tailwind/icon-state.js +0 -0
@@ -0,0 +1,2006 @@
1
+ # Skins
2
+
3
+ Packaged player designs that include both UI components and their styles.
4
+
5
+ New in version 10
6
+
7
+ In prior versions of Video.js, skins were CSS-only themes applied to the same set of default controls. In version 10 the concept of skins has been expanded to include the UI components, so each skin can be completely unique and only include the UI components it needs.
8
+
9
+ html
10
+
11
+ ```
12
+ <video-player>
13
+ <video-skin>
14
+ <!-- wraps the media element -->
15
+ <video src="video.mp4"></video>
16
+ </video-skin>
17
+ </video-player>
18
+ ```
19
+
20
+ ## Packaged vs. ejected
21
+
22
+ When you choose a skin you have two options for how you use it: **packaged** or **ejected** . It’s usually easiest to start with a packaged skin and later eject its internal components into your project when you need more customization.
23
+
24
+ Packaged
25
+
26
+ Ejected
27
+
28
+ Single component
29
+
30
+ Many UI components
31
+
32
+ Limited customization
33
+
34
+ Complete customization
35
+
36
+ Future design updates auto-applied by bumping the version
37
+
38
+ Future design updates manually applied, or intentionally ignored
39
+
40
+ [Read more about ejecting skins](../how-to/customize-skins.md)
41
+
42
+ [Read more about UI Components](./ui-components.md)
43
+
44
+ ### Example of packaged
45
+
46
+ html
47
+
48
+ ```
49
+ <video-player>
50
+ <video-skin>
51
+ <!--...Media...-->
52
+ </video-skin>
53
+ </video-player>
54
+ ```
55
+
56
+ ### Example of ejected
57
+
58
+ HTML
59
+
60
+ CSS
61
+
62
+ ```
63
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/html/cdn/video-ui.js"></script>
64
+ <link rel="stylesheet" href="./player.css">
65
+
66
+ <video-player>
67
+ <media-container class="media-default-skin media-default-skin--video">
68
+ <video src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/highest.mp4" playsinline></video>
69
+
70
+ <media-poster>
71
+ <img src="https://image.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM/thumbnail.webp" />
72
+ </media-poster>
73
+
74
+ <media-buffering-indicator class="media-buffering-indicator">
75
+ <div class="media-surface">
76
+ <media-icon name="spinner" class="media-icon"></media-icon>
77
+ </div>
78
+ </media-buffering-indicator>
79
+
80
+ <media-error-dialog class="media-error">
81
+ <div class="media-error__dialog media-surface">
82
+ <div class="media-error__content">
83
+ <media-alert-dialog-title class="media-error__title">Something went wrong.</media-alert-dialog-title>
84
+ <media-alert-dialog-description class="media-error__description"></media-alert-dialog-description>
85
+ </div>
86
+ <div class="media-error__actions">
87
+ <media-alert-dialog-close class="media-button media-button--primary">OK</media-alert-dialog-close>
88
+ </div>
89
+ </div>
90
+ </media-error-dialog>
91
+
92
+ <media-controls class="media-surface media-controls">
93
+ <media-tooltip-group>
94
+ <div class="media-button-group">
95
+ <media-play-button commandfor="play-tooltip" class="media-button media-button--subtle media-button--icon media-button--play">
96
+ <media-icon name="restart" class="media-icon media-icon--restart"></media-icon>
97
+ <media-icon name="play" class="media-icon media-icon--play"></media-icon>
98
+ <media-icon name="pause" class="media-icon media-icon--pause"></media-icon>
99
+ </media-play-button>
100
+ <media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
101
+
102
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="-10" class="media-button media-button--subtle media-button--icon media-button--seek">
103
+ <span class="media-icon__container">
104
+ <media-icon name="seek" class="media-icon media-icon--flipped"></media-icon>
105
+ <span class="media-icon__label">10</span>
106
+ </span>
107
+ </media-seek-button>
108
+ <media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
109
+
110
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="10" class="media-button media-button--subtle media-button--icon media-button--seek">
111
+ <span class="media-icon__container">
112
+ <media-icon name="seek" class="media-icon"></media-icon>
113
+ <span class="media-icon__label">10</span>
114
+ </span>
115
+ </media-seek-button>
116
+ <media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
117
+ </div>
118
+
119
+ <div class="media-time-controls">
120
+ <media-time type="current" class="media-time"></media-time>
121
+ <media-time-slider class="media-slider">
122
+ <media-slider-track class="media-slider__track">
123
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
124
+ <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
125
+ </media-slider-track>
126
+ <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
127
+
128
+ <div class="media-surface media-preview media-slider__preview">
129
+ <media-slider-thumbnail class="media-preview__thumbnail"></media-slider-thumbnail>
130
+ <media-slider-value type="pointer" class="media-time media-preview__time"></media-slider-value>
131
+ <media-icon name="spinner" class="media-preview__spinner media-icon"></media-icon>
132
+ </div>
133
+ </media-time-slider>
134
+ <media-time type="duration" class="media-time"></media-time>
135
+ </div>
136
+
137
+ <div class="media-button-group">
138
+ <media-playback-rate-menu-trigger commandfor="playback-rate-menu" class="media-button media-button--subtle media-button--icon media-button--playback-rate"></media-playback-rate-menu-trigger>
139
+ <media-playback-rate-menu id="playback-rate-menu" side="top" align="center" class="media-surface media-popover media-menu media-menu--playback-rate">
140
+ <media-playback-rate-options class="media-menu__group">
141
+ <template>
142
+ <media-menu-radio-item class="media-menu__item">
143
+ <span data-part="label"></span>
144
+ <media-menu-item-indicator force-mount class="media-menu__indicator">
145
+ <media-icon name="check" class="media-icon"></media-icon>
146
+ </media-menu-item-indicator>
147
+ </media-menu-radio-item>
148
+ </template>
149
+ </media-playback-rate-options>
150
+ </media-playback-rate-menu>
151
+
152
+ <media-mute-button commandfor="video-volume-popover" class="media-button media-button--subtle media-button--icon media-button--mute">
153
+ <media-icon name="volume-off" class="media-icon media-icon--volume-off"></media-icon>
154
+ <media-icon name="volume-low" class="media-icon media-icon--volume-low"></media-icon>
155
+ <media-icon name="volume-high" class="media-icon media-icon--volume-high"></media-icon>
156
+ </media-mute-button>
157
+
158
+ <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume">
159
+ <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
160
+ <media-slider-track class="media-slider__track">
161
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
162
+ </media-slider-track>
163
+ <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
164
+ </media-volume-slider>
165
+ </media-popover>
166
+
167
+ <media-captions-button commandfor="captions-tooltip" class="media-button media-button--subtle media-button--icon media-button--captions">
168
+ <media-icon name="captions-off" class="media-icon media-icon--captions-off"></media-icon>
169
+ <media-icon name="captions-on" class="media-icon media-icon--captions-on"></media-icon>
170
+ </media-captions-button>
171
+ <media-tooltip id="captions-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
172
+
173
+ <media-cast-button commandfor="cast-tooltip" class="media-button media-button--subtle media-button--icon media-button--cast">
174
+ <media-icon name="cast-enter" class="media-icon media-icon--cast-enter"></media-icon>
175
+ <media-icon name="cast-exit" class="media-icon media-icon--cast-exit"></media-icon>
176
+ </media-cast-button>
177
+ <media-tooltip id="cast-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
178
+
179
+ <media-pip-button commandfor="pip-tooltip" class="media-button media-button--subtle media-button--icon media-button--pip">
180
+ <media-icon name="pip-enter" class="media-icon media-icon--pip-enter"></media-icon>
181
+ <media-icon name="pip-exit" class="media-icon media-icon--pip-exit"></media-icon>
182
+ </media-pip-button>
183
+ <media-tooltip id="pip-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
184
+
185
+ <media-fullscreen-button commandfor="fullscreen-tooltip" class="media-button media-button--subtle media-button--icon media-button--fullscreen">
186
+ <media-icon name="fullscreen-enter" class="media-icon media-icon--fullscreen-enter"></media-icon>
187
+ <media-icon name="fullscreen-exit" class="media-icon media-icon--fullscreen-exit"></media-icon>
188
+ </media-fullscreen-button>
189
+ <media-tooltip id="fullscreen-tooltip" side="top" class="media-surface media-tooltip"></media-tooltip>
190
+ </div>
191
+ </media-tooltip-group>
192
+ </media-controls>
193
+
194
+ <div class="media-overlay"></div>
195
+
196
+ <!-- Hotkeys -->
197
+ <media-hotkey keys="Space" action="togglePaused"></media-hotkey>
198
+ <media-hotkey keys="k" action="togglePaused"></media-hotkey>
199
+ <media-hotkey keys="m" action="toggleMuted"></media-hotkey>
200
+ <media-hotkey keys="f" action="toggleFullscreen"></media-hotkey>
201
+ <media-hotkey keys="c" action="toggleSubtitles"></media-hotkey>
202
+ <media-hotkey keys="i" action="togglePictureInPicture"></media-hotkey>
203
+ <media-hotkey keys="ArrowRight" action="seekStep" value="5"></media-hotkey>
204
+ <media-hotkey keys="ArrowLeft" action="seekStep" value="-5"></media-hotkey>
205
+ <media-hotkey keys="l" action="seekStep" value="10"></media-hotkey>
206
+ <media-hotkey keys="j" action="seekStep" value="-10"></media-hotkey>
207
+ <media-hotkey keys="ArrowUp" action="volumeStep" value="0.05"></media-hotkey>
208
+ <media-hotkey keys="ArrowDown" action="volumeStep" value="-0.05"></media-hotkey>
209
+ <media-hotkey keys="0-9" action="seekToPercent"></media-hotkey>
210
+ <media-hotkey keys="Home" action="seekToPercent" value="0"></media-hotkey>
211
+ <media-hotkey keys="End" action="seekToPercent" value="100"></media-hotkey>
212
+ <media-hotkey keys=">" action="speedUp"></media-hotkey>
213
+ <media-hotkey keys="<" action="speedDown"></media-hotkey>
214
+
215
+ <!-- Gestures -->
216
+ <media-gesture type="tap" action="togglePaused" pointer="mouse" region="center"></media-gesture>
217
+ <media-gesture type="tap" action="toggleControls" pointer="touch"></media-gesture>
218
+ <media-gesture type="doubletap" action="seekStep" value="-10" region="left"></media-gesture>
219
+ <media-gesture type="doubletap" action="toggleFullscreen" region="center"></media-gesture>
220
+ <media-gesture type="doubletap" action="seekStep" value="10" region="right"></media-gesture>
221
+
222
+ <!-- Input Feedback -->
223
+ <media-status-announcer></media-status-announcer>
224
+ <div class="media-input-feedback">
225
+ <media-volume-indicator hidden class="media-surface media-input-feedback-island media-input-feedback-island--volume">
226
+ <media-volume-indicator-fill class="media-input-feedback-island__content">
227
+ <media-icon name="volume-high" class="media-icon media-icon--volume-high"></media-icon>
228
+ <media-icon name="volume-low" class="media-icon media-icon--volume-low"></media-icon>
229
+ <media-icon name="volume-off" class="media-icon media-icon--volume-off"></media-icon>
230
+ <media-volume-indicator-value class="media-input-feedback-island__value"></media-volume-indicator-value>
231
+ </media-volume-indicator-fill>
232
+ </media-volume-indicator>
233
+ <media-status-indicator
234
+ hidden
235
+ actions="toggleSubtitles toggleFullscreen togglePictureInPicture"
236
+ class="media-surface media-input-feedback-island media-input-feedback-island--status"
237
+ >
238
+ <div class="media-input-feedback-island__content">
239
+ <media-icon name="captions-on" class="media-icon media-icon--captions-on"></media-icon>
240
+ <media-icon name="captions-off" class="media-icon media-icon--captions-off"></media-icon>
241
+ <media-icon name="fullscreen-enter" class="media-icon media-icon--fullscreen-enter"></media-icon>
242
+ <media-icon name="fullscreen-exit" class="media-icon media-icon--fullscreen-exit"></media-icon>
243
+ <media-icon name="pip-enter" class="media-icon media-icon--pip-enter"></media-icon>
244
+ <media-icon name="pip-exit" class="media-icon media-icon--pip-exit"></media-icon>
245
+ <media-status-indicator-value class="media-input-feedback-island__value"></media-status-indicator-value>
246
+ </div>
247
+ </media-status-indicator>
248
+ <media-seek-indicator hidden class="media-input-feedback-bubble">
249
+ <media-icon name="chevron" class="media-icon media-icon--seek"></media-icon>
250
+ <media-seek-indicator-value class="media-time"></media-seek-indicator-value>
251
+ </media-seek-indicator>
252
+ <media-status-indicator hidden actions="togglePaused" class="media-input-feedback-bubble">
253
+ <media-icon name="play" class="media-icon media-icon--play"></media-icon>
254
+ <media-icon name="pause" class="media-icon media-icon--pause"></media-icon>
255
+ </media-status-indicator>
256
+ </div>
257
+ </media-container>
258
+ </video-player>
259
+ ```
260
+
261
+ ```
262
+ /* -------------------------------------------------------------------------- */
263
+ /* Global styles for the host document, outside of the Shadow DOM */
264
+ /* -------------------------------------------------------------------------- */
265
+
266
+ video-player,
267
+ live-video-player {
268
+ display: contents;
269
+ }
270
+
271
+ /*
272
+ Required to override any default video and image styles (such as
273
+ Tailwind's CSS reset) and ensure they fill the container as expected.
274
+ */
275
+ video-player video,
276
+ video-player [slot="poster"],
277
+ live-video-player video,
278
+ live-video-player [slot="poster"] {
279
+ display: block;
280
+ width: 100%;
281
+ height: 100%;
282
+ }
283
+
284
+ video-player video::-webkit-media-text-track-container,
285
+ live-video-player video::-webkit-media-text-track-container {
286
+ z-index: 1;
287
+ font-family: inherit;
288
+ scale: 0.98;
289
+ translate: 0 var(--media-caption-track-y, 0);
290
+ transition: translate var(--media-caption-track-duration, 0) ease-out;
291
+ transition-delay: var(--media-caption-track-delay, 0);
292
+ }
293
+
294
+ /* -------------------------------------------------------------------------- */
295
+ /* Shared styles for all HTML skins */
296
+ /* -------------------------------------------------------------------------- */
297
+
298
+ media-tooltip-group {
299
+ display: contents;
300
+ }
301
+
302
+ :host {
303
+ /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */
304
+ display: grid;
305
+ width: 100%;
306
+ }
307
+
308
+ /* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */
309
+ .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
310
+ display: none;
311
+ }
312
+
313
+ /* ==========================================================================
314
+ Reset
315
+ ========================================================================== */
316
+
317
+ .media-default-skin *,
318
+ .media-default-skin *::before,
319
+ .media-default-skin *::after {
320
+ box-sizing: border-box;
321
+ }
322
+ .media-default-skin img,
323
+ .media-default-skin video,
324
+ .media-default-skin svg {
325
+ display: block;
326
+ max-width: 100%;
327
+ }
328
+ .media-default-skin button {
329
+ font: inherit;
330
+ }
331
+ .media-default-skin [hidden][hidden] {
332
+ /* Keep authored templates hidden even when component classes set display. */
333
+ display: none;
334
+ }
335
+ @media (prefers-reduced-motion: no-preference) {
336
+ .media-default-skin {
337
+ interpolate-size: allow-keywords;
338
+ }
339
+ }
340
+
341
+ /* ==========================================================================
342
+ Root Container
343
+ ========================================================================== */
344
+
345
+ .media-default-skin {
346
+ --media-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
347
+ --media-current-shadow-color-subtle: oklch(from var(--media-current-shadow-color) l c h / calc(alpha * 0.4));
348
+ --media-icon-size: 18px;
349
+ position: relative;
350
+ display: block;
351
+ width: 100%;
352
+ height: 100%;
353
+ container: media-root / inline-size;
354
+ font-family:
355
+ Inter Variable,
356
+ Inter,
357
+ ui-sans-serif,
358
+ system-ui,
359
+ sans-serif;
360
+ font-size: 0.8125rem; /* 13px at 100% font size */
361
+ -webkit-font-smoothing: auto;
362
+ -moz-osx-font-smoothing: auto;
363
+ line-height: 1.5;
364
+ letter-spacing: normal;
365
+ outline: 2px solid transparent;
366
+ outline-offset: -4px;
367
+ border-radius: var(--media-border-radius, 2rem);
368
+ isolation: isolate;
369
+ transition-timing-function: ease-out;
370
+ transition-duration: 100ms;
371
+ transition-property: outline-offset, outline-color;
372
+
373
+ &:focus-visible {
374
+ outline-color: currentColor;
375
+ outline-offset: 2px;
376
+ }
377
+ }
378
+
379
+ /* ==========================================================================
380
+ Surface (shared glass effect for tooltips, popovers, controls)
381
+ ========================================================================== */
382
+
383
+ .media-default-skin .media-surface {
384
+ background-color: var(--media-surface-background-color);
385
+ box-shadow:
386
+ 0 0 0 1px var(--media-surface-outer-border-color),
387
+ 0 1px 3px 0 var(--media-surface-shadow-color),
388
+ 0 1px 2px -1px var(--media-surface-shadow-color);
389
+ backdrop-filter: var(--media-surface-backdrop-filter);
390
+
391
+ /* Inner border ring */
392
+ &::after {
393
+ position: absolute;
394
+ inset: 0;
395
+ z-index: 10;
396
+ pointer-events: none;
397
+ content: "";
398
+ border-radius: inherit;
399
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
400
+ }
401
+ }
402
+
403
+ /* ==========================================================================
404
+ Media Element
405
+ ========================================================================== */
406
+
407
+ .media-default-skin ::slotted(video),
408
+ .media-default-skin video {
409
+ display: block;
410
+ width: 100%;
411
+ height: 100%;
412
+ object-fit: var(--media-object-fit, contain);
413
+ object-position: var(--media-object-position, center);
414
+ }
415
+ .media-default-skin ::slotted(video) {
416
+ border-radius: var(--media-video-border-radius);
417
+ }
418
+ .media-default-skin video {
419
+ border-radius: inherit;
420
+ }
421
+
422
+ .media-default-skin:fullscreen ::slotted(video),
423
+ .media-default-skin:fullscreen video {
424
+ object-fit: contain;
425
+ }
426
+
427
+ /* ==========================================================================
428
+ Overlay / Scrim
429
+ ========================================================================== */
430
+
431
+ .media-default-skin .media-overlay {
432
+ position: absolute;
433
+ inset: 0;
434
+ pointer-events: none;
435
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
436
+ border-radius: inherit;
437
+ opacity: 0;
438
+ backdrop-filter: blur(0) saturate(1);
439
+ transition-timing-function: ease-out;
440
+ transition-duration: var(--media-controls-transition-duration);
441
+ transition-property: opacity, backdrop-filter;
442
+ }
443
+
444
+ .media-default-skin .media-error ~ .media-overlay {
445
+ transition-delay: var(--media-error-dialog-transition-delay);
446
+ transition-duration: var(--media-error-dialog-transition-duration);
447
+ }
448
+
449
+ .media-default-skin .media-controls[data-visible] ~ .media-overlay,
450
+ .media-default-skin .media-error[data-open] ~ .media-overlay {
451
+ opacity: 1;
452
+ }
453
+
454
+ .media-default-skin .media-error[data-open] ~ .media-overlay {
455
+ backdrop-filter: blur(16px) saturate(1.5);
456
+ }
457
+
458
+ /* ==========================================================================
459
+ Buffering Indicator
460
+ ========================================================================== */
461
+
462
+ .media-default-skin .media-buffering-indicator {
463
+ position: absolute;
464
+ inset: 0;
465
+ display: none;
466
+ align-items: center;
467
+ justify-content: center;
468
+ color: oklch(1 0 0);
469
+ pointer-events: none;
470
+
471
+ &:not([data-visible]) {
472
+ --media-spinner-animation: none;
473
+ }
474
+
475
+ &[data-visible] {
476
+ display: flex;
477
+ }
478
+
479
+ .media-surface {
480
+ padding: 0.25rem;
481
+ border-radius: 100%;
482
+ }
483
+ }
484
+
485
+ /* ==========================================================================
486
+ Error Dialog
487
+ ========================================================================== */
488
+
489
+ .media-default-skin .media-error {
490
+ outline: none;
491
+ }
492
+
493
+ .media-default-skin .media-error:not([data-open]) {
494
+ display: none;
495
+ }
496
+
497
+ .media-default-skin .media-error__title {
498
+ font-weight: 600;
499
+ line-height: 1.25;
500
+ }
501
+
502
+ .media-default-skin .media-error__description {
503
+ overflow-wrap: anywhere;
504
+ opacity: 0.7;
505
+ }
506
+
507
+ .media-default-skin .media-error__actions {
508
+ display: flex;
509
+ gap: 0.5rem;
510
+
511
+ & > * {
512
+ flex: 1;
513
+ }
514
+ }
515
+
516
+ .media-default-skin .media-error[data-open] ~ .media-controls * {
517
+ visibility: hidden;
518
+ }
519
+
520
+ /* ==========================================================================
521
+ Controls
522
+ ========================================================================== */
523
+
524
+ .media-default-skin .media-controls {
525
+ display: flex;
526
+ column-gap: 0.075rem;
527
+ align-items: center;
528
+ padding: 0.375rem;
529
+ container: media-controls / inline-size;
530
+ text-shadow: 0 1px 0 var(--media-current-shadow-color);
531
+ border-radius: 1.5rem;
532
+ }
533
+
534
+ /* ==========================================================================
535
+ Time Display
536
+ ========================================================================== */
537
+
538
+ .media-default-skin .media-time-controls {
539
+ display: flex;
540
+ flex: 1;
541
+ gap: 0.75rem;
542
+ align-items: center;
543
+ padding-inline: 0.5rem;
544
+ container: media-time-controls / inline-size;
545
+ }
546
+
547
+ .media-default-skin .media-time {
548
+ font-variant-numeric: tabular-nums;
549
+ }
550
+
551
+ /* ==========================================================================
552
+ Buttons
553
+ ========================================================================== */
554
+
555
+ /* Base button */
556
+ .media-default-skin .media-button {
557
+ display: flex;
558
+ flex-shrink: 0;
559
+ align-items: center;
560
+ justify-content: center;
561
+ min-height: 0;
562
+ padding: 0.5rem 1rem;
563
+ text-align: center;
564
+ touch-action: manipulation;
565
+ cursor: pointer;
566
+ user-select: none;
567
+ outline: 2px solid transparent;
568
+ outline-offset: -2px;
569
+ border: none;
570
+ border-radius: calc(infinity * 1px);
571
+ transition-timing-function: ease-out;
572
+ transition-duration: 150ms;
573
+ transition-property: background-color, outline-offset, scale;
574
+ /* Fix weird jumping when clicking on the buttons in Safari. */
575
+ will-change: scale;
576
+
577
+ &:focus-visible {
578
+ outline-color: currentColor;
579
+ outline-offset: 2px;
580
+ }
581
+
582
+ &:active {
583
+ scale: 0.98;
584
+ }
585
+
586
+ &[disabled] {
587
+ cursor: not-allowed;
588
+ opacity: 0.5;
589
+ filter: grayscale(1);
590
+ }
591
+
592
+ &[data-availability="unavailable"],
593
+ &[data-availability="unsupported"] {
594
+ display: none;
595
+ }
596
+ }
597
+
598
+ /* Primary button variant */
599
+ .media-default-skin .media-button--primary {
600
+ font-weight: 500;
601
+ color: oklch(0 0 0);
602
+ text-shadow: none;
603
+ background: oklch(1 0 0);
604
+ }
605
+
606
+ /* Subtle button variant */
607
+ .media-default-skin .media-button--subtle {
608
+ color: inherit;
609
+ text-shadow: inherit;
610
+ background: transparent;
611
+
612
+ &:hover,
613
+ &:focus-visible,
614
+ &[aria-expanded="true"] {
615
+ text-decoration: none;
616
+ background-color: oklch(from currentColor l c h / 0.1);
617
+ }
618
+ }
619
+
620
+ /* Icon button variant */
621
+ .media-default-skin .media-button--icon {
622
+ display: grid;
623
+ width: 2.25rem;
624
+ aspect-ratio: 1;
625
+ padding: 0;
626
+
627
+ &:active {
628
+ scale: 0.9;
629
+ }
630
+
631
+ & .media-icon {
632
+ grid-area: 1 / 1;
633
+ transition-behavior: allow-discrete;
634
+ transition-property: display, opacity;
635
+ transition-duration: 150ms;
636
+ transition-timing-function: ease-out;
637
+ filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
638
+ }
639
+ }
640
+
641
+ /* Seek button */
642
+ .media-default-skin .media-button--seek {
643
+ & .media-icon__label {
644
+ position: absolute;
645
+ right: -1px;
646
+ bottom: -3px;
647
+ font-size: 10px;
648
+ font-weight: 480;
649
+ font-variant-numeric: tabular-nums;
650
+ }
651
+
652
+ &:has(.media-icon--flipped) .media-icon__label {
653
+ right: unset;
654
+ left: -1px;
655
+ }
656
+ }
657
+
658
+ /* Playback rate button */
659
+ .media-default-skin .media-button--playback-rate {
660
+ padding: 0;
661
+ font-variant-numeric: tabular-nums;
662
+
663
+ &::after {
664
+ width: 4ch;
665
+ content: attr(data-rate) "\00D7";
666
+ }
667
+
668
+ &[data-inline-rate-label]::after {
669
+ content: none;
670
+ }
671
+ }
672
+
673
+ /* Live button — wide pill button with a status dot (gray → red at the live
674
+ edge) rendered via ::before, and "LIVE" text rendered as the button's own
675
+ text content. */
676
+ .media-default-skin .media-button--live {
677
+ display: inline-flex;
678
+ gap: 0.4rem;
679
+ align-items: center;
680
+ width: auto;
681
+ aspect-ratio: auto;
682
+ padding: 0.5rem 0.75rem;
683
+ font-size: 0.75rem;
684
+ font-weight: 600;
685
+ line-height: 1;
686
+ text-transform: uppercase;
687
+ letter-spacing: 0.05em;
688
+
689
+ &::before {
690
+ display: inline-block;
691
+ flex-shrink: 0;
692
+ width: 0.5rem;
693
+ height: 0.5rem;
694
+ content: "";
695
+ background-color: oklch(from currentColor l c h / 0.4);
696
+ border-radius: 50%;
697
+ transition: background-color 150ms ease-out;
698
+ }
699
+
700
+ &[data-live-edge]::before {
701
+ background-color: oklch(0.65 0.22 27);
702
+ }
703
+ }
704
+
705
+ /* ==========================================================================
706
+ Button Groups
707
+ ========================================================================== */
708
+
709
+ .media-default-skin .media-button-group {
710
+ display: flex;
711
+ gap: 0.075rem;
712
+ align-items: center;
713
+
714
+ @container media-root (width > 42rem) {
715
+ gap: 0.125rem;
716
+ }
717
+ }
718
+
719
+ /* ==========================================================================
720
+ Icons
721
+ ========================================================================== */
722
+
723
+ .media-default-skin .media-icon__container {
724
+ position: relative;
725
+ }
726
+ .media-default-skin .media-icon {
727
+ flex-shrink: 0;
728
+ width: var(--media-icon-size);
729
+ height: var(--media-icon-size);
730
+ }
731
+ .media-default-skin .media-icon--flipped {
732
+ scale: -1 1;
733
+ }
734
+
735
+ /* ==========================================================================
736
+ Menus
737
+ Note: Menus use `.media-popover` styles for positioning and transitions.
738
+ ========================================================================== */
739
+
740
+ .media-default-skin .media-popover.media-menu {
741
+ box-sizing: border-box;
742
+ min-width: min(6rem, var(--media-popover-available-width, 6rem));
743
+ max-width: var(--media-popover-available-width, none);
744
+ max-height: var(--media-popover-available-height, none);
745
+ padding: 0.375rem;
746
+ overflow: auto;
747
+ overscroll-behavior: none;
748
+ border-radius: 1.25rem;
749
+
750
+ &::before {
751
+ display: none;
752
+ }
753
+ }
754
+
755
+ .media-default-skin .media-popover.media-menu .media-menu__group {
756
+ position: relative;
757
+ display: flex;
758
+ flex-direction: column;
759
+ gap: 0.125rem;
760
+
761
+ &::before {
762
+ position: absolute;
763
+ position-anchor: --media-menu-item-highlight-anchor;
764
+ inset: anchor(inside);
765
+ pointer-events: none;
766
+ content: "";
767
+ background-color: oklch(from currentColor l c h / 0.1);
768
+ border-radius: calc(infinity * 1px);
769
+ transition: inset ease-in-out 100ms;
770
+ }
771
+
772
+ @supports not (top: anchor(top)) {
773
+ &::before {
774
+ display: none;
775
+ }
776
+ }
777
+ }
778
+
779
+ .media-default-skin .media-popover.media-menu .media-menu__item {
780
+ display: flex;
781
+ gap: 0.5rem;
782
+ align-items: center;
783
+ justify-content: space-between;
784
+ min-height: 2rem;
785
+ padding: 0 0.75rem;
786
+ font-variant-numeric: tabular-nums;
787
+ color: inherit;
788
+ cursor: pointer;
789
+ outline: 2px solid transparent;
790
+ outline-offset: -2px;
791
+ border-radius: calc(infinity * 1px);
792
+
793
+ &:hover,
794
+ &[data-highlighted] {
795
+ anchor-name: --media-menu-item-highlight-anchor;
796
+ }
797
+
798
+ @supports not (top: anchor(top)) {
799
+ &:hover,
800
+ &[data-highlighted] {
801
+ background-color: oklch(from currentColor l c h / 0.1);
802
+ }
803
+ }
804
+
805
+ &:focus-visible {
806
+ outline-color: currentColor;
807
+ outline-offset: 2px;
808
+ }
809
+
810
+ &[aria-checked="true"] .media-menu__indicator {
811
+ opacity: 1;
812
+ }
813
+
814
+ &[aria-disabled="true"] {
815
+ pointer-events: none;
816
+ cursor: not-allowed;
817
+ opacity: 0.5;
818
+ }
819
+ }
820
+
821
+ .media-default-skin .media-popover.media-menu .media-menu__indicator {
822
+ flex-shrink: 0;
823
+ margin-right: -0.25rem;
824
+ opacity: 0;
825
+ }
826
+
827
+ .media-default-skin .media-popover.media-menu .media-menu__indicator .media-icon {
828
+ filter: drop-shadow(0 1px 0 var(--media-current-shadow-color));
829
+ }
830
+
831
+ /* ==========================================================================
832
+ Poster Image
833
+ ========================================================================== */
834
+
835
+ .media-default-skin media-poster,
836
+ .media-default-skin > img {
837
+ position: absolute;
838
+ inset: 0;
839
+ width: 100%;
840
+ height: 100%;
841
+ pointer-events: none;
842
+ transition: opacity 0.25s;
843
+ }
844
+ .media-default-skin media-poster:not([data-visible]),
845
+ .media-default-skin > img:not([data-visible]) {
846
+ opacity: 0;
847
+ }
848
+ .media-default-skin media-poster ::slotted(img),
849
+ .media-default-skin media-poster img {
850
+ position: absolute;
851
+ inset: 0;
852
+ width: 100%;
853
+ height: 100%;
854
+ object-fit: var(--media-object-fit, contain);
855
+ object-position: var(--media-object-position, center);
856
+ border-radius: var(--media-video-border-radius);
857
+ }
858
+ .media-default-skin > img {
859
+ object-fit: var(--media-object-fit, contain);
860
+ object-position: var(--media-object-position, center);
861
+ border-radius: inherit;
862
+ }
863
+
864
+ .media-default-skin:fullscreen media-poster ::slotted(img),
865
+ .media-default-skin:fullscreen media-poster img,
866
+ .media-default-skin:fullscreen > img {
867
+ object-fit: contain;
868
+ }
869
+
870
+ /* ==========================================================================
871
+ Media preview
872
+ ========================================================================== */
873
+ .media-default-skin .media-preview {
874
+ pointer-events: none;
875
+ background-color: oklch(0 0 0 / 0.9);
876
+ border-radius: 0.75rem;
877
+
878
+ & .media-preview__thumbnail {
879
+ position: relative;
880
+ display: block;
881
+ overflow: clip;
882
+ border-radius: inherit;
883
+
884
+ &::after {
885
+ position: absolute;
886
+ inset: 0;
887
+ content: "";
888
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.8), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
889
+ border-radius: inherit;
890
+ }
891
+ }
892
+
893
+ & .media-preview__time {
894
+ position: absolute;
895
+ inset-inline: 0;
896
+ bottom: 0.5rem;
897
+ text-align: center;
898
+ }
899
+
900
+ & .media-overlay {
901
+ opacity: 1;
902
+ }
903
+
904
+ & .media-preview__spinner {
905
+ position: absolute;
906
+ top: 50%;
907
+ left: 50%;
908
+ opacity: 0;
909
+ translate: -50% -50%;
910
+ }
911
+
912
+ & .media-preview__thumbnail,
913
+ & .media-preview__spinner {
914
+ transition: opacity 150ms ease-out;
915
+ }
916
+
917
+ &:not(:has(.media-preview__thumbnail[data-loading])) {
918
+ & .media-preview__spinner {
919
+ --media-spinner-animation: none;
920
+ }
921
+ }
922
+
923
+ &:has(.media-preview__thumbnail[data-loading]) {
924
+ & .media-preview__thumbnail {
925
+ opacity: 0;
926
+ }
927
+ & .media-preview__spinner {
928
+ opacity: 1;
929
+ }
930
+ }
931
+ }
932
+
933
+ /* ==========================================================================
934
+ Slider
935
+ ========================================================================== */
936
+
937
+ .media-default-skin .media-slider {
938
+ position: relative;
939
+ display: flex;
940
+ flex: 1;
941
+ align-items: center;
942
+ justify-content: center;
943
+ cursor: pointer;
944
+ outline: none;
945
+ border-radius: calc(infinity * 1px);
946
+
947
+ &[data-orientation="horizontal"] {
948
+ width: 100%;
949
+ min-width: 5rem;
950
+ height: 2rem;
951
+ }
952
+
953
+ &[data-orientation="vertical"] {
954
+ width: 2rem;
955
+ height: 5rem;
956
+ }
957
+ }
958
+
959
+ /* Track */
960
+ .media-default-skin .media-slider__track {
961
+ position: relative;
962
+ overflow: hidden;
963
+ user-select: none;
964
+ border-radius: inherit;
965
+ isolation: isolate;
966
+
967
+ &[data-orientation="horizontal"] {
968
+ width: 100%;
969
+ height: 0.25rem;
970
+ }
971
+
972
+ &[data-orientation="vertical"] {
973
+ width: 0.25rem;
974
+ height: 100%;
975
+ }
976
+ }
977
+
978
+ /* Thumb */
979
+ .media-default-skin .media-slider__thumb {
980
+ position: absolute;
981
+ z-index: 10;
982
+ width: 0.625rem;
983
+ height: 0.625rem;
984
+ user-select: none;
985
+ outline: 4px solid transparent;
986
+ outline-offset: -4px;
987
+ background-color: currentColor;
988
+ border-radius: calc(infinity * 1px);
989
+ box-shadow:
990
+ 0 0 0 1px var(--media-current-shadow-color-subtle, oklch(0 0 0 / 0.1)),
991
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
992
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
993
+ opacity: 0;
994
+ translate: -50% -50%;
995
+ transition-timing-function: ease-out;
996
+ transition-duration: 150ms;
997
+ transition-property: opacity, height, width, outline-offset;
998
+
999
+ &[data-orientation="horizontal"] {
1000
+ top: 50%;
1001
+ left: var(--media-slider-fill);
1002
+ }
1003
+
1004
+ &[data-orientation="vertical"] {
1005
+ top: calc(100% - var(--media-slider-fill));
1006
+ left: 50%;
1007
+ }
1008
+
1009
+ &:hover,
1010
+ &:focus {
1011
+ outline-color: oklch(from currentColor l c h / 0.25);
1012
+ outline-offset: 0;
1013
+ }
1014
+
1015
+ &::after {
1016
+ position: absolute;
1017
+ inset: -4px;
1018
+ content: "";
1019
+ border-radius: inherit;
1020
+ box-shadow: 0 0 0 2px oklch(1 0 0);
1021
+ transition-timing-function: ease-out;
1022
+ transition-duration: 150ms;
1023
+ transition-property: opacity, scale;
1024
+ }
1025
+
1026
+ &:not(:focus-visible)::after {
1027
+ opacity: 0;
1028
+ scale: 0.5;
1029
+ }
1030
+ }
1031
+
1032
+ .media-default-skin .media-slider:active .media-slider__thumb,
1033
+ .media-default-skin .media-slider__thumb--persistent {
1034
+ width: 0.75rem;
1035
+ height: 0.75rem;
1036
+ }
1037
+
1038
+ .media-default-skin .media-slider:hover .media-slider__thumb,
1039
+ .media-default-skin .media-slider__thumb:focus-visible,
1040
+ .media-default-skin .media-slider__thumb--persistent {
1041
+ opacity: 1;
1042
+ }
1043
+
1044
+ /* Shared track fills */
1045
+ .media-default-skin .media-slider__buffer,
1046
+ .media-default-skin .media-slider__fill {
1047
+ position: absolute;
1048
+ pointer-events: none;
1049
+ border-radius: inherit;
1050
+ }
1051
+
1052
+ .media-default-skin .media-slider__buffer[data-orientation="horizontal"],
1053
+ .media-default-skin .media-slider__fill[data-orientation="horizontal"] {
1054
+ inset-block: 0;
1055
+ left: 0;
1056
+ }
1057
+
1058
+ .media-default-skin .media-slider__buffer[data-orientation="vertical"],
1059
+ .media-default-skin .media-slider__fill[data-orientation="vertical"] {
1060
+ inset-inline: 0;
1061
+ bottom: 0;
1062
+ }
1063
+
1064
+ /* Buffer */
1065
+ .media-default-skin .media-slider__buffer {
1066
+ background-color: oklch(from currentColor l c h / 0.2);
1067
+ transition-timing-function: ease-out;
1068
+ transition-duration: 0.25s;
1069
+
1070
+ &[data-orientation="horizontal"] {
1071
+ width: var(--media-slider-buffer);
1072
+ transition-property: width;
1073
+ }
1074
+
1075
+ &[data-orientation="vertical"] {
1076
+ height: var(--media-slider-buffer);
1077
+ transition-property: height;
1078
+ }
1079
+ }
1080
+
1081
+ /* Fill */
1082
+ .media-default-skin .media-slider__fill {
1083
+ background-color: currentColor;
1084
+
1085
+ &[data-orientation="horizontal"] {
1086
+ width: var(--media-slider-fill);
1087
+ }
1088
+
1089
+ &[data-orientation="vertical"] {
1090
+ height: var(--media-slider-fill);
1091
+ }
1092
+ }
1093
+
1094
+ /* Dragging — thumb and fill follow the pointer position */
1095
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
1096
+ left: var(--media-slider-pointer);
1097
+ }
1098
+
1099
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
1100
+ top: calc(100% - var(--media-slider-pointer));
1101
+ }
1102
+
1103
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
1104
+ width: var(--media-slider-pointer);
1105
+ }
1106
+
1107
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
1108
+ height: var(--media-slider-pointer);
1109
+ }
1110
+
1111
+ /* ==========================================================================
1112
+ Popups & Tooltips
1113
+ ========================================================================== */
1114
+
1115
+ .media-default-skin .media-popover,
1116
+ .media-default-skin .media-tooltip {
1117
+ margin: 0;
1118
+ overflow: visible;
1119
+ color: inherit;
1120
+ border: 0;
1121
+ filter: blur(0px);
1122
+ transition-timing-function: var(--media-popup-transition-timing-function);
1123
+ transition-duration: var(--media-popup-transition-duration);
1124
+ transition-property: scale, opacity, filter;
1125
+
1126
+ &[data-starting-style],
1127
+ &[data-ending-style] {
1128
+ opacity: 0;
1129
+ filter: blur(8px);
1130
+ scale: 0.85;
1131
+ }
1132
+
1133
+ &[data-instant] {
1134
+ transition-duration: 0ms;
1135
+ }
1136
+
1137
+ &[data-side="top"] {
1138
+ transform-origin: bottom;
1139
+ }
1140
+ &[data-side="bottom"] {
1141
+ transform-origin: top;
1142
+ }
1143
+ &[data-side="left"] {
1144
+ transform-origin: right;
1145
+ }
1146
+ &[data-side="right"] {
1147
+ transform-origin: left;
1148
+ }
1149
+
1150
+ /* Safe area between trigger and popup */
1151
+ &::before {
1152
+ position: absolute;
1153
+ pointer-events: inherit;
1154
+ content: "";
1155
+ }
1156
+
1157
+ &[data-side="top"]::before,
1158
+ &[data-side="bottom"]::before {
1159
+ inset-inline: 0;
1160
+ width: 100%;
1161
+ }
1162
+ &[data-side="top"]::before {
1163
+ top: 100%;
1164
+ }
1165
+ &[data-side="bottom"]::before {
1166
+ bottom: 100%;
1167
+ }
1168
+
1169
+ &[data-side="left"]::before,
1170
+ &[data-side="right"]::before {
1171
+ inset-block: 0;
1172
+ height: 100%;
1173
+ }
1174
+ &[data-side="left"]::before {
1175
+ left: 100%;
1176
+ }
1177
+ &[data-side="right"]::before {
1178
+ right: 100%;
1179
+ }
1180
+ }
1181
+
1182
+ .media-default-skin .media-popover {
1183
+ &[data-side="top"]::before,
1184
+ &[data-side="bottom"]::before {
1185
+ height: var(--media-popover-side-offset);
1186
+ }
1187
+ &[data-side="left"]::before,
1188
+ &[data-side="right"]::before {
1189
+ width: var(--media-popover-side-offset);
1190
+ }
1191
+ }
1192
+ .media-default-skin .media-popover--volume {
1193
+ padding: 0.75rem 0;
1194
+ border-radius: calc(infinity * 1px);
1195
+
1196
+ &:has(media-volume-slider[data-availability="unsupported"]) {
1197
+ display: none;
1198
+ }
1199
+ }
1200
+
1201
+ .media-default-skin .media-tooltip {
1202
+ padding: 0.25rem 0.625rem;
1203
+ font-size: 0.75rem;
1204
+ white-space: nowrap;
1205
+ border-radius: calc(infinity * 1px);
1206
+
1207
+ &[data-side="top"]::before,
1208
+ &[data-side="bottom"]::before {
1209
+ height: var(--media-tooltip-side-offset);
1210
+ }
1211
+ &[data-side="left"]::before,
1212
+ &[data-side="right"]::before {
1213
+ width: var(--media-tooltip-side-offset);
1214
+ }
1215
+ }
1216
+
1217
+ /* ==========================================================================
1218
+ Native Caption Track
1219
+ ========================================================================== */
1220
+
1221
+ .media-default-skin {
1222
+ --media-caption-track-duration: var(--media-controls-transition-duration);
1223
+ --media-caption-track-delay: 25ms;
1224
+ --media-caption-track-y: -0.5rem;
1225
+
1226
+ &:has(.media-controls[data-visible]) {
1227
+ --media-caption-track-y: -5.5rem;
1228
+ }
1229
+
1230
+ @container media-root (width > 42rem) {
1231
+ &:has(.media-controls[data-visible]) > * {
1232
+ --media-caption-track-y: -3.5rem;
1233
+ }
1234
+ }
1235
+ }
1236
+
1237
+ .media-default-skin video::-webkit-media-text-track-container {
1238
+ z-index: 1;
1239
+ font-family: inherit;
1240
+ scale: 0.98;
1241
+ translate: 0 var(--media-caption-track-y);
1242
+ transition: translate var(--media-caption-track-duration) ease-out;
1243
+ transition-delay: var(--media-caption-track-delay);
1244
+ }
1245
+
1246
+ /* ==========================================================================
1247
+ Input Feedback
1248
+ ========================================================================== */
1249
+
1250
+ .media-default-skin .media-input-feedback {
1251
+ position: absolute;
1252
+ inset-inline: 0;
1253
+ top: 0;
1254
+ bottom: 3.5rem; /* Shift up a little in smaller containers */
1255
+ display: grid;
1256
+ grid-template-columns: 1fr 1fr 1fr;
1257
+ align-items: center;
1258
+ justify-items: center;
1259
+ color: var(--media-color-primary, oklch(1 0 0));
1260
+ pointer-events: none;
1261
+
1262
+ @container media-root (width > 24rem) {
1263
+ bottom: 0;
1264
+ }
1265
+ }
1266
+
1267
+ /* --- Feedback islands ------------------------------------------------------- */
1268
+
1269
+ .media-default-skin .media-input-feedback-island {
1270
+ --media-surface-background-color: oklch(0 0 0 / 0.25);
1271
+ position: absolute;
1272
+ top: 0.75rem;
1273
+ font-weight: 500;
1274
+ color: inherit;
1275
+ pointer-events: none;
1276
+ border-radius: calc(Infinity * 1px);
1277
+ transform-origin: top center;
1278
+ transition-timing-function: ease-out;
1279
+ transition-duration: 100ms;
1280
+
1281
+ .media-input-feedback-island__content {
1282
+ display: flex;
1283
+ gap: 0.5rem;
1284
+ align-items: center;
1285
+ justify-content: space-between;
1286
+ width: 100%;
1287
+ padding: 0.25rem 0.625rem;
1288
+
1289
+ /* Increase contrast of the content */
1290
+ * {
1291
+ mix-blend-mode: difference;
1292
+ }
1293
+ }
1294
+
1295
+ .media-icon {
1296
+ display: none;
1297
+ flex-shrink: 0;
1298
+ }
1299
+
1300
+ .media-input-feedback-island__value {
1301
+ margin-left: auto;
1302
+ }
1303
+
1304
+ @media (pointer: coarse) {
1305
+ transition-property: scale, translate, opacity;
1306
+ will-change: scale, translate, opacity;
1307
+ }
1308
+
1309
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1310
+ transition-property: scale, translate, filter, opacity;
1311
+ will-change: scale, translate, filter, opacity;
1312
+ }
1313
+
1314
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1315
+ --media-surface-background-color: oklch(0 0 0);
1316
+ }
1317
+
1318
+ /* Default hidden state */
1319
+ &[data-starting-style],
1320
+ &[data-ending-style] {
1321
+ opacity: 0;
1322
+ transition-timing-function: ease-in;
1323
+ transition-duration: 250ms;
1324
+
1325
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1326
+ filter: blur(8px);
1327
+ scale: 0.9;
1328
+ }
1329
+
1330
+ @media (prefers-reduced-motion: no-preference) {
1331
+ &[data-ending-style] {
1332
+ translate: 0 -25%;
1333
+ }
1334
+ }
1335
+ }
1336
+ }
1337
+
1338
+ .media-default-skin .media-input-feedback-island--volume {
1339
+ width: min(80%, 12rem);
1340
+
1341
+ .media-input-feedback-island__content {
1342
+ --media-progress-fill: var(--media-volume-fill);
1343
+ background-image: linear-gradient(
1344
+ to right,
1345
+ currentColor 0%,
1346
+ currentColor var(--media-progress-fill),
1347
+ transparent var(--media-progress-fill),
1348
+ transparent 100%
1349
+ );
1350
+ border-radius: inherit;
1351
+ transition: --media-progress-fill 200ms linear;
1352
+ }
1353
+ }
1354
+
1355
+ .media-default-skin .media-input-feedback-island--volume[data-level="high"] .media-icon--volume-high,
1356
+ .media-default-skin .media-input-feedback-island--volume[data-level="low"] .media-icon--volume-low,
1357
+ .media-default-skin .media-input-feedback-island--volume[data-level="off"] .media-icon--volume-off {
1358
+ display: block;
1359
+ }
1360
+
1361
+ .media-default-skin .media-input-feedback-island--status[data-status="captions-on"] .media-icon--captions-on,
1362
+ .media-default-skin .media-input-feedback-island--status[data-status="captions-off"] .media-icon--captions-off,
1363
+ .media-default-skin .media-input-feedback-island--status[data-status="fullscreen"] .media-icon--fullscreen-enter,
1364
+ .media-default-skin .media-input-feedback-island--status[data-status="exit-fullscreen"] .media-icon--fullscreen-exit,
1365
+ .media-default-skin .media-input-feedback-island--status[data-status="pip"] .media-icon--pip-enter,
1366
+ .media-default-skin .media-input-feedback-island--status[data-status="exit-pip"] .media-icon--pip-exit {
1367
+ display: block;
1368
+ }
1369
+
1370
+ /* --- Boundary shake ------------------------------------------------------- */
1371
+
1372
+ @media (prefers-reduced-motion: no-preference) {
1373
+ .media-default-skin .media-input-feedback-island--volume[data-min],
1374
+ .media-default-skin .media-input-feedback-island--volume[data-max] {
1375
+ animation: media-shake 300ms ease-in-out;
1376
+ }
1377
+ }
1378
+
1379
+ /* --- Bubble ---------------------------------------------------------------- */
1380
+
1381
+ .media-default-skin .media-input-feedback-bubble {
1382
+ display: flex;
1383
+ flex-direction: column;
1384
+ grid-row: 1;
1385
+ grid-column: 2; /* default to center for status bubbles and undirected seeks */
1386
+ align-items: center;
1387
+ justify-content: center;
1388
+ padding: 1rem;
1389
+ transition: opacity 250ms ease-out;
1390
+
1391
+ @container media-root (width > 24rem) {
1392
+ padding: 2rem;
1393
+ }
1394
+
1395
+ &[data-starting-style],
1396
+ &[data-ending-style] {
1397
+ opacity: 0;
1398
+ transition-timing-function: ease-in;
1399
+ transition-duration: 200ms;
1400
+ }
1401
+ }
1402
+
1403
+ /* Direction placement — seek bubbles move to the side implied by their direction. */
1404
+ .media-default-skin .media-input-feedback-bubble[data-direction="backward"] {
1405
+ grid-column: 1;
1406
+ justify-self: left;
1407
+ }
1408
+
1409
+ .media-default-skin .media-input-feedback-bubble:not([data-direction]) {
1410
+ grid-column: 2;
1411
+ transition-timing-function:
1412
+ ease-out, linear(0, 0.12 1.5%, 1.35 9.7%, 2.2 13.9%, 3 19.9%, 2.7 21.8%, 0.62 37.5%, 0.96 50.9%, 1);
1413
+ transition-duration: 600ms;
1414
+ transition-property: opacity, scale;
1415
+
1416
+ @media (prefers-reduced-motion: reduce) {
1417
+ transition: opacity 100ms ease-out;
1418
+ }
1419
+
1420
+ &[data-starting-style],
1421
+ &[data-ending-style] {
1422
+ opacity: 0;
1423
+ scale: 0.8;
1424
+ transition-timing-function: ease-in;
1425
+ transition-duration: 200ms;
1426
+ }
1427
+ }
1428
+
1429
+ .media-default-skin .media-input-feedback-bubble[data-direction="forward"] {
1430
+ grid-column: 3;
1431
+ justify-self: right;
1432
+ }
1433
+
1434
+ /* --- Bubble icons ---------------------------------------------------------- */
1435
+
1436
+ .media-default-skin .media-input-feedback-bubble .media-icon {
1437
+ display: none;
1438
+ width: 36px;
1439
+ height: 36px;
1440
+ }
1441
+
1442
+ /* seek: seek icon, flipped for backward */
1443
+ .media-default-skin .media-input-feedback-bubble[data-direction] .media-icon--seek {
1444
+ display: block;
1445
+ }
1446
+
1447
+ .media-default-skin .media-input-feedback-bubble[data-direction="backward"] .media-icon--seek {
1448
+ transform: scaleX(-1);
1449
+ }
1450
+
1451
+ @media (prefers-reduced-motion: no-preference) {
1452
+ .media-default-skin
1453
+ .media-input-feedback-bubble[data-direction="forward"]:not([data-starting-style])
1454
+ .media-icon--seek {
1455
+ animation: media-slide-in-forward 300ms ease-in-out;
1456
+ }
1457
+
1458
+ .media-default-skin
1459
+ .media-input-feedback-bubble[data-direction="backward"]:not([data-starting-style])
1460
+ .media-icon--seek {
1461
+ animation: media-slide-in-backward 300ms ease-in-out;
1462
+ }
1463
+
1464
+ .media-default-skin .media-input-feedback-island--status[data-status]:not([data-starting-style]) .media-icon,
1465
+ .media-default-skin .media-input-feedback-bubble[data-status]:not([data-starting-style]) .media-icon {
1466
+ animation: media-pop-in 250ms ease-out;
1467
+ }
1468
+ }
1469
+
1470
+ .media-default-skin .media-input-feedback-bubble[data-status="pause"] .media-icon--pause,
1471
+ .media-default-skin .media-input-feedback-bubble[data-status="play"] .media-icon--play {
1472
+ display: block;
1473
+ }
1474
+
1475
+ /* ==========================================================================
1476
+ Icon State Visibility for Video Skins
1477
+
1478
+ Data-attribute-driven visibility rules for multi-state icon buttons.
1479
+ Uses :is() with both element selectors (for HTML custom element wrappers)
1480
+ and class selectors (for React rendered SVG elements).
1481
+ ========================================================================== */
1482
+
1483
+ /* --- All icons hidden by default --- */
1484
+
1485
+ .media-button--play .media-icon--restart,
1486
+ .media-button--play .media-icon--play,
1487
+ .media-button--play .media-icon--pause,
1488
+ .media-button--mute .media-icon--volume-off,
1489
+ .media-button--mute .media-icon--volume-low,
1490
+ .media-button--mute .media-icon--volume-high,
1491
+ .media-button--fullscreen .media-icon--fullscreen-enter,
1492
+ .media-button--fullscreen .media-icon--fullscreen-exit,
1493
+ .media-button--pip .media-icon--pip-enter,
1494
+ .media-button--pip .media-icon--pip-exit,
1495
+ .media-button--cast .media-icon--cast-enter,
1496
+ .media-button--cast .media-icon--cast-exit,
1497
+ .media-button--captions .media-icon--captions-off,
1498
+ .media-button--captions .media-icon--captions-on {
1499
+ display: none;
1500
+ opacity: 0;
1501
+ }
1502
+
1503
+ /* --- Active icon per state --- */
1504
+
1505
+ /* Play: ended → restart */
1506
+ .media-button--play[data-ended] .media-icon--restart,
1507
+ /* Play: paused (not ended) → play */
1508
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
1509
+ /* Play: playing (not paused, not ended) → pause */
1510
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
1511
+ /* Mute: muted → volume off */
1512
+ .media-button--mute[data-muted] .media-icon--volume-off,
1513
+ /* Mute: volume low (not muted) → volume low */
1514
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
1515
+ /* Mute: volume high (not muted, not low) → volume high */
1516
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high,
1517
+ /* Fullscreen: not fullscreen → enter */
1518
+ .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
1519
+ /* Fullscreen: fullscreen → exit */
1520
+ .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
1521
+ /* Picture-in-Picture: not active → enter */
1522
+ .media-button--pip:not([data-pip]) .media-icon--pip-enter,
1523
+ /* Picture-in-Picture: active → exit */
1524
+ .media-button--pip[data-pip] .media-icon--pip-exit,
1525
+ /* Cast: not connected → enter */
1526
+ .media-button--cast:not([data-cast-state="connected"]) .media-icon--cast-enter,
1527
+ /* Cast: connected → exit */
1528
+ .media-button--cast[data-cast-state="connected"] .media-icon--cast-exit,
1529
+ /* Captions: not active → captions off */
1530
+ .media-button--captions:not([data-active]) .media-icon--captions-off,
1531
+ /* Captions: active → captions on */
1532
+ .media-button--captions[data-active] .media-icon--captions-on {
1533
+ display: block;
1534
+ opacity: 1;
1535
+ }
1536
+
1537
+ /* -------------------------------------------------------------------------- */
1538
+ /* Global @keyframes for all video skins (CSS & Tailwind) */
1539
+ /* -------------------------------------------------------------------------- */
1540
+
1541
+ @keyframes media-shake {
1542
+ 0%,
1543
+ 100% {
1544
+ translate: 0 0;
1545
+ }
1546
+ 20% {
1547
+ translate: -6px 0;
1548
+ }
1549
+ 40% {
1550
+ translate: 4px 0;
1551
+ }
1552
+ 60% {
1553
+ translate: -2px 0;
1554
+ }
1555
+ 80% {
1556
+ translate: 1px 0;
1557
+ }
1558
+ }
1559
+
1560
+ @keyframes media-slide-in-forward {
1561
+ from {
1562
+ translate: -60% 0;
1563
+ opacity: 0;
1564
+ }
1565
+ }
1566
+
1567
+ @keyframes media-slide-in-backward {
1568
+ from {
1569
+ translate: 60% 0;
1570
+ opacity: 0;
1571
+ }
1572
+ }
1573
+
1574
+ @keyframes media-pop-in {
1575
+ from {
1576
+ scale: 0.8;
1577
+ opacity: 0;
1578
+ }
1579
+ }
1580
+
1581
+ /* -------------------------------------------------------------------------- */
1582
+ /* Global @properties for all video skins (CSS & Tailwind) */
1583
+ /* -------------------------------------------------------------------------- */
1584
+
1585
+ @property --media-progress-fill {
1586
+ syntax: "<percentage>";
1587
+ inherits: true;
1588
+ initial-value: 0%;
1589
+ }
1590
+
1591
+
1592
+ /* ==========================================================================
1593
+ Root
1594
+ ========================================================================== */
1595
+
1596
+ .media-default-skin--video {
1597
+ --media-spring-timing-function: linear(
1598
+ 0,
1599
+ 0.034 1.5%,
1600
+ 0.763 9.7%,
1601
+ 1.066 13.9%,
1602
+ 1.198 19.9%,
1603
+ 1.184 21.8%,
1604
+ 0.963 37.5%,
1605
+ 0.997 50.9%,
1606
+ 1
1607
+ );
1608
+ --media-border-color: oklch(0 0 0 / 0.1);
1609
+ --media-surface-background-color: oklch(1 0 0 / 0.1);
1610
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
1611
+ --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
1612
+ --media-surface-shadow-color: oklch(0 0 0 / 0.15);
1613
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
1614
+ --media-video-border-radius: var(--media-border-radius, 2rem);
1615
+ --media-controls-transition-duration: 100ms;
1616
+ --media-controls-transition-timing-function: ease-out;
1617
+ --media-error-dialog-transition-duration: 350ms;
1618
+ --media-error-dialog-transition-delay: 100ms;
1619
+ --media-error-dialog-transition-timing-function: var(--media-spring-timing-function);
1620
+ --media-popup-transition-duration: 100ms;
1621
+ --media-popup-transition-timing-function: ease-out;
1622
+ --media-tooltip-side-offset: 0.75rem;
1623
+ --media-tooltip-boundary-offset: 0.5rem;
1624
+ --media-popover-side-offset: 0.5rem;
1625
+ --media-popover-boundary-offset: 0.5rem;
1626
+ background: oklch(0 0 0);
1627
+
1628
+ @media (prefers-reduced-motion: reduce) {
1629
+ --media-error-dialog-transition-duration: 50ms;
1630
+ --media-error-dialog-transition-delay: 0ms;
1631
+ --media-error-dialog-transition-timing-function: ease-out;
1632
+ --media-popup-transition-duration: 0ms;
1633
+ }
1634
+
1635
+ @media (prefers-color-scheme: dark) {
1636
+ --media-border-color: oklch(1 0 0 / 0.15);
1637
+ }
1638
+
1639
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1640
+ --media-surface-background-color: oklch(0 0 0);
1641
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.25);
1642
+ --media-surface-outer-border-color: transparent;
1643
+ }
1644
+
1645
+ &:has(.media-controls:not([data-visible])) {
1646
+ /* Slight delay to hide controls on non-touch devices after interaction */
1647
+ @media (pointer: fine) {
1648
+ --media-controls-transition-duration: 300ms;
1649
+ }
1650
+ @media (pointer: coarse) {
1651
+ --media-controls-transition-duration: 150ms;
1652
+ }
1653
+ @media (prefers-reduced-motion: reduce) {
1654
+ --media-controls-transition-duration: 50ms;
1655
+ }
1656
+ }
1657
+
1658
+ /* Inner border ring */
1659
+ &::after {
1660
+ position: absolute;
1661
+ inset: 0;
1662
+ z-index: 10;
1663
+ pointer-events: none;
1664
+ content: "";
1665
+ border-radius: inherit;
1666
+ box-shadow: inset 0 0 0 1px var(--media-border-color);
1667
+ }
1668
+
1669
+ &:fullscreen {
1670
+ --media-border-radius: 0;
1671
+ }
1672
+ }
1673
+
1674
+ /* ==========================================================================
1675
+ Error Dialog
1676
+ ========================================================================== */
1677
+
1678
+ .media-default-skin--video .media-error {
1679
+ position: absolute;
1680
+ inset: 0;
1681
+ z-index: 20;
1682
+ display: flex;
1683
+ align-items: center;
1684
+ justify-content: center;
1685
+ }
1686
+
1687
+ .media-default-skin--video .media-error__dialog {
1688
+ display: flex;
1689
+ flex-direction: column;
1690
+ gap: 0.75rem;
1691
+ max-width: 18rem;
1692
+ padding: 0.75rem;
1693
+ color: oklch(1 0 0);
1694
+ text-shadow: 0 1px 0 oklch(0 0 0 / 0.25);
1695
+ border-radius: 1.75rem;
1696
+ transition-delay: var(--media-error-dialog-transition-delay);
1697
+ transition-timing-function: var(--media-error-dialog-transition-timing-function);
1698
+ transition-duration: var(--media-error-dialog-transition-duration);
1699
+ transition-property: opacity, scale;
1700
+ }
1701
+
1702
+ .media-default-skin--video .media-error[data-starting-style] .media-error__dialog,
1703
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1704
+ opacity: 0;
1705
+ scale: 0.5;
1706
+ }
1707
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1708
+ transition-delay: 0ms;
1709
+ }
1710
+
1711
+ .media-default-skin--video .media-error__content {
1712
+ display: flex;
1713
+ flex-direction: column;
1714
+ gap: 0.5rem;
1715
+ padding: 0.5rem 0.5rem 0.375rem;
1716
+ text-shadow: inherit;
1717
+ }
1718
+
1719
+ .media-default-skin--video .media-error__title {
1720
+ font-size: 1rem;
1721
+ }
1722
+
1723
+ /* ==========================================================================
1724
+ Controls (hide/show behavior)
1725
+ ========================================================================== */
1726
+
1727
+ .media-default-skin--video .media-controls {
1728
+ position: absolute;
1729
+ inset-inline: 0.5rem;
1730
+ bottom: 0.5rem;
1731
+ z-index: 10;
1732
+ flex-wrap: wrap;
1733
+ max-width: 56rem;
1734
+ margin-inline: auto;
1735
+ color: var(--media-color-primary, oklch(1 0 0));
1736
+ transform-origin: bottom;
1737
+ transition-timing-function: var(--media-controls-transition-timing-function);
1738
+ transition-duration: var(--media-controls-transition-duration);
1739
+
1740
+ @media (pointer: fine) {
1741
+ transition-property: scale, filter, opacity;
1742
+ will-change: scale, filter, opacity;
1743
+ }
1744
+
1745
+ @media (pointer: coarse) {
1746
+ transition-property: scale, opacity;
1747
+ will-change: scale, opacity;
1748
+ }
1749
+
1750
+ &:not([data-visible]) {
1751
+ pointer-events: none;
1752
+ opacity: 0;
1753
+ scale: 0.95;
1754
+
1755
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1756
+ filter: blur(8px);
1757
+ }
1758
+
1759
+ @media (prefers-reduced-motion: reduce) {
1760
+ scale: 1;
1761
+ }
1762
+ }
1763
+
1764
+ & .media-time-controls {
1765
+ flex: 0 0 100%;
1766
+ order: -1;
1767
+ padding-inline: 0.625rem;
1768
+ }
1769
+
1770
+ & .media-button-group:first-child {
1771
+ flex: 1;
1772
+ text-align: left;
1773
+ }
1774
+
1775
+ & .media-button-group:last-child {
1776
+ flex: 1;
1777
+ justify-content: end;
1778
+ }
1779
+
1780
+ @container media-root (width > 42rem) {
1781
+ inset-inline: 0.75rem;
1782
+ bottom: 0.75rem;
1783
+ flex-wrap: nowrap;
1784
+ column-gap: 0.125rem;
1785
+ padding: 0.25rem;
1786
+
1787
+ & .media-time-controls {
1788
+ flex: 1;
1789
+ order: unset;
1790
+ }
1791
+
1792
+ & .media-button-group:first-child,
1793
+ & .media-button-group:last-child {
1794
+ flex: 0 0 auto;
1795
+ }
1796
+ }
1797
+ }
1798
+
1799
+ .media-default-skin--video .media-error[data-open] ~ .media-controls {
1800
+ display: none;
1801
+ }
1802
+
1803
+ /* Hide cursor when controls are hidden */
1804
+ .media-default-skin--video:has(.media-controls:not([data-visible])) {
1805
+ cursor: none;
1806
+ }
1807
+
1808
+ /* ==========================================================================
1809
+ Sliders
1810
+ ========================================================================== */
1811
+
1812
+ .media-default-skin--video .media-slider__track {
1813
+ background-color: oklch(1 0 0 / 0.2);
1814
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
1815
+ }
1816
+
1817
+ .media-default-skin--video .media-slider__preview {
1818
+ --media-preview-max-width: 11rem;
1819
+ --media-preview-padding: -1.125rem;
1820
+ /**
1821
+ Inset is the difference between the container width and the slider (100%) width.
1822
+ Divided by 2 as we render the time on both sides.
1823
+ */
1824
+ --media-preview-inset: calc((100cqi - 100%) / 2);
1825
+
1826
+ position: absolute;
1827
+ bottom: calc(100% + 1.2rem);
1828
+ left: clamp(
1829
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding) - var(--media-preview-inset)),
1830
+ var(--media-slider-pointer),
1831
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1832
+ );
1833
+ pointer-events: none;
1834
+ opacity: 0;
1835
+ filter: blur(8px);
1836
+ transform-origin: bottom;
1837
+ scale: 0.8;
1838
+ translate: -50%;
1839
+ transition-timing-function: ease-out;
1840
+ transition-duration: 150ms;
1841
+ transition-property: scale, opacity, filter;
1842
+
1843
+ & .media-preview__thumbnail {
1844
+ max-width: var(--media-preview-max-width);
1845
+ }
1846
+
1847
+ &:has(.media-preview__thumbnail[data-loading]) {
1848
+ max-height: 6rem;
1849
+ }
1850
+ }
1851
+ .media-default-skin--video .media-slider[data-pointing] .media-slider__preview:has([role="img"]:not([data-hidden])) {
1852
+ opacity: 1;
1853
+ filter: blur(0);
1854
+ scale: 1;
1855
+ }
1856
+
1857
+ ```
1858
+
1859
+ ## Skins, features, and presets
1860
+
1861
+ Each skin is built with specific [features](./features.md) in mind. For example, a video skin renders fullscreen and picture-in-picture controls. An audio skin doesn’t.
1862
+
1863
+ You’ll find both a skin and the feature bundle it expects exported from the same path. We call these paths **presets** .
1864
+
1865
+ Import
1866
+
1867
+ Description
1868
+
1869
+ Details
1870
+
1871
+ `@videojs/html/video`
1872
+
1873
+ General-purpose video player preset with full playback controls.
1874
+
1875
+
1876
+
1877
+ Feature bundle
1878
+
1879
+ `videoFeatures`
1880
+
1881
+ Features
1882
+
1883
+ [playback](../reference/feature-playback.md), [playbackRate](../reference/feature-playback-rate.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [fullscreen](../reference/feature-fullscreen.md), [pip](../reference/feature-pip.md), [remotePlayback](../reference/feature-remote-playback.md), [controls](../reference/feature-controls.md), [textTrack](../reference/feature-text-tracks.md), [error](../reference/feature-error.md)
1884
+
1885
+ Skins
1886
+
1887
+ `<video-minimal-skin>`, `<video-skin>`
1888
+
1889
+ Default media element
1890
+
1891
+ `<video>`
1892
+
1893
+ `@videojs/html/audio`
1894
+
1895
+ Audio-only player preset with playback and volume controls.
1896
+
1897
+
1898
+
1899
+ Feature bundle
1900
+
1901
+ `audioFeatures`
1902
+
1903
+ Features
1904
+
1905
+ [playback](../reference/feature-playback.md), [playbackRate](../reference/feature-playback-rate.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [error](../reference/feature-error.md)
1906
+
1907
+ Skins
1908
+
1909
+ `<audio-minimal-skin>`, `<audio-skin>`
1910
+
1911
+ Default media element
1912
+
1913
+ `<audio>`
1914
+
1915
+ `@videojs/html/background`
1916
+
1917
+ Ambient background video preset with no user controls.
1918
+
1919
+
1920
+
1921
+ Feature bundle
1922
+
1923
+ `backgroundFeatures`
1924
+
1925
+ Features
1926
+
1927
+
1928
+
1929
+ Skins
1930
+
1931
+ `<background-video-skin>`
1932
+
1933
+ Default media element
1934
+
1935
+ `<background-video>`
1936
+
1937
+ `@videojs/html/live-audio`
1938
+
1939
+ Live audio player preset — same features as `audio` with a skin that omits duration / current-time displays.
1940
+
1941
+
1942
+
1943
+ Feature bundle
1944
+
1945
+ `liveAudioFeatures`
1946
+
1947
+ Features
1948
+
1949
+ [playback](../reference/feature-playback.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [error](../reference/feature-error.md), [live](../reference/feature-live.md)
1950
+
1951
+ Skins
1952
+
1953
+ `<live-audio-minimal-skin>`, `<live-audio-skin>`
1954
+
1955
+ Default media element
1956
+
1957
+
1958
+
1959
+ `@videojs/html/live-video`
1960
+
1961
+ Live video player preset — same features as `video` with a skin that omits duration / current-time displays.
1962
+
1963
+
1964
+
1965
+ Feature bundle
1966
+
1967
+ `liveVideoFeatures`
1968
+
1969
+ Features
1970
+
1971
+ [playback](../reference/feature-playback.md), [volume](../reference/feature-volume.md), [time](../reference/feature-time.md), [source](../reference/feature-source.md), [buffer](../reference/feature-buffer.md), [fullscreen](../reference/feature-fullscreen.md), [pip](../reference/feature-pip.md), [remotePlayback](../reference/feature-remote-playback.md), [controls](../reference/feature-controls.md), [textTrack](../reference/feature-text-tracks.md), [error](../reference/feature-error.md), [live](../reference/feature-live.md)
1972
+
1973
+ Skins
1974
+
1975
+ `<live-video-minimal-skin>`, `<live-video-skin>`
1976
+
1977
+ Default media element
1978
+
1979
+
1980
+
1981
+ Presets are a topic quite a bit bigger than just this guide. To learn more, check out the guide:
1982
+
1983
+ [Read about presets](./presets.md)
1984
+
1985
+ ## Styling
1986
+
1987
+ There are currently two options for styling:
1988
+
1989
+ * Vanilla CSS that’s automatically imported. This is the default.
1990
+ * Tailwind where you [eject](../how-to/customize-skins#ejecting) the skin and use Tailwind classnames in your app.
1991
+
1992
+ ### Current limitations
1993
+
1994
+ * In both style systems we assume a 16px root font size and we use rem units for sizing.
1995
+ * The default font stack includes [`Inter`](https://rsms.me/inter/) (because it’s awesome) but we do not load the webfonts for you. If they are not available then system fonts are used.
1996
+
1997
+ These only apply to ejected HTML and React skins:
1998
+
1999
+ #### Vanilla CSS
2000
+
2001
+ * We use a [BEM](https://en.bem.info/methodology/quick-start/) classname structure and every component classname is scoped with a `media-` prefix.
2002
+
2003
+ #### Tailwind
2004
+
2005
+ * Currently we’re assuming you’re using the default configuration and that’s all that’s supported. With the release of our CLI, this will change, allowing you to specify a custom prefix to the Tailwind classnames. For now, you’ll need to edit the ejected skins yourself.
2006
+ * We’re assuming the latest version, currently 4.2.x.