@videojs/html 10.0.0-alpha.9 → 10.0.0-beta.10

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 (467) hide show
  1. package/README.md +2 -2
  2. package/cdn/audio-minimal.dev.d.ts +1 -0
  3. package/cdn/audio-minimal.dev.js +112 -0
  4. package/cdn/audio-minimal.dev.js.map +1 -0
  5. package/cdn/audio-minimal.js +2 -0
  6. package/cdn/audio-minimal.js.map +1 -0
  7. package/cdn/audio.dev.d.ts +1 -0
  8. package/cdn/audio.dev.js +103 -0
  9. package/cdn/audio.dev.js.map +1 -0
  10. package/cdn/audio.js +2 -0
  11. package/cdn/audio.js.map +1 -0
  12. package/cdn/background.dev.d.ts +1 -0
  13. package/cdn/background.dev.js +159 -0
  14. package/cdn/background.dev.js.map +1 -0
  15. package/cdn/background.js +2 -0
  16. package/cdn/background.js.map +1 -0
  17. package/cdn/context-C_e06fGU.js +13 -0
  18. package/cdn/context-C_e06fGU.js.map +1 -0
  19. package/cdn/context-DTY0nOpS.js +98 -0
  20. package/cdn/context-DTY0nOpS.js.map +1 -0
  21. package/cdn/create-player-BTIU8EwT.js +7 -0
  22. package/cdn/create-player-BTIU8EwT.js.map +1 -0
  23. package/cdn/create-player-Cwxvswyv.js +3218 -0
  24. package/cdn/create-player-Cwxvswyv.js.map +1 -0
  25. package/cdn/default-GgKND7a8.js +2 -0
  26. package/cdn/default-GgKND7a8.js.map +1 -0
  27. package/cdn/default-cLso8BHO.js +28 -0
  28. package/cdn/default-cLso8BHO.js.map +1 -0
  29. package/cdn/listen-BXAYCbZA.js +9 -0
  30. package/cdn/listen-BXAYCbZA.js.map +1 -0
  31. package/cdn/listen-DX5vU4s4.js +2 -0
  32. package/cdn/listen-DX5vU4s4.js.map +1 -0
  33. package/cdn/media/dash-video.dev.d.ts +1 -0
  34. package/cdn/media/dash-video.dev.js +39165 -0
  35. package/cdn/media/dash-video.dev.js.map +1 -0
  36. package/cdn/media/dash-video.js +21 -0
  37. package/cdn/media/dash-video.js.map +1 -0
  38. package/cdn/media/hls-video.dev.d.ts +1 -0
  39. package/cdn/media/hls-video.dev.js +28357 -0
  40. package/cdn/media/hls-video.dev.js.map +1 -0
  41. package/cdn/media/hls-video.js +41 -0
  42. package/cdn/media/hls-video.js.map +1 -0
  43. package/cdn/media/simple-hls-video.dev.d.ts +1 -0
  44. package/cdn/media/simple-hls-video.dev.js +3465 -0
  45. package/cdn/media/simple-hls-video.dev.js.map +1 -0
  46. package/cdn/media/simple-hls-video.js +2 -0
  47. package/cdn/media/simple-hls-video.js.map +1 -0
  48. package/cdn/media-attach-mixin-ChyNp2eK.js +44 -0
  49. package/cdn/media-attach-mixin-ChyNp2eK.js.map +1 -0
  50. package/cdn/media-attach-mixin-tFNcHnvo.js +2 -0
  51. package/cdn/media-attach-mixin-tFNcHnvo.js.map +1 -0
  52. package/cdn/minimal-BJfleQcQ.js +2 -0
  53. package/cdn/minimal-BJfleQcQ.js.map +1 -0
  54. package/cdn/minimal-DBMdC_0I.js +28 -0
  55. package/cdn/minimal-DBMdC_0I.js.map +1 -0
  56. package/cdn/player-BHhLXO-R.js +2 -0
  57. package/cdn/player-BHhLXO-R.js.map +1 -0
  58. package/cdn/player-DEfj0RU6.js +15 -0
  59. package/cdn/player-DEfj0RU6.js.map +1 -0
  60. package/cdn/poster-Dd0F1rRd.js +195 -0
  61. package/cdn/poster-Dd0F1rRd.js.map +1 -0
  62. package/cdn/poster-DwQ3RAch.js +2 -0
  63. package/cdn/poster-DwQ3RAch.js.map +1 -0
  64. package/cdn/predicate-BG-dj_kF.js +26 -0
  65. package/cdn/predicate-BG-dj_kF.js.map +1 -0
  66. package/cdn/predicate-Y9jDHLpX.js +2 -0
  67. package/cdn/predicate-Y9jDHLpX.js.map +1 -0
  68. package/cdn/proxy-2oO2ph3m.js +47 -0
  69. package/cdn/proxy-2oO2ph3m.js.map +1 -0
  70. package/cdn/proxy-6KS6wy69.js +2 -0
  71. package/cdn/proxy-6KS6wy69.js.map +1 -0
  72. package/cdn/proxy-XzDf9gyk.js +66 -0
  73. package/cdn/proxy-XzDf9gyk.js.map +1 -0
  74. package/cdn/proxy-dR7IDk37.js +349 -0
  75. package/cdn/proxy-dR7IDk37.js.map +1 -0
  76. package/cdn/safe-define-B8lHgj_K.js +9 -0
  77. package/cdn/safe-define-B8lHgj_K.js.map +1 -0
  78. package/cdn/safe-define-GrHW3P9e.js +2 -0
  79. package/cdn/safe-define-GrHW3P9e.js.map +1 -0
  80. package/cdn/video-minimal.dev.d.ts +1 -0
  81. package/cdn/video-minimal.dev.js +155 -0
  82. package/cdn/video-minimal.dev.js.map +1 -0
  83. package/cdn/video-minimal.js +2 -0
  84. package/cdn/video-minimal.js.map +1 -0
  85. package/cdn/video.dev.d.ts +1 -0
  86. package/cdn/video.dev.js +170 -0
  87. package/cdn/video.dev.js.map +1 -0
  88. package/cdn/video.js +2 -0
  89. package/cdn/video.js.map +1 -0
  90. package/cdn/volume-slider-DgJ0rAfC.js +2459 -0
  91. package/cdn/volume-slider-DgJ0rAfC.js.map +1 -0
  92. package/cdn/volume-slider-Pd0AMTCH.js +8 -0
  93. package/cdn/volume-slider-Pd0AMTCH.js.map +1 -0
  94. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  95. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  96. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +6 -0
  97. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  98. package/dist/default/_virtual/inline-css_src/define/background/skin.js +6 -0
  99. package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  100. package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
  101. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  102. package/dist/default/_virtual/inline-css_src/define/shared.js +6 -0
  103. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -0
  104. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  105. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  106. package/dist/default/_virtual/inline-css_src/define/video/skin.js +6 -0
  107. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  108. package/dist/default/define/audio/minimal-skin.css +710 -5
  109. package/dist/default/define/audio/minimal-skin.js +20 -9
  110. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  111. package/dist/default/define/audio/minimal-skin.tailwind.js +44 -0
  112. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -0
  113. package/dist/default/define/audio/skin.css +736 -6
  114. package/dist/default/define/audio/skin.js +20 -9
  115. package/dist/default/define/audio/skin.js.map +1 -1
  116. package/dist/default/define/audio/skin.tailwind.js +42 -0
  117. package/dist/default/define/audio/skin.tailwind.js.map +1 -0
  118. package/dist/default/define/background/skin.css +1 -1
  119. package/dist/default/define/background/skin.js +11 -5
  120. package/dist/default/define/background/skin.js.map +1 -1
  121. package/dist/default/define/base.css +23 -0
  122. package/dist/default/define/media/dash-video.js +14 -0
  123. package/dist/default/define/media/dash-video.js.map +1 -0
  124. package/dist/default/define/media/simple-hls-video.js +13 -0
  125. package/dist/default/define/media/simple-hls-video.js.map +1 -0
  126. package/dist/default/define/shared.css +13 -0
  127. package/dist/default/define/skin-mixin.js +36 -19
  128. package/dist/default/define/skin-mixin.js.map +1 -1
  129. package/dist/default/define/video/minimal-skin.css +701 -397
  130. package/dist/default/define/video/minimal-skin.js +9 -98
  131. package/dist/default/define/video/minimal-skin.js.map +1 -1
  132. package/dist/default/define/video/minimal-skin.tailwind.js +17 -99
  133. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  134. package/dist/default/define/video/skin.css +744 -427
  135. package/dist/default/define/video/skin.js +10 -92
  136. package/dist/default/define/video/skin.js.map +1 -1
  137. package/dist/default/define/video/skin.tailwind.js +15 -92
  138. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  139. package/dist/default/icons/dist/render/default/index.js +14 -13
  140. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  141. package/dist/default/icons/dist/render/minimal/index.js +14 -13
  142. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  143. package/dist/default/index.js +3 -2
  144. package/dist/default/media/background-video/index.js +6 -19
  145. package/dist/default/media/background-video/index.js.map +1 -1
  146. package/dist/default/media/container-element.js +5 -2
  147. package/dist/default/media/container-element.js.map +1 -1
  148. package/dist/default/media/dash-video/index.js +26 -0
  149. package/dist/default/media/dash-video/index.js.map +1 -0
  150. package/dist/default/media/hls-video/index.js +2 -1
  151. package/dist/default/media/hls-video/index.js.map +1 -1
  152. package/dist/default/media/simple-hls-video/index.js +23 -0
  153. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  154. package/dist/default/player/context.js +6 -2
  155. package/dist/default/player/context.js.map +1 -1
  156. package/dist/default/player/create-player.js +11 -3
  157. package/dist/default/player/create-player.js.map +1 -1
  158. package/dist/default/presets/audio.js +3 -1
  159. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +42 -0
  160. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  161. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  162. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  163. package/dist/default/skins/dist/default/default/tailwind/components/button.js +13 -0
  164. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  165. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  166. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  167. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  168. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  169. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  170. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  171. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  172. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  173. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  174. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  175. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  176. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  177. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +16 -0
  178. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  179. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +13 -0
  180. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  181. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  182. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  183. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  184. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  185. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  186. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  187. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  188. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  189. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  190. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  191. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +66 -0
  192. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  193. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +31 -0
  194. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  195. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  196. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  197. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  198. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  199. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +13 -0
  200. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  201. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  202. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  203. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  204. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  205. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  206. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  207. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  208. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  209. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  210. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  211. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +13 -0
  212. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  213. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  214. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  215. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +14 -0
  216. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  217. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  218. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  219. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  220. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  221. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  222. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  223. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  224. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  225. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +61 -0
  226. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  227. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +34 -0
  228. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  229. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js +28 -0
  230. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  231. package/dist/default/store/container-mixin.js +16 -46
  232. package/dist/default/store/container-mixin.js.map +1 -1
  233. package/dist/default/store/media-attach-mixin.js +45 -0
  234. package/dist/default/store/media-attach-mixin.js.map +1 -0
  235. package/dist/default/store/provider-mixin.js +99 -9
  236. package/dist/default/store/provider-mixin.js.map +1 -1
  237. package/dist/default/ui/popover/popover-element.js +57 -4
  238. package/dist/default/ui/popover/popover-element.js.map +1 -1
  239. package/dist/default/ui/slider/slider-element.js +3 -3
  240. package/dist/default/ui/slider/slider-element.js.map +1 -1
  241. package/dist/default/ui/time-slider/time-slider-element.js +4 -4
  242. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  243. package/dist/default/ui/tooltip/tooltip-element.js +56 -4
  244. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  245. package/dist/default/ui/tooltip/tooltip-group-element.js +4 -1
  246. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  247. package/dist/default/ui/volume-slider/volume-slider-element.js +6 -6
  248. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  249. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  250. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  251. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +6 -0
  252. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  253. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
  254. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  255. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  256. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  257. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  258. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  259. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  260. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  261. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +6 -0
  262. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  263. package/dist/dev/define/audio/minimal-skin.css +710 -5
  264. package/dist/dev/define/audio/minimal-skin.d.ts +6 -2
  265. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  266. package/dist/dev/define/audio/minimal-skin.js +102 -9
  267. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  268. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +20 -0
  269. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -0
  270. package/dist/dev/define/audio/minimal-skin.tailwind.js +128 -0
  271. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -0
  272. package/dist/dev/define/audio/player.d.ts +0 -1
  273. package/dist/dev/define/audio/player.d.ts.map +1 -1
  274. package/dist/dev/define/audio/skin.css +736 -6
  275. package/dist/dev/define/audio/skin.d.ts +6 -2
  276. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  277. package/dist/dev/define/audio/skin.js +93 -9
  278. package/dist/dev/define/audio/skin.js.map +1 -1
  279. package/dist/dev/define/audio/skin.tailwind.d.ts +20 -0
  280. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -0
  281. package/dist/dev/define/audio/skin.tailwind.js +117 -0
  282. package/dist/dev/define/audio/skin.tailwind.js.map +1 -0
  283. package/dist/dev/define/background/player.d.ts +0 -1
  284. package/dist/dev/define/background/player.d.ts.map +1 -1
  285. package/dist/dev/define/background/skin.css +1 -1
  286. package/dist/dev/define/background/skin.d.ts.map +1 -1
  287. package/dist/dev/define/background/skin.js +13 -1
  288. package/dist/dev/define/background/skin.js.map +1 -1
  289. package/dist/dev/define/base.css +23 -0
  290. package/dist/dev/define/media/dash-video.d.ts +14 -0
  291. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  292. package/dist/dev/define/media/dash-video.js +14 -0
  293. package/dist/dev/define/media/dash-video.js.map +1 -0
  294. package/dist/dev/define/media/simple-hls-video.d.ts +14 -0
  295. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -0
  296. package/dist/dev/define/media/simple-hls-video.js +13 -0
  297. package/dist/dev/define/media/simple-hls-video.js.map +1 -0
  298. package/dist/dev/define/shared.css +13 -0
  299. package/dist/dev/define/skin-mixin.d.ts +12 -4
  300. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  301. package/dist/dev/define/skin-mixin.js +36 -19
  302. package/dist/dev/define/skin-mixin.js.map +1 -1
  303. package/dist/dev/define/video/minimal-skin.css +701 -397
  304. package/dist/dev/define/video/minimal-skin.d.ts +5 -14
  305. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  306. package/dist/dev/define/video/minimal-skin.js +119 -83
  307. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  308. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -14
  309. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  310. package/dist/dev/define/video/minimal-skin.tailwind.js +136 -83
  311. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  312. package/dist/dev/define/video/player.d.ts +0 -1
  313. package/dist/dev/define/video/player.d.ts.map +1 -1
  314. package/dist/dev/define/video/skin.css +744 -427
  315. package/dist/dev/define/video/skin.d.ts +5 -14
  316. package/dist/dev/define/video/skin.d.ts.map +1 -1
  317. package/dist/dev/define/video/skin.js +115 -79
  318. package/dist/dev/define/video/skin.js.map +1 -1
  319. package/dist/dev/define/video/skin.tailwind.d.ts +4 -14
  320. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  321. package/dist/dev/define/video/skin.tailwind.js +125 -76
  322. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  323. package/dist/dev/icons/dist/render/default/index.js +14 -13
  324. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  325. package/dist/dev/icons/dist/render/minimal/index.js +14 -13
  326. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  327. package/dist/dev/index.d.ts +6 -5
  328. package/dist/dev/index.js +3 -2
  329. package/dist/dev/media/background-video/index.d.ts +8 -1
  330. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  331. package/dist/dev/media/background-video/index.js +5 -1
  332. package/dist/dev/media/background-video/index.js.map +1 -1
  333. package/dist/dev/media/container-element.d.ts +0 -1
  334. package/dist/dev/media/container-element.d.ts.map +1 -1
  335. package/dist/dev/media/container-element.js +5 -2
  336. package/dist/dev/media/container-element.js.map +1 -1
  337. package/dist/dev/media/dash-video/index.d.ts +13 -0
  338. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  339. package/dist/dev/media/dash-video/index.js +26 -0
  340. package/dist/dev/media/dash-video/index.js.map +1 -0
  341. package/dist/dev/media/hls-video/index.d.ts +2 -1
  342. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  343. package/dist/dev/media/hls-video/index.js +2 -1
  344. package/dist/dev/media/hls-video/index.js.map +1 -1
  345. package/dist/dev/media/simple-hls-video/index.d.ts +12 -0
  346. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  347. package/dist/dev/media/simple-hls-video/index.js +23 -0
  348. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  349. package/dist/dev/player/context.d.ts +16 -2
  350. package/dist/dev/player/context.d.ts.map +1 -1
  351. package/dist/dev/player/context.js +6 -2
  352. package/dist/dev/player/context.js.map +1 -1
  353. package/dist/dev/player/create-player.d.ts +2 -2
  354. package/dist/dev/player/create-player.js +11 -3
  355. package/dist/dev/player/create-player.js.map +1 -1
  356. package/dist/dev/presets/audio.d.ts +3 -1
  357. package/dist/dev/presets/audio.js +3 -1
  358. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +42 -0
  359. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  360. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  361. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  362. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +13 -0
  363. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  364. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  365. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  366. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  367. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  368. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  369. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  370. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  371. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  372. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  373. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  374. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  375. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  376. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +16 -0
  377. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  378. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +13 -0
  379. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  380. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  381. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  382. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  383. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  384. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  385. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  386. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  387. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  388. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  389. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  390. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +66 -0
  391. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  392. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +31 -0
  393. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  394. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  395. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  396. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  397. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  398. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +13 -0
  399. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  400. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  401. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  402. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  403. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  404. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  405. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  406. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  407. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  408. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  409. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  410. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +13 -0
  411. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  412. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +16 -0
  413. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  414. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +14 -0
  415. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  416. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  417. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  418. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  419. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  420. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  421. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  422. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  423. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  424. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +61 -0
  425. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  426. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +34 -0
  427. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  428. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js +28 -0
  429. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  430. package/dist/dev/store/container-mixin.d.ts +10 -5
  431. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  432. package/dist/dev/store/container-mixin.js +16 -46
  433. package/dist/dev/store/container-mixin.js.map +1 -1
  434. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  435. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  436. package/dist/dev/store/media-attach-mixin.js +45 -0
  437. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  438. package/dist/dev/store/provider-mixin.d.ts +19 -6
  439. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  440. package/dist/dev/store/provider-mixin.js +99 -9
  441. package/dist/dev/store/provider-mixin.js.map +1 -1
  442. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  443. package/dist/dev/ui/popover/popover-element.js +57 -4
  444. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  445. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  446. package/dist/dev/ui/slider/slider-element.js +3 -3
  447. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  448. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  449. package/dist/dev/ui/time-slider/time-slider-element.js +4 -4
  450. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  451. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  452. package/dist/dev/ui/tooltip/tooltip-element.js +56 -4
  453. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  454. package/dist/dev/ui/tooltip/tooltip-group-element.js +4 -1
  455. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  456. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  457. package/dist/dev/ui/volume-slider/volume-slider-element.js +6 -6
  458. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  459. package/package.json +24 -10
  460. package/dist/default/skins/dist/default/video/default.tailwind.js +0 -90
  461. package/dist/default/skins/dist/default/video/default.tailwind.js.map +0 -1
  462. package/dist/default/skins/dist/default/video/minimal.tailwind.js +0 -86
  463. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +0 -1
  464. package/dist/dev/skins/dist/default/video/default.tailwind.js +0 -90
  465. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +0 -1
  466. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +0 -86
  467. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +0 -1
@@ -1,12 +1,742 @@
1
- .media-skin {
2
- color: var(--media-color, red);
1
+ /* ==========================================================================
2
+ Reset
3
+ ========================================================================== */
4
+
5
+ .media-default-skin *,
6
+ .media-default-skin *::before,
7
+ .media-default-skin *::after {
8
+ box-sizing: border-box;
9
+ }
10
+ .media-default-skin img,
11
+ .media-default-skin video,
12
+ .media-default-skin svg {
13
+ display: block;
14
+ max-width: 100%;
15
+ }
16
+ .media-default-skin button {
17
+ font: inherit;
18
+ }
19
+ @media (prefers-reduced-motion: no-preference) {
20
+ .media-default-skin {
21
+ interpolate-size: allow-keywords;
22
+ }
23
+ }
24
+
25
+ /* ==========================================================================
26
+ Root Container
27
+ ========================================================================== */
28
+
29
+ .media-default-skin {
30
+ position: relative;
31
+ isolation: isolate;
32
+ display: block;
33
+ height: 100%;
34
+ width: 100%;
35
+ container: media-root / inline-size;
36
+ border-radius: var(--media-border-radius, 2rem);
37
+ font-family:
38
+ Inter Variable,
39
+ Inter,
40
+ ui-sans-serif,
41
+ system-ui,
42
+ sans-serif;
43
+ font-size: 0.8125rem;
44
+ line-height: 1.5;
45
+ letter-spacing: normal;
46
+ -webkit-font-smoothing: auto;
47
+ -moz-osx-font-smoothing: auto;
48
+ }
49
+
50
+ /* ==========================================================================
51
+ Surface (shared glass effect for tooltips, popovers, controls)
52
+ ========================================================================== */
53
+
54
+ .media-default-skin .media-surface {
55
+ background-color: var(--media-surface-background-color);
56
+ backdrop-filter: var(--media-surface-backdrop-filter);
57
+ box-shadow:
58
+ 0 0 0 1px var(--media-surface-outer-border-color),
59
+ 0 1px 3px 0 var(--media-surface-shadow-color),
60
+ 0 1px 2px -1px var(--media-surface-shadow-color);
61
+
62
+ /* Inner border ring */
63
+ &::after {
64
+ content: "";
65
+ position: absolute;
66
+ inset: 0;
67
+ z-index: 10;
68
+ border-radius: inherit;
69
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
70
+ pointer-events: none;
71
+ }
72
+
73
+ @media (prefers-reduced-transparency: reduce) {
74
+ background-color: oklch(from var(--media-surface-background-color) l c h / 0.7);
75
+ }
76
+
77
+ @media (prefers-contrast: more) {
78
+ background-color: oklch(from var(--media-surface-background-color) l c h / 0.9);
79
+ }
80
+ }
81
+
82
+ /* ==========================================================================
83
+ Buffering Indicator
84
+ ========================================================================== */
85
+
86
+ .media-default-skin .media-buffering-indicator {
87
+ position: absolute;
88
+ inset: 0;
89
+ display: none;
90
+ align-items: center;
91
+ justify-content: center;
92
+ color: oklch(1 0 0);
93
+ pointer-events: none;
94
+
95
+ &[data-visible] {
96
+ display: flex;
97
+ }
98
+
99
+ .media-surface {
100
+ padding: 0.25rem;
101
+ border-radius: 100%;
102
+ }
3
103
  }
4
104
 
105
+ /* ==========================================================================
106
+ Error Dialog
107
+ ========================================================================== */
108
+
109
+ .media-default-skin .media-error {
110
+ outline: none;
111
+ }
5
112
 
6
- audio-player {
7
- display: contents;
113
+ .media-default-skin .media-error__title {
114
+ font-weight: 600;
115
+ line-height: 1.25;
8
116
  }
9
117
 
10
- audio-skin {
11
- display: contents;
118
+ .media-default-skin .media-error__description {
119
+ opacity: 0.7;
120
+ overflow-wrap: anywhere;
12
121
  }
122
+
123
+ .media-default-skin .media-error__actions {
124
+ display: flex;
125
+ gap: 0.5rem;
126
+
127
+ & > * {
128
+ flex: 1;
129
+ }
130
+ }
131
+
132
+ .media-default-skin .media-error[data-open] ~ .media-controls * {
133
+ visibility: hidden;
134
+ }
135
+
136
+ /* ==========================================================================
137
+ Controls
138
+ ========================================================================== */
139
+
140
+ .media-default-skin .media-controls {
141
+ container: media-controls / inline-size;
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 0.075rem;
145
+ padding: 0.175rem;
146
+ border-radius: calc(infinity * 1px);
147
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
148
+ --media-controls-current-shadow-color-subtle: oklch(
149
+ from var(--media-controls-current-shadow-color) l c h /
150
+ calc(alpha * 0.4)
151
+ );
152
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
153
+
154
+ @container media-root (width > 40rem) {
155
+ gap: 0.125rem;
156
+ padding: 0.25rem;
157
+ }
158
+ }
159
+
160
+ /* ==========================================================================
161
+ Time Display
162
+ ========================================================================== */
163
+
164
+ .media-default-skin .media-time {
165
+ container: media-time / inline-size;
166
+ display: flex;
167
+ align-items: center;
168
+ flex: 1;
169
+ gap: 0.75rem;
170
+ padding-inline: 0.5rem;
171
+
172
+ & .media-time__value:first-child {
173
+ display: none;
174
+
175
+ @container media-time (width > 18rem) {
176
+ display: block;
177
+ }
178
+ }
179
+ }
180
+
181
+ .media-default-skin .media-time__value {
182
+ font-variant-numeric: tabular-nums;
183
+ }
184
+
185
+ /* ==========================================================================
186
+ Buttons
187
+ ========================================================================== */
188
+
189
+ /* Base button */
190
+ .media-default-skin .media-button {
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ flex-shrink: 0;
195
+ padding: 0.5rem 1rem;
196
+ border: none;
197
+ border-radius: calc(infinity * 1px);
198
+ outline: 2px solid transparent;
199
+ outline-offset: -2px;
200
+ transition-property: background-color, outline-offset, scale;
201
+ transition-duration: 150ms;
202
+ transition-timing-function: ease-out;
203
+ cursor: pointer;
204
+ user-select: none;
205
+ text-align: center;
206
+ touch-action: manipulation;
207
+
208
+ &:focus-visible {
209
+ outline-color: currentColor;
210
+ outline-offset: 2px;
211
+ }
212
+
213
+ &:active {
214
+ scale: 0.98;
215
+ }
216
+
217
+ &[disabled] {
218
+ opacity: 0.5;
219
+ filter: grayscale(1);
220
+ cursor: not-allowed;
221
+ }
222
+
223
+ &[data-availability="unavailable"] {
224
+ display: none;
225
+ }
226
+ }
227
+
228
+ /* Primary button variant */
229
+ .media-default-skin .media-button--primary {
230
+ background: oklch(1 0 0);
231
+ color: oklch(0 0 0);
232
+ font-weight: 500;
233
+ text-shadow: none;
234
+ }
235
+
236
+ /* Subtle button variant */
237
+ .media-default-skin .media-button--subtle {
238
+ background: transparent;
239
+ color: inherit;
240
+ text-shadow: inherit;
241
+
242
+ &:hover,
243
+ &:focus-visible,
244
+ &[aria-expanded="true"] {
245
+ background-color: oklch(from currentColor l c h / 0.1);
246
+ text-decoration: none;
247
+ }
248
+ }
249
+
250
+ /* Icon button variant */
251
+ .media-default-skin .media-button--icon {
252
+ display: grid;
253
+ width: 2.125rem;
254
+ padding: 0;
255
+ aspect-ratio: 1;
256
+
257
+ &:active {
258
+ scale: 0.9;
259
+ }
260
+
261
+ & .media-icon {
262
+ filter: drop-shadow(0 1px 0 var(--media-controls-current-shadow-color, oklch(0 0 0 / 0.25)));
263
+ }
264
+ }
265
+
266
+ /* Seek button */
267
+ .media-default-skin .media-button--seek {
268
+ & .media-icon__label {
269
+ position: absolute;
270
+ right: -1px;
271
+ bottom: -3px;
272
+ font-size: 10px;
273
+ font-weight: 480;
274
+ font-variant-numeric: tabular-nums;
275
+ }
276
+
277
+ &:has(.media-icon--flipped) .media-icon__label {
278
+ right: unset;
279
+ left: -1px;
280
+ }
281
+
282
+ @container media-controls (width < 28rem) {
283
+ display: none;
284
+ }
285
+ }
286
+
287
+ /* Playback rate button */
288
+ .media-default-skin .media-button--playback-rate {
289
+ padding: 0;
290
+
291
+ &::after {
292
+ content: attr(data-rate) "\00D7";
293
+ width: 4ch;
294
+ font-variant-numeric: tabular-nums;
295
+ }
296
+ }
297
+
298
+ /* ==========================================================================
299
+ Icons
300
+ ========================================================================== */
301
+
302
+ .media-default-skin .media-icon__container {
303
+ position: relative;
304
+ }
305
+ .media-default-skin .media-icon {
306
+ display: block;
307
+ flex-shrink: 0;
308
+ grid-area: 1 / 1;
309
+ width: 18px;
310
+ height: 18px;
311
+ transition-behavior: allow-discrete;
312
+ transition-property: display, opacity;
313
+ transition-duration: 150ms;
314
+ transition-timing-function: ease-out;
315
+ }
316
+ .media-default-skin .media-icon--flipped {
317
+ scale: -1 1;
318
+ }
319
+
320
+ /* ==========================================================================
321
+ Slider
322
+ ========================================================================== */
323
+
324
+ .media-default-skin .media-slider {
325
+ position: relative;
326
+ display: flex;
327
+ align-items: center;
328
+ justify-content: center;
329
+ flex: 1;
330
+ border-radius: calc(infinity * 1px);
331
+ outline: none;
332
+ cursor: pointer;
333
+
334
+ &[data-orientation="horizontal"] {
335
+ min-width: 5rem;
336
+ width: 100%;
337
+ height: 1.25rem;
338
+ }
339
+
340
+ &[data-orientation="vertical"] {
341
+ width: 1.25rem;
342
+ height: 5rem;
343
+ }
344
+ }
345
+
346
+ /* Track */
347
+ .media-default-skin .media-slider__track {
348
+ position: relative;
349
+ isolation: isolate;
350
+ overflow: hidden;
351
+ border-radius: inherit;
352
+ user-select: none;
353
+
354
+ &[data-orientation="horizontal"] {
355
+ width: 100%;
356
+ height: 0.25rem;
357
+ }
358
+
359
+ &[data-orientation="vertical"] {
360
+ width: 0.25rem;
361
+ height: 100%;
362
+ }
363
+ }
364
+
365
+ /* Thumb */
366
+ .media-default-skin .media-slider__thumb {
367
+ z-index: 10;
368
+ position: absolute;
369
+ translate: -50% -50%;
370
+ width: 0.625rem;
371
+ height: 0.625rem;
372
+ background-color: currentColor;
373
+ border-radius: calc(infinity * 1px);
374
+ box-shadow:
375
+ 0 0 0 1px var(--media-controls-current-shadow-color-subtle, oklch(0 0 0 / 0.1)),
376
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
377
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
378
+ opacity: 0;
379
+ transition-property: opacity, height, width, outline-offset;
380
+ transition-duration: 150ms;
381
+ transition-timing-function: ease-out;
382
+ user-select: none;
383
+ outline: 4px solid transparent;
384
+ outline-offset: -4px;
385
+
386
+ &[data-orientation="horizontal"] {
387
+ top: 50%;
388
+ left: var(--media-slider-fill);
389
+ }
390
+
391
+ &[data-orientation="vertical"] {
392
+ left: 50%;
393
+ top: calc(100% - var(--media-slider-fill));
394
+ }
395
+
396
+ &:hover,
397
+ &:focus {
398
+ outline-color: oklch(from currentColor l c h / 0.25);
399
+ outline-offset: 0;
400
+ }
401
+
402
+ &::after {
403
+ content: "";
404
+ position: absolute;
405
+ inset: -4px;
406
+ border-radius: inherit;
407
+ box-shadow: 0 0 0 2px oklch(1 0 0);
408
+ transition-property: opacity, scale;
409
+ transition-duration: 150ms;
410
+ transition-timing-function: ease-out;
411
+ }
412
+
413
+ &:not(:focus-visible)::after {
414
+ scale: 0.5;
415
+ opacity: 0;
416
+ }
417
+ }
418
+
419
+ .media-default-skin .media-slider:active .media-slider__thumb,
420
+ .media-default-skin .media-slider__thumb--persistent {
421
+ width: 0.75rem;
422
+ height: 0.75rem;
423
+ }
424
+
425
+ .media-default-skin .media-slider:hover .media-slider__thumb,
426
+ .media-default-skin .media-slider__thumb:focus-visible,
427
+ .media-default-skin .media-slider__thumb--persistent {
428
+ opacity: 1;
429
+ }
430
+
431
+ /* Shared track fills */
432
+ .media-default-skin .media-slider__buffer,
433
+ .media-default-skin .media-slider__fill {
434
+ position: absolute;
435
+ border-radius: inherit;
436
+ pointer-events: none;
437
+ }
438
+
439
+ .media-default-skin .media-slider__buffer[data-orientation="horizontal"],
440
+ .media-default-skin .media-slider__fill[data-orientation="horizontal"] {
441
+ inset-block: 0;
442
+ left: 0;
443
+ }
444
+
445
+ .media-default-skin .media-slider__buffer[data-orientation="vertical"],
446
+ .media-default-skin .media-slider__fill[data-orientation="vertical"] {
447
+ inset-inline: 0;
448
+ bottom: 0;
449
+ }
450
+
451
+ /* Buffer */
452
+ .media-default-skin .media-slider__buffer {
453
+ background-color: oklch(from currentColor l c h / 0.2);
454
+ transition-duration: 0.25s;
455
+ transition-timing-function: ease-out;
456
+
457
+ &[data-orientation="horizontal"] {
458
+ width: var(--media-slider-buffer);
459
+ transition-property: width;
460
+ }
461
+
462
+ &[data-orientation="vertical"] {
463
+ height: var(--media-slider-buffer);
464
+ transition-property: height;
465
+ }
466
+ }
467
+
468
+ /* Fill */
469
+ .media-default-skin .media-slider__fill {
470
+ background-color: currentColor;
471
+
472
+ &[data-orientation="horizontal"] {
473
+ width: var(--media-slider-fill);
474
+ }
475
+
476
+ &[data-orientation="vertical"] {
477
+ height: var(--media-slider-fill);
478
+ }
479
+ }
480
+
481
+ /* ==========================================================================
482
+ Popups & Tooltips
483
+ ========================================================================== */
484
+
485
+ .media-default-skin .media-popover,
486
+ .media-default-skin .media-tooltip {
487
+ margin: 0;
488
+ border: 0;
489
+ color: inherit;
490
+ overflow: visible;
491
+ transition-property: scale, opacity, filter;
492
+ transition-duration: var(--media-popup-transition-duration);
493
+ transition-timing-function: var(--media-popup-transition-timing-function);
494
+
495
+ &[data-starting-style],
496
+ &[data-ending-style] {
497
+ opacity: 0;
498
+ scale: 0.5;
499
+ filter: blur(8px);
500
+ }
501
+
502
+ &[data-instant] {
503
+ transition-duration: 0ms;
504
+ }
505
+
506
+ &[data-side="top"] {
507
+ transform-origin: bottom;
508
+ }
509
+ &[data-side="bottom"] {
510
+ transform-origin: top;
511
+ }
512
+ &[data-side="left"] {
513
+ transform-origin: right;
514
+ }
515
+ &[data-side="right"] {
516
+ transform-origin: left;
517
+ }
518
+
519
+ /* Safe area between trigger and popup */
520
+ &::before {
521
+ content: "";
522
+ position: absolute;
523
+ pointer-events: inherit;
524
+ }
525
+
526
+ &[data-side="top"]::before,
527
+ &[data-side="bottom"]::before {
528
+ width: 100%;
529
+ inset-inline: 0;
530
+ }
531
+ &[data-side="top"]::before {
532
+ top: 100%;
533
+ }
534
+ &[data-side="bottom"]::before {
535
+ bottom: 100%;
536
+ }
537
+
538
+ &[data-side="left"]::before,
539
+ &[data-side="right"]::before {
540
+ height: 100%;
541
+ inset-block: 0;
542
+ }
543
+ &[data-side="left"]::before {
544
+ left: 100%;
545
+ }
546
+ &[data-side="right"]::before {
547
+ right: 100%;
548
+ }
549
+ }
550
+
551
+ .media-default-skin .media-popover {
552
+ --media-popover-side-offset: 0.5rem;
553
+
554
+ &[data-side="top"]::before,
555
+ &[data-side="bottom"]::before {
556
+ height: var(--media-popover-side-offset);
557
+ }
558
+ &[data-side="left"]::before,
559
+ &[data-side="right"]::before {
560
+ width: var(--media-popover-side-offset);
561
+ }
562
+ }
563
+ .media-default-skin .media-popover--volume {
564
+ padding: 0.625rem 0.25rem;
565
+ border-radius: calc(infinity * 1px);
566
+
567
+ &:has(media-volume-slider[data-availability="unsupported"]) {
568
+ display: none;
569
+ }
570
+ }
571
+
572
+ .media-default-skin .media-tooltip {
573
+ padding: 0.25rem 0.625rem;
574
+ border-radius: calc(infinity * 1px);
575
+ font-size: 0.75rem;
576
+ white-space: nowrap;
577
+ --media-tooltip-side-offset: 0.75rem;
578
+
579
+ &[data-side="top"]::before,
580
+ &[data-side="bottom"]::before {
581
+ height: var(--media-tooltip-side-offset);
582
+ }
583
+ &[data-side="left"]::before,
584
+ &[data-side="right"]::before {
585
+ width: var(--media-tooltip-side-offset);
586
+ }
587
+ }
588
+
589
+ /* ==========================================================================
590
+ Icon State Visibility for Audio Skins
591
+
592
+ Data-attribute-driven visibility rules for multi-state icon buttons.
593
+ Uses :is() with both element selectors (for HTML custom element wrappers)
594
+ and class selectors (for React rendered SVG elements).
595
+ ========================================================================== */
596
+
597
+ /* --- All icons hidden by default --- */
598
+
599
+ .media-button--play .media-icon--restart,
600
+ .media-button--play .media-icon--play,
601
+ .media-button--play .media-icon--pause,
602
+ .media-button--mute .media-icon--volume-off,
603
+ .media-button--mute .media-icon--volume-low,
604
+ .media-button--mute .media-icon--volume-high {
605
+ display: none;
606
+ opacity: 0;
607
+ }
608
+
609
+ /* --- Active icon per state --- */
610
+
611
+ /* Play: ended → restart */
612
+ .media-button--play[data-ended] .media-icon--restart,
613
+ /* Play: paused (not ended) → play */
614
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
615
+ /* Play: playing (not paused, not ended) → pause */
616
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
617
+ /* Mute: muted → volume off */
618
+ .media-button--mute[data-muted] .media-icon--volume-off,
619
+ /* Mute: volume low (not muted) → volume low */
620
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
621
+ /* Mute: volume high (not muted, not low) → volume high */
622
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high {
623
+ display: block;
624
+ opacity: 1;
625
+ }
626
+
627
+ /* ==========================================================================
628
+ Tooltip Label State Visibility for Audio Skins
629
+
630
+ Data-attribute-driven visibility rules for multi-state tooltip labels.
631
+ Uses adjacent sibling selectors to match button state → tooltip content.
632
+ ========================================================================== */
633
+
634
+ /* --- All multi-state labels hidden by default --- */
635
+
636
+ .media-tooltip-label {
637
+ display: none;
638
+ }
639
+
640
+ /* --- Active label per state --- */
641
+
642
+ /* Play: ended → replay */
643
+ .media-button--play[data-ended] + .media-tooltip .media-tooltip-label--replay,
644
+ /* Play: paused (not ended) → play */
645
+ .media-button--play:not([data-ended])[data-paused] + .media-tooltip
646
+ .media-tooltip-label--play,
647
+ /* Play: playing (not paused, not ended) → pause */
648
+ .media-button--play:not([data-paused]):not([data-ended]) + .media-tooltip
649
+ .media-tooltip-label--pause {
650
+ display: block;
651
+ }
652
+
653
+
654
+ /* ==========================================================================
655
+ Root
656
+ ========================================================================== */
657
+
658
+ .media-default-skin--audio {
659
+ --media-border-color: oklch(0 0 0 / 0.1);
660
+ --media-surface-background-color: oklch(1 0 0 / 0.5);
661
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.1);
662
+ --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
663
+ --media-surface-shadow-color: oklch(0 0 0 / 0.15);
664
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
665
+ --media-text-color: var(--media-color-primary, oklch(0 0 0));
666
+ --media-error-dialog-transition-duration: 250ms;
667
+ --media-error-dialog-transition-delay: 100ms;
668
+ --media-popup-transition-duration: 100ms;
669
+ --media-popup-transition-timing-function: ease-out;
670
+
671
+ @media (prefers-reduced-motion: reduce) {
672
+ --media-error-dialog-transition-duration: 50ms;
673
+ --media-error-dialog-transition-delay: 0ms;
674
+ --media-popup-transition-duration: 0ms;
675
+ }
676
+
677
+ @media (prefers-color-scheme: dark) {
678
+ --media-border-color: oklch(1 0 0 / 0.1);
679
+ --media-surface-background-color: oklch(0 0 0 / 0.4);
680
+ --media-text-color: var(--media-color-primary, oklch(1 0 0));
681
+ }
682
+ }
683
+
684
+ /* ==========================================================================
685
+ Error Dialog
686
+ ========================================================================== */
687
+
688
+ .media-default-skin--audio .media-error__dialog {
689
+ position: absolute;
690
+ inset: 0;
691
+ z-index: 20;
692
+ display: flex;
693
+ align-items: center;
694
+ gap: 0.75rem;
695
+ padding-inline: 1.25rem 0.125rem;
696
+ transition-property: opacity, filter;
697
+ transition-duration: var(--media-error-dialog-transition-duration);
698
+ transition-delay: var(--media-error-dialog-transition-delay);
699
+ transition-timing-function: ease-out;
700
+ border-radius: calc(infinity * 1px);
701
+ background-color: var(--media-surface-background-color);
702
+ backdrop-filter: var(--media-surface-backdrop-filter);
703
+ color: var(--media-text-color);
704
+ }
705
+
706
+ .media-default-skin .media-error[data-starting-style] .media-error__dialog,
707
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
708
+ opacity: 0;
709
+ filter: blur(4px);
710
+ }
711
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
712
+ transition-delay: 0ms;
713
+ }
714
+
715
+ .media-default-skin--audio .media-error__content {
716
+ flex: 1;
717
+ display: flex;
718
+ gap: 0.5rem;
719
+ align-items: center;
720
+ }
721
+
722
+ /* ==========================================================================
723
+ Controls
724
+ ========================================================================== */
725
+
726
+ .media-default-skin--audio .media-controls {
727
+ color: var(--media-text-color);
728
+ }
729
+
730
+ /* ==========================================================================
731
+ Sliders
732
+ ========================================================================== */
733
+
734
+ .media-default-skin--audio .media-slider__track {
735
+ background-color: oklch(0 0 0 / 0.1);
736
+
737
+ @media (prefers-color-scheme: dark) {
738
+ background-color: oklch(1 0 0 / 0.2);
739
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
740
+ }
741
+ }
742
+