@videojs/react 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 (802) hide show
  1. package/dist/default/_virtual/_rolldown/runtime.js +6 -11
  2. package/dist/default/icons/dist/react/default/captions-off.js +1 -3
  3. package/dist/default/icons/dist/react/default/captions-off.js.map +1 -1
  4. package/dist/default/icons/dist/react/default/captions-on.js +1 -3
  5. package/dist/default/icons/dist/react/default/captions-on.js.map +1 -1
  6. package/dist/default/icons/dist/react/default/cast-enter.js +32 -0
  7. package/dist/default/icons/dist/react/default/cast-enter.js.map +1 -0
  8. package/dist/default/icons/dist/react/default/cast-exit.js +36 -0
  9. package/dist/default/icons/dist/react/default/cast-exit.js.map +1 -0
  10. package/dist/default/icons/dist/react/default/fullscreen-enter.js +1 -3
  11. package/dist/default/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  12. package/dist/default/icons/dist/react/default/fullscreen-exit.js +1 -3
  13. package/dist/default/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  14. package/dist/default/icons/dist/react/default/pause.js +1 -3
  15. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/pip-enter.js +32 -0
  17. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -0
  18. package/dist/default/icons/dist/react/default/pip-exit.js +32 -0
  19. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -0
  20. package/dist/default/icons/dist/react/default/play.js +1 -3
  21. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/restart.js +1 -3
  23. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  24. package/dist/default/icons/dist/react/default/seek.js +1 -3
  25. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  26. package/dist/default/icons/dist/react/default/spinner.js +1 -3
  27. package/dist/default/icons/dist/react/default/spinner.js.map +1 -1
  28. package/dist/default/icons/dist/react/default/volume-high.js +1 -3
  29. package/dist/default/icons/dist/react/default/volume-high.js.map +1 -1
  30. package/dist/default/icons/dist/react/default/volume-low.js +1 -3
  31. package/dist/default/icons/dist/react/default/volume-low.js.map +1 -1
  32. package/dist/default/icons/dist/react/default/volume-off.js +1 -3
  33. package/dist/default/icons/dist/react/default/volume-off.js.map +1 -1
  34. package/dist/default/icons/dist/react/minimal/captions-off.js +1 -3
  35. package/dist/default/icons/dist/react/minimal/captions-off.js.map +1 -1
  36. package/dist/default/icons/dist/react/minimal/captions-on.js +1 -3
  37. package/dist/default/icons/dist/react/minimal/captions-on.js.map +1 -1
  38. package/dist/default/icons/dist/react/minimal/cast-enter.js +28 -0
  39. package/dist/default/icons/dist/react/minimal/cast-enter.js.map +1 -0
  40. package/dist/default/icons/dist/react/minimal/cast-exit.js +32 -0
  41. package/dist/default/icons/dist/react/minimal/cast-exit.js.map +1 -0
  42. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js +1 -3
  43. package/dist/default/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js +1 -3
  45. package/dist/default/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/pause.js +1 -3
  47. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  48. package/dist/default/icons/dist/react/minimal/pip-enter.js +36 -0
  49. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -0
  50. package/dist/default/icons/dist/react/minimal/pip-exit.js +36 -0
  51. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -0
  52. package/dist/default/icons/dist/react/minimal/play.js +1 -3
  53. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  54. package/dist/default/icons/dist/react/minimal/restart.js +1 -3
  55. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  56. package/dist/default/icons/dist/react/minimal/seek.js +1 -3
  57. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  58. package/dist/default/icons/dist/react/minimal/spinner.js +1 -3
  59. package/dist/default/icons/dist/react/minimal/spinner.js.map +1 -1
  60. package/dist/default/icons/dist/react/minimal/volume-high.js +1 -3
  61. package/dist/default/icons/dist/react/minimal/volume-high.js.map +1 -1
  62. package/dist/default/icons/dist/react/minimal/volume-low.js +1 -3
  63. package/dist/default/icons/dist/react/minimal/volume-low.js.map +1 -1
  64. package/dist/default/icons/dist/react/minimal/volume-off.js +1 -3
  65. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  66. package/dist/default/index.js +26 -14
  67. package/dist/default/media/audio.js +5 -10
  68. package/dist/default/media/audio.js.map +1 -1
  69. package/dist/default/media/background-video/index.js +4 -6
  70. package/dist/default/media/background-video/index.js.map +1 -1
  71. package/dist/default/media/dash-video/index.js +21 -0
  72. package/dist/default/media/dash-video/index.js.map +1 -0
  73. package/dist/default/media/hls-video/index.js +8 -13
  74. package/dist/default/media/hls-video/index.js.map +1 -1
  75. package/dist/default/media/mux-audio/index.js +20 -0
  76. package/dist/default/media/mux-audio/index.js.map +1 -0
  77. package/dist/default/media/mux-video/index.js +21 -0
  78. package/dist/default/media/mux-video/index.js.map +1 -0
  79. package/dist/default/media/native-hls-video/index.js +21 -0
  80. package/dist/default/media/native-hls-video/index.js.map +1 -0
  81. package/dist/default/media/simple-hls-video/index.js +8 -12
  82. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  83. package/dist/default/media/video.js +5 -10
  84. package/dist/default/media/video.js.map +1 -1
  85. package/dist/default/player/context.js +27 -15
  86. package/dist/default/player/context.js.map +1 -1
  87. package/dist/default/player/create-player.js +18 -6
  88. package/dist/default/player/create-player.js.map +1 -1
  89. package/dist/default/presets/audio/index.js +1 -2
  90. package/dist/default/presets/audio/minimal-skin.css +293 -194
  91. package/dist/default/presets/audio/minimal-skin.js +144 -123
  92. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  93. package/dist/default/presets/audio/minimal-skin.tailwind.js +156 -137
  94. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  95. package/dist/default/presets/audio/skin.css +276 -186
  96. package/dist/default/presets/audio/skin.js +218 -126
  97. package/dist/default/presets/audio/skin.js.map +1 -1
  98. package/dist/default/presets/audio/skin.tailwind.js +166 -141
  99. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  100. package/dist/default/presets/background/index.js +1 -2
  101. package/dist/default/presets/background/skin.js +1 -2
  102. package/dist/default/presets/background/skin.js.map +1 -1
  103. package/dist/default/presets/video/index.js +1 -2
  104. package/dist/default/presets/video/minimal-skin.css +593 -340
  105. package/dist/default/presets/video/minimal-skin.js +149 -122
  106. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  107. package/dist/default/presets/video/minimal-skin.tailwind.js +160 -138
  108. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  109. package/dist/default/presets/video/skin.css +561 -323
  110. package/dist/default/presets/video/skin.js +310 -171
  111. package/dist/default/presets/video/skin.js.map +1 -1
  112. package/dist/default/presets/video/skin.tailwind.js +215 -186
  113. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  114. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -32
  115. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  116. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  117. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  118. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  119. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  120. package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
  121. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  122. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  123. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  124. package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
  125. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  126. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  127. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  128. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  129. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  130. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  131. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  132. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -6
  133. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  134. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +15 -0
  135. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  136. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
  137. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  138. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  139. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  140. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +2 -3
  141. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  142. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  143. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  144. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  145. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  146. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  147. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  148. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +41 -25
  149. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  150. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -27
  151. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  158. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  159. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  160. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  161. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  162. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  170. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  171. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  172. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  173. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  174. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  175. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  176. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  177. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  178. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  179. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  180. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -23
  181. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  182. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  183. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  184. package/dist/default/ui/alert-dialog/alert-dialog-close.js +2 -4
  185. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  186. package/dist/default/ui/alert-dialog/alert-dialog-description.js +2 -4
  187. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  188. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +2 -4
  189. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  190. package/dist/default/ui/alert-dialog/alert-dialog-root.js +5 -7
  191. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  192. package/dist/default/ui/alert-dialog/alert-dialog-title.js +2 -4
  193. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  194. package/dist/default/ui/alert-dialog/context.js +2 -4
  195. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  196. package/dist/default/ui/alert-dialog/index.js +1 -2
  197. package/dist/default/ui/alert-dialog/index.parts.js +1 -2
  198. package/dist/default/ui/buffering-indicator/buffering-indicator.js +4 -4
  199. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  200. package/dist/default/ui/buffering-indicator/index.js +1 -2
  201. package/dist/default/ui/captions-button/captions-button.js +4 -5
  202. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  203. package/dist/default/ui/captions-button/index.js +1 -2
  204. package/dist/default/ui/cast-button/cast-button.js +17 -0
  205. package/dist/default/ui/cast-button/cast-button.js.map +1 -0
  206. package/dist/default/ui/cast-button/index.js +2 -0
  207. package/dist/default/ui/controls/context.js +2 -4
  208. package/dist/default/ui/controls/context.js.map +1 -1
  209. package/dist/default/ui/controls/controls-group.js +2 -4
  210. package/dist/default/ui/controls/controls-group.js.map +1 -1
  211. package/dist/default/ui/controls/controls-root.js +2 -4
  212. package/dist/default/ui/controls/controls-root.js.map +1 -1
  213. package/dist/default/ui/controls/index.js +1 -2
  214. package/dist/default/ui/controls/index.parts.js +1 -2
  215. package/dist/default/ui/create-context-part.js +2 -4
  216. package/dist/default/ui/create-context-part.js.map +1 -1
  217. package/dist/default/ui/create-media-button.js +22 -10
  218. package/dist/default/ui/create-media-button.js.map +1 -1
  219. package/dist/default/ui/error-dialog/context.js +14 -0
  220. package/dist/default/ui/error-dialog/context.js.map +1 -0
  221. package/dist/default/ui/error-dialog/error-dialog-description.js +28 -0
  222. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -0
  223. package/dist/default/ui/error-dialog/error-dialog-root.js +57 -0
  224. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -0
  225. package/dist/default/ui/error-dialog/index.js +3 -0
  226. package/dist/default/ui/error-dialog/index.parts.js +18 -0
  227. package/dist/default/ui/error-dialog/index.parts.js.map +1 -0
  228. package/dist/default/ui/fullscreen-button/fullscreen-button.js +4 -5
  229. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  230. package/dist/default/ui/fullscreen-button/index.js +1 -2
  231. package/dist/default/ui/gesture/media-gesture.js +42 -0
  232. package/dist/default/ui/gesture/media-gesture.js.map +1 -0
  233. package/dist/default/ui/gesture/use-doubletap-gesture.js +29 -0
  234. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -0
  235. package/dist/default/ui/gesture/use-tap-gesture.js +29 -0
  236. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -0
  237. package/dist/default/ui/hooks/use-button.js +2 -4
  238. package/dist/default/ui/hooks/use-button.js.map +1 -1
  239. package/dist/default/ui/hooks/use-slider.js +4 -6
  240. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  241. package/dist/default/ui/hotkey/media-hotkey.js +41 -0
  242. package/dist/default/ui/hotkey/media-hotkey.js.map +1 -0
  243. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js +16 -0
  244. package/dist/default/ui/hotkey/use-aria-key-shortcuts.js.map +1 -0
  245. package/dist/default/ui/hotkey/use-hotkey.js +32 -0
  246. package/dist/default/ui/hotkey/use-hotkey.js.map +1 -0
  247. package/dist/default/ui/mute-button/index.js +1 -2
  248. package/dist/default/ui/mute-button/mute-button.js +4 -5
  249. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  250. package/dist/default/ui/pip-button/index.js +1 -2
  251. package/dist/default/ui/pip-button/pip-button.js +4 -5
  252. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  253. package/dist/default/ui/play-button/index.js +1 -2
  254. package/dist/default/ui/play-button/play-button.js +4 -5
  255. package/dist/default/ui/play-button/play-button.js.map +1 -1
  256. package/dist/default/ui/playback-rate-button/index.js +1 -2
  257. package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -4
  258. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  259. package/dist/default/ui/popover/context.js +2 -4
  260. package/dist/default/ui/popover/context.js.map +1 -1
  261. package/dist/default/ui/popover/index.js +1 -2
  262. package/dist/default/ui/popover/index.parts.js +1 -2
  263. package/dist/default/ui/popover/popover-arrow.js +2 -4
  264. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  265. package/dist/default/ui/popover/popover-popup.js +13 -6
  266. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  267. package/dist/default/ui/popover/popover-root.js +4 -6
  268. package/dist/default/ui/popover/popover-root.js.map +1 -1
  269. package/dist/default/ui/popover/popover-trigger.js +2 -4
  270. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  271. package/dist/default/ui/poster/index.js +1 -2
  272. package/dist/default/ui/poster/poster.js +2 -4
  273. package/dist/default/ui/poster/poster.js.map +1 -1
  274. package/dist/default/ui/seek-button/index.js +1 -2
  275. package/dist/default/ui/seek-button/seek-button.js +2 -4
  276. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  277. package/dist/default/ui/slider/context.js +2 -4
  278. package/dist/default/ui/slider/context.js.map +1 -1
  279. package/dist/default/ui/slider/index.js +1 -2
  280. package/dist/default/ui/slider/index.parts.js +1 -2
  281. package/dist/default/ui/slider/slider-buffer.js +2 -4
  282. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  283. package/dist/default/ui/slider/slider-fill.js +2 -4
  284. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  285. package/dist/default/ui/slider/slider-preview.js +2 -4
  286. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  287. package/dist/default/ui/slider/slider-root.js +2 -4
  288. package/dist/default/ui/slider/slider-root.js.map +1 -1
  289. package/dist/default/ui/slider/slider-thumb.js +2 -4
  290. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  291. package/dist/default/ui/slider/slider-thumbnail.js +2 -4
  292. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  293. package/dist/default/ui/slider/slider-track.js +2 -4
  294. package/dist/default/ui/slider/slider-track.js.map +1 -1
  295. package/dist/default/ui/slider/slider-value.js +2 -4
  296. package/dist/default/ui/slider/slider-value.js.map +1 -1
  297. package/dist/default/ui/thumbnail/index.js +2 -0
  298. package/dist/default/ui/thumbnail/thumbnail.js +3 -6
  299. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  300. package/dist/default/ui/time/index.js +1 -2
  301. package/dist/default/ui/time/index.parts.js +1 -2
  302. package/dist/default/ui/time/time-group.js +2 -4
  303. package/dist/default/ui/time/time-group.js.map +1 -1
  304. package/dist/default/ui/time/time-separator.js +2 -4
  305. package/dist/default/ui/time/time-separator.js.map +1 -1
  306. package/dist/default/ui/time/time-value.js +2 -4
  307. package/dist/default/ui/time/time-value.js.map +1 -1
  308. package/dist/default/ui/time-slider/index.js +1 -2
  309. package/dist/default/ui/time-slider/index.parts.js +1 -2
  310. package/dist/default/ui/time-slider/time-slider-root.js +6 -8
  311. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  312. package/dist/default/ui/tooltip/context.js +6 -5
  313. package/dist/default/ui/tooltip/context.js.map +1 -1
  314. package/dist/default/ui/tooltip/group-context.js +2 -4
  315. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  316. package/dist/default/ui/tooltip/index.js +2 -3
  317. package/dist/default/ui/tooltip/index.parts.js +1 -2
  318. package/dist/default/ui/tooltip/tooltip-arrow.js +2 -4
  319. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  320. package/dist/default/ui/tooltip/tooltip-popup.js +15 -7
  321. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  322. package/dist/default/ui/tooltip/tooltip-provider.js +2 -4
  323. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  324. package/dist/default/ui/tooltip/tooltip-root.js +9 -7
  325. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  326. package/dist/default/ui/tooltip/tooltip-trigger.js +4 -9
  327. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  328. package/dist/default/ui/volume-slider/index.js +1 -2
  329. package/dist/default/ui/volume-slider/index.parts.js +1 -2
  330. package/dist/default/ui/volume-slider/volume-slider-root.js +36 -20
  331. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  332. package/dist/default/utils/attach-media-element.js +1 -1
  333. package/dist/default/utils/media-props.js +14 -6
  334. package/dist/default/utils/media-props.js.map +1 -1
  335. package/dist/default/utils/merge-props.js +2 -3
  336. package/dist/default/utils/merge-props.js.map +1 -1
  337. package/dist/default/utils/use-composed-refs.js +2 -4
  338. package/dist/default/utils/use-composed-refs.js.map +1 -1
  339. package/dist/default/utils/use-destroy.js +14 -8
  340. package/dist/default/utils/use-destroy.js.map +1 -1
  341. package/dist/default/utils/use-force-render.js +2 -4
  342. package/dist/default/utils/use-force-render.js.map +1 -1
  343. package/dist/default/utils/use-latest-ref.js +2 -4
  344. package/dist/default/utils/use-latest-ref.js.map +1 -1
  345. package/dist/default/utils/use-media-instance.js +22 -0
  346. package/dist/default/utils/use-media-instance.js.map +1 -0
  347. package/dist/default/utils/use-render.js +7 -5
  348. package/dist/default/utils/use-render.js.map +1 -1
  349. package/dist/default/utils/use-safe-id.js +3 -5
  350. package/dist/default/utils/use-safe-id.js.map +1 -1
  351. package/dist/dev/_virtual/_rolldown/runtime.js +6 -11
  352. package/dist/dev/icons/dist/react/default/captions-off.js +1 -3
  353. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  354. package/dist/dev/icons/dist/react/default/captions-on.js +1 -3
  355. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  356. package/dist/dev/icons/dist/react/default/cast-enter.js +32 -0
  357. package/dist/dev/icons/dist/react/default/cast-enter.js.map +1 -0
  358. package/dist/dev/icons/dist/react/default/cast-exit.js +36 -0
  359. package/dist/dev/icons/dist/react/default/cast-exit.js.map +1 -0
  360. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +1 -3
  361. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  362. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +1 -3
  363. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  364. package/dist/dev/icons/dist/react/default/pause.js +1 -3
  365. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  366. package/dist/dev/icons/dist/react/default/pip-enter.js +32 -0
  367. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -0
  368. package/dist/dev/icons/dist/react/default/pip-exit.js +32 -0
  369. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -0
  370. package/dist/dev/icons/dist/react/default/play.js +1 -3
  371. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  372. package/dist/dev/icons/dist/react/default/restart.js +1 -3
  373. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  374. package/dist/dev/icons/dist/react/default/seek.js +1 -3
  375. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  376. package/dist/dev/icons/dist/react/default/spinner.js +1 -3
  377. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  378. package/dist/dev/icons/dist/react/default/volume-high.js +1 -3
  379. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  380. package/dist/dev/icons/dist/react/default/volume-low.js +1 -3
  381. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  382. package/dist/dev/icons/dist/react/default/volume-off.js +1 -3
  383. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  384. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -3
  385. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  386. package/dist/dev/icons/dist/react/minimal/captions-on.js +1 -3
  387. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  388. package/dist/dev/icons/dist/react/minimal/cast-enter.js +28 -0
  389. package/dist/dev/icons/dist/react/minimal/cast-enter.js.map +1 -0
  390. package/dist/dev/icons/dist/react/minimal/cast-exit.js +32 -0
  391. package/dist/dev/icons/dist/react/minimal/cast-exit.js.map +1 -0
  392. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +1 -3
  393. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  394. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +1 -3
  395. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  396. package/dist/dev/icons/dist/react/minimal/pause.js +1 -3
  397. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  398. package/dist/dev/icons/dist/react/minimal/pip-enter.js +36 -0
  399. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -0
  400. package/dist/dev/icons/dist/react/minimal/pip-exit.js +36 -0
  401. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -0
  402. package/dist/dev/icons/dist/react/minimal/play.js +1 -3
  403. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  404. package/dist/dev/icons/dist/react/minimal/restart.js +1 -3
  405. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  406. package/dist/dev/icons/dist/react/minimal/seek.js +1 -3
  407. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  408. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -3
  409. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  410. package/dist/dev/icons/dist/react/minimal/volume-high.js +1 -3
  411. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  412. package/dist/dev/icons/dist/react/minimal/volume-low.js +1 -3
  413. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  414. package/dist/dev/icons/dist/react/minimal/volume-off.js +1 -3
  415. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  416. package/dist/dev/index.d.ts +23 -8
  417. package/dist/dev/index.js +26 -14
  418. package/dist/dev/media/audio.d.ts.map +1 -1
  419. package/dist/dev/media/audio.js +5 -10
  420. package/dist/dev/media/audio.js.map +1 -1
  421. package/dist/dev/media/background-video/index.js +4 -6
  422. package/dist/dev/media/background-video/index.js.map +1 -1
  423. package/dist/dev/media/dash-video/index.d.ts +16 -0
  424. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  425. package/dist/dev/media/dash-video/index.js +21 -0
  426. package/dist/dev/media/dash-video/index.js.map +1 -0
  427. package/dist/dev/media/hls-video/index.d.ts +8 -3
  428. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  429. package/dist/dev/media/hls-video/index.js +8 -13
  430. package/dist/dev/media/hls-video/index.js.map +1 -1
  431. package/dist/dev/media/mux-audio/index.d.ts +13 -0
  432. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  433. package/dist/dev/media/mux-audio/index.js +20 -0
  434. package/dist/dev/media/mux-audio/index.js.map +1 -0
  435. package/dist/dev/media/mux-video/index.d.ts +16 -0
  436. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  437. package/dist/dev/media/mux-video/index.js +21 -0
  438. package/dist/dev/media/mux-video/index.js.map +1 -0
  439. package/dist/dev/media/native-hls-video/index.d.ts +16 -0
  440. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  441. package/dist/dev/media/native-hls-video/index.js +21 -0
  442. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  443. package/dist/dev/media/simple-hls-video/index.d.ts +4 -1
  444. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  445. package/dist/dev/media/simple-hls-video/index.js +8 -12
  446. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  447. package/dist/dev/media/video.d.ts.map +1 -1
  448. package/dist/dev/media/video.js +5 -10
  449. package/dist/dev/media/video.js.map +1 -1
  450. package/dist/dev/player/context.d.ts +24 -7
  451. package/dist/dev/player/context.d.ts.map +1 -1
  452. package/dist/dev/player/context.js +27 -15
  453. package/dist/dev/player/context.js.map +1 -1
  454. package/dist/dev/player/create-player.js +18 -6
  455. package/dist/dev/player/create-player.js.map +1 -1
  456. package/dist/dev/presets/audio/index.js +1 -2
  457. package/dist/dev/presets/audio/minimal-skin.css +293 -194
  458. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  459. package/dist/dev/presets/audio/minimal-skin.js +144 -123
  460. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  461. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  462. package/dist/dev/presets/audio/minimal-skin.tailwind.js +156 -137
  463. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  464. package/dist/dev/presets/audio/skin.css +276 -186
  465. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  466. package/dist/dev/presets/audio/skin.js +218 -126
  467. package/dist/dev/presets/audio/skin.js.map +1 -1
  468. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  469. package/dist/dev/presets/audio/skin.tailwind.js +166 -141
  470. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  471. package/dist/dev/presets/background/index.js +1 -2
  472. package/dist/dev/presets/background/skin.js +1 -2
  473. package/dist/dev/presets/background/skin.js.map +1 -1
  474. package/dist/dev/presets/types.d.ts +6 -1
  475. package/dist/dev/presets/types.d.ts.map +1 -1
  476. package/dist/dev/presets/video/index.js +1 -2
  477. package/dist/dev/presets/video/minimal-skin.css +593 -340
  478. package/dist/dev/presets/video/minimal-skin.d.ts +2 -2
  479. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  480. package/dist/dev/presets/video/minimal-skin.js +149 -122
  481. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  482. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  483. package/dist/dev/presets/video/minimal-skin.tailwind.js +160 -138
  484. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  485. package/dist/dev/presets/video/skin.css +561 -323
  486. package/dist/dev/presets/video/skin.d.ts +2 -2
  487. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  488. package/dist/dev/presets/video/skin.js +310 -171
  489. package/dist/dev/presets/video/skin.js.map +1 -1
  490. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  491. package/dist/dev/presets/video/skin.tailwind.js +215 -186
  492. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  493. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -32
  494. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  495. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  496. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  497. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  498. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  499. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
  500. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  501. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  502. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  503. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
  504. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  505. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  506. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  507. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  508. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  509. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  510. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  511. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -6
  512. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  513. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +15 -0
  514. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  515. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
  516. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  517. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  518. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  519. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +2 -3
  520. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  521. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  522. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  523. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  524. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  525. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  526. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  527. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +41 -25
  528. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  529. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -27
  530. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  531. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  532. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  533. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  534. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  535. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  536. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  537. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  538. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  539. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  540. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  541. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  542. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  543. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  544. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  545. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  546. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  547. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  548. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  549. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  550. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  551. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  552. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  553. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  554. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  555. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  556. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  557. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  558. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  559. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -23
  560. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  561. package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  562. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  563. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +2 -4
  564. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  565. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +2 -4
  566. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  567. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +2 -4
  568. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  569. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +5 -7
  570. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  571. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +2 -4
  572. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  573. package/dist/dev/ui/alert-dialog/context.js +2 -4
  574. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  575. package/dist/dev/ui/alert-dialog/index.js +1 -2
  576. package/dist/dev/ui/alert-dialog/index.parts.js +1 -2
  577. package/dist/dev/ui/buffering-indicator/buffering-indicator.d.ts.map +1 -1
  578. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +4 -4
  579. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  580. package/dist/dev/ui/buffering-indicator/index.js +1 -2
  581. package/dist/dev/ui/captions-button/captions-button.d.ts.map +1 -1
  582. package/dist/dev/ui/captions-button/captions-button.js +4 -5
  583. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  584. package/dist/dev/ui/captions-button/index.js +1 -2
  585. package/dist/dev/ui/cast-button/cast-button.d.ts +15 -0
  586. package/dist/dev/ui/cast-button/cast-button.d.ts.map +1 -0
  587. package/dist/dev/ui/cast-button/cast-button.js +17 -0
  588. package/dist/dev/ui/cast-button/cast-button.js.map +1 -0
  589. package/dist/dev/ui/cast-button/index.d.ts +2 -0
  590. package/dist/dev/ui/cast-button/index.js +2 -0
  591. package/dist/dev/ui/controls/context.js +2 -4
  592. package/dist/dev/ui/controls/context.js.map +1 -1
  593. package/dist/dev/ui/controls/controls-group.js +2 -4
  594. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  595. package/dist/dev/ui/controls/controls-root.js +2 -4
  596. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  597. package/dist/dev/ui/controls/index.js +1 -2
  598. package/dist/dev/ui/controls/index.parts.js +1 -2
  599. package/dist/dev/ui/create-context-part.js +2 -4
  600. package/dist/dev/ui/create-context-part.js.map +1 -1
  601. package/dist/dev/ui/create-media-button.js +22 -10
  602. package/dist/dev/ui/create-media-button.js.map +1 -1
  603. package/dist/dev/ui/error-dialog/context.d.ts +10 -0
  604. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -0
  605. package/dist/dev/ui/error-dialog/context.js +14 -0
  606. package/dist/dev/ui/error-dialog/context.js.map +1 -0
  607. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +14 -0
  608. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -0
  609. package/dist/dev/ui/error-dialog/error-dialog-description.js +28 -0
  610. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -0
  611. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +15 -0
  612. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -0
  613. package/dist/dev/ui/error-dialog/error-dialog-root.js +57 -0
  614. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -0
  615. package/dist/dev/ui/error-dialog/index.d.ts +3 -0
  616. package/dist/dev/ui/error-dialog/index.js +3 -0
  617. package/dist/dev/ui/error-dialog/index.parts.d.ts +13 -0
  618. package/dist/dev/ui/error-dialog/index.parts.d.ts.map +1 -0
  619. package/dist/dev/ui/error-dialog/index.parts.js +18 -0
  620. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -0
  621. package/dist/dev/ui/fullscreen-button/fullscreen-button.d.ts.map +1 -1
  622. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +4 -5
  623. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  624. package/dist/dev/ui/fullscreen-button/index.js +1 -2
  625. package/dist/dev/ui/gesture/media-gesture.d.ts +23 -0
  626. package/dist/dev/ui/gesture/media-gesture.d.ts.map +1 -0
  627. package/dist/dev/ui/gesture/media-gesture.js +42 -0
  628. package/dist/dev/ui/gesture/media-gesture.js.map +1 -0
  629. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +14 -0
  630. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -0
  631. package/dist/dev/ui/gesture/use-doubletap-gesture.js +29 -0
  632. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -0
  633. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +14 -0
  634. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -0
  635. package/dist/dev/ui/gesture/use-tap-gesture.js +29 -0
  636. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -0
  637. package/dist/dev/ui/hooks/use-button.js +2 -4
  638. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  639. package/dist/dev/ui/hooks/use-slider.d.ts +1 -1
  640. package/dist/dev/ui/hooks/use-slider.js +4 -6
  641. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  642. package/dist/dev/ui/hotkey/media-hotkey.d.ts +21 -0
  643. package/dist/dev/ui/hotkey/media-hotkey.d.ts.map +1 -0
  644. package/dist/dev/ui/hotkey/media-hotkey.js +41 -0
  645. package/dist/dev/ui/hotkey/media-hotkey.js.map +1 -0
  646. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts +5 -0
  647. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.d.ts.map +1 -0
  648. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js +16 -0
  649. package/dist/dev/ui/hotkey/use-aria-key-shortcuts.js.map +1 -0
  650. package/dist/dev/ui/hotkey/use-hotkey.d.ts +12 -0
  651. package/dist/dev/ui/hotkey/use-hotkey.d.ts.map +1 -0
  652. package/dist/dev/ui/hotkey/use-hotkey.js +32 -0
  653. package/dist/dev/ui/hotkey/use-hotkey.js.map +1 -0
  654. package/dist/dev/ui/mute-button/index.js +1 -2
  655. package/dist/dev/ui/mute-button/mute-button.d.ts.map +1 -1
  656. package/dist/dev/ui/mute-button/mute-button.js +4 -5
  657. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  658. package/dist/dev/ui/pip-button/index.js +1 -2
  659. package/dist/dev/ui/pip-button/pip-button.d.ts.map +1 -1
  660. package/dist/dev/ui/pip-button/pip-button.js +4 -5
  661. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  662. package/dist/dev/ui/play-button/index.js +1 -2
  663. package/dist/dev/ui/play-button/play-button.d.ts.map +1 -1
  664. package/dist/dev/ui/play-button/play-button.js +4 -5
  665. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  666. package/dist/dev/ui/playback-rate-button/index.js +1 -2
  667. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -4
  668. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  669. package/dist/dev/ui/popover/context.js +2 -4
  670. package/dist/dev/ui/popover/context.js.map +1 -1
  671. package/dist/dev/ui/popover/index.js +1 -2
  672. package/dist/dev/ui/popover/index.parts.js +1 -2
  673. package/dist/dev/ui/popover/popover-arrow.js +2 -4
  674. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  675. package/dist/dev/ui/popover/popover-popup.d.ts.map +1 -1
  676. package/dist/dev/ui/popover/popover-popup.js +13 -6
  677. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  678. package/dist/dev/ui/popover/popover-root.js +4 -6
  679. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  680. package/dist/dev/ui/popover/popover-trigger.js +2 -4
  681. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  682. package/dist/dev/ui/poster/index.js +1 -2
  683. package/dist/dev/ui/poster/poster.js +2 -4
  684. package/dist/dev/ui/poster/poster.js.map +1 -1
  685. package/dist/dev/ui/seek-button/index.js +1 -2
  686. package/dist/dev/ui/seek-button/seek-button.js +2 -4
  687. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  688. package/dist/dev/ui/slider/context.js +2 -4
  689. package/dist/dev/ui/slider/context.js.map +1 -1
  690. package/dist/dev/ui/slider/index.js +1 -2
  691. package/dist/dev/ui/slider/index.parts.js +1 -2
  692. package/dist/dev/ui/slider/slider-buffer.js +2 -4
  693. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  694. package/dist/dev/ui/slider/slider-fill.js +2 -4
  695. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  696. package/dist/dev/ui/slider/slider-preview.js +2 -4
  697. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  698. package/dist/dev/ui/slider/slider-root.js +2 -4
  699. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  700. package/dist/dev/ui/slider/slider-thumb.js +2 -4
  701. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  702. package/dist/dev/ui/slider/slider-thumbnail.js +2 -4
  703. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  704. package/dist/dev/ui/slider/slider-track.js +2 -4
  705. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  706. package/dist/dev/ui/slider/slider-value.js +2 -4
  707. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  708. package/dist/dev/ui/thumbnail/index.d.ts +2 -0
  709. package/dist/dev/ui/thumbnail/index.js +2 -0
  710. package/dist/dev/ui/thumbnail/thumbnail.d.ts.map +1 -1
  711. package/dist/dev/ui/thumbnail/thumbnail.js +3 -6
  712. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  713. package/dist/dev/ui/time/index.js +1 -2
  714. package/dist/dev/ui/time/index.parts.js +1 -2
  715. package/dist/dev/ui/time/time-group.js +2 -4
  716. package/dist/dev/ui/time/time-group.js.map +1 -1
  717. package/dist/dev/ui/time/time-separator.js +2 -4
  718. package/dist/dev/ui/time/time-separator.js.map +1 -1
  719. package/dist/dev/ui/time/time-value.js +2 -4
  720. package/dist/dev/ui/time/time-value.js.map +1 -1
  721. package/dist/dev/ui/time-slider/index.js +1 -2
  722. package/dist/dev/ui/time-slider/index.parts.js +1 -2
  723. package/dist/dev/ui/time-slider/time-slider-root.js +6 -8
  724. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  725. package/dist/dev/ui/tooltip/context.d.ts +4 -1
  726. package/dist/dev/ui/tooltip/context.d.ts.map +1 -1
  727. package/dist/dev/ui/tooltip/context.js +6 -5
  728. package/dist/dev/ui/tooltip/context.js.map +1 -1
  729. package/dist/dev/ui/tooltip/group-context.js +2 -4
  730. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  731. package/dist/dev/ui/tooltip/index.d.ts +2 -2
  732. package/dist/dev/ui/tooltip/index.js +2 -3
  733. package/dist/dev/ui/tooltip/index.parts.js +1 -2
  734. package/dist/dev/ui/tooltip/tooltip-arrow.js +2 -4
  735. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  736. package/dist/dev/ui/tooltip/tooltip-popup.d.ts.map +1 -1
  737. package/dist/dev/ui/tooltip/tooltip-popup.js +15 -7
  738. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  739. package/dist/dev/ui/tooltip/tooltip-provider.js +2 -4
  740. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  741. package/dist/dev/ui/tooltip/tooltip-root.d.ts.map +1 -1
  742. package/dist/dev/ui/tooltip/tooltip-root.js +9 -7
  743. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  744. package/dist/dev/ui/tooltip/tooltip-trigger.d.ts.map +1 -1
  745. package/dist/dev/ui/tooltip/tooltip-trigger.js +4 -9
  746. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  747. package/dist/dev/ui/volume-slider/index.js +1 -2
  748. package/dist/dev/ui/volume-slider/index.parts.js +1 -2
  749. package/dist/dev/ui/volume-slider/volume-slider-root.d.ts.map +1 -1
  750. package/dist/dev/ui/volume-slider/volume-slider-root.js +36 -20
  751. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  752. package/dist/dev/utils/attach-media-element.d.ts +9 -0
  753. package/dist/dev/utils/attach-media-element.d.ts.map +1 -0
  754. package/dist/dev/utils/attach-media-element.js +1 -1
  755. package/dist/dev/utils/media-props.d.ts +8 -0
  756. package/dist/dev/utils/media-props.d.ts.map +1 -0
  757. package/dist/dev/utils/media-props.js +14 -6
  758. package/dist/dev/utils/media-props.js.map +1 -1
  759. package/dist/dev/utils/merge-props.js +2 -3
  760. package/dist/dev/utils/merge-props.js.map +1 -1
  761. package/dist/dev/utils/use-composed-refs.d.ts +29 -0
  762. package/dist/dev/utils/use-composed-refs.d.ts.map +1 -0
  763. package/dist/dev/utils/use-composed-refs.js +2 -4
  764. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  765. package/dist/dev/utils/use-destroy.d.ts +22 -0
  766. package/dist/dev/utils/use-destroy.d.ts.map +1 -0
  767. package/dist/dev/utils/use-destroy.js +14 -8
  768. package/dist/dev/utils/use-destroy.js.map +1 -1
  769. package/dist/dev/utils/use-force-render.js +2 -4
  770. package/dist/dev/utils/use-force-render.js.map +1 -1
  771. package/dist/dev/utils/use-latest-ref.d.ts +18 -0
  772. package/dist/dev/utils/use-latest-ref.d.ts.map +1 -0
  773. package/dist/dev/utils/use-latest-ref.js +2 -4
  774. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  775. package/dist/dev/utils/use-media-instance.d.ts +16 -0
  776. package/dist/dev/utils/use-media-instance.d.ts.map +1 -0
  777. package/dist/dev/utils/use-media-instance.js +22 -0
  778. package/dist/dev/utils/use-media-instance.js.map +1 -0
  779. package/dist/dev/utils/use-render.d.ts.map +1 -1
  780. package/dist/dev/utils/use-render.js +7 -5
  781. package/dist/dev/utils/use-render.js.map +1 -1
  782. package/dist/dev/utils/use-safe-id.js +3 -5
  783. package/dist/dev/utils/use-safe-id.js.map +1 -1
  784. package/package.json +15 -15
  785. package/dist/default/icons/dist/react/default/pip.js +0 -27
  786. package/dist/default/icons/dist/react/default/pip.js.map +0 -1
  787. package/dist/default/icons/dist/react/minimal/pip.js +0 -27
  788. package/dist/default/icons/dist/react/minimal/pip.js.map +0 -1
  789. package/dist/default/presets/video/error-dialog.js +0 -51
  790. package/dist/default/presets/video/error-dialog.js.map +0 -1
  791. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  792. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  793. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  794. package/dist/dev/icons/dist/react/default/pip.js +0 -27
  795. package/dist/dev/icons/dist/react/default/pip.js.map +0 -1
  796. package/dist/dev/icons/dist/react/minimal/pip.js +0 -27
  797. package/dist/dev/icons/dist/react/minimal/pip.js.map +0 -1
  798. package/dist/dev/presets/video/error-dialog.js +0 -51
  799. package/dist/dev/presets/video/error-dialog.js.map +0 -1
  800. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  801. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  802. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
@@ -1,67 +1,3 @@
1
- /* ==========================================================================
2
- Icon State Visibility for Audio 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 --- */
10
-
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
- display: none;
18
- opacity: 0;
19
- }
20
-
21
- /* --- Active icon per state --- */
22
-
23
- /* Play: ended → restart */
24
- .media-button--play[data-ended] .media-icon--restart,
25
- /* Play: paused (not ended) → play */
26
- .media-button--play:not([data-ended])[data-paused] .media-icon--play,
27
- /* Play: playing (not paused, not ended) → pause */
28
- .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
29
- /* Mute: muted → volume off */
30
- .media-button--mute[data-muted] .media-icon--volume-off,
31
- /* Mute: volume low (not muted) → volume low */
32
- .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
33
- /* Mute: volume high (not muted, not low) → volume high */
34
- .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high {
35
- display: block;
36
- opacity: 1;
37
- }
38
-
39
- /* ==========================================================================
40
- Tooltip Label State Visibility for Audio Skins
41
-
42
- Data-attribute-driven visibility rules for multi-state tooltip labels.
43
- Uses adjacent sibling selectors to match button state → tooltip content.
44
- ========================================================================== */
45
-
46
- /* --- All multi-state labels hidden by default --- */
47
-
48
- .media-tooltip-label {
49
- display: none;
50
- }
51
-
52
- /* --- Active label per state --- */
53
-
54
- /* Play: ended → replay */
55
- .media-button--play[data-ended] + .media-tooltip .media-tooltip-label--replay,
56
- /* Play: paused (not ended) → play */
57
- .media-button--play:not([data-ended])[data-paused] + .media-tooltip
58
- .media-tooltip-label--play,
59
- /* Play: playing (not paused, not ended) → pause */
60
- .media-button--play:not([data-paused]):not([data-ended]) + .media-tooltip
61
- .media-tooltip-label--pause {
62
- display: block;
63
- }
64
-
65
1
  /* ==========================================================================
66
2
  Reset
67
3
  ========================================================================== */
@@ -70,7 +6,6 @@
70
6
  .media-default-skin *::before,
71
7
  .media-default-skin *::after {
72
8
  box-sizing: border-box;
73
- margin: 0;
74
9
  }
75
10
  .media-default-skin img,
76
11
  .media-default-skin video,
@@ -92,25 +27,38 @@
92
27
  ========================================================================== */
93
28
 
94
29
  .media-default-skin {
30
+ container: media-root / inline-size;
95
31
  position: relative;
96
32
  isolation: isolate;
97
33
  display: block;
98
- container: media-root / inline-size;
34
+ height: 100%;
35
+ width: 100%;
99
36
  border-radius: var(--media-border-radius, 2rem);
37
+ outline: 2px solid transparent;
38
+ outline-offset: 2px;
39
+
40
+ &:focus-visible {
41
+ outline-color: currentColor;
42
+ }
100
43
  font-family:
101
44
  Inter Variable,
102
45
  Inter,
103
46
  ui-sans-serif,
104
47
  system-ui,
105
48
  sans-serif;
106
- font-size: 0.8125rem;
107
49
  line-height: 1.5;
108
50
  letter-spacing: normal;
109
51
  -webkit-font-smoothing: auto;
110
52
  -moz-osx-font-smoothing: auto;
111
53
 
112
- &:fullscreen {
113
- border-radius: 0;
54
+ & > * {
55
+ font-size: 0.75rem; /* 12px at 100% font size */
56
+ }
57
+
58
+ @container media-root (width > 48rem) {
59
+ & > * {
60
+ font-size: 0.875rem; /* 14px at 100% font size */
61
+ }
114
62
  }
115
63
  }
116
64
 
@@ -122,7 +70,7 @@
122
70
  background-color: var(--media-surface-background-color);
123
71
  backdrop-filter: var(--media-surface-backdrop-filter);
124
72
  box-shadow:
125
- inset 0 0 0 1px var(--media-surface-inner-border-color),
73
+ 0 0 0 1px var(--media-surface-outer-border-color),
126
74
  0 1px 3px 0 var(--media-surface-shadow-color),
127
75
  0 1px 2px -1px var(--media-surface-shadow-color);
128
76
 
@@ -133,17 +81,9 @@
133
81
  inset: 0;
134
82
  z-index: 10;
135
83
  border-radius: inherit;
136
- box-shadow: 0 0 0 1px var(--media-surface-outer-border-color);
84
+ box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
137
85
  pointer-events: none;
138
86
  }
139
-
140
- @media (prefers-reduced-transparency: reduce) {
141
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.7);
142
- }
143
-
144
- @media (prefers-contrast: more) {
145
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.9);
146
- }
147
87
  }
148
88
 
149
89
  /* ==========================================================================
@@ -174,57 +114,11 @@
174
114
  ========================================================================== */
175
115
 
176
116
  .media-default-skin .media-error {
177
- position: absolute;
178
- inset: 0;
179
- z-index: 20;
180
- display: flex;
181
- align-items: center;
182
- justify-content: center;
183
- }
184
-
185
- .media-default-skin .media-error__dialog {
186
- display: flex;
187
- flex-direction: column;
188
- gap: 0.75rem;
189
- max-width: 18rem;
190
- padding: 0.75rem;
191
- border-radius: 1.75rem;
192
- color: oklch(1 0 0);
193
- font-size: 0.875rem;
194
- transition-property: opacity, transform;
195
- transition-duration: 500ms;
196
- transition-delay: 100ms;
197
- transition-timing-function: linear(
198
- 0,
199
- 0.034 1.5%,
200
- 0.763 9.7%,
201
- 1.066 13.9%,
202
- 1.198 19.9%,
203
- 1.184 21.8%,
204
- 0.963 37.5%,
205
- 0.997 50.9%,
206
- 1
207
- );
208
-
209
- /* Simple, fast transition for reduced motion users */
210
- @media (prefers-reduced-motion: reduce) {
211
- transition-duration: 100ms;
212
- transition-delay: 0ms;
213
- transition-timing-function: ease-out;
214
- }
215
- }
216
-
217
- .media-default-skin .media-error[data-starting-style] .media-error__dialog,
218
- .media-default-skin .media-error[data-ending-style] .media-error__dialog {
219
- opacity: 0;
220
- transform: scale(0.5);
117
+ outline: none;
221
118
  }
222
119
 
223
- .media-default-skin .media-error__content {
224
- display: flex;
225
- flex-direction: column;
226
- gap: 0.5rem;
227
- padding: 0.5rem 0.5rem 0.375rem;
120
+ .media-default-skin .media-error:not([data-open]) {
121
+ display: none;
228
122
  }
229
123
 
230
124
  .media-default-skin .media-error__title {
@@ -234,6 +128,7 @@
234
128
 
235
129
  .media-default-skin .media-error__description {
236
130
  opacity: 0.7;
131
+ overflow-wrap: anywhere;
237
132
  }
238
133
 
239
134
  .media-default-skin .media-error__actions {
@@ -245,6 +140,10 @@
245
140
  }
246
141
  }
247
142
 
143
+ .media-default-skin .media-error[data-open] ~ .media-controls * {
144
+ visibility: hidden;
145
+ }
146
+
248
147
  /* ==========================================================================
249
148
  Controls
250
149
  ========================================================================== */
@@ -253,44 +152,31 @@
253
152
  container: media-controls / inline-size;
254
153
  display: flex;
255
154
  align-items: center;
256
- gap: 0.075rem;
257
- padding: 0.175rem;
258
- border-radius: calc(infinity * 1px);
259
- --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.25));
155
+ column-gap: 0.075rem;
156
+ padding: 0.375rem;
157
+ border-radius: 1.5rem;
158
+ --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
260
159
  --media-controls-current-shadow-color-subtle: oklch(
261
160
  from var(--media-controls-current-shadow-color) l c h /
262
161
  calc(alpha * 0.4)
263
162
  );
264
- text-shadow: 0 0 1px var(--media-controls-current-shadow-color);
265
-
266
- @container media-root (width > 40rem) {
267
- gap: 0.125rem;
268
- padding: 0.25rem;
269
- }
163
+ text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
270
164
  }
271
165
 
272
166
  /* ==========================================================================
273
167
  Time Display
274
168
  ========================================================================== */
275
169
 
276
- .media-default-skin .media-time {
277
- container: media-time / inline-size;
170
+ .media-default-skin .media-time-controls {
171
+ container: media-time-controls / inline-size;
278
172
  display: flex;
279
173
  align-items: center;
280
174
  flex: 1;
281
175
  gap: 0.75rem;
282
176
  padding-inline: 0.5rem;
283
-
284
- & .media-time__value:first-child {
285
- display: none;
286
-
287
- @container media-time (width > 18rem) {
288
- display: block;
289
- }
290
- }
291
177
  }
292
178
 
293
- .media-default-skin .media-time__value {
179
+ .media-default-skin .media-time {
294
180
  font-variant-numeric: tabular-nums;
295
181
  }
296
182
 
@@ -305,25 +191,29 @@
305
191
  justify-content: center;
306
192
  flex-shrink: 0;
307
193
  padding: 0.5rem 1rem;
308
- background: oklch(1 0 0);
309
194
  border: none;
310
195
  border-radius: calc(infinity * 1px);
311
196
  outline: 2px solid transparent;
312
197
  outline-offset: -2px;
313
- color: oklch(0 0 0);
314
- font-weight: 500;
315
- text-align: center;
316
- transition-property: background-color, color, outline-offset, transform;
198
+ transition-property: background-color, outline-offset, scale;
199
+ /* Fix weird jumping when clicking on the buttons in Safari. */
200
+ will-change: scale;
317
201
  transition-duration: 150ms;
318
202
  transition-timing-function: ease-out;
319
203
  cursor: pointer;
320
204
  user-select: none;
205
+ text-align: center;
206
+ touch-action: manipulation;
321
207
 
322
208
  &:focus-visible {
323
- outline-color: oklch(62.3% 0.214 259.815);
209
+ outline-color: currentColor;
324
210
  outline-offset: 2px;
325
211
  }
326
212
 
213
+ &:active {
214
+ scale: 0.98;
215
+ }
216
+
327
217
  &[disabled] {
328
218
  opacity: 0.5;
329
219
  filter: grayscale(1);
@@ -335,12 +225,16 @@
335
225
  }
336
226
  }
337
227
 
338
- /* Icon button variant */
339
- .media-default-skin .media-button--icon {
340
- display: grid;
341
- width: 2.125rem;
342
- padding: 0;
343
- aspect-ratio: 1;
228
+ /* Primary button variant */
229
+ .media-default-skin .media-button--primary {
230
+ background: oklch(1 0 0);
231
+ color: oklch(0 0 0);
232
+ font-weight: 500;
233
+ text-shadow: none;
234
+ }
235
+
236
+ /* Subtle button variant */
237
+ .media-default-skin .media-button--subtle {
344
238
  background: transparent;
345
239
  color: inherit;
346
240
  text-shadow: inherit;
@@ -351,9 +245,17 @@
351
245
  background-color: oklch(from currentColor l c h / 0.1);
352
246
  text-decoration: none;
353
247
  }
248
+ }
249
+
250
+ /* Icon button variant */
251
+ .media-default-skin .media-button--icon {
252
+ display: grid;
253
+ width: 2.25rem;
254
+ padding: 0;
255
+ aspect-ratio: 1;
354
256
 
355
257
  &:active {
356
- transform: scale(0.9);
258
+ scale: 0.9;
357
259
  }
358
260
 
359
261
  & .media-icon {
@@ -367,7 +269,7 @@
367
269
  position: absolute;
368
270
  right: -1px;
369
271
  bottom: -3px;
370
- font-size: 0.75em;
272
+ font-size: 10px;
371
273
  font-weight: 480;
372
274
  font-variant-numeric: tabular-nums;
373
275
  }
@@ -376,10 +278,6 @@
376
278
  right: unset;
377
279
  left: -1px;
378
280
  }
379
-
380
- @container media-controls (width < 28rem) {
381
- display: none;
382
- }
383
281
  }
384
282
 
385
283
  /* Playback rate button */
@@ -393,6 +291,20 @@
393
291
  }
394
292
  }
395
293
 
294
+ /* ==========================================================================
295
+ Button Groups
296
+ ========================================================================== */
297
+
298
+ .media-default-skin .media-button-group {
299
+ display: flex;
300
+ align-items: center;
301
+ gap: 0.075rem;
302
+
303
+ @container media-root (width > 42rem) {
304
+ gap: 0.125rem;
305
+ }
306
+ }
307
+
396
308
  /* ==========================================================================
397
309
  Icons
398
310
  ========================================================================== */
@@ -427,15 +339,16 @@
427
339
  flex: 1;
428
340
  border-radius: calc(infinity * 1px);
429
341
  outline: none;
342
+ cursor: pointer;
430
343
 
431
344
  &[data-orientation="horizontal"] {
432
345
  min-width: 5rem;
433
346
  width: 100%;
434
- height: 1.25rem;
347
+ height: 2rem;
435
348
  }
436
349
 
437
350
  &[data-orientation="vertical"] {
438
- width: 1.25rem;
351
+ width: 2rem;
439
352
  height: 5rem;
440
353
  }
441
354
  }
@@ -463,7 +376,7 @@
463
376
  .media-default-skin .media-slider__thumb {
464
377
  z-index: 10;
465
378
  position: absolute;
466
- transform: translate(-50%, -50%);
379
+ translate: -50% -50%;
467
380
  width: 0.625rem;
468
381
  height: 0.625rem;
469
382
  background-color: currentColor;
@@ -495,6 +408,22 @@
495
408
  outline-color: oklch(from currentColor l c h / 0.25);
496
409
  outline-offset: 0;
497
410
  }
411
+
412
+ &::after {
413
+ content: "";
414
+ position: absolute;
415
+ inset: -4px;
416
+ border-radius: inherit;
417
+ box-shadow: 0 0 0 2px oklch(1 0 0);
418
+ transition-property: opacity, scale;
419
+ transition-duration: 150ms;
420
+ transition-timing-function: ease-out;
421
+ }
422
+
423
+ &:not(:focus-visible)::after {
424
+ scale: 0.5;
425
+ opacity: 0;
426
+ }
498
427
  }
499
428
 
500
429
  .media-default-skin .media-slider:active .media-slider__thumb,
@@ -559,9 +488,21 @@
559
488
  }
560
489
  }
561
490
 
562
- /* Time display within slider */
563
- .media-default-skin .media-slider__time-display {
564
- font-variant-numeric: tabular-nums;
491
+ /* Dragging thumb and fill follow the pointer position */
492
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="horizontal"] {
493
+ left: var(--media-slider-pointer);
494
+ }
495
+
496
+ .media-default-skin .media-slider[data-dragging] .media-slider__thumb[data-orientation="vertical"] {
497
+ top: calc(100% - var(--media-slider-pointer));
498
+ }
499
+
500
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="horizontal"] {
501
+ width: var(--media-slider-pointer);
502
+ }
503
+
504
+ .media-default-skin .media-slider[data-dragging] .media-slider__fill[data-orientation="vertical"] {
505
+ height: var(--media-slider-pointer);
565
506
  }
566
507
 
567
508
  /* ==========================================================================
@@ -574,13 +515,14 @@
574
515
  border: 0;
575
516
  color: inherit;
576
517
  overflow: visible;
577
- transition-property: transform, scale, opacity, filter;
578
- transition-duration: 200ms;
518
+ transition-property: scale, opacity, filter;
519
+ transition-duration: var(--media-popup-transition-duration);
520
+ transition-timing-function: var(--media-popup-transition-timing-function);
579
521
 
580
522
  &[data-starting-style],
581
523
  &[data-ending-style] {
582
524
  opacity: 0;
583
- transform: scale(0);
525
+ scale: 0.5;
584
526
  filter: blur(8px);
585
527
  }
586
528
 
@@ -600,14 +542,56 @@
600
542
  &[data-side="right"] {
601
543
  transform-origin: left;
602
544
  }
545
+
546
+ /* Safe area between trigger and popup */
547
+ &::before {
548
+ content: "";
549
+ position: absolute;
550
+ pointer-events: inherit;
551
+ }
552
+
553
+ &[data-side="top"]::before,
554
+ &[data-side="bottom"]::before {
555
+ width: 100%;
556
+ inset-inline: 0;
557
+ }
558
+ &[data-side="top"]::before {
559
+ top: 100%;
560
+ }
561
+ &[data-side="bottom"]::before {
562
+ bottom: 100%;
563
+ }
564
+
565
+ &[data-side="left"]::before,
566
+ &[data-side="right"]::before {
567
+ height: 100%;
568
+ inset-block: 0;
569
+ }
570
+ &[data-side="left"]::before {
571
+ left: 100%;
572
+ }
573
+ &[data-side="right"]::before {
574
+ right: 100%;
575
+ }
603
576
  }
604
577
 
605
578
  .media-default-skin .media-popover {
606
- --media-popover-side-offset: 0.5rem;
579
+ &[data-side="top"]::before,
580
+ &[data-side="bottom"]::before {
581
+ height: var(--media-popover-side-offset);
582
+ }
583
+ &[data-side="left"]::before,
584
+ &[data-side="right"]::before {
585
+ width: var(--media-popover-side-offset);
586
+ }
607
587
  }
608
588
  .media-default-skin .media-popover--volume {
609
- padding: 0.625rem 0.25rem;
589
+ padding: 0.75rem 0;
610
590
  border-radius: calc(infinity * 1px);
591
+
592
+ &:has(media-volume-slider[data-availability="unsupported"]) {
593
+ display: none;
594
+ }
611
595
  }
612
596
 
613
597
  .media-default-skin .media-tooltip {
@@ -615,7 +599,53 @@
615
599
  border-radius: calc(infinity * 1px);
616
600
  font-size: 0.75rem;
617
601
  white-space: nowrap;
618
- --media-tooltip-side-offset: 0.5rem;
602
+
603
+ &[data-side="top"]::before,
604
+ &[data-side="bottom"]::before {
605
+ height: var(--media-tooltip-side-offset);
606
+ }
607
+ &[data-side="left"]::before,
608
+ &[data-side="right"]::before {
609
+ width: var(--media-tooltip-side-offset);
610
+ }
611
+ }
612
+
613
+ /* ==========================================================================
614
+ Icon State Visibility for Audio Skins
615
+
616
+ Data-attribute-driven visibility rules for multi-state icon buttons.
617
+ Uses :is() with both element selectors (for HTML custom element wrappers)
618
+ and class selectors (for React rendered SVG elements).
619
+ ========================================================================== */
620
+
621
+ /* --- All icons hidden by default --- */
622
+
623
+ .media-button--play .media-icon--restart,
624
+ .media-button--play .media-icon--play,
625
+ .media-button--play .media-icon--pause,
626
+ .media-button--mute .media-icon--volume-off,
627
+ .media-button--mute .media-icon--volume-low,
628
+ .media-button--mute .media-icon--volume-high {
629
+ display: none;
630
+ opacity: 0;
631
+ }
632
+
633
+ /* --- Active icon per state --- */
634
+
635
+ /* Play: ended → restart */
636
+ .media-button--play[data-ended] .media-icon--restart,
637
+ /* Play: paused (not ended) → play */
638
+ .media-button--play:not([data-ended])[data-paused] .media-icon--play,
639
+ /* Play: playing (not paused, not ended) → pause */
640
+ .media-button--play:not([data-paused]):not([data-ended]) .media-icon--pause,
641
+ /* Mute: muted → volume off */
642
+ .media-button--mute[data-muted] .media-icon--volume-off,
643
+ /* Mute: volume low (not muted) → volume low */
644
+ .media-button--mute:not([data-muted])[data-volume-level="low"] .media-icon--volume-low,
645
+ /* Mute: volume high (not muted, not low) → volume high */
646
+ .media-button--mute:not([data-muted]):not([data-volume-level="low"]) .media-icon--volume-high {
647
+ display: block;
648
+ opacity: 1;
619
649
  }
620
650
 
621
651
 
@@ -624,32 +654,92 @@
624
654
  ========================================================================== */
625
655
 
626
656
  .media-default-skin--audio {
627
- --media-border-color: oklch(0 0 0 / 0.1);
628
657
  --media-surface-background-color: oklch(1 0 0 / 0.5);
629
658
  --media-surface-inner-border-color: oklch(1 0 0 / 0.1);
630
659
  --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
631
660
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
632
- --media-surface-backdrop-filter: blur(8px) brightness(0.98) saturate(1.2);
661
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
662
+ --media-text-color: var(--media-color-primary, oklch(0 0 0));
663
+ --media-error-dialog-transition-duration: 250ms;
664
+ --media-error-dialog-transition-delay: 100ms;
665
+ --media-popup-transition-duration: 100ms;
666
+ --media-popup-transition-timing-function: ease-out;
667
+ --media-tooltip-side-offset: 0.75rem;
668
+ --media-popover-side-offset: 0.75rem;
669
+
670
+ @media (prefers-reduced-motion: reduce) {
671
+ --media-error-dialog-transition-duration: 50ms;
672
+ --media-error-dialog-transition-delay: 0ms;
673
+ --media-popup-transition-duration: 0ms;
674
+ }
633
675
 
634
676
  @media (prefers-color-scheme: dark) {
635
- --media-border-color: oklch(1 0 0 / 0.1);
636
677
  --media-surface-background-color: oklch(0 0 0 / 0.4);
678
+ --media-text-color: var(--media-color-primary, oklch(1 0 0));
679
+ }
680
+
681
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
682
+ --media-surface-background-color: oklch(1 0 0);
683
+ --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
684
+ }
685
+
686
+ @media (prefers-color-scheme: dark) and ((prefers-reduced-transparency: reduce) or (prefers-contrast: more)) {
687
+ --media-surface-background-color: oklch(0 0 0);
688
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.2);
689
+ --media-surface-outer-border-color: transparent;
637
690
  }
638
691
  }
639
692
 
640
693
  /* ==========================================================================
641
- Controls
694
+ Error Dialog
642
695
  ========================================================================== */
643
696
 
697
+ .media-default-skin--audio .media-error__dialog {
698
+ position: absolute;
699
+ inset: 0;
700
+ z-index: 20;
701
+ display: flex;
702
+ align-items: center;
703
+ gap: 0.75rem;
704
+ padding-inline: 1.25rem 0.125rem;
705
+ transition-property: opacity, filter;
706
+ transition-duration: var(--media-error-dialog-transition-duration);
707
+ transition-delay: var(--media-error-dialog-transition-delay);
708
+ transition-timing-function: ease-out;
709
+ border-radius: calc(infinity * 1px);
710
+ background-color: var(--media-surface-background-color);
711
+ backdrop-filter: var(--media-surface-backdrop-filter);
712
+ color: var(--media-text-color);
713
+ }
714
+
715
+ .media-default-skin .media-error[data-starting-style] .media-error__dialog,
716
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
717
+ opacity: 0;
718
+ filter: blur(4px);
719
+ }
720
+ .media-default-skin .media-error[data-ending-style] .media-error__dialog {
721
+ transition-delay: 0ms;
722
+ }
723
+
724
+ .media-default-skin--audio .media-error__content {
725
+ flex: 1;
726
+ display: flex;
727
+ gap: 0.5rem;
728
+ align-items: center;
729
+ }
730
+
731
+ /* ==========================================================================
732
+ Controls
733
+ ========================================================================== */
734
+
644
735
  .media-default-skin--audio .media-controls {
645
- @media (prefers-color-scheme: dark) {
646
- color: oklch(1 0 0);
647
- }
736
+ color: var(--media-text-color);
648
737
  }
649
738
 
650
739
  /* ==========================================================================
651
740
  Sliders
652
741
  ========================================================================== */
742
+
653
743
  .media-default-skin--audio .media-slider__track {
654
744
  background-color: oklch(0 0 0 / 0.1);
655
745
 
@@ -1 +1 @@
1
- {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/presets/audio/skin.tsx"],"mappings":";;;;KAyBY,cAAA,GAAiB,aAAA;AAAA,iBAab,SAAA,CAAU,KAAA,EAAO,cAAA,GAAiB,SAAA"}
1
+ {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/presets/audio/skin.tsx"],"mappings":";;;;KA2BY,cAAA,GAAiB,aAAA;AAAA,iBAyCb,SAAA,CAAU,KAAA,EAAO,cAAA,GAAiB,SAAA"}