@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
@@ -438,8 +438,7 @@
438
438
  --track-size: calc(var(--spacing) * 1);
439
439
  --track-highlighted-size: calc(var(--spacing) * 1.75);
440
440
  --track-border-radius: 99px;
441
- --thumb-size: calc(var(--spacing) * 2.5);
442
- --thumb-active-size: calc(var(--spacing) * 3);
441
+ --thumb-size: calc(var(--spacing) * 3);
443
442
  --chapter-gap: calc(var(--spacing) * 1);
444
443
  --chapter-inset-start: calc(var(--chapter-gap) / 2);
445
444
  --chapter-inset-end: calc(var(--chapter-gap) / 2);
@@ -492,13 +491,22 @@
492
491
  inset-block: 0;
493
492
  left: 0;
494
493
  width: 100%;
495
- transition-property: clip-path;
496
494
  }
497
495
  &[data-orientation="vertical"] {
498
496
  inset-inline: 0;
499
497
  bottom: 0;
500
498
  height: 100%;
501
- transition-property: clip-path;
499
+ }
500
+
501
+ @media (prefers-reduced-motion: no-preference) {
502
+ transition: clip-path 200ms ease-out;
503
+ }
504
+ }
505
+ &[data-dragging],
506
+ &[data-seeking] {
507
+ .media-slider__fill,
508
+ .media-slider__buffer {
509
+ transition-duration: 0ms;
502
510
  }
503
511
  }
504
512
 
@@ -525,6 +533,14 @@
525
533
  clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
526
534
  }
527
535
  }
536
+ &[data-dragging] {
537
+ .media-slider__fill[data-orientation="horizontal"] {
538
+ clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
539
+ }
540
+ .media-slider__fill[data-orientation="vertical"] {
541
+ clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
542
+ }
543
+ }
528
544
 
529
545
  /* Chapters */
530
546
  .media-slider__chapters {
@@ -606,45 +622,6 @@
606
622
  }
607
623
  }
608
624
 
609
- /* Dragging — thumb and fill follow the pointer position */
610
- &[data-dragging] {
611
- .media-slider__thumb[data-orientation="horizontal"] {
612
- left: var(--media-slider-pointer);
613
- }
614
- .media-slider__thumb[data-orientation="vertical"] {
615
- top: calc(100% - var(--media-slider-pointer));
616
- }
617
- .media-slider__fill[data-orientation="horizontal"] {
618
- clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
619
- }
620
- .media-slider__fill[data-orientation="vertical"] {
621
- clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
622
- }
623
- }
624
-
625
- @media (prefers-reduced-motion: no-preference) {
626
- .media-slider__thumb {
627
- transition-property: opacity, height, width, outline-offset, left, top;
628
- }
629
- .media-slider__fill {
630
- transition-timing-function: linear;
631
- transition-duration: 200ms;
632
- }
633
- .media-slider__buffer {
634
- transition-timing-function: ease-out;
635
- transition-duration: 250ms;
636
- }
637
- }
638
-
639
- &[data-dragging],
640
- &[data-seeking] {
641
- .media-slider__thumb,
642
- .media-slider__fill,
643
- .media-slider__buffer {
644
- transition-duration: 0ms;
645
- }
646
- }
647
-
648
625
  /* Thumb */
649
626
  .media-slider__thumb {
650
627
  position: absolute;
@@ -661,10 +638,8 @@
661
638
  0 1px 3px 0 oklch(0 0 0 / 0.35),
662
639
  0 1px 2px -1px oklch(0 0 0 / 0.35);
663
640
  opacity: 0;
641
+ scale: 0.8;
664
642
  translate: -50% -50%;
665
- transition-timing-function: ease-out;
666
- transition-duration: 150ms;
667
- transition-property: opacity, height, width, outline-offset;
668
643
 
669
644
  &[data-orientation="horizontal"] {
670
645
  top: 50%;
@@ -681,22 +656,12 @@
681
656
  opacity: 1;
682
657
  }
683
658
 
684
- @media (hover: hover) and (pointer: fine) {
685
- &:hover {
686
- outline-color: oklch(from currentColor l c h / 0.15);
687
- outline-offset: 0;
688
- }
689
- }
690
-
691
659
  &::after {
692
660
  position: absolute;
693
661
  inset: -4px;
694
662
  content: "";
695
663
  border-radius: inherit;
696
664
  box-shadow: 0 0 0 2px currentColor;
697
- transition-timing-function: ease-out;
698
- transition-duration: 150ms;
699
- transition-property: opacity, scale;
700
665
  }
701
666
 
702
667
  &:not(:focus-visible)::after {
@@ -705,37 +670,70 @@
705
670
  }
706
671
 
707
672
  &.media-slider__thumb--persistent {
708
- width: var(--thumb-active-size);
709
- height: var(--thumb-active-size);
710
673
  opacity: 1;
674
+ scale: 1;
711
675
  }
712
- }
713
676
 
714
- &:active .media-slider__thumb,
715
- &:focus-within .media-slider__thumb {
716
- width: var(--thumb-active-size);
717
- height: var(--thumb-active-size);
677
+ @media (hover: hover) and (pointer: fine) {
678
+ &:hover {
679
+ outline-color: oklch(from currentColor l c h / 0.15);
680
+ outline-offset: 0;
681
+ }
682
+ }
683
+
684
+ @media (prefers-reduced-motion: no-preference) {
685
+ transition-timing-function: ease-out;
686
+ transition-duration: 150ms;
687
+ transition-property: opacity, outline-offset, left, top, scale;
688
+
689
+ &::after {
690
+ transition-timing-function: ease-out;
691
+ transition-duration: 150ms;
692
+ transition-property: opacity, scale;
693
+ }
694
+ }
718
695
  }
719
696
 
720
697
  @media (hover: hover) and (pointer: fine) {
721
698
  &:hover .media-slider__thumb {
722
699
  opacity: 1;
700
+ scale: 1;
701
+ }
702
+ }
703
+
704
+ &[data-dragging] .media-slider__thumb {
705
+ opacity: 1;
706
+ scale: 0.9;
707
+
708
+ @media (prefers-reduced-motion: no-preference) {
709
+ transition-property: opacity, outline-offset, scale;
710
+ }
711
+
712
+ &[data-orientation="horizontal"] {
713
+ left: var(--media-slider-pointer);
714
+ }
715
+ &[data-orientation="vertical"] {
716
+ top: calc(100% - var(--media-slider-pointer));
723
717
  }
724
718
  }
725
719
 
726
720
  /* Preview */
727
721
  .media-slider__preview {
728
- --max-width: min(calc(var(--spacing) * 48), 100cqi);
729
- --max-height: calc(var(--spacing) * 32);
722
+ --max-size-factor: 36;
723
+ --max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
730
724
 
731
- min-width: var(--max-width);
725
+ min-width: var(--max-size);
732
726
  height: calc(var(--spacing) * 1);
733
727
 
728
+ @container media-root (width > 42rem) {
729
+ --max-size-factor: 48;
730
+ }
731
+
734
732
  .media-slider__thumbnail,
735
733
  .media-slider__value {
736
734
  position: absolute;
737
735
  left: 50%;
738
- max-width: var(--max-width);
736
+ max-width: var(--max-size);
739
737
  opacity: 0;
740
738
  filter: blur(8px);
741
739
  transform-origin: bottom;
@@ -746,7 +744,8 @@
746
744
  }
747
745
 
748
746
  .media-slider__thumbnail {
749
- --thumbnail-max-width: var(--max-width);
747
+ --thumbnail-max-width: var(--max-size);
748
+ --thumbnail-max-height: var(--max-size);
750
749
  bottom: calc(100% + (var(--spacing) * 9));
751
750
  }
752
751
 
@@ -760,7 +759,7 @@
760
759
 
761
760
  .media-slider__chapter-title {
762
761
  min-width: 0;
763
- max-width: var(--max-width);
762
+ max-width: var(--max-size);
764
763
  padding-inline: calc(var(--spacing) * 6);
765
764
  overflow: hidden;
766
765
  text-overflow: ellipsis;
@@ -582,7 +582,7 @@
582
582
  position: relative;
583
583
  display: block;
584
584
  max-width: var(--thumbnail-max-width);
585
- max-height: var(--max-height);
585
+ max-height: var(--thumbnail-max-height);
586
586
  overflow: clip;
587
587
  border-radius: inherit;
588
588
  }
@@ -626,9 +626,13 @@
626
626
  }
627
627
 
628
628
  .media-minimal-skin .media-slider {
629
+ --track-size: calc(var(--spacing) * 1);
630
+ --track-highlighted-size: calc(var(--spacing) * 1.75);
631
+ --track-border-radius: 99px;
629
632
  --thumb-size: calc(var(--spacing) * 3);
630
- --thumb-active-size: calc(var(--spacing) * 3);
631
- --track-border-radius: calc(Infinity * 1px);
633
+ --chapter-gap: calc(var(--spacing) * 1);
634
+ --chapter-inset-start: calc(var(--chapter-gap) / 2);
635
+ --chapter-inset-end: calc(var(--chapter-gap) / 2);
632
636
 
633
637
  position: relative;
634
638
  display: flex;
@@ -660,68 +664,14 @@
660
664
 
661
665
  &[data-orientation="horizontal"] {
662
666
  width: 100%;
663
- height: calc(var(--spacing) * 0.75);
667
+ height: var(--track-size);
664
668
  }
665
669
  &[data-orientation="vertical"] {
666
- width: calc(var(--spacing) * 0.75);
670
+ width: var(--track-size);
667
671
  height: 100%;
668
672
  }
669
673
  }
670
674
 
671
- /* Thumb */
672
- .media-slider__thumb {
673
- position: absolute;
674
- z-index: 10;
675
- width: var(--thumb-size);
676
- height: var(--thumb-size);
677
- user-select: none;
678
- outline: 2px solid transparent;
679
- outline-offset: -2px;
680
- background-color: currentColor;
681
- border-radius: calc(Infinity * 1px);
682
- box-shadow:
683
- 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
684
- 0 1px 3px 0 oklch(0 0 0 / 0.15),
685
- 0 1px 2px -1px oklch(0 0 0 / 0.15);
686
- opacity: 0;
687
- transform-origin: center;
688
- scale: 0.7;
689
- translate: -50% -50%;
690
- transition-timing-function: ease-out;
691
- transition-duration: 150ms;
692
-
693
- &[data-orientation="horizontal"] {
694
- top: 50%;
695
- left: var(--media-slider-fill);
696
- }
697
- &[data-orientation="vertical"] {
698
- top: calc(100% - var(--media-slider-fill));
699
- left: 50%;
700
- }
701
-
702
- &:focus-visible {
703
- outline-color: var(--focus-ring-color);
704
- outline-offset: 2px;
705
- }
706
- }
707
-
708
- &:focus-within .media-slider__thumb,
709
- .media-slider__thumb--persistent {
710
- width: var(--thumb-active-size);
711
- height: var(--thumb-active-size);
712
- opacity: 1;
713
- scale: 1;
714
- }
715
-
716
- @media (hover: hover) and (pointer: fine) {
717
- &:hover .media-slider__thumb {
718
- width: var(--thumb-active-size);
719
- height: var(--thumb-active-size);
720
- opacity: 1;
721
- scale: 1;
722
- }
723
- }
724
-
725
675
  /* Shared track fills */
726
676
  .media-slider__buffer,
727
677
  .media-slider__fill {
@@ -733,13 +683,22 @@
733
683
  inset-block: 0;
734
684
  left: 0;
735
685
  width: 100%;
736
- transition-property: clip-path;
737
686
  }
738
687
  &[data-orientation="vertical"] {
739
688
  inset-inline: 0;
740
689
  bottom: 0;
741
690
  height: 100%;
742
- transition-property: clip-path;
691
+ }
692
+
693
+ @media (prefers-reduced-motion: no-preference) {
694
+ transition: clip-path 200ms ease-out;
695
+ }
696
+ }
697
+ &[data-dragging],
698
+ &[data-seeking] {
699
+ .media-slider__fill,
700
+ .media-slider__buffer {
701
+ transition-duration: 0ms;
743
702
  }
744
703
  }
745
704
 
@@ -766,6 +725,14 @@
766
725
  clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
767
726
  }
768
727
  }
728
+ &[data-dragging] {
729
+ .media-slider__fill[data-orientation="horizontal"] {
730
+ clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
731
+ }
732
+ .media-slider__fill[data-orientation="vertical"] {
733
+ clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
734
+ }
735
+ }
769
736
 
770
737
  /* Chapters */
771
738
  .media-slider__chapters {
@@ -789,9 +756,6 @@
789
756
  }
790
757
 
791
758
  .media-slider__chapter {
792
- --chapter-gap: calc(var(--spacing) * 1);
793
- --chapter-inset-start: calc(var(--chapter-gap) / 2);
794
- --chapter-inset-end: calc(var(--chapter-gap) / 2);
795
759
  position: absolute;
796
760
  inset: 0;
797
761
  display: flex;
@@ -808,8 +772,6 @@
808
772
  }
809
773
 
810
774
  .media-slider__chapter-track {
811
- --chapter-track-size: calc(var(--spacing) * 0.75);
812
- --chapter-track-highlighted-size: calc(var(--spacing) * 1.25);
813
775
  border-radius: var(--track-border-radius);
814
776
 
815
777
  @media (prefers-reduced-motion: no-preference) {
@@ -822,7 +784,7 @@
822
784
  clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
823
785
 
824
786
  .media-slider__chapter-track {
825
- height: var(--chapter-track-size);
787
+ height: var(--track-size);
826
788
  clip-path: inset(
827
789
  0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
828
790
  calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
@@ -830,7 +792,7 @@
830
792
  }
831
793
 
832
794
  &[data-highlighted] .media-slider__chapter-track {
833
- height: var(--chapter-track-highlighted-size);
795
+ height: var(--track-highlighted-size);
834
796
  }
835
797
  }
836
798
 
@@ -838,7 +800,7 @@
838
800
  clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
839
801
 
840
802
  .media-slider__chapter-track {
841
- width: var(--chapter-track-size);
803
+ width: var(--track-size);
842
804
  clip-path: inset(
843
805
  calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
844
806
  calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
@@ -846,63 +808,102 @@
846
808
  }
847
809
 
848
810
  &[data-highlighted] .media-slider__chapter-track {
849
- width: var(--chapter-track-highlighted-size);
811
+ width: var(--track-highlighted-size);
850
812
  }
851
813
  }
852
814
  }
853
815
 
854
- /* Dragging — thumb and fill follow the pointer position */
855
- &[data-dragging] {
856
- .media-slider__thumb[data-orientation="horizontal"] {
857
- left: var(--media-slider-pointer);
858
- }
859
- .media-slider__thumb[data-orientation="vertical"] {
860
- top: calc(100% - var(--media-slider-pointer));
861
- }
862
- .media-slider__fill[data-orientation="horizontal"] {
863
- clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
816
+ /* Thumb */
817
+ .media-slider__thumb {
818
+ position: absolute;
819
+ z-index: 10;
820
+ width: var(--thumb-size);
821
+ height: var(--thumb-size);
822
+ user-select: none;
823
+ outline: 2px solid transparent;
824
+ outline-offset: -2px;
825
+ background-color: currentColor;
826
+ border-radius: calc(Infinity * 1px);
827
+ box-shadow:
828
+ 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
829
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
830
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
831
+ opacity: 0;
832
+ transform-origin: center;
833
+ scale: 0.7;
834
+ translate: -50% -50%;
835
+
836
+ &[data-orientation="horizontal"] {
837
+ top: 50%;
838
+ left: var(--media-slider-fill);
864
839
  }
865
- .media-slider__fill[data-orientation="vertical"] {
866
- clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
840
+ &[data-orientation="vertical"] {
841
+ top: calc(100% - var(--media-slider-fill));
842
+ left: 50%;
867
843
  }
868
- }
869
844
 
870
- @media (prefers-reduced-motion: no-preference) {
871
- .media-slider__thumb {
872
- transition-property: opacity, scale, height, width, outline-offset, left, top;
845
+ &:focus-visible {
846
+ outline-color: var(--focus-ring-color);
847
+ outline-offset: 2px;
873
848
  }
874
- .media-slider__fill {
875
- transition-timing-function: linear;
876
- transition-duration: 200ms;
849
+
850
+ &:focus-visible,
851
+ &.media-slider__thumb--persistent {
852
+ opacity: 1;
853
+ scale: 1;
877
854
  }
878
- .media-slider__buffer {
855
+
856
+ @media (prefers-reduced-motion: no-preference) {
879
857
  transition-timing-function: ease-out;
880
- transition-duration: 250ms;
858
+ transition-duration: 150ms;
859
+ transition-property: opacity, outline-offset, left, top, scale;
881
860
  }
882
861
  }
883
862
 
884
- &[data-dragging],
885
- &[data-seeking] {
886
- .media-slider__thumb,
887
- .media-slider__fill,
888
- .media-slider__buffer {
889
- transition-duration: 0ms;
863
+ @media (hover: hover) and (pointer: fine) {
864
+ &:hover .media-slider__thumb {
865
+ opacity: 1;
866
+ scale: 1;
867
+ }
868
+ }
869
+
870
+ &[data-dragging] .media-slider__thumb {
871
+ opacity: 1;
872
+ scale: 0.9;
873
+
874
+ @media (prefers-reduced-motion: no-preference) {
875
+ transition-property: opacity, outline-offset, scale;
876
+ }
877
+
878
+ &[data-orientation="horizontal"] {
879
+ left: var(--media-slider-pointer);
880
+ }
881
+ &[data-orientation="vertical"] {
882
+ top: calc(100% - var(--media-slider-pointer));
890
883
  }
891
884
  }
892
885
 
893
886
  /* Preview */
894
887
  .media-slider__preview {
895
- --max-width: min(calc(var(--spacing) * 48), 100cqi);
896
- --max-height: calc(var(--spacing) * 32);
888
+ --max-size-factor: 28;
889
+ --max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
897
890
 
898
891
  min-width: 100%;
899
892
  height: calc(var(--spacing) * 1);
900
893
 
894
+ @container media-root (width > 32rem) {
895
+ --max-size-factor: 36;
896
+ }
897
+
898
+ @container media-root (width > 42rem) {
899
+ --max-size-factor: 48;
900
+ }
901
+
901
902
  .media-slider__thumbnail,
902
903
  .media-slider__value {
903
904
  position: absolute;
904
905
  left: var(--preview-left, var(--media-slider-pointer));
905
- max-width: var(--max-width);
906
+ max-width: var(--max-size);
906
907
  opacity: 0;
907
908
  filter: blur(8px);
908
909
  transform-origin: bottom;
@@ -914,8 +915,9 @@
914
915
  }
915
916
 
916
917
  .media-slider__thumbnail {
917
- --thumbnail-max-width: var(--max-width);
918
- bottom: calc(100% + (var(--spacing) * 12));
918
+ --thumbnail-max-width: var(--max-size);
919
+ --thumbnail-max-height: var(--max-size);
920
+ bottom: calc(100% + (var(--spacing) * 11));
919
921
  }
920
922
 
921
923
  .media-slider__value {
@@ -1715,8 +1717,8 @@
1715
1717
  still in the DOM — just `display: none` — so its animations would keep
1716
1718
  running. Set the variables to `none` to short-circuit the keyframes. */
1717
1719
  .media-button--airplay:not([data-airplay-state="connected"]) {
1718
- --media-icon--airplay__fill-animation: none;
1719
- --media-icon--airplay__triangle-animation: none;
1720
+ --media-icon-airplay-fill-animation: none;
1721
+ --media-icon-airplay-triangle-animation: none;
1720
1722
  }
1721
1723
 
1722
1724
  @media (prefers-reduced-motion: reduce) {
@@ -1878,6 +1880,7 @@
1878
1880
  --base-boundary-offset: 1;
1879
1881
  --inset-factor: 1;
1880
1882
  --inset: calc(var(--spacing) * var(--inset-factor));
1883
+ --volume-mask: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);
1881
1884
 
1882
1885
  position: absolute;
1883
1886
  inset-inline: var(--inset);
@@ -1933,6 +1936,37 @@
1933
1936
  justify-content: end;
1934
1937
  }
1935
1938
 
1939
+ :is(.media-time-controls, .media-button-group:last-child) {
1940
+ mask-image: var(--volume-mask-image, none);
1941
+ mask-repeat: no-repeat;
1942
+ mask-position: var(--volume-mask-position, 100% 0);
1943
+ mask-size: var(--volume-mask-size, 200% 100%);
1944
+ transition: mask-position 50ms ease-out;
1945
+ }
1946
+
1947
+ @container media-root (width <= 42rem) {
1948
+ .media-popover--volume {
1949
+ --media-popover-side-offset: calc(var(--spacing) * 3);
1950
+ }
1951
+ }
1952
+
1953
+ &:has(.media-button--mute[aria-expanded="true"]) {
1954
+ @container media-root (width <= 42rem) {
1955
+ .media-button-group:last-child {
1956
+ --volume-mask-image: var(--volume-mask);
1957
+ --volume-mask-position: 0 0;
1958
+ --volume-mask-size: 400% 100%;
1959
+ }
1960
+ }
1961
+
1962
+ @container media-root (width > 42rem) {
1963
+ .media-time-controls {
1964
+ --volume-mask-image: var(--volume-mask);
1965
+ --volume-mask-position: 0 0;
1966
+ }
1967
+ }
1968
+ }
1969
+
1936
1970
  @container media-root (width > 42rem) {
1937
1971
  --inset-factor: 2;
1938
1972
  --base-side-offset: 2;
@@ -1950,20 +1984,6 @@
1950
1984
  .media-button-group:last-child {
1951
1985
  flex: 0 0 auto;
1952
1986
  }
1953
-
1954
- .media-time-controls {
1955
- mask-position: 100% 0;
1956
- mask-size: 200% 100%;
1957
- transition: mask-position 50ms ease-out;
1958
- }
1959
-
1960
- &:has(.media-button--mute[aria-expanded="true"]) .media-time-controls {
1961
- mask-image: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);
1962
- }
1963
-
1964
- &:has(.media-button--mute[aria-expanded="true"]) .media-time-controls {
1965
- mask-position: 0 0;
1966
- }
1967
1987
  }
1968
1988
  }
1969
1989
 
@@ -1988,9 +2008,9 @@
1988
2008
  .media-minimal-skin--video .media-slider .media-slider__preview {
1989
2009
  --preview-end-inset: calc(100cqi - 100%);
1990
2010
  --preview-left: clamp(
1991
- calc(var(--max-width) / 2),
2011
+ calc(var(--max-size) / 2),
1992
2012
  var(--media-slider-pointer),
1993
- calc(100% - var(--max-width) / 2 + var(--preview-end-inset))
2013
+ calc(100% - var(--max-size) / 2 + var(--preview-end-inset))
1994
2014
  );
1995
2015
 
1996
2016
  @container media-root (width > 42rem) {
@@ -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 { MenuRadioGroup } from "../../ui/menu/menu-radio-group.js";
@@ -67,9 +66,8 @@ import VolumeLowIcon from "../../icons/dist/react/minimal/volume-low.js";
67
66
  import VolumeOffIcon from "../../icons/dist/react/minimal/volume-off.js";
68
67
  import { forwardRef } from "react";
69
68
  import { jsx, jsxs } from "react/jsx-runtime";
70
- import { isString } from "@videojs/utils/predicate";
71
- import { captionsText } from "@videojs/core/i18n/text/menu";
72
69
  import { cn } from "@videojs/utils/style";
70
+ import { captionsText } from "@videojs/core/i18n/text/menu";
73
71
  //#region src/presets/live-video/minimal-skin.tsx
74
72
  const TOP_STATUS_ACTIONS = [
75
73
  "toggleSubtitles",
@@ -172,7 +170,7 @@ function CaptionsTrigger() {
172
170
  });
173
171
  }
174
172
  function MinimalLiveVideoSkin(props) {
175
- const { children, className, poster, placeholder, style, ...rest } = props;
173
+ const { children, className, renderPoster, placeholder, style, ...rest } = props;
176
174
  const containerStyle = placeholder ? {
177
175
  "--media-poster-placeholder": `url(${placeholder})`,
178
176
  ...style
@@ -183,10 +181,7 @@ function MinimalLiveVideoSkin(props) {
183
181
  ...rest,
184
182
  children: [
185
183
  children,
186
- poster && /* @__PURE__ */ jsx(Poster, {
187
- src: isString(poster) ? poster : void 0,
188
- render: isRenderProp(poster) ? poster : void 0
189
- }),
184
+ /* @__PURE__ */ jsx(Poster, { render: renderPoster }),
190
185
  /* @__PURE__ */ jsx(BufferingIndicator, { render: (props) => /* @__PURE__ */ jsx("div", {
191
186
  ...props,
192
187
  className: "media-buffering-indicator",