@videojs/react 10.0.0-alpha.9 → 10.0.0-beta.10

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