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

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 (984) 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-CCgS3IGo.js +8 -0
  27. package/cdn/compounds-CCgS3IGo.js.map +1 -0
  28. package/cdn/compounds-DD3MYkSc.js +4157 -0
  29. package/cdn/compounds-DD3MYkSc.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-B-PGzhq2.js +7 -0
  35. package/cdn/create-player-B-PGzhq2.js.map +1 -0
  36. package/cdn/create-player-BKLw7l1a.js +2246 -0
  37. package/cdn/create-player-BKLw7l1a.js.map +1 -0
  38. package/cdn/default-Djy9PEXm.js +2 -0
  39. package/cdn/default-Djy9PEXm.js.map +1 -0
  40. package/cdn/default-YzaLyoYg.js +30 -0
  41. package/cdn/default-YzaLyoYg.js.map +1 -0
  42. package/cdn/hls-CcSAx_3I.js +28632 -0
  43. package/cdn/hls-CcSAx_3I.js.map +1 -0
  44. package/cdn/hls-Dl2v35sW.js +41 -0
  45. package/cdn/hls-Dl2v35sW.js.map +1 -0
  46. package/cdn/hotkey-element-BONs_FyJ.js +369 -0
  47. package/cdn/hotkey-element-BONs_FyJ.js.map +1 -0
  48. package/cdn/hotkey-element-DWWkfH3A.js +2 -0
  49. package/cdn/hotkey-element-DWWkfH3A.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-AX_y2YBU.js +30 -0
  89. package/cdn/minimal-AX_y2YBU.js.map +1 -0
  90. package/cdn/minimal-Bc74CFqg.js +2 -0
  91. package/cdn/minimal-Bc74CFqg.js.map +1 -0
  92. package/cdn/minimal-ui-CE1sVxKB.js +22 -0
  93. package/cdn/minimal-ui-CE1sVxKB.js.map +1 -0
  94. package/cdn/minimal-ui-hC8-_9_F.js +2 -0
  95. package/cdn/minimal-ui-hC8-_9_F.js.map +1 -0
  96. package/cdn/minimal-ui-lnw8AjaS.js +2 -0
  97. package/cdn/minimal-ui-lnw8AjaS.js.map +1 -0
  98. package/cdn/minimal-ui-yKur3jyD.js +29 -0
  99. package/cdn/minimal-ui-yKur3jyD.js.map +1 -0
  100. package/cdn/mux-BgWl50KW.js +27 -0
  101. package/cdn/mux-BgWl50KW.js.map +1 -0
  102. package/cdn/mux-BhHIeG3e.js +3783 -0
  103. package/cdn/mux-BhHIeG3e.js.map +1 -0
  104. package/cdn/native-hls-lhip4tV9.js +123 -0
  105. package/cdn/native-hls-lhip4tV9.js.map +1 -0
  106. package/cdn/native-hls-odPBXxK7.js +2 -0
  107. package/cdn/native-hls-odPBXxK7.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-B7jISTmQ.js +2 -0
  113. package/cdn/player-B7jISTmQ.js.map +1 -0
  114. package/cdn/player-BVGWmIbQ.js +16 -0
  115. package/cdn/player-BVGWmIbQ.js.map +1 -0
  116. package/cdn/player-ChdQN3H5.js +2 -0
  117. package/cdn/player-ChdQN3H5.js.map +1 -0
  118. package/cdn/player-DX5Ka0vt.js +463 -0
  119. package/cdn/player-DX5Ka0vt.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-D3iVinGP.js +55 -0
  129. package/cdn/skin-element-D3iVinGP.js.map +1 -0
  130. package/cdn/skin-element-DM82PPxz.js +2 -0
  131. package/cdn/skin-element-DM82PPxz.js.map +1 -0
  132. package/cdn/ui-BGvi0TNr.js +2 -0
  133. package/cdn/ui-BGvi0TNr.js.map +1 -0
  134. package/cdn/ui-BN57BxYZ.js +2 -0
  135. package/cdn/ui-BN57BxYZ.js.map +1 -0
  136. package/cdn/ui-CKR6dVbQ.js +25 -0
  137. package/cdn/ui-CKR6dVbQ.js.map +1 -0
  138. package/cdn/ui-CZ4yl3t3.js +32 -0
  139. package/cdn/ui-CZ4yl3t3.js.map +1 -0
  140. package/cdn/video-host-BtD61mpF.js +440 -0
  141. package/cdn/video-host-BtD61mpF.js.map +1 -0
  142. package/cdn/video-host-LeB1FKfO.js +47 -0
  143. package/cdn/video-host-LeB1FKfO.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 +120 -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 +142 -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/cast-button.js +7 -0
  231. package/dist/default/define/ui/cast-button.js.map +1 -0
  232. package/dist/default/define/ui/compounds.js +62 -0
  233. package/dist/default/define/ui/compounds.js.map +1 -0
  234. package/dist/default/define/ui/controls-group.js +1 -2
  235. package/dist/default/define/ui/controls-group.js.map +1 -1
  236. package/dist/default/define/ui/controls.js +3 -7
  237. package/dist/default/define/ui/controls.js.map +1 -1
  238. package/dist/default/define/ui/error-dialog.js +6 -0
  239. package/dist/default/define/ui/error-dialog.js.map +1 -0
  240. package/dist/default/define/ui/fullscreen-button.js +1 -2
  241. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  242. package/dist/default/define/ui/hotkey.js +7 -0
  243. package/dist/default/define/ui/hotkey.js.map +1 -0
  244. package/dist/default/define/ui/mute-button.js +1 -2
  245. package/dist/default/define/ui/mute-button.js.map +1 -1
  246. package/dist/default/define/ui/pip-button.js +1 -2
  247. package/dist/default/define/ui/pip-button.js.map +1 -1
  248. package/dist/default/define/ui/play-button.js +1 -2
  249. package/dist/default/define/ui/play-button.js.map +1 -1
  250. package/dist/default/define/ui/playback-rate-button.js +1 -2
  251. package/dist/default/define/ui/playback-rate-button.js.map +1 -1
  252. package/dist/default/define/ui/popover.js +1 -2
  253. package/dist/default/define/ui/popover.js.map +1 -1
  254. package/dist/default/define/ui/poster.js +1 -2
  255. package/dist/default/define/ui/poster.js.map +1 -1
  256. package/dist/default/define/ui/seek-button.js +1 -2
  257. package/dist/default/define/ui/seek-button.js.map +1 -1
  258. package/dist/default/define/ui/slider-buffer.js +1 -2
  259. package/dist/default/define/ui/slider-buffer.js.map +1 -1
  260. package/dist/default/define/ui/slider-fill.js +1 -2
  261. package/dist/default/define/ui/slider-fill.js.map +1 -1
  262. package/dist/default/define/ui/slider-thumb.js +1 -2
  263. package/dist/default/define/ui/slider-thumb.js.map +1 -1
  264. package/dist/default/define/ui/slider-thumbnail.js +1 -2
  265. package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
  266. package/dist/default/define/ui/slider-track.js +1 -2
  267. package/dist/default/define/ui/slider-track.js.map +1 -1
  268. package/dist/default/define/ui/slider-value.js +1 -2
  269. package/dist/default/define/ui/slider-value.js.map +1 -1
  270. package/dist/default/define/ui/slider.js +3 -15
  271. package/dist/default/define/ui/slider.js.map +1 -1
  272. package/dist/default/define/ui/thumbnail.js +1 -2
  273. package/dist/default/define/ui/thumbnail.js.map +1 -1
  274. package/dist/default/define/ui/time-group.js +1 -2
  275. package/dist/default/define/ui/time-group.js.map +1 -1
  276. package/dist/default/define/ui/time-separator.js +1 -2
  277. package/dist/default/define/ui/time-separator.js.map +1 -1
  278. package/dist/default/define/ui/time-slider.js +3 -19
  279. package/dist/default/define/ui/time-slider.js.map +1 -1
  280. package/dist/default/define/ui/time.js +3 -9
  281. package/dist/default/define/ui/time.js.map +1 -1
  282. package/dist/default/define/ui/tooltip-group.js +1 -2
  283. package/dist/default/define/ui/tooltip-group.js.map +1 -1
  284. package/dist/default/define/ui/tooltip.js +1 -2
  285. package/dist/default/define/ui/tooltip.js.map +1 -1
  286. package/dist/default/define/ui/volume-slider.js +3 -15
  287. package/dist/default/define/ui/volume-slider.js.map +1 -1
  288. package/dist/default/define/video/minimal-skin.css +624 -328
  289. package/dist/default/define/video/minimal-skin.js +10 -23
  290. package/dist/default/define/video/minimal-skin.js.map +1 -1
  291. package/dist/default/define/video/minimal-skin.tailwind.js +13 -30
  292. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  293. package/dist/default/define/video/minimal-ui.js +41 -0
  294. package/dist/default/define/video/minimal-ui.js.map +1 -0
  295. package/dist/default/define/video/player.js +1 -2
  296. package/dist/default/define/video/player.js.map +1 -1
  297. package/dist/default/define/video/skin.css +592 -311
  298. package/dist/default/define/video/skin.js +10 -24
  299. package/dist/default/define/video/skin.js.map +1 -1
  300. package/dist/default/define/video/skin.tailwind.js +13 -28
  301. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  302. package/dist/default/define/video/ui.js +45 -0
  303. package/dist/default/define/video/ui.js.map +1 -0
  304. package/dist/default/icons/dist/render/default/index.js +5 -2
  305. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  306. package/dist/default/icons/dist/render/minimal/index.js +5 -2
  307. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  308. package/dist/default/index.js +11 -5
  309. package/dist/default/media/background-video/index.js +6 -3
  310. package/dist/default/media/background-video/index.js.map +1 -1
  311. package/dist/default/media/container-element.js +22 -4
  312. package/dist/default/media/container-element.js.map +1 -1
  313. package/dist/default/media/dash-video/index.js +9 -0
  314. package/dist/default/media/dash-video/index.js.map +1 -0
  315. package/dist/default/media/hls-video/index.js +12 -19
  316. package/dist/default/media/hls-video/index.js.map +1 -1
  317. package/dist/default/media/mux-audio/index.js +18 -0
  318. package/dist/default/media/mux-audio/index.js.map +1 -0
  319. package/dist/default/media/mux-video/index.js +18 -0
  320. package/dist/default/media/mux-video/index.js.map +1 -0
  321. package/dist/default/media/native-hls-video/index.js +9 -0
  322. package/dist/default/media/native-hls-video/index.js.map +1 -0
  323. package/dist/default/media/simple-hls-video/index.js +5 -17
  324. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  325. package/dist/default/player/context.js +7 -4
  326. package/dist/default/player/context.js.map +1 -1
  327. package/dist/default/player/create-player.js +12 -5
  328. package/dist/default/player/create-player.js.map +1 -1
  329. package/dist/default/player/player-controller.js +1 -2
  330. package/dist/default/player/player-controller.js.map +1 -1
  331. package/dist/default/presets/audio.js +1 -2
  332. package/dist/default/presets/background.js +1 -2
  333. package/dist/default/presets/video.js +1 -2
  334. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  335. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  336. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  337. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  338. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  339. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  340. package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
  341. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  342. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  343. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  344. package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
  345. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  346. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  347. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  348. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  349. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  350. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  351. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  352. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -6
  353. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  354. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +15 -0
  355. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  356. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
  357. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  358. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  359. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  360. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +2 -3
  361. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  362. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  363. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  364. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  365. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  366. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  367. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  368. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  369. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  370. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  371. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  372. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  373. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  374. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  375. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  376. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  377. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  378. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  379. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  380. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  381. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  382. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  383. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  384. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  385. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  386. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  387. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  388. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  389. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  390. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  391. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  392. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  393. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  394. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  395. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  396. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  397. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  398. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  399. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  400. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  401. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  402. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  403. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  404. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  405. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  406. package/dist/default/store/container-mixin.js +17 -62
  407. package/dist/default/store/container-mixin.js.map +1 -1
  408. package/dist/default/store/media-attach-mixin.js +44 -0
  409. package/dist/default/store/media-attach-mixin.js.map +1 -0
  410. package/dist/default/store/provider-mixin.js +100 -11
  411. package/dist/default/store/provider-mixin.js.map +1 -1
  412. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  413. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  414. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  415. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  416. package/dist/default/ui/alert-dialog/alert-dialog-element.js +2 -2
  417. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  418. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  419. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  420. package/dist/default/ui/alert-dialog/context.js +2 -5
  421. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  422. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  423. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  424. package/dist/default/ui/captions-button/captions-button-element.js +2 -2
  425. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  426. package/dist/default/ui/cast-button/cast-button-element.js +24 -0
  427. package/dist/default/ui/cast-button/cast-button-element.js.map +1 -0
  428. package/dist/default/ui/context-part-element.js +1 -2
  429. package/dist/default/ui/context-part-element.js.map +1 -1
  430. package/dist/default/ui/controls/context.js +2 -5
  431. package/dist/default/ui/controls/context.js.map +1 -1
  432. package/dist/default/ui/controls/controls-element.js +1 -2
  433. package/dist/default/ui/controls/controls-element.js.map +1 -1
  434. package/dist/default/ui/controls/controls-group-element.js +1 -2
  435. package/dist/default/ui/controls/controls-group-element.js.map +1 -1
  436. package/dist/default/ui/error-dialog/error-dialog-element.js +77 -0
  437. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -0
  438. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  439. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  440. package/dist/default/ui/gesture/gesture-element.js +84 -0
  441. package/dist/default/ui/gesture/gesture-element.js.map +1 -0
  442. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  443. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  444. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  445. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  446. package/dist/default/ui/media-button-element.js +17 -3
  447. package/dist/default/ui/media-button-element.js.map +1 -1
  448. package/dist/default/ui/media-element.js +1 -2
  449. package/dist/default/ui/media-element.js.map +1 -1
  450. package/dist/default/ui/media-ui-element.js +1 -2
  451. package/dist/default/ui/media-ui-element.js.map +1 -1
  452. package/dist/default/ui/mute-button/mute-button-element.js +2 -2
  453. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  454. package/dist/default/ui/pip-button/pip-button-element.js +2 -2
  455. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  456. package/dist/default/ui/play-button/play-button-element.js +2 -2
  457. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  458. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  459. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  460. package/dist/default/ui/popover/popover-element.js +13 -11
  461. package/dist/default/ui/popover/popover-element.js.map +1 -1
  462. package/dist/default/ui/position-controller.js +76 -0
  463. package/dist/default/ui/position-controller.js.map +1 -0
  464. package/dist/default/ui/poster/poster-element.js +1 -2
  465. package/dist/default/ui/poster/poster-element.js.map +1 -1
  466. package/dist/default/ui/seek-button/seek-button-element.js +1 -2
  467. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
  468. package/dist/default/ui/slider/context.js +2 -5
  469. package/dist/default/ui/slider/context.js.map +1 -1
  470. package/dist/default/ui/slider/slider-buffer-element.js +1 -2
  471. package/dist/default/ui/slider/slider-buffer-element.js.map +1 -1
  472. package/dist/default/ui/slider/slider-element.js +2 -3
  473. package/dist/default/ui/slider/slider-element.js.map +1 -1
  474. package/dist/default/ui/slider/slider-fill-element.js +1 -2
  475. package/dist/default/ui/slider/slider-fill-element.js.map +1 -1
  476. package/dist/default/ui/slider/slider-preview-element.js +2 -3
  477. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  478. package/dist/default/ui/slider/slider-thumb-element.js +1 -2
  479. package/dist/default/ui/slider/slider-thumb-element.js.map +1 -1
  480. package/dist/default/ui/slider/slider-thumbnail-element.js +1 -2
  481. package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -1
  482. package/dist/default/ui/slider/slider-track-element.js +1 -2
  483. package/dist/default/ui/slider/slider-track-element.js.map +1 -1
  484. package/dist/default/ui/slider/slider-value-element.js +1 -2
  485. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  486. package/dist/default/ui/thumbnail/thumbnail-element.js +1 -2
  487. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  488. package/dist/default/ui/time/time-element.js +13 -12
  489. package/dist/default/ui/time/time-element.js.map +1 -1
  490. package/dist/default/ui/time/time-group-element.js +1 -2
  491. package/dist/default/ui/time/time-group-element.js.map +1 -1
  492. package/dist/default/ui/time/time-separator-element.js +1 -2
  493. package/dist/default/ui/time/time-separator-element.js.map +1 -1
  494. package/dist/default/ui/time-slider/time-slider-element.js +7 -8
  495. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  496. package/dist/default/ui/tooltip/context.js +2 -5
  497. package/dist/default/ui/tooltip/context.js.map +1 -1
  498. package/dist/default/ui/tooltip/tooltip-element.js +25 -18
  499. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  500. package/dist/default/ui/tooltip/tooltip-group-element.js +5 -3
  501. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  502. package/dist/default/ui/volume-slider/volume-slider-element.js +27 -20
  503. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  504. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  505. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  506. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +2 -2
  507. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  508. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
  509. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  510. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  511. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  512. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  513. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  514. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  515. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  516. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +2 -2
  517. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  518. package/dist/dev/define/audio/minimal-skin.css +324 -182
  519. package/dist/dev/define/audio/minimal-skin.d.ts +6 -10
  520. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  521. package/dist/dev/define/audio/minimal-skin.js +85 -82
  522. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  523. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +4 -10
  524. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  525. package/dist/dev/define/audio/minimal-skin.tailwind.js +86 -84
  526. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  527. package/dist/dev/define/audio/minimal-ui.d.ts +1 -0
  528. package/dist/dev/define/audio/minimal-ui.js +28 -0
  529. package/dist/dev/define/audio/minimal-ui.js.map +1 -0
  530. package/dist/dev/define/audio/player.js +1 -2
  531. package/dist/dev/define/audio/player.js.map +1 -1
  532. package/dist/dev/define/audio/skin.css +307 -174
  533. package/dist/dev/define/audio/skin.d.ts +6 -10
  534. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  535. package/dist/dev/define/audio/skin.js +97 -74
  536. package/dist/dev/define/audio/skin.js.map +1 -1
  537. package/dist/dev/define/audio/skin.tailwind.d.ts +4 -10
  538. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  539. package/dist/dev/define/audio/skin.tailwind.js +84 -78
  540. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  541. package/dist/dev/define/audio/ui.d.ts +1 -0
  542. package/dist/dev/define/audio/ui.js +32 -0
  543. package/dist/dev/define/audio/ui.js.map +1 -0
  544. package/dist/dev/define/background/player.js +1 -2
  545. package/dist/dev/define/background/player.js.map +1 -1
  546. package/dist/dev/define/background/skin.css +1 -1
  547. package/dist/dev/define/background/skin.d.ts.map +1 -1
  548. package/dist/dev/define/background/skin.js +8 -4
  549. package/dist/dev/define/background/skin.js.map +1 -1
  550. package/dist/dev/define/background/video.js +1 -2
  551. package/dist/dev/define/base.css +27 -0
  552. package/dist/dev/define/media/background-video.js +1 -2
  553. package/dist/dev/define/media/background-video.js.map +1 -1
  554. package/dist/dev/define/media/container.js +1 -2
  555. package/dist/dev/define/media/container.js.map +1 -1
  556. package/dist/dev/define/media/dash-video.d.ts +14 -0
  557. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  558. package/dist/dev/define/media/dash-video.js +13 -0
  559. package/dist/dev/define/media/dash-video.js.map +1 -0
  560. package/dist/dev/define/media/hls-video.js +1 -2
  561. package/dist/dev/define/media/hls-video.js.map +1 -1
  562. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  563. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  564. package/dist/dev/define/media/mux-audio.js +13 -0
  565. package/dist/dev/define/media/mux-audio.js.map +1 -0
  566. package/dist/dev/define/media/mux-video.d.ts +14 -0
  567. package/dist/dev/define/media/mux-video.d.ts.map +1 -0
  568. package/dist/dev/define/media/mux-video.js +13 -0
  569. package/dist/dev/define/media/mux-video.js.map +1 -0
  570. package/dist/dev/define/media/native-hls-video.d.ts +14 -0
  571. package/dist/dev/define/media/native-hls-video.d.ts.map +1 -0
  572. package/dist/dev/define/media/native-hls-video.js +13 -0
  573. package/dist/dev/define/media/native-hls-video.js.map +1 -0
  574. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -1
  575. package/dist/dev/define/media/simple-hls-video.js +3 -3
  576. package/dist/dev/define/media/simple-hls-video.js.map +1 -1
  577. package/dist/dev/define/safe-define.js +4 -2
  578. package/dist/dev/define/safe-define.js.map +1 -1
  579. package/dist/dev/define/shared.css +14 -0
  580. package/dist/dev/define/skin-element.d.ts +18 -0
  581. package/dist/dev/define/skin-element.d.ts.map +1 -0
  582. package/dist/dev/define/skin-element.js +33 -0
  583. package/dist/dev/define/skin-element.js.map +1 -0
  584. package/dist/dev/define/ui/alert-dialog-close.js +1 -2
  585. package/dist/dev/define/ui/alert-dialog-close.js.map +1 -1
  586. package/dist/dev/define/ui/alert-dialog-description.js +1 -2
  587. package/dist/dev/define/ui/alert-dialog-description.js.map +1 -1
  588. package/dist/dev/define/ui/alert-dialog-title.js +1 -2
  589. package/dist/dev/define/ui/alert-dialog-title.js.map +1 -1
  590. package/dist/dev/define/ui/alert-dialog.js +1 -2
  591. package/dist/dev/define/ui/alert-dialog.js.map +1 -1
  592. package/dist/dev/define/ui/buffering-indicator.js +1 -2
  593. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  594. package/dist/dev/define/ui/captions-button.d.ts.map +1 -1
  595. package/dist/dev/define/ui/captions-button.js +3 -3
  596. package/dist/dev/define/ui/captions-button.js.map +1 -1
  597. package/dist/dev/define/ui/cast-button.d.ts +9 -0
  598. package/dist/dev/define/ui/cast-button.d.ts.map +1 -0
  599. package/dist/dev/define/ui/cast-button.js +7 -0
  600. package/dist/dev/define/ui/cast-button.js.map +1 -0
  601. package/dist/dev/define/ui/compounds.d.ts +12 -0
  602. package/dist/dev/define/ui/compounds.d.ts.map +1 -0
  603. package/dist/dev/define/ui/compounds.js +62 -0
  604. package/dist/dev/define/ui/compounds.js.map +1 -0
  605. package/dist/dev/define/ui/controls-group.js +1 -2
  606. package/dist/dev/define/ui/controls-group.js.map +1 -1
  607. package/dist/dev/define/ui/controls.d.ts +2 -0
  608. package/dist/dev/define/ui/controls.d.ts.map +1 -1
  609. package/dist/dev/define/ui/controls.js +3 -7
  610. package/dist/dev/define/ui/controls.js.map +1 -1
  611. package/dist/dev/define/ui/error-dialog.d.ts +15 -0
  612. package/dist/dev/define/ui/error-dialog.d.ts.map +1 -0
  613. package/dist/dev/define/ui/error-dialog.js +6 -0
  614. package/dist/dev/define/ui/error-dialog.js.map +1 -0
  615. package/dist/dev/define/ui/fullscreen-button.js +1 -2
  616. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  617. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  618. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  619. package/dist/dev/define/ui/hotkey.js +7 -0
  620. package/dist/dev/define/ui/hotkey.js.map +1 -0
  621. package/dist/dev/define/ui/mute-button.js +1 -2
  622. package/dist/dev/define/ui/mute-button.js.map +1 -1
  623. package/dist/dev/define/ui/pip-button.js +1 -2
  624. package/dist/dev/define/ui/pip-button.js.map +1 -1
  625. package/dist/dev/define/ui/play-button.js +1 -2
  626. package/dist/dev/define/ui/play-button.js.map +1 -1
  627. package/dist/dev/define/ui/playback-rate-button.js +1 -2
  628. package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
  629. package/dist/dev/define/ui/popover.js +1 -2
  630. package/dist/dev/define/ui/popover.js.map +1 -1
  631. package/dist/dev/define/ui/poster.js +1 -2
  632. package/dist/dev/define/ui/poster.js.map +1 -1
  633. package/dist/dev/define/ui/seek-button.js +1 -2
  634. package/dist/dev/define/ui/seek-button.js.map +1 -1
  635. package/dist/dev/define/ui/slider-buffer.js +1 -2
  636. package/dist/dev/define/ui/slider-buffer.js.map +1 -1
  637. package/dist/dev/define/ui/slider-fill.js +1 -2
  638. package/dist/dev/define/ui/slider-fill.js.map +1 -1
  639. package/dist/dev/define/ui/slider-thumb.js +1 -2
  640. package/dist/dev/define/ui/slider-thumb.js.map +1 -1
  641. package/dist/dev/define/ui/slider-thumbnail.js +1 -2
  642. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
  643. package/dist/dev/define/ui/slider-track.js +1 -2
  644. package/dist/dev/define/ui/slider-track.js.map +1 -1
  645. package/dist/dev/define/ui/slider-value.js +1 -2
  646. package/dist/dev/define/ui/slider-value.js.map +1 -1
  647. package/dist/dev/define/ui/slider.d.ts +10 -0
  648. package/dist/dev/define/ui/slider.d.ts.map +1 -1
  649. package/dist/dev/define/ui/slider.js +3 -15
  650. package/dist/dev/define/ui/slider.js.map +1 -1
  651. package/dist/dev/define/ui/thumbnail.js +1 -2
  652. package/dist/dev/define/ui/thumbnail.js.map +1 -1
  653. package/dist/dev/define/ui/time-group.js +1 -2
  654. package/dist/dev/define/ui/time-group.js.map +1 -1
  655. package/dist/dev/define/ui/time-separator.js +1 -2
  656. package/dist/dev/define/ui/time-separator.js.map +1 -1
  657. package/dist/dev/define/ui/time-slider.d.ts +14 -0
  658. package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
  659. package/dist/dev/define/ui/time-slider.js +3 -19
  660. package/dist/dev/define/ui/time-slider.js.map +1 -1
  661. package/dist/dev/define/ui/time.d.ts +4 -0
  662. package/dist/dev/define/ui/time.d.ts.map +1 -1
  663. package/dist/dev/define/ui/time.js +3 -9
  664. package/dist/dev/define/ui/time.js.map +1 -1
  665. package/dist/dev/define/ui/tooltip-group.js +1 -2
  666. package/dist/dev/define/ui/tooltip-group.js.map +1 -1
  667. package/dist/dev/define/ui/tooltip.js +1 -2
  668. package/dist/dev/define/ui/tooltip.js.map +1 -1
  669. package/dist/dev/define/ui/volume-slider.d.ts +10 -0
  670. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
  671. package/dist/dev/define/ui/volume-slider.js +3 -15
  672. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  673. package/dist/dev/define/video/minimal-skin.css +624 -328
  674. package/dist/dev/define/video/minimal-skin.d.ts +6 -10
  675. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  676. package/dist/dev/define/video/minimal-skin.js +119 -119
  677. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  678. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -10
  679. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  680. package/dist/dev/define/video/minimal-skin.tailwind.js +110 -129
  681. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  682. package/dist/dev/define/video/minimal-ui.d.ts +1 -0
  683. package/dist/dev/define/video/minimal-ui.js +41 -0
  684. package/dist/dev/define/video/minimal-ui.js.map +1 -0
  685. package/dist/dev/define/video/player.js +1 -2
  686. package/dist/dev/define/video/player.js.map +1 -1
  687. package/dist/dev/define/video/skin.css +592 -311
  688. package/dist/dev/define/video/skin.d.ts +6 -10
  689. package/dist/dev/define/video/skin.d.ts.map +1 -1
  690. package/dist/dev/define/video/skin.js +140 -116
  691. package/dist/dev/define/video/skin.js.map +1 -1
  692. package/dist/dev/define/video/skin.tailwind.d.ts +4 -10
  693. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  694. package/dist/dev/define/video/skin.tailwind.js +106 -121
  695. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  696. package/dist/dev/define/video/ui.d.ts +1 -0
  697. package/dist/dev/define/video/ui.js +45 -0
  698. package/dist/dev/define/video/ui.js.map +1 -0
  699. package/dist/dev/icons/dist/render/default/index.js +5 -2
  700. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  701. package/dist/dev/icons/dist/render/minimal/index.js +5 -2
  702. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  703. package/dist/dev/index.d.ts +13 -5
  704. package/dist/dev/index.js +11 -5
  705. package/dist/dev/media/background-video/index.d.ts +8 -1
  706. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  707. package/dist/dev/media/background-video/index.js +6 -3
  708. package/dist/dev/media/background-video/index.js.map +1 -1
  709. package/dist/dev/media/container-element.d.ts +3 -0
  710. package/dist/dev/media/container-element.d.ts.map +1 -1
  711. package/dist/dev/media/container-element.js +22 -4
  712. package/dist/dev/media/container-element.js.map +1 -1
  713. package/dist/dev/media/dash-video/index.d.ts +17 -0
  714. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  715. package/dist/dev/media/dash-video/index.js +9 -0
  716. package/dist/dev/media/dash-video/index.js.map +1 -0
  717. package/dist/dev/media/hls-video/index.d.ts +13 -6
  718. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  719. package/dist/dev/media/hls-video/index.js +12 -19
  720. package/dist/dev/media/hls-video/index.js.map +1 -1
  721. package/dist/dev/media/mux-audio/index.d.ts +19 -0
  722. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  723. package/dist/dev/media/mux-audio/index.js +18 -0
  724. package/dist/dev/media/mux-audio/index.js.map +1 -0
  725. package/dist/dev/media/mux-video/index.d.ts +19 -0
  726. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  727. package/dist/dev/media/mux-video/index.js +18 -0
  728. package/dist/dev/media/mux-video/index.js.map +1 -0
  729. package/dist/dev/media/native-hls-video/index.d.ts +17 -0
  730. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  731. package/dist/dev/media/native-hls-video/index.js +9 -0
  732. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  733. package/dist/dev/media/simple-hls-video/index.d.ts +12 -6
  734. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  735. package/dist/dev/media/simple-hls-video/index.js +5 -17
  736. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  737. package/dist/dev/player/context.d.ts +19 -3
  738. package/dist/dev/player/context.d.ts.map +1 -1
  739. package/dist/dev/player/context.js +7 -4
  740. package/dist/dev/player/context.js.map +1 -1
  741. package/dist/dev/player/create-player.d.ts +1 -1
  742. package/dist/dev/player/create-player.js +12 -5
  743. package/dist/dev/player/create-player.js.map +1 -1
  744. package/dist/dev/player/player-controller.js +1 -2
  745. package/dist/dev/player/player-controller.js.map +1 -1
  746. package/dist/dev/presets/audio.js +1 -2
  747. package/dist/dev/presets/background.js +1 -2
  748. package/dist/dev/presets/video.js +1 -2
  749. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  750. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  751. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  752. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  753. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  754. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  755. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
  756. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  757. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  758. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  759. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
  760. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  761. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  762. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  763. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  764. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  765. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  766. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  767. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -6
  768. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  769. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +15 -0
  770. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  771. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
  772. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  773. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  774. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  775. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +2 -3
  776. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  777. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  778. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  779. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  780. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  781. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  782. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  783. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  784. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  785. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  786. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  787. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  788. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  789. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  790. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  791. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  792. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  793. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  794. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  795. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  796. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  797. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  798. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  799. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  800. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  801. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  802. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  803. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  804. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  805. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  806. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  807. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  808. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  809. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  810. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  811. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  812. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  813. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  814. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  815. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  816. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  817. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  818. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  819. package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  820. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  821. package/dist/dev/store/container-mixin.d.ts +10 -5
  822. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  823. package/dist/dev/store/container-mixin.js +17 -62
  824. package/dist/dev/store/container-mixin.js.map +1 -1
  825. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  826. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  827. package/dist/dev/store/media-attach-mixin.js +44 -0
  828. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  829. package/dist/dev/store/provider-mixin.d.ts +19 -6
  830. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  831. package/dist/dev/store/provider-mixin.js +100 -11
  832. package/dist/dev/store/provider-mixin.js.map +1 -1
  833. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  834. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  835. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  836. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  837. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  838. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +2 -2
  839. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  840. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  841. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  842. package/dist/dev/ui/alert-dialog/context.js +2 -5
  843. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  844. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  845. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  846. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  847. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  848. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  849. package/dist/dev/ui/captions-button/captions-button-element.js +2 -2
  850. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  851. package/dist/dev/ui/cast-button/cast-button-element.d.ts +19 -0
  852. package/dist/dev/ui/cast-button/cast-button-element.d.ts.map +1 -0
  853. package/dist/dev/ui/cast-button/cast-button-element.js +24 -0
  854. package/dist/dev/ui/cast-button/cast-button-element.js.map +1 -0
  855. package/dist/dev/ui/context-part-element.d.ts +1 -1
  856. package/dist/dev/ui/context-part-element.js +1 -2
  857. package/dist/dev/ui/context-part-element.js.map +1 -1
  858. package/dist/dev/ui/controls/context.js +2 -5
  859. package/dist/dev/ui/controls/context.js.map +1 -1
  860. package/dist/dev/ui/controls/controls-element.js +1 -2
  861. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  862. package/dist/dev/ui/controls/controls-group-element.js +1 -2
  863. package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
  864. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +16 -0
  865. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -0
  866. package/dist/dev/ui/error-dialog/error-dialog-element.js +77 -0
  867. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -0
  868. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  869. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  870. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  871. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  872. package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
  873. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
  874. package/dist/dev/ui/gesture/gesture-element.js +84 -0
  875. package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
  876. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  877. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  878. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  879. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  880. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  881. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  882. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  883. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  884. package/dist/dev/ui/media-button-element.d.ts +8 -2
  885. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  886. package/dist/dev/ui/media-button-element.js +17 -3
  887. package/dist/dev/ui/media-button-element.js.map +1 -1
  888. package/dist/dev/ui/media-element.js +1 -2
  889. package/dist/dev/ui/media-element.js.map +1 -1
  890. package/dist/dev/ui/media-ui-element.js +1 -2
  891. package/dist/dev/ui/media-ui-element.js.map +1 -1
  892. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  893. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  894. package/dist/dev/ui/mute-button/mute-button-element.js +2 -2
  895. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  896. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  897. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  898. package/dist/dev/ui/pip-button/pip-button-element.js +2 -2
  899. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  900. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  901. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  902. package/dist/dev/ui/play-button/play-button-element.js +2 -2
  903. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  904. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  905. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  906. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  907. package/dist/dev/ui/popover/popover-element.js +13 -11
  908. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  909. package/dist/dev/ui/position-controller.js +76 -0
  910. package/dist/dev/ui/position-controller.js.map +1 -0
  911. package/dist/dev/ui/poster/poster-element.js +1 -2
  912. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  913. package/dist/dev/ui/seek-button/seek-button-element.js +1 -2
  914. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
  915. package/dist/dev/ui/slider/context.js +2 -5
  916. package/dist/dev/ui/slider/context.js.map +1 -1
  917. package/dist/dev/ui/slider/slider-buffer-element.js +1 -2
  918. package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -1
  919. package/dist/dev/ui/slider/slider-element.js +2 -3
  920. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  921. package/dist/dev/ui/slider/slider-fill-element.js +1 -2
  922. package/dist/dev/ui/slider/slider-fill-element.js.map +1 -1
  923. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  924. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  925. package/dist/dev/ui/slider/slider-preview-element.js +2 -3
  926. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  927. package/dist/dev/ui/slider/slider-thumb-element.js +1 -2
  928. package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -1
  929. package/dist/dev/ui/slider/slider-thumbnail-element.js +1 -2
  930. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -1
  931. package/dist/dev/ui/slider/slider-track-element.js +1 -2
  932. package/dist/dev/ui/slider/slider-track-element.js.map +1 -1
  933. package/dist/dev/ui/slider/slider-value-element.js +1 -2
  934. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  935. package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -2
  936. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  937. package/dist/dev/ui/time/time-element.d.ts +0 -1
  938. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  939. package/dist/dev/ui/time/time-element.js +13 -12
  940. package/dist/dev/ui/time/time-element.js.map +1 -1
  941. package/dist/dev/ui/time/time-group-element.js +1 -2
  942. package/dist/dev/ui/time/time-group-element.js.map +1 -1
  943. package/dist/dev/ui/time/time-separator-element.js +1 -2
  944. package/dist/dev/ui/time/time-separator-element.js.map +1 -1
  945. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  946. package/dist/dev/ui/time-slider/time-slider-element.js +7 -8
  947. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  948. package/dist/dev/ui/tooltip/context.js +2 -5
  949. package/dist/dev/ui/tooltip/context.js.map +1 -1
  950. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  951. package/dist/dev/ui/tooltip/tooltip-element.js +25 -18
  952. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  953. package/dist/dev/ui/tooltip/tooltip-group-element.js +5 -3
  954. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  955. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +5 -0
  956. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  957. package/dist/dev/ui/volume-slider/volume-slider-element.js +27 -20
  958. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  959. package/package.json +25 -14
  960. package/cdn/audio-minimal.css +0 -1
  961. package/cdn/audio.css +0 -1
  962. package/cdn/background.css +0 -1
  963. package/cdn/video-minimal.css +0 -1
  964. package/cdn/video.css +0 -1
  965. package/dist/default/define/skin-mixin.js +0 -55
  966. package/dist/default/define/skin-mixin.js.map +0 -1
  967. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  968. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  969. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  970. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  971. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  972. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  973. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
  974. package/dist/dev/define/skin-mixin.d.ts +0 -21
  975. package/dist/dev/define/skin-mixin.d.ts.map +0 -1
  976. package/dist/dev/define/skin-mixin.js +0 -69
  977. package/dist/dev/define/skin-mixin.js.map +0 -1
  978. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  979. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  980. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  981. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  982. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  983. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  984. 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,106 @@
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--cast .media-icon--cast-enter,
857
+ .media-button--cast .media-icon--cast-exit,
858
+ .media-button--captions .media-icon--captions-off,
859
+ .media-button--captions .media-icon--captions-on {
860
+ display: none;
861
+ opacity: 0;
798
862
  }
799
863
 
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
- }
864
+ /* --- Active icon per state --- */
865
+
866
+ /* Play: ended → restart */
867
+ .media-button--play[data-ended] .media-icon--restart,
868
+ /* Play: paused (not ended) → play */
869
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
870
+ /* Play: playing (not paused, not ended) → pause */
871
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
872
+ /* Mute: muted → volume off */
873
+ .media-button--mute[data-muted] .media-icon--volume-off,
874
+ /* Mute: volume low (not muted) → volume low */
875
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
876
+ /* Mute: volume high (not muted, not low) → volume high */
877
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high,
878
+ /* Fullscreen: not fullscreen → enter */
879
+ .media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,
880
+ /* Fullscreen: fullscreen → exit */
881
+ .media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,
882
+ /* Picture-in-Picture: not active → enter */
883
+ .media-button--pip:not([data-pip]) .media-icon--pip-enter,
884
+ /* Picture-in-Picture: active → exit */
885
+ .media-button--pip[data-pip] .media-icon--pip-exit,
886
+ /* Cast: not connected → enter */
887
+ .media-button--cast:not([data-cast-state="connected"]) .media-icon--cast-enter,
888
+ /* Cast: connected → exit */
889
+ .media-button--cast[data-cast-state="connected"] .media-icon--cast-exit,
890
+ /* Captions: not active → captions off */
891
+ .media-button--captions:not([data-active]) .media-icon--captions-off,
892
+ /* Captions: active → captions on */
893
+ .media-button--captions[data-active] .media-icon--captions-on {
894
+ display: block;
895
+ opacity: 1;
805
896
  }
806
897
 
807
898
 
@@ -811,15 +902,62 @@
811
902
 
812
903
  .media-default-skin--video {
813
904
  background: oklch(0 0 0);
905
+ --media-spring-transition: linear(
906
+ 0,
907
+ 0.034 1.5%,
908
+ 0.763 9.7%,
909
+ 1.066 13.9%,
910
+ 1.198 19.9%,
911
+ 1.184 21.8%,
912
+ 0.963 37.5%,
913
+ 0.997 50.9%,
914
+ 1
915
+ );
814
916
  --media-border-color: oklch(0 0 0 / 0.1);
815
917
  --media-surface-background-color: oklch(1 0 0 / 0.1);
816
918
  --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
817
919
  --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
818
920
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
819
- --media-surface-backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);
921
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
922
+ --media-video-border-radius: var(--media-border-radius, 2rem);
923
+ --media-controls-transition-duration: 100ms;
924
+ --media-controls-transition-timing-function: ease-out;
925
+ --media-error-dialog-transition-duration: 350ms;
926
+ --media-error-dialog-transition-delay: 100ms;
927
+ --media-error-dialog-transition-timing-function: var(--media-spring-transition);
928
+ --media-popup-transition-duration: 100ms;
929
+ --media-popup-transition-timing-function: ease-out;
930
+ --media-tooltip-side-offset: 0.75rem;
931
+ --media-popover-side-offset: 0.5rem;
932
+
933
+ @media (prefers-reduced-motion: reduce) {
934
+ --media-error-dialog-transition-duration: 50ms;
935
+ --media-error-dialog-transition-delay: 0ms;
936
+ --media-error-dialog-transition-timing-function: ease-out;
937
+ --media-popup-transition-duration: 0ms;
938
+ }
820
939
 
821
940
  @media (prefers-color-scheme: dark) {
822
- --media-border-color: oklch(1 0 0 / 0.1);
941
+ --media-border-color: oklch(1 0 0 / 0.15);
942
+ }
943
+
944
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
945
+ --media-surface-background-color: oklch(0 0 0);
946
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.25);
947
+ --media-surface-outer-border-color: transparent;
948
+ }
949
+
950
+ &:has(.media-controls:not([data-visible])) {
951
+ /* Slight delay to hide controls on non-touch devices after interaction */
952
+ @media (pointer: fine) {
953
+ --media-controls-transition-duration: 300ms;
954
+ }
955
+ @media (pointer: coarse) {
956
+ --media-controls-transition-duration: 150ms;
957
+ }
958
+ @media (prefers-reduced-motion: reduce) {
959
+ --media-controls-transition-duration: 50ms;
960
+ }
823
961
  }
824
962
 
825
963
  /* Inner border ring */
@@ -832,6 +970,59 @@
832
970
  box-shadow: inset 0 0 0 1px var(--media-border-color);
833
971
  pointer-events: none;
834
972
  }
973
+
974
+ &:fullscreen {
975
+ --media-border-radius: 0;
976
+ }
977
+ }
978
+
979
+ /* ==========================================================================
980
+ Error Dialog
981
+ ========================================================================== */
982
+
983
+ .media-default-skin--video .media-error {
984
+ position: absolute;
985
+ inset: 0;
986
+ z-index: 20;
987
+ display: flex;
988
+ align-items: center;
989
+ justify-content: center;
990
+ }
991
+
992
+ .media-default-skin--video .media-error__dialog {
993
+ display: flex;
994
+ flex-direction: column;
995
+ gap: 0.75rem;
996
+ max-width: 18rem;
997
+ padding: 0.75rem;
998
+ border-radius: 1.75rem;
999
+ color: oklch(1 0 0);
1000
+ text-shadow: 0 1px 0 oklch(0 0 0 / 0.25);
1001
+ transition-property: opacity, scale;
1002
+ transition-duration: var(--media-error-dialog-transition-duration);
1003
+ transition-delay: var(--media-error-dialog-transition-delay);
1004
+ transition-timing-function: var(--media-error-dialog-transition-timing-function);
1005
+ }
1006
+
1007
+ .media-default-skin--video .media-error[data-starting-style] .media-error__dialog,
1008
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1009
+ opacity: 0;
1010
+ scale: 0.5;
1011
+ }
1012
+ .media-default-skin--video .media-error[data-ending-style] .media-error__dialog {
1013
+ transition-delay: 0ms;
1014
+ }
1015
+
1016
+ .media-default-skin--video .media-error__content {
1017
+ display: flex;
1018
+ flex-direction: column;
1019
+ gap: 0.5rem;
1020
+ padding: 0.5rem 0.5rem 0.375rem;
1021
+ text-shadow: inherit;
1022
+ }
1023
+
1024
+ .media-default-skin--video .media-error__title {
1025
+ font-size: 1rem;
835
1026
  }
836
1027
 
837
1028
  /* ==========================================================================
@@ -839,32 +1030,82 @@
839
1030
  ========================================================================== */
840
1031
 
841
1032
  .media-default-skin--video .media-controls {
1033
+ flex-wrap: wrap;
842
1034
  position: absolute;
843
- bottom: 0.75rem;
844
- inset-inline: 0.75rem;
1035
+ bottom: 0.5rem;
1036
+ inset-inline: 0.5rem;
845
1037
  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;
1038
+ color: var(--media-color-primary, oklch(1 0 0));
1039
+ transition-duration: var(--media-controls-transition-duration);
1040
+ transition-timing-function: var(--media-controls-transition-timing-function);
851
1041
  transform-origin: bottom;
852
- color: oklch(1 0 0);
1042
+
1043
+ @media (pointer: fine) {
1044
+ will-change: scale, filter, opacity;
1045
+ transition-property: scale, filter, opacity;
1046
+ }
1047
+
1048
+ @media (pointer: coarse) {
1049
+ will-change: scale, opacity;
1050
+ transition-property: scale, opacity;
1051
+ }
853
1052
 
854
1053
  &:not([data-visible]) {
855
1054
  opacity: 0;
856
- scale: 0.9;
857
- filter: blur(8px);
858
- transition-duration: 300ms;
859
- transition-delay: 500ms;
860
1055
  pointer-events: none;
1056
+ scale: 0.9;
1057
+
1058
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1059
+ filter: blur(8px);
1060
+ }
861
1061
 
862
1062
  @media (prefers-reduced-motion: reduce) {
863
1063
  scale: 1;
864
- filter: blur(0);
865
- transition-duration: 100ms;
866
1064
  }
867
1065
  }
1066
+
1067
+ & .media-time-controls {
1068
+ order: -1;
1069
+ flex: 0 0 100%;
1070
+ padding-inline: 0.625rem;
1071
+ }
1072
+
1073
+ & .media-button-group:first-child {
1074
+ flex: 1;
1075
+ text-align: left;
1076
+ }
1077
+
1078
+ & .media-button-group:last-child {
1079
+ flex: 1;
1080
+ justify-content: end;
1081
+ }
1082
+
1083
+ @container media-root (width > 42rem) {
1084
+ bottom: 0.75rem;
1085
+ inset-inline: 0.75rem;
1086
+ flex-wrap: nowrap;
1087
+ column-gap: 0.125rem;
1088
+ padding: 0.25rem;
1089
+
1090
+ & .media-time-controls {
1091
+ order: unset;
1092
+ flex: 1;
1093
+ }
1094
+
1095
+ & .media-button-group:first-child,
1096
+ & .media-button-group:last-child {
1097
+ flex: 0 0 auto;
1098
+ }
1099
+ }
1100
+ }
1101
+
1102
+ .media-default-skin--video .media-error[data-open] ~ .media-controls {
1103
+ display: none;
1104
+ }
1105
+
1106
+ /* Hide cursor when controls are hidden */
1107
+ .media-default-skin--video:has(.media-controls:not([data-visible])) {
1108
+ cursor: none;
868
1109
  }
869
1110
 
870
1111
  /* ==========================================================================
@@ -876,3 +1117,43 @@
876
1117
  box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
877
1118
  }
878
1119
 
1120
+ .media-default-skin--video .media-slider__preview {
1121
+ --media-preview-max-width: 11rem;
1122
+ --media-preview-padding: -1.125rem;
1123
+ /**
1124
+ Inset is the difference between the container width and the slider (100%) width.
1125
+ Divided by 2 as we render the time on both sides.
1126
+ */
1127
+ --media-preview-inset: calc((100cqi - 100%) / 2);
1128
+
1129
+ position: absolute;
1130
+ left: clamp(
1131
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding) - var(--media-preview-inset)),
1132
+ var(--media-slider-pointer),
1133
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1134
+ );
1135
+ bottom: calc(100% + 1.2rem);
1136
+ translate: -50%;
1137
+ opacity: 0;
1138
+ scale: 0.8;
1139
+ filter: blur(8px);
1140
+ transition-property: scale, opacity, filter;
1141
+ transition-duration: 150ms;
1142
+ transition-timing-function: ease-out;
1143
+ transform-origin: bottom;
1144
+ pointer-events: none;
1145
+
1146
+ & .media-preview__thumbnail {
1147
+ max-width: var(--media-preview-max-width);
1148
+ }
1149
+
1150
+ &:has(.media-preview__thumbnail[data-loading]) {
1151
+ max-height: 6rem;
1152
+ }
1153
+ }
1154
+ .media-default-skin--video .media-slider[data-pointing] .media-slider__preview:has([role="img"]:not([data-hidden])) {
1155
+ opacity: 1;
1156
+ scale: 1;
1157
+ filter: blur(0);
1158
+ }
1159
+