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

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 (321) hide show
  1. package/README.md +2 -2
  2. package/cdn/audio-minimal.css +1 -0
  3. package/cdn/audio-minimal.dev.js +5360 -0
  4. package/cdn/audio-minimal.dev.js.map +1 -0
  5. package/cdn/audio-minimal.js +25 -0
  6. package/cdn/audio-minimal.js.map +1 -0
  7. package/cdn/audio.css +1 -0
  8. package/cdn/audio.dev.js +5351 -0
  9. package/cdn/audio.dev.js.map +1 -0
  10. package/cdn/audio.js +25 -0
  11. package/cdn/audio.js.map +1 -0
  12. package/cdn/background.css +1 -0
  13. package/cdn/background.dev.js +2057 -0
  14. package/cdn/background.dev.js.map +1 -0
  15. package/cdn/background.js +19 -0
  16. package/cdn/background.js.map +1 -0
  17. package/cdn/media/hls-video.dev.js +28728 -0
  18. package/cdn/media/hls-video.dev.js.map +1 -0
  19. package/cdn/media/hls-video.js +83 -0
  20. package/cdn/media/hls-video.js.map +1 -0
  21. package/cdn/media/simple-hls-video.dev.js +3796 -0
  22. package/cdn/media/simple-hls-video.dev.js.map +1 -0
  23. package/cdn/media/simple-hls-video.js +44 -0
  24. package/cdn/media/simple-hls-video.js.map +1 -0
  25. package/cdn/video-minimal.css +1 -0
  26. package/cdn/video-minimal.dev.js +5714 -0
  27. package/cdn/video-minimal.dev.js.map +1 -0
  28. package/cdn/video-minimal.js +25 -0
  29. package/cdn/video-minimal.js.map +1 -0
  30. package/cdn/video.css +1 -0
  31. package/cdn/video.dev.js +5782 -0
  32. package/cdn/video.dev.js.map +1 -0
  33. package/cdn/video.js +25 -0
  34. package/cdn/video.js.map +1 -0
  35. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  36. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  37. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +6 -0
  38. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  39. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  40. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  41. package/dist/default/_virtual/inline-css_src/define/video/skin.js +6 -0
  42. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  43. package/dist/default/define/audio/minimal-skin.css +630 -5
  44. package/dist/default/define/audio/minimal-skin.js +19 -9
  45. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  46. package/dist/default/define/audio/minimal-skin.tailwind.js +41 -0
  47. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -0
  48. package/dist/default/define/audio/skin.css +655 -6
  49. package/dist/default/define/audio/skin.js +19 -9
  50. package/dist/default/define/audio/skin.js.map +1 -1
  51. package/dist/default/define/audio/skin.tailwind.js +40 -0
  52. package/dist/default/define/audio/skin.tailwind.js.map +1 -0
  53. package/dist/default/define/background/skin.js +1 -5
  54. package/dist/default/define/background/skin.js.map +1 -1
  55. package/dist/default/define/media/simple-hls-video.js +13 -0
  56. package/dist/default/define/media/simple-hls-video.js.map +1 -0
  57. package/dist/default/define/skin-mixin.js +39 -19
  58. package/dist/default/define/skin-mixin.js.map +1 -1
  59. package/dist/default/define/video/minimal-skin.css +353 -234
  60. package/dist/default/define/video/minimal-skin.js +7 -98
  61. package/dist/default/define/video/minimal-skin.js.map +1 -1
  62. package/dist/default/define/video/minimal-skin.tailwind.js +15 -99
  63. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  64. package/dist/default/define/video/skin.css +381 -259
  65. package/dist/default/define/video/skin.js +8 -92
  66. package/dist/default/define/video/skin.js.map +1 -1
  67. package/dist/default/define/video/skin.tailwind.js +12 -92
  68. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  69. package/dist/default/icons/dist/render/default/index.js +13 -13
  70. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  71. package/dist/default/icons/dist/render/minimal/index.js +13 -13
  72. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  73. package/dist/default/media/background-video/index.js +1 -18
  74. package/dist/default/media/background-video/index.js.map +1 -1
  75. package/dist/default/media/simple-hls-video/index.js +21 -0
  76. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  77. package/dist/default/player/create-player.js.map +1 -1
  78. package/dist/default/presets/audio.js +3 -1
  79. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  80. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  81. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  82. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  83. package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
  84. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  85. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  86. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  87. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  88. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  89. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  90. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  91. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  92. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  93. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  94. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  95. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  96. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  97. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  98. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  99. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  100. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  101. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  102. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  103. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  104. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  105. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  106. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  107. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  108. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  109. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  110. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  111. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  112. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  113. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  114. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  115. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  116. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  117. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  118. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  119. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  120. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  121. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  122. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  123. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  124. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  125. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  126. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  127. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  128. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  129. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  130. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  131. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  132. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  133. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  134. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  135. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  136. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  137. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  138. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  139. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  140. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  141. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  142. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  143. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  144. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  145. package/dist/default/store/container-mixin.js +17 -3
  146. package/dist/default/store/container-mixin.js.map +1 -1
  147. package/dist/default/ui/popover/popover-element.js +3 -1
  148. package/dist/default/ui/popover/popover-element.js.map +1 -1
  149. package/dist/default/ui/slider/slider-element.js +3 -3
  150. package/dist/default/ui/slider/slider-element.js.map +1 -1
  151. package/dist/default/ui/time-slider/time-slider-element.js +3 -3
  152. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  153. package/dist/default/ui/tooltip/tooltip-element.js +3 -1
  154. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  155. package/dist/default/ui/volume-slider/volume-slider-element.js +3 -3
  156. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  157. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  158. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  159. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +6 -0
  160. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  161. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  162. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  163. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +6 -0
  164. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  165. package/dist/dev/define/audio/minimal-skin.css +630 -5
  166. package/dist/dev/define/audio/minimal-skin.d.ts +6 -2
  167. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  168. package/dist/dev/define/audio/minimal-skin.js +97 -9
  169. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  170. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +20 -0
  171. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -0
  172. package/dist/dev/define/audio/minimal-skin.tailwind.js +121 -0
  173. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -0
  174. package/dist/dev/define/audio/player.d.ts +0 -1
  175. package/dist/dev/define/audio/player.d.ts.map +1 -1
  176. package/dist/dev/define/audio/skin.css +655 -6
  177. package/dist/dev/define/audio/skin.d.ts +6 -2
  178. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  179. package/dist/dev/define/audio/skin.js +88 -9
  180. package/dist/dev/define/audio/skin.js.map +1 -1
  181. package/dist/dev/define/audio/skin.tailwind.d.ts +20 -0
  182. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -0
  183. package/dist/dev/define/audio/skin.tailwind.js +111 -0
  184. package/dist/dev/define/audio/skin.tailwind.js.map +1 -0
  185. package/dist/dev/define/background/player.d.ts +0 -1
  186. package/dist/dev/define/background/player.d.ts.map +1 -1
  187. package/dist/dev/define/media/simple-hls-video.d.ts +14 -0
  188. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -0
  189. package/dist/dev/define/media/simple-hls-video.js +13 -0
  190. package/dist/dev/define/media/simple-hls-video.js.map +1 -0
  191. package/dist/dev/define/skin-mixin.d.ts +12 -4
  192. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  193. package/dist/dev/define/skin-mixin.js +53 -19
  194. package/dist/dev/define/skin-mixin.js.map +1 -1
  195. package/dist/dev/define/video/minimal-skin.css +353 -234
  196. package/dist/dev/define/video/minimal-skin.d.ts +5 -14
  197. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  198. package/dist/dev/define/video/minimal-skin.js +46 -17
  199. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  200. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -14
  201. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  202. package/dist/dev/define/video/minimal-skin.tailwind.js +77 -31
  203. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  204. package/dist/dev/define/video/player.d.ts +0 -1
  205. package/dist/dev/define/video/player.d.ts.map +1 -1
  206. package/dist/dev/define/video/skin.css +381 -259
  207. package/dist/dev/define/video/skin.d.ts +5 -14
  208. package/dist/dev/define/video/skin.d.ts.map +1 -1
  209. package/dist/dev/define/video/skin.js +46 -15
  210. package/dist/dev/define/video/skin.js.map +1 -1
  211. package/dist/dev/define/video/skin.tailwind.d.ts +4 -14
  212. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  213. package/dist/dev/define/video/skin.tailwind.js +71 -28
  214. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  215. package/dist/dev/icons/dist/render/default/index.js +13 -13
  216. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  217. package/dist/dev/icons/dist/render/minimal/index.js +13 -13
  218. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  219. package/dist/dev/index.d.ts +2 -2
  220. package/dist/dev/media/container-element.d.ts +0 -1
  221. package/dist/dev/media/container-element.d.ts.map +1 -1
  222. package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
  223. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  224. package/dist/dev/media/simple-hls-video/index.js +21 -0
  225. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  226. package/dist/dev/player/create-player.d.ts +1 -1
  227. package/dist/dev/player/create-player.js.map +1 -1
  228. package/dist/dev/presets/audio.d.ts +3 -1
  229. package/dist/dev/presets/audio.js +3 -1
  230. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  231. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  232. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  233. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  234. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
  235. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  236. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  237. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  238. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  239. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  240. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  241. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  242. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  243. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  244. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  245. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  246. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  247. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  248. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  249. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  250. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  251. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  252. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  253. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  254. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  255. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  256. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  257. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  258. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  259. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  260. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  261. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  262. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  263. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  264. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  265. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  266. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  267. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  268. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  269. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  270. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  271. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  272. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  273. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  274. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  275. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  276. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  277. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  278. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  279. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  280. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  281. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  282. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  283. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  284. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  285. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  286. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  287. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  288. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  289. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  290. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  291. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  292. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  293. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  294. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  295. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  296. package/dist/dev/store/container-mixin.d.ts +1 -1
  297. package/dist/dev/store/container-mixin.js +17 -3
  298. package/dist/dev/store/container-mixin.js.map +1 -1
  299. package/dist/dev/store/provider-mixin.d.ts +1 -1
  300. package/dist/dev/ui/popover/popover-element.js +3 -1
  301. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  302. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  303. package/dist/dev/ui/slider/slider-element.js +3 -3
  304. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  305. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  306. package/dist/dev/ui/time-slider/time-slider-element.js +3 -3
  307. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  308. package/dist/dev/ui/tooltip/tooltip-element.js +3 -1
  309. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  310. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  311. package/dist/dev/ui/volume-slider/volume-slider-element.js +3 -3
  312. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  313. package/package.json +11 -8
  314. package/dist/default/skins/dist/default/video/default.tailwind.js +0 -90
  315. package/dist/default/skins/dist/default/video/default.tailwind.js.map +0 -1
  316. package/dist/default/skins/dist/default/video/minimal.tailwind.js +0 -86
  317. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +0 -1
  318. package/dist/dev/skins/dist/default/video/default.tailwind.js +0 -90
  319. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +0 -1
  320. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +0 -86
  321. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- Icon State Visibility
2
+ Icon State Visibility for Video Skins
3
3
 
4
4
  Data-attribute-driven visibility rules for multi-state icon buttons.
5
5
  Uses :is() with both element selectors (for HTML custom element wrappers)
@@ -48,6 +48,49 @@
48
48
  opacity: 1;
49
49
  }
50
50
 
51
+ /* ==========================================================================
52
+ Tooltip Label State Visibility for Video Skins
53
+
54
+ Data-attribute-driven visibility rules for multi-state tooltip labels.
55
+ Uses adjacent sibling selectors to match button state → tooltip content.
56
+ ========================================================================== */
57
+
58
+ /* --- All multi-state labels hidden by default --- */
59
+
60
+ .media-tooltip-label {
61
+ display: none;
62
+ }
63
+
64
+ /* --- Active label per state --- */
65
+
66
+ /* Play: ended → replay */
67
+ .media-button--play[data-ended] + .media-tooltip .media-tooltip-label--replay,
68
+ /* Play: paused (not ended) → play */
69
+ .media-button--play:not([data-ended])[data-paused] + .media-tooltip
70
+ .media-tooltip-label--play,
71
+ /* Play: playing (not paused, not ended) → pause */
72
+ .media-button--play:not([data-paused]):not([data-ended]) + .media-tooltip
73
+ .media-tooltip-label--pause,
74
+ /* Fullscreen: not fullscreen → enter */
75
+ .media-button--fullscreen:not([data-fullscreen]) + .media-tooltip
76
+ .media-tooltip-label--enter-fullscreen,
77
+ /* Fullscreen: fullscreen → exit */
78
+ .media-button--fullscreen[data-fullscreen] + .media-tooltip
79
+ .media-tooltip-label--exit-fullscreen,
80
+ /* Captions: not active → enable */
81
+ .media-button--captions:not([data-active]) + .media-tooltip
82
+ .media-tooltip-label--enable-captions,
83
+ /* Captions: active → disable */
84
+ .media-button--captions[data-active] + .media-tooltip
85
+ .media-tooltip-label--disable-captions,
86
+ /* PiP: not in pip → enter */
87
+ .media-button--pip:not([data-pip]) + .media-tooltip
88
+ .media-tooltip-label--enter-pip,
89
+ /* PiP: in pip → exit */
90
+ .media-button--pip[data-pip] + .media-tooltip
91
+ .media-tooltip-label--exit-pip {
92
+ display: block;
93
+ }
51
94
 
52
95
  /* ==========================================================================
53
96
  Reset
@@ -83,9 +126,7 @@
83
126
  isolation: isolate;
84
127
  display: block;
85
128
  container: media-root / inline-size;
86
- overflow: clip;
87
129
  border-radius: var(--media-border-radius, 0.75rem);
88
- background: oklch(0 0 0);
89
130
  font-family:
90
131
  Inter Variable,
91
132
  Inter,
@@ -99,35 +140,16 @@
99
140
  -moz-osx-font-smoothing: auto;
100
141
  }
101
142
 
102
- /* Border ring */
103
- .media-minimal-skin::after {
104
- content: "";
105
- position: absolute;
106
- inset: 0;
107
- z-index: 10;
108
- border-radius: inherit;
109
- box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.15);
110
- pointer-events: none;
111
- }
112
- @media (prefers-color-scheme: dark) {
113
- .media-minimal-skin::after {
114
- box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.15);
115
- }
116
- }
117
-
118
- /* Fullscreen */
119
- .media-minimal-skin:fullscreen {
120
- border-radius: 0;
121
- }
122
-
123
143
  /* ==========================================================================
124
144
  Media Element
125
145
  ========================================================================== */
126
146
 
127
- .media-minimal-skin > video {
147
+ .media-minimal-skin ::slotted(video),
148
+ .media-minimal-skin video {
149
+ display: block;
128
150
  width: 100%;
129
151
  height: 100%;
130
- border-radius: inherit;
152
+ border-radius: var(--media-border-radius, 0.75rem);
131
153
  }
132
154
 
133
155
  /* ==========================================================================
@@ -143,9 +165,10 @@
143
165
  object-fit: cover;
144
166
  transition: opacity 0.25s;
145
167
  pointer-events: none;
146
- }
147
- .media-minimal-skin > img:not([data-visible]) {
148
- opacity: 0;
168
+
169
+ &:not([data-visible]) {
170
+ opacity: 0;
171
+ }
149
172
  }
150
173
 
151
174
  /* ==========================================================================
@@ -155,7 +178,6 @@
155
178
  .media-minimal-skin .media-overlay {
156
179
  position: absolute;
157
180
  inset: 0;
158
- z-index: 1;
159
181
  border-radius: inherit;
160
182
  background-image: linear-gradient(to top, oklch(0 0 0 / 0.7), oklch(0 0 0 / 0.5) 7.5rem, oklch(0 0 0 / 0));
161
183
  backdrop-filter: blur(0) saturate(1.2) brightness(0.9);
@@ -165,18 +187,19 @@
165
187
  transition-delay: 500ms;
166
188
  transition-timing-function: ease-out;
167
189
  pointer-events: none;
168
- }
169
- @media (prefers-reduced-motion: reduce) {
170
- .media-minimal-skin .media-overlay {
190
+
191
+ @media (prefers-reduced-motion: reduce) {
171
192
  transition-duration: 100ms;
172
193
  }
173
194
  }
195
+
174
196
  .media-minimal-skin .media-controls[data-visible] ~ .media-overlay,
175
197
  .media-minimal-skin .media-error[data-open] ~ .media-overlay {
176
198
  opacity: 1;
177
199
  transition-duration: 150ms;
178
200
  transition-delay: 0ms;
179
201
  }
202
+
180
203
  .media-minimal-skin .media-error[data-open] ~ .media-overlay {
181
204
  backdrop-filter: blur(8px) saturate(1.2) brightness(0.9);
182
205
  }
@@ -188,15 +211,15 @@
188
211
  .media-minimal-skin .media-buffering-indicator {
189
212
  position: absolute;
190
213
  inset: 0;
191
- z-index: 10;
192
214
  display: none;
193
215
  align-items: center;
194
216
  justify-content: center;
195
217
  color: oklch(1 0 0);
196
218
  pointer-events: none;
197
- }
198
- .media-minimal-skin .media-buffering-indicator[data-visible] {
199
- display: flex;
219
+
220
+ &[data-visible] {
221
+ display: flex;
222
+ }
200
223
  }
201
224
 
202
225
  /* ==========================================================================
@@ -212,6 +235,7 @@
212
235
  justify-content: center;
213
236
  pointer-events: none;
214
237
  }
238
+
215
239
  .media-minimal-skin .media-error__dialog {
216
240
  display: flex;
217
241
  flex-direction: column;
@@ -221,9 +245,6 @@
221
245
  color: oklch(1 0 0);
222
246
  font-size: 0.875rem;
223
247
  text-shadow: 0 1px 0 oklch(0 0 0 / 0.5);
224
- pointer-events: auto;
225
- opacity: 1;
226
- transform: scale(1);
227
248
  transition-property: opacity, transform;
228
249
  transition-duration: 500ms;
229
250
  transition-delay: 100ms;
@@ -238,28 +259,44 @@
238
259
  0.997 50.9%,
239
260
  1
240
261
  );
262
+
263
+ /* Simple, fast transition for reduced motion users */
264
+ @media (prefers-reduced-motion: reduce) {
265
+ transition-duration: 100ms;
266
+ transition-delay: 0ms;
267
+ transition-timing-function: ease-out;
268
+ }
241
269
  }
270
+
242
271
  .media-minimal-skin .media-error[data-starting-style] .media-error__dialog,
243
272
  .media-minimal-skin .media-error[data-ending-style] .media-error__dialog {
244
273
  opacity: 0;
245
274
  transform: scale(0.5);
246
275
  }
276
+
247
277
  .media-minimal-skin .media-error__content {
248
278
  display: flex;
249
279
  flex-direction: column;
250
280
  gap: 0.5rem;
251
281
  padding: 0.375rem 0;
252
282
  }
283
+
253
284
  .media-minimal-skin .media-error__title {
254
285
  font-weight: 600;
255
286
  line-height: 1.25;
256
287
  }
288
+
289
+ .media-minimal-skin .media-error__description {
290
+ opacity: 0.7;
291
+ }
292
+
257
293
  .media-minimal-skin .media-error__actions {
258
294
  display: flex;
259
295
  gap: 0.5rem;
260
- }
261
- .media-minimal-skin .media-error__actions > * {
262
- flex: 1;
296
+
297
+ & > * {
298
+ flex: 1;
299
+ }
263
300
  }
264
301
 
265
302
  /* ==========================================================================
@@ -267,43 +304,15 @@
267
304
  ========================================================================== */
268
305
 
269
306
  .media-minimal-skin .media-controls {
270
- position: absolute;
271
- bottom: 0;
272
- inset-inline: 0;
273
- z-index: 10;
274
307
  container: media-controls / inline-size;
275
308
  display: flex;
276
309
  align-items: center;
277
- gap: 0.5rem;
278
- padding: 2rem 0.375rem 0.375rem 0.375rem;
279
- color: oklch(1 0 0);
280
- will-change: transform, filter, opacity;
281
- transition-property: transform, filter, opacity;
282
- transition-duration: 75ms;
283
- transition-delay: 0ms;
284
- transition-timing-function: ease-out;
285
- }
286
- .media-minimal-skin .media-controls:not([data-visible]) {
287
- opacity: 0;
288
- transform: translateY(100%);
289
- filter: blur(8px);
290
- transition-duration: 500ms;
291
- transition-delay: 500ms;
292
- pointer-events: none;
293
- }
294
- @media (prefers-reduced-motion: reduce) {
295
- .media-minimal-skin .media-controls:not([data-visible]) {
296
- scale: 1;
297
- transform: translateY(0);
298
- filter: blur(0);
299
- transition-duration: 100ms;
300
- }
301
- }
302
- @container media-root (width > 40rem) {
303
- .media-minimal-skin .media-controls {
304
- gap: 0.875rem;
305
- padding: 2.5rem 0.75rem 0.75rem 0.75rem;
306
- }
310
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
311
+ --media-controls-current-shadow-color-subtle: oklch(
312
+ from var(--media-controls-current-shadow-color) l c h /
313
+ calc(alpha * 0.4)
314
+ );
315
+ text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
307
316
  }
308
317
 
309
318
  /* ==========================================================================
@@ -324,7 +333,6 @@
324
333
  }
325
334
  .media-minimal-skin .media-time__value {
326
335
  font-variant-numeric: tabular-nums;
327
- text-shadow: 0 1px 0 oklch(0 0 0 / 0.2);
328
336
  }
329
337
  .media-minimal-skin .media-time__value--current,
330
338
  .media-minimal-skin .media-time__separator {
@@ -336,7 +344,7 @@
336
344
  }
337
345
  .media-minimal-skin .media-time__value--duration,
338
346
  .media-minimal-skin .media-time__separator {
339
- color: oklch(1 0 0 / 0.5);
347
+ color: oklch(from currentColor l c h / 0.6);
340
348
  }
341
349
  .media-minimal-skin .media-time__value--current,
342
350
  .media-minimal-skin .media-time__separator {
@@ -352,9 +360,8 @@
352
360
  display: flex;
353
361
  align-items: center;
354
362
  gap: 0.075rem;
355
- }
356
- @container media-root (width > 40rem) {
357
- .media-minimal-skin .media-button-group {
363
+
364
+ @container media-root (width > 40rem) {
358
365
  gap: 0.125rem;
359
366
  }
360
367
  }
@@ -378,20 +385,27 @@
378
385
  color: oklch(0 0 0);
379
386
  font-weight: 500;
380
387
  text-align: center;
381
- transition-property: background-color, color, outline-offset;
388
+ text-shadow: inherit;
389
+ transition-property: background-color, color, outline-offset, transform;
382
390
  transition-duration: 150ms;
383
391
  transition-timing-function: ease-out;
384
392
  cursor: pointer;
385
393
  user-select: none;
386
- }
387
- .media-minimal-skin .media-button:focus-visible {
388
- outline-color: oklch(1 0 0);
389
- outline-offset: 2px;
390
- }
391
- .media-minimal-skin .media-button[disabled] {
392
- opacity: 0.5;
393
- filter: grayscale(1);
394
- cursor: not-allowed;
394
+
395
+ &:focus-visible {
396
+ outline-color: currentColor;
397
+ outline-offset: 2px;
398
+ }
399
+
400
+ &[disabled] {
401
+ opacity: 0.5;
402
+ filter: grayscale(1);
403
+ cursor: not-allowed;
404
+ }
405
+
406
+ &[data-availability="unavailable"] {
407
+ display: none;
408
+ }
395
409
  }
396
410
 
397
411
  /* Icon button variant */
@@ -401,33 +415,41 @@
401
415
  padding: 0;
402
416
  aspect-ratio: 1;
403
417
  background: transparent;
404
- color: oklch(1 0 0);
405
- }
406
- .media-minimal-skin .media-button--icon:hover,
407
- .media-minimal-skin .media-button--icon:focus-visible,
408
- .media-minimal-skin .media-button--icon[aria-expanded="true"] {
409
- color: oklch(1 0 0 / 0.8);
410
- text-decoration: none;
411
- }
412
- .media-minimal-skin .media-button--icon .media-icon {
413
- filter: drop-shadow(0 1px 0 oklch(0 0 0 / 0.25));
418
+ color: inherit;
419
+
420
+ &:hover,
421
+ &:focus-visible,
422
+ &[aria-expanded="true"] {
423
+ color: oklch(from currentColor l c h / 0.8);
424
+ text-decoration: none;
425
+ }
426
+
427
+ &:active {
428
+ transform: scale(0.9);
429
+ }
430
+
431
+ & .media-icon {
432
+ filter: drop-shadow(0 1px 0 var(--media-controls-current-shadow-color, oklch(0 0 0 / 0.25)));
433
+ }
414
434
  }
415
435
 
416
436
  /* Seek button */
417
- .media-minimal-skin .media-button--seek .media-icon__label {
418
- position: absolute;
419
- right: -1px;
420
- bottom: -3px;
421
- font-size: 0.75em;
422
- font-weight: 480;
423
- font-variant-numeric: tabular-nums;
424
- }
425
- .media-minimal-skin .media-button--seek:has(.media-icon--flipped) .media-icon__label {
426
- right: unset;
427
- left: -1px;
428
- }
429
- @container media-controls (width < 28rem) {
430
- .media-minimal-skin .media-button--seek {
437
+ .media-minimal-skin .media-button--seek {
438
+ & .media-icon__label {
439
+ position: absolute;
440
+ right: -1px;
441
+ bottom: -3px;
442
+ font-size: 0.75em;
443
+ font-weight: 480;
444
+ font-variant-numeric: tabular-nums;
445
+ }
446
+
447
+ &:has(.media-icon--flipped) .media-icon__label {
448
+ right: unset;
449
+ left: -1px;
450
+ }
451
+
452
+ @container media-controls (width < 28rem) {
431
453
  display: none;
432
454
  }
433
455
  }
@@ -435,11 +457,12 @@
435
457
  /* Playback rate button */
436
458
  .media-minimal-skin .media-button--playback-rate {
437
459
  padding: 0;
438
- }
439
- .media-minimal-skin .media-button--playback-rate::after {
440
- content: attr(data-rate) "\00D7";
441
- width: 4ch;
442
- font-variant-numeric: tabular-nums;
460
+
461
+ &::after {
462
+ content: attr(data-rate) "\00D7";
463
+ width: 4ch;
464
+ font-variant-numeric: tabular-nums;
465
+ }
443
466
  }
444
467
 
445
468
  /* ==========================================================================
@@ -476,19 +499,17 @@
476
499
  flex: 1;
477
500
  border-radius: calc(infinity * 1px);
478
501
  outline: none;
479
- }
480
502
 
481
- /* Horizontal orientation */
482
- .media-minimal-skin .media-slider[data-orientation="horizontal"] {
483
- min-width: 5rem;
484
- width: 100%;
485
- height: 1.25rem;
486
- }
503
+ &[data-orientation="horizontal"] {
504
+ min-width: 5rem;
505
+ width: 100%;
506
+ height: 1.25rem;
507
+ }
487
508
 
488
- /* Vertical orientation */
489
- .media-minimal-skin .media-slider[data-orientation="vertical"] {
490
- width: 1.25rem;
491
- height: 4.5rem;
509
+ &[data-orientation="vertical"] {
510
+ width: 1.25rem;
511
+ height: 4.5rem;
512
+ }
492
513
  }
493
514
 
494
515
  /* Track */
@@ -496,18 +517,19 @@
496
517
  position: relative;
497
518
  isolation: isolate;
498
519
  overflow: hidden;
499
- background-color: oklch(1 0 0 / 0.2);
500
520
  border-radius: inherit;
501
- box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
502
521
  user-select: none;
503
- }
504
- .media-minimal-skin .media-slider__track[data-orientation="horizontal"] {
505
- width: 100%;
506
- height: 0.1875rem;
507
- }
508
- .media-minimal-skin .media-slider__track[data-orientation="vertical"] {
509
- width: 0.1875rem;
510
- height: 100%;
522
+ background-color: oklch(from currentColor l c h / 0.2);
523
+
524
+ &[data-orientation="horizontal"] {
525
+ width: 100%;
526
+ height: 0.1875rem;
527
+ }
528
+
529
+ &[data-orientation="vertical"] {
530
+ width: 0.1875rem;
531
+ height: 100%;
532
+ }
511
533
  }
512
534
 
513
535
  /* Thumb */
@@ -517,10 +539,10 @@
517
539
  z-index: 10;
518
540
  width: 0.75rem;
519
541
  height: 0.75rem;
520
- background-color: oklch(1 0 0);
542
+ background-color: currentColor;
521
543
  border-radius: calc(infinity * 1px);
522
544
  box-shadow:
523
- 0 0 0 1px oklch(0 0 0 / 0.1),
545
+ 0 0 0 1px var(--media-controls-current-shadow-color-subtle, oklch(0 0 0 / 0.1)),
524
546
  0 1px 3px 0 oklch(0 0 0 / 0.15),
525
547
  0 1px 2px -1px oklch(0 0 0 / 0.15);
526
548
  opacity: 0;
@@ -532,19 +554,23 @@
532
554
  user-select: none;
533
555
  outline: 2px solid transparent;
534
556
  outline-offset: -2px;
557
+
558
+ &[data-orientation="horizontal"] {
559
+ top: 50%;
560
+ left: var(--media-slider-fill);
561
+ }
562
+
563
+ &[data-orientation="vertical"] {
564
+ left: 50%;
565
+ top: calc(100% - var(--media-slider-fill));
566
+ }
567
+
568
+ &:focus-visible {
569
+ outline-color: currentColor;
570
+ outline-offset: 2px;
571
+ }
535
572
  }
536
- .media-minimal-skin .media-slider__thumb[data-orientation="horizontal"] {
537
- top: 50%;
538
- left: var(--media-slider-fill);
539
- }
540
- .media-minimal-skin .media-slider__thumb[data-orientation="vertical"] {
541
- left: 50%;
542
- top: calc(100% - var(--media-slider-fill));
543
- }
544
- .media-minimal-skin .media-slider__thumb:focus-visible {
545
- outline-color: oklch(1 0 0);
546
- outline-offset: 2px;
547
- }
573
+
548
574
  .media-minimal-skin .media-slider:hover .media-slider__thumb,
549
575
  .media-minimal-skin .media-slider:focus-within .media-slider__thumb,
550
576
  .media-minimal-skin .media-slider__thumb--persistent {
@@ -559,11 +585,13 @@
559
585
  border-radius: inherit;
560
586
  pointer-events: none;
561
587
  }
588
+
562
589
  .media-minimal-skin .media-slider__buffer[data-orientation="horizontal"],
563
590
  .media-minimal-skin .media-slider__fill[data-orientation="horizontal"] {
564
591
  inset-block: 0;
565
592
  left: 0;
566
593
  }
594
+
567
595
  .media-minimal-skin .media-slider__buffer[data-orientation="vertical"],
568
596
  .media-minimal-skin .media-slider__fill[data-orientation="vertical"] {
569
597
  inset-inline: 0;
@@ -572,28 +600,32 @@
572
600
 
573
601
  /* Buffer */
574
602
  .media-minimal-skin .media-slider__buffer {
575
- background-color: oklch(1 0 0 / 0.2);
603
+ background-color: oklch(from currentColor l c h / 0.2);
576
604
  transition-duration: 0.25s;
577
605
  transition-timing-function: ease-out;
578
- }
579
- .media-minimal-skin .media-slider__buffer[data-orientation="horizontal"] {
580
- width: var(--media-slider-buffer);
581
- transition-property: width;
582
- }
583
- .media-minimal-skin .media-slider__buffer[data-orientation="vertical"] {
584
- height: var(--media-slider-buffer);
585
- transition-property: height;
606
+
607
+ &[data-orientation="horizontal"] {
608
+ width: var(--media-slider-buffer);
609
+ transition-property: width;
610
+ }
611
+
612
+ &[data-orientation="vertical"] {
613
+ height: var(--media-slider-buffer);
614
+ transition-property: height;
615
+ }
586
616
  }
587
617
 
588
618
  /* Fill */
589
619
  .media-minimal-skin .media-slider__fill {
590
- background-color: oklch(1 0 0);
591
- }
592
- .media-minimal-skin .media-slider__fill[data-orientation="horizontal"] {
593
- width: var(--media-slider-fill);
594
- }
595
- .media-minimal-skin .media-slider__fill[data-orientation="vertical"] {
596
- height: var(--media-slider-fill);
620
+ background-color: currentColor;
621
+
622
+ &[data-orientation="horizontal"] {
623
+ width: var(--media-slider-fill);
624
+ }
625
+
626
+ &[data-orientation="vertical"] {
627
+ height: var(--media-slider-fill);
628
+ }
597
629
  }
598
630
 
599
631
  /* Time display within slider */
@@ -605,42 +637,41 @@
605
637
  Popups & Animations
606
638
  ========================================================================== */
607
639
 
608
- .media-minimal-skin .media-popup-animation {
609
- opacity: 1;
610
- transform: scale(1);
611
- transform-origin: bottom;
612
- filter: blur(0px);
640
+ .media-minimal-skin .media-popover,
641
+ .media-minimal-skin .media-tooltip {
642
+ margin: 0;
643
+ border: 0;
644
+ color: inherit;
645
+ overflow: visible;
613
646
  transition-property: transform, scale, opacity, filter;
614
647
  transition-duration: 200ms;
615
- }
616
- .media-minimal-skin .media-popup-animation[data-starting-style],
617
- .media-minimal-skin .media-popup-animation[data-ending-style] {
618
- opacity: 0;
619
- transform: scale(0);
620
- filter: blur(8px);
621
- }
622
- .media-minimal-skin .media-popup-animation[data-instant] {
623
- transition-duration: 0ms;
624
- }
625
648
 
626
- .media-minimal-skin .media-popup {
627
- margin: 0;
628
- border: 0;
629
- background: transparent;
630
- --media-popover-side-offset: 0.5rem;
631
- }
632
- .media-minimal-skin .media-popup--volume {
633
- padding: 0.25rem;
634
- }
649
+ &[data-starting-style],
650
+ &[data-ending-style] {
651
+ opacity: 0;
652
+ transform: scale(0);
653
+ filter: blur(8px);
654
+ }
635
655
 
636
- /* ==========================================================================
637
- Tooltips
638
- ========================================================================== */
656
+ &[data-instant] {
657
+ transition-duration: 0ms;
658
+ }
639
659
 
640
- .media-minimal-skin .media-tooltip {
641
- white-space: nowrap;
660
+ &[data-side="top"] {
661
+ transform-origin: bottom;
662
+ }
663
+ &[data-side="bottom"] {
664
+ transform-origin: top;
665
+ }
666
+ &[data-side="left"] {
667
+ transform-origin: right;
668
+ }
669
+ &[data-side="right"] {
670
+ transform-origin: left;
671
+ }
642
672
  }
643
- .media-minimal-skin .media-tooltip-popup {
673
+
674
+ .media-minimal-skin .media-tooltip {
644
675
  padding: 0.25rem 0.5rem;
645
676
  border-radius: 0.25rem;
646
677
  background-color: oklch(1 0 0 / 0.1);
@@ -648,16 +679,15 @@
648
679
  box-shadow:
649
680
  0 4px 6px -1px oklch(0 0 0 / 0.1),
650
681
  0 2px 4px -2px oklch(0 0 0 / 0.1);
651
- color: oklch(1 0 0);
652
682
  font-size: 0.75rem;
653
- }
654
- @media (prefers-reduced-transparency: reduce) {
655
- .media-minimal-skin .media-tooltip-popup {
683
+ white-space: nowrap;
684
+ --media-tooltip-side-offset: 0.5rem;
685
+
686
+ @media (prefers-reduced-transparency: reduce) {
656
687
  background-color: oklch(0 0 0 / 0.7);
657
688
  }
658
- }
659
- @media (prefers-contrast: more) {
660
- .media-minimal-skin .media-tooltip-popup {
689
+
690
+ @media (prefers-contrast: more) {
661
691
  background-color: oklch(0 0 0 / 0.9);
662
692
  }
663
693
  }
@@ -673,7 +703,20 @@
673
703
  font-size: 1rem;
674
704
  text-wrap: balance;
675
705
  pointer-events: none;
706
+
707
+ @container media-root (width > 20rem) {
708
+ font-size: 1.5rem;
709
+ }
710
+
711
+ @container media-root (width > 48rem) {
712
+ font-size: 1.875rem;
713
+ }
714
+
715
+ @container media-root (width > 80rem) {
716
+ font-size: 2.25rem;
717
+ }
676
718
  }
719
+
677
720
  .media-minimal-skin .media-captions__container {
678
721
  display: flex;
679
722
  flex-direction: column;
@@ -682,6 +725,7 @@
682
725
  margin: 0 auto;
683
726
  text-align: center;
684
727
  }
728
+
685
729
  .media-minimal-skin .media-captions__text {
686
730
  display: block;
687
731
  padding: 0.125rem 0.5rem;
@@ -692,32 +736,15 @@
692
736
  text-align: center;
693
737
  white-space: pre-wrap;
694
738
  line-height: 1.2;
695
- }
696
- @media (prefers-contrast: more) {
697
- .media-minimal-skin .media-captions__text {
739
+
740
+ @media (prefers-contrast: more) {
698
741
  background: oklch(0 0 0 / 0.7);
699
742
  text-shadow: none;
700
743
  box-decoration-break: clone;
701
744
  }
702
- }
703
- .media-minimal-skin .media-captions__text > * {
704
- display: inline;
705
- }
706
745
 
707
- /* Responsive caption sizing */
708
- @container media-root (width > 20rem) {
709
- .media-minimal-skin .media-captions {
710
- font-size: 1.5rem;
711
- }
712
- }
713
- @container media-root (width > 48rem) {
714
- .media-minimal-skin .media-captions {
715
- font-size: 1.875rem;
716
- }
717
- }
718
- @container media-root (width > 80rem) {
719
- .media-minimal-skin .media-captions {
720
- font-size: 2.25rem;
746
+ & > * {
747
+ display: inline;
721
748
  }
722
749
  }
723
750
 
@@ -725,26 +752,31 @@
725
752
  .media-minimal-skin {
726
753
  --media-caption-track-delay: 600ms;
727
754
  --media-caption-track-y: -0.5rem;
755
+
756
+ &:has(.media-controls[data-visible]) {
757
+ --media-caption-track-delay: 25ms;
758
+ --media-caption-track-y: -3rem;
759
+ }
728
760
  }
729
- .media-minimal-skin:has(.media-controls[data-visible]) {
730
- --media-caption-track-delay: 25ms;
731
- --media-caption-track-y: -3rem;
732
- }
761
+
733
762
  .media-minimal-skin .media-captions,
734
763
  .media-minimal-skin video::-webkit-media-text-track-container {
735
764
  /* NOTE: The delay must account for the controls delay/duration */
736
765
  transition: transform 150ms ease-out;
737
766
  transition-delay: var(--media-caption-track-delay);
738
767
  }
768
+
739
769
  .media-minimal-skin video::-webkit-media-text-track-container {
740
770
  transform: translateY(var(--media-caption-track-y)) scale(0.98);
741
771
  z-index: 1;
742
772
  font-family: inherit;
743
773
  }
774
+
744
775
  /* When controls are visible, shift captions up to avoid overlap */
745
776
  .media-minimal-skin .media-controls[data-visible] ~ .media-captions {
746
777
  transform: translateY(calc(var(--media-caption-track-y) - 0.5rem));
747
778
  }
779
+
748
780
  @media (prefers-reduced-motion: reduce) {
749
781
  .media-minimal-skin .media-captions,
750
782
  .media-minimal-skin video::-webkit-media-text-track-container {
@@ -752,3 +784,90 @@
752
784
  }
753
785
  }
754
786
 
787
+
788
+ /* ==========================================================================
789
+ Root
790
+ ========================================================================== */
791
+
792
+ .media-minimal-skin--video {
793
+ background: oklch(0 0 0);
794
+
795
+ /* Border ring */
796
+ &::after {
797
+ content: "";
798
+ position: absolute;
799
+ inset: 0;
800
+ z-index: 10;
801
+ border-radius: inherit;
802
+ box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.15);
803
+ pointer-events: none;
804
+
805
+ @media (prefers-color-scheme: dark) {
806
+ box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.15);
807
+ }
808
+ }
809
+
810
+ /* Fullscreen */
811
+ &:fullscreen {
812
+ border-radius: 0;
813
+ }
814
+ }
815
+
816
+ /* ==========================================================================
817
+ Controls (hide/show behavior)
818
+ ========================================================================== */
819
+
820
+ .media-minimal-skin--video .media-controls {
821
+ position: absolute;
822
+ bottom: 0;
823
+ inset-inline: 0;
824
+ z-index: 10;
825
+ gap: 0.5rem;
826
+ padding: 2rem 0.375rem 0.375rem 0.375rem;
827
+ will-change: transform, filter, opacity;
828
+ transition-property: transform, filter, opacity;
829
+ transition-duration: 75ms;
830
+ transition-delay: 0ms;
831
+ transition-timing-function: ease-out;
832
+ color: oklch(1 0 0);
833
+
834
+ @container media-root (width > 40rem) {
835
+ gap: 0.875rem;
836
+ padding: 2.5rem 0.75rem 0.75rem 0.75rem;
837
+ }
838
+
839
+ &:not([data-visible]) {
840
+ opacity: 0;
841
+ transform: translateY(100%);
842
+ filter: blur(8px);
843
+ transition-duration: 500ms;
844
+ transition-delay: 500ms;
845
+ pointer-events: none;
846
+
847
+ @media (prefers-reduced-motion: reduce) {
848
+ scale: 1;
849
+ transform: translateY(0);
850
+ filter: blur(0);
851
+ transition-duration: 100ms;
852
+ }
853
+ }
854
+ }
855
+
856
+ /* ==========================================================================
857
+ Sliders
858
+ ========================================================================== */
859
+
860
+ .media-minimal-skin--video .media-slider__track {
861
+ box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
862
+ }
863
+
864
+ /* ==========================================================================
865
+ Popups & Animations
866
+ ========================================================================== */
867
+
868
+ .media-minimal-skin--video .media-popover--volume {
869
+ --media-popover-side-offset: 0.5rem;
870
+ background: transparent;
871
+ padding: 0.25rem;
872
+ }
873
+