@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;
@@ -50,8 +50,8 @@ import VolumeLowIcon from "../../icons/dist/react/default/volume-low.js";
50
50
  import VolumeOffIcon from "../../icons/dist/react/default/volume-off.js";
51
51
  import { forwardRef } from "react";
52
52
  import { jsx, jsxs } from "react/jsx-runtime";
53
- import { playbackRateText } from "@videojs/core/i18n/text/menu";
54
53
  import { cn } from "@videojs/utils/style";
54
+ import { playbackRateText } from "@videojs/core/i18n/text/menu";
55
55
  //#region src/presets/audio/skin.tsx
56
56
  const SEEK_TIME = 10;
57
57
  const Button = forwardRef(function Button({ className, ...props }, ref) {
@@ -58,8 +58,8 @@ import { seek } from "../../skins/dist/default/default/tailwind/components/seek.
58
58
  import { container, controls, error, playButton, popup, slider, time } from "../../skins/dist/default/default/tailwind/audio.tailwind.js";
59
59
  import { forwardRef } from "react";
60
60
  import { jsx, jsxs } from "react/jsx-runtime";
61
- import { playbackRateText } from "@videojs/core/i18n/text/menu";
62
61
  import { cn } from "@videojs/utils/style";
62
+ import { playbackRateText } from "@videojs/core/i18n/text/menu";
63
63
  //#region src/presets/audio/skin.tailwind.tsx
64
64
  const SEEK_TIME = 10;
65
65
  const Button = forwardRef(function Button({ className, ...props }, ref) {
@@ -444,9 +444,13 @@
444
444
  }
445
445
 
446
446
  .media-minimal-skin .media-slider {
447
+ --track-size: calc(var(--spacing) * 1);
448
+ --track-highlighted-size: calc(var(--spacing) * 1.75);
449
+ --track-border-radius: 99px;
447
450
  --thumb-size: calc(var(--spacing) * 3);
448
- --thumb-active-size: calc(var(--spacing) * 3);
449
- --track-border-radius: calc(Infinity * 1px);
451
+ --chapter-gap: calc(var(--spacing) * 1);
452
+ --chapter-inset-start: calc(var(--chapter-gap) / 2);
453
+ --chapter-inset-end: calc(var(--chapter-gap) / 2);
450
454
 
451
455
  position: relative;
452
456
  display: flex;
@@ -478,68 +482,14 @@
478
482
 
479
483
  &[data-orientation="horizontal"] {
480
484
  width: 100%;
481
- height: calc(var(--spacing) * 0.75);
485
+ height: var(--track-size);
482
486
  }
483
487
  &[data-orientation="vertical"] {
484
- width: calc(var(--spacing) * 0.75);
488
+ width: var(--track-size);
485
489
  height: 100%;
486
490
  }
487
491
  }
488
492
 
489
- /* Thumb */
490
- .media-slider__thumb {
491
- position: absolute;
492
- z-index: 10;
493
- width: var(--thumb-size);
494
- height: var(--thumb-size);
495
- user-select: none;
496
- outline: 2px solid transparent;
497
- outline-offset: -2px;
498
- background-color: currentColor;
499
- border-radius: calc(Infinity * 1px);
500
- box-shadow:
501
- 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
502
- 0 1px 3px 0 oklch(0 0 0 / 0.15),
503
- 0 1px 2px -1px oklch(0 0 0 / 0.15);
504
- opacity: 0;
505
- transform-origin: center;
506
- scale: 0.7;
507
- translate: -50% -50%;
508
- transition-timing-function: ease-out;
509
- transition-duration: 150ms;
510
-
511
- &[data-orientation="horizontal"] {
512
- top: 50%;
513
- left: var(--media-slider-fill);
514
- }
515
- &[data-orientation="vertical"] {
516
- top: calc(100% - var(--media-slider-fill));
517
- left: 50%;
518
- }
519
-
520
- &:focus-visible {
521
- outline-color: var(--focus-ring-color);
522
- outline-offset: 2px;
523
- }
524
- }
525
-
526
- &:focus-within .media-slider__thumb,
527
- .media-slider__thumb--persistent {
528
- width: var(--thumb-active-size);
529
- height: var(--thumb-active-size);
530
- opacity: 1;
531
- scale: 1;
532
- }
533
-
534
- @media (hover: hover) and (pointer: fine) {
535
- &:hover .media-slider__thumb {
536
- width: var(--thumb-active-size);
537
- height: var(--thumb-active-size);
538
- opacity: 1;
539
- scale: 1;
540
- }
541
- }
542
-
543
493
  /* Shared track fills */
544
494
  .media-slider__buffer,
545
495
  .media-slider__fill {
@@ -551,13 +501,22 @@
551
501
  inset-block: 0;
552
502
  left: 0;
553
503
  width: 100%;
554
- transition-property: clip-path;
555
504
  }
556
505
  &[data-orientation="vertical"] {
557
506
  inset-inline: 0;
558
507
  bottom: 0;
559
508
  height: 100%;
560
- transition-property: clip-path;
509
+ }
510
+
511
+ @media (prefers-reduced-motion: no-preference) {
512
+ transition: clip-path 200ms ease-out;
513
+ }
514
+ }
515
+ &[data-dragging],
516
+ &[data-seeking] {
517
+ .media-slider__fill,
518
+ .media-slider__buffer {
519
+ transition-duration: 0ms;
561
520
  }
562
521
  }
563
522
 
@@ -584,6 +543,14 @@
584
543
  clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));
585
544
  }
586
545
  }
546
+ &[data-dragging] {
547
+ .media-slider__fill[data-orientation="horizontal"] {
548
+ clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
549
+ }
550
+ .media-slider__fill[data-orientation="vertical"] {
551
+ clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
552
+ }
553
+ }
587
554
 
588
555
  /* Chapters */
589
556
  .media-slider__chapters {
@@ -607,9 +574,6 @@
607
574
  }
608
575
 
609
576
  .media-slider__chapter {
610
- --chapter-gap: calc(var(--spacing) * 1);
611
- --chapter-inset-start: calc(var(--chapter-gap) / 2);
612
- --chapter-inset-end: calc(var(--chapter-gap) / 2);
613
577
  position: absolute;
614
578
  inset: 0;
615
579
  display: flex;
@@ -626,8 +590,6 @@
626
590
  }
627
591
 
628
592
  .media-slider__chapter-track {
629
- --chapter-track-size: calc(var(--spacing) * 0.75);
630
- --chapter-track-highlighted-size: calc(var(--spacing) * 1.25);
631
593
  border-radius: var(--track-border-radius);
632
594
 
633
595
  @media (prefers-reduced-motion: no-preference) {
@@ -640,7 +602,7 @@
640
602
  clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
641
603
 
642
604
  .media-slider__chapter-track {
643
- height: var(--chapter-track-size);
605
+ height: var(--track-size);
644
606
  clip-path: inset(
645
607
  0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
646
608
  calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)
@@ -648,7 +610,7 @@
648
610
  }
649
611
 
650
612
  &[data-highlighted] .media-slider__chapter-track {
651
- height: var(--chapter-track-highlighted-size);
613
+ height: var(--track-highlighted-size);
652
614
  }
653
615
  }
654
616
 
@@ -656,7 +618,7 @@
656
618
  clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);
657
619
 
658
620
  .media-slider__chapter-track {
659
- width: var(--chapter-track-size);
621
+ width: var(--track-size);
660
622
  clip-path: inset(
661
623
  calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0
662
624
  calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)
@@ -664,63 +626,102 @@
664
626
  }
665
627
 
666
628
  &[data-highlighted] .media-slider__chapter-track {
667
- width: var(--chapter-track-highlighted-size);
629
+ width: var(--track-highlighted-size);
668
630
  }
669
631
  }
670
632
  }
671
633
 
672
- /* Dragging — thumb and fill follow the pointer position */
673
- &[data-dragging] {
674
- .media-slider__thumb[data-orientation="horizontal"] {
675
- left: var(--media-slider-pointer);
676
- }
677
- .media-slider__thumb[data-orientation="vertical"] {
678
- top: calc(100% - var(--media-slider-pointer));
679
- }
680
- .media-slider__fill[data-orientation="horizontal"] {
681
- clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));
634
+ /* Thumb */
635
+ .media-slider__thumb {
636
+ position: absolute;
637
+ z-index: 10;
638
+ width: var(--thumb-size);
639
+ height: var(--thumb-size);
640
+ user-select: none;
641
+ outline: 2px solid transparent;
642
+ outline-offset: -2px;
643
+ background-color: currentColor;
644
+ border-radius: calc(Infinity * 1px);
645
+ box-shadow:
646
+ 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),
647
+ 0 1px 3px 0 oklch(0 0 0 / 0.15),
648
+ 0 1px 2px -1px oklch(0 0 0 / 0.15);
649
+ opacity: 0;
650
+ transform-origin: center;
651
+ scale: 0.7;
652
+ translate: -50% -50%;
653
+
654
+ &[data-orientation="horizontal"] {
655
+ top: 50%;
656
+ left: var(--media-slider-fill);
682
657
  }
683
- .media-slider__fill[data-orientation="vertical"] {
684
- clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));
658
+ &[data-orientation="vertical"] {
659
+ top: calc(100% - var(--media-slider-fill));
660
+ left: 50%;
685
661
  }
686
- }
687
662
 
688
- @media (prefers-reduced-motion: no-preference) {
689
- .media-slider__thumb {
690
- transition-property: opacity, scale, height, width, outline-offset, left, top;
663
+ &:focus-visible {
664
+ outline-color: var(--focus-ring-color);
665
+ outline-offset: 2px;
691
666
  }
692
- .media-slider__fill {
693
- transition-timing-function: linear;
694
- transition-duration: 200ms;
667
+
668
+ &:focus-visible,
669
+ &.media-slider__thumb--persistent {
670
+ opacity: 1;
671
+ scale: 1;
695
672
  }
696
- .media-slider__buffer {
673
+
674
+ @media (prefers-reduced-motion: no-preference) {
697
675
  transition-timing-function: ease-out;
698
- transition-duration: 250ms;
676
+ transition-duration: 150ms;
677
+ transition-property: opacity, outline-offset, left, top, scale;
699
678
  }
700
679
  }
701
680
 
702
- &[data-dragging],
703
- &[data-seeking] {
704
- .media-slider__thumb,
705
- .media-slider__fill,
706
- .media-slider__buffer {
707
- transition-duration: 0ms;
681
+ @media (hover: hover) and (pointer: fine) {
682
+ &:hover .media-slider__thumb {
683
+ opacity: 1;
684
+ scale: 1;
685
+ }
686
+ }
687
+
688
+ &[data-dragging] .media-slider__thumb {
689
+ opacity: 1;
690
+ scale: 0.9;
691
+
692
+ @media (prefers-reduced-motion: no-preference) {
693
+ transition-property: opacity, outline-offset, scale;
694
+ }
695
+
696
+ &[data-orientation="horizontal"] {
697
+ left: var(--media-slider-pointer);
698
+ }
699
+ &[data-orientation="vertical"] {
700
+ top: calc(100% - var(--media-slider-pointer));
708
701
  }
709
702
  }
710
703
 
711
704
  /* Preview */
712
705
  .media-slider__preview {
713
- --max-width: min(calc(var(--spacing) * 48), 100cqi);
714
- --max-height: calc(var(--spacing) * 32);
706
+ --max-size-factor: 28;
707
+ --max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);
715
708
 
716
709
  min-width: 100%;
717
710
  height: calc(var(--spacing) * 1);
718
711
 
712
+ @container media-root (width > 32rem) {
713
+ --max-size-factor: 36;
714
+ }
715
+
716
+ @container media-root (width > 42rem) {
717
+ --max-size-factor: 48;
718
+ }
719
+
719
720
  .media-slider__thumbnail,
720
721
  .media-slider__value {
721
722
  position: absolute;
722
723
  left: var(--preview-left, var(--media-slider-pointer));
723
- max-width: var(--max-width);
724
+ max-width: var(--max-size);
724
725
  opacity: 0;
725
726
  filter: blur(8px);
726
727
  transform-origin: bottom;
@@ -732,8 +733,9 @@
732
733
  }
733
734
 
734
735
  .media-slider__thumbnail {
735
- --thumbnail-max-width: var(--max-width);
736
- bottom: calc(100% + (var(--spacing) * 12));
736
+ --thumbnail-max-width: var(--max-size);
737
+ --thumbnail-max-height: var(--max-size);
738
+ bottom: calc(100% + (var(--spacing) * 11));
737
739
  }
738
740
 
739
741
  .media-slider__value {