@videojs/html 10.0.0-beta.21 → 10.0.0-beta.23

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 (498) hide show
  1. package/cdn/{abort-C9UiBdVU.js → abort-0nUH9HXc.js} +1 -1
  2. package/cdn/{abort-C9UiBdVU.js.map → abort-0nUH9HXc.js.map} +1 -1
  3. package/cdn/{abort-DsTff8mS.js → abort-DQxwCs92.js} +1 -1
  4. package/cdn/{abort-DsTff8mS.js.map → abort-DQxwCs92.js.map} +1 -1
  5. package/cdn/audio-minimal-ui.dev.js +1 -4
  6. package/cdn/audio-minimal-ui.js +1 -1
  7. package/cdn/audio-minimal.dev.js +5 -7
  8. package/cdn/audio-minimal.dev.js.map +1 -1
  9. package/cdn/audio-minimal.js +1 -1
  10. package/cdn/audio-minimal.js.map +1 -1
  11. package/cdn/audio-ui.dev.js +1 -4
  12. package/cdn/audio-ui.js +1 -1
  13. package/cdn/audio.dev.js +5 -7
  14. package/cdn/audio.dev.js.map +1 -1
  15. package/cdn/audio.js +1 -1
  16. package/cdn/audio.js.map +1 -1
  17. package/cdn/background.dev.js +3 -3
  18. package/cdn/background.js +1 -1
  19. package/cdn/background.js.map +1 -1
  20. package/cdn/{compounds-CM_NP-ej.js → compounds-BHHGcL_P.js} +148 -63
  21. package/cdn/compounds-BHHGcL_P.js.map +1 -0
  22. package/cdn/compounds-DJyzXLOB.js +8 -0
  23. package/cdn/compounds-DJyzXLOB.js.map +1 -0
  24. package/cdn/{create-player-Bi6WUwDZ.js → create-player-B-gVAMdr.js} +183 -94
  25. package/cdn/create-player-B-gVAMdr.js.map +1 -0
  26. package/cdn/create-player-C5ui1T2i.js +7 -0
  27. package/cdn/create-player-C5ui1T2i.js.map +1 -0
  28. package/cdn/default-Djy9PEXm.js +2 -0
  29. package/cdn/default-Djy9PEXm.js.map +1 -0
  30. package/cdn/{default-XHZAb7gP.js → default-YzaLyoYg.js} +3 -1
  31. package/cdn/default-YzaLyoYg.js.map +1 -0
  32. package/cdn/hls-DEP0AzDp.js +41 -0
  33. package/cdn/hls-DEP0AzDp.js.map +1 -0
  34. package/cdn/{hls-BotloEPN.js → hls-DR-Xxpxv.js} +163 -23
  35. package/cdn/hls-DR-Xxpxv.js.map +1 -0
  36. package/cdn/hotkey-element-BvI78DTc.js +2 -0
  37. package/cdn/{hotkey-element-DRGCbVj9.js.map → hotkey-element-BvI78DTc.js.map} +1 -1
  38. package/cdn/{hotkey-element-317kwVH5.js → hotkey-element-oEdY8YLl.js} +24 -18
  39. package/cdn/{hotkey-element-317kwVH5.js.map → hotkey-element-oEdY8YLl.js.map} +1 -1
  40. package/cdn/live-video-minimal.dev.d.ts +1 -0
  41. package/cdn/live-video-minimal.dev.js +115 -0
  42. package/cdn/live-video-minimal.dev.js.map +1 -0
  43. package/cdn/live-video-minimal.js +2 -0
  44. package/cdn/live-video-minimal.js.map +1 -0
  45. package/cdn/live-video.dev.d.ts +1 -0
  46. package/cdn/live-video.dev.js +130 -0
  47. package/cdn/live-video.dev.js.map +1 -0
  48. package/cdn/live-video.js +2 -0
  49. package/cdn/live-video.js.map +1 -0
  50. package/cdn/media/dash-video.dev.js +8 -7
  51. package/cdn/media/dash-video.dev.js.map +1 -1
  52. package/cdn/media/dash-video.js +6 -6
  53. package/cdn/media/dash-video.js.map +1 -1
  54. package/cdn/media/hls-video.dev.js +4 -4
  55. package/cdn/media/hls-video.js +1 -1
  56. package/cdn/media/hls-video.js.map +1 -1
  57. package/cdn/media/mux-audio.dev.js +8 -6
  58. package/cdn/media/mux-audio.dev.js.map +1 -1
  59. package/cdn/media/mux-audio.js +1 -1
  60. package/cdn/media/mux-audio.js.map +1 -1
  61. package/cdn/media/mux-video.dev.js +8 -6
  62. package/cdn/media/mux-video.dev.js.map +1 -1
  63. package/cdn/media/mux-video.js +1 -1
  64. package/cdn/media/mux-video.js.map +1 -1
  65. package/cdn/media/native-hls-video.dev.js +4 -4
  66. package/cdn/media/native-hls-video.js +1 -1
  67. package/cdn/media/native-hls-video.js.map +1 -1
  68. package/cdn/media/simple-hls-video.dev.js +11 -5
  69. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  70. package/cdn/media/simple-hls-video.js +6 -6
  71. package/cdn/media/simple-hls-video.js.map +1 -1
  72. package/cdn/media-attach-mixin-DuquRhAk.js +2 -0
  73. package/cdn/{media-attach-mixin-C2wz0Qbd.js.map → media-attach-mixin-DuquRhAk.js.map} +1 -1
  74. package/cdn/{media-attach-mixin-CYoNe7Sh.js → media-attach-mixin-pV8deGiO.js} +2 -2
  75. package/cdn/{media-attach-mixin-CYoNe7Sh.js.map → media-attach-mixin-pV8deGiO.js.map} +1 -1
  76. package/cdn/{minimal-BnDnlwbj.js → minimal-CciG7Fsu.js} +3 -1
  77. package/cdn/minimal-CciG7Fsu.js.map +1 -0
  78. package/cdn/minimal-DSLrhnDm.js +2 -0
  79. package/cdn/minimal-DSLrhnDm.js.map +1 -0
  80. package/cdn/{minimal-ui-cy2oEbFm.js → minimal-ui-Bx-_SggT.js} +6 -5
  81. package/cdn/minimal-ui-Bx-_SggT.js.map +1 -0
  82. package/cdn/minimal-ui-CFO4ssL8.js +2 -0
  83. package/cdn/{minimal-ui-CroDYUGf.js.map → minimal-ui-CFO4ssL8.js.map} +1 -1
  84. package/cdn/minimal-ui-D6Pvbx1R.js +2 -0
  85. package/cdn/minimal-ui-D6Pvbx1R.js.map +1 -0
  86. package/cdn/{minimal-ui-DhxN21v5.js → minimal-ui-Dl-8ZL53.js} +5 -5
  87. package/cdn/{minimal-ui-DhxN21v5.js.map → minimal-ui-Dl-8ZL53.js.map} +1 -1
  88. package/cdn/{mux-B5K6kOzg.js → mux-D5M5HL6A.js} +753 -7
  89. package/cdn/mux-D5M5HL6A.js.map +1 -0
  90. package/cdn/mux-DH3Kxyot.js +27 -0
  91. package/cdn/mux-DH3Kxyot.js.map +1 -0
  92. package/cdn/native-hls-DN_aWn2z.js +2 -0
  93. package/cdn/native-hls-DN_aWn2z.js.map +1 -0
  94. package/cdn/native-hls-ak4v9DN6.js +371 -0
  95. package/cdn/native-hls-ak4v9DN6.js.map +1 -0
  96. package/cdn/player-BKKCelEs.js +2 -0
  97. package/cdn/player-BKKCelEs.js.map +1 -0
  98. package/cdn/{player-CatrGW7l.js → player-C_6YjMl7.js} +93 -8
  99. package/cdn/player-C_6YjMl7.js.map +1 -0
  100. package/cdn/player-CtegNw3g.js +2 -0
  101. package/cdn/{player-BK35-ndY.js.map → player-CtegNw3g.js.map} +1 -1
  102. package/cdn/{player-xstFHOgW.js → player-D468sScc.js} +3 -3
  103. package/cdn/{player-xstFHOgW.js.map → player-D468sScc.js.map} +1 -1
  104. package/cdn/{context-0rI_P6jf.js → predicate-BOcV_HDG.js} +23 -2
  105. package/cdn/predicate-BOcV_HDG.js.map +1 -0
  106. package/cdn/{context-CEFisYD0.js → predicate-Cad5WV4q.js} +2 -2
  107. package/cdn/predicate-Cad5WV4q.js.map +1 -0
  108. package/cdn/{shallow-equal-xh6Wj-hj.js → shallow-equal-D-fthE54.js} +1 -1
  109. package/cdn/{shallow-equal-xh6Wj-hj.js.map → shallow-equal-D-fthE54.js.map} +1 -1
  110. package/cdn/{shallow-equal-Daj3-_LC.js → shallow-equal-DSpD9PMp.js} +1 -1
  111. package/cdn/{shallow-equal-Daj3-_LC.js.map → shallow-equal-DSpD9PMp.js.map} +1 -1
  112. package/cdn/{skin-element-CDUkmCtS.js → skin-element-BcbrkgGs.js} +2 -2
  113. package/cdn/{skin-element-CDUkmCtS.js.map → skin-element-BcbrkgGs.js.map} +1 -1
  114. package/cdn/{skin-element-BGP23sop.js → skin-element-DesLkJKs.js} +2 -2
  115. package/cdn/{skin-element-BGP23sop.js.map → skin-element-DesLkJKs.js.map} +1 -1
  116. package/cdn/types-B_4Es-UH.js +20 -0
  117. package/cdn/types-B_4Es-UH.js.map +1 -0
  118. package/cdn/types-DRezN4yy.js +2 -0
  119. package/cdn/types-DRezN4yy.js.map +1 -0
  120. package/cdn/{ui-Em9rF9Ah.js → ui-CzxKbsyb.js} +7 -6
  121. package/cdn/ui-CzxKbsyb.js.map +1 -0
  122. package/cdn/ui-D6DV-Emw.js +2 -0
  123. package/cdn/{ui-QHwo6iyo.js.map → ui-D6DV-Emw.js.map} +1 -1
  124. package/cdn/ui-Dw-n2AMs.js +2 -0
  125. package/cdn/ui-Dw-n2AMs.js.map +1 -0
  126. package/cdn/{ui-AFHQtrqa.js → ui-S_eLj4ur.js} +6 -6
  127. package/cdn/{ui-AFHQtrqa.js.map → ui-S_eLj4ur.js.map} +1 -1
  128. package/cdn/{video-host-ycP7ckxU.js → video-host-BR_2vUZH.js} +82 -39
  129. package/cdn/video-host-BR_2vUZH.js.map +1 -0
  130. package/cdn/video-host-Bkh2OyyP.js +47 -0
  131. package/cdn/video-host-Bkh2OyyP.js.map +1 -0
  132. package/cdn/video-minimal-ui.dev.js +1 -4
  133. package/cdn/video-minimal-ui.js +1 -1
  134. package/cdn/video-minimal.dev.js +11 -7
  135. package/cdn/video-minimal.dev.js.map +1 -1
  136. package/cdn/video-minimal.js +1 -1
  137. package/cdn/video-minimal.js.map +1 -1
  138. package/cdn/video-ui.dev.js +1 -4
  139. package/cdn/video-ui.js +1 -1
  140. package/cdn/video.dev.js +11 -7
  141. package/cdn/video.dev.js.map +1 -1
  142. package/cdn/video.js +1 -1
  143. package/cdn/video.js.map +1 -1
  144. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  145. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  146. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  147. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  148. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +6 -0
  149. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -0
  150. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +6 -0
  151. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -0
  152. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +6 -0
  153. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -0
  154. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +6 -0
  155. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -0
  156. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  157. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  158. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  159. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  160. package/dist/default/define/audio/minimal-skin.css +2 -1
  161. package/dist/default/define/audio/skin.css +2 -1
  162. package/dist/default/define/background/skin.js +1 -1
  163. package/dist/default/define/live-audio/minimal-skin.css +779 -0
  164. package/dist/default/define/live-audio/minimal-skin.js +26 -0
  165. package/dist/default/define/live-audio/minimal-skin.js.map +1 -0
  166. package/dist/default/define/live-audio/minimal-skin.tailwind.js +29 -0
  167. package/dist/default/define/live-audio/minimal-skin.tailwind.js.map +1 -0
  168. package/dist/default/define/live-audio/skin.css +795 -0
  169. package/dist/default/define/live-audio/skin.js +26 -0
  170. package/dist/default/define/live-audio/skin.js.map +1 -0
  171. package/dist/default/define/live-audio/skin.tailwind.js +28 -0
  172. package/dist/default/define/live-audio/skin.tailwind.js.map +1 -0
  173. package/dist/default/define/live-video/minimal-skin.css +1170 -0
  174. package/dist/default/define/live-video/minimal-skin.js +26 -0
  175. package/dist/default/define/live-video/minimal-skin.js.map +1 -0
  176. package/dist/default/define/live-video/minimal-skin.tailwind.js +30 -0
  177. package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -0
  178. package/dist/default/define/live-video/skin.css +1160 -0
  179. package/dist/default/define/live-video/skin.js +26 -0
  180. package/dist/default/define/live-video/skin.js.map +1 -0
  181. package/dist/default/define/live-video/skin.tailwind.js +29 -0
  182. package/dist/default/define/live-video/skin.tailwind.js.map +1 -0
  183. package/dist/default/define/skin-element.js +1 -1
  184. package/dist/default/define/ui/cast-button.js +7 -0
  185. package/dist/default/define/ui/cast-button.js.map +1 -0
  186. package/dist/default/define/video/minimal-skin.css +8 -1
  187. package/dist/default/define/video/minimal-skin.js +1 -1
  188. package/dist/default/define/video/minimal-skin.js.map +1 -1
  189. package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
  190. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  191. package/dist/default/define/video/minimal-ui.js +2 -0
  192. package/dist/default/define/video/minimal-ui.js.map +1 -1
  193. package/dist/default/define/video/skin.css +8 -1
  194. package/dist/default/define/video/skin.js +1 -1
  195. package/dist/default/define/video/skin.js.map +1 -1
  196. package/dist/default/define/video/skin.tailwind.js +1 -1
  197. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  198. package/dist/default/define/video/ui.js +2 -0
  199. package/dist/default/define/video/ui.js.map +1 -1
  200. package/dist/default/icons/dist/render/default/index.js +2 -0
  201. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  202. package/dist/default/icons/dist/render/minimal/index.js +2 -0
  203. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  204. package/dist/default/index.js +3 -1
  205. package/dist/default/media/mux-audio/index.js +4 -1
  206. package/dist/default/media/mux-audio/index.js.map +1 -1
  207. package/dist/default/media/mux-video/index.js +4 -1
  208. package/dist/default/media/mux-video/index.js.map +1 -1
  209. package/dist/default/presets/live-audio.js +6 -0
  210. package/dist/default/presets/live-video.js +6 -0
  211. package/dist/default/skins/dist/default/default/tailwind/components/button.js +1 -1
  212. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  213. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  214. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  215. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  216. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  217. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +7 -5
  218. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  219. package/dist/default/ui/alert-dialog/alert-dialog-element.js +12 -6
  220. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  221. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +6 -3
  222. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  223. package/dist/default/ui/cast-button/cast-button-element.js +24 -0
  224. package/dist/default/ui/cast-button/cast-button-element.js.map +1 -0
  225. package/dist/default/ui/error-dialog/error-dialog-element.js +4 -1
  226. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -1
  227. package/dist/default/ui/gesture/gesture-element.js +10 -7
  228. package/dist/default/ui/gesture/gesture-element.js.map +1 -1
  229. package/dist/default/ui/hotkey/hotkey-element.js +10 -7
  230. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
  231. package/dist/default/ui/media-button-element.js +4 -2
  232. package/dist/default/ui/media-button-element.js.map +1 -1
  233. package/dist/default/ui/popover/popover-element.js +14 -7
  234. package/dist/default/ui/popover/popover-element.js.map +1 -1
  235. package/dist/default/ui/slider/slider-element.js +8 -4
  236. package/dist/default/ui/slider/slider-element.js.map +1 -1
  237. package/dist/default/ui/slider/slider-preview-element.js +9 -6
  238. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  239. package/dist/default/ui/slider/slider-value-element.js +5 -4
  240. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  241. package/dist/default/ui/thumbnail/thumbnail-element.js +10 -5
  242. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  243. package/dist/default/ui/time/time-element.js +8 -4
  244. package/dist/default/ui/time/time-element.js.map +1 -1
  245. package/dist/default/ui/time-slider/time-slider-element.js +12 -6
  246. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  247. package/dist/default/ui/tooltip/tooltip-element.js +16 -8
  248. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  249. package/dist/default/ui/tooltip/tooltip-group-element.js +7 -5
  250. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  251. package/dist/default/ui/volume-slider/volume-slider-element.js +10 -5
  252. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  253. package/dist/dev/_virtual/_rolldown/runtime.js +27 -0
  254. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  255. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  256. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  257. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  258. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +6 -0
  259. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -0
  260. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +6 -0
  261. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -0
  262. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +6 -0
  263. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -0
  264. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +6 -0
  265. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -0
  266. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  267. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  268. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  269. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  270. package/dist/dev/define/audio/minimal-skin.css +2 -1
  271. package/dist/dev/define/audio/minimal-skin.d.ts +2 -2
  272. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  273. package/dist/dev/define/audio/player.d.ts +2 -2
  274. package/dist/dev/define/audio/skin.css +2 -1
  275. package/dist/dev/define/audio/skin.d.ts +2 -2
  276. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  277. package/dist/dev/define/background/player.d.ts +2 -2
  278. package/dist/dev/define/background/skin.d.ts.map +1 -1
  279. package/dist/dev/define/background/skin.js +1 -1
  280. package/dist/dev/define/live-audio/minimal-skin.css +779 -0
  281. package/dist/dev/define/live-audio/minimal-skin.d.ts +17 -0
  282. package/dist/dev/define/live-audio/minimal-skin.d.ts.map +1 -0
  283. package/dist/dev/define/live-audio/minimal-skin.js +76 -0
  284. package/dist/dev/define/live-audio/minimal-skin.js.map +1 -0
  285. package/dist/dev/define/live-audio/minimal-skin.tailwind.d.ts +14 -0
  286. package/dist/dev/define/live-audio/minimal-skin.tailwind.d.ts.map +1 -0
  287. package/dist/dev/define/live-audio/minimal-skin.tailwind.js +79 -0
  288. package/dist/dev/define/live-audio/minimal-skin.tailwind.js.map +1 -0
  289. package/dist/dev/define/live-audio/skin.css +795 -0
  290. package/dist/dev/define/live-audio/skin.d.ts +17 -0
  291. package/dist/dev/define/live-audio/skin.d.ts.map +1 -0
  292. package/dist/dev/define/live-audio/skin.js +83 -0
  293. package/dist/dev/define/live-audio/skin.js.map +1 -0
  294. package/dist/dev/define/live-audio/skin.tailwind.d.ts +14 -0
  295. package/dist/dev/define/live-audio/skin.tailwind.d.ts.map +1 -0
  296. package/dist/dev/define/live-audio/skin.tailwind.js +78 -0
  297. package/dist/dev/define/live-audio/skin.tailwind.js.map +1 -0
  298. package/dist/dev/define/live-video/minimal-skin.css +1170 -0
  299. package/dist/dev/define/live-video/minimal-skin.d.ts +17 -0
  300. package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -0
  301. package/dist/dev/define/live-video/minimal-skin.js +112 -0
  302. package/dist/dev/define/live-video/minimal-skin.js.map +1 -0
  303. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts +14 -0
  304. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -0
  305. package/dist/dev/define/live-video/minimal-skin.tailwind.js +110 -0
  306. package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -0
  307. package/dist/dev/define/live-video/skin.css +1160 -0
  308. package/dist/dev/define/live-video/skin.d.ts +17 -0
  309. package/dist/dev/define/live-video/skin.d.ts.map +1 -0
  310. package/dist/dev/define/live-video/skin.js +127 -0
  311. package/dist/dev/define/live-video/skin.js.map +1 -0
  312. package/dist/dev/define/live-video/skin.tailwind.d.ts +14 -0
  313. package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -0
  314. package/dist/dev/define/live-video/skin.tailwind.js +111 -0
  315. package/dist/dev/define/live-video/skin.tailwind.js.map +1 -0
  316. package/dist/dev/define/skin-element.d.ts +1 -1
  317. package/dist/dev/define/skin-element.d.ts.map +1 -1
  318. package/dist/dev/define/skin-element.js +1 -1
  319. package/dist/dev/define/ui/cast-button.d.ts +9 -0
  320. package/dist/dev/define/ui/cast-button.d.ts.map +1 -0
  321. package/dist/dev/define/ui/cast-button.js +7 -0
  322. package/dist/dev/define/ui/cast-button.js.map +1 -0
  323. package/dist/dev/define/video/minimal-skin.css +8 -1
  324. package/dist/dev/define/video/minimal-skin.d.ts +2 -2
  325. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  326. package/dist/dev/define/video/minimal-skin.js +6 -0
  327. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  328. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  329. package/dist/dev/define/video/minimal-skin.tailwind.js +5 -0
  330. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  331. package/dist/dev/define/video/minimal-ui.js +2 -0
  332. package/dist/dev/define/video/minimal-ui.js.map +1 -1
  333. package/dist/dev/define/video/player.d.ts +2 -2
  334. package/dist/dev/define/video/skin.css +8 -1
  335. package/dist/dev/define/video/skin.d.ts +2 -2
  336. package/dist/dev/define/video/skin.d.ts.map +1 -1
  337. package/dist/dev/define/video/skin.js +6 -0
  338. package/dist/dev/define/video/skin.js.map +1 -1
  339. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  340. package/dist/dev/define/video/skin.tailwind.js +5 -0
  341. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  342. package/dist/dev/define/video/ui.js +2 -0
  343. package/dist/dev/define/video/ui.js.map +1 -1
  344. package/dist/dev/icons/dist/render/default/index.js +2 -0
  345. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  346. package/dist/dev/icons/dist/render/minimal/index.js +2 -0
  347. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  348. package/dist/dev/index.d.ts +13 -3
  349. package/dist/dev/index.d.ts.map +1 -0
  350. package/dist/dev/index.js +3 -1
  351. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  352. package/dist/dev/media/container-element.d.ts +2 -2
  353. package/dist/dev/media/dash-video/index.d.ts +2 -2
  354. package/dist/dev/media/hls-video/index.d.ts +2 -2
  355. package/dist/dev/media/mux-audio/index.d.ts +2 -2
  356. package/dist/dev/media/mux-audio/index.js +4 -1
  357. package/dist/dev/media/mux-audio/index.js.map +1 -1
  358. package/dist/dev/media/mux-video/index.d.ts +2 -2
  359. package/dist/dev/media/mux-video/index.js +4 -1
  360. package/dist/dev/media/mux-video/index.js.map +1 -1
  361. package/dist/dev/media/native-hls-video/index.d.ts +2 -2
  362. package/dist/dev/media/simple-hls-video/index.d.ts +2 -2
  363. package/dist/dev/player/context.d.ts +1 -1
  364. package/dist/dev/player/player-controller.d.ts +1 -1
  365. package/dist/dev/player/player-controller.d.ts.map +1 -1
  366. package/dist/dev/presets/live-audio.d.ts +6 -0
  367. package/dist/dev/presets/live-audio.js +6 -0
  368. package/dist/dev/presets/live-video.d.ts +6 -0
  369. package/dist/dev/presets/live-video.js +6 -0
  370. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +1 -1
  371. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  372. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  373. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  374. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +5 -0
  375. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  376. package/dist/dev/store/container-mixin.d.ts +1 -1
  377. package/dist/dev/store/provider-mixin.d.ts +1 -1
  378. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts.map +1 -1
  379. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +7 -5
  380. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  381. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +2 -2
  382. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  383. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +12 -6
  384. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  385. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +2 -2
  386. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  387. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +6 -3
  388. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  389. package/dist/dev/ui/captions-button/captions-button-element.d.ts +4 -4
  390. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  391. package/dist/dev/ui/cast-button/cast-button-element.d.ts +19 -0
  392. package/dist/dev/ui/cast-button/cast-button-element.d.ts.map +1 -0
  393. package/dist/dev/ui/cast-button/cast-button-element.js +24 -0
  394. package/dist/dev/ui/cast-button/cast-button-element.js.map +1 -0
  395. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -1
  396. package/dist/dev/ui/error-dialog/error-dialog-element.js +4 -1
  397. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -1
  398. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +4 -4
  399. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  400. package/dist/dev/ui/gesture/gesture-element.js +10 -7
  401. package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
  402. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -1
  403. package/dist/dev/ui/hotkey/hotkey-element.js +10 -7
  404. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
  405. package/dist/dev/ui/media-button-element.d.ts +1 -1
  406. package/dist/dev/ui/media-button-element.js +4 -2
  407. package/dist/dev/ui/media-button-element.js.map +1 -1
  408. package/dist/dev/ui/media-element.d.ts +2 -2
  409. package/dist/dev/ui/mute-button/mute-button-element.d.ts +4 -4
  410. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  411. package/dist/dev/ui/pip-button/pip-button-element.d.ts +4 -4
  412. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  413. package/dist/dev/ui/play-button/play-button-element.d.ts +5 -5
  414. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  415. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +3 -3
  416. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
  417. package/dist/dev/ui/popover/popover-element.d.ts +3 -3
  418. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  419. package/dist/dev/ui/popover/popover-element.js +14 -7
  420. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  421. package/dist/dev/ui/poster/poster-element.d.ts +4 -4
  422. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  423. package/dist/dev/ui/seek-button/seek-button-element.d.ts +4 -4
  424. package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -1
  425. package/dist/dev/ui/slider/slider-element.d.ts +2 -2
  426. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  427. package/dist/dev/ui/slider/slider-element.js +8 -4
  428. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  429. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
  430. package/dist/dev/ui/slider/slider-preview-element.js +9 -6
  431. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  432. package/dist/dev/ui/slider/slider-value-element.d.ts.map +1 -1
  433. package/dist/dev/ui/slider/slider-value-element.js +5 -4
  434. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  435. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
  436. package/dist/dev/ui/thumbnail/thumbnail-element.js +10 -5
  437. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  438. package/dist/dev/ui/time/time-element.d.ts +2 -2
  439. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  440. package/dist/dev/ui/time/time-element.js +8 -4
  441. package/dist/dev/ui/time/time-element.js.map +1 -1
  442. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  443. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  444. package/dist/dev/ui/time-slider/time-slider-element.js +12 -6
  445. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  446. package/dist/dev/ui/tooltip/tooltip-element.d.ts +3 -3
  447. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  448. package/dist/dev/ui/tooltip/tooltip-element.js +16 -8
  449. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  450. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts.map +1 -1
  451. package/dist/dev/ui/tooltip/tooltip-group-element.js +7 -5
  452. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  453. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +2 -2
  454. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  455. package/dist/dev/ui/volume-slider/volume-slider-element.js +10 -5
  456. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  457. package/package.json +31 -10
  458. package/cdn/compounds-CM_NP-ej.js.map +0 -1
  459. package/cdn/compounds-Vvz-YfXP.js +0 -8
  460. package/cdn/compounds-Vvz-YfXP.js.map +0 -1
  461. package/cdn/context-0rI_P6jf.js.map +0 -1
  462. package/cdn/context-CEFisYD0.js.map +0 -1
  463. package/cdn/create-player-Bi6WUwDZ.js.map +0 -1
  464. package/cdn/create-player-CKuX8YI5.js +0 -7
  465. package/cdn/create-player-CKuX8YI5.js.map +0 -1
  466. package/cdn/default-C8KsZ0zK.js +0 -2
  467. package/cdn/default-C8KsZ0zK.js.map +0 -1
  468. package/cdn/default-XHZAb7gP.js.map +0 -1
  469. package/cdn/hls-BotloEPN.js.map +0 -1
  470. package/cdn/hls-CBpGTZXU.js +0 -41
  471. package/cdn/hls-CBpGTZXU.js.map +0 -1
  472. package/cdn/hotkey-element-DRGCbVj9.js +0 -2
  473. package/cdn/media-attach-mixin-C2wz0Qbd.js +0 -2
  474. package/cdn/minimal-BnDnlwbj.js.map +0 -1
  475. package/cdn/minimal-CqBxBoLe.js +0 -2
  476. package/cdn/minimal-CqBxBoLe.js.map +0 -1
  477. package/cdn/minimal-ui-C_G24FML.js +0 -2
  478. package/cdn/minimal-ui-C_G24FML.js.map +0 -1
  479. package/cdn/minimal-ui-CroDYUGf.js +0 -2
  480. package/cdn/minimal-ui-cy2oEbFm.js.map +0 -1
  481. package/cdn/mux-B5K6kOzg.js.map +0 -1
  482. package/cdn/mux-DJhfbcCw.js +0 -25
  483. package/cdn/mux-DJhfbcCw.js.map +0 -1
  484. package/cdn/native-hls-CU2F7L5C.js +0 -123
  485. package/cdn/native-hls-CU2F7L5C.js.map +0 -1
  486. package/cdn/native-hls-DKcYYWRt.js +0 -2
  487. package/cdn/native-hls-DKcYYWRt.js.map +0 -1
  488. package/cdn/player-BK35-ndY.js +0 -2
  489. package/cdn/player-C7ajkBi4.js +0 -2
  490. package/cdn/player-C7ajkBi4.js.map +0 -1
  491. package/cdn/player-CatrGW7l.js.map +0 -1
  492. package/cdn/ui-B7vt9mp-.js +0 -2
  493. package/cdn/ui-B7vt9mp-.js.map +0 -1
  494. package/cdn/ui-Em9rF9Ah.js.map +0 -1
  495. package/cdn/ui-QHwo6iyo.js +0 -2
  496. package/cdn/video-host-CPRJVRi3.js +0 -47
  497. package/cdn/video-host-CPRJVRi3.js.map +0 -1
  498. package/cdn/video-host-ycP7ckxU.js.map +0 -1
@@ -0,0 +1,779 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Base */
3
+ /* -------------------------------------------------------------------------- */
4
+
5
+ video-player {
6
+ display: contents;
7
+ }
8
+
9
+ /*
10
+ Required to override any default video and image styles (such as
11
+ Tailwind's CSS reset) and ensure they fill the container as expected.
12
+ */
13
+ video-player video,
14
+ video-player [slot="poster"] {
15
+ display: block;
16
+ width: 100%;
17
+ height: 100%;
18
+ }
19
+
20
+ video-player video::-webkit-media-text-track-container {
21
+ transition: translate var(--media-caption-track-duration, 0) ease-out;
22
+ transition-delay: var(--media-caption-track-delay, 0);
23
+ translate: 0 var(--media-caption-track-y, 0);
24
+ scale: 0.98;
25
+ z-index: 1;
26
+ font-family: inherit;
27
+ }
28
+
29
+ media-tooltip-group {
30
+ display: contents;
31
+ }
32
+
33
+ :host {
34
+ /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */
35
+ display: grid;
36
+ width: 100%;
37
+ }
38
+
39
+ /* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */
40
+ .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
41
+ display: none;
42
+ }
43
+
44
+ /* ==========================================================================
45
+ Reset
46
+ ========================================================================== */
47
+
48
+ .media-minimal-skin *,
49
+ .media-minimal-skin *::before,
50
+ .media-minimal-skin *::after {
51
+ box-sizing: border-box;
52
+ }
53
+ .media-minimal-skin img,
54
+ .media-minimal-skin video,
55
+ .media-minimal-skin svg {
56
+ display: block;
57
+ max-width: 100%;
58
+ }
59
+ .media-minimal-skin button {
60
+ font: inherit;
61
+ }
62
+ @media (prefers-reduced-motion: no-preference) {
63
+ .media-minimal-skin {
64
+ interpolate-size: allow-keywords;
65
+ }
66
+ }
67
+
68
+ /* ==========================================================================
69
+ Root Container
70
+ ========================================================================== */
71
+
72
+ .media-minimal-skin {
73
+ container: media-root / inline-size;
74
+ position: relative;
75
+ isolation: isolate;
76
+ display: block;
77
+ height: 100%;
78
+ width: 100%;
79
+ border-radius: var(--media-border-radius, 0.75rem);
80
+ outline: 2px solid transparent;
81
+ outline-offset: 2px;
82
+
83
+ &:focus-visible {
84
+ outline-color: currentColor;
85
+ }
86
+ font-family:
87
+ Inter Variable,
88
+ Inter,
89
+ ui-sans-serif,
90
+ system-ui,
91
+ sans-serif;
92
+ line-height: 1.5;
93
+ letter-spacing: normal;
94
+ -webkit-font-smoothing: auto;
95
+ -moz-osx-font-smoothing: auto;
96
+
97
+ & > * {
98
+ font-size: 0.75rem; /* 12px at 100% font size */
99
+ }
100
+
101
+ @container media-root (width > 48rem) {
102
+ & > * {
103
+ font-size: 0.875rem; /* 14px at 100% font size */
104
+ }
105
+ }
106
+ }
107
+
108
+ /* ==========================================================================
109
+ Buffering Indicator
110
+ ========================================================================== */
111
+
112
+ .media-minimal-skin .media-buffering-indicator {
113
+ position: absolute;
114
+ inset: 0;
115
+ display: none;
116
+ align-items: center;
117
+ justify-content: center;
118
+ color: oklch(1 0 0);
119
+ pointer-events: none;
120
+
121
+ &[data-visible] {
122
+ display: flex;
123
+ }
124
+ }
125
+
126
+ /* ==========================================================================
127
+ Error Dialog
128
+ ========================================================================== */
129
+
130
+ .media-minimal-skin .media-error:not([data-open]) {
131
+ display: none;
132
+ }
133
+
134
+ .media-minimal-skin .media-error__title {
135
+ font-weight: 600;
136
+ line-height: 1.25;
137
+ }
138
+
139
+ .media-minimal-skin .media-error__description {
140
+ opacity: 0.7;
141
+ overflow-wrap: anywhere;
142
+ }
143
+
144
+ .media-minimal-skin .media-error__actions {
145
+ display: flex;
146
+ gap: 0.5rem;
147
+
148
+ & > * {
149
+ flex: 1;
150
+ }
151
+ }
152
+
153
+ .media-minimal-skin .media-error[data-open] ~ .media-controls * {
154
+ visibility: hidden;
155
+ }
156
+
157
+ /* ==========================================================================
158
+ Controls
159
+ ========================================================================== */
160
+
161
+ .media-minimal-skin .media-controls {
162
+ container: media-controls / inline-size;
163
+ display: flex;
164
+ align-items: center;
165
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
166
+ --media-controls-current-shadow-color-subtle: oklch(
167
+ from var(--media-controls-current-shadow-color) l c h /
168
+ calc(alpha * 0.4)
169
+ );
170
+ background-color: var(--media-controls-background-color);
171
+ backdrop-filter: var(--media-controls-backdrop-filter);
172
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
173
+ }
174
+
175
+ /* ==========================================================================
176
+ Time Controls & Display
177
+ ========================================================================== */
178
+
179
+ .media-minimal-skin .media-time-controls {
180
+ container: media-time-controls / inline-size;
181
+ display: flex;
182
+ flex-direction: row-reverse;
183
+ align-items: center;
184
+ flex: 1;
185
+ gap: 0.75rem;
186
+ }
187
+
188
+ .media-minimal-skin .media-time-group {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: 0.25rem;
192
+ }
193
+
194
+ .media-minimal-skin .media-time {
195
+ font-variant-numeric: tabular-nums;
196
+ }
197
+
198
+ .media-minimal-skin .media-time--current,
199
+ .media-minimal-skin .media-time-separator {
200
+ display: none;
201
+ }
202
+
203
+ @container media-root (width > 42rem) {
204
+ .media-minimal-skin .media-time-controls {
205
+ flex-direction: row;
206
+ }
207
+
208
+ .media-minimal-skin .media-time--duration,
209
+ .media-minimal-skin .media-time-separator {
210
+ color: oklch(from currentColor l c h / 0.6);
211
+ }
212
+
213
+ .media-minimal-skin .media-time--current,
214
+ .media-minimal-skin .media-time-separator {
215
+ display: inline;
216
+ }
217
+ }
218
+
219
+ /* ==========================================================================
220
+ Buttons
221
+ ========================================================================== */
222
+
223
+ /* Base button */
224
+ .media-minimal-skin .media-button {
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: center;
228
+ flex-shrink: 0;
229
+ padding: 0.5rem 1rem;
230
+ border: none;
231
+ border-radius: 0.5rem;
232
+ outline: 2px solid transparent;
233
+ outline-offset: -2px;
234
+ transition-property: background-color, outline-offset, scale;
235
+ /* Fix weird jumping when clicking on the buttons in Safari. */
236
+ will-change: scale;
237
+ transition-duration: 150ms;
238
+ transition-timing-function: ease-out;
239
+ cursor: pointer;
240
+ user-select: none;
241
+ text-align: center;
242
+ touch-action: manipulation;
243
+
244
+ &:focus-visible {
245
+ outline-color: currentColor;
246
+ outline-offset: 2px;
247
+ }
248
+
249
+ &:active {
250
+ scale: 0.98;
251
+ }
252
+
253
+ &[disabled] {
254
+ opacity: 0.5;
255
+ filter: grayscale(1);
256
+ cursor: not-allowed;
257
+ }
258
+
259
+ &[data-availability="unavailable"],
260
+ &[data-availability="unsupported"] {
261
+ display: none;
262
+ }
263
+ }
264
+
265
+ /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
266
+ @supports (corner-shape: squircle) {
267
+ .media-minimal-skin .media-button {
268
+ border-radius: 1rem;
269
+ /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
270
+ corner-shape: squircle;
271
+ }
272
+ }
273
+
274
+ /* Primary button variant */
275
+ .media-minimal-skin .media-button--primary {
276
+ background: oklch(1 0 0);
277
+ color: oklch(0 0 0);
278
+ font-weight: 500;
279
+ text-shadow: none;
280
+ }
281
+
282
+ /* Subtle button variant */
283
+ .media-minimal-skin .media-button--subtle {
284
+ background: transparent;
285
+ color: inherit;
286
+ text-shadow: inherit;
287
+
288
+ &:hover,
289
+ &:focus-visible,
290
+ &[aria-expanded="true"] {
291
+ background: oklch(from currentColor l c h / 0.1);
292
+ }
293
+ }
294
+
295
+ /* Icon button variant */
296
+ .media-minimal-skin .media-button--icon {
297
+ display: grid;
298
+ width: 2.375rem;
299
+ padding: 0;
300
+ aspect-ratio: 1;
301
+
302
+ &:active {
303
+ scale: 0.9;
304
+ }
305
+
306
+ & .media-icon {
307
+ filter: drop-shadow(0 1px 0 var(--media-controls-current-shadow-color, oklch(0 0 0 / 0.25)));
308
+ }
309
+ }
310
+
311
+ /* Seek button */
312
+ .media-minimal-skin .media-button--seek {
313
+ & .media-icon__label {
314
+ position: absolute;
315
+ right: -1px;
316
+ bottom: -3px;
317
+ font-size: 10px; /* Hard coded due to size limitations. */
318
+ font-weight: 480;
319
+ font-variant-numeric: tabular-nums;
320
+ }
321
+
322
+ &:has(.media-icon--flipped) .media-icon__label {
323
+ right: unset;
324
+ left: -1px;
325
+ }
326
+ }
327
+
328
+ /* Playback rate button */
329
+ .media-minimal-skin .media-button--playback-rate {
330
+ padding: 0;
331
+
332
+ &::after {
333
+ content: attr(data-rate) "\00D7";
334
+ width: 4ch;
335
+ font-variant-numeric: tabular-nums;
336
+ }
337
+ }
338
+
339
+ /* ==========================================================================
340
+ Button Groups
341
+ ========================================================================== */
342
+
343
+ .media-minimal-skin .media-button-group {
344
+ display: flex;
345
+ align-items: center;
346
+ gap: 0.075rem;
347
+
348
+ @container media-root (width > 42rem) {
349
+ gap: 0.125rem;
350
+ }
351
+ }
352
+
353
+ /* ==========================================================================
354
+ Icons
355
+ ========================================================================== */
356
+
357
+ .media-minimal-skin .media-icon__container {
358
+ position: relative;
359
+ }
360
+ .media-minimal-skin .media-icon {
361
+ display: block;
362
+ flex-shrink: 0;
363
+ grid-area: 1 / 1;
364
+ width: 18px;
365
+ height: 18px;
366
+ transition-behavior: allow-discrete;
367
+ transition-property: display, opacity;
368
+ transition-duration: 150ms;
369
+ transition-timing-function: ease-out;
370
+ }
371
+ .media-minimal-skin .media-icon--flipped {
372
+ scale: -1 1;
373
+ }
374
+
375
+ /* ==========================================================================
376
+ Slider
377
+ ========================================================================== */
378
+
379
+ .media-minimal-skin .media-slider {
380
+ position: relative;
381
+ display: flex;
382
+ align-items: center;
383
+ justify-content: center;
384
+ flex: 1;
385
+ border-radius: calc(infinity * 1px);
386
+ outline: none;
387
+ cursor: pointer;
388
+
389
+ &[data-orientation="horizontal"] {
390
+ min-width: 5rem;
391
+ width: 100%;
392
+ height: 2rem;
393
+ }
394
+
395
+ &[data-orientation="vertical"] {
396
+ width: 2rem;
397
+ height: 4.5rem;
398
+ }
399
+ }
400
+
401
+ /* Track */
402
+ .media-minimal-skin .media-slider__track {
403
+ position: relative;
404
+ isolation: isolate;
405
+ overflow: hidden;
406
+ border-radius: inherit;
407
+ user-select: none;
408
+ background-color: oklch(from currentColor l c h / 0.2);
409
+
410
+ &[data-orientation="horizontal"] {
411
+ width: 100%;
412
+ height: 0.1875rem;
413
+ }
414
+
415
+ &[data-orientation="vertical"] {
416
+ width: 0.1875rem;
417
+ height: 100%;
418
+ }
419
+ }
420
+
421
+ /* Thumb */
422
+ .media-minimal-skin .media-slider__thumb {
423
+ position: absolute;
424
+ translate: -50% -50%;
425
+ z-index: 10;
426
+ width: 0.75rem;
427
+ height: 0.75rem;
428
+ background-color: currentColor;
429
+ border-radius: calc(infinity * 1px);
430
+ box-shadow:
431
+ 0 0 0 1px var(--media-controls-current-shadow-color-subtle, oklch(0 0 0 / 0.1)),
432
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
433
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
434
+ opacity: 0;
435
+ scale: 0.7;
436
+ transform-origin: center;
437
+ transition-property: opacity, scale, outline-offset;
438
+ transition-duration: 150ms;
439
+ transition-timing-function: ease-out;
440
+ user-select: none;
441
+ outline: 2px solid transparent;
442
+ outline-offset: -2px;
443
+
444
+ &[data-orientation="horizontal"] {
445
+ top: 50%;
446
+ left: var(--media-slider-fill);
447
+ }
448
+
449
+ &[data-orientation="vertical"] {
450
+ left: 50%;
451
+ top: calc(100% - var(--media-slider-fill));
452
+ }
453
+
454
+ &:focus-visible {
455
+ outline-color: currentColor;
456
+ outline-offset: 2px;
457
+ }
458
+ }
459
+
460
+ .media-minimal-skin .media-slider:hover .media-slider__thumb,
461
+ .media-minimal-skin .media-slider:focus-within .media-slider__thumb,
462
+ .media-minimal-skin .media-slider__thumb--persistent {
463
+ opacity: 1;
464
+ scale: 1;
465
+ }
466
+
467
+ /* Shared track fills */
468
+ .media-minimal-skin .media-slider__buffer,
469
+ .media-minimal-skin .media-slider__fill {
470
+ position: absolute;
471
+ border-radius: inherit;
472
+ pointer-events: none;
473
+ }
474
+
475
+ .media-minimal-skin .media-slider__buffer[data-orientation="horizontal"],
476
+ .media-minimal-skin .media-slider__fill[data-orientation="horizontal"] {
477
+ inset-block: 0;
478
+ left: 0;
479
+ }
480
+
481
+ .media-minimal-skin .media-slider__buffer[data-orientation="vertical"],
482
+ .media-minimal-skin .media-slider__fill[data-orientation="vertical"] {
483
+ inset-inline: 0;
484
+ bottom: 0;
485
+ }
486
+
487
+ /* Buffer */
488
+ .media-minimal-skin .media-slider__buffer {
489
+ background-color: oklch(from currentColor l c h / 0.2);
490
+ transition-duration: 0.25s;
491
+ transition-timing-function: ease-out;
492
+
493
+ &[data-orientation="horizontal"] {
494
+ width: var(--media-slider-buffer);
495
+ transition-property: width;
496
+ }
497
+
498
+ &[data-orientation="vertical"] {
499
+ height: var(--media-slider-buffer);
500
+ transition-property: height;
501
+ }
502
+ }
503
+
504
+ /* Fill */
505
+ .media-minimal-skin .media-slider__fill {
506
+ background-color: currentColor;
507
+
508
+ &[data-orientation="horizontal"] {
509
+ width: var(--media-slider-fill);
510
+ }
511
+
512
+ &[data-orientation="vertical"] {
513
+ height: var(--media-slider-fill);
514
+ }
515
+ }
516
+
517
+ /* Dragging — thumb and fill follow the pointer position */
518
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
519
+ left: var(--media-slider-pointer);
520
+ }
521
+
522
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
523
+ top: calc(100% - var(--media-slider-pointer));
524
+ }
525
+
526
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
527
+ width: var(--media-slider-pointer);
528
+ }
529
+
530
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
531
+ height: var(--media-slider-pointer);
532
+ }
533
+
534
+ /* ==========================================================================
535
+ Popups & Animations
536
+ ========================================================================== */
537
+
538
+ .media-minimal-skin .media-popover,
539
+ .media-minimal-skin .media-tooltip {
540
+ margin: 0;
541
+ border: 0;
542
+ color: inherit;
543
+ overflow: visible;
544
+ transition-property: scale, opacity, filter;
545
+ transition-duration: var(--media-popup-transition-duration);
546
+ transition-timing-function: var(--media-popup-transition-timing-function);
547
+
548
+ &[data-starting-style],
549
+ &[data-ending-style] {
550
+ opacity: 0;
551
+ scale: 0.5;
552
+ filter: blur(8px);
553
+ }
554
+
555
+ &[data-instant] {
556
+ transition-duration: 0ms;
557
+ }
558
+
559
+ &[data-side="top"] {
560
+ transform-origin: bottom;
561
+ }
562
+ &[data-side="bottom"] {
563
+ transform-origin: top;
564
+ }
565
+ &[data-side="left"] {
566
+ transform-origin: right;
567
+ }
568
+ &[data-side="right"] {
569
+ transform-origin: left;
570
+ }
571
+
572
+ /* Safe area between trigger and popup */
573
+ &::before {
574
+ content: "";
575
+ position: absolute;
576
+ pointer-events: inherit;
577
+ }
578
+
579
+ &[data-side="top"]::before,
580
+ &[data-side="bottom"]::before {
581
+ width: 100%;
582
+ inset-inline: 0;
583
+ }
584
+ &[data-side="top"]::before {
585
+ top: 100%;
586
+ }
587
+ &[data-side="bottom"]::before {
588
+ bottom: 100%;
589
+ }
590
+
591
+ &[data-side="left"]::before,
592
+ &[data-side="right"]::before {
593
+ height: 100%;
594
+ inset-block: 0;
595
+ }
596
+ &[data-side="left"]::before {
597
+ left: 100%;
598
+ }
599
+ &[data-side="right"]::before {
600
+ right: 100%;
601
+ }
602
+ }
603
+
604
+ .media-minimal-skin .media-popover {
605
+ &[data-side="top"]::before,
606
+ &[data-side="bottom"]::before {
607
+ height: var(--media-popover-side-offset);
608
+ }
609
+ &[data-side="left"]::before,
610
+ &[data-side="right"]::before {
611
+ width: var(--media-popover-side-offset);
612
+ }
613
+ }
614
+
615
+ .media-minimal-skin .media-tooltip {
616
+ padding: 0.25rem 0.5rem;
617
+ border-radius: 0.5rem;
618
+ background-color: var(--media-tooltip-background-color);
619
+ backdrop-filter: var(--media-tooltip-backdrop-filter);
620
+ box-shadow:
621
+ 0 0 0 1px var(--media-tooltip-border-color),
622
+ 0 4px 6px -1px oklch(0 0 0 / 0.1),
623
+ 0 2px 4px -2px oklch(0 0 0 / 0.1);
624
+ color: var(--media-tooltip-text-color);
625
+ font-size: 0.75rem; /* 12px at 100% font size */
626
+ white-space: nowrap;
627
+
628
+ &[data-side="top"]::before,
629
+ &[data-side="bottom"]::before {
630
+ height: var(--media-tooltip-side-offset);
631
+ }
632
+ &[data-side="left"]::before,
633
+ &[data-side="right"]::before {
634
+ width: var(--media-tooltip-side-offset);
635
+ }
636
+ }
637
+
638
+ .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
639
+ display: none;
640
+ }
641
+
642
+ /* ==========================================================================
643
+ Icon State Visibility for Audio Skins
644
+
645
+ Data-attribute-driven visibility rules for multi-state icon buttons.
646
+ Uses :is() with both element selectors (for HTML custom element wrappers)
647
+ and class selectors (for React rendered SVG elements).
648
+ ========================================================================== */
649
+
650
+ /* --- All icons hidden by default --- */
651
+
652
+ .media-button--play .media-icon--restart,
653
+ .media-button--play .media-icon--play,
654
+ .media-button--play .media-icon--pause,
655
+ .media-button--mute .media-icon--volume-off,
656
+ .media-button--mute .media-icon--volume-low,
657
+ .media-button--mute .media-icon--volume-high {
658
+ display: none;
659
+ opacity: 0;
660
+ }
661
+
662
+ /* --- Active icon per state --- */
663
+
664
+ /* Play: ended → restart */
665
+ .media-button--play[data-ended] .media-icon--restart,
666
+ /* Play: paused (not ended) → play */
667
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
668
+ /* Play: playing (not paused, not ended) → pause */
669
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
670
+ /* Mute: muted → volume off */
671
+ .media-button--mute[data-muted] .media-icon--volume-off,
672
+ /* Mute: volume low (not muted) → volume low */
673
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
674
+ /* Mute: volume high (not muted, not low) → volume high */
675
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high {
676
+ display: block;
677
+ opacity: 1;
678
+ }
679
+
680
+
681
+ /* ==========================================================================
682
+ Root
683
+ ========================================================================== */
684
+
685
+ .media-minimal-skin--audio {
686
+ --media-controls-background-color: oklch(1 0 0);
687
+ --media-controls-backdrop-filter: blur(16px) saturate(1.5);
688
+ --media-controls-border-color: oklch(0 0 0 / 0.05);
689
+ --media-controls-text-color: var(--media-color-primary, oklch(0 0 0));
690
+ --media-error-dialog-transition-duration: 250ms;
691
+ --media-error-dialog-transition-delay: 100ms;
692
+ --media-popup-transition-duration: 100ms;
693
+ --media-popup-transition-timing-function: ease-out;
694
+ --media-tooltip-background-color: oklch(1 0 0 / 0.1);
695
+ --media-tooltip-border-color: oklch(0 0 0 / 0.05);
696
+ --media-tooltip-backdrop-filter: blur(16px) saturate(1.5);
697
+ --media-tooltip-text-color: currentColor;
698
+ --media-tooltip-side-offset: 0.75rem;
699
+ --media-popover-side-offset: 0.75rem;
700
+
701
+ @media (prefers-reduced-motion: reduce) {
702
+ --media-error-dialog-transition-duration: 50ms;
703
+ --media-error-dialog-transition-delay: 0ms;
704
+ --media-popup-transition-duration: 0ms;
705
+ }
706
+
707
+ @media (prefers-color-scheme: dark) {
708
+ --media-controls-background-color: oklch(0 0 0);
709
+ --media-controls-border-color: oklch(1 0 0 / 0.1);
710
+ --media-controls-text-color: var(--media-color-primary, oklch(1 0 0));
711
+ }
712
+
713
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
714
+ --media-tooltip-background-color: oklch(1 0 0);
715
+ }
716
+
717
+ @media (prefers-color-scheme: dark) and ((prefers-reduced-transparency: reduce) or (prefers-contrast: more)) {
718
+ --media-tooltip-background-color: oklch(0 0 0);
719
+ }
720
+ }
721
+
722
+ /* ==========================================================================
723
+ Error Dialog
724
+ ========================================================================== */
725
+
726
+ .media-minimal-skin--audio .media-error__dialog {
727
+ position: absolute;
728
+ inset: 0;
729
+ z-index: 20;
730
+ display: flex;
731
+ align-items: center;
732
+ gap: 1rem;
733
+ padding-inline: 1.25rem 0.5rem;
734
+ transition-property: opacity, filter, scale;
735
+ transition-duration: var(--media-error-dialog-transition-duration);
736
+ transition-delay: var(--media-error-dialog-transition-delay);
737
+ transition-timing-function: ease-out;
738
+ border-radius: calc(infinity * 1px);
739
+ background-color: oklch(from var(--media-controls-background-color) l c h / 1);
740
+ }
741
+
742
+ .media-minimal-skin--audio .media-error[data-starting-style] .media-error__dialog,
743
+ .media-minimal-skin--audio .media-error[data-ending-style] .media-error__dialog {
744
+ opacity: 0;
745
+ filter: blur(4px);
746
+ scale: 0.95;
747
+ }
748
+ .media-minimal-skin--audio .media-error[data-ending-style] .media-error__dialog {
749
+ transition-delay: 0ms;
750
+ }
751
+
752
+ .media-minimal-skin--audio .media-error__content {
753
+ flex: 1;
754
+ display: flex;
755
+ gap: 0.5rem;
756
+ align-items: center;
757
+ }
758
+
759
+ /* ==========================================================================
760
+ Controls
761
+ ========================================================================== */
762
+
763
+ .media-minimal-skin--audio .media-controls {
764
+ padding: 0.375rem;
765
+ gap: 0.5rem;
766
+ color: var(--media-controls-text-color);
767
+ box-shadow: 0 0 0 1px var(--media-controls-border-color);
768
+ border-radius: var(--media-border-radius, 1rem);
769
+ }
770
+
771
+ /* ==========================================================================
772
+ Popups & Animations
773
+ ========================================================================== */
774
+
775
+ .media-minimal-skin--audio .media-popover--volume {
776
+ background: linear-gradient(to left, var(--media-controls-background-color) 80%, transparent 100%);
777
+ padding: 0 0 0 4rem;
778
+ }
779
+