@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,795 @@
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-default-skin *,
49
+ .media-default-skin *::before,
50
+ .media-default-skin *::after {
51
+ box-sizing: border-box;
52
+ }
53
+ .media-default-skin img,
54
+ .media-default-skin video,
55
+ .media-default-skin svg {
56
+ display: block;
57
+ max-width: 100%;
58
+ }
59
+ .media-default-skin button {
60
+ font: inherit;
61
+ }
62
+ @media (prefers-reduced-motion: no-preference) {
63
+ .media-default-skin {
64
+ interpolate-size: allow-keywords;
65
+ }
66
+ }
67
+
68
+ /* ==========================================================================
69
+ Root Container
70
+ ========================================================================== */
71
+
72
+ .media-default-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, 2rem);
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
+ Surface (shared glass effect for tooltips, popovers, controls)
110
+ ========================================================================== */
111
+
112
+ .media-default-skin .media-surface {
113
+ background-color: var(--media-surface-background-color);
114
+ backdrop-filter: var(--media-surface-backdrop-filter);
115
+ box-shadow:
116
+ 0 0 0 1px var(--media-surface-outer-border-color),
117
+ 0 1px 3px 0 var(--media-surface-shadow-color),
118
+ 0 1px 2px -1px var(--media-surface-shadow-color);
119
+
120
+ /* Inner border ring */
121
+ &::after {
122
+ content: "";
123
+ position: absolute;
124
+ inset: 0;
125
+ z-index: 10;
126
+ border-radius: inherit;
127
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
128
+ pointer-events: none;
129
+ }
130
+ }
131
+
132
+ /* ==========================================================================
133
+ Buffering Indicator
134
+ ========================================================================== */
135
+
136
+ .media-default-skin .media-buffering-indicator {
137
+ position: absolute;
138
+ inset: 0;
139
+ display: none;
140
+ align-items: center;
141
+ justify-content: center;
142
+ color: oklch(1 0 0);
143
+ pointer-events: none;
144
+
145
+ &[data-visible] {
146
+ display: flex;
147
+ }
148
+
149
+ .media-surface {
150
+ padding: 0.25rem;
151
+ border-radius: 100%;
152
+ }
153
+ }
154
+
155
+ /* ==========================================================================
156
+ Error Dialog
157
+ ========================================================================== */
158
+
159
+ .media-default-skin .media-error {
160
+ outline: none;
161
+ }
162
+
163
+ .media-default-skin .media-error:not([data-open]) {
164
+ display: none;
165
+ }
166
+
167
+ .media-default-skin .media-error__title {
168
+ font-weight: 600;
169
+ line-height: 1.25;
170
+ }
171
+
172
+ .media-default-skin .media-error__description {
173
+ opacity: 0.7;
174
+ overflow-wrap: anywhere;
175
+ }
176
+
177
+ .media-default-skin .media-error__actions {
178
+ display: flex;
179
+ gap: 0.5rem;
180
+
181
+ & > * {
182
+ flex: 1;
183
+ }
184
+ }
185
+
186
+ .media-default-skin .media-error[data-open] ~ .media-controls * {
187
+ visibility: hidden;
188
+ }
189
+
190
+ /* ==========================================================================
191
+ Controls
192
+ ========================================================================== */
193
+
194
+ .media-default-skin .media-controls {
195
+ container: media-controls / inline-size;
196
+ display: flex;
197
+ align-items: center;
198
+ column-gap: 0.075rem;
199
+ padding: 0.375rem;
200
+ border-radius: 1.5rem;
201
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
202
+ --media-controls-current-shadow-color-subtle: oklch(
203
+ from var(--media-controls-current-shadow-color) l c h /
204
+ calc(alpha * 0.4)
205
+ );
206
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
207
+ }
208
+
209
+ /* ==========================================================================
210
+ Time Display
211
+ ========================================================================== */
212
+
213
+ .media-default-skin .media-time-controls {
214
+ container: media-time-controls / inline-size;
215
+ display: flex;
216
+ align-items: center;
217
+ flex: 1;
218
+ gap: 0.75rem;
219
+ padding-inline: 0.5rem;
220
+ }
221
+
222
+ .media-default-skin .media-time {
223
+ font-variant-numeric: tabular-nums;
224
+ }
225
+
226
+ /* ==========================================================================
227
+ Buttons
228
+ ========================================================================== */
229
+
230
+ /* Base button */
231
+ .media-default-skin .media-button {
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ flex-shrink: 0;
236
+ padding: 0.5rem 1rem;
237
+ border: none;
238
+ border-radius: calc(infinity * 1px);
239
+ outline: 2px solid transparent;
240
+ outline-offset: -2px;
241
+ transition-property: background-color, outline-offset, scale;
242
+ /* Fix weird jumping when clicking on the buttons in Safari. */
243
+ will-change: scale;
244
+ transition-duration: 150ms;
245
+ transition-timing-function: ease-out;
246
+ cursor: pointer;
247
+ user-select: none;
248
+ text-align: center;
249
+ touch-action: manipulation;
250
+
251
+ &:focus-visible {
252
+ outline-color: currentColor;
253
+ outline-offset: 2px;
254
+ }
255
+
256
+ &:active {
257
+ scale: 0.98;
258
+ }
259
+
260
+ &[disabled] {
261
+ opacity: 0.5;
262
+ filter: grayscale(1);
263
+ cursor: not-allowed;
264
+ }
265
+
266
+ &[data-availability="unavailable"],
267
+ &[data-availability="unsupported"] {
268
+ display: none;
269
+ }
270
+ }
271
+
272
+ /* Primary button variant */
273
+ .media-default-skin .media-button--primary {
274
+ background: oklch(1 0 0);
275
+ color: oklch(0 0 0);
276
+ font-weight: 500;
277
+ text-shadow: none;
278
+ }
279
+
280
+ /* Subtle button variant */
281
+ .media-default-skin .media-button--subtle {
282
+ background: transparent;
283
+ color: inherit;
284
+ text-shadow: inherit;
285
+
286
+ &:hover,
287
+ &:focus-visible,
288
+ &[aria-expanded="true"] {
289
+ background-color: oklch(from currentColor l c h / 0.1);
290
+ text-decoration: none;
291
+ }
292
+ }
293
+
294
+ /* Icon button variant */
295
+ .media-default-skin .media-button--icon {
296
+ display: grid;
297
+ width: 2.25rem;
298
+ padding: 0;
299
+ aspect-ratio: 1;
300
+
301
+ &:active {
302
+ scale: 0.9;
303
+ }
304
+
305
+ & .media-icon {
306
+ filter: drop-shadow(0 1px 0 var(--media-controls-current-shadow-color, oklch(0 0 0 / 0.25)));
307
+ }
308
+ }
309
+
310
+ /* Seek button */
311
+ .media-default-skin .media-button--seek {
312
+ & .media-icon__label {
313
+ position: absolute;
314
+ right: -1px;
315
+ bottom: -3px;
316
+ font-size: 10px;
317
+ font-weight: 480;
318
+ font-variant-numeric: tabular-nums;
319
+ }
320
+
321
+ &:has(.media-icon--flipped) .media-icon__label {
322
+ right: unset;
323
+ left: -1px;
324
+ }
325
+ }
326
+
327
+ /* Playback rate button */
328
+ .media-default-skin .media-button--playback-rate {
329
+ padding: 0;
330
+
331
+ &::after {
332
+ content: attr(data-rate) "\00D7";
333
+ width: 4ch;
334
+ font-variant-numeric: tabular-nums;
335
+ }
336
+ }
337
+
338
+ /* ==========================================================================
339
+ Button Groups
340
+ ========================================================================== */
341
+
342
+ .media-default-skin .media-button-group {
343
+ display: flex;
344
+ align-items: center;
345
+ gap: 0.075rem;
346
+
347
+ @container media-root (width > 42rem) {
348
+ gap: 0.125rem;
349
+ }
350
+ }
351
+
352
+ /* ==========================================================================
353
+ Icons
354
+ ========================================================================== */
355
+
356
+ .media-default-skin .media-icon__container {
357
+ position: relative;
358
+ }
359
+ .media-default-skin .media-icon {
360
+ display: block;
361
+ flex-shrink: 0;
362
+ grid-area: 1 / 1;
363
+ width: 18px;
364
+ height: 18px;
365
+ transition-behavior: allow-discrete;
366
+ transition-property: display, opacity;
367
+ transition-duration: 150ms;
368
+ transition-timing-function: ease-out;
369
+ }
370
+ .media-default-skin .media-icon--flipped {
371
+ scale: -1 1;
372
+ }
373
+
374
+ /* ==========================================================================
375
+ Slider
376
+ ========================================================================== */
377
+
378
+ .media-default-skin .media-slider {
379
+ position: relative;
380
+ display: flex;
381
+ align-items: center;
382
+ justify-content: center;
383
+ flex: 1;
384
+ border-radius: calc(infinity * 1px);
385
+ outline: none;
386
+ cursor: pointer;
387
+
388
+ &[data-orientation="horizontal"] {
389
+ min-width: 5rem;
390
+ width: 100%;
391
+ height: 2rem;
392
+ }
393
+
394
+ &[data-orientation="vertical"] {
395
+ width: 2rem;
396
+ height: 5rem;
397
+ }
398
+ }
399
+
400
+ /* Track */
401
+ .media-default-skin .media-slider__track {
402
+ position: relative;
403
+ isolation: isolate;
404
+ overflow: hidden;
405
+ border-radius: inherit;
406
+ user-select: none;
407
+
408
+ &[data-orientation="horizontal"] {
409
+ width: 100%;
410
+ height: 0.25rem;
411
+ }
412
+
413
+ &[data-orientation="vertical"] {
414
+ width: 0.25rem;
415
+ height: 100%;
416
+ }
417
+ }
418
+
419
+ /* Thumb */
420
+ .media-default-skin .media-slider__thumb {
421
+ z-index: 10;
422
+ position: absolute;
423
+ translate: -50% -50%;
424
+ width: 0.625rem;
425
+ height: 0.625rem;
426
+ background-color: currentColor;
427
+ border-radius: calc(infinity * 1px);
428
+ box-shadow:
429
+ 0 0 0 1px var(--media-controls-current-shadow-color-subtle, oklch(0 0 0 / 0.1)),
430
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
431
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
432
+ opacity: 0;
433
+ transition-property: opacity, height, width, outline-offset;
434
+ transition-duration: 150ms;
435
+ transition-timing-function: ease-out;
436
+ user-select: none;
437
+ outline: 4px solid transparent;
438
+ outline-offset: -4px;
439
+
440
+ &[data-orientation="horizontal"] {
441
+ top: 50%;
442
+ left: var(--media-slider-fill);
443
+ }
444
+
445
+ &[data-orientation="vertical"] {
446
+ left: 50%;
447
+ top: calc(100% - var(--media-slider-fill));
448
+ }
449
+
450
+ &:hover,
451
+ &:focus {
452
+ outline-color: oklch(from currentColor l c h / 0.25);
453
+ outline-offset: 0;
454
+ }
455
+
456
+ &::after {
457
+ content: "";
458
+ position: absolute;
459
+ inset: -4px;
460
+ border-radius: inherit;
461
+ box-shadow: 0 0 0 2px oklch(1 0 0);
462
+ transition-property: opacity, scale;
463
+ transition-duration: 150ms;
464
+ transition-timing-function: ease-out;
465
+ }
466
+
467
+ &:not(:focus-visible)::after {
468
+ scale: 0.5;
469
+ opacity: 0;
470
+ }
471
+ }
472
+
473
+ .media-default-skin .media-slider:active .media-slider__thumb,
474
+ .media-default-skin .media-slider__thumb--persistent {
475
+ width: 0.75rem;
476
+ height: 0.75rem;
477
+ }
478
+
479
+ .media-default-skin .media-slider:hover .media-slider__thumb,
480
+ .media-default-skin .media-slider__thumb:focus-visible,
481
+ .media-default-skin .media-slider__thumb--persistent {
482
+ opacity: 1;
483
+ }
484
+
485
+ /* Shared track fills */
486
+ .media-default-skin .media-slider__buffer,
487
+ .media-default-skin .media-slider__fill {
488
+ position: absolute;
489
+ border-radius: inherit;
490
+ pointer-events: none;
491
+ }
492
+
493
+ .media-default-skin .media-slider__buffer[data-orientation="horizontal"],
494
+ .media-default-skin .media-slider__fill[data-orientation="horizontal"] {
495
+ inset-block: 0;
496
+ left: 0;
497
+ }
498
+
499
+ .media-default-skin .media-slider__buffer[data-orientation="vertical"],
500
+ .media-default-skin .media-slider__fill[data-orientation="vertical"] {
501
+ inset-inline: 0;
502
+ bottom: 0;
503
+ }
504
+
505
+ /* Buffer */
506
+ .media-default-skin .media-slider__buffer {
507
+ background-color: oklch(from currentColor l c h / 0.2);
508
+ transition-duration: 0.25s;
509
+ transition-timing-function: ease-out;
510
+
511
+ &[data-orientation="horizontal"] {
512
+ width: var(--media-slider-buffer);
513
+ transition-property: width;
514
+ }
515
+
516
+ &[data-orientation="vertical"] {
517
+ height: var(--media-slider-buffer);
518
+ transition-property: height;
519
+ }
520
+ }
521
+
522
+ /* Fill */
523
+ .media-default-skin .media-slider__fill {
524
+ background-color: currentColor;
525
+
526
+ &[data-orientation="horizontal"] {
527
+ width: var(--media-slider-fill);
528
+ }
529
+
530
+ &[data-orientation="vertical"] {
531
+ height: var(--media-slider-fill);
532
+ }
533
+ }
534
+
535
+ /* Dragging — thumb and fill follow the pointer position */
536
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
537
+ left: var(--media-slider-pointer);
538
+ }
539
+
540
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
541
+ top: calc(100% - var(--media-slider-pointer));
542
+ }
543
+
544
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
545
+ width: var(--media-slider-pointer);
546
+ }
547
+
548
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
549
+ height: var(--media-slider-pointer);
550
+ }
551
+
552
+ /* ==========================================================================
553
+ Popups & Tooltips
554
+ ========================================================================== */
555
+
556
+ .media-default-skin .media-popover,
557
+ .media-default-skin .media-tooltip {
558
+ margin: 0;
559
+ border: 0;
560
+ color: inherit;
561
+ overflow: visible;
562
+ transition-property: scale, opacity, filter;
563
+ transition-duration: var(--media-popup-transition-duration);
564
+ transition-timing-function: var(--media-popup-transition-timing-function);
565
+
566
+ &[data-starting-style],
567
+ &[data-ending-style] {
568
+ opacity: 0;
569
+ scale: 0.5;
570
+ filter: blur(8px);
571
+ }
572
+
573
+ &[data-instant] {
574
+ transition-duration: 0ms;
575
+ }
576
+
577
+ &[data-side="top"] {
578
+ transform-origin: bottom;
579
+ }
580
+ &[data-side="bottom"] {
581
+ transform-origin: top;
582
+ }
583
+ &[data-side="left"] {
584
+ transform-origin: right;
585
+ }
586
+ &[data-side="right"] {
587
+ transform-origin: left;
588
+ }
589
+
590
+ /* Safe area between trigger and popup */
591
+ &::before {
592
+ content: "";
593
+ position: absolute;
594
+ pointer-events: inherit;
595
+ }
596
+
597
+ &[data-side="top"]::before,
598
+ &[data-side="bottom"]::before {
599
+ width: 100%;
600
+ inset-inline: 0;
601
+ }
602
+ &[data-side="top"]::before {
603
+ top: 100%;
604
+ }
605
+ &[data-side="bottom"]::before {
606
+ bottom: 100%;
607
+ }
608
+
609
+ &[data-side="left"]::before,
610
+ &[data-side="right"]::before {
611
+ height: 100%;
612
+ inset-block: 0;
613
+ }
614
+ &[data-side="left"]::before {
615
+ left: 100%;
616
+ }
617
+ &[data-side="right"]::before {
618
+ right: 100%;
619
+ }
620
+ }
621
+
622
+ .media-default-skin .media-popover {
623
+ &[data-side="top"]::before,
624
+ &[data-side="bottom"]::before {
625
+ height: var(--media-popover-side-offset);
626
+ }
627
+ &[data-side="left"]::before,
628
+ &[data-side="right"]::before {
629
+ width: var(--media-popover-side-offset);
630
+ }
631
+ }
632
+ .media-default-skin .media-popover--volume {
633
+ padding: 0.75rem 0;
634
+ border-radius: calc(infinity * 1px);
635
+
636
+ &:has(media-volume-slider[data-availability="unsupported"]) {
637
+ display: none;
638
+ }
639
+ }
640
+
641
+ .media-default-skin .media-tooltip {
642
+ padding: 0.25rem 0.625rem;
643
+ border-radius: calc(infinity * 1px);
644
+ font-size: 0.75rem;
645
+ white-space: nowrap;
646
+
647
+ &[data-side="top"]::before,
648
+ &[data-side="bottom"]::before {
649
+ height: var(--media-tooltip-side-offset);
650
+ }
651
+ &[data-side="left"]::before,
652
+ &[data-side="right"]::before {
653
+ width: var(--media-tooltip-side-offset);
654
+ }
655
+ }
656
+
657
+ /* ==========================================================================
658
+ Icon State Visibility for Audio Skins
659
+
660
+ Data-attribute-driven visibility rules for multi-state icon buttons.
661
+ Uses :is() with both element selectors (for HTML custom element wrappers)
662
+ and class selectors (for React rendered SVG elements).
663
+ ========================================================================== */
664
+
665
+ /* --- All icons hidden by default --- */
666
+
667
+ .media-button--play .media-icon--restart,
668
+ .media-button--play .media-icon--play,
669
+ .media-button--play .media-icon--pause,
670
+ .media-button--mute .media-icon--volume-off,
671
+ .media-button--mute .media-icon--volume-low,
672
+ .media-button--mute .media-icon--volume-high {
673
+ display: none;
674
+ opacity: 0;
675
+ }
676
+
677
+ /* --- Active icon per state --- */
678
+
679
+ /* Play: ended → restart */
680
+ .media-button--play[data-ended] .media-icon--restart,
681
+ /* Play: paused (not ended) → play */
682
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
683
+ /* Play: playing (not paused, not ended) → pause */
684
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
685
+ /* Mute: muted → volume off */
686
+ .media-button--mute[data-muted] .media-icon--volume-off,
687
+ /* Mute: volume low (not muted) → volume low */
688
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
689
+ /* Mute: volume high (not muted, not low) → volume high */
690
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high {
691
+ display: block;
692
+ opacity: 1;
693
+ }
694
+
695
+
696
+ /* ==========================================================================
697
+ Root
698
+ ========================================================================== */
699
+
700
+ .media-default-skin--audio {
701
+ --media-surface-background-color: oklch(1 0 0 / 0.5);
702
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.1);
703
+ --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
704
+ --media-surface-shadow-color: oklch(0 0 0 / 0.15);
705
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
706
+ --media-text-color: var(--media-color-primary, oklch(0 0 0));
707
+ --media-error-dialog-transition-duration: 250ms;
708
+ --media-error-dialog-transition-delay: 100ms;
709
+ --media-popup-transition-duration: 100ms;
710
+ --media-popup-transition-timing-function: ease-out;
711
+ --media-tooltip-side-offset: 0.75rem;
712
+ --media-popover-side-offset: 0.75rem;
713
+
714
+ @media (prefers-reduced-motion: reduce) {
715
+ --media-error-dialog-transition-duration: 50ms;
716
+ --media-error-dialog-transition-delay: 0ms;
717
+ --media-popup-transition-duration: 0ms;
718
+ }
719
+
720
+ @media (prefers-color-scheme: dark) {
721
+ --media-surface-background-color: oklch(0 0 0 / 0.4);
722
+ --media-text-color: var(--media-color-primary, oklch(1 0 0));
723
+ }
724
+
725
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
726
+ --media-surface-background-color: oklch(1 0 0);
727
+ --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
728
+ }
729
+
730
+ @media (prefers-color-scheme: dark) and ((prefers-reduced-transparency: reduce) or (prefers-contrast: more)) {
731
+ --media-surface-background-color: oklch(0 0 0);
732
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.2);
733
+ --media-surface-outer-border-color: transparent;
734
+ }
735
+ }
736
+
737
+ /* ==========================================================================
738
+ Error Dialog
739
+ ========================================================================== */
740
+
741
+ .media-default-skin--audio .media-error__dialog {
742
+ position: absolute;
743
+ inset: 0;
744
+ z-index: 20;
745
+ display: flex;
746
+ align-items: center;
747
+ gap: 0.75rem;
748
+ padding-inline: 1.25rem 0.125rem;
749
+ transition-property: opacity, filter;
750
+ transition-duration: var(--media-error-dialog-transition-duration);
751
+ transition-delay: var(--media-error-dialog-transition-delay);
752
+ transition-timing-function: ease-out;
753
+ border-radius: calc(infinity * 1px);
754
+ background-color: var(--media-surface-background-color);
755
+ backdrop-filter: var(--media-surface-backdrop-filter);
756
+ color: var(--media-text-color);
757
+ }
758
+
759
+ .media-default-skin .media-error[data-starting-style] .media-error__dialog,
760
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
761
+ opacity: 0;
762
+ filter: blur(4px);
763
+ }
764
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
765
+ transition-delay: 0ms;
766
+ }
767
+
768
+ .media-default-skin--audio .media-error__content {
769
+ flex: 1;
770
+ display: flex;
771
+ gap: 0.5rem;
772
+ align-items: center;
773
+ }
774
+
775
+ /* ==========================================================================
776
+ Controls
777
+ ========================================================================== */
778
+
779
+ .media-default-skin--audio .media-controls {
780
+ color: var(--media-text-color);
781
+ }
782
+
783
+ /* ==========================================================================
784
+ Sliders
785
+ ========================================================================== */
786
+
787
+ .media-default-skin--audio .media-slider__track {
788
+ background-color: oklch(0 0 0 / 0.1);
789
+
790
+ @media (prefers-color-scheme: dark) {
791
+ background-color: oklch(1 0 0 / 0.2);
792
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
793
+ }
794
+ }
795
+