@videojs/html 10.0.0-beta.2 → 10.0.0-beta.21

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 (972) hide show
  1. package/cdn/abort-C9UiBdVU.js +2 -0
  2. package/cdn/abort-C9UiBdVU.js.map +1 -0
  3. package/cdn/abort-DsTff8mS.js +22 -0
  4. package/cdn/abort-DsTff8mS.js.map +1 -0
  5. package/cdn/audio-minimal-ui.dev.d.ts +1 -0
  6. package/cdn/audio-minimal-ui.dev.js +4 -0
  7. package/cdn/audio-minimal-ui.js +1 -0
  8. package/cdn/audio-minimal.dev.d.ts +1 -0
  9. package/cdn/audio-minimal.dev.js +93 -5331
  10. package/cdn/audio-minimal.dev.js.map +1 -1
  11. package/cdn/audio-minimal.js +1 -24
  12. package/cdn/audio-minimal.js.map +1 -1
  13. package/cdn/audio-ui.dev.d.ts +1 -0
  14. package/cdn/audio-ui.dev.js +4 -0
  15. package/cdn/audio-ui.js +1 -0
  16. package/cdn/audio.dev.d.ts +1 -0
  17. package/cdn/audio.dev.js +107 -5325
  18. package/cdn/audio.dev.js.map +1 -1
  19. package/cdn/audio.js +1 -24
  20. package/cdn/audio.js.map +1 -1
  21. package/cdn/background.dev.d.ts +1 -0
  22. package/cdn/background.dev.js +105 -2017
  23. package/cdn/background.dev.js.map +1 -1
  24. package/cdn/background.js +1 -18
  25. package/cdn/background.js.map +1 -1
  26. package/cdn/compounds-CM_NP-ej.js +4154 -0
  27. package/cdn/compounds-CM_NP-ej.js.map +1 -0
  28. package/cdn/compounds-Vvz-YfXP.js +8 -0
  29. package/cdn/compounds-Vvz-YfXP.js.map +1 -0
  30. package/cdn/context-0rI_P6jf.js +107 -0
  31. package/cdn/context-0rI_P6jf.js.map +1 -0
  32. package/cdn/context-CEFisYD0.js +14 -0
  33. package/cdn/context-CEFisYD0.js.map +1 -0
  34. package/cdn/create-player-Bi6WUwDZ.js +2182 -0
  35. package/cdn/create-player-Bi6WUwDZ.js.map +1 -0
  36. package/cdn/create-player-CKuX8YI5.js +7 -0
  37. package/cdn/create-player-CKuX8YI5.js.map +1 -0
  38. package/cdn/default-C8KsZ0zK.js +2 -0
  39. package/cdn/default-C8KsZ0zK.js.map +1 -0
  40. package/cdn/default-XHZAb7gP.js +28 -0
  41. package/cdn/default-XHZAb7gP.js.map +1 -0
  42. package/cdn/hls-BotloEPN.js +28632 -0
  43. package/cdn/hls-BotloEPN.js.map +1 -0
  44. package/cdn/hls-CBpGTZXU.js +41 -0
  45. package/cdn/hls-CBpGTZXU.js.map +1 -0
  46. package/cdn/hotkey-element-317kwVH5.js +369 -0
  47. package/cdn/hotkey-element-317kwVH5.js.map +1 -0
  48. package/cdn/hotkey-element-DRGCbVj9.js +2 -0
  49. package/cdn/hotkey-element-DRGCbVj9.js.map +1 -0
  50. package/cdn/listen-CJT7C4kM.js +9 -0
  51. package/cdn/listen-CJT7C4kM.js.map +1 -0
  52. package/cdn/listen-DFX-0NbX.js +2 -0
  53. package/cdn/listen-DFX-0NbX.js.map +1 -0
  54. package/cdn/media/dash-video.dev.d.ts +1 -0
  55. package/cdn/media/dash-video.dev.js +39153 -0
  56. package/cdn/media/dash-video.dev.js.map +1 -0
  57. package/cdn/media/dash-video.js +21 -0
  58. package/cdn/media/dash-video.js.map +1 -0
  59. package/cdn/media/hls-video.dev.d.ts +1 -0
  60. package/cdn/media/hls-video.dev.js +12 -28712
  61. package/cdn/media/hls-video.dev.js.map +1 -1
  62. package/cdn/media/hls-video.js +1 -82
  63. package/cdn/media/hls-video.js.map +1 -1
  64. package/cdn/media/mux-audio.dev.d.ts +1 -0
  65. package/cdn/media/mux-audio.dev.js +29 -0
  66. package/cdn/media/mux-audio.dev.js.map +1 -0
  67. package/cdn/media/mux-audio.js +2 -0
  68. package/cdn/media/mux-audio.js.map +1 -0
  69. package/cdn/media/mux-video.dev.d.ts +1 -0
  70. package/cdn/media/mux-video.dev.js +29 -0
  71. package/cdn/media/mux-video.dev.js.map +1 -0
  72. package/cdn/media/mux-video.js +2 -0
  73. package/cdn/media/mux-video.js.map +1 -0
  74. package/cdn/media/native-hls-video.dev.d.ts +1 -0
  75. package/cdn/media/native-hls-video.dev.js +19 -0
  76. package/cdn/media/native-hls-video.dev.js.map +1 -0
  77. package/cdn/media/native-hls-video.js +2 -0
  78. package/cdn/media/native-hls-video.js.map +1 -0
  79. package/cdn/media/simple-hls-video.dev.d.ts +1 -0
  80. package/cdn/media/simple-hls-video.dev.js +2887 -2605
  81. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  82. package/cdn/media/simple-hls-video.js +58 -43
  83. package/cdn/media/simple-hls-video.js.map +1 -1
  84. package/cdn/media-attach-mixin-C2wz0Qbd.js +2 -0
  85. package/cdn/media-attach-mixin-C2wz0Qbd.js.map +1 -0
  86. package/cdn/media-attach-mixin-CYoNe7Sh.js +67 -0
  87. package/cdn/media-attach-mixin-CYoNe7Sh.js.map +1 -0
  88. package/cdn/minimal-BnDnlwbj.js +28 -0
  89. package/cdn/minimal-BnDnlwbj.js.map +1 -0
  90. package/cdn/minimal-CqBxBoLe.js +2 -0
  91. package/cdn/minimal-CqBxBoLe.js.map +1 -0
  92. package/cdn/minimal-ui-C_G24FML.js +2 -0
  93. package/cdn/minimal-ui-C_G24FML.js.map +1 -0
  94. package/cdn/minimal-ui-CroDYUGf.js +2 -0
  95. package/cdn/minimal-ui-CroDYUGf.js.map +1 -0
  96. package/cdn/minimal-ui-DhxN21v5.js +22 -0
  97. package/cdn/minimal-ui-DhxN21v5.js.map +1 -0
  98. package/cdn/minimal-ui-cy2oEbFm.js +28 -0
  99. package/cdn/minimal-ui-cy2oEbFm.js.map +1 -0
  100. package/cdn/mux-B5K6kOzg.js +3072 -0
  101. package/cdn/mux-B5K6kOzg.js.map +1 -0
  102. package/cdn/mux-DJhfbcCw.js +25 -0
  103. package/cdn/mux-DJhfbcCw.js.map +1 -0
  104. package/cdn/native-hls-CU2F7L5C.js +123 -0
  105. package/cdn/native-hls-CU2F7L5C.js.map +1 -0
  106. package/cdn/native-hls-DKcYYWRt.js +2 -0
  107. package/cdn/native-hls-DKcYYWRt.js.map +1 -0
  108. package/cdn/pick-CERGq1No.js +2 -0
  109. package/cdn/pick-CERGq1No.js.map +1 -0
  110. package/cdn/pick-D-wCJ3iA.js +23 -0
  111. package/cdn/pick-D-wCJ3iA.js.map +1 -0
  112. package/cdn/player-BK35-ndY.js +2 -0
  113. package/cdn/player-BK35-ndY.js.map +1 -0
  114. package/cdn/player-C7ajkBi4.js +2 -0
  115. package/cdn/player-C7ajkBi4.js.map +1 -0
  116. package/cdn/player-CatrGW7l.js +382 -0
  117. package/cdn/player-CatrGW7l.js.map +1 -0
  118. package/cdn/player-xstFHOgW.js +16 -0
  119. package/cdn/player-xstFHOgW.js.map +1 -0
  120. package/cdn/shadow-styles-BYZ6q3Q4.js +3 -0
  121. package/cdn/shadow-styles-BYZ6q3Q4.js.map +1 -0
  122. package/cdn/shadow-styles-DKXFMmyD.js +41 -0
  123. package/cdn/shadow-styles-DKXFMmyD.js.map +1 -0
  124. package/cdn/shallow-equal-Daj3-_LC.js +15 -0
  125. package/cdn/shallow-equal-Daj3-_LC.js.map +1 -0
  126. package/cdn/shallow-equal-xh6Wj-hj.js +2 -0
  127. package/cdn/shallow-equal-xh6Wj-hj.js.map +1 -0
  128. package/cdn/skin-element-BGP23sop.js +2 -0
  129. package/cdn/skin-element-BGP23sop.js.map +1 -0
  130. package/cdn/skin-element-CDUkmCtS.js +55 -0
  131. package/cdn/skin-element-CDUkmCtS.js.map +1 -0
  132. package/cdn/ui-AFHQtrqa.js +25 -0
  133. package/cdn/ui-AFHQtrqa.js.map +1 -0
  134. package/cdn/ui-B7vt9mp-.js +2 -0
  135. package/cdn/ui-B7vt9mp-.js.map +1 -0
  136. package/cdn/ui-Em9rF9Ah.js +31 -0
  137. package/cdn/ui-Em9rF9Ah.js.map +1 -0
  138. package/cdn/ui-QHwo6iyo.js +2 -0
  139. package/cdn/ui-QHwo6iyo.js.map +1 -0
  140. package/cdn/video-host-CPRJVRi3.js +47 -0
  141. package/cdn/video-host-CPRJVRi3.js.map +1 -0
  142. package/cdn/video-host-ycP7ckxU.js +410 -0
  143. package/cdn/video-host-ycP7ckxU.js.map +1 -0
  144. package/cdn/video-minimal-ui.dev.d.ts +1 -0
  145. package/cdn/video-minimal-ui.dev.js +4 -0
  146. package/cdn/video-minimal-ui.js +1 -0
  147. package/cdn/video-minimal.dev.d.ts +1 -0
  148. package/cdn/video-minimal.dev.js +114 -5669
  149. package/cdn/video-minimal.dev.js.map +1 -1
  150. package/cdn/video-minimal.js +1 -24
  151. package/cdn/video-minimal.js.map +1 -1
  152. package/cdn/video-ui.dev.d.ts +1 -0
  153. package/cdn/video-ui.dev.js +4 -0
  154. package/cdn/video-ui.js +1 -0
  155. package/cdn/video.dev.d.ts +1 -0
  156. package/cdn/video.dev.js +136 -5739
  157. package/cdn/video.dev.js.map +1 -1
  158. package/cdn/video.js +1 -24
  159. package/cdn/video.js.map +1 -1
  160. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  161. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  162. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +2 -2
  163. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  164. package/dist/default/_virtual/inline-css_src/define/background/skin.js +6 -0
  165. package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  166. package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
  167. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  168. package/dist/default/_virtual/inline-css_src/define/shared.js +6 -0
  169. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -0
  170. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  171. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  172. package/dist/default/_virtual/inline-css_src/define/video/skin.js +2 -2
  173. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  174. package/dist/default/define/audio/minimal-skin.css +324 -182
  175. package/dist/default/define/audio/minimal-skin.js +10 -19
  176. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  177. package/dist/default/define/audio/minimal-skin.tailwind.js +11 -19
  178. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  179. package/dist/default/define/audio/minimal-ui.js +28 -0
  180. package/dist/default/define/audio/minimal-ui.js.map +1 -0
  181. package/dist/default/define/audio/player.js +1 -2
  182. package/dist/default/define/audio/player.js.map +1 -1
  183. package/dist/default/define/audio/skin.css +307 -174
  184. package/dist/default/define/audio/skin.js +10 -19
  185. package/dist/default/define/audio/skin.js.map +1 -1
  186. package/dist/default/define/audio/skin.tailwind.js +13 -21
  187. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  188. package/dist/default/define/audio/ui.js +32 -0
  189. package/dist/default/define/audio/ui.js.map +1 -0
  190. package/dist/default/define/background/player.js +1 -2
  191. package/dist/default/define/background/player.js.map +1 -1
  192. package/dist/default/define/background/skin.css +1 -1
  193. package/dist/default/define/background/skin.js +6 -4
  194. package/dist/default/define/background/skin.js.map +1 -1
  195. package/dist/default/define/background/video.js +1 -2
  196. package/dist/default/define/base.css +27 -0
  197. package/dist/default/define/media/background-video.js +1 -2
  198. package/dist/default/define/media/background-video.js.map +1 -1
  199. package/dist/default/define/media/container.js +1 -2
  200. package/dist/default/define/media/container.js.map +1 -1
  201. package/dist/default/define/media/dash-video.js +13 -0
  202. package/dist/default/define/media/dash-video.js.map +1 -0
  203. package/dist/default/define/media/hls-video.js +1 -2
  204. package/dist/default/define/media/hls-video.js.map +1 -1
  205. package/dist/default/define/media/mux-audio.js +13 -0
  206. package/dist/default/define/media/mux-audio.js.map +1 -0
  207. package/dist/default/define/media/mux-video.js +13 -0
  208. package/dist/default/define/media/mux-video.js.map +1 -0
  209. package/dist/default/define/media/native-hls-video.js +13 -0
  210. package/dist/default/define/media/native-hls-video.js.map +1 -0
  211. package/dist/default/define/media/simple-hls-video.js +3 -3
  212. package/dist/default/define/media/simple-hls-video.js.map +1 -1
  213. package/dist/default/define/safe-define.js +4 -2
  214. package/dist/default/define/safe-define.js.map +1 -1
  215. package/dist/default/define/shared.css +14 -0
  216. package/dist/default/define/skin-element.js +33 -0
  217. package/dist/default/define/skin-element.js.map +1 -0
  218. package/dist/default/define/ui/alert-dialog-close.js +1 -2
  219. package/dist/default/define/ui/alert-dialog-close.js.map +1 -1
  220. package/dist/default/define/ui/alert-dialog-description.js +1 -2
  221. package/dist/default/define/ui/alert-dialog-description.js.map +1 -1
  222. package/dist/default/define/ui/alert-dialog-title.js +1 -2
  223. package/dist/default/define/ui/alert-dialog-title.js.map +1 -1
  224. package/dist/default/define/ui/alert-dialog.js +1 -2
  225. package/dist/default/define/ui/alert-dialog.js.map +1 -1
  226. package/dist/default/define/ui/buffering-indicator.js +1 -2
  227. package/dist/default/define/ui/buffering-indicator.js.map +1 -1
  228. package/dist/default/define/ui/captions-button.js +3 -3
  229. package/dist/default/define/ui/captions-button.js.map +1 -1
  230. package/dist/default/define/ui/compounds.js +62 -0
  231. package/dist/default/define/ui/compounds.js.map +1 -0
  232. package/dist/default/define/ui/controls-group.js +1 -2
  233. package/dist/default/define/ui/controls-group.js.map +1 -1
  234. package/dist/default/define/ui/controls.js +3 -7
  235. package/dist/default/define/ui/controls.js.map +1 -1
  236. package/dist/default/define/ui/error-dialog.js +6 -0
  237. package/dist/default/define/ui/error-dialog.js.map +1 -0
  238. package/dist/default/define/ui/fullscreen-button.js +1 -2
  239. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  240. package/dist/default/define/ui/hotkey.js +7 -0
  241. package/dist/default/define/ui/hotkey.js.map +1 -0
  242. package/dist/default/define/ui/mute-button.js +1 -2
  243. package/dist/default/define/ui/mute-button.js.map +1 -1
  244. package/dist/default/define/ui/pip-button.js +1 -2
  245. package/dist/default/define/ui/pip-button.js.map +1 -1
  246. package/dist/default/define/ui/play-button.js +1 -2
  247. package/dist/default/define/ui/play-button.js.map +1 -1
  248. package/dist/default/define/ui/playback-rate-button.js +1 -2
  249. package/dist/default/define/ui/playback-rate-button.js.map +1 -1
  250. package/dist/default/define/ui/popover.js +1 -2
  251. package/dist/default/define/ui/popover.js.map +1 -1
  252. package/dist/default/define/ui/poster.js +1 -2
  253. package/dist/default/define/ui/poster.js.map +1 -1
  254. package/dist/default/define/ui/seek-button.js +1 -2
  255. package/dist/default/define/ui/seek-button.js.map +1 -1
  256. package/dist/default/define/ui/slider-buffer.js +1 -2
  257. package/dist/default/define/ui/slider-buffer.js.map +1 -1
  258. package/dist/default/define/ui/slider-fill.js +1 -2
  259. package/dist/default/define/ui/slider-fill.js.map +1 -1
  260. package/dist/default/define/ui/slider-thumb.js +1 -2
  261. package/dist/default/define/ui/slider-thumb.js.map +1 -1
  262. package/dist/default/define/ui/slider-thumbnail.js +1 -2
  263. package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
  264. package/dist/default/define/ui/slider-track.js +1 -2
  265. package/dist/default/define/ui/slider-track.js.map +1 -1
  266. package/dist/default/define/ui/slider-value.js +1 -2
  267. package/dist/default/define/ui/slider-value.js.map +1 -1
  268. package/dist/default/define/ui/slider.js +3 -15
  269. package/dist/default/define/ui/slider.js.map +1 -1
  270. package/dist/default/define/ui/thumbnail.js +1 -2
  271. package/dist/default/define/ui/thumbnail.js.map +1 -1
  272. package/dist/default/define/ui/time-group.js +1 -2
  273. package/dist/default/define/ui/time-group.js.map +1 -1
  274. package/dist/default/define/ui/time-separator.js +1 -2
  275. package/dist/default/define/ui/time-separator.js.map +1 -1
  276. package/dist/default/define/ui/time-slider.js +3 -19
  277. package/dist/default/define/ui/time-slider.js.map +1 -1
  278. package/dist/default/define/ui/time.js +3 -9
  279. package/dist/default/define/ui/time.js.map +1 -1
  280. package/dist/default/define/ui/tooltip-group.js +1 -2
  281. package/dist/default/define/ui/tooltip-group.js.map +1 -1
  282. package/dist/default/define/ui/tooltip.js +1 -2
  283. package/dist/default/define/ui/tooltip.js.map +1 -1
  284. package/dist/default/define/ui/volume-slider.js +3 -15
  285. package/dist/default/define/ui/volume-slider.js.map +1 -1
  286. package/dist/default/define/video/minimal-skin.css +618 -328
  287. package/dist/default/define/video/minimal-skin.js +10 -23
  288. package/dist/default/define/video/minimal-skin.js.map +1 -1
  289. package/dist/default/define/video/minimal-skin.tailwind.js +13 -30
  290. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  291. package/dist/default/define/video/minimal-ui.js +39 -0
  292. package/dist/default/define/video/minimal-ui.js.map +1 -0
  293. package/dist/default/define/video/player.js +1 -2
  294. package/dist/default/define/video/player.js.map +1 -1
  295. package/dist/default/define/video/skin.css +586 -311
  296. package/dist/default/define/video/skin.js +10 -24
  297. package/dist/default/define/video/skin.js.map +1 -1
  298. package/dist/default/define/video/skin.tailwind.js +13 -28
  299. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  300. package/dist/default/define/video/ui.js +43 -0
  301. package/dist/default/define/video/ui.js.map +1 -0
  302. package/dist/default/icons/dist/render/default/index.js +3 -2
  303. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  304. package/dist/default/icons/dist/render/minimal/index.js +3 -2
  305. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  306. package/dist/default/index.js +10 -5
  307. package/dist/default/media/background-video/index.js +6 -3
  308. package/dist/default/media/background-video/index.js.map +1 -1
  309. package/dist/default/media/container-element.js +22 -4
  310. package/dist/default/media/container-element.js.map +1 -1
  311. package/dist/default/media/dash-video/index.js +9 -0
  312. package/dist/default/media/dash-video/index.js.map +1 -0
  313. package/dist/default/media/hls-video/index.js +12 -19
  314. package/dist/default/media/hls-video/index.js.map +1 -1
  315. package/dist/default/media/mux-audio/index.js +18 -0
  316. package/dist/default/media/mux-audio/index.js.map +1 -0
  317. package/dist/default/media/mux-video/index.js +18 -0
  318. package/dist/default/media/mux-video/index.js.map +1 -0
  319. package/dist/default/media/native-hls-video/index.js +9 -0
  320. package/dist/default/media/native-hls-video/index.js.map +1 -0
  321. package/dist/default/media/simple-hls-video/index.js +5 -17
  322. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  323. package/dist/default/player/context.js +7 -4
  324. package/dist/default/player/context.js.map +1 -1
  325. package/dist/default/player/create-player.js +12 -5
  326. package/dist/default/player/create-player.js.map +1 -1
  327. package/dist/default/player/player-controller.js +1 -2
  328. package/dist/default/player/player-controller.js.map +1 -1
  329. package/dist/default/presets/audio.js +1 -2
  330. package/dist/default/presets/background.js +1 -2
  331. package/dist/default/presets/video.js +1 -2
  332. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  333. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  334. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  335. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  336. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  337. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  338. package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
  339. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  340. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  341. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  342. package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
  343. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  344. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  345. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  346. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  347. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  348. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  349. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  350. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -6
  351. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  352. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +15 -0
  353. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  354. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
  355. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  356. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  357. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  358. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +2 -3
  359. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  360. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  361. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  362. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  363. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  364. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  365. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  366. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  367. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  368. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  369. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  370. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  371. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  372. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  373. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  374. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  375. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  376. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  377. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  378. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  379. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  380. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  381. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  382. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  383. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  384. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  385. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  386. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  387. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  388. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  389. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  390. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  391. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  392. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  393. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  394. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  395. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  396. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  397. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  398. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  399. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  400. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  401. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  402. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +7 -2
  403. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  404. package/dist/default/store/container-mixin.js +17 -62
  405. package/dist/default/store/container-mixin.js.map +1 -1
  406. package/dist/default/store/media-attach-mixin.js +44 -0
  407. package/dist/default/store/media-attach-mixin.js.map +1 -0
  408. package/dist/default/store/provider-mixin.js +100 -11
  409. package/dist/default/store/provider-mixin.js.map +1 -1
  410. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  411. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  412. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  413. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  414. package/dist/default/ui/alert-dialog/alert-dialog-element.js +2 -2
  415. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  416. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  417. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  418. package/dist/default/ui/alert-dialog/context.js +2 -5
  419. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  420. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  421. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  422. package/dist/default/ui/captions-button/captions-button-element.js +2 -2
  423. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  424. package/dist/default/ui/context-part-element.js +1 -2
  425. package/dist/default/ui/context-part-element.js.map +1 -1
  426. package/dist/default/ui/controls/context.js +2 -5
  427. package/dist/default/ui/controls/context.js.map +1 -1
  428. package/dist/default/ui/controls/controls-element.js +1 -2
  429. package/dist/default/ui/controls/controls-element.js.map +1 -1
  430. package/dist/default/ui/controls/controls-group-element.js +1 -2
  431. package/dist/default/ui/controls/controls-group-element.js.map +1 -1
  432. package/dist/default/ui/error-dialog/error-dialog-element.js +77 -0
  433. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -0
  434. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  435. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  436. package/dist/default/ui/gesture/gesture-element.js +84 -0
  437. package/dist/default/ui/gesture/gesture-element.js.map +1 -0
  438. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  439. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  440. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  441. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  442. package/dist/default/ui/media-button-element.js +17 -3
  443. package/dist/default/ui/media-button-element.js.map +1 -1
  444. package/dist/default/ui/media-element.js +1 -2
  445. package/dist/default/ui/media-element.js.map +1 -1
  446. package/dist/default/ui/media-ui-element.js +1 -2
  447. package/dist/default/ui/media-ui-element.js.map +1 -1
  448. package/dist/default/ui/mute-button/mute-button-element.js +2 -2
  449. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  450. package/dist/default/ui/pip-button/pip-button-element.js +2 -2
  451. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  452. package/dist/default/ui/play-button/play-button-element.js +2 -2
  453. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  454. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  455. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  456. package/dist/default/ui/popover/popover-element.js +13 -11
  457. package/dist/default/ui/popover/popover-element.js.map +1 -1
  458. package/dist/default/ui/position-controller.js +76 -0
  459. package/dist/default/ui/position-controller.js.map +1 -0
  460. package/dist/default/ui/poster/poster-element.js +1 -2
  461. package/dist/default/ui/poster/poster-element.js.map +1 -1
  462. package/dist/default/ui/seek-button/seek-button-element.js +1 -2
  463. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
  464. package/dist/default/ui/slider/context.js +2 -5
  465. package/dist/default/ui/slider/context.js.map +1 -1
  466. package/dist/default/ui/slider/slider-buffer-element.js +1 -2
  467. package/dist/default/ui/slider/slider-buffer-element.js.map +1 -1
  468. package/dist/default/ui/slider/slider-element.js +2 -3
  469. package/dist/default/ui/slider/slider-element.js.map +1 -1
  470. package/dist/default/ui/slider/slider-fill-element.js +1 -2
  471. package/dist/default/ui/slider/slider-fill-element.js.map +1 -1
  472. package/dist/default/ui/slider/slider-preview-element.js +2 -3
  473. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  474. package/dist/default/ui/slider/slider-thumb-element.js +1 -2
  475. package/dist/default/ui/slider/slider-thumb-element.js.map +1 -1
  476. package/dist/default/ui/slider/slider-thumbnail-element.js +1 -2
  477. package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -1
  478. package/dist/default/ui/slider/slider-track-element.js +1 -2
  479. package/dist/default/ui/slider/slider-track-element.js.map +1 -1
  480. package/dist/default/ui/slider/slider-value-element.js +1 -2
  481. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  482. package/dist/default/ui/thumbnail/thumbnail-element.js +1 -2
  483. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  484. package/dist/default/ui/time/time-element.js +13 -12
  485. package/dist/default/ui/time/time-element.js.map +1 -1
  486. package/dist/default/ui/time/time-group-element.js +1 -2
  487. package/dist/default/ui/time/time-group-element.js.map +1 -1
  488. package/dist/default/ui/time/time-separator-element.js +1 -2
  489. package/dist/default/ui/time/time-separator-element.js.map +1 -1
  490. package/dist/default/ui/time-slider/time-slider-element.js +7 -8
  491. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  492. package/dist/default/ui/tooltip/context.js +2 -5
  493. package/dist/default/ui/tooltip/context.js.map +1 -1
  494. package/dist/default/ui/tooltip/tooltip-element.js +25 -18
  495. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  496. package/dist/default/ui/tooltip/tooltip-group-element.js +5 -3
  497. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  498. package/dist/default/ui/volume-slider/volume-slider-element.js +27 -20
  499. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  500. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  501. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  502. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +2 -2
  503. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  504. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
  505. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  506. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  507. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  508. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  509. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  510. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  511. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  512. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +2 -2
  513. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  514. package/dist/dev/define/audio/minimal-skin.css +324 -182
  515. package/dist/dev/define/audio/minimal-skin.d.ts +6 -10
  516. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  517. package/dist/dev/define/audio/minimal-skin.js +85 -82
  518. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  519. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +4 -10
  520. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  521. package/dist/dev/define/audio/minimal-skin.tailwind.js +86 -84
  522. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  523. package/dist/dev/define/audio/minimal-ui.d.ts +1 -0
  524. package/dist/dev/define/audio/minimal-ui.js +28 -0
  525. package/dist/dev/define/audio/minimal-ui.js.map +1 -0
  526. package/dist/dev/define/audio/player.js +1 -2
  527. package/dist/dev/define/audio/player.js.map +1 -1
  528. package/dist/dev/define/audio/skin.css +307 -174
  529. package/dist/dev/define/audio/skin.d.ts +6 -10
  530. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  531. package/dist/dev/define/audio/skin.js +97 -74
  532. package/dist/dev/define/audio/skin.js.map +1 -1
  533. package/dist/dev/define/audio/skin.tailwind.d.ts +4 -10
  534. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  535. package/dist/dev/define/audio/skin.tailwind.js +84 -78
  536. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  537. package/dist/dev/define/audio/ui.d.ts +1 -0
  538. package/dist/dev/define/audio/ui.js +32 -0
  539. package/dist/dev/define/audio/ui.js.map +1 -0
  540. package/dist/dev/define/background/player.js +1 -2
  541. package/dist/dev/define/background/player.js.map +1 -1
  542. package/dist/dev/define/background/skin.css +1 -1
  543. package/dist/dev/define/background/skin.d.ts.map +1 -1
  544. package/dist/dev/define/background/skin.js +8 -4
  545. package/dist/dev/define/background/skin.js.map +1 -1
  546. package/dist/dev/define/background/video.js +1 -2
  547. package/dist/dev/define/base.css +27 -0
  548. package/dist/dev/define/media/background-video.js +1 -2
  549. package/dist/dev/define/media/background-video.js.map +1 -1
  550. package/dist/dev/define/media/container.js +1 -2
  551. package/dist/dev/define/media/container.js.map +1 -1
  552. package/dist/dev/define/media/dash-video.d.ts +14 -0
  553. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  554. package/dist/dev/define/media/dash-video.js +13 -0
  555. package/dist/dev/define/media/dash-video.js.map +1 -0
  556. package/dist/dev/define/media/hls-video.js +1 -2
  557. package/dist/dev/define/media/hls-video.js.map +1 -1
  558. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  559. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  560. package/dist/dev/define/media/mux-audio.js +13 -0
  561. package/dist/dev/define/media/mux-audio.js.map +1 -0
  562. package/dist/dev/define/media/mux-video.d.ts +14 -0
  563. package/dist/dev/define/media/mux-video.d.ts.map +1 -0
  564. package/dist/dev/define/media/mux-video.js +13 -0
  565. package/dist/dev/define/media/mux-video.js.map +1 -0
  566. package/dist/dev/define/media/native-hls-video.d.ts +14 -0
  567. package/dist/dev/define/media/native-hls-video.d.ts.map +1 -0
  568. package/dist/dev/define/media/native-hls-video.js +13 -0
  569. package/dist/dev/define/media/native-hls-video.js.map +1 -0
  570. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -1
  571. package/dist/dev/define/media/simple-hls-video.js +3 -3
  572. package/dist/dev/define/media/simple-hls-video.js.map +1 -1
  573. package/dist/dev/define/safe-define.js +4 -2
  574. package/dist/dev/define/safe-define.js.map +1 -1
  575. package/dist/dev/define/shared.css +14 -0
  576. package/dist/dev/define/skin-element.d.ts +18 -0
  577. package/dist/dev/define/skin-element.d.ts.map +1 -0
  578. package/dist/dev/define/skin-element.js +33 -0
  579. package/dist/dev/define/skin-element.js.map +1 -0
  580. package/dist/dev/define/ui/alert-dialog-close.js +1 -2
  581. package/dist/dev/define/ui/alert-dialog-close.js.map +1 -1
  582. package/dist/dev/define/ui/alert-dialog-description.js +1 -2
  583. package/dist/dev/define/ui/alert-dialog-description.js.map +1 -1
  584. package/dist/dev/define/ui/alert-dialog-title.js +1 -2
  585. package/dist/dev/define/ui/alert-dialog-title.js.map +1 -1
  586. package/dist/dev/define/ui/alert-dialog.js +1 -2
  587. package/dist/dev/define/ui/alert-dialog.js.map +1 -1
  588. package/dist/dev/define/ui/buffering-indicator.js +1 -2
  589. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  590. package/dist/dev/define/ui/captions-button.d.ts.map +1 -1
  591. package/dist/dev/define/ui/captions-button.js +3 -3
  592. package/dist/dev/define/ui/captions-button.js.map +1 -1
  593. package/dist/dev/define/ui/compounds.d.ts +12 -0
  594. package/dist/dev/define/ui/compounds.d.ts.map +1 -0
  595. package/dist/dev/define/ui/compounds.js +62 -0
  596. package/dist/dev/define/ui/compounds.js.map +1 -0
  597. package/dist/dev/define/ui/controls-group.js +1 -2
  598. package/dist/dev/define/ui/controls-group.js.map +1 -1
  599. package/dist/dev/define/ui/controls.d.ts +2 -0
  600. package/dist/dev/define/ui/controls.d.ts.map +1 -1
  601. package/dist/dev/define/ui/controls.js +3 -7
  602. package/dist/dev/define/ui/controls.js.map +1 -1
  603. package/dist/dev/define/ui/error-dialog.d.ts +15 -0
  604. package/dist/dev/define/ui/error-dialog.d.ts.map +1 -0
  605. package/dist/dev/define/ui/error-dialog.js +6 -0
  606. package/dist/dev/define/ui/error-dialog.js.map +1 -0
  607. package/dist/dev/define/ui/fullscreen-button.js +1 -2
  608. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  609. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  610. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  611. package/dist/dev/define/ui/hotkey.js +7 -0
  612. package/dist/dev/define/ui/hotkey.js.map +1 -0
  613. package/dist/dev/define/ui/mute-button.js +1 -2
  614. package/dist/dev/define/ui/mute-button.js.map +1 -1
  615. package/dist/dev/define/ui/pip-button.js +1 -2
  616. package/dist/dev/define/ui/pip-button.js.map +1 -1
  617. package/dist/dev/define/ui/play-button.js +1 -2
  618. package/dist/dev/define/ui/play-button.js.map +1 -1
  619. package/dist/dev/define/ui/playback-rate-button.js +1 -2
  620. package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
  621. package/dist/dev/define/ui/popover.js +1 -2
  622. package/dist/dev/define/ui/popover.js.map +1 -1
  623. package/dist/dev/define/ui/poster.js +1 -2
  624. package/dist/dev/define/ui/poster.js.map +1 -1
  625. package/dist/dev/define/ui/seek-button.js +1 -2
  626. package/dist/dev/define/ui/seek-button.js.map +1 -1
  627. package/dist/dev/define/ui/slider-buffer.js +1 -2
  628. package/dist/dev/define/ui/slider-buffer.js.map +1 -1
  629. package/dist/dev/define/ui/slider-fill.js +1 -2
  630. package/dist/dev/define/ui/slider-fill.js.map +1 -1
  631. package/dist/dev/define/ui/slider-thumb.js +1 -2
  632. package/dist/dev/define/ui/slider-thumb.js.map +1 -1
  633. package/dist/dev/define/ui/slider-thumbnail.js +1 -2
  634. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
  635. package/dist/dev/define/ui/slider-track.js +1 -2
  636. package/dist/dev/define/ui/slider-track.js.map +1 -1
  637. package/dist/dev/define/ui/slider-value.js +1 -2
  638. package/dist/dev/define/ui/slider-value.js.map +1 -1
  639. package/dist/dev/define/ui/slider.d.ts +10 -0
  640. package/dist/dev/define/ui/slider.d.ts.map +1 -1
  641. package/dist/dev/define/ui/slider.js +3 -15
  642. package/dist/dev/define/ui/slider.js.map +1 -1
  643. package/dist/dev/define/ui/thumbnail.js +1 -2
  644. package/dist/dev/define/ui/thumbnail.js.map +1 -1
  645. package/dist/dev/define/ui/time-group.js +1 -2
  646. package/dist/dev/define/ui/time-group.js.map +1 -1
  647. package/dist/dev/define/ui/time-separator.js +1 -2
  648. package/dist/dev/define/ui/time-separator.js.map +1 -1
  649. package/dist/dev/define/ui/time-slider.d.ts +14 -0
  650. package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
  651. package/dist/dev/define/ui/time-slider.js +3 -19
  652. package/dist/dev/define/ui/time-slider.js.map +1 -1
  653. package/dist/dev/define/ui/time.d.ts +4 -0
  654. package/dist/dev/define/ui/time.d.ts.map +1 -1
  655. package/dist/dev/define/ui/time.js +3 -9
  656. package/dist/dev/define/ui/time.js.map +1 -1
  657. package/dist/dev/define/ui/tooltip-group.js +1 -2
  658. package/dist/dev/define/ui/tooltip-group.js.map +1 -1
  659. package/dist/dev/define/ui/tooltip.js +1 -2
  660. package/dist/dev/define/ui/tooltip.js.map +1 -1
  661. package/dist/dev/define/ui/volume-slider.d.ts +10 -0
  662. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
  663. package/dist/dev/define/ui/volume-slider.js +3 -15
  664. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  665. package/dist/dev/define/video/minimal-skin.css +618 -328
  666. package/dist/dev/define/video/minimal-skin.d.ts +6 -10
  667. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  668. package/dist/dev/define/video/minimal-skin.js +113 -119
  669. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  670. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -10
  671. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  672. package/dist/dev/define/video/minimal-skin.tailwind.js +105 -129
  673. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  674. package/dist/dev/define/video/minimal-ui.d.ts +1 -0
  675. package/dist/dev/define/video/minimal-ui.js +39 -0
  676. package/dist/dev/define/video/minimal-ui.js.map +1 -0
  677. package/dist/dev/define/video/player.js +1 -2
  678. package/dist/dev/define/video/player.js.map +1 -1
  679. package/dist/dev/define/video/skin.css +586 -311
  680. package/dist/dev/define/video/skin.d.ts +6 -10
  681. package/dist/dev/define/video/skin.d.ts.map +1 -1
  682. package/dist/dev/define/video/skin.js +134 -116
  683. package/dist/dev/define/video/skin.js.map +1 -1
  684. package/dist/dev/define/video/skin.tailwind.d.ts +4 -10
  685. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  686. package/dist/dev/define/video/skin.tailwind.js +101 -121
  687. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  688. package/dist/dev/define/video/ui.d.ts +1 -0
  689. package/dist/dev/define/video/ui.js +43 -0
  690. package/dist/dev/define/video/ui.js.map +1 -0
  691. package/dist/dev/icons/dist/render/default/index.js +3 -2
  692. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  693. package/dist/dev/icons/dist/render/minimal/index.js +3 -2
  694. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  695. package/dist/dev/index.d.ts +12 -5
  696. package/dist/dev/index.js +10 -5
  697. package/dist/dev/media/background-video/index.d.ts +8 -1
  698. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  699. package/dist/dev/media/background-video/index.js +6 -3
  700. package/dist/dev/media/background-video/index.js.map +1 -1
  701. package/dist/dev/media/container-element.d.ts +3 -0
  702. package/dist/dev/media/container-element.d.ts.map +1 -1
  703. package/dist/dev/media/container-element.js +22 -4
  704. package/dist/dev/media/container-element.js.map +1 -1
  705. package/dist/dev/media/dash-video/index.d.ts +17 -0
  706. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  707. package/dist/dev/media/dash-video/index.js +9 -0
  708. package/dist/dev/media/dash-video/index.js.map +1 -0
  709. package/dist/dev/media/hls-video/index.d.ts +13 -6
  710. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  711. package/dist/dev/media/hls-video/index.js +12 -19
  712. package/dist/dev/media/hls-video/index.js.map +1 -1
  713. package/dist/dev/media/mux-audio/index.d.ts +19 -0
  714. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  715. package/dist/dev/media/mux-audio/index.js +18 -0
  716. package/dist/dev/media/mux-audio/index.js.map +1 -0
  717. package/dist/dev/media/mux-video/index.d.ts +19 -0
  718. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  719. package/dist/dev/media/mux-video/index.js +18 -0
  720. package/dist/dev/media/mux-video/index.js.map +1 -0
  721. package/dist/dev/media/native-hls-video/index.d.ts +17 -0
  722. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  723. package/dist/dev/media/native-hls-video/index.js +9 -0
  724. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  725. package/dist/dev/media/simple-hls-video/index.d.ts +12 -6
  726. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  727. package/dist/dev/media/simple-hls-video/index.js +5 -17
  728. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  729. package/dist/dev/player/context.d.ts +19 -3
  730. package/dist/dev/player/context.d.ts.map +1 -1
  731. package/dist/dev/player/context.js +7 -4
  732. package/dist/dev/player/context.js.map +1 -1
  733. package/dist/dev/player/create-player.d.ts +1 -1
  734. package/dist/dev/player/create-player.js +12 -5
  735. package/dist/dev/player/create-player.js.map +1 -1
  736. package/dist/dev/player/player-controller.js +1 -2
  737. package/dist/dev/player/player-controller.js.map +1 -1
  738. package/dist/dev/presets/audio.js +1 -2
  739. package/dist/dev/presets/background.js +1 -2
  740. package/dist/dev/presets/video.js +1 -2
  741. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  742. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  743. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  744. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  745. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  746. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  747. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
  748. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  749. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  750. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  751. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
  752. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  753. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  754. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  755. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  756. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  757. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  758. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  759. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -6
  760. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  761. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +15 -0
  762. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  763. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
  764. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  765. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  766. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  767. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +2 -3
  768. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  769. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  770. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  771. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  772. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  773. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  774. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  775. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  776. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  777. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  778. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  779. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  780. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  781. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  782. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  783. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  784. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  785. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  786. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  787. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  788. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  789. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  790. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  791. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  792. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  793. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  794. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  795. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  796. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  797. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  798. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  799. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  800. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  801. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  802. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  803. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  804. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  805. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  806. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  807. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  808. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  809. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  810. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  811. package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +7 -2
  812. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  813. package/dist/dev/store/container-mixin.d.ts +10 -5
  814. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  815. package/dist/dev/store/container-mixin.js +17 -62
  816. package/dist/dev/store/container-mixin.js.map +1 -1
  817. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  818. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  819. package/dist/dev/store/media-attach-mixin.js +44 -0
  820. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  821. package/dist/dev/store/provider-mixin.d.ts +19 -6
  822. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  823. package/dist/dev/store/provider-mixin.js +100 -11
  824. package/dist/dev/store/provider-mixin.js.map +1 -1
  825. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  826. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  827. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  828. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  829. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  830. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +2 -2
  831. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  832. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  833. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  834. package/dist/dev/ui/alert-dialog/context.js +2 -5
  835. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  836. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  837. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  838. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  839. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  840. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  841. package/dist/dev/ui/captions-button/captions-button-element.js +2 -2
  842. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  843. package/dist/dev/ui/context-part-element.d.ts +1 -1
  844. package/dist/dev/ui/context-part-element.js +1 -2
  845. package/dist/dev/ui/context-part-element.js.map +1 -1
  846. package/dist/dev/ui/controls/context.js +2 -5
  847. package/dist/dev/ui/controls/context.js.map +1 -1
  848. package/dist/dev/ui/controls/controls-element.js +1 -2
  849. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  850. package/dist/dev/ui/controls/controls-group-element.js +1 -2
  851. package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
  852. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +16 -0
  853. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -0
  854. package/dist/dev/ui/error-dialog/error-dialog-element.js +77 -0
  855. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -0
  856. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  857. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  858. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  859. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  860. package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
  861. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
  862. package/dist/dev/ui/gesture/gesture-element.js +84 -0
  863. package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
  864. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  865. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  866. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  867. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  868. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  869. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  870. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  871. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  872. package/dist/dev/ui/media-button-element.d.ts +8 -2
  873. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  874. package/dist/dev/ui/media-button-element.js +17 -3
  875. package/dist/dev/ui/media-button-element.js.map +1 -1
  876. package/dist/dev/ui/media-element.js +1 -2
  877. package/dist/dev/ui/media-element.js.map +1 -1
  878. package/dist/dev/ui/media-ui-element.js +1 -2
  879. package/dist/dev/ui/media-ui-element.js.map +1 -1
  880. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  881. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  882. package/dist/dev/ui/mute-button/mute-button-element.js +2 -2
  883. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  884. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  885. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  886. package/dist/dev/ui/pip-button/pip-button-element.js +2 -2
  887. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  888. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  889. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  890. package/dist/dev/ui/play-button/play-button-element.js +2 -2
  891. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  892. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  893. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  894. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  895. package/dist/dev/ui/popover/popover-element.js +13 -11
  896. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  897. package/dist/dev/ui/position-controller.js +76 -0
  898. package/dist/dev/ui/position-controller.js.map +1 -0
  899. package/dist/dev/ui/poster/poster-element.js +1 -2
  900. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  901. package/dist/dev/ui/seek-button/seek-button-element.js +1 -2
  902. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
  903. package/dist/dev/ui/slider/context.js +2 -5
  904. package/dist/dev/ui/slider/context.js.map +1 -1
  905. package/dist/dev/ui/slider/slider-buffer-element.js +1 -2
  906. package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -1
  907. package/dist/dev/ui/slider/slider-element.js +2 -3
  908. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  909. package/dist/dev/ui/slider/slider-fill-element.js +1 -2
  910. package/dist/dev/ui/slider/slider-fill-element.js.map +1 -1
  911. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  912. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  913. package/dist/dev/ui/slider/slider-preview-element.js +2 -3
  914. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  915. package/dist/dev/ui/slider/slider-thumb-element.js +1 -2
  916. package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -1
  917. package/dist/dev/ui/slider/slider-thumbnail-element.js +1 -2
  918. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -1
  919. package/dist/dev/ui/slider/slider-track-element.js +1 -2
  920. package/dist/dev/ui/slider/slider-track-element.js.map +1 -1
  921. package/dist/dev/ui/slider/slider-value-element.js +1 -2
  922. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  923. package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -2
  924. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  925. package/dist/dev/ui/time/time-element.d.ts +0 -1
  926. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  927. package/dist/dev/ui/time/time-element.js +13 -12
  928. package/dist/dev/ui/time/time-element.js.map +1 -1
  929. package/dist/dev/ui/time/time-group-element.js +1 -2
  930. package/dist/dev/ui/time/time-group-element.js.map +1 -1
  931. package/dist/dev/ui/time/time-separator-element.js +1 -2
  932. package/dist/dev/ui/time/time-separator-element.js.map +1 -1
  933. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  934. package/dist/dev/ui/time-slider/time-slider-element.js +7 -8
  935. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  936. package/dist/dev/ui/tooltip/context.js +2 -5
  937. package/dist/dev/ui/tooltip/context.js.map +1 -1
  938. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  939. package/dist/dev/ui/tooltip/tooltip-element.js +25 -18
  940. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  941. package/dist/dev/ui/tooltip/tooltip-group-element.js +5 -3
  942. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  943. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +5 -0
  944. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  945. package/dist/dev/ui/volume-slider/volume-slider-element.js +27 -20
  946. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  947. package/package.json +25 -14
  948. package/cdn/audio-minimal.css +0 -1
  949. package/cdn/audio.css +0 -1
  950. package/cdn/background.css +0 -1
  951. package/cdn/video-minimal.css +0 -1
  952. package/cdn/video.css +0 -1
  953. package/dist/default/define/skin-mixin.js +0 -55
  954. package/dist/default/define/skin-mixin.js.map +0 -1
  955. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  956. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  957. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  958. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  959. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  960. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  961. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
  962. package/dist/dev/define/skin-mixin.d.ts +0 -21
  963. package/dist/dev/define/skin-mixin.d.ts.map +0 -1
  964. package/dist/dev/define/skin-mixin.js +0 -69
  965. package/dist/dev/define/skin-mixin.js.map +0 -1
  966. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  967. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  968. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  969. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  970. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  971. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  972. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
@@ -1,95 +1,44 @@
1
- /* ==========================================================================
2
- Icon State Visibility for Video Skins
3
-
4
- Data-attribute-driven visibility rules for multi-state icon buttons.
5
- Uses :is() with both element selectors (for HTML custom element wrappers)
6
- and class selectors (for React rendered SVG elements).
7
- ========================================================================== */
8
-
9
- /* --- All icons hidden by default --- */
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Base */
3
+ /* -------------------------------------------------------------------------- */
10
4
 
11
- .media-button--play .media-icon--restart,
12
- .media-button--play .media-icon--play,
13
- .media-button--play .media-icon--pause,
14
- .media-button--mute .media-icon--volume-off,
15
- .media-button--mute .media-icon--volume-low,
16
- .media-button--mute .media-icon--volume-high,
17
- .media-button--fullscreen .media-icon--fullscreen-enter,
18
- .media-button--fullscreen .media-icon--fullscreen-exit,
19
- .media-button--captions .media-icon--captions-off,
20
- .media-button--captions .media-icon--captions-on {
21
- display: none;
22
- opacity: 0;
5
+ video-player {
6
+ display: contents;
23
7
  }
24
8
 
25
- /* --- Active icon per state --- */
26
-
27
- /* Play: ended restart */
28
- .media-button--play[data-ended] .media-icon--restart,
29
- /* Play: paused (not ended) → play */
30
- .media-button--play:not([data-ended])[data-paused] .media-icon--play,
31
- /* Play: playing (not paused, not ended) → pause */
32
- .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
33
- /* Mute: muted → volume off */
34
- .media-button--mute[data-muted] .media-icon--volume-off,
35
- /* Mute: volume low (not muted) → volume low */
36
- .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
37
- /* Mute: volume high (not muted, not low) → volume high */
38
- .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high,
39
- /* Fullscreen: not fullscreen → enter */
40
- .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
41
- /* Fullscreen: fullscreen → exit */
42
- .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
43
- /* Captions: not active → captions off */
44
- .media-button--captions:not([data-active]) .media-icon--captions-off,
45
- /* Captions: active → captions on */
46
- .media-button--captions[data-active] .media-icon--captions-on {
9
+ /*
10
+ Required to override any default video and image styles (such as
11
+ Tailwind's CSS reset) and ensure they fill the container as expected.
12
+ */
13
+ video-player video,
14
+ video-player [slot="poster"] {
47
15
  display: block;
48
- opacity: 1;
16
+ width: 100%;
17
+ height: 100%;
49
18
  }
50
19
 
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 --- */
20
+ video-player video::-webkit-media-text-track-container {
21
+ transition: translate var(--media-caption-track-duration, 0) ease-out;
22
+ transition-delay: var(--media-caption-track-delay, 0);
23
+ translate: 0 var(--media-caption-track-y, 0);
24
+ scale: 0.98;
25
+ z-index: 1;
26
+ font-family: inherit;
27
+ }
59
28
 
60
- .media-tooltip-label {
61
- display: none;
29
+ media-tooltip-group {
30
+ display: contents;
62
31
  }
63
32
 
64
- /* --- Active label per state --- */
33
+ :host {
34
+ /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */
35
+ display: grid;
36
+ width: 100%;
37
+ }
65
38
 
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;
39
+ /* Hide volume popover when volume control is unsupported (e.g., iOS Safari). */
40
+ .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
41
+ display: none;
93
42
  }
94
43
 
95
44
  /* ==========================================================================
@@ -100,7 +49,6 @@
100
49
  .media-minimal-skin *::before,
101
50
  .media-minimal-skin *::after {
102
51
  box-sizing: border-box;
103
- margin: 0;
104
52
  }
105
53
  .media-minimal-skin img,
106
54
  .media-minimal-skin video,
@@ -122,22 +70,39 @@
122
70
  ========================================================================== */
123
71
 
124
72
  .media-minimal-skin {
73
+ container: media-root / inline-size;
125
74
  position: relative;
126
75
  isolation: isolate;
127
76
  display: block;
128
- container: media-root / inline-size;
77
+ height: 100%;
78
+ width: 100%;
129
79
  border-radius: var(--media-border-radius, 0.75rem);
80
+ outline: 2px solid transparent;
81
+ outline-offset: 2px;
82
+
83
+ &:focus-visible {
84
+ outline-color: currentColor;
85
+ }
130
86
  font-family:
131
87
  Inter Variable,
132
88
  Inter,
133
89
  ui-sans-serif,
134
90
  system-ui,
135
91
  sans-serif;
136
- font-size: 0.8125rem;
137
92
  line-height: 1.5;
138
93
  letter-spacing: normal;
139
94
  -webkit-font-smoothing: auto;
140
95
  -moz-osx-font-smoothing: auto;
96
+
97
+ & > * {
98
+ font-size: 0.75rem; /* 12px at 100% font size */
99
+ }
100
+
101
+ @container media-root (width > 48rem) {
102
+ & > * {
103
+ font-size: 0.875rem; /* 14px at 100% font size */
104
+ }
105
+ }
141
106
  }
142
107
 
143
108
  /* ==========================================================================
@@ -149,26 +114,19 @@
149
114
  display: block;
150
115
  width: 100%;
151
116
  height: 100%;
152
- border-radius: var(--media-border-radius, 0.75rem);
117
+ object-fit: var(--media-object-fit, contain);
118
+ object-position: var(--media-object-position, center);
153
119
  }
154
-
155
- /* ==========================================================================
156
- Poster Image
157
- ========================================================================== */
158
-
159
- .media-minimal-skin > img {
160
- position: absolute;
161
- inset: 0;
162
- width: 100%;
163
- height: 100%;
120
+ .media-minimal-skin ::slotted(video) {
121
+ border-radius: var(--media-video-border-radius);
122
+ }
123
+ .media-minimal-skin video {
164
124
  border-radius: inherit;
165
- object-fit: cover;
166
- transition: opacity 0.25s;
167
- pointer-events: none;
125
+ }
168
126
 
169
- &:not([data-visible]) {
170
- opacity: 0;
171
- }
127
+ .media-minimal-skin:fullscreen ::slotted(video),
128
+ .media-minimal-skin:fullscreen video {
129
+ object-fit: contain;
172
130
  }
173
131
 
174
132
  /* ==========================================================================
@@ -180,28 +138,26 @@
180
138
  inset: 0;
181
139
  border-radius: inherit;
182
140
  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));
183
- backdrop-filter: blur(0) saturate(1.2) brightness(0.9);
141
+ backdrop-filter: blur(0) saturate(1);
184
142
  opacity: 0;
143
+ pointer-events: none;
185
144
  transition-property: opacity, backdrop-filter;
186
- transition-duration: 500ms;
187
- transition-delay: 500ms;
145
+ transition-duration: var(--media-controls-transition-duration);
188
146
  transition-timing-function: ease-out;
189
- pointer-events: none;
147
+ }
190
148
 
191
- @media (prefers-reduced-motion: reduce) {
192
- transition-duration: 100ms;
193
- }
149
+ .media-minimal-skin .media-error ~ .media-overlay {
150
+ transition-duration: var(--media-error-dialog-transition-duration);
151
+ transition-delay: var(--media-error-dialog-transition-delay);
194
152
  }
195
153
 
196
154
  .media-minimal-skin .media-controls[data-visible] ~ .media-overlay,
197
155
  .media-minimal-skin .media-error[data-open] ~ .media-overlay {
198
156
  opacity: 1;
199
- transition-duration: 150ms;
200
- transition-delay: 0ms;
201
157
  }
202
158
 
203
159
  .media-minimal-skin .media-error[data-open] ~ .media-overlay {
204
- backdrop-filter: blur(8px) saturate(1.2) brightness(0.9);
160
+ backdrop-filter: blur(16px) saturate(1.2);
205
161
  }
206
162
 
207
163
  /* ==========================================================================
@@ -226,59 +182,8 @@
226
182
  Error Dialog
227
183
  ========================================================================== */
228
184
 
229
- .media-minimal-skin .media-error {
230
- position: absolute;
231
- inset: 0;
232
- z-index: 20;
233
- display: flex;
234
- align-items: center;
235
- justify-content: center;
236
- pointer-events: none;
237
- }
238
-
239
- .media-minimal-skin .media-error__dialog {
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;
249
- transition-duration: 500ms;
250
- transition-delay: 100ms;
251
- transition-timing-function: linear(
252
- 0,
253
- 0.034 1.5%,
254
- 0.763 9.7%,
255
- 1.066 13.9%,
256
- 1.198 19.9%,
257
- 1.184 21.8%,
258
- 0.963 37.5%,
259
- 0.997 50.9%,
260
- 1
261
- );
262
-
263
- /* Simple, fast transition for reduced motion users */
264
- @media (prefers-reduced-motion: reduce) {
265
- transition-duration: 100ms;
266
- transition-delay: 0ms;
267
- transition-timing-function: ease-out;
268
- }
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
-
277
- .media-minimal-skin .media-error__content {
278
- display: flex;
279
- flex-direction: column;
280
- gap: 0.5rem;
281
- padding: 0.375rem 0;
185
+ .media-minimal-skin .media-error:not([data-open]) {
186
+ display: none;
282
187
  }
283
188
 
284
189
  .media-minimal-skin .media-error__title {
@@ -288,6 +193,7 @@
288
193
 
289
194
  .media-minimal-skin .media-error__description {
290
195
  opacity: 0.7;
196
+ overflow-wrap: anywhere;
291
197
  }
292
198
 
293
199
  .media-minimal-skin .media-error__actions {
@@ -299,6 +205,10 @@
299
205
  }
300
206
  }
301
207
 
208
+ .media-minimal-skin .media-error[data-open] ~ .media-controls * {
209
+ visibility: hidden;
210
+ }
211
+
302
212
  /* ==========================================================================
303
213
  Controls
304
214
  ========================================================================== */
@@ -307,12 +217,14 @@
307
217
  container: media-controls / inline-size;
308
218
  display: flex;
309
219
  align-items: center;
310
- --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
220
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
311
221
  --media-controls-current-shadow-color-subtle: oklch(
312
222
  from var(--media-controls-current-shadow-color) l c h /
313
223
  calc(alpha * 0.4)
314
224
  );
315
- text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
225
+ background-color: var(--media-controls-background-color);
226
+ backdrop-filter: var(--media-controls-backdrop-filter);
227
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
316
228
  }
317
229
 
318
230
  /* ==========================================================================
@@ -320,49 +232,42 @@
320
232
  ========================================================================== */
321
233
 
322
234
  .media-minimal-skin .media-time-controls {
235
+ container: media-time-controls / inline-size;
323
236
  display: flex;
324
237
  flex-direction: row-reverse;
325
238
  align-items: center;
326
239
  flex: 1;
327
240
  gap: 0.75rem;
328
241
  }
329
- .media-minimal-skin .media-time {
242
+
243
+ .media-minimal-skin .media-time-group {
330
244
  display: flex;
331
245
  align-items: center;
332
246
  gap: 0.25rem;
333
247
  }
334
- .media-minimal-skin .media-time__value {
248
+
249
+ .media-minimal-skin .media-time {
335
250
  font-variant-numeric: tabular-nums;
336
251
  }
337
- .media-minimal-skin .media-time__value--current,
338
- .media-minimal-skin .media-time__separator {
252
+
253
+ .media-minimal-skin .media-time--current,
254
+ .media-minimal-skin .media-time-separator {
339
255
  display: none;
340
256
  }
341
- @container media-controls (width > 28rem) {
257
+
258
+ @container media-root (width > 42rem) {
342
259
  .media-minimal-skin .media-time-controls {
343
260
  flex-direction: row;
344
261
  }
345
- .media-minimal-skin .media-time__value--duration,
346
- .media-minimal-skin .media-time__separator {
262
+
263
+ .media-minimal-skin .media-time--duration,
264
+ .media-minimal-skin .media-time-separator {
347
265
  color: oklch(from currentColor l c h / 0.6);
348
266
  }
349
- .media-minimal-skin .media-time__value--current,
350
- .media-minimal-skin .media-time__separator {
351
- display: inline;
352
- }
353
- }
354
-
355
- /* ==========================================================================
356
- Button Groups
357
- ========================================================================== */
358
-
359
- .media-minimal-skin .media-button-group {
360
- display: flex;
361
- align-items: center;
362
- gap: 0.075rem;
363
267
 
364
- @container media-root (width > 40rem) {
365
- gap: 0.125rem;
268
+ .media-minimal-skin .media-time--current,
269
+ .media-minimal-skin .media-time-separator {
270
+ display: inline;
366
271
  }
367
272
  }
368
273
 
@@ -377,26 +282,29 @@
377
282
  justify-content: center;
378
283
  flex-shrink: 0;
379
284
  padding: 0.5rem 1rem;
380
- background: oklch(1 0 0);
381
285
  border: none;
382
286
  border-radius: 0.5rem;
383
287
  outline: 2px solid transparent;
384
288
  outline-offset: -2px;
385
- color: oklch(0 0 0);
386
- font-weight: 500;
387
- text-align: center;
388
- text-shadow: inherit;
389
- transition-property: background-color, color, outline-offset, transform;
289
+ transition-property: background-color, outline-offset, scale;
290
+ /* Fix weird jumping when clicking on the buttons in Safari. */
291
+ will-change: scale;
390
292
  transition-duration: 150ms;
391
293
  transition-timing-function: ease-out;
392
294
  cursor: pointer;
393
295
  user-select: none;
296
+ text-align: center;
297
+ touch-action: manipulation;
394
298
 
395
299
  &:focus-visible {
396
300
  outline-color: currentColor;
397
301
  outline-offset: 2px;
398
302
  }
399
303
 
304
+ &:active {
305
+ scale: 0.98;
306
+ }
307
+
400
308
  &[disabled] {
401
309
  opacity: 0.5;
402
310
  filter: grayscale(1);
@@ -408,24 +316,45 @@
408
316
  }
409
317
  }
410
318
 
411
- /* Icon button variant */
412
- .media-minimal-skin .media-button--icon {
413
- display: grid;
414
- width: 2.375rem;
415
- padding: 0;
416
- aspect-ratio: 1;
319
+ /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
320
+ @supports (corner-shape: squircle) {
321
+ .media-minimal-skin .media-button {
322
+ border-radius: 1rem;
323
+ /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
324
+ corner-shape: squircle;
325
+ }
326
+ }
327
+
328
+ /* Primary button variant */
329
+ .media-minimal-skin .media-button--primary {
330
+ background: oklch(1 0 0);
331
+ color: oklch(0 0 0);
332
+ font-weight: 500;
333
+ text-shadow: none;
334
+ }
335
+
336
+ /* Subtle button variant */
337
+ .media-minimal-skin .media-button--subtle {
417
338
  background: transparent;
418
339
  color: inherit;
340
+ text-shadow: inherit;
419
341
 
420
342
  &:hover,
421
343
  &:focus-visible,
422
344
  &[aria-expanded="true"] {
423
- color: oklch(from currentColor l c h / 0.8);
424
- text-decoration: none;
345
+ background: oklch(from currentColor l c h / 0.1);
425
346
  }
347
+ }
348
+
349
+ /* Icon button variant */
350
+ .media-minimal-skin .media-button--icon {
351
+ display: grid;
352
+ width: 2.375rem;
353
+ padding: 0;
354
+ aspect-ratio: 1;
426
355
 
427
356
  &:active {
428
- transform: scale(0.9);
357
+ scale: 0.9;
429
358
  }
430
359
 
431
360
  & .media-icon {
@@ -439,7 +368,7 @@
439
368
  position: absolute;
440
369
  right: -1px;
441
370
  bottom: -3px;
442
- font-size: 0.75em;
371
+ font-size: 10px; /* Hard coded due to size limitations. */
443
372
  font-weight: 480;
444
373
  font-variant-numeric: tabular-nums;
445
374
  }
@@ -448,10 +377,6 @@
448
377
  right: unset;
449
378
  left: -1px;
450
379
  }
451
-
452
- @container media-controls (width < 28rem) {
453
- display: none;
454
- }
455
380
  }
456
381
 
457
382
  /* Playback rate button */
@@ -465,6 +390,20 @@
465
390
  }
466
391
  }
467
392
 
393
+ /* ==========================================================================
394
+ Button Groups
395
+ ========================================================================== */
396
+
397
+ .media-minimal-skin .media-button-group {
398
+ display: flex;
399
+ align-items: center;
400
+ gap: 0.075rem;
401
+
402
+ @container media-root (width > 42rem) {
403
+ gap: 0.125rem;
404
+ }
405
+ }
406
+
468
407
  /* ==========================================================================
469
408
  Icons
470
409
  ========================================================================== */
@@ -487,6 +426,94 @@
487
426
  scale: -1 1;
488
427
  }
489
428
 
429
+ /* ==========================================================================
430
+ Poster Image
431
+ ========================================================================== */
432
+
433
+ .media-minimal-skin media-poster,
434
+ .media-minimal-skin > img {
435
+ position: absolute;
436
+ inset: 0;
437
+ width: 100%;
438
+ height: 100%;
439
+ transition: opacity 0.25s;
440
+ pointer-events: none;
441
+ }
442
+ .media-minimal-skin media-poster:not([data-visible]),
443
+ .media-minimal-skin > img:not([data-visible]) {
444
+ opacity: 0;
445
+ }
446
+ .media-minimal-skin media-poster ::slotted(img),
447
+ .media-minimal-skin media-poster img {
448
+ position: absolute;
449
+ inset: 0;
450
+ width: 100%;
451
+ height: 100%;
452
+ object-fit: var(--media-object-fit, contain);
453
+ object-position: var(--media-object-position, center);
454
+ border-radius: var(--media-video-border-radius);
455
+ }
456
+ .media-minimal-skin > img {
457
+ object-fit: var(--media-object-fit, contain);
458
+ object-position: var(--media-object-position, center);
459
+ border-radius: inherit;
460
+ }
461
+
462
+ .media-minimal-skin:fullscreen media-poster ::slotted(img),
463
+ .media-minimal-skin:fullscreen media-poster img,
464
+ .media-minimal-skin:fullscreen > img {
465
+ object-fit: contain;
466
+ }
467
+
468
+ /* ==========================================================================
469
+ Media preview
470
+ ========================================================================== */
471
+ .media-minimal-skin .media-preview {
472
+ pointer-events: none;
473
+
474
+ & .media-preview__thumbnail-wrapper {
475
+ position: relative;
476
+ border-radius: 0.5rem;
477
+ background-color: oklch(0 0 0 / 0.9);
478
+ }
479
+ & .media-preview__thumbnail {
480
+ display: block;
481
+ border-radius: inherit;
482
+ }
483
+
484
+ & .media-preview__time {
485
+ display: block;
486
+ text-align: center;
487
+ margin-top: 0.5rem;
488
+ }
489
+
490
+ & .media-overlay {
491
+ opacity: 1;
492
+ }
493
+
494
+ & .media-preview__spinner {
495
+ position: absolute;
496
+ top: 50%;
497
+ left: 50%;
498
+ translate: -50% -50%;
499
+ opacity: 0;
500
+ }
501
+
502
+ & .media-preview__thumbnail,
503
+ & .media-preview__spinner {
504
+ transition: opacity 150ms ease-out;
505
+ }
506
+
507
+ &:has(.media-preview__thumbnail[data-loading]) {
508
+ & .media-preview__thumbnail {
509
+ opacity: 0;
510
+ }
511
+ & .media-preview__spinner {
512
+ opacity: 1;
513
+ }
514
+ }
515
+ }
516
+
490
517
  /* ==========================================================================
491
518
  Slider
492
519
  ========================================================================== */
@@ -499,15 +526,16 @@
499
526
  flex: 1;
500
527
  border-radius: calc(infinity * 1px);
501
528
  outline: none;
529
+ cursor: pointer;
502
530
 
503
531
  &[data-orientation="horizontal"] {
504
532
  min-width: 5rem;
505
533
  width: 100%;
506
- height: 1.25rem;
534
+ height: 2rem;
507
535
  }
508
536
 
509
537
  &[data-orientation="vertical"] {
510
- width: 1.25rem;
538
+ width: 2rem;
511
539
  height: 4.5rem;
512
540
  }
513
541
  }
@@ -535,7 +563,7 @@
535
563
  /* Thumb */
536
564
  .media-minimal-skin .media-slider__thumb {
537
565
  position: absolute;
538
- transform: translate(-50%, -50%);
566
+ translate: -50% -50%;
539
567
  z-index: 10;
540
568
  width: 0.75rem;
541
569
  height: 0.75rem;
@@ -628,9 +656,21 @@
628
656
  }
629
657
  }
630
658
 
631
- /* Time display within slider */
632
- .media-minimal-skin .media-slider__time-display {
633
- font-variant-numeric: tabular-nums;
659
+ /* Dragging thumb and fill follow the pointer position */
660
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
661
+ left: var(--media-slider-pointer);
662
+ }
663
+
664
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
665
+ top: calc(100% - var(--media-slider-pointer));
666
+ }
667
+
668
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
669
+ width: var(--media-slider-pointer);
670
+ }
671
+
672
+ .media-minimal-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
673
+ height: var(--media-slider-pointer);
634
674
  }
635
675
 
636
676
  /* ==========================================================================
@@ -643,13 +683,14 @@
643
683
  border: 0;
644
684
  color: inherit;
645
685
  overflow: visible;
646
- transition-property: transform, scale, opacity, filter;
647
- transition-duration: 200ms;
686
+ transition-property: scale, opacity, filter;
687
+ transition-duration: var(--media-popup-transition-duration);
688
+ transition-timing-function: var(--media-popup-transition-timing-function);
648
689
 
649
690
  &[data-starting-style],
650
691
  &[data-ending-style] {
651
692
  opacity: 0;
652
- transform: scale(0);
693
+ scale: 0.5;
653
694
  filter: blur(8px);
654
695
  }
655
696
 
@@ -669,119 +710,160 @@
669
710
  &[data-side="right"] {
670
711
  transform-origin: left;
671
712
  }
672
- }
673
713
 
674
- .media-minimal-skin .media-tooltip {
675
- padding: 0.25rem 0.5rem;
676
- border-radius: 0.25rem;
677
- background-color: oklch(1 0 0 / 0.1);
678
- backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);
679
- box-shadow:
680
- 0 4px 6px -1px oklch(0 0 0 / 0.1),
681
- 0 2px 4px -2px oklch(0 0 0 / 0.1);
682
- font-size: 0.75rem;
683
- white-space: nowrap;
684
- --media-tooltip-side-offset: 0.5rem;
685
-
686
- @media (prefers-reduced-transparency: reduce) {
687
- background-color: oklch(0 0 0 / 0.7);
714
+ /* Safe area between trigger and popup */
715
+ &::before {
716
+ content: "";
717
+ position: absolute;
718
+ pointer-events: inherit;
688
719
  }
689
720
 
690
- @media (prefers-contrast: more) {
691
- background-color: oklch(0 0 0 / 0.9);
721
+ &[data-side="top"]::before,
722
+ &[data-side="bottom"]::before {
723
+ width: 100%;
724
+ inset-inline: 0;
692
725
  }
693
- }
694
-
695
- /* ==========================================================================
696
- Captions
697
- ========================================================================== */
698
-
699
- .media-minimal-skin .media-captions {
700
- position: absolute;
701
- inset: auto 1rem 1.5rem 1rem;
702
- z-index: 20;
703
- font-size: 1rem;
704
- text-wrap: balance;
705
- pointer-events: none;
706
-
707
- @container media-root (width > 20rem) {
708
- font-size: 1.5rem;
726
+ &[data-side="top"]::before {
727
+ top: 100%;
709
728
  }
710
-
711
- @container media-root (width > 48rem) {
712
- font-size: 1.875rem;
729
+ &[data-side="bottom"]::before {
730
+ bottom: 100%;
713
731
  }
714
732
 
715
- @container media-root (width > 80rem) {
716
- font-size: 2.25rem;
733
+ &[data-side="left"]::before,
734
+ &[data-side="right"]::before {
735
+ height: 100%;
736
+ inset-block: 0;
737
+ }
738
+ &[data-side="left"]::before {
739
+ left: 100%;
740
+ }
741
+ &[data-side="right"]::before {
742
+ right: 100%;
717
743
  }
718
744
  }
719
745
 
720
- .media-minimal-skin .media-captions__container {
721
- display: flex;
722
- flex-direction: column;
723
- align-items: center;
724
- max-width: 42ch;
725
- margin: 0 auto;
726
- text-align: center;
746
+ .media-minimal-skin .media-popover {
747
+ &[data-side="top"]::before,
748
+ &[data-side="bottom"]::before {
749
+ height: var(--media-popover-side-offset);
750
+ }
751
+ &[data-side="left"]::before,
752
+ &[data-side="right"]::before {
753
+ width: var(--media-popover-side-offset);
754
+ }
727
755
  }
728
756
 
729
- .media-minimal-skin .media-captions__text {
730
- display: block;
731
- padding: 0.125rem 0.5rem;
732
- color: oklch(1 0 0);
733
- text-shadow:
734
- 0 0 1px oklch(0 0 0 / 0.7),
735
- 0 0 8px oklch(0 0 0 / 0.7);
736
- text-align: center;
737
- white-space: pre-wrap;
738
- line-height: 1.2;
757
+ .media-minimal-skin .media-tooltip {
758
+ padding: 0.25rem 0.5rem;
759
+ border-radius: 0.5rem;
760
+ background-color: var(--media-tooltip-background-color);
761
+ backdrop-filter: var(--media-tooltip-backdrop-filter);
762
+ box-shadow:
763
+ 0 0 0 1px var(--media-tooltip-border-color),
764
+ 0 4px 6px -1px oklch(0 0 0 / 0.1),
765
+ 0 2px 4px -2px oklch(0 0 0 / 0.1);
766
+ color: var(--media-tooltip-text-color);
767
+ font-size: 0.75rem; /* 12px at 100% font size */
768
+ white-space: nowrap;
739
769
 
740
- @media (prefers-contrast: more) {
741
- background: oklch(0 0 0 / 0.7);
742
- text-shadow: none;
743
- box-decoration-break: clone;
770
+ &[data-side="top"]::before,
771
+ &[data-side="bottom"]::before {
772
+ height: var(--media-tooltip-side-offset);
744
773
  }
745
-
746
- & > * {
747
- display: inline;
774
+ &[data-side="left"]::before,
775
+ &[data-side="right"]::before {
776
+ width: var(--media-tooltip-side-offset);
748
777
  }
749
778
  }
750
779
 
751
- /* Caption shifting styles (custom and native) */
780
+ .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
781
+ display: none;
782
+ }
783
+
784
+ /* ==========================================================================
785
+ Native Caption Track
786
+ ========================================================================== */
787
+
752
788
  .media-minimal-skin {
753
- --media-caption-track-delay: 600ms;
789
+ --media-caption-track-duration: var(--media-controls-transition-duration);
790
+ --media-caption-track-delay: 25ms;
754
791
  --media-caption-track-y: -0.5rem;
755
792
 
756
793
  &:has(.media-controls[data-visible]) {
757
- --media-caption-track-delay: 25ms;
758
- --media-caption-track-y: -3rem;
794
+ --media-caption-track-y: -5rem;
759
795
  }
760
- }
761
796
 
762
- .media-minimal-skin .media-captions,
763
- .media-minimal-skin video::-webkit-media-text-track-container {
764
- /* NOTE: The delay must account for the controls delay/duration */
765
- transition: transform 150ms ease-out;
766
- transition-delay: var(--media-caption-track-delay);
797
+ @container media-root (width > 42rem) {
798
+ &:has(.media-controls[data-visible]) > * {
799
+ --media-caption-track-y: -3rem;
800
+ }
801
+ }
767
802
  }
768
803
 
769
804
  .media-minimal-skin video::-webkit-media-text-track-container {
770
- transform: translateY(var(--media-caption-track-y)) scale(0.98);
805
+ transition: translate var(--media-caption-track-duration) ease-out;
806
+ transition-delay: var(--media-caption-track-delay);
807
+ translate: 0 var(--media-caption-track-y);
808
+ scale: 0.98;
771
809
  z-index: 1;
772
810
  font-family: inherit;
773
811
  }
774
812
 
775
- /* When controls are visible, shift captions up to avoid overlap */
776
- .media-minimal-skin .media-controls[data-visible] ~ .media-captions {
777
- transform: translateY(calc(var(--media-caption-track-y) - 0.5rem));
813
+ /* ==========================================================================
814
+ Icon State Visibility for Video Skins
815
+
816
+ Data-attribute-driven visibility rules for multi-state icon buttons.
817
+ Uses :is() with both element selectors (for HTML custom element wrappers)
818
+ and class selectors (for React rendered SVG elements).
819
+ ========================================================================== */
820
+
821
+ /* --- All icons hidden by default --- */
822
+
823
+ .media-button--play .media-icon--restart,
824
+ .media-button--play .media-icon--play,
825
+ .media-button--play .media-icon--pause,
826
+ .media-button--mute .media-icon--volume-off,
827
+ .media-button--mute .media-icon--volume-low,
828
+ .media-button--mute .media-icon--volume-high,
829
+ .media-button--fullscreen .media-icon--fullscreen-enter,
830
+ .media-button--fullscreen .media-icon--fullscreen-exit,
831
+ .media-button--pip .media-icon--pip-enter,
832
+ .media-button--pip .media-icon--pip-exit,
833
+ .media-button--captions .media-icon--captions-off,
834
+ .media-button--captions .media-icon--captions-on {
835
+ display: none;
836
+ opacity: 0;
778
837
  }
779
838
 
780
- @media (prefers-reduced-motion: reduce) {
781
- .media-minimal-skin .media-captions,
782
- .media-minimal-skin video::-webkit-media-text-track-container {
783
- transition-duration: 50ms;
784
- }
839
+ /* --- Active icon per state --- */
840
+
841
+ /* Play: ended → restart */
842
+ .media-button--play[data-ended] .media-icon--restart,
843
+ /* Play: paused (not ended) → play */
844
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
845
+ /* Play: playing (not paused, not ended) → pause */
846
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
847
+ /* Mute: muted → volume off */
848
+ .media-button--mute[data-muted] .media-icon--volume-off,
849
+ /* Mute: volume low (not muted) → volume low */
850
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
851
+ /* Mute: volume high (not muted, not low) → volume high */
852
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high,
853
+ /* Fullscreen: not fullscreen → enter */
854
+ .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
855
+ /* Fullscreen: fullscreen → exit */
856
+ .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
857
+ /* Picture-in-Picture: not active → enter */
858
+ .media-button--pip:not([data-pip]) .media-icon--pip-enter,
859
+ /* Picture-in-Picture: active → exit */
860
+ .media-button--pip[data-pip] .media-icon--pip-exit,
861
+ /* Captions: not active → captions off */
862
+ .media-button--captions:not([data-active]) .media-icon--captions-off,
863
+ /* Captions: active → captions on */
864
+ .media-button--captions[data-active] .media-icon--captions-on {
865
+ display: block;
866
+ opacity: 1;
785
867
  }
786
868
 
787
869
 
@@ -790,67 +872,208 @@
790
872
  ========================================================================== */
791
873
 
792
874
  .media-minimal-skin--video {
875
+ overflow: clip;
793
876
  background: oklch(0 0 0);
877
+ --media-border-color: oklch(0 0 0 / 0.15);
878
+ --media-video-border-radius: var(--media-border-radius, 0.75rem);
879
+ --media-controls-background-color: transparent;
880
+ --media-controls-transition-duration: 100ms;
881
+ --media-controls-transition-timing-function: ease-out;
882
+ --media-error-dialog-transition-duration: 150ms;
883
+ --media-error-dialog-transition-delay: 100ms;
884
+ --media-error-dialog-transition-timing-function: ease-out;
885
+ --media-popup-transition-duration: 100ms;
886
+ --media-popup-transition-timing-function: ease-out;
887
+ --media-tooltip-background-color: oklch(1 0 0 / 0.1);
888
+ --media-tooltip-border-color: transparent;
889
+ --media-tooltip-backdrop-filter: blur(16px) saturate(1.5);
890
+ --media-tooltip-text-color: currentColor;
891
+ --media-tooltip-side-offset: 0.5rem;
892
+ --media-popover-side-offset: 1.5rem;
893
+
894
+ @media (prefers-reduced-motion: reduce) {
895
+ --media-error-dialog-transition-duration: 50ms;
896
+ --media-error-dialog-transition-delay: 0ms;
897
+ --media-popup-transition-duration: 0ms;
898
+ }
899
+
900
+ @media (prefers-color-scheme: dark) {
901
+ --media-border-color: oklch(1 0 0 / 0.15);
902
+ }
794
903
 
795
- /* Border ring */
904
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
905
+ --media-controls-background-color: oklch(0 0 0);
906
+ --media-tooltip-background-color: oklch(0 0 0);
907
+ }
908
+
909
+ @container media-root (width > 42rem) {
910
+ & > * {
911
+ --media-popover-side-offset: 0rem;
912
+ }
913
+ }
914
+
915
+ &:has(.media-controls:not([data-visible])) {
916
+ /* Slight delay to hide controls on non-touch devices after interaction */
917
+ @media (pointer: fine) {
918
+ --media-controls-transition-duration: 300ms;
919
+ }
920
+ @media (pointer: coarse) {
921
+ --media-controls-transition-duration: 150ms;
922
+ }
923
+ @media (prefers-reduced-motion: reduce) {
924
+ --media-controls-transition-duration: 50ms;
925
+ }
926
+ }
927
+
928
+ /* Inner border ring */
796
929
  &::after {
797
930
  content: "";
798
931
  position: absolute;
799
932
  inset: 0;
800
933
  z-index: 10;
801
934
  border-radius: inherit;
802
- box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.15);
935
+ box-shadow: inset 0 0 0 1px var(--media-border-color);
803
936
  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
937
  }
809
938
 
810
939
  /* Fullscreen */
811
940
  &:fullscreen {
812
- border-radius: 0;
941
+ --media-border-radius: 0;
813
942
  }
814
943
  }
815
944
 
945
+ /* ==========================================================================
946
+ Error Dialog
947
+ ========================================================================== */
948
+
949
+ .media-minimal-skin--video .media-error {
950
+ position: absolute;
951
+ inset: 0;
952
+ z-index: 20;
953
+ display: flex;
954
+ align-items: center;
955
+ justify-content: center;
956
+ pointer-events: none;
957
+ outline: none;
958
+ }
959
+
960
+ .media-minimal-skin--video .media-error__dialog {
961
+ display: flex;
962
+ flex-direction: column;
963
+ gap: 0.75rem;
964
+ max-width: 16rem;
965
+ padding: 1rem;
966
+ color: oklch(1 0 0);
967
+ text-shadow: 0 1px 0 oklch(0 0 0 / 0.5);
968
+ transition-property: opacity, scale;
969
+ transition-duration: var(--media-error-dialog-transition-duration);
970
+ transition-delay: var(--media-error-dialog-transition-delay);
971
+ transition-timing-function: var(--media-error-dialog-transition-timing-function);
972
+ pointer-events: auto;
973
+ }
974
+
975
+ .media-minimal-skin--video .media-error[data-starting-style] .media-error__dialog,
976
+ .media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {
977
+ opacity: 0;
978
+ scale: 0.5;
979
+ }
980
+ .media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {
981
+ transition-delay: 0ms;
982
+ }
983
+
984
+ .media-minimal-skin--video .media-error__content {
985
+ display: flex;
986
+ flex-direction: column;
987
+ gap: 0.5rem;
988
+ padding: 0.375rem 0;
989
+ }
990
+
991
+ .media-minimal-skin--video .media-error__title {
992
+ font-size: 1.125rem;
993
+ }
994
+
995
+ .media-minimal-skin--video .media-error[data-open] ~ .media-controls {
996
+ display: none;
997
+ }
998
+
816
999
  /* ==========================================================================
817
1000
  Controls (hide/show behavior)
818
1001
  ========================================================================== */
819
1002
 
820
1003
  .media-minimal-skin--video .media-controls {
1004
+ padding: 0.25rem;
1005
+ column-gap: 0.5rem;
1006
+ flex-wrap: wrap;
821
1007
  position: absolute;
822
- bottom: 0;
823
- inset-inline: 0;
1008
+ bottom: 0.25rem;
1009
+ inset-inline: 0.25rem;
824
1010
  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
1011
  color: oklch(1 0 0);
1012
+ border-radius: 0.75rem;
1013
+ transition-duration: var(--media-controls-transition-duration);
1014
+ transition-timing-function: var(--media-controls-transition-timing-function);
1015
+
1016
+ @media (pointer: fine) {
1017
+ will-change: translate, filter, opacity;
1018
+ transition-property: translate, filter, opacity;
1019
+ }
833
1020
 
834
- @container media-root (width > 40rem) {
835
- gap: 0.875rem;
836
- padding: 2.5rem 0.75rem 0.75rem 0.75rem;
1021
+ @media (pointer: coarse) {
1022
+ will-change: translate, opacity;
1023
+ transition-property: translate, opacity;
837
1024
  }
838
1025
 
839
1026
  &:not([data-visible]) {
840
1027
  opacity: 0;
841
- transform: translateY(100%);
842
- filter: blur(8px);
843
- transition-duration: 500ms;
844
- transition-delay: 500ms;
845
1028
  pointer-events: none;
1029
+ translate: 0 100%;
1030
+
1031
+ @media (pointer: fine) {
1032
+ filter: blur(8px);
1033
+ }
846
1034
 
847
1035
  @media (prefers-reduced-motion: reduce) {
848
- scale: 1;
849
- transform: translateY(0);
1036
+ translate: 0 0;
850
1037
  filter: blur(0);
851
- transition-duration: 100ms;
852
1038
  }
853
1039
  }
1040
+
1041
+ & .media-time-controls {
1042
+ order: -1;
1043
+ flex: 0 0 100%;
1044
+ padding-inline: 0.625rem;
1045
+ }
1046
+
1047
+ & .media-button-group:first-child {
1048
+ flex: 1;
1049
+ text-align: left;
1050
+ }
1051
+
1052
+ & .media-button-group:last-child {
1053
+ flex: 1;
1054
+ justify-content: end;
1055
+ }
1056
+
1057
+ @container media-root (width > 42rem) {
1058
+ flex-wrap: nowrap;
1059
+ bottom: 0.5rem;
1060
+ inset-inline: 0.5rem;
1061
+
1062
+ & .media-time-controls {
1063
+ order: unset;
1064
+ flex: 1;
1065
+ }
1066
+
1067
+ & .media-button-group:first-child,
1068
+ & .media-button-group:last-child {
1069
+ flex: 0 0 auto;
1070
+ }
1071
+ }
1072
+ }
1073
+
1074
+ /* Hide cursor when controls are hidden */
1075
+ .media-minimal-skin--video:has(.media-controls:not([data-visible])) {
1076
+ cursor: none;
854
1077
  }
855
1078
 
856
1079
  /* ==========================================================================
@@ -866,8 +1089,75 @@
866
1089
  ========================================================================== */
867
1090
 
868
1091
  .media-minimal-skin--video .media-popover--volume {
869
- --media-popover-side-offset: 0.5rem;
870
1092
  background: transparent;
871
- padding: 0.25rem;
1093
+ padding-block: 0.75rem;
1094
+ border-radius: 0.75rem;
1095
+
1096
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1097
+ background: var(--media-controls-background-color);
1098
+ }
1099
+ }
1100
+
1101
+ /* ==========================================================================
1102
+ Slider preview
1103
+ ========================================================================== */
1104
+
1105
+ .media-minimal-skin--video .media-slider__preview {
1106
+ --media-preview-max-width: 11rem;
1107
+ --media-preview-padding: -0.5rem;
1108
+ /**
1109
+ Inset is the difference between the container width and the slider (100%) width.
1110
+ We only add to the end as we render the time there.
1111
+ */
1112
+ --media-preview-inset: calc(100cqi - 100%);
1113
+
1114
+ position: absolute;
1115
+ left: clamp(
1116
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding)),
1117
+ var(--media-slider-pointer),
1118
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1119
+ );
1120
+ bottom: 100%;
1121
+ translate: -50%;
1122
+ opacity: 0;
1123
+ scale: 0.8;
1124
+ filter: blur(8px);
1125
+ transition-property: scale, opacity, filter;
1126
+ transition-duration: 150ms;
1127
+ transition-timing-function: ease-out;
1128
+ transform-origin: bottom;
1129
+
1130
+ @container media-root (width > 42rem) {
1131
+ bottom: calc(100% + 0.25rem);
1132
+ left: var(--media-slider-pointer);
1133
+ }
1134
+
1135
+ & .media-preview__thumbnail-wrapper {
1136
+ position: relative;
1137
+
1138
+ &::after {
1139
+ content: "";
1140
+ position: absolute;
1141
+ inset: 0;
1142
+ border-radius: inherit;
1143
+ box-shadow:
1144
+ 0 0 0 1px oklch(0 0 0 / 0.05),
1145
+ 0 1px 3px 0 oklch(0 0 0 / 0.2),
1146
+ 0 1px 2px -1px oklch(0 0 0 / 0.2);
1147
+ }
1148
+ }
1149
+
1150
+ & .media-preview__thumbnail {
1151
+ max-width: var(--media-preview-max-width);
1152
+ }
1153
+
1154
+ &:has(.media-preview__thumbnail[data-loading]) {
1155
+ max-height: 6rem;
1156
+ }
1157
+ }
1158
+ .media-minimal-skin--video .media-slider[data-pointing] .media-slider__preview:has([role="img"]:not([data-hidden])) {
1159
+ opacity: 1;
1160
+ scale: 1;
1161
+ filter: blur(0);
872
1162
  }
873
1163