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