@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-default-skin *::before,
101
50
  .media-default-skin *::after {
102
51
  box-sizing: border-box;
103
- margin: 0;
104
52
  }
105
53
  .media-default-skin img,
106
54
  .media-default-skin video,
@@ -122,25 +70,38 @@
122
70
  ========================================================================== */
123
71
 
124
72
  .media-default-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, 2rem);
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;
141
96
 
142
- &:fullscreen {
143
- border-radius: 0;
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
+ }
144
105
  }
145
106
  }
146
107
 
@@ -152,7 +113,7 @@
152
113
  background-color: var(--media-surface-background-color);
153
114
  backdrop-filter: var(--media-surface-backdrop-filter);
154
115
  box-shadow:
155
- inset 0 0 0 1px var(--media-surface-inner-border-color),
116
+ 0 0 0 1px var(--media-surface-outer-border-color),
156
117
  0 1px 3px 0 var(--media-surface-shadow-color),
157
118
  0 1px 2px -1px var(--media-surface-shadow-color);
158
119
 
@@ -163,17 +124,9 @@
163
124
  inset: 0;
164
125
  z-index: 10;
165
126
  border-radius: inherit;
166
- box-shadow: 0 0 0 1px var(--media-surface-outer-border-color);
127
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
167
128
  pointer-events: none;
168
129
  }
169
-
170
- @media (prefers-reduced-transparency: reduce) {
171
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.7);
172
- }
173
-
174
- @media (prefers-contrast: more) {
175
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.9);
176
- }
177
130
  }
178
131
 
179
132
  /* ==========================================================================
@@ -185,26 +138,19 @@
185
138
  display: block;
186
139
  width: 100%;
187
140
  height: 100%;
188
- border-radius: var(--media-border-radius, 2rem);
141
+ object-fit: var(--media-object-fit, contain);
142
+ object-position: var(--media-object-position, center);
189
143
  }
190
-
191
- /* ==========================================================================
192
- Poster Image
193
- ========================================================================== */
194
-
195
- .media-default-skin > img {
196
- position: absolute;
197
- inset: 0;
198
- width: 100%;
199
- height: 100%;
144
+ .media-default-skin ::slotted(video) {
145
+ border-radius: var(--media-video-border-radius);
146
+ }
147
+ .media-default-skin video {
200
148
  border-radius: inherit;
201
- object-fit: cover;
202
- transition: opacity 0.25s;
203
- pointer-events: none;
149
+ }
204
150
 
205
- &:not([data-visible]) {
206
- opacity: 0;
207
- }
151
+ .media-default-skin:fullscreen ::slotted(video),
152
+ .media-default-skin:fullscreen video {
153
+ object-fit: contain;
208
154
  }
209
155
 
210
156
  /* ==========================================================================
@@ -216,28 +162,26 @@
216
162
  inset: 0;
217
163
  border-radius: inherit;
218
164
  background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
219
- backdrop-filter: blur(0) saturate(1.2) brightness(0.9);
165
+ backdrop-filter: blur(0) saturate(1);
220
166
  opacity: 0;
167
+ pointer-events: none;
221
168
  transition-property: opacity, backdrop-filter;
222
- transition-duration: 300ms;
223
- transition-delay: 500ms;
169
+ transition-duration: var(--media-controls-transition-duration);
224
170
  transition-timing-function: ease-out;
225
- pointer-events: none;
171
+ }
226
172
 
227
- @media (prefers-reduced-motion: reduce) {
228
- transition-duration: 100ms;
229
- }
173
+ .media-default-skin .media-error ~ .media-overlay {
174
+ transition-duration: var(--media-error-dialog-transition-duration);
175
+ transition-delay: var(--media-error-dialog-transition-delay);
230
176
  }
231
177
 
232
178
  .media-default-skin .media-controls[data-visible] ~ .media-overlay,
233
179
  .media-default-skin .media-error[data-open] ~ .media-overlay {
234
180
  opacity: 1;
235
- transition-duration: 150ms;
236
- transition-delay: 0ms;
237
181
  }
238
182
 
239
183
  .media-default-skin .media-error[data-open] ~ .media-overlay {
240
- backdrop-filter: blur(8px) saturate(1.2) brightness(0.9);
184
+ backdrop-filter: blur(16px) saturate(1.5);
241
185
  }
242
186
 
243
187
  /* ==========================================================================
@@ -268,57 +212,11 @@
268
212
  ========================================================================== */
269
213
 
270
214
  .media-default-skin .media-error {
271
- position: absolute;
272
- inset: 0;
273
- z-index: 20;
274
- display: flex;
275
- align-items: center;
276
- justify-content: center;
277
- }
278
-
279
- .media-default-skin .media-error__dialog {
280
- display: flex;
281
- flex-direction: column;
282
- gap: 0.75rem;
283
- max-width: 18rem;
284
- padding: 0.75rem;
285
- border-radius: 1.75rem;
286
- color: oklch(1 0 0);
287
- font-size: 0.875rem;
288
- transition-property: opacity, transform;
289
- transition-duration: 500ms;
290
- transition-delay: 100ms;
291
- transition-timing-function: linear(
292
- 0,
293
- 0.034 1.5%,
294
- 0.763 9.7%,
295
- 1.066 13.9%,
296
- 1.198 19.9%,
297
- 1.184 21.8%,
298
- 0.963 37.5%,
299
- 0.997 50.9%,
300
- 1
301
- );
302
-
303
- /* Simple, fast transition for reduced motion users */
304
- @media (prefers-reduced-motion: reduce) {
305
- transition-duration: 100ms;
306
- transition-delay: 0ms;
307
- transition-timing-function: ease-out;
308
- }
309
- }
310
-
311
- .media-default-skin .media-error[data-starting-style] .media-error__dialog,
312
- .media-default-skin .media-error[data-ending-style] .media-error__dialog {
313
- opacity: 0;
314
- transform: scale(0.5);
215
+ outline: none;
315
216
  }
316
217
 
317
- .media-default-skin .media-error__content {
318
- display: flex;
319
- flex-direction: column;
320
- gap: 0.5rem;
321
- padding: 0.5rem 0.5rem 0.375rem;
218
+ .media-default-skin .media-error:not([data-open]) {
219
+ display: none;
322
220
  }
323
221
 
324
222
  .media-default-skin .media-error__title {
@@ -328,6 +226,7 @@
328
226
 
329
227
  .media-default-skin .media-error__description {
330
228
  opacity: 0.7;
229
+ overflow-wrap: anywhere;
331
230
  }
332
231
 
333
232
  .media-default-skin .media-error__actions {
@@ -339,6 +238,10 @@
339
238
  }
340
239
  }
341
240
 
241
+ .media-default-skin .media-error[data-open] ~ .media-controls * {
242
+ visibility: hidden;
243
+ }
244
+
342
245
  /* ==========================================================================
343
246
  Controls
344
247
  ========================================================================== */
@@ -347,44 +250,31 @@
347
250
  container: media-controls / inline-size;
348
251
  display: flex;
349
252
  align-items: center;
350
- gap: 0.075rem;
351
- padding: 0.175rem;
352
- border-radius: calc(infinity * 1px);
353
- --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
253
+ column-gap: 0.075rem;
254
+ padding: 0.375rem;
255
+ border-radius: 1.5rem;
256
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
354
257
  --media-controls-current-shadow-color-subtle: oklch(
355
258
  from var(--media-controls-current-shadow-color) l c h /
356
259
  calc(alpha * 0.4)
357
260
  );
358
- text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
359
-
360
- @container media-root (width > 40rem) {
361
- gap: 0.125rem;
362
- padding: 0.25rem;
363
- }
261
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
364
262
  }
365
263
 
366
264
  /* ==========================================================================
367
265
  Time Display
368
266
  ========================================================================== */
369
267
 
370
- .media-default-skin .media-time {
371
- container: media-time / inline-size;
268
+ .media-default-skin .media-time-controls {
269
+ container: media-time-controls / inline-size;
372
270
  display: flex;
373
271
  align-items: center;
374
272
  flex: 1;
375
273
  gap: 0.75rem;
376
274
  padding-inline: 0.5rem;
377
-
378
- & .media-time__value:first-child {
379
- display: none;
380
-
381
- @container media-time (width > 18rem) {
382
- display: block;
383
- }
384
- }
385
275
  }
386
276
 
387
- .media-default-skin .media-time__value {
277
+ .media-default-skin .media-time {
388
278
  font-variant-numeric: tabular-nums;
389
279
  }
390
280
 
@@ -399,25 +289,29 @@
399
289
  justify-content: center;
400
290
  flex-shrink: 0;
401
291
  padding: 0.5rem 1rem;
402
- background: oklch(1 0 0);
403
292
  border: none;
404
293
  border-radius: calc(infinity * 1px);
405
294
  outline: 2px solid transparent;
406
295
  outline-offset: -2px;
407
- color: oklch(0 0 0);
408
- font-weight: 500;
409
- text-align: center;
410
- transition-property: background-color, color, outline-offset, transform;
296
+ transition-property: background-color, outline-offset, scale;
297
+ /* Fix weird jumping when clicking on the buttons in Safari. */
298
+ will-change: scale;
411
299
  transition-duration: 150ms;
412
300
  transition-timing-function: ease-out;
413
301
  cursor: pointer;
414
302
  user-select: none;
303
+ text-align: center;
304
+ touch-action: manipulation;
415
305
 
416
306
  &:focus-visible {
417
- outline-color: oklch(62.3% 0.214 259.815);
307
+ outline-color: currentColor;
418
308
  outline-offset: 2px;
419
309
  }
420
310
 
311
+ &:active {
312
+ scale: 0.98;
313
+ }
314
+
421
315
  &[disabled] {
422
316
  opacity: 0.5;
423
317
  filter: grayscale(1);
@@ -429,12 +323,16 @@
429
323
  }
430
324
  }
431
325
 
432
- /* Icon button variant */
433
- .media-default-skin .media-button--icon {
434
- display: grid;
435
- width: 2.125rem;
436
- padding: 0;
437
- aspect-ratio: 1;
326
+ /* Primary button variant */
327
+ .media-default-skin .media-button--primary {
328
+ background: oklch(1 0 0);
329
+ color: oklch(0 0 0);
330
+ font-weight: 500;
331
+ text-shadow: none;
332
+ }
333
+
334
+ /* Subtle button variant */
335
+ .media-default-skin .media-button--subtle {
438
336
  background: transparent;
439
337
  color: inherit;
440
338
  text-shadow: inherit;
@@ -445,9 +343,17 @@
445
343
  background-color: oklch(from currentColor l c h / 0.1);
446
344
  text-decoration: none;
447
345
  }
346
+ }
347
+
348
+ /* Icon button variant */
349
+ .media-default-skin .media-button--icon {
350
+ display: grid;
351
+ width: 2.25rem;
352
+ padding: 0;
353
+ aspect-ratio: 1;
448
354
 
449
355
  &:active {
450
- transform: scale(0.9);
356
+ scale: 0.9;
451
357
  }
452
358
 
453
359
  & .media-icon {
@@ -461,7 +367,7 @@
461
367
  position: absolute;
462
368
  right: -1px;
463
369
  bottom: -3px;
464
- font-size: 0.75em;
370
+ font-size: 10px;
465
371
  font-weight: 480;
466
372
  font-variant-numeric: tabular-nums;
467
373
  }
@@ -470,10 +376,6 @@
470
376
  right: unset;
471
377
  left: -1px;
472
378
  }
473
-
474
- @container media-controls (width < 28rem) {
475
- display: none;
476
- }
477
379
  }
478
380
 
479
381
  /* Playback rate button */
@@ -487,6 +389,20 @@
487
389
  }
488
390
  }
489
391
 
392
+ /* ==========================================================================
393
+ Button Groups
394
+ ========================================================================== */
395
+
396
+ .media-default-skin .media-button-group {
397
+ display: flex;
398
+ align-items: center;
399
+ gap: 0.075rem;
400
+
401
+ @container media-root (width > 42rem) {
402
+ gap: 0.125rem;
403
+ }
404
+ }
405
+
490
406
  /* ==========================================================================
491
407
  Icons
492
408
  ========================================================================== */
@@ -509,6 +425,102 @@
509
425
  scale: -1 1;
510
426
  }
511
427
 
428
+ /* ==========================================================================
429
+ Poster Image
430
+ ========================================================================== */
431
+
432
+ .media-default-skin media-poster,
433
+ .media-default-skin > img {
434
+ position: absolute;
435
+ inset: 0;
436
+ width: 100%;
437
+ height: 100%;
438
+ transition: opacity 0.25s;
439
+ pointer-events: none;
440
+ }
441
+ .media-default-skin media-poster:not([data-visible]),
442
+ .media-default-skin > img:not([data-visible]) {
443
+ opacity: 0;
444
+ }
445
+ .media-default-skin media-poster ::slotted(img),
446
+ .media-default-skin media-poster img {
447
+ position: absolute;
448
+ inset: 0;
449
+ width: 100%;
450
+ height: 100%;
451
+ object-fit: var(--media-object-fit, contain);
452
+ object-position: var(--media-object-position, center);
453
+ border-radius: var(--media-video-border-radius);
454
+ }
455
+ .media-default-skin > img {
456
+ object-fit: var(--media-object-fit, contain);
457
+ object-position: var(--media-object-position, center);
458
+ border-radius: inherit;
459
+ }
460
+
461
+ .media-default-skin:fullscreen media-poster ::slotted(img),
462
+ .media-default-skin:fullscreen media-poster img,
463
+ .media-default-skin:fullscreen > img {
464
+ object-fit: contain;
465
+ }
466
+
467
+ /* ==========================================================================
468
+ Media preview
469
+ ========================================================================== */
470
+ .media-default-skin .media-preview {
471
+ background-color: oklch(0 0 0 / 0.9);
472
+ border-radius: 0.75rem;
473
+ pointer-events: none;
474
+
475
+ & .media-preview__thumbnail {
476
+ display: block;
477
+ position: relative;
478
+ border-radius: inherit;
479
+ overflow: clip;
480
+
481
+ &::after {
482
+ content: "";
483
+ position: absolute;
484
+ inset: 0;
485
+ border-radius: inherit;
486
+ background-image: linear-gradient(to top, oklch(0 0 0 / 0.8), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
487
+ }
488
+ }
489
+
490
+ & .media-preview__time {
491
+ position: absolute;
492
+ bottom: 0.5rem;
493
+ inset-inline: 0;
494
+ text-align: center;
495
+ }
496
+
497
+ & .media-overlay {
498
+ opacity: 1;
499
+ }
500
+
501
+ & .media-preview__spinner {
502
+ position: absolute;
503
+ top: 50%;
504
+ left: 50%;
505
+ translate: -50% -50%;
506
+ opacity: 0;
507
+ }
508
+
509
+ & .media-preview__thumbnail,
510
+ & .media-preview__spinner {
511
+ transition: opacity 150ms ease-out;
512
+ }
513
+
514
+ &:has(.media-preview__thumbnail[data-loading]) {
515
+ & .media-preview__thumbnail {
516
+ opacity: 0;
517
+ }
518
+ & .media-preview__spinner {
519
+ opacity: 1;
520
+ }
521
+ }
522
+ }
523
+
512
524
  /* ==========================================================================
513
525
  Slider
514
526
  ========================================================================== */
@@ -521,15 +533,16 @@
521
533
  flex: 1;
522
534
  border-radius: calc(infinity * 1px);
523
535
  outline: none;
536
+ cursor: pointer;
524
537
 
525
538
  &[data-orientation="horizontal"] {
526
539
  min-width: 5rem;
527
540
  width: 100%;
528
- height: 1.25rem;
541
+ height: 2rem;
529
542
  }
530
543
 
531
544
  &[data-orientation="vertical"] {
532
- width: 1.25rem;
545
+ width: 2rem;
533
546
  height: 5rem;
534
547
  }
535
548
  }
@@ -557,7 +570,7 @@
557
570
  .media-default-skin .media-slider__thumb {
558
571
  z-index: 10;
559
572
  position: absolute;
560
- transform: translate(-50%, -50%);
573
+ translate: -50% -50%;
561
574
  width: 0.625rem;
562
575
  height: 0.625rem;
563
576
  background-color: currentColor;
@@ -589,6 +602,22 @@
589
602
  outline-color: oklch(from currentColor l c h / 0.25);
590
603
  outline-offset: 0;
591
604
  }
605
+
606
+ &::after {
607
+ content: "";
608
+ position: absolute;
609
+ inset: -4px;
610
+ border-radius: inherit;
611
+ box-shadow: 0 0 0 2px oklch(1 0 0);
612
+ transition-property: opacity, scale;
613
+ transition-duration: 150ms;
614
+ transition-timing-function: ease-out;
615
+ }
616
+
617
+ &:not(:focus-visible)::after {
618
+ scale: 0.5;
619
+ opacity: 0;
620
+ }
592
621
  }
593
622
 
594
623
  .media-default-skin .media-slider:active .media-slider__thumb,
@@ -653,9 +682,21 @@
653
682
  }
654
683
  }
655
684
 
656
- /* Time display within slider */
657
- .media-default-skin .media-slider__time-display {
658
- font-variant-numeric: tabular-nums;
685
+ /* Dragging thumb and fill follow the pointer position */
686
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
687
+ left: var(--media-slider-pointer);
688
+ }
689
+
690
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
691
+ top: calc(100% - var(--media-slider-pointer));
692
+ }
693
+
694
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
695
+ width: var(--media-slider-pointer);
696
+ }
697
+
698
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
699
+ height: var(--media-slider-pointer);
659
700
  }
660
701
 
661
702
  /* ==========================================================================
@@ -668,13 +709,14 @@
668
709
  border: 0;
669
710
  color: inherit;
670
711
  overflow: visible;
671
- transition-property: transform, scale, opacity, filter;
672
- transition-duration: 200ms;
712
+ transition-property: scale, opacity, filter;
713
+ transition-duration: var(--media-popup-transition-duration);
714
+ transition-timing-function: var(--media-popup-transition-timing-function);
673
715
 
674
716
  &[data-starting-style],
675
717
  &[data-ending-style] {
676
718
  opacity: 0;
677
- transform: scale(0);
719
+ scale: 0.5;
678
720
  filter: blur(8px);
679
721
  }
680
722
 
@@ -694,14 +736,56 @@
694
736
  &[data-side="right"] {
695
737
  transform-origin: left;
696
738
  }
739
+
740
+ /* Safe area between trigger and popup */
741
+ &::before {
742
+ content: "";
743
+ position: absolute;
744
+ pointer-events: inherit;
745
+ }
746
+
747
+ &[data-side="top"]::before,
748
+ &[data-side="bottom"]::before {
749
+ width: 100%;
750
+ inset-inline: 0;
751
+ }
752
+ &[data-side="top"]::before {
753
+ top: 100%;
754
+ }
755
+ &[data-side="bottom"]::before {
756
+ bottom: 100%;
757
+ }
758
+
759
+ &[data-side="left"]::before,
760
+ &[data-side="right"]::before {
761
+ height: 100%;
762
+ inset-block: 0;
763
+ }
764
+ &[data-side="left"]::before {
765
+ left: 100%;
766
+ }
767
+ &[data-side="right"]::before {
768
+ right: 100%;
769
+ }
697
770
  }
698
771
 
699
772
  .media-default-skin .media-popover {
700
- --media-popover-side-offset: 0.5rem;
773
+ &[data-side="top"]::before,
774
+ &[data-side="bottom"]::before {
775
+ height: var(--media-popover-side-offset);
776
+ }
777
+ &[data-side="left"]::before,
778
+ &[data-side="right"]::before {
779
+ width: var(--media-popover-side-offset);
780
+ }
701
781
  }
702
782
  .media-default-skin .media-popover--volume {
703
- padding: 0.625rem 0.25rem;
783
+ padding: 0.75rem 0;
704
784
  border-radius: calc(infinity * 1px);
785
+
786
+ &:has(media-volume-slider[data-availability="unsupported"]) {
787
+ display: none;
788
+ }
705
789
  }
706
790
 
707
791
  .media-default-skin .media-tooltip {
@@ -709,99 +793,100 @@
709
793
  border-radius: calc(infinity * 1px);
710
794
  font-size: 0.75rem;
711
795
  white-space: nowrap;
712
- --media-tooltip-side-offset: 0.5rem;
713
- }
714
796
 
715
- /* ==========================================================================
716
- Captions
717
- ========================================================================== */
718
-
719
- .media-default-skin .media-captions {
720
- position: absolute;
721
- inset: auto 1rem 1.5rem 1rem;
722
- z-index: 20;
723
- font-size: 1rem;
724
- text-wrap: balance;
725
- pointer-events: none;
726
-
727
- @container media-root (width > 20rem) {
728
- font-size: 1.5rem;
797
+ &[data-side="top"]::before,
798
+ &[data-side="bottom"]::before {
799
+ height: var(--media-tooltip-side-offset);
729
800
  }
730
-
731
- @container media-root (width > 48rem) {
732
- font-size: 1.875rem;
801
+ &[data-side="left"]::before,
802
+ &[data-side="right"]::before {
803
+ width: var(--media-tooltip-side-offset);
733
804
  }
734
-
735
- @container media-root (width > 80rem) {
736
- font-size: 2.25rem;
737
- }
738
- }
739
-
740
- .media-default-skin .media-captions__container {
741
- display: flex;
742
- flex-direction: column;
743
- align-items: center;
744
- max-width: 42ch;
745
- margin: 0 auto;
746
- text-align: center;
747
805
  }
748
806
 
749
- .media-default-skin .media-captions__text {
750
- display: block;
751
- padding: 0.125rem 0.5rem;
752
- color: oklch(1 0 0);
753
- text-shadow:
754
- 0 0 1px oklch(0 0 0 / 0.7),
755
- 0 0 8px oklch(0 0 0 / 0.7);
756
- text-align: center;
757
- white-space: pre-wrap;
758
- line-height: 1.2;
759
-
760
- @media (prefers-contrast: more) {
761
- background: oklch(0 0 0 / 0.7);
762
- text-shadow: none;
763
- box-decoration-break: clone;
764
- }
765
-
766
- & > * {
767
- display: inline;
768
- }
769
- }
807
+ /* ==========================================================================
808
+ Native Caption Track
809
+ ========================================================================== */
770
810
 
771
- /* Caption shifting styles (custom and native) */
772
811
  .media-default-skin {
773
- --media-caption-track-delay: 600ms;
812
+ --media-caption-track-duration: var(--media-controls-transition-duration);
813
+ --media-caption-track-delay: 25ms;
774
814
  --media-caption-track-y: -0.5rem;
775
815
 
776
816
  &:has(.media-controls[data-visible]) {
777
- --media-caption-track-delay: 25ms;
778
- --media-caption-track-y: -3.5rem;
817
+ --media-caption-track-y: -5.5rem;
779
818
  }
780
- }
781
819
 
782
- .media-default-skin .media-captions,
783
- .media-default-skin video::-webkit-media-text-track-container {
784
- /* NOTE: The delay must account for the controls delay/duration */
785
- transition: transform 150ms ease-out;
786
- transition-delay: var(--media-caption-track-delay);
820
+ @container media-root (width > 42rem) {
821
+ &:has(.media-controls[data-visible]) > * {
822
+ --media-caption-track-y: -3.5rem;
823
+ }
824
+ }
787
825
  }
788
826
 
789
827
  .media-default-skin video::-webkit-media-text-track-container {
790
- transform: translateY(var(--media-caption-track-y)) scale(0.98);
828
+ transition: translate var(--media-caption-track-duration) ease-out;
829
+ transition-delay: var(--media-caption-track-delay);
830
+ translate: 0 var(--media-caption-track-y);
831
+ scale: 0.98;
791
832
  z-index: 1;
792
833
  font-family: inherit;
793
834
  }
794
835
 
795
- /* When controls are visible, shift captions up to avoid overlap */
796
- .media-default-skin .media-controls[data-visible] ~ .media-captions {
797
- transform: translateY(calc(var(--media-caption-track-y) - 0.5rem));
836
+ /* ==========================================================================
837
+ Icon State Visibility for Video Skins
838
+
839
+ Data-attribute-driven visibility rules for multi-state icon buttons.
840
+ Uses :is() with both element selectors (for HTML custom element wrappers)
841
+ and class selectors (for React rendered SVG elements).
842
+ ========================================================================== */
843
+
844
+ /* --- All icons hidden by default --- */
845
+
846
+ .media-button--play .media-icon--restart,
847
+ .media-button--play .media-icon--play,
848
+ .media-button--play .media-icon--pause,
849
+ .media-button--mute .media-icon--volume-off,
850
+ .media-button--mute .media-icon--volume-low,
851
+ .media-button--mute .media-icon--volume-high,
852
+ .media-button--fullscreen .media-icon--fullscreen-enter,
853
+ .media-button--fullscreen .media-icon--fullscreen-exit,
854
+ .media-button--pip .media-icon--pip-enter,
855
+ .media-button--pip .media-icon--pip-exit,
856
+ .media-button--captions .media-icon--captions-off,
857
+ .media-button--captions .media-icon--captions-on {
858
+ display: none;
859
+ opacity: 0;
798
860
  }
799
861
 
800
- @media (prefers-reduced-motion: reduce) {
801
- .media-default-skin .media-captions,
802
- .media-default-skin video::-webkit-media-text-track-container {
803
- transition-duration: 50ms;
804
- }
862
+ /* --- Active icon per state --- */
863
+
864
+ /* Play: ended → restart */
865
+ .media-button--play[data-ended] .media-icon--restart,
866
+ /* Play: paused (not ended) → play */
867
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
868
+ /* Play: playing (not paused, not ended) → pause */
869
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
870
+ /* Mute: muted → volume off */
871
+ .media-button--mute[data-muted] .media-icon--volume-off,
872
+ /* Mute: volume low (not muted) → volume low */
873
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
874
+ /* Mute: volume high (not muted, not low) → volume high */
875
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high,
876
+ /* Fullscreen: not fullscreen → enter */
877
+ .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
878
+ /* Fullscreen: fullscreen → exit */
879
+ .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
880
+ /* Picture-in-Picture: not active → enter */
881
+ .media-button--pip:not([data-pip]) .media-icon--pip-enter,
882
+ /* Picture-in-Picture: active → exit */
883
+ .media-button--pip[data-pip] .media-icon--pip-exit,
884
+ /* Captions: not active → captions off */
885
+ .media-button--captions:not([data-active]) .media-icon--captions-off,
886
+ /* Captions: active → captions on */
887
+ .media-button--captions[data-active] .media-icon--captions-on {
888
+ display: block;
889
+ opacity: 1;
805
890
  }
806
891
 
807
892
 
@@ -811,15 +896,62 @@
811
896
 
812
897
  .media-default-skin--video {
813
898
  background: oklch(0 0 0);
899
+ --media-spring-transition: linear(
900
+ 0,
901
+ 0.034 1.5%,
902
+ 0.763 9.7%,
903
+ 1.066 13.9%,
904
+ 1.198 19.9%,
905
+ 1.184 21.8%,
906
+ 0.963 37.5%,
907
+ 0.997 50.9%,
908
+ 1
909
+ );
814
910
  --media-border-color: oklch(0 0 0 / 0.1);
815
911
  --media-surface-background-color: oklch(1 0 0 / 0.1);
816
912
  --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
817
913
  --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
818
914
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
819
- --media-surface-backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);
915
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
916
+ --media-video-border-radius: var(--media-border-radius, 2rem);
917
+ --media-controls-transition-duration: 100ms;
918
+ --media-controls-transition-timing-function: ease-out;
919
+ --media-error-dialog-transition-duration: 350ms;
920
+ --media-error-dialog-transition-delay: 100ms;
921
+ --media-error-dialog-transition-timing-function: var(--media-spring-transition);
922
+ --media-popup-transition-duration: 100ms;
923
+ --media-popup-transition-timing-function: ease-out;
924
+ --media-tooltip-side-offset: 0.75rem;
925
+ --media-popover-side-offset: 0.5rem;
926
+
927
+ @media (prefers-reduced-motion: reduce) {
928
+ --media-error-dialog-transition-duration: 50ms;
929
+ --media-error-dialog-transition-delay: 0ms;
930
+ --media-error-dialog-transition-timing-function: ease-out;
931
+ --media-popup-transition-duration: 0ms;
932
+ }
820
933
 
821
934
  @media (prefers-color-scheme: dark) {
822
- --media-border-color: oklch(1 0 0 / 0.1);
935
+ --media-border-color: oklch(1 0 0 / 0.15);
936
+ }
937
+
938
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
939
+ --media-surface-background-color: oklch(0 0 0);
940
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.25);
941
+ --media-surface-outer-border-color: transparent;
942
+ }
943
+
944
+ &:has(.media-controls:not([data-visible])) {
945
+ /* Slight delay to hide controls on non-touch devices after interaction */
946
+ @media (pointer: fine) {
947
+ --media-controls-transition-duration: 300ms;
948
+ }
949
+ @media (pointer: coarse) {
950
+ --media-controls-transition-duration: 150ms;
951
+ }
952
+ @media (prefers-reduced-motion: reduce) {
953
+ --media-controls-transition-duration: 50ms;
954
+ }
823
955
  }
824
956
 
825
957
  /* Inner border ring */
@@ -832,6 +964,59 @@
832
964
  box-shadow: inset 0 0 0 1px var(--media-border-color);
833
965
  pointer-events: none;
834
966
  }
967
+
968
+ &:fullscreen {
969
+ --media-border-radius: 0;
970
+ }
971
+ }
972
+
973
+ /* ==========================================================================
974
+ Error Dialog
975
+ ========================================================================== */
976
+
977
+ .media-default-skin--video .media-error {
978
+ position: absolute;
979
+ inset: 0;
980
+ z-index: 20;
981
+ display: flex;
982
+ align-items: center;
983
+ justify-content: center;
984
+ }
985
+
986
+ .media-default-skin--video .media-error__dialog {
987
+ display: flex;
988
+ flex-direction: column;
989
+ gap: 0.75rem;
990
+ max-width: 18rem;
991
+ padding: 0.75rem;
992
+ border-radius: 1.75rem;
993
+ color: oklch(1 0 0);
994
+ text-shadow: 0 1px 0 oklch(0 0 0 / 0.25);
995
+ transition-property: opacity, scale;
996
+ transition-duration: var(--media-error-dialog-transition-duration);
997
+ transition-delay: var(--media-error-dialog-transition-delay);
998
+ transition-timing-function: var(--media-error-dialog-transition-timing-function);
999
+ }
1000
+
1001
+ .media-default-skin--video .media-error[data-starting-style] .media-error__dialog,
1002
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1003
+ opacity: 0;
1004
+ scale: 0.5;
1005
+ }
1006
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1007
+ transition-delay: 0ms;
1008
+ }
1009
+
1010
+ .media-default-skin--video .media-error__content {
1011
+ display: flex;
1012
+ flex-direction: column;
1013
+ gap: 0.5rem;
1014
+ padding: 0.5rem 0.5rem 0.375rem;
1015
+ text-shadow: inherit;
1016
+ }
1017
+
1018
+ .media-default-skin--video .media-error__title {
1019
+ font-size: 1rem;
835
1020
  }
836
1021
 
837
1022
  /* ==========================================================================
@@ -839,32 +1024,82 @@
839
1024
  ========================================================================== */
840
1025
 
841
1026
  .media-default-skin--video .media-controls {
1027
+ flex-wrap: wrap;
842
1028
  position: absolute;
843
- bottom: 0.75rem;
844
- inset-inline: 0.75rem;
1029
+ bottom: 0.5rem;
1030
+ inset-inline: 0.5rem;
845
1031
  z-index: 10;
846
- will-change: scale, transform, filter, opacity;
847
- transition-property: scale, transform, filter, opacity;
848
- transition-duration: 100ms;
849
- transition-delay: 0ms;
850
- transition-timing-function: ease-out;
1032
+ color: var(--media-color-primary, oklch(1 0 0));
1033
+ transition-duration: var(--media-controls-transition-duration);
1034
+ transition-timing-function: var(--media-controls-transition-timing-function);
851
1035
  transform-origin: bottom;
852
- color: oklch(1 0 0);
1036
+
1037
+ @media (pointer: fine) {
1038
+ will-change: scale, filter, opacity;
1039
+ transition-property: scale, filter, opacity;
1040
+ }
1041
+
1042
+ @media (pointer: coarse) {
1043
+ will-change: scale, opacity;
1044
+ transition-property: scale, opacity;
1045
+ }
853
1046
 
854
1047
  &:not([data-visible]) {
855
1048
  opacity: 0;
856
- scale: 0.9;
857
- filter: blur(8px);
858
- transition-duration: 300ms;
859
- transition-delay: 500ms;
860
1049
  pointer-events: none;
1050
+ scale: 0.9;
1051
+
1052
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1053
+ filter: blur(8px);
1054
+ }
861
1055
 
862
1056
  @media (prefers-reduced-motion: reduce) {
863
1057
  scale: 1;
864
- filter: blur(0);
865
- transition-duration: 100ms;
866
1058
  }
867
1059
  }
1060
+
1061
+ & .media-time-controls {
1062
+ order: -1;
1063
+ flex: 0 0 100%;
1064
+ padding-inline: 0.625rem;
1065
+ }
1066
+
1067
+ & .media-button-group:first-child {
1068
+ flex: 1;
1069
+ text-align: left;
1070
+ }
1071
+
1072
+ & .media-button-group:last-child {
1073
+ flex: 1;
1074
+ justify-content: end;
1075
+ }
1076
+
1077
+ @container media-root (width > 42rem) {
1078
+ bottom: 0.75rem;
1079
+ inset-inline: 0.75rem;
1080
+ flex-wrap: nowrap;
1081
+ column-gap: 0.125rem;
1082
+ padding: 0.25rem;
1083
+
1084
+ & .media-time-controls {
1085
+ order: unset;
1086
+ flex: 1;
1087
+ }
1088
+
1089
+ & .media-button-group:first-child,
1090
+ & .media-button-group:last-child {
1091
+ flex: 0 0 auto;
1092
+ }
1093
+ }
1094
+ }
1095
+
1096
+ .media-default-skin--video .media-error[data-open] ~ .media-controls {
1097
+ display: none;
1098
+ }
1099
+
1100
+ /* Hide cursor when controls are hidden */
1101
+ .media-default-skin--video:has(.media-controls:not([data-visible])) {
1102
+ cursor: none;
868
1103
  }
869
1104
 
870
1105
  /* ==========================================================================
@@ -876,3 +1111,43 @@
876
1111
  box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
877
1112
  }
878
1113
 
1114
+ .media-default-skin--video .media-slider__preview {
1115
+ --media-preview-max-width: 11rem;
1116
+ --media-preview-padding: -1.125rem;
1117
+ /**
1118
+ Inset is the difference between the container width and the slider (100%) width.
1119
+ Divided by 2 as we render the time on both sides.
1120
+ */
1121
+ --media-preview-inset: calc((100cqi - 100%) / 2);
1122
+
1123
+ position: absolute;
1124
+ left: clamp(
1125
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding) - var(--media-preview-inset)),
1126
+ var(--media-slider-pointer),
1127
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1128
+ );
1129
+ bottom: calc(100% + 1.2rem);
1130
+ translate: -50%;
1131
+ opacity: 0;
1132
+ scale: 0.8;
1133
+ filter: blur(8px);
1134
+ transition-property: scale, opacity, filter;
1135
+ transition-duration: 150ms;
1136
+ transition-timing-function: ease-out;
1137
+ transform-origin: bottom;
1138
+ pointer-events: none;
1139
+
1140
+ & .media-preview__thumbnail {
1141
+ max-width: var(--media-preview-max-width);
1142
+ }
1143
+
1144
+ &:has(.media-preview__thumbnail[data-loading]) {
1145
+ max-height: 6rem;
1146
+ }
1147
+ }
1148
+ .media-default-skin--video .media-slider[data-pointing] .media-slider__preview:has([role="img"]:not([data-hidden])) {
1149
+ opacity: 1;
1150
+ scale: 1;
1151
+ filter: blur(0);
1152
+ }
1153
+