@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
@@ -27,12 +27,12 @@
27
27
  ========================================================================== */
28
28
 
29
29
  .media-minimal-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, 0.75rem);
37
37
  font-family:
38
38
  Inter Variable,
@@ -40,13 +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;
48
47
 
49
- --media-controls-radius: var(--media-border-radius, 1rem);
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
+ }
50
57
  }
51
58
 
52
59
  /* ==========================================================================
@@ -82,12 +89,11 @@
82
89
  inset: 0;
83
90
  border-radius: inherit;
84
91
  background-image: linear-gradient(to top, oklch(0 0 0 / 0.7), oklch(0 0 0 / 0.5) 7.5rem, oklch(0 0 0 / 0));
85
- backdrop-filter: blur(0) saturate(1.5);
92
+ backdrop-filter: blur(0) saturate(1);
86
93
  opacity: 0;
87
94
  pointer-events: none;
88
95
  transition-property: opacity, backdrop-filter;
89
96
  transition-duration: var(--media-controls-transition-duration);
90
- transition-delay: var(--media-controls-transition-delay);
91
97
  transition-timing-function: ease-out;
92
98
  }
93
99
 
@@ -102,7 +108,7 @@
102
108
  }
103
109
 
104
110
  .media-minimal-skin .media-error[data-open] ~ .media-overlay {
105
- backdrop-filter: blur(16px) saturate(1.5);
111
+ backdrop-filter: blur(16px) saturate(1.2);
106
112
  }
107
113
 
108
114
  /* ==========================================================================
@@ -127,6 +133,10 @@
127
133
  Error Dialog
128
134
  ========================================================================== */
129
135
 
136
+ .media-minimal-skin .media-error:not([data-open]) {
137
+ display: none;
138
+ }
139
+
130
140
  .media-minimal-skin .media-error__title {
131
141
  font-weight: 600;
132
142
  line-height: 1.25;
@@ -163,6 +173,8 @@
163
173
  from var(--media-controls-current-shadow-color) l c h /
164
174
  calc(alpha * 0.4)
165
175
  );
176
+ background-color: var(--media-controls-background-color);
177
+ backdrop-filter: var(--media-controls-backdrop-filter);
166
178
  text-shadow: 0 1px 0 var(--media-controls-current-shadow-color);
167
179
  }
168
180
 
@@ -171,49 +183,42 @@
171
183
  ========================================================================== */
172
184
 
173
185
  .media-minimal-skin .media-time-controls {
186
+ container: media-time-controls / inline-size;
174
187
  display: flex;
175
188
  flex-direction: row-reverse;
176
189
  align-items: center;
177
190
  flex: 1;
178
191
  gap: 0.75rem;
179
192
  }
180
- .media-minimal-skin .media-time {
193
+
194
+ .media-minimal-skin .media-time-group {
181
195
  display: flex;
182
196
  align-items: center;
183
197
  gap: 0.25rem;
184
198
  }
185
- .media-minimal-skin .media-time__value {
199
+
200
+ .media-minimal-skin .media-time {
186
201
  font-variant-numeric: tabular-nums;
187
202
  }
188
- .media-minimal-skin .media-time__value--current,
189
- .media-minimal-skin .media-time__separator {
203
+
204
+ .media-minimal-skin .media-time--current,
205
+ .media-minimal-skin .media-time-separator {
190
206
  display: none;
191
207
  }
192
- @container media-controls (width > 28rem) {
208
+
209
+ @container media-root (width > 42rem) {
193
210
  .media-minimal-skin .media-time-controls {
194
211
  flex-direction: row;
195
212
  }
196
- .media-minimal-skin .media-time__value--duration,
197
- .media-minimal-skin .media-time__separator {
213
+
214
+ .media-minimal-skin .media-time--duration,
215
+ .media-minimal-skin .media-time-separator {
198
216
  color: oklch(from currentColor l c h / 0.6);
199
217
  }
200
- .media-minimal-skin .media-time__value--current,
201
- .media-minimal-skin .media-time__separator {
202
- display: inline;
203
- }
204
- }
205
-
206
- /* ==========================================================================
207
- Button Groups
208
- ========================================================================== */
209
218
 
210
- .media-minimal-skin .media-button-group {
211
- display: flex;
212
- align-items: center;
213
- gap: 0.075rem;
214
-
215
- @container media-root (width > 40rem) {
216
- gap: 0.125rem;
219
+ .media-minimal-skin .media-time--current,
220
+ .media-minimal-skin .media-time-separator {
221
+ display: inline;
217
222
  }
218
223
  }
219
224
 
@@ -229,10 +234,12 @@
229
234
  flex-shrink: 0;
230
235
  padding: 0.5rem 1rem;
231
236
  border: none;
232
- border-radius: calc(var(--media-controls-radius) - var(--media-controls-padding));
237
+ border-radius: 0.5rem;
233
238
  outline: 2px solid transparent;
234
239
  outline-offset: -2px;
235
240
  transition-property: background-color, outline-offset, scale;
241
+ /* Fix weird jumping when clicking on the buttons in Safari. */
242
+ will-change: scale;
236
243
  transition-duration: 150ms;
237
244
  transition-timing-function: ease-out;
238
245
  cursor: pointer;
@@ -263,7 +270,7 @@
263
270
  /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
264
271
  @supports (corner-shape: squircle) {
265
272
  .media-minimal-skin .media-button {
266
- border-radius: var(--media-controls-radius);
273
+ border-radius: 1rem;
267
274
  /* biome-ignore lint/correctness/noUnknownProperty: corner-shape is an emerging CSS spec */
268
275
  corner-shape: squircle;
269
276
  }
@@ -312,7 +319,7 @@
312
319
  position: absolute;
313
320
  right: -1px;
314
321
  bottom: -3px;
315
- font-size: 10px;
322
+ font-size: 10px; /* Hard coded due to size limitations. */
316
323
  font-weight: 480;
317
324
  font-variant-numeric: tabular-nums;
318
325
  }
@@ -321,10 +328,6 @@
321
328
  right: unset;
322
329
  left: -1px;
323
330
  }
324
-
325
- @container media-controls (width < 28rem) {
326
- display: none;
327
- }
328
331
  }
329
332
 
330
333
  /* Playback rate button */
@@ -338,6 +341,20 @@
338
341
  }
339
342
  }
340
343
 
344
+ /* ==========================================================================
345
+ Button Groups
346
+ ========================================================================== */
347
+
348
+ .media-minimal-skin .media-button-group {
349
+ display: flex;
350
+ align-items: center;
351
+ gap: 0.075rem;
352
+
353
+ @container media-root (width > 42rem) {
354
+ gap: 0.125rem;
355
+ }
356
+ }
357
+
341
358
  /* ==========================================================================
342
359
  Icons
343
360
  ========================================================================== */
@@ -401,6 +418,8 @@
401
418
  Media preview
402
419
  ========================================================================== */
403
420
  .media-minimal-skin .media-preview {
421
+ pointer-events: none;
422
+
404
423
  & .media-preview__thumbnail-wrapper {
405
424
  position: relative;
406
425
  border-radius: 0.5rem;
@@ -411,9 +430,8 @@
411
430
  border-radius: inherit;
412
431
  }
413
432
 
414
- & .media-preview__timestamp {
433
+ & .media-preview__time {
415
434
  display: block;
416
- font-variant-numeric: tabular-nums;
417
435
  text-align: center;
418
436
  margin-top: 0.5rem;
419
437
  }
@@ -462,11 +480,11 @@
462
480
  &[data-orientation="horizontal"] {
463
481
  min-width: 5rem;
464
482
  width: 100%;
465
- height: 1.25rem;
483
+ height: 2rem;
466
484
  }
467
485
 
468
486
  &[data-orientation="vertical"] {
469
- width: 1.25rem;
487
+ width: 2rem;
470
488
  height: 4.5rem;
471
489
  }
472
490
  }
@@ -670,15 +688,16 @@
670
688
 
671
689
  .media-minimal-skin .media-tooltip {
672
690
  padding: 0.25rem 0.5rem;
673
- border-radius: 0.25rem;
674
- background-color: oklch(1 0 0 / 0.1);
675
- backdrop-filter: blur(16px) saturate(1.5);
691
+ border-radius: 0.5rem;
692
+ background-color: var(--media-tooltip-background-color);
693
+ backdrop-filter: var(--media-tooltip-backdrop-filter);
676
694
  box-shadow:
695
+ 0 0 0 1px var(--media-tooltip-border-color),
677
696
  0 4px 6px -1px oklch(0 0 0 / 0.1),
678
697
  0 2px 4px -2px oklch(0 0 0 / 0.1);
679
- font-size: 0.75rem;
698
+ color: var(--media-tooltip-text-color);
699
+ font-size: 0.75rem; /* 12px at 100% font size */
680
700
  white-space: nowrap;
681
- --media-tooltip-side-offset: 0.75rem;
682
701
 
683
702
  &[data-side="top"]::before,
684
703
  &[data-side="bottom"]::before {
@@ -688,14 +707,6 @@
688
707
  &[data-side="right"]::before {
689
708
  width: var(--media-tooltip-side-offset);
690
709
  }
691
-
692
- @media (prefers-reduced-transparency: reduce) {
693
- background-color: oklch(0 0 0 / 0.7);
694
- }
695
-
696
- @media (prefers-contrast: more) {
697
- background-color: oklch(0 0 0 / 0.9);
698
- }
699
710
  }
700
711
 
701
712
  .media-minimal-skin .media-popover--volume:has(media-volume-slider[data-availability="unsupported"]) {
@@ -708,11 +719,17 @@
708
719
 
709
720
  .media-minimal-skin {
710
721
  --media-caption-track-duration: var(--media-controls-transition-duration);
711
- --media-caption-track-delay: calc(var(--media-controls-transition-delay) + 25ms);
722
+ --media-caption-track-delay: 25ms;
712
723
  --media-caption-track-y: -0.5rem;
713
724
 
714
725
  &:has(.media-controls[data-visible]) {
715
- --media-caption-track-y: -3rem;
726
+ --media-caption-track-y: -5rem;
727
+ }
728
+
729
+ @container media-root (width > 42rem) {
730
+ &:has(.media-controls[data-visible]) > * {
731
+ --media-caption-track-y: -3rem;
732
+ }
716
733
  }
717
734
  }
718
735
 
@@ -835,15 +852,20 @@
835
852
  background: oklch(0 0 0);
836
853
  --media-border-color: oklch(0 0 0 / 0.15);
837
854
  --media-video-border-radius: var(--media-border-radius, 0.75rem);
838
- --media-controls-padding: 0.375rem;
855
+ --media-controls-background-color: transparent;
839
856
  --media-controls-transition-duration: 100ms;
840
- --media-controls-transition-delay: 0ms;
841
857
  --media-controls-transition-timing-function: ease-out;
842
- --media-error-dialog-transition-duration: 250ms;
858
+ --media-error-dialog-transition-duration: 150ms;
843
859
  --media-error-dialog-transition-delay: 100ms;
844
860
  --media-error-dialog-transition-timing-function: ease-out;
845
861
  --media-popup-transition-duration: 100ms;
846
862
  --media-popup-transition-timing-function: ease-out;
863
+ --media-tooltip-background-color: oklch(1 0 0 / 0.1);
864
+ --media-tooltip-border-color: transparent;
865
+ --media-tooltip-backdrop-filter: blur(16px) saturate(1.5);
866
+ --media-tooltip-text-color: currentColor;
867
+ --media-tooltip-side-offset: 0.5rem;
868
+ --media-popover-side-offset: 1.5rem;
847
869
 
848
870
  @media (prefers-reduced-motion: reduce) {
849
871
  --media-error-dialog-transition-duration: 50ms;
@@ -855,10 +877,20 @@
855
877
  --media-border-color: oklch(1 0 0 / 0.15);
856
878
  }
857
879
 
880
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
881
+ --media-controls-background-color: oklch(0 0 0);
882
+ --media-tooltip-background-color: oklch(0 0 0);
883
+ }
884
+
885
+ @container media-root (width > 42rem) {
886
+ & > * {
887
+ --media-popover-side-offset: 0rem;
888
+ }
889
+ }
890
+
858
891
  &:has(.media-controls:not([data-visible])) {
859
892
  /* Slight delay to hide controls on non-touch devices after interaction */
860
893
  @media (pointer: fine) {
861
- --media-controls-transition-delay: 500ms;
862
894
  --media-controls-transition-duration: 300ms;
863
895
  }
864
896
  @media (pointer: coarse) {
@@ -945,15 +977,16 @@
945
977
  ========================================================================== */
946
978
 
947
979
  .media-minimal-skin--video .media-controls {
980
+ padding: 0.25rem;
981
+ column-gap: 0.5rem;
982
+ flex-wrap: wrap;
948
983
  position: absolute;
949
- bottom: 0;
950
- inset-inline: 0;
984
+ bottom: 0.25rem;
985
+ inset-inline: 0.25rem;
951
986
  z-index: 10;
952
- gap: 0.5rem;
953
- padding: 2rem var(--media-controls-padding) var(--media-controls-padding) var(--media-controls-padding);
954
- color: var(--media-color-primary, oklch(1 0 0));
987
+ color: oklch(1 0 0);
988
+ border-radius: 0.75rem;
955
989
  transition-duration: var(--media-controls-transition-duration);
956
- transition-delay: var(--media-controls-transition-delay);
957
990
  transition-timing-function: var(--media-controls-transition-timing-function);
958
991
 
959
992
  @media (pointer: fine) {
@@ -981,14 +1014,41 @@
981
1014
  }
982
1015
  }
983
1016
 
984
- @container media-root (width > 40rem) {
985
- gap: 0.875rem;
986
- padding: 2.5rem 0.75rem 0.75rem 0.75rem;
1017
+ & .media-time-controls {
1018
+ order: -1;
1019
+ flex: 0 0 100%;
1020
+ padding-inline: 0.625rem;
1021
+ }
1022
+
1023
+ & .media-button-group:first-child {
1024
+ flex: 1;
1025
+ text-align: left;
1026
+ }
1027
+
1028
+ & .media-button-group:last-child {
1029
+ flex: 1;
1030
+ justify-content: end;
1031
+ }
1032
+
1033
+ @container media-root (width > 42rem) {
1034
+ flex-wrap: nowrap;
1035
+ bottom: 0.5rem;
1036
+ inset-inline: 0.5rem;
1037
+
1038
+ & .media-time-controls {
1039
+ order: unset;
1040
+ flex: 1;
1041
+ }
1042
+
1043
+ & .media-button-group:first-child,
1044
+ & .media-button-group:last-child {
1045
+ flex: 0 0 auto;
1046
+ }
987
1047
  }
988
1048
  }
989
1049
 
990
- /* Hide cursor when controls are hidden in fullscreen */
991
- .media-minimal-skin--video:fullscreen:has(.media-controls:not([data-visible])) {
1050
+ /* Hide cursor when controls are hidden */
1051
+ .media-minimal-skin--video:has(.media-controls:not([data-visible])) {
992
1052
  cursor: none;
993
1053
  }
994
1054
 
@@ -1005,9 +1065,13 @@
1005
1065
  ========================================================================== */
1006
1066
 
1007
1067
  .media-minimal-skin--video .media-popover--volume {
1008
- --media-popover-side-offset: 0.5rem;
1009
1068
  background: transparent;
1010
- padding: 0.25rem;
1069
+ padding-block: 0.75rem;
1070
+ border-radius: 0.75rem;
1071
+
1072
+ @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {
1073
+ background: var(--media-controls-background-color);
1074
+ }
1011
1075
  }
1012
1076
 
1013
1077
  /* ==========================================================================
@@ -1015,9 +1079,21 @@
1015
1079
  ========================================================================== */
1016
1080
 
1017
1081
  .media-minimal-skin--video .media-slider__preview {
1082
+ --media-preview-max-width: 11rem;
1083
+ --media-preview-padding: -0.5rem;
1084
+ /**
1085
+ Inset is the difference between the container width and the slider (100%) width.
1086
+ We only add to the end as we render the time there.
1087
+ */
1088
+ --media-preview-inset: calc(100cqi - 100%);
1089
+
1018
1090
  position: absolute;
1019
- left: var(--media-slider-pointer);
1020
- bottom: calc(100% + 0.5rem);
1091
+ left: clamp(
1092
+ calc(var(--media-preview-max-width) / 2 + var(--media-preview-padding)),
1093
+ var(--media-slider-pointer),
1094
+ calc(100% - var(--media-preview-max-width) / 2 - var(--media-preview-padding) + var(--media-preview-inset))
1095
+ );
1096
+ bottom: 100%;
1021
1097
  translate: -50%;
1022
1098
  opacity: 0;
1023
1099
  scale: 0.8;
@@ -1027,6 +1103,11 @@
1027
1103
  transition-timing-function: ease-out;
1028
1104
  transform-origin: bottom;
1029
1105
 
1106
+ @container media-root (width > 42rem) {
1107
+ bottom: calc(100% + 0.25rem);
1108
+ left: var(--media-slider-pointer);
1109
+ }
1110
+
1030
1111
  & .media-preview__thumbnail-wrapper {
1031
1112
  position: relative;
1032
1113
 
@@ -1043,7 +1124,7 @@
1043
1124
  }
1044
1125
 
1045
1126
  & .media-preview__thumbnail {
1046
- max-width: 11rem;
1127
+ max-width: var(--media-preview-max-width);
1047
1128
  }
1048
1129
 
1049
1130
  &:has(.media-preview__thumbnail[data-loading]) {
@@ -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,23 +47,12 @@ 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 { forwardRef } from "react";
47
51
  import { isString } from "@videojs/utils/predicate";
48
52
  import { jsx, jsxs } from "react/jsx-runtime";
49
53
  import { cn } from "@videojs/utils/style";
50
-
51
54
  //#region src/presets/video/minimal-skin.tsx
52
55
  const SEEK_TIME = 10;
53
- const ERROR_CLASSNAMES = {
54
- root: "media-error",
55
- dialog: "media-error__dialog",
56
- content: "media-error__content",
57
- title: "media-error__title",
58
- description: "media-error__description",
59
- actions: "media-error__actions",
60
- close: "media-button media-button--primary"
61
- };
62
56
  const Button = forwardRef(function Button({ className, ...props }, ref) {
63
57
  return /* @__PURE__ */ jsx("button", {
64
58
  ref,
@@ -128,7 +122,25 @@ function MinimalVideoSkin(props) {
128
122
  className: "media-buffering-indicator",
129
123
  children: /* @__PURE__ */ jsx(SpinnerIcon, { className: "media-icon" })
130
124
  }) }),
131
- /* @__PURE__ */ jsx(ErrorDialog, { classNames: ERROR_CLASSNAMES }),
125
+ /* @__PURE__ */ jsx(ErrorDialogRoot, { children: /* @__PURE__ */ jsx(AlertDialogPopup, {
126
+ className: "media-error",
127
+ children: /* @__PURE__ */ jsxs("div", {
128
+ className: "media-error__dialog",
129
+ children: [/* @__PURE__ */ jsxs("div", {
130
+ className: "media-error__content",
131
+ children: [/* @__PURE__ */ jsx(AlertDialogTitle, {
132
+ className: "media-error__title",
133
+ children: "Something went wrong."
134
+ }), /* @__PURE__ */ jsx(ErrorDialogDescription, { className: "media-error__description" })]
135
+ }), /* @__PURE__ */ jsx("div", {
136
+ className: "media-error__actions",
137
+ children: /* @__PURE__ */ jsx(AlertDialogClose, {
138
+ className: "media-button media-button--primary",
139
+ children: "OK"
140
+ })
141
+ })]
142
+ })
143
+ }) }),
132
144
  /* @__PURE__ */ jsx(ControlsRoot, {
133
145
  className: "media-controls",
134
146
  children: /* @__PURE__ */ jsxs(TooltipProvider, { children: [
@@ -199,16 +211,16 @@ function MinimalVideoSkin(props) {
199
211
  /* @__PURE__ */ jsxs("div", {
200
212
  className: "media-time-controls",
201
213
  children: [/* @__PURE__ */ jsxs(Group, {
202
- className: "media-time",
214
+ className: "media-time-group",
203
215
  children: [
204
216
  /* @__PURE__ */ jsx(Value, {
205
217
  type: "current",
206
- className: "media-time__value media-time__value--current"
218
+ className: "media-time media-time--current"
207
219
  }),
208
- /* @__PURE__ */ jsx(Separator, { className: "media-time__separator" }),
220
+ /* @__PURE__ */ jsx(Separator, { className: "media-time-separator" }),
209
221
  /* @__PURE__ */ jsx(Value, {
210
222
  type: "duration",
211
- className: "media-time__value media-time__value--duration"
223
+ className: "media-time media-time--duration"
212
224
  })
213
225
  ]
214
226
  }), /* @__PURE__ */ jsxs(TimeSliderRoot, {
@@ -228,7 +240,7 @@ function MinimalVideoSkin(props) {
228
240
  }),
229
241
  /* @__PURE__ */ jsx(SliderValue, {
230
242
  type: "pointer",
231
- className: "media-preview__timestamp"
243
+ className: "media-time media-preview__time"
232
244
  }),
233
245
  /* @__PURE__ */ jsx(SpinnerIcon, { className: "media-preview__spinner media-icon" })
234
246
  ]
@@ -291,7 +303,7 @@ function MinimalVideoSkin(props) {
291
303
  ]
292
304
  });
293
305
  }
294
-
295
306
  //#endregion
296
307
  export { MinimalVideoSkin };
308
+
297
309
  //# sourceMappingURL=minimal-skin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.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.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 { 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 { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\n\nconst ERROR_CLASSNAMES = {\n root: 'media-error',\n dialog: 'media-error__dialog',\n content: 'media-error__content',\n title: 'media-error__title',\n description: 'media-error__description',\n actions: 'media-error__actions',\n close: 'media-button media-button--primary',\n};\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn('media-button media-button--subtle media-button--icon', 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=\"media-button--mute\" render={<Button />}>\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\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=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"vertical\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} {...rest}>\n {children}\n\n {poster && (\n <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog classNames={ERROR_CLASSNAMES} />\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className=\"media-button--play\" render={<Button />}>\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </PlayButton>\n }\n />\n <Tooltip.Popup className=\"media-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=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek media-icon--flipped\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-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=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time\">\n <Time.Value type=\"current\" className=\"media-time__value media-time__value--current\" />\n <Time.Separator className=\"media-time__separator\" />\n <Time.Value type=\"duration\" className=\"media-time__value media-time__value--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Track className=\"media-slider__track\">\n <TimeSlider.Fill className=\"media-slider__fill\" />\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n </TimeSlider.Track>\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <div className=\"media-preview media-slider__preview\">\n <div className=\"media-preview__thumbnail-wrapper\">\n <Slider.Thumbnail className=\"media-preview__thumbnail\" />\n </div>\n <TimeSlider.Value type=\"pointer\" className=\"media-preview__timestamp\" />\n <SpinnerIcon className=\"media-preview__spinner media-icon\" />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={<PlaybackRateButton className=\"media-button--playback-rate\" render={<Button />} />}\n />\n <Tooltip.Popup className=\"media-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=\"media-button--captions\" render={<Button />}>\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className=\"media-button--pip\" render={<Button />}>\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </PiPButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className=\"media-button--fullscreen\" render={<Button />}>\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n </Container>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"minimal-skin.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.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 { 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 { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn('media-button media-button--subtle media-button--icon', 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=\"media-button--mute\" render={<Button />}>\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\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=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"vertical\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} {...rest}>\n {children}\n\n {poster && (\n <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className=\"media-error\">\n <div className=\"media-error__dialog\">\n <div className=\"media-error__content\">\n <ErrorDialog.Title className=\"media-error__title\">Something went wrong.</ErrorDialog.Title>\n <ErrorDialog.Description className=\"media-error__description\" />\n </div>\n <div className=\"media-error__actions\">\n <ErrorDialog.Close className=\"media-button media-button--primary\">OK</ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className=\"media-button--play\" render={<Button />}>\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </PlayButton>\n }\n />\n <Tooltip.Popup className=\"media-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=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek media-icon--flipped\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-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=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time-group\">\n <Time.Value type=\"current\" className=\"media-time media-time--current\" />\n <Time.Separator className=\"media-time-separator\" />\n <Time.Value type=\"duration\" className=\"media-time media-time--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Track className=\"media-slider__track\">\n <TimeSlider.Fill className=\"media-slider__fill\" />\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n </TimeSlider.Track>\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <div className=\"media-preview media-slider__preview\">\n <div className=\"media-preview__thumbnail-wrapper\">\n <Slider.Thumbnail className=\"media-preview__thumbnail\" />\n </div>\n <TimeSlider.Value type=\"pointer\" className=\"media-time media-preview__time\" />\n <SpinnerIcon className=\"media-preview__spinner media-icon\" />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={<PlaybackRateButton className=\"media-button--playback-rate\" render={<Button />} />}\n />\n <Tooltip.Popup className=\"media-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=\"media-button--captions\" render={<Button />}>\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className=\"media-button--pip\" render={<Button />}>\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </PiPButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className=\"media-button--fullscreen\" render={<Button />}>\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n </Container>\n );\n}\n"],"mappings":"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"}