@videojs/html 10.0.0-alpha.7 → 10.0.0-beta.1

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