@videojs/react 10.0.0-beta.28 → 10.0.0-beta.29

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 (259) hide show
  1. package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
  2. package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
  3. package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
  4. package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
  5. package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
  6. package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
  7. package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
  8. package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
  9. package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
  10. package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
  11. package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
  12. package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
  13. package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
  14. package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
  15. package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
  16. package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  17. package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
  18. package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
  19. package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
  20. package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  21. package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  22. package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
  23. package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  24. package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
  25. package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
  26. package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  27. package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  28. package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
  29. package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -0
  30. package/dist/default/i18n/index.js +2 -1
  31. package/dist/default/i18n/text.js +20 -0
  32. package/dist/default/i18n/text.js.map +1 -0
  33. package/dist/default/icons/dist/react/default/airplay-exit.js +3 -3
  34. package/dist/default/icons/dist/react/default/airplay-exit.js.map +1 -1
  35. package/dist/default/icons/dist/react/minimal/airplay-exit.js +3 -3
  36. package/dist/default/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  37. package/dist/default/index.js +2 -1
  38. package/dist/default/media/hls-background-video/media.js +18 -3
  39. package/dist/default/media/hls-background-video/media.js.map +1 -1
  40. package/dist/default/presets/audio/minimal-skin.css +103 -101
  41. package/dist/default/presets/audio/minimal-skin.js +1 -1
  42. package/dist/default/presets/audio/minimal-skin.tailwind.js +1 -1
  43. package/dist/default/presets/audio/skin.css +68 -69
  44. package/dist/default/presets/audio/skin.js +1 -1
  45. package/dist/default/presets/audio/skin.tailwind.js +1 -1
  46. package/dist/default/presets/live-audio/minimal-skin.css +103 -101
  47. package/dist/default/presets/live-audio/skin.css +68 -69
  48. package/dist/default/presets/live-video/minimal-skin.css +140 -120
  49. package/dist/default/presets/live-video/minimal-skin.js +3 -8
  50. package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
  51. package/dist/default/presets/live-video/minimal-skin.tailwind.js +5 -8
  52. package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  53. package/dist/default/presets/live-video/skin.css +89 -76
  54. package/dist/default/presets/live-video/skin.js +3 -8
  55. package/dist/default/presets/live-video/skin.js.map +1 -1
  56. package/dist/default/presets/live-video/skin.tailwind.js +7 -10
  57. package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
  58. package/dist/default/presets/video/minimal-skin.css +140 -120
  59. package/dist/default/presets/video/minimal-skin.js +3 -8
  60. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  61. package/dist/default/presets/video/minimal-skin.tailwind.js +5 -8
  62. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  63. package/dist/default/presets/video/skin.css +89 -76
  64. package/dist/default/presets/video/skin.js +3 -8
  65. package/dist/default/presets/video/skin.js.map +1 -1
  66. package/dist/default/presets/video/skin.tailwind.js +6 -9
  67. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  68. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
  69. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  70. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
  71. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  72. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +10 -10
  73. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  74. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  75. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  76. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
  77. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  78. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  79. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  80. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  81. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  82. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  83. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  84. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
  85. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  86. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  87. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  88. package/dist/default/ui/gesture/gesture.js.map +1 -1
  89. package/dist/default/ui/gesture/use-doubletap-gesture.js.map +1 -1
  90. package/dist/default/ui/gesture/use-tap-gesture.js.map +1 -1
  91. package/dist/default/ui/hotkey/hotkey.js.map +1 -1
  92. package/dist/default/ui/menu/context.js +6 -1
  93. package/dist/default/ui/menu/context.js.map +1 -1
  94. package/dist/default/ui/menu/menu-item-indicator.js +3 -2
  95. package/dist/default/ui/menu/menu-item-indicator.js.map +1 -1
  96. package/dist/default/ui/menu/menu-radio-item.js +19 -15
  97. package/dist/default/ui/menu/menu-radio-item.js.map +1 -1
  98. package/dist/default/ui/menu/menu-root.js +5 -6
  99. package/dist/default/ui/menu/menu-root.js.map +1 -1
  100. package/dist/default/ui/poster/poster.js +64 -17
  101. package/dist/default/ui/poster/poster.js.map +1 -1
  102. package/dist/default/ui/slider/slider-preview.js.map +1 -1
  103. package/dist/default/utils/use-render.js +2 -8
  104. package/dist/default/utils/use-render.js.map +1 -1
  105. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
  106. package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
  107. package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
  108. package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
  109. package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
  110. package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
  111. package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
  112. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
  113. package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
  114. package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
  115. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
  116. package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
  117. package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
  118. package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
  119. package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
  120. package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  121. package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
  122. package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
  123. package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
  124. package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  125. package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  126. package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
  127. package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  128. package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
  129. package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
  130. package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  131. package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  132. package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
  133. package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
  134. package/dist/dev/i18n/index.d.ts +2 -1
  135. package/dist/dev/i18n/index.js +2 -1
  136. package/dist/dev/i18n/text.d.ts +11 -0
  137. package/dist/dev/i18n/text.d.ts.map +1 -0
  138. package/dist/dev/i18n/text.js +20 -0
  139. package/dist/dev/i18n/text.js.map +1 -0
  140. package/dist/dev/icons/dist/react/default/airplay-exit.js +3 -3
  141. package/dist/dev/icons/dist/react/default/airplay-exit.js.map +1 -1
  142. package/dist/dev/icons/dist/react/minimal/airplay-exit.js +3 -3
  143. package/dist/dev/icons/dist/react/minimal/airplay-exit.js.map +1 -1
  144. package/dist/dev/icons/index.d.ts +6 -1
  145. package/dist/dev/icons/index.d.ts.map +1 -0
  146. package/dist/dev/icons/minimal/index.d.ts +6 -1
  147. package/dist/dev/icons/minimal/index.d.ts.map +1 -0
  148. package/dist/dev/index.d.ts +3 -2
  149. package/dist/dev/index.js +2 -1
  150. package/dist/dev/media/hls-background-video/media.d.ts +8 -0
  151. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
  152. package/dist/dev/media/hls-background-video/media.js +18 -3
  153. package/dist/dev/media/hls-background-video/media.js.map +1 -1
  154. package/dist/dev/presets/audio/minimal-skin.css +103 -101
  155. package/dist/dev/presets/audio/minimal-skin.js +1 -1
  156. package/dist/dev/presets/audio/minimal-skin.tailwind.js +1 -1
  157. package/dist/dev/presets/audio/player.d.ts +2 -2
  158. package/dist/dev/presets/audio/skin.css +68 -69
  159. package/dist/dev/presets/audio/skin.js +1 -1
  160. package/dist/dev/presets/audio/skin.tailwind.js +1 -1
  161. package/dist/dev/presets/live-audio/minimal-skin.css +103 -101
  162. package/dist/dev/presets/live-audio/player.d.ts +2 -2
  163. package/dist/dev/presets/live-audio/skin.css +68 -69
  164. package/dist/dev/presets/live-video/minimal-skin.css +140 -120
  165. package/dist/dev/presets/live-video/minimal-skin.d.ts.map +1 -1
  166. package/dist/dev/presets/live-video/minimal-skin.js +3 -8
  167. package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
  168. package/dist/dev/presets/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  169. package/dist/dev/presets/live-video/minimal-skin.tailwind.js +5 -8
  170. package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
  171. package/dist/dev/presets/live-video/player.d.ts +2 -2
  172. package/dist/dev/presets/live-video/skin.css +89 -76
  173. package/dist/dev/presets/live-video/skin.d.ts.map +1 -1
  174. package/dist/dev/presets/live-video/skin.js +3 -8
  175. package/dist/dev/presets/live-video/skin.js.map +1 -1
  176. package/dist/dev/presets/live-video/skin.tailwind.d.ts.map +1 -1
  177. package/dist/dev/presets/live-video/skin.tailwind.js +7 -10
  178. package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
  179. package/dist/dev/presets/types.d.ts +15 -2
  180. package/dist/dev/presets/types.d.ts.map +1 -1
  181. package/dist/dev/presets/video/minimal-skin.css +140 -120
  182. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  183. package/dist/dev/presets/video/minimal-skin.js +3 -8
  184. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  185. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  186. package/dist/dev/presets/video/minimal-skin.tailwind.js +5 -8
  187. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  188. package/dist/dev/presets/video/player.d.ts +2 -2
  189. package/dist/dev/presets/video/skin.css +89 -76
  190. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  191. package/dist/dev/presets/video/skin.js +3 -8
  192. package/dist/dev/presets/video/skin.js.map +1 -1
  193. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  194. package/dist/dev/presets/video/skin.tailwind.js +6 -9
  195. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  196. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +3 -1
  197. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  198. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +8 -1
  199. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  200. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +10 -10
  201. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  202. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  203. package/dist/dev/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  204. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
  205. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  206. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  207. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  208. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  209. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  210. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  211. package/dist/dev/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  212. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
  213. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  214. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  215. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  216. package/dist/dev/ui/gesture/gesture.d.ts +6 -13
  217. package/dist/dev/ui/gesture/gesture.d.ts.map +1 -1
  218. package/dist/dev/ui/gesture/gesture.js.map +1 -1
  219. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts +2 -5
  220. package/dist/dev/ui/gesture/use-doubletap-gesture.d.ts.map +1 -1
  221. package/dist/dev/ui/gesture/use-doubletap-gesture.js.map +1 -1
  222. package/dist/dev/ui/gesture/use-tap-gesture.d.ts +2 -5
  223. package/dist/dev/ui/gesture/use-tap-gesture.d.ts.map +1 -1
  224. package/dist/dev/ui/gesture/use-tap-gesture.js.map +1 -1
  225. package/dist/dev/ui/hotkey/hotkey.d.ts +6 -12
  226. package/dist/dev/ui/hotkey/hotkey.d.ts.map +1 -1
  227. package/dist/dev/ui/hotkey/hotkey.js.map +1 -1
  228. package/dist/dev/ui/menu/context.js +6 -1
  229. package/dist/dev/ui/menu/context.js.map +1 -1
  230. package/dist/dev/ui/menu/menu-item-indicator.d.ts.map +1 -1
  231. package/dist/dev/ui/menu/menu-item-indicator.js +3 -2
  232. package/dist/dev/ui/menu/menu-item-indicator.js.map +1 -1
  233. package/dist/dev/ui/menu/menu-radio-item.d.ts.map +1 -1
  234. package/dist/dev/ui/menu/menu-radio-item.js +19 -15
  235. package/dist/dev/ui/menu/menu-radio-item.js.map +1 -1
  236. package/dist/dev/ui/menu/menu-root.js +5 -6
  237. package/dist/dev/ui/menu/menu-root.js.map +1 -1
  238. package/dist/dev/ui/poster/poster.d.ts +15 -4
  239. package/dist/dev/ui/poster/poster.d.ts.map +1 -1
  240. package/dist/dev/ui/poster/poster.js +64 -17
  241. package/dist/dev/ui/poster/poster.js.map +1 -1
  242. package/dist/dev/ui/slider/slider-preview.d.ts +5 -9
  243. package/dist/dev/ui/slider/slider-preview.d.ts.map +1 -1
  244. package/dist/dev/ui/slider/slider-preview.js.map +1 -1
  245. package/dist/dev/utils/use-render.d.ts.map +1 -1
  246. package/dist/dev/utils/use-render.js +2 -8
  247. package/dist/dev/utils/use-render.js.map +1 -1
  248. package/docs/README.md +1 -1
  249. package/docs/concepts/skins.md +97 -96
  250. package/docs/how-to/customize-skins.md +421 -411
  251. package/docs/reference/create-player.md +2 -2
  252. package/docs/reference/menu.md +6 -18
  253. package/docs/reference/popover.md +6 -6
  254. package/docs/reference/poster.md +187 -13
  255. package/docs/reference/slider.md +1 -1
  256. package/docs/reference/time-slider.md +1 -1
  257. package/docs/reference/tooltip.md +10 -10
  258. package/docs/reference/volume-slider.md +1 -1
  259. package/package.json +13 -8
@@ -2,7 +2,6 @@
2
2
  import { useTranslator } from "../../i18n/context.js";
3
3
  import { usePlayer } from "../../player/context.js";
4
4
  import { Container } from "../../player/container.js";
5
- import { isRenderProp } from "../../utils/use-render.js";
6
5
  import { AirPlayButton } from "../../ui/airplay-button/airplay-button.js";
7
6
  import { AlertDialogPopup } from "../../ui/alert-dialog/alert-dialog-popup.js";
8
7
  import { useAudioTrackOptions } from "../../ui/audio-track/use-audio-track-options.js";
@@ -91,9 +90,8 @@ import VolumeLowIcon from "../../icons/dist/react/minimal/volume-low.js";
91
90
  import VolumeOffIcon from "../../icons/dist/react/minimal/volume-off.js";
92
91
  import { forwardRef } from "react";
93
92
  import { jsx, jsxs } from "react/jsx-runtime";
94
- import { isString } from "@videojs/utils/predicate";
95
- import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from "@videojs/core/i18n/text/menu";
96
93
  import { cn } from "@videojs/utils/style";
94
+ import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from "@videojs/core/i18n/text/menu";
97
95
  //#region src/presets/video/minimal-skin.tsx
98
96
  const SEEK_TIME = 10;
99
97
  const TOP_STATUS_ACTIONS = [
@@ -350,7 +348,7 @@ function SettingsMenu() {
350
348
  });
351
349
  }
352
350
  function MinimalVideoSkin(props) {
353
- const { children, className, poster, placeholder, style, ...rest } = props;
351
+ const { children, className, renderPoster, placeholder, style, ...rest } = props;
354
352
  const containerStyle = placeholder ? {
355
353
  "--media-poster-placeholder": `url(${placeholder})`,
356
354
  ...style
@@ -361,10 +359,7 @@ function MinimalVideoSkin(props) {
361
359
  ...rest,
362
360
  children: [
363
361
  children,
364
- poster && /* @__PURE__ */ jsx(Poster, {
365
- src: isString(poster) ? poster : void 0,
366
- render: isRenderProp(poster) ? poster : void 0
367
- }),
362
+ /* @__PURE__ */ jsx(Poster, { render: renderPoster }),
368
363
  /* @__PURE__ */ jsx(BufferingIndicator, { render: (props) => /* @__PURE__ */ jsx("div", {
369
364
  ...props,
370
365
  className: "media-buffering-indicator",
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, type CSSProperties, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport type { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\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 VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\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 (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"horizontal\" 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\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn('media-icon media-menu__chevron', flipped ? 'media-icon--flipped' : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger aria-label={t(settingsText)} className=\"media-button--settings\" render={<Button />}>\n <GearIcon className=\"media-icon media-icon--settings\" />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className=\"media-popover media-menu media-menu--settings\">\n <div className=\"media-menu__group\">\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <QualityIcon className=\"media-icon\" />\n <span>{t(qualityText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <QualityRadioGroup\n className=\"media-menu__group\"\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>\n {item.label}\n {item.tier ? <sup className=\"media-menu__tier\">{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className=\"media-badge\">{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeechIcon className=\"media-icon\" />\n <span>{t(audioText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <AudioTrackRadioGroup\n className=\"media-menu__group\"\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeedIcon className=\"media-icon\" />\n <span>{t(speedText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <PlaybackRateRadioGroup\n className=\"media-menu__group\"\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className=\"media-icon\" />\n <span>{t(captionsText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <CaptionsRadioGroup\n className=\"media-menu__group\"\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster, placeholder, style, ...rest } = props;\n\n const containerStyle = placeholder\n ? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)\n : style;\n\n return (\n <Container\n className={cn('media-minimal-skin media-minimal-skin--video', className)}\n style={containerStyle}\n {...rest}\n >\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\"></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\"></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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time-group\">\n <Time.Value toggle 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.Chapters\n className=\"media-slider__chapters\"\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, 'media-slider__chapter')}>\n <TimeSlider.Track className=\"media-slider__track media-slider__chapter-track\">\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n <TimeSlider.Fill className=\"media-slider__fill\" />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <TimeSlider.Preview className=\"media-slider__preview\">\n <div className=\"media-thumbnail media-slider__thumbnail\">\n <Slider.Thumbnail className=\"media-thumbnail__image\" />\n <SpinnerIcon className=\"media-thumbnail__spinner media-icon\" />\n </div>\n <div className=\"media-slider__value\">\n <TimeSlider.ChapterTitle className=\"media-slider__chapter-title\" />\n <TimeSlider.Value type=\"pointer\" className=\"media-time\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className=\"media-button--cast\" render={<Button />}>\n <CastEnterIcon className=\"media-icon media-icon--cast-enter\" />\n <CastExitIcon className=\"media-icon media-icon--cast-exit\" />\n </CastButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className=\"media-button--airplay\" render={<Button />}>\n <AirPlayEnterIcon className=\"media-icon media-icon--airplay-enter\" />\n <AirPlayExitIcon className=\"media-icon media-icon--airplay-exit\" />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"media-sr-only\" />\n <div className=\"media-input-indicator-overlay\">\n <VolumeIndicator.Root className=\"media-volume-indicator\">\n <VolumeIndicator.Fill className=\"media-volume-indicator__content\">\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <div className=\"media-volume-indicator__progress\" aria-hidden=\"true\" />\n <VolumeIndicator.Value className=\"media-volume-indicator__value\" />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root\n actions={TOP_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--state\"\n >\n <div className=\"media-status-indicator__content\">\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n <StatusIndicator.Value className=\"media-status-indicator__value\" />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className=\"media-seek-indicator\">\n <ChevronIcon className=\"media-icon media-icon--seek\" />\n <SeekIndicator.Value className=\"media-seek-indicator__value\" />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root\n actions={CENTER_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--playback\"\n >\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </StatusIndicator.Root>\n </div>\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","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, type CSSProperties, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\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 VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\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 (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"horizontal\" 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\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn('media-icon media-menu__chevron', flipped ? 'media-icon--flipped' : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger aria-label={t(settingsText)} className=\"media-button--settings\" render={<Button />}>\n <GearIcon className=\"media-icon media-icon--settings\" />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className=\"media-popover media-menu media-menu--settings\">\n <div className=\"media-menu__group\">\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <QualityIcon className=\"media-icon\" />\n <span>{t(qualityText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <QualityRadioGroup\n className=\"media-menu__group\"\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>\n {item.label}\n {item.tier ? <sup className=\"media-menu__tier\">{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className=\"media-badge\">{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeechIcon className=\"media-icon\" />\n <span>{t(audioText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <AudioTrackRadioGroup\n className=\"media-menu__group\"\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeedIcon className=\"media-icon\" />\n <span>{t(speedText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <PlaybackRateRadioGroup\n className=\"media-menu__group\"\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className=\"media-icon\" />\n <span>{t(captionsText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <CaptionsRadioGroup\n className=\"media-menu__group\"\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, placeholder, style, ...rest } = props;\n\n const containerStyle = placeholder\n ? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)\n : style;\n\n return (\n <Container\n className={cn('media-minimal-skin media-minimal-skin--video', className)}\n style={containerStyle}\n {...rest}\n >\n {children}\n\n <Poster render={renderPoster} />\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\"></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\"></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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time-group\">\n <Time.Value toggle 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.Chapters\n className=\"media-slider__chapters\"\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, 'media-slider__chapter')}>\n <TimeSlider.Track className=\"media-slider__track media-slider__chapter-track\">\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n <TimeSlider.Fill className=\"media-slider__fill\" />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <TimeSlider.Preview className=\"media-slider__preview\">\n <div className=\"media-thumbnail media-slider__thumbnail\">\n <Slider.Thumbnail className=\"media-thumbnail__image\" />\n <SpinnerIcon className=\"media-thumbnail__spinner media-icon\" />\n </div>\n <div className=\"media-slider__value\">\n <TimeSlider.ChapterTitle className=\"media-slider__chapter-title\" />\n <TimeSlider.Value type=\"pointer\" className=\"media-time\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className=\"media-button--cast\" render={<Button />}>\n <CastEnterIcon className=\"media-icon media-icon--cast-enter\" />\n <CastExitIcon className=\"media-icon media-icon--cast-exit\" />\n </CastButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className=\"media-button--airplay\" render={<Button />}>\n <AirPlayEnterIcon className=\"media-icon media-icon--airplay-enter\" />\n <AirPlayExitIcon className=\"media-icon media-icon--airplay-exit\" />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\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 <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"media-sr-only\" />\n <div className=\"media-input-indicator-overlay\">\n <VolumeIndicator.Root className=\"media-volume-indicator\">\n <VolumeIndicator.Fill className=\"media-volume-indicator__content\">\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <div className=\"media-volume-indicator__progress\" aria-hidden=\"true\" />\n <VolumeIndicator.Value className=\"media-volume-indicator__value\" />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root\n actions={TOP_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--state\"\n >\n <div className=\"media-status-indicator__content\">\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n <StatusIndicator.Value className=\"media-status-indicator__value\" />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className=\"media-seek-indicator\">\n <ChevronIcon className=\"media-icon media-icon--seek\" />\n <SeekIndicator.Value className=\"media-seek-indicator__value\" />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root\n actions={CENTER_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--playback\"\n >\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"mappings":";;;iBAmXgB,yBAAyB,OAAO,wBAAwB"}
1
+ {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"mappings":";;;iBAiXgB,yBAAyB,OAAO,wBAAwB"}
@@ -2,7 +2,6 @@
2
2
  import { useTranslator } from "../../i18n/context.js";
3
3
  import { usePlayer } from "../../player/context.js";
4
4
  import { Container } from "../../player/container.js";
5
- import { isRenderProp } from "../../utils/use-render.js";
6
5
  import { AirPlayButton } from "../../ui/airplay-button/airplay-button.js";
7
6
  import { AlertDialogPopup } from "../../ui/alert-dialog/alert-dialog-popup.js";
8
7
  import { useAudioTrackOptions } from "../../ui/audio-track/use-audio-track-options.js";
@@ -103,9 +102,8 @@ import { volumeIndicator } from "../../skins/dist/default/minimal/tailwind/compo
103
102
  import { buttonGroupEnd, buttonGroupStart, container, controls, error, menu, popup, slider, thumbnail, time } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
104
103
  import { forwardRef } from "react";
105
104
  import { jsx, jsxs } from "react/jsx-runtime";
106
- import { isString } from "@videojs/utils/predicate";
107
- import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from "@videojs/core/i18n/text/menu";
108
105
  import { cn } from "@videojs/utils/style";
106
+ import { audioText, captionsText, playbackRateText, qualityText, settingsText, speedText } from "@videojs/core/i18n/text/menu";
109
107
  //#region src/presets/video/minimal-skin.tailwind.tsx
110
108
  const SEEK_TIME = 10;
111
109
  const TOP_STATUS_ACTIONS = [
@@ -392,7 +390,7 @@ function SettingsMenu() {
392
390
  });
393
391
  }
394
392
  function MinimalVideoSkinTailwind(props) {
395
- const { children, className, poster: posterProp, placeholder, style, ...rest } = props;
393
+ const { children, className, renderPoster, placeholder, style, ...rest } = props;
396
394
  const containerStyle = placeholder ? {
397
395
  "--media-poster-placeholder": `url(${placeholder})`,
398
396
  ...style
@@ -403,10 +401,9 @@ function MinimalVideoSkinTailwind(props) {
403
401
  ...rest,
404
402
  children: [
405
403
  children,
406
- posterProp && /* @__PURE__ */ jsx(Poster, {
407
- src: isString(posterProp) ? posterProp : void 0,
408
- render: isRenderProp(posterProp) ? posterProp : void 0,
409
- className: poster(false)
404
+ /* @__PURE__ */ jsx(Poster, {
405
+ className: poster(false),
406
+ render: renderPoster
410
407
  }),
411
408
  /* @__PURE__ */ jsx(BufferingIndicator, { render: (props) => /* @__PURE__ */ jsx("div", {
412
409
  ...props,
@@ -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","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport {\n badge,\n bufferingIndicator,\n button,\n buttonGroupEnd,\n buttonGroupStart,\n container,\n controls,\n error,\n icon,\n iconFlipped,\n iconState,\n inputIndicatorOverlay,\n menu,\n overlay,\n popup,\n poster,\n seekIndicator,\n slider,\n statusIndicator,\n thumbnail,\n time,\n volumeIndicator,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, type CSSProperties, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\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 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 VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\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 (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={popup.volume}>\n <VolumeSlider.Root orientation=\"horizontal\" 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\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn(icon, menu.icon, menu.chevron, flipped ? iconFlipped : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger\n aria-label={t(settingsText)}\n render={<Button className={cn(button.icon, menu.settingsTrigger)} />}\n >\n <GearIcon className={cn(icon, menu.settingsIcon)} />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className={menu.settings}>\n <div className={menu.group}>\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <QualityIcon className={cn(icon, menu.icon)} />\n <span>{t(qualityText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <QualityRadioGroup\n className={menu.group}\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>\n {item.label}\n {item.tier ? <sup className={menu.tier}>{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className={badge}>{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeechIcon className={icon} />\n <span>{t(audioText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <AudioTrackRadioGroup\n className={menu.group}\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={icon} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeedIcon className={cn(icon, menu.icon)} />\n <span>{t(speedText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <PlaybackRateRadioGroup\n className={menu.group}\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className={cn(icon, menu.icon)} />\n <span>{t(captionsText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <CaptionsRadioGroup\n className={menu.group}\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster: posterProp, placeholder, style, ...rest } = props;\n\n const containerStyle = placeholder\n ? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)\n : style;\n\n return (\n <Container className={cn(container(false), className)} style={containerStyle} {...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}></ErrorDialog.Title>\n <ErrorDialog.Description className={error.description} />\n </div>\n <div className={error.actions}>\n <ErrorDialog.Close className={cn(button.base, button.primary)}></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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value toggle 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.Chapters\n className={slider.chapters}\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, slider.chapter.base)}>\n <TimeSlider.Track render={<div className={slider.chapter.track} />}>\n <TimeSlider.Buffer render={<div className={cn(slider.fill.base, slider.fill.buffer)} />} />\n <TimeSlider.Fill render={<div className={cn(slider.fill.base, slider.fill.fill)} />} />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb render={<SliderThumb />} />\n <TimeSlider.Preview className={slider.preview}>\n <div className={cn(thumbnail.root, slider.thumbnail)}>\n <Slider.Thumbnail className={thumbnail.image} />\n <SpinnerIcon className={cn(icon, thumbnail.spinner)} />\n </div>\n <div className={slider.value}>\n <TimeSlider.ChapterTitle className={slider.chapterTitle} />\n <TimeSlider.Value type=\"pointer\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className={cn(buttonGroupEnd, menu.settingsGroup)}>\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className={iconState.cast.button} render={<Button />}>\n <CastEnterIcon className={cn(icon, iconState.cast.enter)} />\n <CastExitIcon className={cn(icon, iconState.cast.exit)} />\n </CastButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className={iconState.airplay.button} render={<Button />}>\n <AirPlayEnterIcon className={cn(icon, iconState.airplay.enter)} />\n <AirPlayExitIcon className={cn(icon, iconState.airplay.exit)} />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"sr-only\" />\n <div className={inputIndicatorOverlay}>\n <VolumeIndicator.Root className={volumeIndicator.root}>\n <VolumeIndicator.Fill className={volumeIndicator.content}>\n <VolumeHighIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.high)} />\n <VolumeLowIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.low)} />\n <VolumeOffIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.off)} />\n <div aria-hidden=\"true\" className={volumeIndicator.progress} />\n <VolumeIndicator.Value className={volumeIndicator.value} />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root actions={TOP_STATUS_ACTIONS} className={statusIndicator.root}>\n <div className={statusIndicator.content}>\n <CaptionsOnIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOn)} />\n <CaptionsOffIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOff)} />\n <FullscreenEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenEnter)} />\n <FullscreenExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenExit)} />\n <PipEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipEnter)} />\n <PipExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipExit)} />\n <StatusIndicator.Value className={statusIndicator.value} />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className={seekIndicator.root}>\n <ChevronIcon className={seekIndicator.icon} />\n <SeekIndicator.Value className={seekIndicator.value} />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root actions={CENTER_STATUS_ACTIONS} className={statusIndicator.playback.root}>\n <PlayIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.play)} />\n <PauseIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.pause)} />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"minimal-skin.tailwind.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport {\n badge,\n bufferingIndicator,\n button,\n buttonGroupEnd,\n buttonGroupStart,\n container,\n controls,\n error,\n icon,\n iconFlipped,\n iconState,\n inputIndicatorOverlay,\n menu,\n overlay,\n popup,\n poster,\n seekIndicator,\n slider,\n statusIndicator,\n thumbnail,\n time,\n volumeIndicator,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, type CSSProperties, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\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 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 VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\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 (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={popup.volume}>\n <VolumeSlider.Root orientation=\"horizontal\" 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\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn(icon, menu.icon, menu.chevron, flipped ? iconFlipped : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger\n aria-label={t(settingsText)}\n render={<Button className={cn(button.icon, menu.settingsTrigger)} />}\n >\n <GearIcon className={cn(icon, menu.settingsIcon)} />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className={menu.settings}>\n <div className={menu.group}>\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <QualityIcon className={cn(icon, menu.icon)} />\n <span>{t(qualityText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <QualityRadioGroup\n className={menu.group}\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>\n {item.label}\n {item.tier ? <sup className={menu.tier}>{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className={badge}>{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeechIcon className={icon} />\n <span>{t(audioText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <AudioTrackRadioGroup\n className={menu.group}\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={icon} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeedIcon className={cn(icon, menu.icon)} />\n <span>{t(speedText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <PlaybackRateRadioGroup\n className={menu.group}\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className={cn(icon, menu.icon)} />\n <span>{t(captionsText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <CaptionsRadioGroup\n className={menu.group}\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, placeholder, style, ...rest } = props;\n\n const containerStyle = placeholder\n ? ({ '--media-poster-placeholder': `url(${placeholder})`, ...style } as CSSProperties)\n : style;\n\n return (\n <Container className={cn(container(false), className)} style={containerStyle} {...rest}>\n {children}\n\n <Poster className={poster(false)} render={renderPoster} />\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}></ErrorDialog.Title>\n <ErrorDialog.Description className={error.description} />\n </div>\n <div className={error.actions}>\n <ErrorDialog.Close className={cn(button.base, button.primary)}></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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value toggle 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.Chapters\n className={slider.chapters}\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, slider.chapter.base)}>\n <TimeSlider.Track render={<div className={slider.chapter.track} />}>\n <TimeSlider.Buffer render={<div className={cn(slider.fill.base, slider.fill.buffer)} />} />\n <TimeSlider.Fill render={<div className={cn(slider.fill.base, slider.fill.fill)} />} />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb render={<SliderThumb />} />\n <TimeSlider.Preview className={slider.preview}>\n <div className={cn(thumbnail.root, slider.thumbnail)}>\n <Slider.Thumbnail className={thumbnail.image} />\n <SpinnerIcon className={cn(icon, thumbnail.spinner)} />\n </div>\n <div className={slider.value}>\n <TimeSlider.ChapterTitle className={slider.chapterTitle} />\n <TimeSlider.Value type=\"pointer\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className={cn(buttonGroupEnd, menu.settingsGroup)}>\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className={iconState.cast.button} render={<Button />}>\n <CastEnterIcon className={cn(icon, iconState.cast.enter)} />\n <CastExitIcon className={cn(icon, iconState.cast.exit)} />\n </CastButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className={iconState.airplay.button} render={<Button />}>\n <AirPlayEnterIcon className={cn(icon, iconState.airplay.enter)} />\n <AirPlayExitIcon className={cn(icon, iconState.airplay.exit)} />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\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 <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"sr-only\" />\n <div className={inputIndicatorOverlay}>\n <VolumeIndicator.Root className={volumeIndicator.root}>\n <VolumeIndicator.Fill className={volumeIndicator.content}>\n <VolumeHighIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.high)} />\n <VolumeLowIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.low)} />\n <VolumeOffIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.off)} />\n <div aria-hidden=\"true\" className={volumeIndicator.progress} />\n <VolumeIndicator.Value className={volumeIndicator.value} />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root actions={TOP_STATUS_ACTIONS} className={statusIndicator.root}>\n <div className={statusIndicator.content}>\n <CaptionsOnIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOn)} />\n <CaptionsOffIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOff)} />\n <FullscreenEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenEnter)} />\n <FullscreenExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenExit)} />\n <PipEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipEnter)} />\n <PipExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipExit)} />\n <StatusIndicator.Value className={statusIndicator.value} />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className={seekIndicator.root}>\n <ChevronIcon className={seekIndicator.icon} />\n <SeekIndicator.Value className={seekIndicator.value} />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root actions={CENTER_STATUS_ACTIONS} className={statusIndicator.playback.root}>\n <PlayIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.play)} />\n <PauseIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.pause)} />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { index_d_exports } from "../../index.js";
3
3
  //#region src/presets/video/player.d.ts
4
4
  /** Preconfigured player with the standard video features. */
5
5
  declare const VideoPlayer: import("react").FC<PlayerProps<{
6
- contentTitle: import("@videojs/media").MediaContentValue;
7
- defaultContentTitle: import("@videojs/media").MediaContentValue;
6
+ title: import("@videojs/media").MediaContentValue;
7
+ poster: import("@videojs/media").MediaContentValue;
8
8
  }>>,
9
9
  /** Access the standard video player store or select a value from it. */
10
10
  usePlayer: UsePlayerHook<index_d_exports.VideoPlayerStore>;