@videojs/react 10.0.0-beta.11 → 10.0.0-beta.13

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 (684) hide show
  1. package/dist/default/_virtual/_rolldown/runtime.js +6 -11
  2. package/dist/default/icons/dist/react/default/captions-off.js +1 -2
  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 -2
  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 -2
  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 -2
  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 -2
  11. package/dist/default/icons/dist/react/default/pause.js.map +1 -1
  12. package/dist/default/icons/dist/react/default/pip-enter.js +1 -2
  13. package/dist/default/icons/dist/react/default/pip-enter.js.map +1 -1
  14. package/dist/default/icons/dist/react/default/pip-exit.js +1 -2
  15. package/dist/default/icons/dist/react/default/pip-exit.js.map +1 -1
  16. package/dist/default/icons/dist/react/default/play.js +1 -2
  17. package/dist/default/icons/dist/react/default/play.js.map +1 -1
  18. package/dist/default/icons/dist/react/default/restart.js +1 -2
  19. package/dist/default/icons/dist/react/default/restart.js.map +1 -1
  20. package/dist/default/icons/dist/react/default/seek.js +1 -2
  21. package/dist/default/icons/dist/react/default/seek.js.map +1 -1
  22. package/dist/default/icons/dist/react/default/spinner.js +1 -2
  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 -2
  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 -2
  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 -2
  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 -2
  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 -2
  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 -2
  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 -2
  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 -2
  39. package/dist/default/icons/dist/react/minimal/pause.js.map +1 -1
  40. package/dist/default/icons/dist/react/minimal/pip-enter.js +1 -2
  41. package/dist/default/icons/dist/react/minimal/pip-enter.js.map +1 -1
  42. package/dist/default/icons/dist/react/minimal/pip-exit.js +1 -2
  43. package/dist/default/icons/dist/react/minimal/pip-exit.js.map +1 -1
  44. package/dist/default/icons/dist/react/minimal/play.js +1 -2
  45. package/dist/default/icons/dist/react/minimal/play.js.map +1 -1
  46. package/dist/default/icons/dist/react/minimal/restart.js +1 -2
  47. package/dist/default/icons/dist/react/minimal/restart.js.map +1 -1
  48. package/dist/default/icons/dist/react/minimal/seek.js +1 -2
  49. package/dist/default/icons/dist/react/minimal/seek.js.map +1 -1
  50. package/dist/default/icons/dist/react/minimal/spinner.js +1 -2
  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 -2
  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 -2
  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 -2
  57. package/dist/default/icons/dist/react/minimal/volume-off.js.map +1 -1
  58. package/dist/default/index.js +11 -12
  59. package/dist/default/media/audio.js +2 -4
  60. package/dist/default/media/audio.js.map +1 -1
  61. package/dist/default/media/background-video/index.js +2 -4
  62. package/dist/default/media/background-video/index.js.map +1 -1
  63. package/dist/default/media/dash-video/index.js +3 -4
  64. package/dist/default/media/dash-video/index.js.map +1 -1
  65. package/dist/default/media/hls-video/index.js +3 -4
  66. package/dist/default/media/hls-video/index.js.map +1 -1
  67. package/dist/default/media/mux-video/index.js +20 -0
  68. package/dist/default/media/mux-video/index.js.map +1 -0
  69. package/dist/default/media/native-hls-video/index.js +20 -0
  70. package/dist/default/media/native-hls-video/index.js.map +1 -0
  71. package/dist/default/media/simple-hls-video/index.js +3 -3
  72. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  73. package/dist/default/media/video.js +2 -4
  74. package/dist/default/media/video.js.map +1 -1
  75. package/dist/default/player/context.js +2 -4
  76. package/dist/default/player/context.js.map +1 -1
  77. package/dist/default/player/create-player.js +2 -4
  78. package/dist/default/player/create-player.js.map +1 -1
  79. package/dist/default/presets/audio/index.js +1 -2
  80. package/dist/default/presets/audio/minimal-skin.css +81 -59
  81. package/dist/default/presets/audio/minimal-skin.js +29 -17
  82. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  83. package/dist/default/presets/audio/minimal-skin.tailwind.js +25 -15
  84. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  85. package/dist/default/presets/audio/skin.css +54 -42
  86. package/dist/default/presets/audio/skin.js +102 -84
  87. package/dist/default/presets/audio/skin.js.map +1 -1
  88. package/dist/default/presets/audio/skin.tailwind.js +98 -81
  89. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  90. package/dist/default/presets/background/index.js +1 -2
  91. package/dist/default/presets/background/skin.js +1 -2
  92. package/dist/default/presets/background/skin.js.map +1 -1
  93. package/dist/default/presets/video/index.js +1 -2
  94. package/dist/default/presets/video/minimal-skin.css +156 -75
  95. package/dist/default/presets/video/minimal-skin.js +30 -18
  96. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  97. package/dist/default/presets/video/minimal-skin.tailwind.js +29 -21
  98. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  99. package/dist/default/presets/video/skin.css +114 -58
  100. package/dist/default/presets/video/skin.js +138 -117
  101. package/dist/default/presets/video/skin.js.map +1 -1
  102. package/dist/default/presets/video/skin.tailwind.js +134 -116
  103. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  104. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +12 -16
  105. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  106. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  107. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  108. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  109. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  110. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -4
  111. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  112. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  113. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  114. package/dist/default/skins/dist/default/default/tailwind/components/error.js +2 -3
  115. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  116. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  117. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  118. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  119. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  120. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  121. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  122. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +4 -5
  123. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  124. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -2
  125. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  126. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +2 -3
  127. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  128. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  129. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  130. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -2
  131. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  132. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  133. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  134. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  135. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  136. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  137. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  138. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +24 -19
  139. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  140. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -14
  141. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  142. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  143. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  144. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  145. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  146. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  147. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  148. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  149. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  150. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  154. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  155. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  156. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  157. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  158. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  159. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  160. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  161. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  162. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  168. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  169. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  170. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +21 -16
  171. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  172. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  173. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  174. package/dist/default/ui/alert-dialog/alert-dialog-close.js +2 -4
  175. package/dist/default/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  176. package/dist/default/ui/alert-dialog/alert-dialog-description.js +2 -4
  177. package/dist/default/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  178. package/dist/default/ui/alert-dialog/alert-dialog-popup.js +2 -4
  179. package/dist/default/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  180. package/dist/default/ui/alert-dialog/alert-dialog-root.js +4 -6
  181. package/dist/default/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  182. package/dist/default/ui/alert-dialog/alert-dialog-title.js +2 -4
  183. package/dist/default/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  184. package/dist/default/ui/alert-dialog/context.js +2 -4
  185. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  186. package/dist/default/ui/alert-dialog/index.js +1 -2
  187. package/dist/default/ui/alert-dialog/index.parts.js +1 -2
  188. package/dist/default/ui/buffering-indicator/buffering-indicator.js +2 -4
  189. package/dist/default/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  190. package/dist/default/ui/buffering-indicator/index.js +1 -2
  191. package/dist/default/ui/captions-button/captions-button.js +2 -4
  192. package/dist/default/ui/captions-button/captions-button.js.map +1 -1
  193. package/dist/default/ui/captions-button/index.js +1 -2
  194. package/dist/default/ui/controls/context.js +2 -4
  195. package/dist/default/ui/controls/context.js.map +1 -1
  196. package/dist/default/ui/controls/controls-group.js +2 -4
  197. package/dist/default/ui/controls/controls-group.js.map +1 -1
  198. package/dist/default/ui/controls/controls-root.js +2 -4
  199. package/dist/default/ui/controls/controls-root.js.map +1 -1
  200. package/dist/default/ui/controls/index.js +1 -2
  201. package/dist/default/ui/controls/index.parts.js +1 -2
  202. package/dist/default/ui/create-context-part.js +2 -4
  203. package/dist/default/ui/create-context-part.js.map +1 -1
  204. package/dist/default/ui/create-media-button.js +2 -4
  205. package/dist/default/ui/create-media-button.js.map +1 -1
  206. package/dist/default/ui/error-dialog/context.js +14 -0
  207. package/dist/default/ui/error-dialog/context.js.map +1 -0
  208. package/dist/default/ui/error-dialog/error-dialog-description.js +28 -0
  209. package/dist/default/ui/error-dialog/error-dialog-description.js.map +1 -0
  210. package/dist/default/ui/error-dialog/error-dialog-root.js +57 -0
  211. package/dist/default/ui/error-dialog/error-dialog-root.js.map +1 -0
  212. package/dist/default/ui/error-dialog/index.js +3 -0
  213. package/dist/default/ui/error-dialog/index.parts.js +18 -0
  214. package/dist/default/ui/error-dialog/index.parts.js.map +1 -0
  215. package/dist/default/ui/fullscreen-button/fullscreen-button.js +2 -4
  216. package/dist/default/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  217. package/dist/default/ui/fullscreen-button/index.js +1 -2
  218. package/dist/default/ui/hooks/use-button.js +2 -4
  219. package/dist/default/ui/hooks/use-button.js.map +1 -1
  220. package/dist/default/ui/hooks/use-slider.js +2 -4
  221. package/dist/default/ui/hooks/use-slider.js.map +1 -1
  222. package/dist/default/ui/mute-button/index.js +1 -2
  223. package/dist/default/ui/mute-button/mute-button.js +2 -4
  224. package/dist/default/ui/mute-button/mute-button.js.map +1 -1
  225. package/dist/default/ui/pip-button/index.js +1 -2
  226. package/dist/default/ui/pip-button/pip-button.js +2 -4
  227. package/dist/default/ui/pip-button/pip-button.js.map +1 -1
  228. package/dist/default/ui/play-button/index.js +1 -2
  229. package/dist/default/ui/play-button/play-button.js +2 -4
  230. package/dist/default/ui/play-button/play-button.js.map +1 -1
  231. package/dist/default/ui/playback-rate-button/index.js +1 -2
  232. package/dist/default/ui/playback-rate-button/playback-rate-button.js +2 -4
  233. package/dist/default/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  234. package/dist/default/ui/popover/context.js +2 -4
  235. package/dist/default/ui/popover/context.js.map +1 -1
  236. package/dist/default/ui/popover/index.js +1 -2
  237. package/dist/default/ui/popover/index.parts.js +1 -2
  238. package/dist/default/ui/popover/popover-arrow.js +2 -4
  239. package/dist/default/ui/popover/popover-arrow.js.map +1 -1
  240. package/dist/default/ui/popover/popover-popup.js +2 -4
  241. package/dist/default/ui/popover/popover-popup.js.map +1 -1
  242. package/dist/default/ui/popover/popover-root.js +3 -5
  243. package/dist/default/ui/popover/popover-root.js.map +1 -1
  244. package/dist/default/ui/popover/popover-trigger.js +2 -4
  245. package/dist/default/ui/popover/popover-trigger.js.map +1 -1
  246. package/dist/default/ui/poster/index.js +1 -2
  247. package/dist/default/ui/poster/poster.js +2 -4
  248. package/dist/default/ui/poster/poster.js.map +1 -1
  249. package/dist/default/ui/seek-button/index.js +1 -2
  250. package/dist/default/ui/seek-button/seek-button.js +2 -4
  251. package/dist/default/ui/seek-button/seek-button.js.map +1 -1
  252. package/dist/default/ui/slider/context.js +2 -4
  253. package/dist/default/ui/slider/context.js.map +1 -1
  254. package/dist/default/ui/slider/index.js +1 -2
  255. package/dist/default/ui/slider/index.parts.js +1 -2
  256. package/dist/default/ui/slider/slider-buffer.js +2 -4
  257. package/dist/default/ui/slider/slider-buffer.js.map +1 -1
  258. package/dist/default/ui/slider/slider-fill.js +2 -4
  259. package/dist/default/ui/slider/slider-fill.js.map +1 -1
  260. package/dist/default/ui/slider/slider-preview.js +2 -4
  261. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  262. package/dist/default/ui/slider/slider-root.js +2 -4
  263. package/dist/default/ui/slider/slider-root.js.map +1 -1
  264. package/dist/default/ui/slider/slider-thumb.js +2 -4
  265. package/dist/default/ui/slider/slider-thumb.js.map +1 -1
  266. package/dist/default/ui/slider/slider-thumbnail.js +2 -4
  267. package/dist/default/ui/slider/slider-thumbnail.js.map +1 -1
  268. package/dist/default/ui/slider/slider-track.js +2 -4
  269. package/dist/default/ui/slider/slider-track.js.map +1 -1
  270. package/dist/default/ui/slider/slider-value.js +2 -4
  271. package/dist/default/ui/slider/slider-value.js.map +1 -1
  272. package/dist/default/ui/thumbnail/index.js +1 -2
  273. package/dist/default/ui/thumbnail/thumbnail.js +2 -4
  274. package/dist/default/ui/thumbnail/thumbnail.js.map +1 -1
  275. package/dist/default/ui/time/index.js +1 -2
  276. package/dist/default/ui/time/index.parts.js +1 -2
  277. package/dist/default/ui/time/time-group.js +2 -4
  278. package/dist/default/ui/time/time-group.js.map +1 -1
  279. package/dist/default/ui/time/time-separator.js +2 -4
  280. package/dist/default/ui/time/time-separator.js.map +1 -1
  281. package/dist/default/ui/time/time-value.js +2 -4
  282. package/dist/default/ui/time/time-value.js.map +1 -1
  283. package/dist/default/ui/time-slider/index.js +1 -2
  284. package/dist/default/ui/time-slider/index.parts.js +1 -2
  285. package/dist/default/ui/time-slider/time-slider-root.js +2 -4
  286. package/dist/default/ui/time-slider/time-slider-root.js.map +1 -1
  287. package/dist/default/ui/tooltip/context.js +2 -4
  288. package/dist/default/ui/tooltip/context.js.map +1 -1
  289. package/dist/default/ui/tooltip/group-context.js +2 -4
  290. package/dist/default/ui/tooltip/group-context.js.map +1 -1
  291. package/dist/default/ui/tooltip/index.js +1 -2
  292. package/dist/default/ui/tooltip/index.parts.js +1 -2
  293. package/dist/default/ui/tooltip/tooltip-arrow.js +2 -4
  294. package/dist/default/ui/tooltip/tooltip-arrow.js.map +1 -1
  295. package/dist/default/ui/tooltip/tooltip-popup.js +2 -4
  296. package/dist/default/ui/tooltip/tooltip-popup.js.map +1 -1
  297. package/dist/default/ui/tooltip/tooltip-provider.js +2 -4
  298. package/dist/default/ui/tooltip/tooltip-provider.js.map +1 -1
  299. package/dist/default/ui/tooltip/tooltip-root.js +3 -5
  300. package/dist/default/ui/tooltip/tooltip-root.js.map +1 -1
  301. package/dist/default/ui/tooltip/tooltip-trigger.js +2 -4
  302. package/dist/default/ui/tooltip/tooltip-trigger.js.map +1 -1
  303. package/dist/default/ui/volume-slider/index.js +1 -2
  304. package/dist/default/ui/volume-slider/index.parts.js +1 -2
  305. package/dist/default/ui/volume-slider/volume-slider-root.js +2 -4
  306. package/dist/default/ui/volume-slider/volume-slider-root.js.map +1 -1
  307. package/dist/default/utils/attach-media-element.js +1 -1
  308. package/dist/default/utils/media-props.js +14 -6
  309. package/dist/default/utils/media-props.js.map +1 -1
  310. package/dist/default/utils/merge-props.js +2 -3
  311. package/dist/default/utils/merge-props.js.map +1 -1
  312. package/dist/default/utils/use-composed-refs.js +2 -4
  313. package/dist/default/utils/use-composed-refs.js.map +1 -1
  314. package/dist/default/utils/use-destroy.js +2 -4
  315. package/dist/default/utils/use-destroy.js.map +1 -1
  316. package/dist/default/utils/use-force-render.js +2 -4
  317. package/dist/default/utils/use-force-render.js.map +1 -1
  318. package/dist/default/utils/use-latest-ref.js +2 -4
  319. package/dist/default/utils/use-latest-ref.js.map +1 -1
  320. package/dist/default/utils/use-media-instance.js +2 -4
  321. package/dist/default/utils/use-media-instance.js.map +1 -1
  322. package/dist/default/utils/use-render.js +2 -4
  323. package/dist/default/utils/use-render.js.map +1 -1
  324. package/dist/default/utils/use-safe-id.js +3 -5
  325. package/dist/default/utils/use-safe-id.js.map +1 -1
  326. package/dist/dev/_virtual/_rolldown/runtime.js +6 -11
  327. package/dist/dev/icons/dist/react/default/captions-off.js +1 -2
  328. package/dist/dev/icons/dist/react/default/captions-off.js.map +1 -1
  329. package/dist/dev/icons/dist/react/default/captions-on.js +1 -2
  330. package/dist/dev/icons/dist/react/default/captions-on.js.map +1 -1
  331. package/dist/dev/icons/dist/react/default/fullscreen-enter.js +1 -2
  332. package/dist/dev/icons/dist/react/default/fullscreen-enter.js.map +1 -1
  333. package/dist/dev/icons/dist/react/default/fullscreen-exit.js +1 -2
  334. package/dist/dev/icons/dist/react/default/fullscreen-exit.js.map +1 -1
  335. package/dist/dev/icons/dist/react/default/pause.js +1 -2
  336. package/dist/dev/icons/dist/react/default/pause.js.map +1 -1
  337. package/dist/dev/icons/dist/react/default/pip-enter.js +1 -2
  338. package/dist/dev/icons/dist/react/default/pip-enter.js.map +1 -1
  339. package/dist/dev/icons/dist/react/default/pip-exit.js +1 -2
  340. package/dist/dev/icons/dist/react/default/pip-exit.js.map +1 -1
  341. package/dist/dev/icons/dist/react/default/play.js +1 -2
  342. package/dist/dev/icons/dist/react/default/play.js.map +1 -1
  343. package/dist/dev/icons/dist/react/default/restart.js +1 -2
  344. package/dist/dev/icons/dist/react/default/restart.js.map +1 -1
  345. package/dist/dev/icons/dist/react/default/seek.js +1 -2
  346. package/dist/dev/icons/dist/react/default/seek.js.map +1 -1
  347. package/dist/dev/icons/dist/react/default/spinner.js +1 -2
  348. package/dist/dev/icons/dist/react/default/spinner.js.map +1 -1
  349. package/dist/dev/icons/dist/react/default/volume-high.js +1 -2
  350. package/dist/dev/icons/dist/react/default/volume-high.js.map +1 -1
  351. package/dist/dev/icons/dist/react/default/volume-low.js +1 -2
  352. package/dist/dev/icons/dist/react/default/volume-low.js.map +1 -1
  353. package/dist/dev/icons/dist/react/default/volume-off.js +1 -2
  354. package/dist/dev/icons/dist/react/default/volume-off.js.map +1 -1
  355. package/dist/dev/icons/dist/react/minimal/captions-off.js +1 -2
  356. package/dist/dev/icons/dist/react/minimal/captions-off.js.map +1 -1
  357. package/dist/dev/icons/dist/react/minimal/captions-on.js +1 -2
  358. package/dist/dev/icons/dist/react/minimal/captions-on.js.map +1 -1
  359. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js +1 -2
  360. package/dist/dev/icons/dist/react/minimal/fullscreen-enter.js.map +1 -1
  361. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js +1 -2
  362. package/dist/dev/icons/dist/react/minimal/fullscreen-exit.js.map +1 -1
  363. package/dist/dev/icons/dist/react/minimal/pause.js +1 -2
  364. package/dist/dev/icons/dist/react/minimal/pause.js.map +1 -1
  365. package/dist/dev/icons/dist/react/minimal/pip-enter.js +1 -2
  366. package/dist/dev/icons/dist/react/minimal/pip-enter.js.map +1 -1
  367. package/dist/dev/icons/dist/react/minimal/pip-exit.js +1 -2
  368. package/dist/dev/icons/dist/react/minimal/pip-exit.js.map +1 -1
  369. package/dist/dev/icons/dist/react/minimal/play.js +1 -2
  370. package/dist/dev/icons/dist/react/minimal/play.js.map +1 -1
  371. package/dist/dev/icons/dist/react/minimal/restart.js +1 -2
  372. package/dist/dev/icons/dist/react/minimal/restart.js.map +1 -1
  373. package/dist/dev/icons/dist/react/minimal/seek.js +1 -2
  374. package/dist/dev/icons/dist/react/minimal/seek.js.map +1 -1
  375. package/dist/dev/icons/dist/react/minimal/spinner.js +1 -2
  376. package/dist/dev/icons/dist/react/minimal/spinner.js.map +1 -1
  377. package/dist/dev/icons/dist/react/minimal/volume-high.js +1 -2
  378. package/dist/dev/icons/dist/react/minimal/volume-high.js.map +1 -1
  379. package/dist/dev/icons/dist/react/minimal/volume-low.js +1 -2
  380. package/dist/dev/icons/dist/react/minimal/volume-low.js.map +1 -1
  381. package/dist/dev/icons/dist/react/minimal/volume-off.js +1 -2
  382. package/dist/dev/icons/dist/react/minimal/volume-off.js.map +1 -1
  383. package/dist/dev/index.d.ts +10 -8
  384. package/dist/dev/index.js +11 -12
  385. package/dist/dev/media/audio.js +2 -4
  386. package/dist/dev/media/audio.js.map +1 -1
  387. package/dist/dev/media/background-video/index.js +2 -4
  388. package/dist/dev/media/background-video/index.js.map +1 -1
  389. package/dist/dev/media/dash-video/index.d.ts +4 -2
  390. package/dist/dev/media/dash-video/index.d.ts.map +1 -1
  391. package/dist/dev/media/dash-video/index.js +3 -4
  392. package/dist/dev/media/dash-video/index.js.map +1 -1
  393. package/dist/dev/media/hls-video/index.d.ts +4 -2
  394. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  395. package/dist/dev/media/hls-video/index.js +3 -4
  396. package/dist/dev/media/hls-video/index.js.map +1 -1
  397. package/dist/dev/media/mux-video/index.d.ts +13 -0
  398. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  399. package/dist/dev/media/mux-video/index.js +20 -0
  400. package/dist/dev/media/mux-video/index.js.map +1 -0
  401. package/dist/dev/media/native-hls-video/index.d.ts +13 -0
  402. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  403. package/dist/dev/media/native-hls-video/index.js +20 -0
  404. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  405. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  406. package/dist/dev/media/simple-hls-video/index.js +3 -3
  407. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  408. package/dist/dev/media/video.js +2 -4
  409. package/dist/dev/media/video.js.map +1 -1
  410. package/dist/dev/player/context.js +2 -4
  411. package/dist/dev/player/context.js.map +1 -1
  412. package/dist/dev/player/create-player.js +2 -4
  413. package/dist/dev/player/create-player.js.map +1 -1
  414. package/dist/dev/presets/audio/index.js +1 -2
  415. package/dist/dev/presets/audio/minimal-skin.css +81 -59
  416. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  417. package/dist/dev/presets/audio/minimal-skin.js +29 -17
  418. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  419. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  420. package/dist/dev/presets/audio/minimal-skin.tailwind.js +25 -15
  421. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  422. package/dist/dev/presets/audio/skin.css +54 -42
  423. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  424. package/dist/dev/presets/audio/skin.js +102 -84
  425. package/dist/dev/presets/audio/skin.js.map +1 -1
  426. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  427. package/dist/dev/presets/audio/skin.tailwind.js +98 -81
  428. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  429. package/dist/dev/presets/background/index.js +1 -2
  430. package/dist/dev/presets/background/skin.js +1 -2
  431. package/dist/dev/presets/background/skin.js.map +1 -1
  432. package/dist/dev/presets/video/index.js +1 -2
  433. package/dist/dev/presets/video/minimal-skin.css +156 -75
  434. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  435. package/dist/dev/presets/video/minimal-skin.js +30 -18
  436. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  437. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  438. package/dist/dev/presets/video/minimal-skin.tailwind.js +29 -21
  439. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  440. package/dist/dev/presets/video/skin.css +114 -58
  441. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  442. package/dist/dev/presets/video/skin.js +138 -117
  443. package/dist/dev/presets/video/skin.js.map +1 -1
  444. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  445. package/dist/dev/presets/video/skin.tailwind.js +134 -116
  446. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  447. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +12 -16
  448. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  449. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  450. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  451. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  452. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  453. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -4
  454. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  455. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  456. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  457. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +2 -3
  458. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  459. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  460. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  461. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  462. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  463. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  464. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  465. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +4 -5
  466. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  467. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +1 -2
  468. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  469. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +2 -3
  470. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -1
  471. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  472. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  473. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -2
  474. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  475. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  476. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  477. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  478. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  479. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  480. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  481. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +24 -19
  482. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  483. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +13 -14
  484. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  485. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  486. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  487. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  488. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  489. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +2 -3
  490. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  491. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  492. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  493. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +2 -3
  494. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  495. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  496. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  497. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  498. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  499. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +2 -3
  500. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  501. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +1 -2
  502. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  503. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +2 -3
  504. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -1
  505. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  506. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  507. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -2
  508. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  509. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  510. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  511. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  512. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  513. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +21 -16
  514. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  515. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +1 -1
  516. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  517. package/dist/dev/ui/alert-dialog/alert-dialog-close.js +2 -4
  518. package/dist/dev/ui/alert-dialog/alert-dialog-close.js.map +1 -1
  519. package/dist/dev/ui/alert-dialog/alert-dialog-description.js +2 -4
  520. package/dist/dev/ui/alert-dialog/alert-dialog-description.js.map +1 -1
  521. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js +2 -4
  522. package/dist/dev/ui/alert-dialog/alert-dialog-popup.js.map +1 -1
  523. package/dist/dev/ui/alert-dialog/alert-dialog-root.js +4 -6
  524. package/dist/dev/ui/alert-dialog/alert-dialog-root.js.map +1 -1
  525. package/dist/dev/ui/alert-dialog/alert-dialog-title.js +2 -4
  526. package/dist/dev/ui/alert-dialog/alert-dialog-title.js.map +1 -1
  527. package/dist/dev/ui/alert-dialog/context.js +2 -4
  528. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  529. package/dist/dev/ui/alert-dialog/index.js +1 -2
  530. package/dist/dev/ui/alert-dialog/index.parts.js +1 -2
  531. package/dist/dev/ui/buffering-indicator/buffering-indicator.js +2 -4
  532. package/dist/dev/ui/buffering-indicator/buffering-indicator.js.map +1 -1
  533. package/dist/dev/ui/buffering-indicator/index.js +1 -2
  534. package/dist/dev/ui/captions-button/captions-button.js +2 -4
  535. package/dist/dev/ui/captions-button/captions-button.js.map +1 -1
  536. package/dist/dev/ui/captions-button/index.js +1 -2
  537. package/dist/dev/ui/controls/context.js +2 -4
  538. package/dist/dev/ui/controls/context.js.map +1 -1
  539. package/dist/dev/ui/controls/controls-group.js +2 -4
  540. package/dist/dev/ui/controls/controls-group.js.map +1 -1
  541. package/dist/dev/ui/controls/controls-root.js +2 -4
  542. package/dist/dev/ui/controls/controls-root.js.map +1 -1
  543. package/dist/dev/ui/controls/index.js +1 -2
  544. package/dist/dev/ui/controls/index.parts.js +1 -2
  545. package/dist/dev/ui/create-context-part.js +2 -4
  546. package/dist/dev/ui/create-context-part.js.map +1 -1
  547. package/dist/dev/ui/create-media-button.js +2 -4
  548. package/dist/dev/ui/create-media-button.js.map +1 -1
  549. package/dist/dev/ui/error-dialog/context.d.ts +9 -0
  550. package/dist/dev/ui/error-dialog/context.d.ts.map +1 -0
  551. package/dist/dev/ui/error-dialog/context.js +14 -0
  552. package/dist/dev/ui/error-dialog/context.js.map +1 -0
  553. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts +14 -0
  554. package/dist/dev/ui/error-dialog/error-dialog-description.d.ts.map +1 -0
  555. package/dist/dev/ui/error-dialog/error-dialog-description.js +28 -0
  556. package/dist/dev/ui/error-dialog/error-dialog-description.js.map +1 -0
  557. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts +15 -0
  558. package/dist/dev/ui/error-dialog/error-dialog-root.d.ts.map +1 -0
  559. package/dist/dev/ui/error-dialog/error-dialog-root.js +57 -0
  560. package/dist/dev/ui/error-dialog/error-dialog-root.js.map +1 -0
  561. package/dist/dev/ui/error-dialog/index.d.ts +3 -0
  562. package/dist/dev/ui/error-dialog/index.js +3 -0
  563. package/dist/dev/ui/error-dialog/index.parts.d.ts +13 -0
  564. package/dist/dev/ui/error-dialog/index.parts.d.ts.map +1 -0
  565. package/dist/dev/ui/error-dialog/index.parts.js +18 -0
  566. package/dist/dev/ui/error-dialog/index.parts.js.map +1 -0
  567. package/dist/dev/ui/fullscreen-button/fullscreen-button.js +2 -4
  568. package/dist/dev/ui/fullscreen-button/fullscreen-button.js.map +1 -1
  569. package/dist/dev/ui/fullscreen-button/index.js +1 -2
  570. package/dist/dev/ui/hooks/use-button.js +2 -4
  571. package/dist/dev/ui/hooks/use-button.js.map +1 -1
  572. package/dist/dev/ui/hooks/use-slider.js +2 -4
  573. package/dist/dev/ui/hooks/use-slider.js.map +1 -1
  574. package/dist/dev/ui/mute-button/index.js +1 -2
  575. package/dist/dev/ui/mute-button/mute-button.js +2 -4
  576. package/dist/dev/ui/mute-button/mute-button.js.map +1 -1
  577. package/dist/dev/ui/pip-button/index.js +1 -2
  578. package/dist/dev/ui/pip-button/pip-button.js +2 -4
  579. package/dist/dev/ui/pip-button/pip-button.js.map +1 -1
  580. package/dist/dev/ui/play-button/index.js +1 -2
  581. package/dist/dev/ui/play-button/play-button.js +2 -4
  582. package/dist/dev/ui/play-button/play-button.js.map +1 -1
  583. package/dist/dev/ui/playback-rate-button/index.js +1 -2
  584. package/dist/dev/ui/playback-rate-button/playback-rate-button.js +2 -4
  585. package/dist/dev/ui/playback-rate-button/playback-rate-button.js.map +1 -1
  586. package/dist/dev/ui/popover/context.js +2 -4
  587. package/dist/dev/ui/popover/context.js.map +1 -1
  588. package/dist/dev/ui/popover/index.js +1 -2
  589. package/dist/dev/ui/popover/index.parts.js +1 -2
  590. package/dist/dev/ui/popover/popover-arrow.js +2 -4
  591. package/dist/dev/ui/popover/popover-arrow.js.map +1 -1
  592. package/dist/dev/ui/popover/popover-popup.js +2 -4
  593. package/dist/dev/ui/popover/popover-popup.js.map +1 -1
  594. package/dist/dev/ui/popover/popover-root.js +3 -5
  595. package/dist/dev/ui/popover/popover-root.js.map +1 -1
  596. package/dist/dev/ui/popover/popover-trigger.js +2 -4
  597. package/dist/dev/ui/popover/popover-trigger.js.map +1 -1
  598. package/dist/dev/ui/poster/index.js +1 -2
  599. package/dist/dev/ui/poster/poster.js +2 -4
  600. package/dist/dev/ui/poster/poster.js.map +1 -1
  601. package/dist/dev/ui/seek-button/index.js +1 -2
  602. package/dist/dev/ui/seek-button/seek-button.js +2 -4
  603. package/dist/dev/ui/seek-button/seek-button.js.map +1 -1
  604. package/dist/dev/ui/slider/context.js +2 -4
  605. package/dist/dev/ui/slider/context.js.map +1 -1
  606. package/dist/dev/ui/slider/index.js +1 -2
  607. package/dist/dev/ui/slider/index.parts.js +1 -2
  608. package/dist/dev/ui/slider/slider-buffer.js +2 -4
  609. package/dist/dev/ui/slider/slider-buffer.js.map +1 -1
  610. package/dist/dev/ui/slider/slider-fill.js +2 -4
  611. package/dist/dev/ui/slider/slider-fill.js.map +1 -1
  612. package/dist/dev/ui/slider/slider-preview.js +2 -4
  613. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  614. package/dist/dev/ui/slider/slider-root.js +2 -4
  615. package/dist/dev/ui/slider/slider-root.js.map +1 -1
  616. package/dist/dev/ui/slider/slider-thumb.js +2 -4
  617. package/dist/dev/ui/slider/slider-thumb.js.map +1 -1
  618. package/dist/dev/ui/slider/slider-thumbnail.js +2 -4
  619. package/dist/dev/ui/slider/slider-thumbnail.js.map +1 -1
  620. package/dist/dev/ui/slider/slider-track.js +2 -4
  621. package/dist/dev/ui/slider/slider-track.js.map +1 -1
  622. package/dist/dev/ui/slider/slider-value.js +2 -4
  623. package/dist/dev/ui/slider/slider-value.js.map +1 -1
  624. package/dist/dev/ui/thumbnail/index.js +1 -2
  625. package/dist/dev/ui/thumbnail/thumbnail.js +2 -4
  626. package/dist/dev/ui/thumbnail/thumbnail.js.map +1 -1
  627. package/dist/dev/ui/time/index.js +1 -2
  628. package/dist/dev/ui/time/index.parts.js +1 -2
  629. package/dist/dev/ui/time/time-group.js +2 -4
  630. package/dist/dev/ui/time/time-group.js.map +1 -1
  631. package/dist/dev/ui/time/time-separator.js +2 -4
  632. package/dist/dev/ui/time/time-separator.js.map +1 -1
  633. package/dist/dev/ui/time/time-value.js +2 -4
  634. package/dist/dev/ui/time/time-value.js.map +1 -1
  635. package/dist/dev/ui/time-slider/index.js +1 -2
  636. package/dist/dev/ui/time-slider/index.parts.js +1 -2
  637. package/dist/dev/ui/time-slider/time-slider-root.js +2 -4
  638. package/dist/dev/ui/time-slider/time-slider-root.js.map +1 -1
  639. package/dist/dev/ui/tooltip/context.js +2 -4
  640. package/dist/dev/ui/tooltip/context.js.map +1 -1
  641. package/dist/dev/ui/tooltip/group-context.js +2 -4
  642. package/dist/dev/ui/tooltip/group-context.js.map +1 -1
  643. package/dist/dev/ui/tooltip/index.js +1 -2
  644. package/dist/dev/ui/tooltip/index.parts.js +1 -2
  645. package/dist/dev/ui/tooltip/tooltip-arrow.js +2 -4
  646. package/dist/dev/ui/tooltip/tooltip-arrow.js.map +1 -1
  647. package/dist/dev/ui/tooltip/tooltip-popup.js +2 -4
  648. package/dist/dev/ui/tooltip/tooltip-popup.js.map +1 -1
  649. package/dist/dev/ui/tooltip/tooltip-provider.js +2 -4
  650. package/dist/dev/ui/tooltip/tooltip-provider.js.map +1 -1
  651. package/dist/dev/ui/tooltip/tooltip-root.js +3 -5
  652. package/dist/dev/ui/tooltip/tooltip-root.js.map +1 -1
  653. package/dist/dev/ui/tooltip/tooltip-trigger.js +2 -4
  654. package/dist/dev/ui/tooltip/tooltip-trigger.js.map +1 -1
  655. package/dist/dev/ui/volume-slider/index.js +1 -2
  656. package/dist/dev/ui/volume-slider/index.parts.js +1 -2
  657. package/dist/dev/ui/volume-slider/volume-slider-root.js +2 -4
  658. package/dist/dev/ui/volume-slider/volume-slider-root.js.map +1 -1
  659. package/dist/dev/utils/attach-media-element.js +1 -1
  660. package/dist/dev/utils/media-props.d.ts +2 -301
  661. package/dist/dev/utils/media-props.d.ts.map +1 -1
  662. package/dist/dev/utils/media-props.js +14 -6
  663. package/dist/dev/utils/media-props.js.map +1 -1
  664. package/dist/dev/utils/merge-props.js +2 -3
  665. package/dist/dev/utils/merge-props.js.map +1 -1
  666. package/dist/dev/utils/use-composed-refs.js +2 -4
  667. package/dist/dev/utils/use-composed-refs.js.map +1 -1
  668. package/dist/dev/utils/use-destroy.js +2 -4
  669. package/dist/dev/utils/use-destroy.js.map +1 -1
  670. package/dist/dev/utils/use-force-render.js +2 -4
  671. package/dist/dev/utils/use-force-render.js.map +1 -1
  672. package/dist/dev/utils/use-latest-ref.js +2 -4
  673. package/dist/dev/utils/use-latest-ref.js.map +1 -1
  674. package/dist/dev/utils/use-media-instance.js +2 -4
  675. package/dist/dev/utils/use-media-instance.js.map +1 -1
  676. package/dist/dev/utils/use-render.js +2 -4
  677. package/dist/dev/utils/use-render.js.map +1 -1
  678. package/dist/dev/utils/use-safe-id.js +3 -5
  679. package/dist/dev/utils/use-safe-id.js.map +1 -1
  680. package/package.json +9 -9
  681. package/dist/default/presets/error-dialog.js +0 -51
  682. package/dist/default/presets/error-dialog.js.map +0 -1
  683. package/dist/dev/presets/error-dialog.js +0 -51
  684. package/dist/dev/presets/error-dialog.js.map +0 -1
@@ -1,8 +1,13 @@
1
1
  import { Container, usePlayer } from "../../player/context.js";
2
2
  import { isRenderProp } from "../../utils/use-render.js";
3
+ import { AlertDialogClose } from "../../ui/alert-dialog/alert-dialog-close.js";
4
+ import { AlertDialogPopup } from "../../ui/alert-dialog/alert-dialog-popup.js";
5
+ import { AlertDialogTitle } from "../../ui/alert-dialog/alert-dialog-title.js";
3
6
  import { BufferingIndicator } from "../../ui/buffering-indicator/buffering-indicator.js";
4
7
  import { CaptionsButton } from "../../ui/captions-button/captions-button.js";
5
8
  import { ControlsRoot } from "../../ui/controls/controls-root.js";
9
+ import { ErrorDialogDescription } from "../../ui/error-dialog/error-dialog-description.js";
10
+ import { ErrorDialogRoot } from "../../ui/error-dialog/error-dialog-root.js";
6
11
  import { FullscreenButton } from "../../ui/fullscreen-button/fullscreen-button.js";
7
12
  import { MuteButton } from "../../ui/mute-button/mute-button.js";
8
13
  import { PiPButton } from "../../ui/pip-button/pip-button.js";
@@ -42,34 +47,21 @@ import SpinnerIcon from "../../icons/dist/react/minimal/spinner.js";
42
47
  import VolumeHighIcon from "../../icons/dist/react/minimal/volume-high.js";
43
48
  import VolumeLowIcon from "../../icons/dist/react/minimal/volume-low.js";
44
49
  import VolumeOffIcon from "../../icons/dist/react/minimal/volume-off.js";
45
- import { ErrorDialog } from "../error-dialog.js";
46
50
  import { iconState } from "../../skins/dist/default/shared/tailwind/icon-state.js";
47
51
  import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
48
52
  import { bufferingIndicator } from "../../skins/dist/default/minimal/tailwind/components/buffering.js";
49
53
  import { button } from "../../skins/dist/default/minimal/tailwind/components/button.js";
50
- import { buttonGroup } from "../../skins/dist/default/minimal/tailwind/components/button-group.js";
51
54
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
52
55
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
53
- import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
54
56
  import { overlay } from "../../skins/dist/default/minimal/tailwind/components/overlay.js";
55
57
  import { poster } from "../../skins/dist/default/minimal/tailwind/components/poster.js";
56
- import { controls, error, popup, preview, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
58
+ import { buttonGroupEnd, buttonGroupStart, controls, error, popup, preview, root, slider, time } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
57
59
  import { forwardRef } from "react";
58
60
  import { isString } from "@videojs/utils/predicate";
59
61
  import { jsx, jsxs } from "react/jsx-runtime";
60
62
  import { cn } from "@videojs/utils/style";
61
-
62
63
  //#region src/presets/video/minimal-skin.tailwind.tsx
63
64
  const SEEK_TIME = 10;
64
- const ERROR_CLASSNAMES = {
65
- root: error.root,
66
- dialog: error.dialog,
67
- content: error.content,
68
- title: error.title,
69
- description: error.description,
70
- actions: error.actions,
71
- close: cn(button.base, button.primary)
72
- };
73
65
  const Button = forwardRef(function Button({ className, ...props }, ref) {
74
66
  return /* @__PURE__ */ jsx("button", {
75
67
  ref,
@@ -178,13 +170,31 @@ function MinimalVideoSkinTailwind(props) {
178
170
  className: bufferingIndicator,
179
171
  children: /* @__PURE__ */ jsx(SpinnerIcon, { className: icon })
180
172
  }) }),
181
- /* @__PURE__ */ jsx(ErrorDialog, { classNames: ERROR_CLASSNAMES }),
173
+ /* @__PURE__ */ jsx(ErrorDialogRoot, { children: /* @__PURE__ */ jsx(AlertDialogPopup, {
174
+ className: error.root,
175
+ children: /* @__PURE__ */ jsxs("div", {
176
+ className: error.dialog,
177
+ children: [/* @__PURE__ */ jsxs("div", {
178
+ className: error.content,
179
+ children: [/* @__PURE__ */ jsx(AlertDialogTitle, {
180
+ className: error.title,
181
+ children: "Something went wrong."
182
+ }), /* @__PURE__ */ jsx(ErrorDialogDescription, { className: error.description })]
183
+ }), /* @__PURE__ */ jsx("div", {
184
+ className: error.actions,
185
+ children: /* @__PURE__ */ jsx(AlertDialogClose, {
186
+ className: cn(button.base, button.primary),
187
+ children: "OK"
188
+ })
189
+ })]
190
+ })
191
+ }) }),
182
192
  /* @__PURE__ */ jsx(ControlsRoot, {
183
193
  "data-controls": "",
184
194
  className: controls,
185
195
  children: /* @__PURE__ */ jsxs(TooltipProvider, { children: [
186
196
  /* @__PURE__ */ jsxs("div", {
187
- className: buttonGroup,
197
+ className: buttonGroupStart,
188
198
  children: [
189
199
  /* @__PURE__ */ jsxs(TooltipRoot, {
190
200
  side: "top",
@@ -205,7 +215,6 @@ function MinimalVideoSkinTailwind(props) {
205
215
  side: "top",
206
216
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
207
217
  seconds: -SEEK_TIME,
208
- className: seek.button,
209
218
  render: /* @__PURE__ */ jsx(Button, {}),
210
219
  children: /* @__PURE__ */ jsxs("span", {
211
220
  className: iconContainer,
@@ -227,7 +236,6 @@ function MinimalVideoSkinTailwind(props) {
227
236
  side: "top",
228
237
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
229
238
  seconds: SEEK_TIME,
230
- className: seek.button,
231
239
  render: /* @__PURE__ */ jsx(Button, {}),
232
240
  children: /* @__PURE__ */ jsxs("span", {
233
241
  className: iconContainer,
@@ -279,7 +287,7 @@ function MinimalVideoSkinTailwind(props) {
279
287
  }),
280
288
  /* @__PURE__ */ jsx(SliderValue, {
281
289
  type: "pointer",
282
- className: preview.timestamp
290
+ className: preview.time
283
291
  }),
284
292
  /* @__PURE__ */ jsx(SpinnerIcon, { className: cn(icon, preview.spinner) })
285
293
  ]
@@ -288,7 +296,7 @@ function MinimalVideoSkinTailwind(props) {
288
296
  })]
289
297
  }),
290
298
  /* @__PURE__ */ jsxs("div", {
291
- className: buttonGroup,
299
+ className: buttonGroupEnd,
292
300
  children: [
293
301
  /* @__PURE__ */ jsxs(TooltipRoot, {
294
302
  side: "top",
@@ -342,7 +350,7 @@ function MinimalVideoSkinTailwind(props) {
342
350
  ]
343
351
  });
344
352
  }
345
-
346
353
  //#endregion
347
354
  export { MinimalVideoSkinTailwind };
355
+
348
356
  //# sourceMappingURL=minimal-skin.tailwind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Controls.Root","Tooltip.Provider","Tooltip.Root","Tooltip.Trigger","Tooltip.Popup","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Track","TimeSlider.Fill","TimeSlider.Buffer","TimeSlider.Thumb","Slider.Thumbnail","TimeSlider.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["import {\n CaptionsOffIcon,\n CaptionsOnIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n RestartIcon,\n SeekIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@videojs/icons/react/minimal';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\nimport {\n bufferingIndicator,\n button,\n buttonGroup,\n controls,\n error,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n poster,\n preview,\n root,\n seek,\n slider,\n time,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { Container, usePlayer } from '@/player/context';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { Controls } from '@/ui/controls';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { PlaybackRateButton } from '@/ui/playback-rate-button';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { SeekButton } from '@/ui/seek-button';\nimport { Slider } from '@/ui/slider';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport { ErrorDialog } from '../error-dialog';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\n\nconst ERROR_CLASSNAMES = {\n root: error.root,\n dialog: error.dialog,\n content: error.content,\n title: error.title,\n description: error.description,\n actions: error.actions,\n close: cn(button.base, button.primary),\n};\n\n/* --------------------------------------- Components ---------------------------------------- */\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button ref={ref} type=\"button\" className={cn(button.base, button.subtle, button.icon, className)} {...props} />\n );\n});\n\nconst SliderRoot = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderRoot({ className, ...props }, ref) {\n return <div ref={ref} className={cn(slider.root, className)} {...props} />;\n});\n\nconst SliderTrack = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderTrack(\n { className, ...props },\n ref\n) {\n return <div ref={ref} className={cn(slider.track, className)} {...props} />;\n});\n\nconst SliderFill = forwardRef<HTMLDivElement, ComponentProps<'div'> & { type?: 'fill' | 'buffer' }>(function SliderFill(\n { type = 'fill', className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.fill.base, type === 'fill' ? slider.fill.fill : slider.fill.buffer, className)}\n {...props}\n />\n );\n});\n\nconst SliderBuffer = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderBuffer(props, ref) {\n return <SliderFill type=\"buffer\" ref={ref} {...props} />;\n});\n\nconst SliderThumb = forwardRef<HTMLDivElement, ComponentProps<'div'> & { persistent?: boolean }>(function SliderThumb(\n { persistent, className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.thumb.base, persistent ? undefined : slider.thumb.interactive, className)}\n {...props}\n />\n );\n});\n\nfunction PlayLabel(): string {\n const paused = usePlayer((s) => Boolean(s.paused));\n const ended = usePlayer((s) => Boolean(s.ended));\n if (ended) return 'Replay';\n return paused ? 'Play' : 'Pause';\n}\n\nfunction CaptionsLabel(): string {\n const active = usePlayer((s) => Boolean(s.subtitlesShowing));\n return active ? 'Disable captions' : 'Enable captions';\n}\n\nfunction PiPLabel(): string {\n const pip = usePlayer((s) => Boolean(s.pip));\n return pip ? 'Exit picture-in-picture' : 'Enter picture-in-picture';\n}\n\nfunction FullscreenLabel(): string {\n const fullscreen = usePlayer((s) => Boolean(s.fullscreen));\n return fullscreen ? 'Exit fullscreen' : 'Enter fullscreen';\n}\n\nfunction VolumePopover(): ReactNode {\n const volumeUnsupported = usePlayer((s) => s.volumeAvailability === 'unsupported');\n\n const muteButton = (\n <MuteButton className={iconState.mute.button} render={<Button />}>\n <VolumeOffIcon className={cn(icon, iconState.mute.volumeOff)} />\n <VolumeLowIcon className={cn(icon, iconState.mute.volumeLow)} />\n <VolumeHighIcon className={cn(icon, iconState.mute.volumeHigh)} />\n </MuteButton>\n );\n\n if (volumeUnsupported) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"top\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={cn(popup.volume)}>\n <VolumeSlider.Root orientation=\"vertical\" thumbAlignment=\"edge\" render={<SliderRoot />}>\n <VolumeSlider.Track render={<SliderTrack />}>\n <VolumeSlider.Fill render={<SliderFill />} />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb render={(props) => <SliderThumb persistent {...props} />} />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster: posterProp, ...rest } = props;\n\n return (\n <Container className={cn(root(false), className)} {...rest}>\n {children}\n\n {posterProp && (\n <Poster\n src={isString(posterProp) ? posterProp : undefined}\n render={isRenderProp(posterProp) ? posterProp : undefined}\n className={poster(false)}\n />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className={bufferingIndicator}>\n <SpinnerIcon className={icon} />\n </div>\n )}\n />\n\n <ErrorDialog classNames={ERROR_CLASSNAMES} />\n\n <Controls.Root\n data-controls=\"\" // Used as a hook for Tailwind has-[] styles\n className={controls}\n >\n <Tooltip.Provider>\n <div className={buttonGroup}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className={iconState.play.button} render={<Button />}>\n <RestartIcon className={cn(icon, iconState.play.restart)} />\n <PlayIcon className={cn(icon, iconState.play.play)} />\n <PauseIcon className={cn(icon, iconState.play.pause)} />\n </PlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <PlayLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={-SEEK_TIME} className={seek.button} render={<Button />}>\n <span className={iconContainer}>\n <SeekIcon className={cn(icon, iconFlipped)} />\n <span className={cn(seek.label, seek.labelBackward)}>{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>Seek backward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={SEEK_TIME} className={seek.button} render={<Button />}>\n <span className={iconContainer}>\n <SeekIcon className={icon} />\n <span className={cn(seek.label, seek.labelForward)}>{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value type=\"current\" className={time.current} />\n <Time.Separator className={time.separator} />\n <Time.Value type=\"duration\" className={time.duration} />\n </Time.Group>\n\n <TimeSlider.Root render={<SliderRoot />}>\n <TimeSlider.Track render={<SliderTrack />}>\n <TimeSlider.Fill render={<SliderFill />} />\n <TimeSlider.Buffer render={<SliderBuffer />} />\n </TimeSlider.Track>\n <TimeSlider.Thumb render={<SliderThumb />} />\n <div className={preview.root}>\n <div className={preview.thumbnailWrapper}>\n <Slider.Thumbnail className={preview.thumbnail} />\n </div>\n <TimeSlider.Value type=\"pointer\" className={preview.timestamp} />\n <SpinnerIcon className={cn(icon, preview.spinner)} />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className={buttonGroup}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger render={<PlaybackRateButton className={playbackRate.button} render={<Button />} />} />\n <Tooltip.Popup className={cn(popup.tooltip)}>Toggle playback rate</Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className={iconState.captions.button} render={<Button />}>\n <CaptionsOffIcon className={cn(icon, iconState.captions.off)} />\n <CaptionsOnIcon className={cn(icon, iconState.captions.on)} />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className={iconState.pip.button} render={<Button />}>\n <PipEnterIcon className={cn(icon, iconState.pip.off)} />\n <PipExitIcon className={cn(icon, iconState.pip.on)} />\n </PiPButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className={iconState.fullscreen.button} render={<Button />}>\n <FullscreenEnterIcon className={cn(icon, iconState.fullscreen.enter)} />\n <FullscreenExitIcon className={cn(icon, iconState.fullscreen.exit)} />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n </Container>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,MAAM,YAAY;AAElB,MAAM,mBAAmB;CACvB,MAAM,MAAM;CACZ,QAAQ,MAAM;CACd,SAAS,MAAM;CACf,OAAO,MAAM;CACb,aAAa,MAAM;CACnB,SAAS,MAAM;CACf,OAAO,GAAG,OAAO,MAAM,OAAO,QAAQ;CACvC;AAID,MAAM,SAAS,WAAwD,SAAS,OAAO,EAAE,WAAW,GAAG,SAAS,KAAK;AACnH,QACE,oBAAC;EAAY;EAAK,MAAK;EAAS,WAAW,GAAG,OAAO,MAAM,OAAO,QAAQ,OAAO,MAAM,UAAU;EAAE,GAAI;GAAS;EAElH;AAEF,MAAM,aAAa,WAAkD,SAAS,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK;AACrH,QAAO,oBAAC;EAAS;EAAK,WAAW,GAAG,OAAO,MAAM,UAAU;EAAE,GAAI;GAAS;EAC1E;AAEF,MAAM,cAAc,WAAkD,SAAS,YAC7E,EAAE,WAAW,GAAG,SAChB,KACA;AACA,QAAO,oBAAC;EAAS;EAAK,WAAW,GAAG,OAAO,OAAO,UAAU;EAAE,GAAI;GAAS;EAC3E;AAEF,MAAM,aAAa,WAAiF,SAAS,WAC3G,EAAE,OAAO,QAAQ,WAAW,GAAG,SAC/B,KACA;AACA,QACE,oBAAC;EACM;EACL,WAAW,GAAG,OAAO,KAAK,MAAM,SAAS,SAAS,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,UAAU;EACnG,GAAI;GACJ;EAEJ;AAEF,MAAM,eAAe,WAAkD,SAAS,aAAa,OAAO,KAAK;AACvG,QAAO,oBAAC;EAAW,MAAK;EAAc;EAAK,GAAI;GAAS;EACxD;AAEF,MAAM,cAAc,WAA6E,SAAS,YACxG,EAAE,YAAY,WAAW,GAAG,SAC5B,KACA;AACA,QACE,oBAAC;EACM;EACL,WAAW,GAAG,OAAO,MAAM,MAAM,aAAa,SAAY,OAAO,MAAM,aAAa,UAAU;EAC9F,GAAI;GACJ;EAEJ;AAEF,SAAS,YAAoB;CAC3B,MAAM,SAAS,WAAW,MAAM,QAAQ,EAAE,OAAO,CAAC;AAElD,KADc,WAAW,MAAM,QAAQ,EAAE,MAAM,CAAC,CACrC,QAAO;AAClB,QAAO,SAAS,SAAS;;AAG3B,SAAS,gBAAwB;AAE/B,QADe,WAAW,MAAM,QAAQ,EAAE,iBAAiB,CAAC,GAC5C,qBAAqB;;AAGvC,SAAS,WAAmB;AAE1B,QADY,WAAW,MAAM,QAAQ,EAAE,IAAI,CAAC,GAC/B,4BAA4B;;AAG3C,SAAS,kBAA0B;AAEjC,QADmB,WAAW,MAAM,QAAQ,EAAE,WAAW,CAAC,GACtC,oBAAoB;;AAG1C,SAAS,gBAA2B;CAClC,MAAM,oBAAoB,WAAW,MAAM,EAAE,uBAAuB,cAAc;CAElF,MAAM,aACJ,qBAAC;EAAW,WAAW,UAAU,KAAK;EAAQ,QAAQ,oBAAC,WAAS;;GAC9D,oBAAC,iBAAc,WAAW,GAAG,MAAM,UAAU,KAAK,UAAU,GAAI;GAChE,oBAAC,iBAAc,WAAW,GAAG,MAAM,UAAU,KAAK,UAAU,GAAI;GAChE,oBAAC,kBAAe,WAAW,GAAG,MAAM,UAAU,KAAK,WAAW,GAAI;;GACvD;AAGf,KAAI,kBAAmB,QAAO;AAE9B,QACE,qBAACA;EAAa;EAAY,OAAO;EAAK,YAAY;EAAK,MAAK;aAC1D,oBAACC,kBAAgB,QAAQ,aAAc,EACvC,oBAACC;GAAc,WAAW,GAAG,MAAM,OAAO;aACxC,qBAACC;IAAkB,aAAY;IAAW,gBAAe;IAAO,QAAQ,oBAAC,eAAa;eACpF,oBAACC;KAAmB,QAAQ,oBAAC,gBAAc;eACzC,oBAACC,gBAAkB,QAAQ,oBAAC,eAAa,GAAI;MAC1B,EACrB,oBAACC,iBAAmB,SAAS,UAAU,oBAAC;KAAY;KAAW,GAAI;MAAS,GAAI;KAC9D;IACN;GACH;;AAMnB,SAAgB,yBAAyB,OAAyC;CAChF,MAAM,EAAE,UAAU,WAAW,QAAQ,YAAY,GAAG,SAAS;AAE7D,QACE,qBAAC;EAAU,WAAW,GAAG,KAAK,MAAM,EAAE,UAAU;EAAE,GAAI;;GACnD;GAEA,cACC,oBAAC;IACC,KAAK,SAAS,WAAW,GAAG,aAAa;IACzC,QAAQ,aAAa,WAAW,GAAG,aAAa;IAChD,WAAW,OAAO,MAAM;KACxB;GAGJ,oBAAC,sBACC,SAAS,UACP,oBAAC;IAAI,GAAI;IAAO,WAAW;cACzB,oBAAC,eAAY,WAAW,OAAQ;KAC5B,GAER;GAEF,oBAAC,eAAY,YAAY,mBAAoB;GAE7C,oBAACC;IACC,iBAAc;IACd,WAAW;cAEX,qBAACC;KACC,qBAAC;MAAI,WAAW;;OACd,qBAACC;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,qBAAC;SAAW,WAAW,UAAU,KAAK;SAAQ,QAAQ,oBAAC,WAAS;;UAC9D,oBAAC,eAAY,WAAW,GAAG,MAAM,UAAU,KAAK,QAAQ,GAAI;UAC5D,oBAAC,YAAS,WAAW,GAAG,MAAM,UAAU,KAAK,KAAK,GAAI;UACtD,oBAAC,aAAU,WAAW,GAAG,MAAM,UAAU,KAAK,MAAM,GAAI;;UAC7C,GAEf,EACF,oBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;mBACzC,oBAAC,cAAY;UACC;SACH;OAEf,qBAACF;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,oBAAC;SAAW,SAAS,CAAC;SAAW,WAAW,KAAK;SAAQ,QAAQ,oBAAC,WAAS;mBACzE,qBAAC;UAAK,WAAW;qBACf,oBAAC,YAAS,WAAW,GAAG,MAAM,YAAY,GAAI,EAC9C,oBAAC;WAAK,WAAW,GAAG,KAAK,OAAO,KAAK,cAAc;qBAAG;YAAiB;WAClE;UACI,GAEf,EACF,qBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;;UAAE;UAAe;UAAU;;UAAwB;SACjF;OAEf,qBAACF;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,oBAAC;SAAW,SAAS;SAAW,WAAW,KAAK;SAAQ,QAAQ,oBAAC,WAAS;mBACxE,qBAAC;UAAK,WAAW;qBACf,oBAAC,YAAS,WAAW,OAAQ,EAC7B,oBAAC;WAAK,WAAW,GAAG,KAAK,OAAO,KAAK,aAAa;qBAAG;YAAiB;WACjE;UACI,GAEf,EACF,qBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;;UAAE;UAAc;UAAU;;UAAwB;SAChF;;OACX;KAEN,qBAAC;MAAI,WAAW,KAAK;iBACnB,qBAACC;OAAW,WAAW,KAAK;;QAC1B,oBAACC;SAAW,MAAK;SAAU,WAAW,KAAK;UAAW;QACtD,oBAACC,aAAe,WAAW,KAAK,YAAa;QAC7C,oBAACD;SAAW,MAAK;SAAW,WAAW,KAAK;UAAY;;QAC7C,EAEb,qBAACE;OAAgB,QAAQ,oBAAC,eAAa;;QACrC,qBAACC;SAAiB,QAAQ,oBAAC,gBAAc;oBACvC,oBAACC,gBAAgB,QAAQ,oBAAC,eAAa,GAAI,EAC3C,oBAACC,kBAAkB,QAAQ,oBAAC,iBAAe,GAAI;UAC9B;QACnB,oBAACC,iBAAiB,QAAQ,oBAAC,gBAAc,GAAI;QAC7C,qBAAC;SAAI,WAAW,QAAQ;;UACtB,oBAAC;WAAI,WAAW,QAAQ;qBACtB,oBAACC,mBAAiB,WAAW,QAAQ,YAAa;YAC9C;UACN,oBAACC;WAAiB,MAAK;WAAU,WAAW,QAAQ;YAAa;UACjE,oBAAC,eAAY,WAAW,GAAG,MAAM,QAAQ,QAAQ,GAAI;;UACjD;;QACU;OACd;KAEN,qBAAC;MAAI,WAAW;;OACd,qBAACZ;QAAa,MAAK;mBACjB,oBAACC,kBAAgB,QAAQ,oBAAC;SAAmB,WAAW,aAAa;SAAQ,QAAQ,oBAAC,WAAS;UAAI,GAAI,EACvG,oBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;mBAAE;UAAoC;SACpE;OAEf,oBAAC,kBAAgB;OAEjB,qBAACF;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,qBAAC;SAAe,WAAW,UAAU,SAAS;SAAQ,QAAQ,oBAAC,WAAS;oBACtE,oBAAC,mBAAgB,WAAW,GAAG,MAAM,UAAU,SAAS,IAAI,GAAI,EAChE,oBAAC,kBAAe,WAAW,GAAG,MAAM,UAAU,SAAS,GAAG,GAAI;UAC/C,GAEnB,EACF,oBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;mBACzC,oBAAC,kBAAgB;UACH;SACH;OAEf,qBAACF;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,qBAAC;SAAU,WAAW,UAAU,IAAI;SAAQ,QAAQ,oBAAC,WAAS;oBAC5D,oBAAC,gBAAa,WAAW,GAAG,MAAM,UAAU,IAAI,IAAI,GAAI,EACxD,oBAAC,eAAY,WAAW,GAAG,MAAM,UAAU,IAAI,GAAG,GAAI;UAC5C,GAEd,EACF,oBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;mBACzC,oBAAC,aAAW;UACE;SACH;OAEf,qBAACF;QAAa,MAAK;mBACjB,oBAACC,kBACC,QACE,qBAAC;SAAiB,WAAW,UAAU,WAAW;SAAQ,QAAQ,oBAAC,WAAS;oBAC1E,oBAAC,uBAAoB,WAAW,GAAG,MAAM,UAAU,WAAW,MAAM,GAAI,EACxE,oBAAC,sBAAmB,WAAW,GAAG,MAAM,UAAU,WAAW,KAAK,GAAI;UACrD,GAErB,EACF,oBAACC;SAAc,WAAW,GAAG,MAAM,QAAQ;mBACzC,oBAAC,oBAAkB;UACL;SACH;;OACX;QACW;KACL;GAEhB,oBAAC,SAAI,WAAW,UAAW;;GACjB"}
1
+ {"version":3,"file":"minimal-skin.tailwind.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Root","Tooltip.Trigger","Tooltip.Popup","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Track","TimeSlider.Fill","TimeSlider.Buffer","TimeSlider.Thumb","Slider.Thumbnail","TimeSlider.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["import {\n CaptionsOffIcon,\n CaptionsOnIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n RestartIcon,\n SeekIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@videojs/icons/react/minimal';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\nimport {\n bufferingIndicator,\n button,\n buttonGroupEnd,\n buttonGroupStart,\n controls,\n error,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n poster,\n preview,\n root,\n seek,\n slider,\n time,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { Container, usePlayer } from '@/player/context';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { PlaybackRateButton } from '@/ui/playback-rate-button';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { SeekButton } from '@/ui/seek-button';\nimport { Slider } from '@/ui/slider';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\n\n/* --------------------------------------- Components ---------------------------------------- */\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button ref={ref} type=\"button\" className={cn(button.base, button.subtle, button.icon, className)} {...props} />\n );\n});\n\nconst SliderRoot = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderRoot({ className, ...props }, ref) {\n return <div ref={ref} className={cn(slider.root, className)} {...props} />;\n});\n\nconst SliderTrack = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderTrack(\n { className, ...props },\n ref\n) {\n return <div ref={ref} className={cn(slider.track, className)} {...props} />;\n});\n\nconst SliderFill = forwardRef<HTMLDivElement, ComponentProps<'div'> & { type?: 'fill' | 'buffer' }>(function SliderFill(\n { type = 'fill', className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.fill.base, type === 'fill' ? slider.fill.fill : slider.fill.buffer, className)}\n {...props}\n />\n );\n});\n\nconst SliderBuffer = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderBuffer(props, ref) {\n return <SliderFill type=\"buffer\" ref={ref} {...props} />;\n});\n\nconst SliderThumb = forwardRef<HTMLDivElement, ComponentProps<'div'> & { persistent?: boolean }>(function SliderThumb(\n { persistent, className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.thumb.base, persistent ? undefined : slider.thumb.interactive, className)}\n {...props}\n />\n );\n});\n\nfunction PlayLabel(): string {\n const paused = usePlayer((s) => Boolean(s.paused));\n const ended = usePlayer((s) => Boolean(s.ended));\n if (ended) return 'Replay';\n return paused ? 'Play' : 'Pause';\n}\n\nfunction CaptionsLabel(): string {\n const active = usePlayer((s) => Boolean(s.subtitlesShowing));\n return active ? 'Disable captions' : 'Enable captions';\n}\n\nfunction PiPLabel(): string {\n const pip = usePlayer((s) => Boolean(s.pip));\n return pip ? 'Exit picture-in-picture' : 'Enter picture-in-picture';\n}\n\nfunction FullscreenLabel(): string {\n const fullscreen = usePlayer((s) => Boolean(s.fullscreen));\n return fullscreen ? 'Exit fullscreen' : 'Enter fullscreen';\n}\n\nfunction VolumePopover(): ReactNode {\n const volumeUnsupported = usePlayer((s) => s.volumeAvailability === 'unsupported');\n\n const muteButton = (\n <MuteButton className={iconState.mute.button} render={<Button />}>\n <VolumeOffIcon className={cn(icon, iconState.mute.volumeOff)} />\n <VolumeLowIcon className={cn(icon, iconState.mute.volumeLow)} />\n <VolumeHighIcon className={cn(icon, iconState.mute.volumeHigh)} />\n </MuteButton>\n );\n\n if (volumeUnsupported) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"top\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={cn(popup.volume)}>\n <VolumeSlider.Root orientation=\"vertical\" thumbAlignment=\"edge\" render={<SliderRoot />}>\n <VolumeSlider.Track render={<SliderTrack />}>\n <VolumeSlider.Fill render={<SliderFill />} />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb render={(props) => <SliderThumb persistent {...props} />} />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster: posterProp, ...rest } = props;\n\n return (\n <Container className={cn(root(false), className)} {...rest}>\n {children}\n\n {posterProp && (\n <Poster\n src={isString(posterProp) ? posterProp : undefined}\n render={isRenderProp(posterProp) ? posterProp : undefined}\n className={poster(false)}\n />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className={bufferingIndicator}>\n <SpinnerIcon className={icon} />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className={error.root}>\n <div className={error.dialog}>\n <div className={error.content}>\n <ErrorDialog.Title className={error.title}>Something went wrong.</ErrorDialog.Title>\n <ErrorDialog.Description className={error.description} />\n </div>\n <div className={error.actions}>\n <ErrorDialog.Close className={cn(button.base, button.primary)}>OK</ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root\n data-controls=\"\" // Used as a hook for Tailwind has-[] styles\n className={controls}\n >\n <Tooltip.Provider>\n <div className={buttonGroupStart}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className={iconState.play.button} render={<Button />}>\n <RestartIcon className={cn(icon, iconState.play.restart)} />\n <PlayIcon className={cn(icon, iconState.play.play)} />\n <PauseIcon className={cn(icon, iconState.play.pause)} />\n </PlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <PlayLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={-SEEK_TIME} render={<Button />}>\n <span className={iconContainer}>\n <SeekIcon className={cn(icon, iconFlipped)} />\n <span className={cn(seek.label, seek.labelBackward)}>{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>Seek backward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={SEEK_TIME} render={<Button />}>\n <span className={iconContainer}>\n <SeekIcon className={icon} />\n <span className={cn(seek.label, seek.labelForward)}>{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value type=\"current\" className={time.current} />\n <Time.Separator className={time.separator} />\n <Time.Value type=\"duration\" className={time.duration} />\n </Time.Group>\n\n <TimeSlider.Root render={<SliderRoot />}>\n <TimeSlider.Track render={<SliderTrack />}>\n <TimeSlider.Fill render={<SliderFill />} />\n <TimeSlider.Buffer render={<SliderBuffer />} />\n </TimeSlider.Track>\n <TimeSlider.Thumb render={<SliderThumb />} />\n <div className={preview.root}>\n <div className={preview.thumbnailWrapper}>\n <Slider.Thumbnail className={preview.thumbnail} />\n </div>\n <TimeSlider.Value type=\"pointer\" className={preview.time} />\n <SpinnerIcon className={cn(icon, preview.spinner)} />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className={buttonGroupEnd}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger render={<PlaybackRateButton className={playbackRate.button} render={<Button />} />} />\n <Tooltip.Popup className={cn(popup.tooltip)}>Toggle playback rate</Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className={iconState.captions.button} render={<Button />}>\n <CaptionsOffIcon className={cn(icon, iconState.captions.off)} />\n <CaptionsOnIcon className={cn(icon, iconState.captions.on)} />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className={iconState.pip.button} render={<Button />}>\n <PipEnterIcon className={cn(icon, iconState.pip.off)} />\n <PipExitIcon className={cn(icon, iconState.pip.on)} />\n </PiPButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className={iconState.fullscreen.button} render={<Button />}>\n <FullscreenEnterIcon className={cn(icon, iconState.fullscreen.enter)} />\n <FullscreenExitIcon className={cn(icon, iconState.fullscreen.exit)} />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n </Container>\n );\n}\n"],"mappings":"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"}
@@ -27,12 +27,12 @@
27
27
  ========================================================================== */
28
28
 
29
29
  .media-default-skin {
30
+ container: media-root / inline-size;
30
31
  position: relative;
31
32
  isolation: isolate;
32
33
  display: block;
33
34
  height: 100%;
34
35
  width: 100%;
35
- container: media-root / inline-size;
36
36
  border-radius: var(--media-border-radius, 2rem);
37
37
  font-family:
38
38
  Inter Variable,
@@ -40,11 +40,20 @@
40
40
  ui-sans-serif,
41
41
  system-ui,
42
42
  sans-serif;
43
- font-size: 0.8125rem;
44
43
  line-height: 1.5;
45
44
  letter-spacing: normal;
46
45
  -webkit-font-smoothing: auto;
47
46
  -moz-osx-font-smoothing: auto;
47
+
48
+ & > * {
49
+ font-size: 0.75rem; /* 12px at 100% font size */
50
+ }
51
+
52
+ @container media-root (width > 48rem) {
53
+ & > * {
54
+ font-size: 0.875rem; /* 14px at 100% font size */
55
+ }
56
+ }
48
57
  }
49
58
 
50
59
  /* ==========================================================================
@@ -69,14 +78,6 @@
69
78
  box-shadow: inset 0 0 0 1px var(--media-surface-inner-border-color);
70
79
  pointer-events: none;
71
80
  }
72
-
73
- @media (prefers-reduced-transparency: reduce) {
74
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.7);
75
- }
76
-
77
- @media (prefers-contrast: more) {
78
- background-color: oklch(from var(--media-surface-background-color) l c h / 0.9);
79
- }
80
81
  }
81
82
 
82
83
  /* ==========================================================================
@@ -112,12 +113,11 @@
112
113
  inset: 0;
113
114
  border-radius: inherit;
114
115
  background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
115
- backdrop-filter: blur(0) saturate(1.5);
116
+ backdrop-filter: blur(0) saturate(1);
116
117
  opacity: 0;
117
118
  pointer-events: none;
118
119
  transition-property: opacity, backdrop-filter;
119
120
  transition-duration: var(--media-controls-transition-duration);
120
- transition-delay: var(--media-controls-transition-delay);
121
121
  transition-timing-function: ease-out;
122
122
  }
123
123
 
@@ -166,6 +166,10 @@
166
166
  outline: none;
167
167
  }
168
168
 
169
+ .media-default-skin .media-error:not([data-open]) {
170
+ display: none;
171
+ }
172
+
169
173
  .media-default-skin .media-error__title {
170
174
  font-weight: 600;
171
175
  line-height: 1.25;
@@ -197,44 +201,31 @@
197
201
  container: media-controls / inline-size;
198
202
  display: flex;
199
203
  align-items: center;
200
- gap: 0.075rem;
201
- padding: 0.175rem;
202
- border-radius: calc(infinity * 1px);
204
+ column-gap: 0.075rem;
205
+ padding: 0.375rem;
206
+ border-radius: 1.5rem;
203
207
  --media-controls-current-shadow-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
204
208
  --media-controls-current-shadow-color-subtle: oklch(
205
209
  from var(--media-controls-current-shadow-color) l c h /
206
210
  calc(alpha * 0.4)
207
211
  );
208
212
  text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
209
-
210
- @container media-root (width > 40rem) {
211
- gap: 0.125rem;
212
- padding: 0.25rem;
213
- }
214
213
  }
215
214
 
216
215
  /* ==========================================================================
217
216
  Time Display
218
217
  ========================================================================== */
219
218
 
220
- .media-default-skin .media-time {
221
- container: media-time / inline-size;
219
+ .media-default-skin .media-time-controls {
220
+ container: media-time-controls / inline-size;
222
221
  display: flex;
223
222
  align-items: center;
224
223
  flex: 1;
225
224
  gap: 0.75rem;
226
225
  padding-inline: 0.5rem;
227
-
228
- & .media-time__value:first-child {
229
- display: none;
230
-
231
- @container media-time (width > 18rem) {
232
- display: block;
233
- }
234
- }
235
226
  }
236
227
 
237
- .media-default-skin .media-time__value {
228
+ .media-default-skin .media-time {
238
229
  font-variant-numeric: tabular-nums;
239
230
  }
240
231
 
@@ -254,6 +245,8 @@
254
245
  outline: 2px solid transparent;
255
246
  outline-offset: -2px;
256
247
  transition-property: background-color, outline-offset, scale;
248
+ /* Fix weird jumping when clicking on the buttons in Safari. */
249
+ will-change: scale;
257
250
  transition-duration: 150ms;
258
251
  transition-timing-function: ease-out;
259
252
  cursor: pointer;
@@ -306,7 +299,7 @@
306
299
  /* Icon button variant */
307
300
  .media-default-skin .media-button--icon {
308
301
  display: grid;
309
- width: 2.125rem;
302
+ width: 2.25rem;
310
303
  padding: 0;
311
304
  aspect-ratio: 1;
312
305
 
@@ -334,10 +327,6 @@
334
327
  right: unset;
335
328
  left: -1px;
336
329
  }
337
-
338
- @container media-controls (width < 28rem) {
339
- display: none;
340
- }
341
330
  }
342
331
 
343
332
  /* Playback rate button */
@@ -351,6 +340,20 @@
351
340
  }
352
341
  }
353
342
 
343
+ /* ==========================================================================
344
+ Button Groups
345
+ ========================================================================== */
346
+
347
+ .media-default-skin .media-button-group {
348
+ display: flex;
349
+ align-items: center;
350
+ gap: 0.075rem;
351
+
352
+ @container media-root (width > 42rem) {
353
+ gap: 0.125rem;
354
+ }
355
+ }
356
+
354
357
  /* ==========================================================================
355
358
  Icons
356
359
  ========================================================================== */
@@ -416,6 +419,7 @@
416
419
  .media-default-skin .media-preview {
417
420
  background-color: oklch(0 0 0 / 0.9);
418
421
  border-radius: 0.75rem;
422
+ pointer-events: none;
419
423
 
420
424
  & .media-preview__thumbnail {
421
425
  display: block;
@@ -432,12 +436,11 @@
432
436
  }
433
437
  }
434
438
 
435
- & .media-preview__timestamp {
439
+ & .media-preview__time {
436
440
  position: absolute;
437
441
  bottom: 0.5rem;
438
442
  inset-inline: 0;
439
443
  text-align: center;
440
- font-variant-numeric: tabular-nums;
441
444
  }
442
445
 
443
446
  & .media-overlay {
@@ -484,11 +487,11 @@
484
487
  &[data-orientation="horizontal"] {
485
488
  min-width: 5rem;
486
489
  width: 100%;
487
- height: 1.25rem;
490
+ height: 2rem;
488
491
  }
489
492
 
490
493
  &[data-orientation="vertical"] {
491
- width: 1.25rem;
494
+ width: 2rem;
492
495
  height: 5rem;
493
496
  }
494
497
  }
@@ -699,8 +702,6 @@
699
702
  }
700
703
 
701
704
  .media-default-skin .media-popover {
702
- --media-popover-side-offset: 0.5rem;
703
-
704
705
  &[data-side="top"]::before,
705
706
  &[data-side="bottom"]::before {
706
707
  height: var(--media-popover-side-offset);
@@ -711,7 +712,7 @@
711
712
  }
712
713
  }
713
714
  .media-default-skin .media-popover--volume {
714
- padding: 0.625rem 0.25rem;
715
+ padding: 0.75rem 0;
715
716
  border-radius: calc(infinity * 1px);
716
717
 
717
718
  &:has(media-volume-slider[data-availability="unsupported"]) {
@@ -724,7 +725,6 @@
724
725
  border-radius: calc(infinity * 1px);
725
726
  font-size: 0.75rem;
726
727
  white-space: nowrap;
727
- --media-tooltip-side-offset: 0.75rem;
728
728
 
729
729
  &[data-side="top"]::before,
730
730
  &[data-side="bottom"]::before {
@@ -742,11 +742,17 @@
742
742
 
743
743
  .media-default-skin {
744
744
  --media-caption-track-duration: var(--media-controls-transition-duration);
745
- --media-caption-track-delay: calc(var(--media-controls-transition-delay) + 25ms);
745
+ --media-caption-track-delay: 25ms;
746
746
  --media-caption-track-y: -0.5rem;
747
747
 
748
748
  &:has(.media-controls[data-visible]) {
749
- --media-caption-track-y: -3.5rem;
749
+ --media-caption-track-y: -5.5rem;
750
+ }
751
+
752
+ @container media-root (width > 42rem) {
753
+ &:has(.media-controls[data-visible]) > * {
754
+ --media-caption-track-y: -3.5rem;
755
+ }
750
756
  }
751
757
  }
752
758
 
@@ -885,13 +891,14 @@
885
891
  --media-surface-backdrop-filter: blur(16px) saturate(1.5);
886
892
  --media-video-border-radius: var(--media-border-radius, 2rem);
887
893
  --media-controls-transition-duration: 100ms;
888
- --media-controls-transition-delay: 0ms;
889
894
  --media-controls-transition-timing-function: ease-out;
890
895
  --media-error-dialog-transition-duration: 350ms;
891
896
  --media-error-dialog-transition-delay: 100ms;
892
897
  --media-error-dialog-transition-timing-function: var(--media-spring-transition);
893
898
  --media-popup-transition-duration: 100ms;
894
899
  --media-popup-transition-timing-function: ease-out;
900
+ --media-tooltip-side-offset: 0.75rem;
901
+ --media-popover-side-offset: 0.5rem;
895
902
 
896
903
  @media (prefers-reduced-motion: reduce) {
897
904
  --media-error-dialog-transition-duration: 50ms;
@@ -904,10 +911,15 @@
904
911
  --media-border-color: oklch(1 0 0 / 0.15);
905
912
  }
906
913
 
914
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
915
+ --media-surface-background-color: oklch(0 0 0);
916
+ --media-surface-inner-border-color: oklch(1 0 0 / 0.25);
917
+ --media-surface-outer-border-color: transparent;
918
+ }
919
+
907
920
  &:has(.media-controls:not([data-visible])) {
908
921
  /* Slight delay to hide controls on non-touch devices after interaction */
909
922
  @media (pointer: fine) {
910
- --media-controls-transition-delay: 500ms;
911
923
  --media-controls-transition-duration: 300ms;
912
924
  }
913
925
  @media (pointer: coarse) {
@@ -988,13 +1000,13 @@
988
1000
  ========================================================================== */
989
1001
 
990
1002
  .media-default-skin--video .media-controls {
1003
+ flex-wrap: wrap;
991
1004
  position: absolute;
992
- bottom: 0.75rem;
993
- inset-inline: 0.75rem;
1005
+ bottom: 0.5rem;
1006
+ inset-inline: 0.5rem;
994
1007
  z-index: 10;
995
1008
  color: var(--media-color-primary, oklch(1 0 0));
996
1009
  transition-duration: var(--media-controls-transition-duration);
997
- transition-delay: var(--media-controls-transition-delay);
998
1010
  transition-timing-function: var(--media-controls-transition-timing-function);
999
1011
  transform-origin: bottom;
1000
1012
 
@@ -1021,17 +1033,49 @@
1021
1033
  scale: 1;
1022
1034
  }
1023
1035
  }
1036
+
1037
+ & .media-time-controls {
1038
+ order: -1;
1039
+ flex: 0 0 100%;
1040
+ padding-inline: 0.625rem;
1041
+ }
1042
+
1043
+ & .media-button-group:first-child {
1044
+ flex: 1;
1045
+ text-align: left;
1046
+ }
1047
+
1048
+ & .media-button-group:last-child {
1049
+ flex: 1;
1050
+ justify-content: end;
1051
+ }
1052
+
1053
+ @container media-root (width > 42rem) {
1054
+ bottom: 0.75rem;
1055
+ inset-inline: 0.75rem;
1056
+ flex-wrap: nowrap;
1057
+ column-gap: 0.125rem;
1058
+ padding: 0.25rem;
1059
+
1060
+ & .media-time-controls {
1061
+ order: unset;
1062
+ flex: 1;
1063
+ }
1064
+
1065
+ & .media-button-group:first-child,
1066
+ & .media-button-group:last-child {
1067
+ flex: 0 0 auto;
1068
+ }
1069
+ }
1024
1070
  }
1025
1071
 
1026
1072
  .media-default-skin--video .media-error[data-open] ~ .media-controls {
1027
1073
  display: none;
1028
1074
  }
1029
1075
 
1030
- /* Hide cursor when controls are hidden in fullscreen */
1031
- @media (pointer: fine) {
1032
- .media-default-skin--video:fullscreen:has(.media-controls:not([data-visible])) {
1033
- cursor: none;
1034
- }
1076
+ /* Hide cursor when controls are hidden */
1077
+ .media-default-skin--video:has(.media-controls:not([data-visible])) {
1078
+ cursor: none;
1035
1079
  }
1036
1080
 
1037
1081
  /* ==========================================================================
@@ -1044,8 +1088,20 @@
1044
1088
  }
1045
1089
 
1046
1090
  .media-default-skin--video .media-slider__preview {
1091
+ --media-preview-max-width: 11rem;
1092
+ --media-preview-padding: -1.125rem;
1093
+ /**
1094
+ Inset is the difference between the container width and the slider (100%) width.
1095
+ Divided by 2 as we render the time on both sides.
1096
+ */
1097
+ --media-preview-inset: calc((100cqi - 100%) / 2);
1098
+
1047
1099
  position: absolute;
1048
- left: var(--media-slider-pointer);
1100
+ left: clamp(
1101
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding) - var(--media-preview-inset)),
1102
+ var(--media-slider-pointer),
1103
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1104
+ );
1049
1105
  bottom: calc(100% + 1.2rem);
1050
1106
  translate: -50%;
1051
1107
  opacity: 0;
@@ -1058,7 +1114,7 @@
1058
1114
  pointer-events: none;
1059
1115
 
1060
1116
  & .media-preview__thumbnail {
1061
- max-width: 11rem;
1117
+ max-width: var(--media-preview-max-width);
1062
1118
  }
1063
1119
 
1064
1120
  &:has(.media-preview__thumbnail[data-loading]) {
@@ -1 +1 @@
1
- {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/presets/video/skin.tsx"],"mappings":";;;;KAoDY,cAAA,GAAiB,kBAAA;AAAA,iBA+Db,SAAA,CAAU,KAAA,EAAO,cAAA,GAAiB,SAAA"}
1
+ {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/presets/video/skin.tsx"],"mappings":";;;;KA0CY,cAAA,GAAiB,kBAAA;AAAA,iBA+Db,SAAA,CAAU,KAAA,EAAO,cAAA,GAAiB,SAAA"}