@videojs/html 10.0.1 → 10.2.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 (455) hide show
  1. package/README.md +2 -2
  2. package/dist/default/define/audio/compat-skin.css +86 -60
  3. package/dist/default/define/audio/compat-skin2.js +1 -1
  4. package/dist/default/define/audio/neutral-skin.css +2 -11
  5. package/dist/default/define/audio/neutral-skin2.js +1 -1
  6. package/dist/default/define/audio/scaffold-skin.css +1754 -0
  7. package/dist/default/define/audio/scaffold-skin.js +6 -0
  8. package/dist/default/define/audio/scaffold-skin2.js +4 -0
  9. package/dist/default/define/audio/skin.css +0 -1
  10. package/dist/default/define/audio/skin2.js +1 -1
  11. package/dist/default/define/live-audio/compat-skin.css +86 -60
  12. package/dist/default/define/live-audio/compat-skin2.js +1 -1
  13. package/dist/default/define/live-audio/neutral-skin.css +0 -1
  14. package/dist/default/define/live-audio/neutral-skin2.js +1 -1
  15. package/dist/default/define/live-audio/scaffold-skin.css +1574 -0
  16. package/dist/default/define/live-audio/scaffold-skin.js +6 -0
  17. package/dist/default/define/live-audio/scaffold-skin2.js +4 -0
  18. package/dist/default/define/live-audio/skin.css +0 -1
  19. package/dist/default/define/live-audio/skin2.js +1 -1
  20. package/dist/default/define/live-video/compat-skin.css +75 -31
  21. package/dist/default/define/live-video/compat-skin2.js +1 -1
  22. package/dist/default/define/live-video/neutral-skin.css +20 -9
  23. package/dist/default/define/live-video/neutral-skin2.js +1 -1
  24. package/dist/default/define/live-video/scaffold-skin.css +1975 -0
  25. package/dist/default/define/live-video/scaffold-skin.js +6 -0
  26. package/dist/default/define/live-video/scaffold-skin2.js +4 -0
  27. package/dist/default/define/live-video/skin.css +18 -7
  28. package/dist/default/define/live-video/skin2.js +1 -1
  29. package/dist/default/define/media/playerjs-video.js +11 -0
  30. package/dist/default/define/video/compat-skin.css +75 -31
  31. package/dist/default/define/video/compat-skin2.js +1 -1
  32. package/dist/default/define/video/neutral-skin.css +28 -19
  33. package/dist/default/define/video/neutral-skin2.js +1 -1
  34. package/dist/default/define/video/scaffold-skin.css +2215 -0
  35. package/dist/default/define/video/scaffold-skin.js +6 -0
  36. package/dist/default/define/video/scaffold-skin2.js +4 -0
  37. package/dist/default/define/video/skin.css +24 -7
  38. package/dist/default/define/video/skin2.js +1 -1
  39. package/dist/default/extensions/mux-data/extension.js +1 -1
  40. package/dist/default/icons/dist/element/compat/icons.js +1 -1
  41. package/dist/default/icons/dist/element/index.js +1 -0
  42. package/dist/default/icons/dist/element/scaffold/icons.js +30 -0
  43. package/dist/default/icons/dist/element/scaffold/index.js +8 -0
  44. package/dist/default/icons/dist/html/compat/play.js +1 -1
  45. package/dist/default/icons/dist/html/scaffold/airplay-enter.js +4 -0
  46. package/dist/default/icons/dist/html/scaffold/airplay-exit.js +4 -0
  47. package/dist/default/icons/dist/html/scaffold/captions-off.js +4 -0
  48. package/dist/default/icons/dist/html/scaffold/captions-on.js +4 -0
  49. package/dist/default/icons/dist/html/scaffold/cast-enter.js +4 -0
  50. package/dist/default/icons/dist/html/scaffold/cast-exit.js +4 -0
  51. package/dist/default/icons/dist/html/scaffold/check.js +4 -0
  52. package/dist/default/icons/dist/html/scaffold/chevron.js +4 -0
  53. package/dist/default/icons/dist/html/scaffold/fullscreen-enter.js +4 -0
  54. package/dist/default/icons/dist/html/scaffold/fullscreen-exit.js +4 -0
  55. package/dist/default/icons/dist/html/scaffold/gear.js +4 -0
  56. package/dist/default/icons/dist/html/scaffold/pause.js +4 -0
  57. package/dist/default/icons/dist/html/scaffold/pip-enter.js +4 -0
  58. package/dist/default/icons/dist/html/scaffold/pip-exit.js +4 -0
  59. package/dist/default/icons/dist/html/scaffold/play.js +4 -0
  60. package/dist/default/icons/dist/html/scaffold/quality.js +4 -0
  61. package/dist/default/icons/dist/html/scaffold/restart.js +4 -0
  62. package/dist/default/icons/dist/html/scaffold/seek.js +4 -0
  63. package/dist/default/icons/dist/html/scaffold/speech.js +4 -0
  64. package/dist/default/icons/dist/html/scaffold/speed.js +4 -0
  65. package/dist/default/icons/dist/html/scaffold/spinner.js +4 -0
  66. package/dist/default/icons/dist/html/scaffold/switches.js +4 -0
  67. package/dist/default/icons/dist/html/scaffold/volume-high.js +4 -0
  68. package/dist/default/icons/dist/html/scaffold/volume-low.js +4 -0
  69. package/dist/default/icons/dist/html/scaffold/volume-off.js +4 -0
  70. package/dist/default/icons/element/scaffold/index.js +1 -0
  71. package/dist/default/icons/scaffold/index.js +26 -0
  72. package/dist/default/internal/skins/compat-audio/register.js +1 -10
  73. package/dist/default/internal/skins/compat-audio/skin.css +86 -60
  74. package/dist/default/internal/skins/compat-audio/template.js +26 -48
  75. package/dist/default/internal/skins/compat-live-audio/register.js +1 -10
  76. package/dist/default/internal/skins/compat-live-audio/skin.css +86 -60
  77. package/dist/default/internal/skins/compat-live-audio/template.js +7 -29
  78. package/dist/default/internal/skins/compat-live-video/skin.css +75 -31
  79. package/dist/default/internal/skins/compat-live-video/template.js +20 -18
  80. package/dist/default/internal/skins/compat-video/skin.css +75 -31
  81. package/dist/default/internal/skins/compat-video/template.js +34 -32
  82. package/dist/default/internal/skins/default-audio/skin.css +0 -1
  83. package/dist/default/internal/skins/default-audio/template.js +12 -12
  84. package/dist/default/internal/skins/default-live-audio/skin.css +0 -1
  85. package/dist/default/internal/skins/default-live-audio/template.js +5 -5
  86. package/dist/default/internal/skins/default-live-video/skin.css +18 -7
  87. package/dist/default/internal/skins/default-live-video/template.js +16 -16
  88. package/dist/default/internal/skins/default-video/skin.css +24 -7
  89. package/dist/default/internal/skins/default-video/template.js +26 -26
  90. package/dist/default/internal/skins/neutral-audio/skin.css +2 -11
  91. package/dist/default/internal/skins/neutral-audio/template.js +13 -13
  92. package/dist/default/internal/skins/neutral-live-audio/skin.css +0 -1
  93. package/dist/default/internal/skins/neutral-live-audio/template.js +5 -5
  94. package/dist/default/internal/skins/neutral-live-video/skin.css +20 -9
  95. package/dist/default/internal/skins/neutral-live-video/template.js +16 -16
  96. package/dist/default/internal/skins/neutral-video/skin.css +28 -19
  97. package/dist/default/internal/skins/neutral-video/template.js +27 -27
  98. package/dist/default/internal/skins/scaffold-audio/register.js +63 -0
  99. package/dist/default/internal/skins/scaffold-audio/skin.css +1722 -0
  100. package/dist/default/internal/skins/scaffold-audio/template.js +197 -0
  101. package/dist/default/internal/skins/scaffold-live-audio/register.js +43 -0
  102. package/dist/default/internal/skins/scaffold-live-audio/skin.css +1542 -0
  103. package/dist/default/internal/skins/scaffold-live-audio/template.js +94 -0
  104. package/dist/default/internal/skins/scaffold-live-video/register.js +86 -0
  105. package/dist/default/internal/skins/scaffold-live-video/skin.css +1943 -0
  106. package/dist/default/internal/skins/scaffold-live-video/template.js +241 -0
  107. package/dist/default/internal/skins/scaffold-video/register.js +115 -0
  108. package/dist/default/internal/skins/scaffold-video/skin.css +2183 -0
  109. package/dist/default/internal/skins/scaffold-video/template.js +461 -0
  110. package/dist/default/media/hls-audio/adapter.js +1 -1
  111. package/dist/default/media/hls-background-video/adapter.js +1 -1
  112. package/dist/default/media/hls-video/adapter.js +1 -1
  113. package/dist/default/media/playerjs-video/adapter.js +25 -0
  114. package/dist/default/presets/audio/index.js +2 -1
  115. package/dist/default/presets/audio/scaffold-skin.js +19 -0
  116. package/dist/default/presets/background/skin.js +0 -2
  117. package/dist/default/presets/live-audio/index.js +2 -1
  118. package/dist/default/presets/live-audio/scaffold-skin.js +19 -0
  119. package/dist/default/presets/live-video/index.js +2 -1
  120. package/dist/default/presets/live-video/scaffold-skin.js +19 -0
  121. package/dist/default/presets/skin.js +0 -11
  122. package/dist/default/presets/video/index.js +2 -1
  123. package/dist/default/presets/video/scaffold-skin.js +19 -0
  124. package/dist/default/ui/slider/element.js +3 -1
  125. package/dist/default/ui/time-slider/element.js +45 -9
  126. package/dist/default/ui/volume-slider/element.js +3 -1
  127. package/dist/default/version.js +1 -1
  128. package/dist/dev/define/audio/compat-skin.css +86 -60
  129. package/dist/dev/define/audio/compat-skin2.js +1 -1
  130. package/dist/dev/define/audio/compat-skin2.js.map +1 -1
  131. package/dist/dev/define/audio/neutral-skin.css +2 -11
  132. package/dist/dev/define/audio/neutral-skin2.js +1 -1
  133. package/dist/dev/define/audio/neutral-skin2.js.map +1 -1
  134. package/dist/dev/define/audio/scaffold-skin.css +1754 -0
  135. package/dist/dev/define/audio/scaffold-skin.d.ts +1 -0
  136. package/dist/dev/define/audio/scaffold-skin.js +8 -0
  137. package/dist/dev/define/audio/scaffold-skin.js.map +1 -0
  138. package/dist/dev/define/audio/scaffold-skin2.js +6 -0
  139. package/dist/dev/define/audio/scaffold-skin2.js.map +1 -0
  140. package/dist/dev/define/audio/skin.css +0 -1
  141. package/dist/dev/define/audio/skin2.js +1 -1
  142. package/dist/dev/define/audio/skin2.js.map +1 -1
  143. package/dist/dev/define/global.js.map +1 -1
  144. package/dist/dev/define/live-audio/compat-skin.css +86 -60
  145. package/dist/dev/define/live-audio/compat-skin2.js +1 -1
  146. package/dist/dev/define/live-audio/compat-skin2.js.map +1 -1
  147. package/dist/dev/define/live-audio/neutral-skin.css +0 -1
  148. package/dist/dev/define/live-audio/neutral-skin2.js +1 -1
  149. package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -1
  150. package/dist/dev/define/live-audio/scaffold-skin.css +1574 -0
  151. package/dist/dev/define/live-audio/scaffold-skin.d.ts +1 -0
  152. package/dist/dev/define/live-audio/scaffold-skin.js +8 -0
  153. package/dist/dev/define/live-audio/scaffold-skin.js.map +1 -0
  154. package/dist/dev/define/live-audio/scaffold-skin2.js +6 -0
  155. package/dist/dev/define/live-audio/scaffold-skin2.js.map +1 -0
  156. package/dist/dev/define/live-audio/skin.css +0 -1
  157. package/dist/dev/define/live-audio/skin2.js +1 -1
  158. package/dist/dev/define/live-audio/skin2.js.map +1 -1
  159. package/dist/dev/define/live-video/compat-skin.css +75 -31
  160. package/dist/dev/define/live-video/compat-skin2.js +1 -1
  161. package/dist/dev/define/live-video/compat-skin2.js.map +1 -1
  162. package/dist/dev/define/live-video/neutral-skin.css +20 -9
  163. package/dist/dev/define/live-video/neutral-skin2.js +1 -1
  164. package/dist/dev/define/live-video/neutral-skin2.js.map +1 -1
  165. package/dist/dev/define/live-video/scaffold-skin.css +1975 -0
  166. package/dist/dev/define/live-video/scaffold-skin.d.ts +1 -0
  167. package/dist/dev/define/live-video/scaffold-skin.js +8 -0
  168. package/dist/dev/define/live-video/scaffold-skin.js.map +1 -0
  169. package/dist/dev/define/live-video/scaffold-skin2.js +6 -0
  170. package/dist/dev/define/live-video/scaffold-skin2.js.map +1 -0
  171. package/dist/dev/define/live-video/skin.css +18 -7
  172. package/dist/dev/define/live-video/skin2.js +1 -1
  173. package/dist/dev/define/live-video/skin2.js.map +1 -1
  174. package/dist/dev/define/media/playerjs-video.d.ts +15 -0
  175. package/dist/dev/define/media/playerjs-video.js +13 -0
  176. package/dist/dev/define/media/playerjs-video.js.map +1 -0
  177. package/dist/dev/define/video/compat-skin.css +75 -31
  178. package/dist/dev/define/video/compat-skin2.js +1 -1
  179. package/dist/dev/define/video/compat-skin2.js.map +1 -1
  180. package/dist/dev/define/video/neutral-skin.css +28 -19
  181. package/dist/dev/define/video/neutral-skin2.js +1 -1
  182. package/dist/dev/define/video/neutral-skin2.js.map +1 -1
  183. package/dist/dev/define/video/scaffold-skin.css +2215 -0
  184. package/dist/dev/define/video/scaffold-skin.d.ts +1 -0
  185. package/dist/dev/define/video/scaffold-skin.js +8 -0
  186. package/dist/dev/define/video/scaffold-skin.js.map +1 -0
  187. package/dist/dev/define/video/scaffold-skin2.js +6 -0
  188. package/dist/dev/define/video/scaffold-skin2.js.map +1 -0
  189. package/dist/dev/define/video/skin.css +24 -7
  190. package/dist/dev/define/video/skin2.js +1 -1
  191. package/dist/dev/define/video/skin2.js.map +1 -1
  192. package/dist/dev/extensions/mux-data/extension.d.ts +1 -1
  193. package/dist/dev/extensions/mux-data/extension.js +1 -1
  194. package/dist/dev/extensions/mux-data/extension.js.map +1 -1
  195. package/dist/dev/icons/dist/element/compat/icons.js +1 -1
  196. package/dist/dev/icons/dist/element/compat/icons.js.map +1 -1
  197. package/dist/dev/icons/dist/element/index.js +1 -0
  198. package/dist/dev/icons/dist/element/index.js.map +1 -1
  199. package/dist/dev/icons/dist/element/scaffold/icons.js +32 -0
  200. package/dist/dev/icons/dist/element/scaffold/icons.js.map +1 -0
  201. package/dist/dev/icons/dist/element/scaffold/index.d.ts +1 -0
  202. package/dist/dev/icons/dist/element/scaffold/index.js +10 -0
  203. package/dist/dev/icons/dist/element/scaffold/index.js.map +1 -0
  204. package/dist/dev/icons/dist/html/compat/play.js +1 -1
  205. package/dist/dev/icons/dist/html/compat/play.js.map +1 -1
  206. package/dist/dev/icons/dist/html/scaffold/airplay-enter.js +6 -0
  207. package/dist/dev/icons/dist/html/scaffold/airplay-enter.js.map +1 -0
  208. package/dist/dev/icons/dist/html/scaffold/airplay-exit.js +6 -0
  209. package/dist/dev/icons/dist/html/scaffold/airplay-exit.js.map +1 -0
  210. package/dist/dev/icons/dist/html/scaffold/captions-off.js +6 -0
  211. package/dist/dev/icons/dist/html/scaffold/captions-off.js.map +1 -0
  212. package/dist/dev/icons/dist/html/scaffold/captions-on.js +6 -0
  213. package/dist/dev/icons/dist/html/scaffold/captions-on.js.map +1 -0
  214. package/dist/dev/icons/dist/html/scaffold/cast-enter.js +6 -0
  215. package/dist/dev/icons/dist/html/scaffold/cast-enter.js.map +1 -0
  216. package/dist/dev/icons/dist/html/scaffold/cast-exit.js +6 -0
  217. package/dist/dev/icons/dist/html/scaffold/cast-exit.js.map +1 -0
  218. package/dist/dev/icons/dist/html/scaffold/check.js +6 -0
  219. package/dist/dev/icons/dist/html/scaffold/check.js.map +1 -0
  220. package/dist/dev/icons/dist/html/scaffold/chevron.js +6 -0
  221. package/dist/dev/icons/dist/html/scaffold/chevron.js.map +1 -0
  222. package/dist/dev/icons/dist/html/scaffold/fullscreen-enter.js +6 -0
  223. package/dist/dev/icons/dist/html/scaffold/fullscreen-enter.js.map +1 -0
  224. package/dist/dev/icons/dist/html/scaffold/fullscreen-exit.js +6 -0
  225. package/dist/dev/icons/dist/html/scaffold/fullscreen-exit.js.map +1 -0
  226. package/dist/dev/icons/dist/html/scaffold/gear.js +6 -0
  227. package/dist/dev/icons/dist/html/scaffold/gear.js.map +1 -0
  228. package/dist/dev/icons/dist/html/scaffold/index.d.ts +28 -0
  229. package/dist/dev/icons/dist/html/scaffold/pause.js +6 -0
  230. package/dist/dev/icons/dist/html/scaffold/pause.js.map +1 -0
  231. package/dist/dev/icons/dist/html/scaffold/pip-enter.js +6 -0
  232. package/dist/dev/icons/dist/html/scaffold/pip-enter.js.map +1 -0
  233. package/dist/dev/icons/dist/html/scaffold/pip-exit.js +6 -0
  234. package/dist/dev/icons/dist/html/scaffold/pip-exit.js.map +1 -0
  235. package/dist/dev/icons/dist/html/scaffold/play.js +6 -0
  236. package/dist/dev/icons/dist/html/scaffold/play.js.map +1 -0
  237. package/dist/dev/icons/dist/html/scaffold/quality.js +6 -0
  238. package/dist/dev/icons/dist/html/scaffold/quality.js.map +1 -0
  239. package/dist/dev/icons/dist/html/scaffold/restart.js +6 -0
  240. package/dist/dev/icons/dist/html/scaffold/restart.js.map +1 -0
  241. package/dist/dev/icons/dist/html/scaffold/seek.js +6 -0
  242. package/dist/dev/icons/dist/html/scaffold/seek.js.map +1 -0
  243. package/dist/dev/icons/dist/html/scaffold/speech.js +6 -0
  244. package/dist/dev/icons/dist/html/scaffold/speech.js.map +1 -0
  245. package/dist/dev/icons/dist/html/scaffold/speed.js +6 -0
  246. package/dist/dev/icons/dist/html/scaffold/speed.js.map +1 -0
  247. package/dist/dev/icons/dist/html/scaffold/spinner.js +6 -0
  248. package/dist/dev/icons/dist/html/scaffold/spinner.js.map +1 -0
  249. package/dist/dev/icons/dist/html/scaffold/switches.js +6 -0
  250. package/dist/dev/icons/dist/html/scaffold/switches.js.map +1 -0
  251. package/dist/dev/icons/dist/html/scaffold/volume-high.js +6 -0
  252. package/dist/dev/icons/dist/html/scaffold/volume-high.js.map +1 -0
  253. package/dist/dev/icons/dist/html/scaffold/volume-low.js +6 -0
  254. package/dist/dev/icons/dist/html/scaffold/volume-low.js.map +1 -0
  255. package/dist/dev/icons/dist/html/scaffold/volume-off.js +6 -0
  256. package/dist/dev/icons/dist/html/scaffold/volume-off.js.map +1 -0
  257. package/dist/dev/icons/element/scaffold/index.d.ts +1 -0
  258. package/dist/dev/icons/element/scaffold/index.js +1 -0
  259. package/dist/dev/icons/scaffold/index.d.ts +2 -0
  260. package/dist/dev/icons/scaffold/index.js +26 -0
  261. package/dist/dev/index.d.ts +3 -3
  262. package/dist/dev/internal/skins/compat-audio/register.d.ts +4 -5
  263. package/dist/dev/internal/skins/compat-audio/register.js +1 -10
  264. package/dist/dev/internal/skins/compat-audio/register.js.map +1 -1
  265. package/dist/dev/internal/skins/compat-audio/skin.css +86 -60
  266. package/dist/dev/internal/skins/compat-audio/template.js +26 -48
  267. package/dist/dev/internal/skins/compat-audio/template.js.map +1 -1
  268. package/dist/dev/internal/skins/compat-live-audio/register.d.ts +1 -2
  269. package/dist/dev/internal/skins/compat-live-audio/register.js +1 -10
  270. package/dist/dev/internal/skins/compat-live-audio/register.js.map +1 -1
  271. package/dist/dev/internal/skins/compat-live-audio/skin.css +86 -60
  272. package/dist/dev/internal/skins/compat-live-audio/template.js +7 -29
  273. package/dist/dev/internal/skins/compat-live-audio/template.js.map +1 -1
  274. package/dist/dev/internal/skins/compat-live-video/register.d.ts +3 -3
  275. package/dist/dev/internal/skins/compat-live-video/skin.css +75 -31
  276. package/dist/dev/internal/skins/compat-live-video/template.js +20 -18
  277. package/dist/dev/internal/skins/compat-live-video/template.js.map +1 -1
  278. package/dist/dev/internal/skins/compat-video/register.d.ts +6 -6
  279. package/dist/dev/internal/skins/compat-video/skin.css +75 -31
  280. package/dist/dev/internal/skins/compat-video/template.js +34 -32
  281. package/dist/dev/internal/skins/compat-video/template.js.map +1 -1
  282. package/dist/dev/internal/skins/default-audio/register.d.ts +3 -3
  283. package/dist/dev/internal/skins/default-audio/skin.css +0 -1
  284. package/dist/dev/internal/skins/default-audio/template.js +12 -12
  285. package/dist/dev/internal/skins/default-audio/template.js.map +1 -1
  286. package/dist/dev/internal/skins/default-live-audio/register.d.ts +1 -1
  287. package/dist/dev/internal/skins/default-live-audio/skin.css +0 -1
  288. package/dist/dev/internal/skins/default-live-audio/template.js +5 -5
  289. package/dist/dev/internal/skins/default-live-audio/template.js.map +1 -1
  290. package/dist/dev/internal/skins/default-live-video/register.d.ts +3 -3
  291. package/dist/dev/internal/skins/default-live-video/skin.css +18 -7
  292. package/dist/dev/internal/skins/default-live-video/template.js +16 -16
  293. package/dist/dev/internal/skins/default-live-video/template.js.map +1 -1
  294. package/dist/dev/internal/skins/default-video/register.d.ts +4 -4
  295. package/dist/dev/internal/skins/default-video/skin.css +24 -7
  296. package/dist/dev/internal/skins/default-video/template.js +26 -26
  297. package/dist/dev/internal/skins/default-video/template.js.map +1 -1
  298. package/dist/dev/internal/skins/neutral-audio/register.d.ts +5 -5
  299. package/dist/dev/internal/skins/neutral-audio/skin.css +2 -11
  300. package/dist/dev/internal/skins/neutral-audio/template.js +13 -13
  301. package/dist/dev/internal/skins/neutral-audio/template.js.map +1 -1
  302. package/dist/dev/internal/skins/neutral-live-audio/register.d.ts +1 -1
  303. package/dist/dev/internal/skins/neutral-live-audio/skin.css +0 -1
  304. package/dist/dev/internal/skins/neutral-live-audio/template.js +5 -5
  305. package/dist/dev/internal/skins/neutral-live-audio/template.js.map +1 -1
  306. package/dist/dev/internal/skins/neutral-live-video/register.d.ts +3 -3
  307. package/dist/dev/internal/skins/neutral-live-video/skin.css +20 -9
  308. package/dist/dev/internal/skins/neutral-live-video/template.js +16 -16
  309. package/dist/dev/internal/skins/neutral-live-video/template.js.map +1 -1
  310. package/dist/dev/internal/skins/neutral-video/register.d.ts +6 -6
  311. package/dist/dev/internal/skins/neutral-video/skin.css +28 -19
  312. package/dist/dev/internal/skins/neutral-video/template.js +27 -27
  313. package/dist/dev/internal/skins/neutral-video/template.js.map +1 -1
  314. package/dist/dev/internal/skins/scaffold-audio/register.d.ts +42 -0
  315. package/dist/dev/internal/skins/scaffold-audio/register.js +65 -0
  316. package/dist/dev/internal/skins/scaffold-audio/register.js.map +1 -0
  317. package/dist/dev/internal/skins/scaffold-audio/skin.css +1722 -0
  318. package/dist/dev/internal/skins/scaffold-audio/template.js +199 -0
  319. package/dist/dev/internal/skins/scaffold-audio/template.js.map +1 -0
  320. package/dist/dev/internal/skins/scaffold-live-audio/register.d.ts +26 -0
  321. package/dist/dev/internal/skins/scaffold-live-audio/register.js +45 -0
  322. package/dist/dev/internal/skins/scaffold-live-audio/register.js.map +1 -0
  323. package/dist/dev/internal/skins/scaffold-live-audio/skin.css +1542 -0
  324. package/dist/dev/internal/skins/scaffold-live-audio/template.js +96 -0
  325. package/dist/dev/internal/skins/scaffold-live-audio/template.js.map +1 -0
  326. package/dist/dev/internal/skins/scaffold-live-video/register.d.ts +45 -0
  327. package/dist/dev/internal/skins/scaffold-live-video/register.js +88 -0
  328. package/dist/dev/internal/skins/scaffold-live-video/register.js.map +1 -0
  329. package/dist/dev/internal/skins/scaffold-live-video/skin.css +1943 -0
  330. package/dist/dev/internal/skins/scaffold-live-video/template.js +243 -0
  331. package/dist/dev/internal/skins/scaffold-live-video/template.js.map +1 -0
  332. package/dist/dev/internal/skins/scaffold-video/register.d.ts +62 -0
  333. package/dist/dev/internal/skins/scaffold-video/register.js +117 -0
  334. package/dist/dev/internal/skins/scaffold-video/register.js.map +1 -0
  335. package/dist/dev/internal/skins/scaffold-video/skin.css +2183 -0
  336. package/dist/dev/internal/skins/scaffold-video/template.js +463 -0
  337. package/dist/dev/internal/skins/scaffold-video/template.js.map +1 -0
  338. package/dist/dev/media/hls-audio/adapter.d.ts +1 -1
  339. package/dist/dev/media/hls-audio/adapter.js +1 -1
  340. package/dist/dev/media/hls-audio/adapter.js.map +1 -1
  341. package/dist/dev/media/hls-background-video/adapter.d.ts +1 -1
  342. package/dist/dev/media/hls-background-video/adapter.js +1 -1
  343. package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
  344. package/dist/dev/media/hls-video/adapter.d.ts +1 -1
  345. package/dist/dev/media/hls-video/adapter.js +1 -1
  346. package/dist/dev/media/hls-video/adapter.js.map +1 -1
  347. package/dist/dev/media/playerjs-video/adapter.d.ts +11 -0
  348. package/dist/dev/media/playerjs-video/adapter.js +61 -0
  349. package/dist/dev/media/playerjs-video/adapter.js.map +1 -0
  350. package/dist/dev/media/playerjs-video/index.d.ts +2 -0
  351. package/dist/dev/presets/audio/index.d.ts +2 -1
  352. package/dist/dev/presets/audio/index.js +2 -1
  353. package/dist/dev/presets/audio/scaffold-skin.d.ts +15 -0
  354. package/dist/dev/presets/audio/scaffold-skin.js +21 -0
  355. package/dist/dev/presets/audio/scaffold-skin.js.map +1 -0
  356. package/dist/dev/presets/background/skin.js +0 -2
  357. package/dist/dev/presets/background/skin.js.map +1 -1
  358. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  359. package/dist/dev/presets/live-audio/index.js +2 -1
  360. package/dist/dev/presets/live-audio/scaffold-skin.d.ts +15 -0
  361. package/dist/dev/presets/live-audio/scaffold-skin.js +21 -0
  362. package/dist/dev/presets/live-audio/scaffold-skin.js.map +1 -0
  363. package/dist/dev/presets/live-video/index.d.ts +2 -1
  364. package/dist/dev/presets/live-video/index.js +2 -1
  365. package/dist/dev/presets/live-video/scaffold-skin.d.ts +15 -0
  366. package/dist/dev/presets/live-video/scaffold-skin.js +21 -0
  367. package/dist/dev/presets/live-video/scaffold-skin.js.map +1 -0
  368. package/dist/dev/presets/skin.js +0 -11
  369. package/dist/dev/presets/skin.js.map +1 -1
  370. package/dist/dev/presets/video/index.d.ts +2 -1
  371. package/dist/dev/presets/video/index.js +2 -1
  372. package/dist/dev/presets/video/scaffold-skin.d.ts +15 -0
  373. package/dist/dev/presets/video/scaffold-skin.js +21 -0
  374. package/dist/dev/presets/video/scaffold-skin.js.map +1 -0
  375. package/dist/dev/ui/slider/element.js +3 -1
  376. package/dist/dev/ui/slider/element.js.map +1 -1
  377. package/dist/dev/ui/time-slider/element.js +45 -9
  378. package/dist/dev/ui/time-slider/element.js.map +1 -1
  379. package/dist/dev/ui/volume-slider/element.js +3 -1
  380. package/dist/dev/ui/volume-slider/element.js.map +1 -1
  381. package/dist/dev/version.js +1 -1
  382. package/docs/README.md +1 -1
  383. package/docs/guides/browser-support.md +11 -11
  384. package/docs/guides/build-with-ai.md +1 -1
  385. package/docs/guides/build-your-own-skin.md +381 -0
  386. package/docs/guides/cdn.md +9 -9
  387. package/docs/guides/customize-skins.md +2 -1
  388. package/docs/guides/installation-cdn.md +4 -4
  389. package/docs/guides/installation-shadcn.md +3 -3
  390. package/docs/guides/installation-svelte.md +5 -5
  391. package/docs/guides/installation-vue.md +5 -5
  392. package/docs/guides/installation.md +5 -5
  393. package/docs/guides/internationalization.md +5 -5
  394. package/docs/guides/llms.txt +3 -2
  395. package/docs/guides/media-sources.md +1 -0
  396. package/docs/guides/migrate-from-media-chrome.md +4 -4
  397. package/docs/guides/migrate-from-mux-player.md +6 -6
  398. package/docs/guides/migrate-from-plyr.md +7 -7
  399. package/docs/guides/migrate-from-video-js-8.md +15 -7
  400. package/docs/guides/migrate-from-vidstack.md +3 -3
  401. package/docs/guides/migrate.md +2 -1
  402. package/docs/guides/presets.md +4 -4
  403. package/docs/guides/self-hosting.md +11 -8
  404. package/docs/guides/skins.md +6 -5
  405. package/docs/guides/v10-roadmap.md +2 -2
  406. package/docs/guides/why-videojs.md +3 -3
  407. package/docs/llms.txt +9 -3
  408. package/docs/reference/api/error-codes.md +1 -1
  409. package/docs/reference/api/llms.txt +1 -1
  410. package/docs/reference/api/preset-audio.md +1 -1
  411. package/docs/reference/api/preset-background.md +1 -1
  412. package/docs/reference/api/preset-live-audio.md +1 -1
  413. package/docs/reference/api/preset-live-video.md +1 -1
  414. package/docs/reference/api/preset-video.md +1 -1
  415. package/docs/reference/api/vjs8-legacy-init.md +2 -2
  416. package/docs/reference/components/audio-neutral-skin.md +1 -1
  417. package/docs/reference/components/audio-scaffold-skin.md +39 -0
  418. package/docs/reference/components/audio-skin.md +1 -1
  419. package/docs/reference/components/background-video-skin.md +1 -1
  420. package/docs/reference/components/background-video.md +1 -1
  421. package/docs/reference/components/cloudflare-video.md +1 -1
  422. package/docs/reference/components/dash-video.md +1 -1
  423. package/docs/reference/components/google-cast.md +1 -1
  424. package/docs/reference/components/hls-audio.md +2 -47
  425. package/docs/reference/components/hls-background-video.md +1 -1
  426. package/docs/reference/components/hls-video.md +7 -60
  427. package/docs/reference/components/hlsjs-video.md +11 -1
  428. package/docs/reference/components/icons.md +2 -1
  429. package/docs/reference/components/live-audio-neutral-skin.md +1 -1
  430. package/docs/reference/components/live-audio-scaffold-skin.md +41 -0
  431. package/docs/reference/components/live-audio-skin.md +1 -1
  432. package/docs/reference/components/live-video-neutral-skin.md +1 -1
  433. package/docs/reference/components/live-video-scaffold-skin.md +47 -0
  434. package/docs/reference/components/live-video-skin.md +1 -1
  435. package/docs/reference/components/llms.txt +6 -1
  436. package/docs/reference/components/mux-audio.md +1 -1
  437. package/docs/reference/components/mux-background-video.md +1 -1
  438. package/docs/reference/components/mux-data.md +4 -2
  439. package/docs/reference/components/mux-video.md +1 -1
  440. package/docs/reference/components/native-hls-video.md +1 -1
  441. package/docs/reference/components/playerjs-video.md +197 -0
  442. package/docs/reference/components/shaka-video.md +1 -1
  443. package/docs/reference/components/slider.md +2 -0
  444. package/docs/reference/components/spotify-audio.md +1 -1
  445. package/docs/reference/components/tiktok-video.md +1 -1
  446. package/docs/reference/components/time-slider.md +7 -5
  447. package/docs/reference/components/twitch-video.md +1 -1
  448. package/docs/reference/components/video-neutral-skin.md +1 -1
  449. package/docs/reference/components/video-scaffold-skin.md +51 -0
  450. package/docs/reference/components/video-skin.md +1 -1
  451. package/docs/reference/components/vimeo-video.md +1 -1
  452. package/docs/reference/components/volume-slider.md +8 -6
  453. package/docs/reference/components/wistia-video.md +5 -1
  454. package/docs/reference/components/youtube-video.md +2 -2
  455. package/package.json +46 -42
@@ -263,6 +263,43 @@
263
263
  overflow: hidden;
264
264
  }
265
265
 
266
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button {
267
+ align-items: center;
268
+ gap: calc(var(--media-spacing) * 1.5);
269
+ font-size: calc(var(--media-spacing) * 2.75);
270
+ letter-spacing: .05em;
271
+ text-transform: uppercase;
272
+ grid-auto-flow: column;
273
+ font-weight: 600;
274
+ width: auto !important;
275
+ padding-inline: calc(var(--media-spacing) * 2.5) !important;
276
+ }
277
+
278
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button-dot {
279
+ width: calc(var(--media-spacing) * 2);
280
+ height: calc(var(--media-spacing) * 2);
281
+ opacity: .4;
282
+ transition-property: background-color, opacity;
283
+ transition-duration: .15s;
284
+ transition-duration: var(--media-duration);
285
+ background-color: currentColor;
286
+ border-radius: 9999px;
287
+ flex-shrink: 0;
288
+ transition-timing-function: cubic-bezier(0, 0, .2, 1);
289
+ display: inline-block;
290
+ }
291
+
292
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button)[data-live-edge] .media-live-button-dot {
293
+ opacity: 1;
294
+ background-color: #f43f5e;
295
+ }
296
+
297
+ @media (prefers-reduced-motion: reduce) {
298
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button-dot {
299
+ transition-property: none;
300
+ }
301
+ }
302
+
266
303
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-popup {
267
304
  color: inherit;
268
305
  border-style: solid;
@@ -409,66 +446,6 @@
409
446
  }
410
447
  }
411
448
 
412
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) :where(.media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-enter-icon, :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-airplay-button-exit-icon {
413
- display: none;
414
- }
415
-
416
- :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-exit-icon {
417
- display: block;
418
- }
419
-
420
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-button-icon {
421
- width: calc(var(--media-spacing) * 4.5);
422
- height: calc(var(--media-spacing) * 4.5);
423
- grid-row-start: 1;
424
- grid-column-start: 1;
425
- }
426
-
427
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) :where(.media-captions-button)[data-active] .media-captions-button-off-icon, :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-captions-button-on-icon {
428
- display: none;
429
- }
430
-
431
- :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-captions-button)[data-active] .media-captions-button-on-icon {
432
- display: block;
433
- }
434
-
435
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button {
436
- align-items: center;
437
- gap: calc(var(--media-spacing) * 1.5);
438
- font-size: calc(var(--media-spacing) * 2.75);
439
- letter-spacing: .05em;
440
- text-transform: uppercase;
441
- grid-auto-flow: column;
442
- font-weight: 600;
443
- width: auto !important;
444
- padding-inline: calc(var(--media-spacing) * 2.5) !important;
445
- }
446
-
447
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button-dot {
448
- width: calc(var(--media-spacing) * 2);
449
- height: calc(var(--media-spacing) * 2);
450
- opacity: .4;
451
- transition-property: background-color, opacity;
452
- transition-duration: .15s;
453
- transition-duration: var(--media-duration);
454
- background-color: currentColor;
455
- border-radius: 9999px;
456
- flex-shrink: 0;
457
- transition-timing-function: cubic-bezier(0, 0, .2, 1);
458
- display: inline-block;
459
- }
460
-
461
- :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button)[data-live-edge] .media-live-button-dot {
462
- opacity: 1;
463
- background-color: #f43f5e;
464
- }
465
-
466
- @media (prefers-reduced-motion: reduce) {
467
- :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-live-button-dot {
468
- transition-property: none;
469
- }
470
- }
471
-
472
449
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-button-icon-base {
473
450
  width: calc(var(--media-spacing) * 4.5);
474
451
  height: calc(var(--media-spacing) * 4.5);
@@ -781,6 +758,13 @@
781
758
  display: block;
782
759
  }
783
760
 
761
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-button-icon {
762
+ width: calc(var(--media-spacing) * 4.5);
763
+ height: calc(var(--media-spacing) * 4.5);
764
+ grid-row-start: 1;
765
+ grid-column-start: 1;
766
+ }
767
+
784
768
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .media-mute-button-high-icon {
785
769
  display: none;
786
770
  }
@@ -903,6 +887,24 @@
903
887
  }
904
888
  }
905
889
 
890
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-backdrop {
891
+ pointer-events: none;
892
+ z-index: 10;
893
+ background-image: linear-gradient(to top, #000000b3, #0003, #00000080);
894
+ position: absolute;
895
+ inset: 0;
896
+ }
897
+
898
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-buffering):not([data-visible]) .video-controls-backdrop:not([data-visible]) {
899
+ display: none;
900
+ }
901
+
902
+ @media (forced-colors: active) {
903
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-backdrop {
904
+ background-image: none;
905
+ }
906
+ }
907
+
906
908
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-bottom {
907
909
  pointer-events: auto;
908
910
  inset-inline: calc(var(--media-spacing) * 2);
@@ -949,6 +951,10 @@
949
951
  }
950
952
  }
951
953
 
954
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-buffering {
955
+ display: contents;
956
+ }
957
+
952
958
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-center {
953
959
  pointer-events: auto;
954
960
  align-items: center;
@@ -970,6 +976,10 @@
970
976
  transition-duration: var(--media-duration);
971
977
  }
972
978
 
979
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-buffering)[data-visible] .video-controls-center {
980
+ display: none !important;
981
+ }
982
+
973
983
  @media (prefers-reduced-motion: no-preference) {
974
984
  :where(:where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-content):not([data-visible]) .video-controls-center {
975
985
  transform: translate(-50%, -50%) scale(.9);
@@ -1145,6 +1155,22 @@
1145
1155
  }
1146
1156
  }
1147
1157
 
1158
+ @container media-root (width < 42rem) {
1159
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-top {
1160
+ inset-inline-end: calc(var(--media-spacing) * 2);
1161
+ top: calc(var(--media-spacing) * 2);
1162
+ }
1163
+
1164
+ @media (forced-colors: active) {
1165
+ :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-top {
1166
+ padding-inline: calc(var(--media-spacing) * 2);
1167
+ padding-block: calc(var(--media-spacing) * 2);
1168
+ inset-inline-end: 0;
1169
+ top: 0;
1170
+ }
1171
+ }
1172
+ }
1173
+
1148
1174
  @media (forced-colors: active) {
1149
1175
  :where(.media-skin[data-theme="compat"][data-preset="live-audio"]) .video-controls-video-bottom {
1150
1176
  padding-inline: calc(var(--media-spacing) * 2);
@@ -17,12 +17,13 @@ const template = createTemplate(`<media-container class="media-skin media-contai
17
17
  </media-dialog-popup>
18
18
  </media-error-dialog>
19
19
  <media-controls visibility="always">
20
+ <media-buffering-indicator class="video-controls-buffering">
20
21
  <media-controls-content class="video-controls-content audio-controls-content">
21
22
  <media-tooltip-group>
22
23
  <div class="video-controls-bottom audio-controls-bottom">
23
24
  <media-controls-group class="video-controls-row">
24
25
  <media-controls-group class="video-controls-group video-controls-start">
25
- <media-play-button class="media-button media-play-button" id="vjs-q5W_U_lJ-0-trigger">
26
+ <media-play-button class="media-button media-play-button" id="vjs-vkMVyeox-0-trigger">
26
27
  <media-icon family="compat" name="restart" class="media-button-icon-base media-play-button-restart-icon">
27
28
  </media-icon>
28
29
  <media-icon family="compat" name="play" class="media-button-icon-base media-play-button-play-icon">
@@ -30,7 +31,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
30
31
  <media-icon family="compat" name="pause" class="media-button-icon-base media-play-button-pause-icon">
31
32
  </media-icon>
32
33
  </media-play-button>
33
- <media-tooltip trigger="vjs-q5W_U_lJ-0-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
34
+ <media-tooltip trigger="vjs-vkMVyeox-0-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
34
35
  <media-tooltip-label>
35
36
  </media-tooltip-label>
36
37
  <media-tooltip-shortcut class="media-tooltip-shortcut">
@@ -43,31 +44,19 @@ const template = createTemplate(`<media-container class="media-skin media-contai
43
44
  </media-live-button>
44
45
  </media-controls-group>
45
46
  <media-controls-group class="video-controls-group">
46
- <media-captions-button class="media-button media-captions-button" id="vjs-q5W_U_lJ-0-2-trigger">
47
- <media-icon family="compat" name="captions-off" class="media-button-icon media-captions-button-off-icon">
48
- </media-icon>
49
- <media-icon family="compat" name="captions-on" class="media-button-icon media-captions-button-on-icon">
50
- </media-icon>
51
- </media-captions-button>
52
- <media-tooltip trigger="vjs-q5W_U_lJ-0-2-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
53
- <media-tooltip-label>
54
- </media-tooltip-label>
55
- <media-tooltip-shortcut class="media-tooltip-shortcut">
56
- </media-tooltip-shortcut>
57
- </media-tooltip>
58
- <media-mute-button commandfor="vjs-KxTx8gmk-0-popup" class="media-button media-mute-button" id="vjs-q5W_U_lJ-0-3-trigger">
47
+ <media-mute-button commandfor="vjs-UWQs13wo-0-popup" class="media-button media-mute-button" id="vjs-vkMVyeox-0-2-trigger">
59
48
  <media-icon family="compat" name="volume-off" class="media-button-icon media-mute-button-off-icon">
60
49
  </media-icon>
61
50
  <media-icon family="compat" name="volume-high" class="media-button-icon media-mute-button-high-icon">
62
51
  </media-icon>
63
52
  </media-mute-button>
64
- <media-tooltip trigger="vjs-q5W_U_lJ-0-3-trigger" delay="0" disabled side="top" sticky class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
53
+ <media-tooltip trigger="vjs-vkMVyeox-0-2-trigger" delay="0" disabled side="top" sticky class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
65
54
  <media-tooltip-label>
66
55
  </media-tooltip-label>
67
56
  <media-tooltip-shortcut class="media-tooltip-shortcut">
68
57
  </media-tooltip-shortcut>
69
58
  </media-tooltip>
70
- <media-volume-popover open-on-hover delay="200" close-delay="100" side="top" class="media-popup media-popup-safe-area media-popup-transition media-volume-popover-popup" id="vjs-KxTx8gmk-0-popup">
59
+ <media-volume-popover open-on-hover delay="200" close-delay="100" side="top" class="media-popup media-popup-safe-area media-popup-transition media-volume-popover-popup" id="vjs-UWQs13wo-0-popup">
71
60
  <media-volume-slider class="media-volume-slider" orientation="vertical" thumb-alignment="edge">
72
61
  <media-slider-track class="media-volume-slider-track">
73
62
  <media-slider-fill class="media-volume-slider-fill">
@@ -77,23 +66,12 @@ const template = createTemplate(`<media-container class="media-skin media-contai
77
66
  </media-slider-thumb>
78
67
  </media-volume-slider>
79
68
  </media-volume-popover>
80
- <media-airplay-button class="media-button media-airplay-button" id="vjs-q5W_U_lJ-0-4-trigger">
81
- <media-icon family="compat" name="airplay-enter" class="media-button-icon media-airplay-button-enter-icon">
82
- </media-icon>
83
- <media-icon family="compat" name="airplay-exit" class="media-button-icon media-airplay-button-exit-icon">
84
- </media-icon>
85
- </media-airplay-button>
86
- <media-tooltip trigger="vjs-q5W_U_lJ-0-4-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
87
- <media-tooltip-label>
88
- </media-tooltip-label>
89
- <media-tooltip-shortcut class="media-tooltip-shortcut">
90
- </media-tooltip-shortcut>
91
- </media-tooltip>
92
69
  </media-controls-group>
93
70
  </media-controls-group>
94
71
  </div>
95
72
  </media-tooltip-group>
96
73
  </media-controls-content>
74
+ </media-buffering-indicator>
97
75
  </media-controls>
98
76
  <media-hotkey keys="Space" action="togglePaused">
99
77
  </media-hotkey>
@@ -84,7 +84,7 @@
84
84
  :where(.media-skin) {
85
85
  --media-caption-track-duration: var(--media-duration-controls);
86
86
  --media-caption-track-delay: 25ms;
87
- --media-caption-track-y: calc(var(--media-spacing) * -2);
87
+ --media-caption-track-y: calc(var(--media-spacing) * -3);
88
88
  }
89
89
 
90
90
  :where(.media-skin) video::-webkit-media-text-track-container {
@@ -107,9 +107,13 @@
107
107
  transition-property: transform;
108
108
  }
109
109
 
110
- @container media-root (width >= 42rem) {
110
+ @container media-root (width < 42rem) {
111
+ :where(.media-skin)[data-theme="default"][data-controls-visible] video {
112
+ --media-caption-track-y: calc(var(--media-spacing) * -14);
113
+ }
114
+
111
115
  :where(.media-skin)[data-theme="neutral"][data-controls-visible] video {
112
- --media-caption-track-y: calc(var(--media-spacing) * -12);
116
+ --media-caption-track-y: calc(var(--media-spacing) * -17);
113
117
  }
114
118
  }
115
119
 
@@ -482,7 +486,7 @@
482
486
 
483
487
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-title {
484
488
  pointer-events: none;
485
- inset-inline-start: calc(var(--media-spacing) * 6);
489
+ inset-inline-start: calc(var(--media-spacing) * 5);
486
490
  inset-inline-end: calc(var(--media-spacing) * 34);
487
491
  top: calc(var(--media-spacing) * 4);
488
492
  z-index: 20;
@@ -531,6 +535,12 @@
531
535
  }
532
536
  }
533
537
 
538
+ @container media-root (width < 42rem) {
539
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-title {
540
+ top: calc(var(--media-spacing) * 3.5);
541
+ }
542
+ }
543
+
534
544
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-poster {
535
545
  width: 100%;
536
546
  height: 100%;
@@ -551,6 +561,7 @@
551
561
 
552
562
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-buffering-indicator {
553
563
  pointer-events: none;
564
+ z-index: 20;
554
565
  place-items: center;
555
566
  display: grid;
556
567
  position: absolute;
@@ -899,14 +910,6 @@
899
910
  display: flex;
900
911
  }
901
912
 
902
- :where(.media-skin[data-theme="compat"][data-preset="live-video"]) :where(.media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-enter-icon, :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-airplay-button-exit-icon {
903
- display: none;
904
- }
905
-
906
- :where(:where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-exit-icon {
907
- display: block;
908
- }
909
-
910
913
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-live-button {
911
914
  align-items: center;
912
915
  gap: calc(var(--media-spacing) * 1.5);
@@ -1378,6 +1381,24 @@
1378
1381
  }
1379
1382
  }
1380
1383
 
1384
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-backdrop {
1385
+ pointer-events: none;
1386
+ z-index: 10;
1387
+ background-image: linear-gradient(to top, #000000b3, #0003, #00000080);
1388
+ position: absolute;
1389
+ inset: 0;
1390
+ }
1391
+
1392
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-buffering):not([data-visible]) .video-controls-backdrop:not([data-visible]) {
1393
+ display: none;
1394
+ }
1395
+
1396
+ @media (forced-colors: active) {
1397
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-backdrop {
1398
+ background-image: none;
1399
+ }
1400
+ }
1401
+
1381
1402
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-bottom {
1382
1403
  pointer-events: auto;
1383
1404
  inset-inline: calc(var(--media-spacing) * 2);
@@ -1424,6 +1445,10 @@
1424
1445
  }
1425
1446
  }
1426
1447
 
1448
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-buffering {
1449
+ display: contents;
1450
+ }
1451
+
1427
1452
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-center {
1428
1453
  pointer-events: auto;
1429
1454
  align-items: center;
@@ -1445,6 +1470,10 @@
1445
1470
  transition-duration: var(--media-duration);
1446
1471
  }
1447
1472
 
1473
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-buffering)[data-visible] .video-controls-center {
1474
+ display: none !important;
1475
+ }
1476
+
1448
1477
  @media (prefers-reduced-motion: no-preference) {
1449
1478
  :where(:where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-content):not([data-visible]) .video-controls-center {
1450
1479
  transform: translate(-50%, -50%) scale(.9);
@@ -1620,6 +1649,22 @@
1620
1649
  }
1621
1650
  }
1622
1651
 
1652
+ @container media-root (width < 42rem) {
1653
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-top {
1654
+ inset-inline-end: calc(var(--media-spacing) * 2);
1655
+ top: calc(var(--media-spacing) * 2);
1656
+ }
1657
+
1658
+ @media (forced-colors: active) {
1659
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-top {
1660
+ padding-inline: calc(var(--media-spacing) * 2);
1661
+ padding-block: calc(var(--media-spacing) * 2);
1662
+ inset-inline-end: 0;
1663
+ top: 0;
1664
+ }
1665
+ }
1666
+ }
1667
+
1623
1668
  @media (forced-colors: active) {
1624
1669
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-video-bottom {
1625
1670
  padding-inline: calc(var(--media-spacing) * 2);
@@ -1729,6 +1774,14 @@
1729
1774
  inset: auto !important;
1730
1775
  }
1731
1776
 
1777
+ :where(.media-skin[data-theme="compat"][data-preset="live-video"]) :where(.media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-enter-icon, :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-airplay-button-exit-icon {
1778
+ display: none;
1779
+ }
1780
+
1781
+ :where(:where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-exit-icon {
1782
+ display: block;
1783
+ }
1784
+
1732
1785
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-tooltip-screen-popup {
1733
1786
  --media-tooltip-side-offset: 8px !important;
1734
1787
  }
@@ -1765,23 +1818,6 @@
1765
1818
  display: block;
1766
1819
  }
1767
1820
 
1768
- :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-backdrop {
1769
- pointer-events: none;
1770
- background-image: linear-gradient(to top, #000000b3, #0003, #00000080);
1771
- position: absolute;
1772
- inset: 0;
1773
- }
1774
-
1775
- :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-backdrop:not([data-visible]) {
1776
- display: none;
1777
- }
1778
-
1779
- @media (forced-colors: active) {
1780
- :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .video-controls-backdrop {
1781
- background-image: none;
1782
- }
1783
- }
1784
-
1785
1821
  :where(.media-skin[data-theme="compat"][data-preset="live-video"]) .media-container, :where(.media-skin[data-theme="compat"][data-preset="live-video"]).media-container {
1786
1822
  border-radius: var(--media-video-border-radius);
1787
1823
  width: 100%;
@@ -1955,7 +1991,7 @@
1955
1991
  color-mix(in oklab, var(--media-backdrop) 40%, transparent),
1956
1992
  color-mix(in oklab, var(--media-backdrop) 20%, transparent),
1957
1993
  color-mix(in oklab, var(--media-backdrop) 50%, transparent));
1958
- --media-caption-controls-y: calc(var(--media-spacing) * -14);
1994
+ --media-caption-controls-y: calc(var(--media-spacing) * -16);
1959
1995
  --media-slider-preview-offset: calc(var(--media-spacing) * 9);
1960
1996
  --media-thumbnail-gradient: linear-gradient(to top,
1961
1997
  color-mix(in oklab, var(--media-backdrop) 50%, transparent),
@@ -1990,10 +2026,18 @@
1990
2026
  color-mix(in oklab, var(--media-backdrop) 35%, transparent),
1991
2027
  color-mix(in oklab, var(--media-backdrop) 20%, transparent) calc(var(--media-spacing) * 12),
1992
2028
  transparent);
1993
- --media-caption-controls-y: calc(var(--media-spacing) * -18);
2029
+ --media-caption-controls-y: calc(var(--media-spacing) * -14);
1994
2030
  --media-slider-preview-offset: calc(var(--media-spacing) * 11);
1995
2031
  }
1996
2032
 
2033
+ .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="compat"] {
2034
+ --media-caption-controls-y: calc(var(--media-spacing) * -18);
2035
+ }
2036
+
2037
+ .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="scaffold"] {
2038
+ --media-caption-controls-y: calc(var(--media-spacing) * -20);
2039
+ }
2040
+
1997
2041
  @supports (color: oklch(from red l c h)) and (background-image: linear-gradient(in oklab, red, red)) {
1998
2042
  .media-skin:is([data-preset="video"], [data-preset="live-video"])[data-theme="neutral"] {
1999
2043
  --media-controls-gradient: linear-gradient(to top in oklab,
@@ -28,54 +28,55 @@ const template = createTemplate(`<media-container class="media-skin media-contai
28
28
  <media-title class="media-title">
29
29
  </media-title>
30
30
  <media-controls>
31
+ <media-buffering-indicator class="video-controls-buffering">
31
32
  <media-controls-backdrop class="video-controls-backdrop">
32
33
  </media-controls-backdrop>
33
34
  <media-controls-content class="video-controls-content">
34
35
  <media-tooltip-group>
35
36
  <media-controls-group class="video-controls-top">
36
- <media-airplay-button class="media-button media-airplay-button" id="vjs-DzQ7xA3l-0-trigger">
37
+ <media-airplay-button class="media-button media-airplay-button" id="vjs-WvnGKrjP-0-trigger">
37
38
  <media-icon family="compat" name="airplay-enter" class="media-button-icon media-airplay-button-enter-icon">
38
39
  </media-icon>
39
40
  <media-icon family="compat" name="airplay-exit" class="media-button-icon media-airplay-button-exit-icon">
40
41
  </media-icon>
41
42
  </media-airplay-button>
42
- <media-tooltip trigger="vjs-DzQ7xA3l-0-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
43
+ <media-tooltip trigger="vjs-WvnGKrjP-0-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
43
44
  <media-tooltip-label>
44
45
  </media-tooltip-label>
45
46
  <media-tooltip-shortcut class="media-tooltip-shortcut">
46
47
  </media-tooltip-shortcut>
47
48
  </media-tooltip>
48
- <media-cast-button class="media-button media-cast-button" id="vjs-DzQ7xA3l-0-2-trigger">
49
+ <media-cast-button class="media-button media-cast-button" id="vjs-WvnGKrjP-0-2-trigger">
49
50
  <media-icon family="compat" name="cast-enter" class="media-button-icon media-cast-button-enter-icon">
50
51
  </media-icon>
51
52
  <media-icon family="compat" name="cast-exit" class="media-button-icon media-cast-button-exit-icon">
52
53
  </media-icon>
53
54
  </media-cast-button>
54
- <media-tooltip trigger="vjs-DzQ7xA3l-0-2-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
55
+ <media-tooltip trigger="vjs-WvnGKrjP-0-2-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
55
56
  <media-tooltip-label>
56
57
  </media-tooltip-label>
57
58
  <media-tooltip-shortcut class="media-tooltip-shortcut">
58
59
  </media-tooltip-shortcut>
59
60
  </media-tooltip>
60
- <media-pip-button class="media-button media-pip-button" id="vjs-DzQ7xA3l-0-3-trigger">
61
+ <media-pip-button class="media-button media-pip-button" id="vjs-WvnGKrjP-0-3-trigger">
61
62
  <media-icon family="compat" name="pip-enter" class="media-button-icon media-pip-button-enter-icon">
62
63
  </media-icon>
63
64
  <media-icon family="compat" name="pip-exit" class="media-button-icon media-pip-button-exit-icon">
64
65
  </media-icon>
65
66
  </media-pip-button>
66
- <media-tooltip trigger="vjs-DzQ7xA3l-0-3-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
67
+ <media-tooltip trigger="vjs-WvnGKrjP-0-3-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
67
68
  <media-tooltip-label>
68
69
  </media-tooltip-label>
69
70
  <media-tooltip-shortcut class="media-tooltip-shortcut">
70
71
  </media-tooltip-shortcut>
71
72
  </media-tooltip>
72
- <media-fullscreen-button class="media-button media-fullscreen-button" id="vjs-DzQ7xA3l-0-4-trigger">
73
+ <media-fullscreen-button class="media-button media-fullscreen-button" id="vjs-WvnGKrjP-0-4-trigger">
73
74
  <media-icon family="compat" name="fullscreen-enter" class="media-button-icon media-fullscreen-button-enter-icon">
74
75
  </media-icon>
75
76
  <media-icon family="compat" name="fullscreen-exit" class="media-button-icon media-fullscreen-button-exit-icon">
76
77
  </media-icon>
77
78
  </media-fullscreen-button>
78
- <media-tooltip trigger="vjs-DzQ7xA3l-0-4-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
79
+ <media-tooltip trigger="vjs-WvnGKrjP-0-4-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup media-tooltip-screen-popup">
79
80
  <media-tooltip-label>
80
81
  </media-tooltip-label>
81
82
  <media-tooltip-shortcut class="media-tooltip-shortcut">
@@ -83,7 +84,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
83
84
  </media-tooltip>
84
85
  </media-controls-group>
85
86
  <media-controls-group class="video-controls-center">
86
- <media-play-button class="media-button media-play-button video-controls-center-button video-controls-center-play" id="vjs-DzQ7xA3l-0-5-trigger">
87
+ <media-play-button class="media-button media-play-button video-controls-center-button video-controls-center-play" id="vjs-WvnGKrjP-0-5-trigger">
87
88
  <media-icon family="compat" name="restart" class="media-button-icon-base media-play-button-restart-icon video-controls-center-play-icon">
88
89
  </media-icon>
89
90
  <media-icon family="compat" name="play" class="media-button-icon-base media-play-button-play-icon video-controls-center-play-icon">
@@ -91,7 +92,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
91
92
  <media-icon family="compat" name="pause" class="media-button-icon-base media-play-button-pause-icon video-controls-center-play-icon">
92
93
  </media-icon>
93
94
  </media-play-button>
94
- <media-tooltip trigger="vjs-DzQ7xA3l-0-5-trigger" disabled side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
95
+ <media-tooltip trigger="vjs-WvnGKrjP-0-5-trigger" disabled side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
95
96
  <media-tooltip-label>
96
97
  </media-tooltip-label>
97
98
  <media-tooltip-shortcut class="media-tooltip-shortcut">
@@ -101,7 +102,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
101
102
  <div class="video-controls-bottom video-controls-video-bottom">
102
103
  <media-controls-group class="video-controls-row">
103
104
  <media-controls-group class="video-controls-group video-controls-start">
104
- <media-play-button class="media-button media-play-button" id="vjs-DzQ7xA3l-0-6-trigger">
105
+ <media-play-button class="media-button media-play-button" id="vjs-WvnGKrjP-0-6-trigger">
105
106
  <media-icon family="compat" name="restart" class="media-button-icon-base media-play-button-restart-icon">
106
107
  </media-icon>
107
108
  <media-icon family="compat" name="play" class="media-button-icon-base media-play-button-play-icon">
@@ -109,7 +110,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
109
110
  <media-icon family="compat" name="pause" class="media-button-icon-base media-play-button-pause-icon">
110
111
  </media-icon>
111
112
  </media-play-button>
112
- <media-tooltip trigger="vjs-DzQ7xA3l-0-6-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
113
+ <media-tooltip trigger="vjs-WvnGKrjP-0-6-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
113
114
  <media-tooltip-label>
114
115
  </media-tooltip-label>
115
116
  <media-tooltip-shortcut class="media-tooltip-shortcut">
@@ -120,19 +121,19 @@ const template = createTemplate(`<media-container class="media-skin media-contai
120
121
  </div>
121
122
  <media-text token="live.badge">Live</media-text>
122
123
  </media-live-button>
123
- <media-mute-button commandfor="vjs-lu9jnDMD-0-popup" class="media-button media-mute-button" id="vjs-DzQ7xA3l-0-7-trigger">
124
+ <media-mute-button commandfor="vjs-vjL9cA1N-0-popup" class="media-button media-mute-button" id="vjs-WvnGKrjP-0-7-trigger">
124
125
  <media-icon family="compat" name="volume-off" class="media-button-icon media-mute-button-off-icon">
125
126
  </media-icon>
126
127
  <media-icon family="compat" name="volume-high" class="media-button-icon media-mute-button-high-icon">
127
128
  </media-icon>
128
129
  </media-mute-button>
129
- <media-tooltip trigger="vjs-DzQ7xA3l-0-7-trigger" delay="0" disabled side="top" sticky class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
130
+ <media-tooltip trigger="vjs-WvnGKrjP-0-7-trigger" delay="0" disabled side="top" sticky class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
130
131
  <media-tooltip-label>
131
132
  </media-tooltip-label>
132
133
  <media-tooltip-shortcut class="media-tooltip-shortcut">
133
134
  </media-tooltip-shortcut>
134
135
  </media-tooltip>
135
- <media-volume-popover open-on-hover delay="200" close-delay="100" side="top" class="media-popup media-popup-safe-area media-popup-transition media-volume-popover-popup" id="vjs-lu9jnDMD-0-popup">
136
+ <media-volume-popover open-on-hover delay="200" close-delay="100" side="top" class="media-popup media-popup-safe-area media-popup-transition media-volume-popover-popup" id="vjs-vjL9cA1N-0-popup">
136
137
  <media-volume-slider class="media-volume-slider" orientation="vertical" thumb-alignment="edge">
137
138
  <media-slider-track class="media-volume-slider-track">
138
139
  <media-slider-fill class="media-volume-slider-fill">
@@ -144,19 +145,19 @@ const template = createTemplate(`<media-container class="media-skin media-contai
144
145
  </media-volume-popover>
145
146
  </media-controls-group>
146
147
  <media-controls-group class="video-controls-group">
147
- <media-captions-button commandfor="vjs-kVStkIHi-0-popup" class="media-button media-captions-button" id="vjs-DzQ7xA3l-0-8-trigger">
148
+ <media-captions-button commandfor="vjs-iDIj4hLJ-0-popup" class="media-button media-captions-button" id="vjs-WvnGKrjP-0-8-trigger">
148
149
  <media-icon family="compat" name="captions-off" class="media-button-icon media-captions-button-off-icon">
149
150
  </media-icon>
150
151
  <media-icon family="compat" name="captions-on" class="media-button-icon media-captions-button-on-icon">
151
152
  </media-icon>
152
153
  </media-captions-button>
153
- <media-tooltip trigger="vjs-DzQ7xA3l-0-8-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
154
+ <media-tooltip trigger="vjs-WvnGKrjP-0-8-trigger" side="top" class="media-popup media-popup-safe-area media-popup-transition media-tooltip-popup">
154
155
  <media-tooltip-label>
155
156
  </media-tooltip-label>
156
157
  <media-tooltip-shortcut class="media-tooltip-shortcut">
157
158
  </media-tooltip-shortcut>
158
159
  </media-tooltip>
159
- <media-menu side="top" align="center" class="media-popup media-popup-safe-area media-menu-popup" id="vjs-kVStkIHi-0-popup">
160
+ <media-menu side="top" align="center" class="media-popup media-popup-safe-area media-menu-popup" id="vjs-iDIj4hLJ-0-popup">
160
161
  <media-menu-content class="media-menu-content">
161
162
  <media-captions-radio-group class="media-menu-radio-group">
162
163
  <template>
@@ -177,6 +178,7 @@ const template = createTemplate(`<media-container class="media-skin media-contai
177
178
  </div>
178
179
  </media-tooltip-group>
179
180
  </media-controls-content>
181
+ </media-buffering-indicator>
180
182
  </media-controls>
181
183
  <media-hotkey keys="Space" action="togglePaused">
182
184
  </media-hotkey>