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