@videojs/html 10.2.0 → 10.3.0

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 (297) hide show
  1. package/dist/default/define/audio/compat-skin.css +72 -5
  2. package/dist/default/define/audio/compat-skin2.js +1 -1
  3. package/dist/default/define/audio/neutral-skin.css +23 -5
  4. package/dist/default/define/audio/neutral-skin2.js +1 -1
  5. package/dist/default/define/audio/scaffold-skin.css +63 -4
  6. package/dist/default/define/audio/scaffold-skin2.js +1 -1
  7. package/dist/default/define/audio/skin.css +21 -5
  8. package/dist/default/define/audio/skin2.js +1 -1
  9. package/dist/default/define/extensions/google-analytics.js +6 -0
  10. package/dist/default/define/live-audio/compat-skin.css +54 -5
  11. package/dist/default/define/live-audio/compat-skin2.js +1 -1
  12. package/dist/default/define/live-audio/neutral-skin.css +8 -4
  13. package/dist/default/define/live-audio/neutral-skin2.js +1 -1
  14. package/dist/default/define/live-audio/scaffold-skin.css +45 -4
  15. package/dist/default/define/live-audio/scaffold-skin2.js +1 -1
  16. package/dist/default/define/live-audio/skin.css +6 -4
  17. package/dist/default/define/live-audio/skin2.js +1 -1
  18. package/dist/default/define/live-video/compat-skin.css +115 -13
  19. package/dist/default/define/live-video/compat-skin2.js +1 -1
  20. package/dist/default/define/live-video/neutral-skin.css +82 -14
  21. package/dist/default/define/live-video/neutral-skin2.js +1 -1
  22. package/dist/default/define/live-video/scaffold-skin.css +95 -13
  23. package/dist/default/define/live-video/scaffold-skin2.js +1 -1
  24. package/dist/default/define/live-video/skin.css +96 -16
  25. package/dist/default/define/live-video/skin2.js +1 -1
  26. package/dist/default/define/media/dailymotion-video.js +11 -0
  27. package/dist/default/define/media/mixcloud-audio.js +11 -0
  28. package/dist/default/define/media/soundcloud-audio.js +11 -0
  29. package/dist/default/define/video/compat-skin.css +115 -13
  30. package/dist/default/define/video/compat-skin2.js +1 -1
  31. package/dist/default/define/video/neutral-skin.css +83 -14
  32. package/dist/default/define/video/neutral-skin2.js +1 -1
  33. package/dist/default/define/video/scaffold-skin.css +95 -13
  34. package/dist/default/define/video/scaffold-skin2.js +1 -1
  35. package/dist/default/define/video/skin.css +94 -16
  36. package/dist/default/define/video/skin2.js +1 -1
  37. package/dist/default/extensions/google-analytics/extension.js +75 -0
  38. package/dist/default/extensions/mux-data/extension.js +7 -2
  39. package/dist/default/internal/skins/compat-audio/skin.css +72 -5
  40. package/dist/default/internal/skins/compat-audio/template.js +1 -1
  41. package/dist/default/internal/skins/compat-live-audio/skin.css +54 -5
  42. package/dist/default/internal/skins/compat-live-video/skin.css +115 -13
  43. package/dist/default/internal/skins/compat-video/skin.css +115 -13
  44. package/dist/default/internal/skins/default-audio/skin.css +21 -5
  45. package/dist/default/internal/skins/default-live-audio/skin.css +6 -4
  46. package/dist/default/internal/skins/default-live-video/skin.css +96 -16
  47. package/dist/default/internal/skins/default-video/skin.css +94 -16
  48. package/dist/default/internal/skins/neutral-audio/skin.css +23 -5
  49. package/dist/default/internal/skins/neutral-live-audio/skin.css +8 -4
  50. package/dist/default/internal/skins/neutral-live-video/skin.css +82 -14
  51. package/dist/default/internal/skins/neutral-video/skin.css +83 -14
  52. package/dist/default/internal/skins/scaffold-audio/skin.css +63 -4
  53. package/dist/default/internal/skins/scaffold-audio/template.js +1 -1
  54. package/dist/default/internal/skins/scaffold-live-audio/skin.css +45 -4
  55. package/dist/default/internal/skins/scaffold-live-video/skin.css +95 -13
  56. package/dist/default/internal/skins/scaffold-video/skin.css +95 -13
  57. package/dist/default/media/dailymotion-video/adapter.js +31 -0
  58. package/dist/default/media/hls-background-video/adapter.js +7 -0
  59. package/dist/default/media/mixcloud-audio/adapter.js +16 -0
  60. package/dist/default/media/soundcloud-audio/adapter.js +16 -0
  61. package/dist/default/player/element.js +1 -5
  62. package/dist/default/presets/background/skin.js +2 -2
  63. package/dist/default/presets/skin.js +4 -3
  64. package/dist/default/ui/dialog/element.js +13 -1
  65. package/dist/default/ui/gesture/element.js +3 -0
  66. package/dist/default/ui/media-button-element.js +10 -1
  67. package/dist/default/ui/playback-rate-button/element.js +7 -2
  68. package/dist/default/ui/playback-rate-radio-group/element.js +10 -3
  69. package/dist/default/ui/radio-options/controller.js +18 -5
  70. package/dist/default/version.js +1 -1
  71. package/dist/dev/define/audio/compat-skin.css +72 -5
  72. package/dist/dev/define/audio/compat-skin2.js +1 -1
  73. package/dist/dev/define/audio/compat-skin2.js.map +1 -1
  74. package/dist/dev/define/audio/neutral-skin.css +23 -5
  75. package/dist/dev/define/audio/neutral-skin2.js +1 -1
  76. package/dist/dev/define/audio/neutral-skin2.js.map +1 -1
  77. package/dist/dev/define/audio/scaffold-skin.css +63 -4
  78. package/dist/dev/define/audio/scaffold-skin2.js +1 -1
  79. package/dist/dev/define/audio/scaffold-skin2.js.map +1 -1
  80. package/dist/dev/define/audio/skin.css +21 -5
  81. package/dist/dev/define/audio/skin2.js +1 -1
  82. package/dist/dev/define/audio/skin2.js.map +1 -1
  83. package/dist/dev/define/extensions/google-analytics.d.ts +11 -0
  84. package/dist/dev/define/extensions/google-analytics.js +8 -0
  85. package/dist/dev/define/extensions/google-analytics.js.map +1 -0
  86. package/dist/dev/define/live-audio/compat-skin.css +54 -5
  87. package/dist/dev/define/live-audio/compat-skin2.js +1 -1
  88. package/dist/dev/define/live-audio/compat-skin2.js.map +1 -1
  89. package/dist/dev/define/live-audio/neutral-skin.css +8 -4
  90. package/dist/dev/define/live-audio/neutral-skin2.js +1 -1
  91. package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -1
  92. package/dist/dev/define/live-audio/scaffold-skin.css +45 -4
  93. package/dist/dev/define/live-audio/scaffold-skin2.js +1 -1
  94. package/dist/dev/define/live-audio/scaffold-skin2.js.map +1 -1
  95. package/dist/dev/define/live-audio/skin.css +6 -4
  96. package/dist/dev/define/live-audio/skin2.js +1 -1
  97. package/dist/dev/define/live-audio/skin2.js.map +1 -1
  98. package/dist/dev/define/live-video/compat-skin.css +115 -13
  99. package/dist/dev/define/live-video/compat-skin2.js +1 -1
  100. package/dist/dev/define/live-video/compat-skin2.js.map +1 -1
  101. package/dist/dev/define/live-video/neutral-skin.css +82 -14
  102. package/dist/dev/define/live-video/neutral-skin2.js +1 -1
  103. package/dist/dev/define/live-video/neutral-skin2.js.map +1 -1
  104. package/dist/dev/define/live-video/scaffold-skin.css +95 -13
  105. package/dist/dev/define/live-video/scaffold-skin2.js +1 -1
  106. package/dist/dev/define/live-video/scaffold-skin2.js.map +1 -1
  107. package/dist/dev/define/live-video/skin.css +96 -16
  108. package/dist/dev/define/live-video/skin2.js +1 -1
  109. package/dist/dev/define/live-video/skin2.js.map +1 -1
  110. package/dist/dev/define/media/dailymotion-video.d.ts +15 -0
  111. package/dist/dev/define/media/dailymotion-video.js +13 -0
  112. package/dist/dev/define/media/dailymotion-video.js.map +1 -0
  113. package/dist/dev/define/media/mixcloud-audio.d.ts +15 -0
  114. package/dist/dev/define/media/mixcloud-audio.js +13 -0
  115. package/dist/dev/define/media/mixcloud-audio.js.map +1 -0
  116. package/dist/dev/define/media/soundcloud-audio.d.ts +15 -0
  117. package/dist/dev/define/media/soundcloud-audio.js +13 -0
  118. package/dist/dev/define/media/soundcloud-audio.js.map +1 -0
  119. package/dist/dev/define/video/compat-skin.css +115 -13
  120. package/dist/dev/define/video/compat-skin2.js +1 -1
  121. package/dist/dev/define/video/compat-skin2.js.map +1 -1
  122. package/dist/dev/define/video/neutral-skin.css +83 -14
  123. package/dist/dev/define/video/neutral-skin2.js +1 -1
  124. package/dist/dev/define/video/neutral-skin2.js.map +1 -1
  125. package/dist/dev/define/video/scaffold-skin.css +95 -13
  126. package/dist/dev/define/video/scaffold-skin2.js +1 -1
  127. package/dist/dev/define/video/scaffold-skin2.js.map +1 -1
  128. package/dist/dev/define/video/skin.css +94 -16
  129. package/dist/dev/define/video/skin2.js +1 -1
  130. package/dist/dev/define/video/skin2.js.map +1 -1
  131. package/dist/dev/extensions/google-analytics/extension.d.ts +52 -0
  132. package/dist/dev/extensions/google-analytics/extension.js +77 -0
  133. package/dist/dev/extensions/google-analytics/extension.js.map +1 -0
  134. package/dist/dev/extensions/google-analytics/index.d.ts +2 -0
  135. package/dist/dev/extensions/mux-data/extension.d.ts +4 -1
  136. package/dist/dev/extensions/mux-data/extension.js +7 -2
  137. package/dist/dev/extensions/mux-data/extension.js.map +1 -1
  138. package/dist/dev/index.d.ts +3 -3
  139. package/dist/dev/internal/skins/compat-audio/skin.css +72 -5
  140. package/dist/dev/internal/skins/compat-audio/template.js +1 -1
  141. package/dist/dev/internal/skins/compat-audio/template.js.map +1 -1
  142. package/dist/dev/internal/skins/compat-live-audio/skin.css +54 -5
  143. package/dist/dev/internal/skins/compat-live-video/skin.css +115 -13
  144. package/dist/dev/internal/skins/compat-video/skin.css +115 -13
  145. package/dist/dev/internal/skins/default-audio/skin.css +21 -5
  146. package/dist/dev/internal/skins/default-live-audio/skin.css +6 -4
  147. package/dist/dev/internal/skins/default-live-video/skin.css +96 -16
  148. package/dist/dev/internal/skins/default-video/skin.css +94 -16
  149. package/dist/dev/internal/skins/neutral-audio/skin.css +23 -5
  150. package/dist/dev/internal/skins/neutral-live-audio/skin.css +8 -4
  151. package/dist/dev/internal/skins/neutral-live-video/skin.css +82 -14
  152. package/dist/dev/internal/skins/neutral-video/skin.css +83 -14
  153. package/dist/dev/internal/skins/scaffold-audio/skin.css +63 -4
  154. package/dist/dev/internal/skins/scaffold-audio/template.js +1 -1
  155. package/dist/dev/internal/skins/scaffold-audio/template.js.map +1 -1
  156. package/dist/dev/internal/skins/scaffold-live-audio/skin.css +45 -4
  157. package/dist/dev/internal/skins/scaffold-live-video/skin.css +95 -13
  158. package/dist/dev/internal/skins/scaffold-video/skin.css +95 -13
  159. package/dist/dev/media/dailymotion-video/adapter.d.ts +17 -0
  160. package/dist/dev/media/dailymotion-video/adapter.js +47 -0
  161. package/dist/dev/media/dailymotion-video/adapter.js.map +1 -0
  162. package/dist/dev/media/dailymotion-video/index.d.ts +2 -0
  163. package/dist/dev/media/hls-background-video/adapter.d.ts +6 -1
  164. package/dist/dev/media/hls-background-video/adapter.js +7 -0
  165. package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
  166. package/dist/dev/media/mixcloud-audio/adapter.d.ts +11 -0
  167. package/dist/dev/media/mixcloud-audio/adapter.js +52 -0
  168. package/dist/dev/media/mixcloud-audio/adapter.js.map +1 -0
  169. package/dist/dev/media/mixcloud-audio/index.d.ts +2 -0
  170. package/dist/dev/media/soundcloud-audio/adapter.d.ts +11 -0
  171. package/dist/dev/media/soundcloud-audio/adapter.js +53 -0
  172. package/dist/dev/media/soundcloud-audio/adapter.js.map +1 -0
  173. package/dist/dev/media/soundcloud-audio/index.d.ts +2 -0
  174. package/dist/dev/player/element.js +1 -5
  175. package/dist/dev/player/element.js.map +1 -1
  176. package/dist/dev/presets/background/skin.d.ts +2 -1
  177. package/dist/dev/presets/background/skin.js +2 -2
  178. package/dist/dev/presets/background/skin.js.map +1 -1
  179. package/dist/dev/presets/skin.d.ts +4 -3
  180. package/dist/dev/presets/skin.js +4 -3
  181. package/dist/dev/presets/skin.js.map +1 -1
  182. package/dist/dev/ui/dialog/element.js +13 -1
  183. package/dist/dev/ui/dialog/element.js.map +1 -1
  184. package/dist/dev/ui/gesture/element.js +3 -0
  185. package/dist/dev/ui/gesture/element.js.map +1 -1
  186. package/dist/dev/ui/media-button-element.d.ts +9 -0
  187. package/dist/dev/ui/media-button-element.js +10 -1
  188. package/dist/dev/ui/media-button-element.js.map +1 -1
  189. package/dist/dev/ui/play-button/element.d.ts +2 -0
  190. package/dist/dev/ui/playback-rate-button/element.d.ts +9 -1
  191. package/dist/dev/ui/playback-rate-button/element.js +7 -2
  192. package/dist/dev/ui/playback-rate-button/element.js.map +1 -1
  193. package/dist/dev/ui/playback-rate-radio-group/element.d.ts +4 -0
  194. package/dist/dev/ui/playback-rate-radio-group/element.js +10 -3
  195. package/dist/dev/ui/playback-rate-radio-group/element.js.map +1 -1
  196. package/dist/dev/ui/radio-options/controller.js +18 -5
  197. package/dist/dev/ui/radio-options/controller.js.map +1 -1
  198. package/dist/dev/version.js +1 -1
  199. package/docs/README.md +1 -1
  200. package/docs/guides/autoplay.md +1 -1
  201. package/docs/guides/browser-support.md +2 -0
  202. package/docs/guides/build-your-own-skin.md +3 -1
  203. package/docs/guides/cdn.md +10 -9
  204. package/docs/guides/content-security-policy.md +3 -0
  205. package/docs/guides/customize-skins.md +4 -2
  206. package/docs/guides/features.md +1 -1
  207. package/docs/guides/google-analytics.md +199 -0
  208. package/docs/guides/installation-cdn.md +4 -4
  209. package/docs/guides/installation-shadcn.md +3 -3
  210. package/docs/guides/installation-svelte.md +4 -4
  211. package/docs/guides/installation-vue.md +4 -4
  212. package/docs/guides/installation.md +4 -4
  213. package/docs/guides/internationalization.md +5 -5
  214. package/docs/guides/keyboard-shortcuts.md +1 -1
  215. package/docs/guides/llms.txt +2 -1
  216. package/docs/guides/media-sources.md +3 -0
  217. package/docs/guides/migrate-from-media-chrome.md +4 -4
  218. package/docs/guides/migrate-from-mux-player.md +9 -9
  219. package/docs/guides/migrate-from-plyr.md +8 -8
  220. package/docs/guides/migrate-from-video-js-8.md +8 -9
  221. package/docs/guides/migrate-from-vidstack.md +8 -8
  222. package/docs/guides/mux-data.md +22 -0
  223. package/docs/guides/presets.md +1 -1
  224. package/docs/guides/self-hosting.md +5 -5
  225. package/docs/guides/skins.md +16 -1
  226. package/docs/guides/ui-components.md +1 -1
  227. package/docs/llms.txt +10 -5
  228. package/docs/reference/api/feature-playback-rate.md +54 -3
  229. package/docs/reference/api/feature-playback.md +5 -1
  230. package/docs/reference/api/html-create-player.md +2 -2
  231. package/docs/reference/api/llms.txt +1 -1
  232. package/docs/reference/api/media-capabilities.md +1 -1
  233. package/docs/reference/api/player-store.md +6 -3
  234. package/docs/reference/api/preset-audio.md +13 -5
  235. package/docs/reference/api/preset-background.md +2 -2
  236. package/docs/reference/api/preset-live-audio.md +13 -5
  237. package/docs/reference/api/preset-live-video.md +13 -5
  238. package/docs/reference/api/preset-video.md +13 -5
  239. package/docs/reference/api/resolve-adapter-type.md +4 -1
  240. package/docs/reference/api/ui-element.md +2 -2
  241. package/docs/reference/components/alert-dialog.md +21 -16
  242. package/docs/reference/components/audio-compat-skin.md +8 -2
  243. package/docs/reference/components/audio-neutral-skin.md +2 -2
  244. package/docs/reference/components/audio-scaffold-skin.md +2 -2
  245. package/docs/reference/components/audio-skin.md +2 -2
  246. package/docs/reference/components/audio-track-radio-group.md +2 -2
  247. package/docs/reference/components/background-video-skin.md +1 -1
  248. package/docs/reference/components/background-video.md +1 -1
  249. package/docs/reference/components/buffering-indicator.md +2 -2
  250. package/docs/reference/components/captions-radio-group.md +2 -2
  251. package/docs/reference/components/cloudflare-video.md +1 -1
  252. package/docs/reference/components/dailymotion-video.md +192 -0
  253. package/docs/reference/components/dash-video.md +2 -1
  254. package/docs/reference/components/dialog.md +49 -22
  255. package/docs/reference/components/error-dialog.md +13 -10
  256. package/docs/reference/components/gesture.md +2 -2
  257. package/docs/reference/components/google-analytics.md +51 -0
  258. package/docs/reference/components/google-cast.md +1 -1
  259. package/docs/reference/components/hls-audio.md +1 -1
  260. package/docs/reference/components/hls-background-video.md +4 -1
  261. package/docs/reference/components/hls-video.md +1 -1
  262. package/docs/reference/components/hlsjs-video.md +3 -1
  263. package/docs/reference/components/hotkey.md +2 -2
  264. package/docs/reference/components/live-audio-compat-skin.md +8 -2
  265. package/docs/reference/components/live-audio-neutral-skin.md +2 -2
  266. package/docs/reference/components/live-audio-scaffold-skin.md +2 -2
  267. package/docs/reference/components/live-audio-skin.md +2 -2
  268. package/docs/reference/components/live-video-compat-skin.md +8 -2
  269. package/docs/reference/components/live-video-neutral-skin.md +2 -2
  270. package/docs/reference/components/live-video-scaffold-skin.md +2 -2
  271. package/docs/reference/components/live-video-skin.md +2 -2
  272. package/docs/reference/components/llms.txt +9 -5
  273. package/docs/reference/components/mixcloud-audio.md +203 -0
  274. package/docs/reference/components/mux-audio.md +3 -1
  275. package/docs/reference/components/mux-background-video.md +1 -1
  276. package/docs/reference/components/mux-data.md +20 -2
  277. package/docs/reference/components/mux-video.md +3 -1
  278. package/docs/reference/components/native-hls-video.md +2 -1
  279. package/docs/reference/components/play-button.md +7 -5
  280. package/docs/reference/components/playback-rate-button.md +26 -7
  281. package/docs/reference/components/playback-rate-radio-group.md +7 -4
  282. package/docs/reference/components/player.md +3 -3
  283. package/docs/reference/components/playerjs-video.md +1 -1
  284. package/docs/reference/components/quality-radio-group.md +2 -2
  285. package/docs/reference/components/shaka-video.md +2 -1
  286. package/docs/reference/components/soundcloud-audio.md +227 -0
  287. package/docs/reference/components/spotify-audio.md +2 -2
  288. package/docs/reference/components/tiktok-video.md +2 -2
  289. package/docs/reference/components/twitch-video.md +2 -3
  290. package/docs/reference/components/video-compat-skin.md +8 -2
  291. package/docs/reference/components/video-neutral-skin.md +2 -2
  292. package/docs/reference/components/video-scaffold-skin.md +2 -2
  293. package/docs/reference/components/video-skin.md +2 -2
  294. package/docs/reference/components/vimeo-video.md +2 -1
  295. package/docs/reference/components/wistia-video.md +1 -1
  296. package/docs/reference/components/youtube-video.md +2 -1
  297. package/package.json +60 -40
@@ -187,6 +187,10 @@
187
187
  display: none;
188
188
  }
189
189
 
190
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-backdrop[data-scope="document"] {
191
+ position: fixed;
192
+ }
193
+
190
194
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-close {
191
195
  height: calc(var(--media-spacing) * 8);
192
196
  width: auto;
@@ -232,6 +236,11 @@
232
236
  outline-color: var(--media-ring);
233
237
  }
234
238
 
239
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup[data-scope="document"] {
240
+ max-height: calc(100dvh - var(--media-spacing) * 8);
241
+ position: fixed;
242
+ }
243
+
235
244
  @media (forced-colors: active) {
236
245
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup {
237
246
  border: 1px solid canvastext;
@@ -393,8 +402,25 @@
393
402
  }
394
403
 
395
404
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-shortcut {
405
+ text-align: center;
406
+ min-width: 1.5em;
396
407
  font-family: inherit;
397
408
  font-size: calc(var(--media-spacing) * 2.75);
409
+ background-color: oklab(100% 0 5.96046e-8 / .1);
410
+ padding: .1em;
411
+ line-height: 1.25;
412
+ }
413
+
414
+ .media-poster > slot::slotted(img) {
415
+ object-fit: var(--media-object-fit, contain);
416
+ object-position: var(--media-object-position, center);
417
+ width: 100%;
418
+ display: block;
419
+ height: 100% !important;
420
+ }
421
+
422
+ .media-poster > slot::slotted(img:not([src]):not([srcset])) {
423
+ visibility: hidden;
398
424
  }
399
425
 
400
426
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-poster {
@@ -1225,6 +1251,10 @@
1225
1251
  outline: 2px solid;
1226
1252
  }
1227
1253
 
1254
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item[data-custom] {
1255
+ font-style: italic;
1256
+ }
1257
+
1228
1258
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item[data-highlighted] {
1229
1259
  background-color: var(--media-button-highlight);
1230
1260
  }
@@ -1247,6 +1277,20 @@
1247
1277
  font-variant-numeric: tabular-nums;
1248
1278
  }
1249
1279
 
1280
+ @supports not (text-fit: shrink) {
1281
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-playback-rate-button {
1282
+ font-size: min(1em, calc(4em / (var(--media-playback-rate-length, 3) + 1)));
1283
+ }
1284
+ }
1285
+
1286
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-playback-rate-button-label {
1287
+ text-align: center;
1288
+ white-space: nowrap;
1289
+ text-fit: shrink;
1290
+ width: 80%;
1291
+ min-width: 0;
1292
+ }
1293
+
1250
1294
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content {
1251
1295
  overscroll-behavior: none;
1252
1296
  max-height: 100%;
@@ -1367,7 +1411,6 @@
1367
1411
  }
1368
1412
 
1369
1413
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-audio, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]).media-audio {
1370
- aspect-ratio: auto;
1371
1414
  background-color: var(--media-background);
1372
1415
  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
1373
1416
  overflow: visible !important;
@@ -1376,6 +1419,9 @@
1376
1419
  :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-container, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]).media-container {
1377
1420
  border-radius: var(--media-video-border-radius);
1378
1421
  width: 100%;
1422
+ min-width: 0;
1423
+ height: 100%;
1424
+ min-height: 0;
1379
1425
  font-family: var(--media-font-family, inherit);
1380
1426
  font-size: calc(var(--media-spacing) * 3.25);
1381
1427
  color: var(--media-foreground);
@@ -1393,6 +1439,17 @@
1393
1439
  outline-style: solid;
1394
1440
  outline-color: var(--media-ring);
1395
1441
  }
1442
+
1443
+ .media-container > slot::slotted(video), :scope.media-container > slot::slotted(video) {
1444
+ border-radius: inherit;
1445
+ object-fit: var(--media-object-fit, contain);
1446
+ object-position: var(--media-object-position, center);
1447
+ width: 100%;
1448
+ max-width: 100%;
1449
+ margin: 0;
1450
+ display: block;
1451
+ height: 100% !important;
1452
+ }
1396
1453
  }
1397
1454
 
1398
1455
  @layer utilities;
@@ -1410,7 +1467,7 @@
1410
1467
  --media-accent: var(--media-accent-color, color-mix(in oklab, var(--media-default-accent-color) 10%, transparent));
1411
1468
  --media-accent-foreground: var(--media-accent-text-color, currentColor);
1412
1469
  --media-muted: oklch(100% 0 0 / .15);
1413
- --media-muted-foreground: oklch(100% 0 0 / .65);
1470
+ --media-muted-foreground: color-mix(in oklab, var(--media-foreground) 65%, transparent);
1414
1471
  --media-border: oklch(0% 0 0 / .1);
1415
1472
  --media-ring: oklch(100% 0 0);
1416
1473
  --media-backdrop: oklch(0% 0 0);
@@ -1423,9 +1480,9 @@
1423
1480
  --media-shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));
1424
1481
  --media-shadow-subtle-current-color: color-mix(in oklab, var(--media-shadow-current-color) 40%, transparent);
1425
1482
  --media-text-shadow-dialog: 0 1px 0 #00000040;
1426
- --media-backdrop-filter-surface: blur(16px) saturate(110%);
1483
+ --media-backdrop-filter-surface: blur(16px) saturate(125%);
1427
1484
  --media-backdrop-filter-indicator: blur(8px);
1428
- --media-backdrop-filter-dialog: blur(16px) saturate(110%);
1485
+ --media-backdrop-filter-dialog: blur(16px) saturate(125%);
1429
1486
  --media-control-corner-shape: round;
1430
1487
  --media-control-radius: 99px;
1431
1488
  --media-control-size: calc(var(--media-spacing) * 9);
@@ -1530,6 +1587,7 @@
1530
1587
  --media-controls-foreground: var(--media-foreground);
1531
1588
  --media-popover: var(--media-controls);
1532
1589
  --media-popover-foreground: var(--media-foreground);
1590
+ --media-muted: oklch(0% 0 0 / .1);
1533
1591
  --media-surface-border: oklch(0% 0 0 / .05);
1534
1592
  --media-primary: var(--media-accent-color, var(--media-foreground));
1535
1593
  --media-border: oklch(0% 0 0 / .1);
@@ -1548,6 +1606,7 @@
1548
1606
  --media-foreground: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1549
1607
  --media-controls: light-dark(oklch(100% 0 0 / .5), oklch(0% 0 0 / .4));
1550
1608
  --media-border: light-dark(oklch(0% 0 0 / .1), oklch(100% 0 0 / .1));
1609
+ --media-muted: light-dark(oklch(0% 0 0 / .1), oklch(100% 0 0 / .1));
1551
1610
  --media-default-accent-color: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1552
1611
  --media-default-accent-text-color: light-dark(oklch(100% 0 0), oklch(0% 0 0));
1553
1612
  --media-internal-accent-text-fallback: light-dark(oklch(100% 0 0), oklch(0% 0 0));
@@ -112,7 +112,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
112
112
  </media-controls-group>
113
113
  <media-controls-group class="video-controls-group">
114
114
  <media-playback-rate-button commandfor="vjs-yjowDGCc-0-popup" class="media-button media-playback-rate-button" id="vjs-0AT5ugaw-0-4-trigger">
115
- <span data-part="value">
115
+ <span data-part="value" class="media-playback-rate-button-label">
116
116
  </span>
117
117
  </media-playback-rate-button>
118
118
  <media-tooltip trigger="vjs-0AT5ugaw-0-4-trigger" side="top" class="media-popup media-popup-safe-area media-tooltip-popup">
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","names":[],"sources":["../../../../../src/internal/skins/scaffold-audio/template.ts"],"sourcesContent":["import { createTemplate } from '@videojs/utils/dom';\n\n/** Static template rendered from the finalized VJSC module graph. */\nexport const template =\n createTemplate(/* html */ `<media-container class=\"media-skin media-container media-audio\" data-theme=\"scaffold\" data-preset=\"audio\">\n<slot>\n</slot>\n<media-error-dialog>\n<media-dialog-backdrop class=\"media-dialog-backdrop\">\n</media-dialog-backdrop>\n<media-dialog-popup class=\"media-dialog-popup\">\n<media-dialog-title class=\"media-dialog-title\">\n</media-dialog-title>\n<media-dialog-description class=\"media-dialog-description\">\n</media-dialog-description>\n<media-dialog-close class=\"media-button media-dialog-close\">\n</media-dialog-close>\n</media-dialog-popup>\n</media-error-dialog>\n<media-controls visibility=\"always\">\n<media-controls-content class=\"video-controls-content audio-controls-content\">\n<media-tooltip-group>\n<div class=\"video-controls-bottom audio-controls-bottom\">\n<div class=\"video-controls-slider-row\">\n<media-time-slider class=\"media-time-slider\" thumb-alignment=\"edge\">\n<media-time-slider-chapters class=\"media-time-slider-chapters\">\n<template>\n<div class=\"media-time-slider-chapter\">\n<media-slider-track class=\"media-time-slider-track media-time-slider-audio-track\">\n<media-slider-buffer class=\"media-time-slider-buffer media-time-slider-audio-buffer\">\n</media-slider-buffer>\n<media-slider-fill class=\"media-time-slider-fill\">\n</media-slider-fill>\n</media-slider-track>\n</div>\n</template>\n</media-time-slider-chapters>\n<media-slider-thumb class=\"media-time-slider-thumb\">\n</media-slider-thumb>\n<media-slider-preview class=\"media-time-slider-preview\">\n<media-slider-thumbnail class=\"media-slider-thumbnail\">\n<img alt=\"\" aria-hidden=\"true\" decoding=\"async\" class=\"media-slider-thumbnail-image\">\n</media-slider-thumbnail>\n<div class=\"media-time-slider-preview-meta media-time-slider-audio-preview-meta\">\n<div class=\"media-time-slider-preview-label\">\n<media-slider-value class=\"media-time-slider-value\" type=\"pointer\">\n</media-slider-value>\n<media-time-slider-chapter-title class=\"media-time-slider-chapter-title\">\n</media-time-slider-chapter-title>\n</div>\n</div>\n</media-slider-preview>\n</media-time-slider>\n</div>\n<media-controls-group class=\"video-controls-row\">\n<media-controls-group class=\"video-controls-group video-controls-start\">\n<div class=\"media-play-button-audio\">\n<media-play-button class=\"media-button media-play-button\" id=\"vjs-0AT5ugaw-0-trigger\">\n<media-icon family=\"scaffold\" name=\"restart\" class=\"media-button-icon-base media-play-button-restart-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"play\" class=\"media-button-icon-base media-play-button-play-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"pause\" class=\"media-button-icon-base media-play-button-pause-icon\">\n</media-icon>\n</media-play-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-buffering-indicator class=\"media-buffering-indicator media-play-button-buffering\">\n<media-icon family=\"scaffold\" name=\"spinner\" class=\"media-buffering-indicator-spinner-icon\">\n</media-icon>\n</media-buffering-indicator>\n</div>\n<media-seek-button seconds=\"-10\" class=\"media-button media-seek-button-audio\" id=\"vjs-0AT5ugaw-0-2-trigger\">\n<div class=\"media-seek-button-content\">\n<media-icon family=\"scaffold\" name=\"seek\" class=\"media-button-icon media-seek-button-backward-icon\">\n</media-icon>\n<span class=\"media-seek-button-label media-seek-button-backward-label\">10</span>\n</div>\n</media-seek-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-2-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-seek-button seconds=\"10\" class=\"media-button media-seek-button-audio\" id=\"vjs-0AT5ugaw-0-3-trigger\">\n<div class=\"media-seek-button-content\">\n<media-icon family=\"scaffold\" name=\"seek\" class=\"media-button-icon\">\n</media-icon>\n<span class=\"media-seek-button-label media-seek-button-forward-label\">10</span>\n</div>\n</media-seek-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-3-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-time-group class=\"media-time-group\">\n<media-time class=\"media-time-toggle\" type=\"current\" toggle>\n</media-time>\n<media-time class=\"media-time-current-value\" type=\"current\">\n</media-time>\n<media-time-separator class=\"media-time-separator\">\n</media-time-separator>\n<media-time class=\"media-time-duration-value\" type=\"duration\">\n</media-time>\n</media-time-group>\n</media-controls-group>\n<media-controls-group class=\"video-controls-group\">\n<media-playback-rate-button commandfor=\"vjs-yjowDGCc-0-popup\" class=\"media-button media-playback-rate-button\" id=\"vjs-0AT5ugaw-0-4-trigger\">\n<span data-part=\"value\">\n</span>\n</media-playback-rate-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-4-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-text token=\"menu.speed\">Speed</media-text>\n</media-tooltip>\n<media-menu side=\"top\" align=\"center\" boundary=\"viewport\" class=\"media-popup media-popup-safe-area media-menu-popup media-menu-rate-popup\" id=\"vjs-yjowDGCc-0-popup\">\n<media-menu-content class=\"media-menu-content\">\n<media-playback-rate-radio-group class=\"media-menu-radio-group\">\n<template>\n<media-menu-radio-item class=\"media-menu-radio-item\">\n<span data-part=\"label\">\n</span>\n<media-menu-item-indicator force-mount class=\"media-menu-indicator\">\n<media-icon family=\"scaffold\" name=\"check\" class=\"media-menu-radio-icon\">\n</media-icon>\n</media-menu-item-indicator>\n</media-menu-radio-item>\n</template>\n</media-playback-rate-radio-group>\n</media-menu-content>\n</media-menu>\n<media-mute-button commandfor=\"vjs-vBvsq6ay-0-popup\" class=\"media-button media-mute-button\" id=\"vjs-0AT5ugaw-0-5-trigger\">\n<media-icon family=\"scaffold\" name=\"volume-off\" class=\"media-button-icon media-mute-button-off-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"volume-high\" class=\"media-button-icon media-mute-button-high-icon\">\n</media-icon>\n</media-mute-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-5-trigger\" delay=\"0\" disabled side=\"top\" sticky class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-volume-popover open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-popup media-popup-safe-area media-volume-popover-popup\" id=\"vjs-vBvsq6ay-0-popup\">\n<media-volume-slider class=\"media-volume-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n<media-slider-track class=\"media-volume-slider-track\">\n<media-slider-fill class=\"media-volume-slider-fill\">\n</media-slider-fill>\n</media-slider-track>\n<media-slider-thumb class=\"media-volume-slider-thumb\">\n</media-slider-thumb>\n</media-volume-slider>\n</media-volume-popover>\n</media-controls-group>\n</media-controls-group>\n</div>\n</media-tooltip-group>\n</media-controls-content>\n</media-controls>\n<media-hotkey keys=\"Space\" action=\"togglePaused\">\n</media-hotkey>\n<media-hotkey keys=\"k\" action=\"togglePaused\">\n</media-hotkey>\n<media-hotkey keys=\"m\" action=\"toggleMuted\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowRight\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowLeft\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"l\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"j\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowUp\" action=\"volumeStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowDown\" action=\"volumeStep\">\n</media-hotkey>\n<media-hotkey keys=\"0-9\" action=\"seekToPercent\">\n</media-hotkey>\n<media-hotkey keys=\"Home\" action=\"seekToPercent\" value=\"0\">\n</media-hotkey>\n<media-hotkey keys=\"End\" action=\"seekToPercent\" value=\"100\">\n</media-hotkey>\n<media-hotkey keys=\"&gt;\" action=\"speedUp\">\n</media-hotkey>\n<media-hotkey keys=\"&lt;\" action=\"speedDown\">\n</media-hotkey>\n<media-status-announcer class=\"media-status-announcer\">\n</media-status-announcer>\n</media-container>`);\n"],"mappings":";;;AAGA,MAAa,WACX,eAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+LT"}
1
+ {"version":3,"file":"template.js","names":[],"sources":["../../../../../src/internal/skins/scaffold-audio/template.ts"],"sourcesContent":["import { createTemplate } from '@videojs/utils/dom';\n\n/** Static template rendered from the finalized VJSC module graph. */\nexport const template =\n createTemplate(/* html */ `<media-container class=\"media-skin media-container media-audio\" data-theme=\"scaffold\" data-preset=\"audio\">\n<slot>\n</slot>\n<media-error-dialog>\n<media-dialog-backdrop class=\"media-dialog-backdrop\">\n</media-dialog-backdrop>\n<media-dialog-popup class=\"media-dialog-popup\">\n<media-dialog-title class=\"media-dialog-title\">\n</media-dialog-title>\n<media-dialog-description class=\"media-dialog-description\">\n</media-dialog-description>\n<media-dialog-close class=\"media-button media-dialog-close\">\n</media-dialog-close>\n</media-dialog-popup>\n</media-error-dialog>\n<media-controls visibility=\"always\">\n<media-controls-content class=\"video-controls-content audio-controls-content\">\n<media-tooltip-group>\n<div class=\"video-controls-bottom audio-controls-bottom\">\n<div class=\"video-controls-slider-row\">\n<media-time-slider class=\"media-time-slider\" thumb-alignment=\"edge\">\n<media-time-slider-chapters class=\"media-time-slider-chapters\">\n<template>\n<div class=\"media-time-slider-chapter\">\n<media-slider-track class=\"media-time-slider-track media-time-slider-audio-track\">\n<media-slider-buffer class=\"media-time-slider-buffer media-time-slider-audio-buffer\">\n</media-slider-buffer>\n<media-slider-fill class=\"media-time-slider-fill\">\n</media-slider-fill>\n</media-slider-track>\n</div>\n</template>\n</media-time-slider-chapters>\n<media-slider-thumb class=\"media-time-slider-thumb\">\n</media-slider-thumb>\n<media-slider-preview class=\"media-time-slider-preview\">\n<media-slider-thumbnail class=\"media-slider-thumbnail\">\n<img alt=\"\" aria-hidden=\"true\" decoding=\"async\" class=\"media-slider-thumbnail-image\">\n</media-slider-thumbnail>\n<div class=\"media-time-slider-preview-meta media-time-slider-audio-preview-meta\">\n<div class=\"media-time-slider-preview-label\">\n<media-slider-value class=\"media-time-slider-value\" type=\"pointer\">\n</media-slider-value>\n<media-time-slider-chapter-title class=\"media-time-slider-chapter-title\">\n</media-time-slider-chapter-title>\n</div>\n</div>\n</media-slider-preview>\n</media-time-slider>\n</div>\n<media-controls-group class=\"video-controls-row\">\n<media-controls-group class=\"video-controls-group video-controls-start\">\n<div class=\"media-play-button-audio\">\n<media-play-button class=\"media-button media-play-button\" id=\"vjs-0AT5ugaw-0-trigger\">\n<media-icon family=\"scaffold\" name=\"restart\" class=\"media-button-icon-base media-play-button-restart-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"play\" class=\"media-button-icon-base media-play-button-play-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"pause\" class=\"media-button-icon-base media-play-button-pause-icon\">\n</media-icon>\n</media-play-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-buffering-indicator class=\"media-buffering-indicator media-play-button-buffering\">\n<media-icon family=\"scaffold\" name=\"spinner\" class=\"media-buffering-indicator-spinner-icon\">\n</media-icon>\n</media-buffering-indicator>\n</div>\n<media-seek-button seconds=\"-10\" class=\"media-button media-seek-button-audio\" id=\"vjs-0AT5ugaw-0-2-trigger\">\n<div class=\"media-seek-button-content\">\n<media-icon family=\"scaffold\" name=\"seek\" class=\"media-button-icon media-seek-button-backward-icon\">\n</media-icon>\n<span class=\"media-seek-button-label media-seek-button-backward-label\">10</span>\n</div>\n</media-seek-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-2-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-seek-button seconds=\"10\" class=\"media-button media-seek-button-audio\" id=\"vjs-0AT5ugaw-0-3-trigger\">\n<div class=\"media-seek-button-content\">\n<media-icon family=\"scaffold\" name=\"seek\" class=\"media-button-icon\">\n</media-icon>\n<span class=\"media-seek-button-label media-seek-button-forward-label\">10</span>\n</div>\n</media-seek-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-3-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-time-group class=\"media-time-group\">\n<media-time class=\"media-time-toggle\" type=\"current\" toggle>\n</media-time>\n<media-time class=\"media-time-current-value\" type=\"current\">\n</media-time>\n<media-time-separator class=\"media-time-separator\">\n</media-time-separator>\n<media-time class=\"media-time-duration-value\" type=\"duration\">\n</media-time>\n</media-time-group>\n</media-controls-group>\n<media-controls-group class=\"video-controls-group\">\n<media-playback-rate-button commandfor=\"vjs-yjowDGCc-0-popup\" class=\"media-button media-playback-rate-button\" id=\"vjs-0AT5ugaw-0-4-trigger\">\n<span data-part=\"value\" class=\"media-playback-rate-button-label\">\n</span>\n</media-playback-rate-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-4-trigger\" side=\"top\" class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-text token=\"menu.speed\">Speed</media-text>\n</media-tooltip>\n<media-menu side=\"top\" align=\"center\" boundary=\"viewport\" class=\"media-popup media-popup-safe-area media-menu-popup media-menu-rate-popup\" id=\"vjs-yjowDGCc-0-popup\">\n<media-menu-content class=\"media-menu-content\">\n<media-playback-rate-radio-group class=\"media-menu-radio-group\">\n<template>\n<media-menu-radio-item class=\"media-menu-radio-item\">\n<span data-part=\"label\">\n</span>\n<media-menu-item-indicator force-mount class=\"media-menu-indicator\">\n<media-icon family=\"scaffold\" name=\"check\" class=\"media-menu-radio-icon\">\n</media-icon>\n</media-menu-item-indicator>\n</media-menu-radio-item>\n</template>\n</media-playback-rate-radio-group>\n</media-menu-content>\n</media-menu>\n<media-mute-button commandfor=\"vjs-vBvsq6ay-0-popup\" class=\"media-button media-mute-button\" id=\"vjs-0AT5ugaw-0-5-trigger\">\n<media-icon family=\"scaffold\" name=\"volume-off\" class=\"media-button-icon media-mute-button-off-icon\">\n</media-icon>\n<media-icon family=\"scaffold\" name=\"volume-high\" class=\"media-button-icon media-mute-button-high-icon\">\n</media-icon>\n</media-mute-button>\n<media-tooltip trigger=\"vjs-0AT5ugaw-0-5-trigger\" delay=\"0\" disabled side=\"top\" sticky class=\"media-popup media-popup-safe-area media-tooltip-popup\">\n<media-tooltip-label>\n</media-tooltip-label>\n<media-tooltip-shortcut class=\"media-tooltip-shortcut\">\n</media-tooltip-shortcut>\n</media-tooltip>\n<media-volume-popover open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-popup media-popup-safe-area media-volume-popover-popup\" id=\"vjs-vBvsq6ay-0-popup\">\n<media-volume-slider class=\"media-volume-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n<media-slider-track class=\"media-volume-slider-track\">\n<media-slider-fill class=\"media-volume-slider-fill\">\n</media-slider-fill>\n</media-slider-track>\n<media-slider-thumb class=\"media-volume-slider-thumb\">\n</media-slider-thumb>\n</media-volume-slider>\n</media-volume-popover>\n</media-controls-group>\n</media-controls-group>\n</div>\n</media-tooltip-group>\n</media-controls-content>\n</media-controls>\n<media-hotkey keys=\"Space\" action=\"togglePaused\">\n</media-hotkey>\n<media-hotkey keys=\"k\" action=\"togglePaused\">\n</media-hotkey>\n<media-hotkey keys=\"m\" action=\"toggleMuted\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowRight\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowLeft\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"l\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"j\" action=\"seekStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowUp\" action=\"volumeStep\">\n</media-hotkey>\n<media-hotkey keys=\"ArrowDown\" action=\"volumeStep\">\n</media-hotkey>\n<media-hotkey keys=\"0-9\" action=\"seekToPercent\">\n</media-hotkey>\n<media-hotkey keys=\"Home\" action=\"seekToPercent\" value=\"0\">\n</media-hotkey>\n<media-hotkey keys=\"End\" action=\"seekToPercent\" value=\"100\">\n</media-hotkey>\n<media-hotkey keys=\"&gt;\" action=\"speedUp\">\n</media-hotkey>\n<media-hotkey keys=\"&lt;\" action=\"speedDown\">\n</media-hotkey>\n<media-status-announcer class=\"media-status-announcer\">\n</media-status-announcer>\n</media-container>`);\n"],"mappings":";;;AAGA,MAAa,WACX,eAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+LT"}
@@ -187,6 +187,10 @@
187
187
  display: none;
188
188
  }
189
189
 
190
+ :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-dialog-backdrop[data-scope="document"] {
191
+ position: fixed;
192
+ }
193
+
190
194
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-dialog-close {
191
195
  height: calc(var(--media-spacing) * 8);
192
196
  width: auto;
@@ -232,6 +236,11 @@
232
236
  outline-color: var(--media-ring);
233
237
  }
234
238
 
239
+ :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-dialog-popup[data-scope="document"] {
240
+ max-height: calc(100dvh - var(--media-spacing) * 8);
241
+ position: fixed;
242
+ }
243
+
235
244
  @media (forced-colors: active) {
236
245
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-dialog-popup {
237
246
  border: 1px solid canvastext;
@@ -393,8 +402,25 @@
393
402
  }
394
403
 
395
404
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-tooltip-shortcut {
405
+ text-align: center;
406
+ min-width: 1.5em;
396
407
  font-family: inherit;
397
408
  font-size: calc(var(--media-spacing) * 2.75);
409
+ background-color: oklab(100% 0 5.96046e-8 / .1);
410
+ padding: .1em;
411
+ line-height: 1.25;
412
+ }
413
+
414
+ .media-poster > slot::slotted(img) {
415
+ object-fit: var(--media-object-fit, contain);
416
+ object-position: var(--media-object-position, center);
417
+ width: 100%;
418
+ display: block;
419
+ height: 100% !important;
420
+ }
421
+
422
+ .media-poster > slot::slotted(img:not([src]):not([srcset])) {
423
+ visibility: hidden;
398
424
  }
399
425
 
400
426
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-poster {
@@ -1187,7 +1213,6 @@
1187
1213
  }
1188
1214
 
1189
1215
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-audio, :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]).media-audio {
1190
- aspect-ratio: auto;
1191
1216
  background-color: var(--media-background);
1192
1217
  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
1193
1218
  overflow: visible !important;
@@ -1196,6 +1221,9 @@
1196
1221
  :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]) .media-container, :where(.media-skin[data-theme="scaffold"][data-preset="live-audio"]).media-container {
1197
1222
  border-radius: var(--media-video-border-radius);
1198
1223
  width: 100%;
1224
+ min-width: 0;
1225
+ height: 100%;
1226
+ min-height: 0;
1199
1227
  font-family: var(--media-font-family, inherit);
1200
1228
  font-size: calc(var(--media-spacing) * 3.25);
1201
1229
  color: var(--media-foreground);
@@ -1213,6 +1241,17 @@
1213
1241
  outline-style: solid;
1214
1242
  outline-color: var(--media-ring);
1215
1243
  }
1244
+
1245
+ .media-container > slot::slotted(video), :scope.media-container > slot::slotted(video) {
1246
+ border-radius: inherit;
1247
+ object-fit: var(--media-object-fit, contain);
1248
+ object-position: var(--media-object-position, center);
1249
+ width: 100%;
1250
+ max-width: 100%;
1251
+ margin: 0;
1252
+ display: block;
1253
+ height: 100% !important;
1254
+ }
1216
1255
  }
1217
1256
 
1218
1257
  @layer utilities;
@@ -1230,7 +1269,7 @@
1230
1269
  --media-accent: var(--media-accent-color, color-mix(in oklab, var(--media-default-accent-color) 10%, transparent));
1231
1270
  --media-accent-foreground: var(--media-accent-text-color, currentColor);
1232
1271
  --media-muted: oklch(100% 0 0 / .15);
1233
- --media-muted-foreground: oklch(100% 0 0 / .65);
1272
+ --media-muted-foreground: color-mix(in oklab, var(--media-foreground) 65%, transparent);
1234
1273
  --media-border: oklch(0% 0 0 / .1);
1235
1274
  --media-ring: oklch(100% 0 0);
1236
1275
  --media-backdrop: oklch(0% 0 0);
@@ -1243,9 +1282,9 @@
1243
1282
  --media-shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));
1244
1283
  --media-shadow-subtle-current-color: color-mix(in oklab, var(--media-shadow-current-color) 40%, transparent);
1245
1284
  --media-text-shadow-dialog: 0 1px 0 #00000040;
1246
- --media-backdrop-filter-surface: blur(16px) saturate(110%);
1285
+ --media-backdrop-filter-surface: blur(16px) saturate(125%);
1247
1286
  --media-backdrop-filter-indicator: blur(8px);
1248
- --media-backdrop-filter-dialog: blur(16px) saturate(110%);
1287
+ --media-backdrop-filter-dialog: blur(16px) saturate(125%);
1249
1288
  --media-control-corner-shape: round;
1250
1289
  --media-control-radius: 99px;
1251
1290
  --media-control-size: calc(var(--media-spacing) * 9);
@@ -1350,6 +1389,7 @@
1350
1389
  --media-controls-foreground: var(--media-foreground);
1351
1390
  --media-popover: var(--media-controls);
1352
1391
  --media-popover-foreground: var(--media-foreground);
1392
+ --media-muted: oklch(0% 0 0 / .1);
1353
1393
  --media-surface-border: oklch(0% 0 0 / .05);
1354
1394
  --media-primary: var(--media-accent-color, var(--media-foreground));
1355
1395
  --media-border: oklch(0% 0 0 / .1);
@@ -1368,6 +1408,7 @@
1368
1408
  --media-foreground: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1369
1409
  --media-controls: light-dark(oklch(100% 0 0 / .5), oklch(0% 0 0 / .4));
1370
1410
  --media-border: light-dark(oklch(0% 0 0 / .1), oklch(100% 0 0 / .1));
1411
+ --media-muted: light-dark(oklch(0% 0 0 / .1), oklch(100% 0 0 / .1));
1371
1412
  --media-default-accent-color: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1372
1413
  --media-default-accent-text-color: light-dark(oklch(100% 0 0), oklch(0% 0 0));
1373
1414
  --media-internal-accent-text-fallback: light-dark(oklch(100% 0 0), oklch(0% 0 0));
@@ -223,6 +223,10 @@
223
223
  display: none;
224
224
  }
225
225
 
226
+ :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-dialog-backdrop[data-scope="document"] {
227
+ position: fixed;
228
+ }
229
+
226
230
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-dialog-close {
227
231
  height: calc(var(--media-spacing) * 8);
228
232
  width: auto;
@@ -268,6 +272,11 @@
268
272
  outline-color: var(--media-ring);
269
273
  }
270
274
 
275
+ :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-dialog-popup[data-scope="document"] {
276
+ max-height: calc(100dvh - var(--media-spacing) * 8);
277
+ position: fixed;
278
+ }
279
+
271
280
  @media (forced-colors: active) {
272
281
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-dialog-popup {
273
282
  border: 1px solid canvastext;
@@ -394,6 +403,18 @@
394
403
  overflow: hidden;
395
404
  }
396
405
 
406
+ .media-poster > slot::slotted(img) {
407
+ object-fit: var(--media-object-fit, contain);
408
+ object-position: var(--media-object-position, center);
409
+ width: 100%;
410
+ display: block;
411
+ height: 100% !important;
412
+ }
413
+
414
+ .media-poster > slot::slotted(img:not([src]):not([srcset])) {
415
+ visibility: hidden;
416
+ }
417
+
397
418
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-poster {
398
419
  width: 100%;
399
420
  height: 100%;
@@ -565,8 +586,13 @@
565
586
  }
566
587
 
567
588
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-tooltip-shortcut {
589
+ text-align: center;
590
+ min-width: 1.5em;
568
591
  font-family: inherit;
569
592
  font-size: calc(var(--media-spacing) * 2.75);
593
+ background-color: oklab(100% 0 5.96046e-8 / .1);
594
+ padding: .1em;
595
+ line-height: 1.25;
570
596
  }
571
597
 
572
598
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-button-icon {
@@ -623,6 +649,10 @@
623
649
  outline: 2px solid;
624
650
  }
625
651
 
652
+ :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-menu-radio-item[data-custom] {
653
+ font-style: italic;
654
+ }
655
+
626
656
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-menu-radio-item[data-highlighted] {
627
657
  background-color: var(--media-button-highlight);
628
658
  }
@@ -1545,7 +1575,7 @@
1545
1575
 
1546
1576
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .video-controls-backdrop {
1547
1577
  pointer-events: none;
1548
- background-color: #0006;
1578
+ background-image: linear-gradient(to top, #00000080, #0000 40% 60%, #0006);
1549
1579
  position: absolute;
1550
1580
  inset: 0;
1551
1581
  }
@@ -1563,6 +1593,9 @@
1563
1593
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-container, :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]).media-container {
1564
1594
  border-radius: var(--media-video-border-radius);
1565
1595
  width: 100%;
1596
+ min-width: 0;
1597
+ height: 100%;
1598
+ min-height: 0;
1566
1599
  font-family: var(--media-font-family, inherit);
1567
1600
  font-size: calc(var(--media-spacing) * 3.25);
1568
1601
  color: var(--media-foreground);
@@ -1582,9 +1615,19 @@
1582
1615
  }
1583
1616
 
1584
1617
  :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]) .media-video, :where(.media-skin[data-theme="scaffold"][data-preset="live-video"]).media-video {
1585
- aspect-ratio: 16 / 9;
1586
1618
  background-color: #000;
1587
1619
  }
1620
+
1621
+ .media-container > slot::slotted(video), :scope.media-container > slot::slotted(video) {
1622
+ border-radius: inherit;
1623
+ object-fit: var(--media-object-fit, contain);
1624
+ object-position: var(--media-object-position, center);
1625
+ width: 100%;
1626
+ max-width: 100%;
1627
+ margin: 0;
1628
+ display: block;
1629
+ height: 100% !important;
1630
+ }
1588
1631
  }
1589
1632
 
1590
1633
  @layer utilities;
@@ -1602,7 +1645,7 @@
1602
1645
  --media-accent: var(--media-accent-color, color-mix(in oklab, var(--media-default-accent-color) 10%, transparent));
1603
1646
  --media-accent-foreground: var(--media-accent-text-color, currentColor);
1604
1647
  --media-muted: oklch(100% 0 0 / .15);
1605
- --media-muted-foreground: oklch(100% 0 0 / .65);
1648
+ --media-muted-foreground: color-mix(in oklab, var(--media-foreground) 65%, transparent);
1606
1649
  --media-border: oklch(0% 0 0 / .1);
1607
1650
  --media-ring: oklch(100% 0 0);
1608
1651
  --media-backdrop: oklch(0% 0 0);
@@ -1615,9 +1658,9 @@
1615
1658
  --media-shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));
1616
1659
  --media-shadow-subtle-current-color: color-mix(in oklab, var(--media-shadow-current-color) 40%, transparent);
1617
1660
  --media-text-shadow-dialog: 0 1px 0 #00000040;
1618
- --media-backdrop-filter-surface: blur(16px) saturate(110%);
1661
+ --media-backdrop-filter-surface: blur(16px) saturate(125%);
1619
1662
  --media-backdrop-filter-indicator: blur(8px);
1620
- --media-backdrop-filter-dialog: blur(16px) saturate(110%);
1663
+ --media-backdrop-filter-dialog: blur(16px) saturate(125%);
1621
1664
  --media-control-corner-shape: round;
1622
1665
  --media-control-radius: 99px;
1623
1666
  --media-control-size: calc(var(--media-spacing) * 9);
@@ -1717,10 +1760,20 @@
1717
1760
  @layer base.preset {
1718
1761
  .media-skin:is([data-preset="video"], [data-preset="live-video"]) {
1719
1762
  --media-frame-border: var(--media-border-color, #0000001a);
1763
+ --media-controls-gradient-height: max(40%, calc(var(--media-spacing) * 40));
1764
+ --media-controls-bottom-gradient-height: max(50%, calc(var(--media-spacing) * 60));
1720
1765
  --media-controls-gradient: linear-gradient(to top,
1721
- color-mix(in oklab, var(--media-backdrop) 40%, transparent),
1722
- color-mix(in oklab, var(--media-backdrop) 20%, transparent),
1723
- color-mix(in oklab, var(--media-backdrop) 50%, transparent));
1766
+ color-mix(in oklab, var(--media-backdrop) 60%, transparent),
1767
+ color-mix(in oklab, var(--media-backdrop) 50.7%, transparent) 25%,
1768
+ color-mix(in oklab, var(--media-backdrop) 30%, transparent) 50%,
1769
+ color-mix(in oklab, var(--media-backdrop) 9.3%, transparent) 75%,
1770
+ transparent);
1771
+ --media-controls-top-gradient: linear-gradient(to bottom,
1772
+ color-mix(in oklab, var(--media-backdrop) 55%, transparent),
1773
+ color-mix(in oklab, var(--media-backdrop) 46.48%, transparent) 25%,
1774
+ color-mix(in oklab, var(--media-backdrop) 27.5%, transparent) 50%,
1775
+ color-mix(in oklab, var(--media-backdrop) 8.53%, transparent) 75%,
1776
+ transparent);
1724
1777
  --media-caption-controls-y: calc(var(--media-spacing) * -16);
1725
1778
  --media-slider-preview-offset: calc(var(--media-spacing) * 9);
1726
1779
  --media-thumbnail-gradient: linear-gradient(to top,
@@ -1732,9 +1785,17 @@
1732
1785
  @supports (color: oklch(from red l c h)) and (background-image: linear-gradient(in oklab, red, red)) {
1733
1786
  .media-skin:is([data-preset="video"], [data-preset="live-video"]) {
1734
1787
  --media-controls-gradient: linear-gradient(to top in oklab,
1735
- oklch(from var(--media-backdrop) l c h / .4),
1736
- oklch(from var(--media-backdrop) l c h / .2),
1737
- oklch(from var(--media-backdrop) l c h / .5));
1788
+ oklch(from var(--media-backdrop) l c h / .6),
1789
+ oklch(from var(--media-backdrop) l c h / .507) 25%,
1790
+ oklch(from var(--media-backdrop) l c h / .3) 50%,
1791
+ oklch(from var(--media-backdrop) l c h / .093) 75%,
1792
+ transparent);
1793
+ --media-controls-top-gradient: linear-gradient(to bottom in oklab,
1794
+ oklch(from var(--media-backdrop) l c h / .55),
1795
+ oklch(from var(--media-backdrop) l c h / .4647) 25%,
1796
+ oklch(from var(--media-backdrop) l c h / .275) 50%,
1797
+ oklch(from var(--media-backdrop) l c h / .0853) 75%,
1798
+ transparent);
1738
1799
  }
1739
1800
  }
1740
1801
 
@@ -1749,9 +1810,20 @@
1749
1810
 
1750
1811
  .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="neutral"] {
1751
1812
  --media-frame-border: var(--media-border-color, #00000026);
1813
+ --media-controls-gradient-height: 40%;
1814
+ --media-controls-bottom-gradient-height: 40%;
1752
1815
  --media-controls-gradient: linear-gradient(to top,
1753
1816
  color-mix(in oklab, var(--media-backdrop) 50%, transparent),
1754
- color-mix(in oklab, var(--media-backdrop) 20%, transparent));
1817
+ color-mix(in oklab, var(--media-backdrop) 42.2%, transparent) 25%,
1818
+ color-mix(in oklab, var(--media-backdrop) 25%, transparent) 50%,
1819
+ color-mix(in oklab, var(--media-backdrop) 7.8%, transparent) 75%,
1820
+ transparent);
1821
+ --media-controls-top-gradient: linear-gradient(to bottom,
1822
+ color-mix(in oklab, var(--media-backdrop) 50%, transparent),
1823
+ color-mix(in oklab, var(--media-backdrop) 42.2%, transparent) 25%,
1824
+ color-mix(in oklab, var(--media-backdrop) 25%, transparent) 50%,
1825
+ color-mix(in oklab, var(--media-backdrop) 7.8%, transparent) 75%,
1826
+ transparent);
1755
1827
  --media-indicator-gradient: linear-gradient(to bottom,
1756
1828
  color-mix(in oklab, var(--media-backdrop) 35%, transparent),
1757
1829
  color-mix(in oklab, var(--media-backdrop) 20%, transparent) calc(var(--media-spacing) * 12),
@@ -1761,6 +1833,7 @@
1761
1833
  }
1762
1834
 
1763
1835
  .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="compat"] {
1836
+ --media-controls-gradient: linear-gradient(to top, #00000080, transparent 40% 60%, #0006);
1764
1837
  --media-caption-controls-y: calc(var(--media-spacing) * -18);
1765
1838
  }
1766
1839
 
@@ -1772,7 +1845,16 @@
1772
1845
  .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="neutral"] {
1773
1846
  --media-controls-gradient: linear-gradient(to top in oklab,
1774
1847
  oklch(from var(--media-backdrop) l c h / .5),
1775
- oklch(from var(--media-backdrop) l c h / .2));
1848
+ oklch(from var(--media-backdrop) l c h / .422) 25%,
1849
+ oklch(from var(--media-backdrop) l c h / .25) 50%,
1850
+ oklch(from var(--media-backdrop) l c h / .078) 75%,
1851
+ transparent);
1852
+ --media-controls-top-gradient: linear-gradient(to bottom in oklab,
1853
+ oklch(from var(--media-backdrop) l c h / .5),
1854
+ oklch(from var(--media-backdrop) l c h / .422) 25%,
1855
+ oklch(from var(--media-backdrop) l c h / .25) 50%,
1856
+ oklch(from var(--media-backdrop) l c h / .078) 75%,
1857
+ transparent);
1776
1858
  }
1777
1859
  }
1778
1860