@videojs/html 10.0.0-rc.4 → 10.0.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 (1021) hide show
  1. package/README.md +0 -2
  2. package/dist/default/define/audio/compat-skin.css +1923 -0
  3. package/dist/default/define/audio/compat-skin.js +6 -0
  4. package/dist/default/define/audio/compat-skin2.js +4 -0
  5. package/dist/default/define/audio/neutral-skin.css +1855 -0
  6. package/dist/default/define/audio/neutral-skin.js +6 -0
  7. package/dist/default/define/audio/neutral-skin2.js +4 -0
  8. package/dist/default/define/audio/{minimal-ui.js → neutral-ui.js} +1 -1
  9. package/dist/default/define/audio/skin.css +1220 -1411
  10. package/dist/default/define/audio/skin2.js +1 -1
  11. package/dist/default/define/background/skin.css +8 -19
  12. package/dist/default/define/global.css +5 -21
  13. package/dist/default/define/live-audio/compat-skin.css +1708 -0
  14. package/dist/default/define/live-audio/compat-skin.js +6 -0
  15. package/dist/default/define/live-audio/compat-skin2.js +4 -0
  16. package/dist/default/define/live-audio/neutral-skin.css +1270 -0
  17. package/dist/default/define/live-audio/neutral-skin.js +6 -0
  18. package/dist/default/define/live-audio/neutral-skin2.js +4 -0
  19. package/dist/default/define/live-audio/{minimal-ui.js → neutral-ui.js} +1 -1
  20. package/dist/default/define/live-audio/skin.css +849 -959
  21. package/dist/default/define/live-audio/skin2.js +1 -1
  22. package/dist/default/define/live-video/compat-skin.css +2251 -0
  23. package/dist/default/define/live-video/compat-skin.js +6 -0
  24. package/dist/default/define/live-video/compat-skin2.js +4 -0
  25. package/dist/default/define/live-video/neutral-skin.css +2101 -0
  26. package/dist/default/define/live-video/neutral-skin.js +6 -0
  27. package/dist/default/define/live-video/neutral-skin2.js +4 -0
  28. package/dist/default/define/live-video/{minimal-ui.js → neutral-ui.js} +1 -1
  29. package/dist/default/define/live-video/skin.css +1565 -1784
  30. package/dist/default/define/live-video/skin2.js +1 -1
  31. package/dist/default/define/media/dash-video.js +5 -1
  32. package/dist/default/define/media/shaka-video.js +1 -0
  33. package/dist/default/define/shadow.css +2 -12
  34. package/dist/default/define/video/compat-skin.css +2529 -0
  35. package/dist/default/define/video/compat-skin.js +6 -0
  36. package/dist/default/define/video/compat-skin2.js +4 -0
  37. package/dist/default/define/video/neutral-skin.css +2849 -0
  38. package/dist/default/define/video/neutral-skin.js +6 -0
  39. package/dist/default/define/video/neutral-skin2.js +4 -0
  40. package/dist/default/define/video/{minimal-ui.js → neutral-ui.js} +1 -1
  41. package/dist/default/define/video/skin.css +2046 -2454
  42. package/dist/default/define/video/skin2.js +1 -1
  43. package/dist/default/extensions/google-cast/extension.js +18 -17
  44. package/dist/default/extensions/mux-data/extension.js +24 -24
  45. package/dist/default/extensions/player-extension-element.js +49 -0
  46. package/dist/default/i18n/index.js +2 -2
  47. package/dist/default/i18n/locale.js +10 -2
  48. package/dist/default/i18n/provider-element.js +1 -0
  49. package/dist/default/i18n/provider-mixin.js +11 -9
  50. package/dist/default/i18n/render-text.js +5 -1
  51. package/dist/default/i18n/text/airplay.js +1 -0
  52. package/dist/default/i18n/text/buttons.js +1 -0
  53. package/dist/default/i18n/text/captions.js +1 -0
  54. package/dist/default/i18n/text/cast.js +1 -0
  55. package/dist/default/i18n/text/common.js +1 -0
  56. package/dist/default/i18n/text/container.js +1 -0
  57. package/dist/default/i18n/text/errors.js +1 -0
  58. package/dist/default/i18n/text/fullscreen.js +1 -0
  59. package/dist/default/i18n/text/live.js +1 -0
  60. package/dist/default/i18n/text/menu.js +1 -0
  61. package/dist/default/i18n/text/pip.js +1 -0
  62. package/dist/default/i18n/text/playback.js +1 -0
  63. package/dist/default/i18n/text/seek.js +1 -0
  64. package/dist/default/i18n/text/slider.js +1 -0
  65. package/dist/default/i18n/text/status.js +1 -0
  66. package/dist/default/i18n/text/time.js +1 -0
  67. package/dist/default/i18n/text/volume.js +1 -0
  68. package/dist/default/icons/compat/index.js +26 -0
  69. package/dist/default/icons/dist/element/compat/icons.js +30 -0
  70. package/dist/default/icons/dist/element/{minimal → compat}/index.js +2 -2
  71. package/dist/default/icons/dist/element/index.js +2 -1
  72. package/dist/default/icons/dist/element/{minimal → neutral}/icons.js +1 -1
  73. package/dist/default/icons/dist/element/neutral/index.js +8 -0
  74. package/dist/default/icons/dist/html/compat/airplay-enter.js +4 -0
  75. package/dist/default/icons/dist/html/compat/airplay-exit.js +4 -0
  76. package/dist/default/icons/dist/html/compat/captions-off.js +4 -0
  77. package/dist/default/icons/dist/html/compat/captions-on.js +4 -0
  78. package/dist/default/icons/dist/html/compat/cast-enter.js +4 -0
  79. package/dist/default/icons/dist/html/compat/cast-exit.js +4 -0
  80. package/dist/default/icons/dist/html/compat/check.js +4 -0
  81. package/dist/default/icons/dist/html/compat/chevron.js +4 -0
  82. package/dist/default/icons/dist/html/compat/fullscreen-enter.js +4 -0
  83. package/dist/default/icons/dist/html/compat/fullscreen-exit.js +4 -0
  84. package/dist/default/icons/dist/html/compat/gear.js +4 -0
  85. package/dist/default/icons/dist/html/compat/pause.js +4 -0
  86. package/dist/default/icons/dist/html/compat/pip-enter.js +4 -0
  87. package/dist/default/icons/dist/html/compat/pip-exit.js +4 -0
  88. package/dist/default/icons/dist/html/compat/play.js +4 -0
  89. package/dist/default/icons/dist/html/compat/quality.js +4 -0
  90. package/dist/default/icons/dist/html/compat/restart.js +4 -0
  91. package/dist/default/icons/dist/html/compat/seek.js +4 -0
  92. package/dist/default/icons/dist/html/compat/speech.js +4 -0
  93. package/dist/default/icons/dist/html/compat/speed.js +4 -0
  94. package/dist/default/icons/dist/html/{minimal → compat}/spinner.js +1 -1
  95. package/dist/default/icons/dist/html/compat/switches.js +4 -0
  96. package/dist/default/icons/dist/html/compat/volume-high.js +4 -0
  97. package/dist/default/icons/dist/html/compat/volume-low.js +4 -0
  98. package/dist/default/icons/dist/html/compat/volume-off.js +4 -0
  99. package/dist/default/icons/dist/html/{minimal → neutral}/airplay-enter.js +1 -1
  100. package/dist/default/icons/dist/html/{minimal → neutral}/airplay-exit.js +1 -1
  101. package/dist/default/icons/dist/html/{minimal → neutral}/captions-off.js +1 -1
  102. package/dist/default/icons/dist/html/{minimal → neutral}/captions-on.js +1 -1
  103. package/dist/default/icons/dist/html/{minimal → neutral}/cast-enter.js +1 -1
  104. package/dist/default/icons/dist/html/{minimal → neutral}/cast-exit.js +1 -1
  105. package/dist/default/icons/dist/html/{minimal → neutral}/check.js +1 -1
  106. package/dist/default/icons/dist/html/{minimal → neutral}/chevron.js +1 -1
  107. package/dist/default/icons/dist/html/{minimal → neutral}/fullscreen-enter.js +1 -1
  108. package/dist/default/icons/dist/html/{minimal → neutral}/fullscreen-exit.js +1 -1
  109. package/dist/default/icons/dist/html/{minimal → neutral}/gear.js +1 -1
  110. package/dist/default/icons/dist/html/{minimal → neutral}/pause.js +1 -1
  111. package/dist/default/icons/dist/html/{minimal → neutral}/pip-enter.js +1 -1
  112. package/dist/default/icons/dist/html/{minimal → neutral}/pip-exit.js +1 -1
  113. package/dist/default/icons/dist/html/{minimal → neutral}/play.js +1 -1
  114. package/dist/default/icons/dist/html/{minimal → neutral}/quality.js +1 -1
  115. package/dist/default/icons/dist/html/{minimal → neutral}/restart.js +1 -1
  116. package/dist/default/icons/dist/html/{minimal → neutral}/seek.js +1 -1
  117. package/dist/default/icons/dist/html/{minimal → neutral}/speech.js +1 -1
  118. package/dist/default/icons/dist/html/{minimal → neutral}/speed.js +1 -1
  119. package/dist/default/icons/dist/html/neutral/spinner.js +4 -0
  120. package/dist/default/icons/dist/html/{minimal → neutral}/switches.js +1 -1
  121. package/dist/default/icons/dist/html/{minimal → neutral}/volume-high.js +1 -1
  122. package/dist/default/icons/dist/html/{minimal → neutral}/volume-low.js +1 -1
  123. package/dist/default/icons/dist/html/{minimal → neutral}/volume-off.js +1 -1
  124. package/dist/default/icons/element/compat/index.js +1 -0
  125. package/dist/default/icons/element/neutral/index.js +1 -0
  126. package/dist/default/icons/neutral/index.js +26 -0
  127. package/dist/default/index.js +4 -3
  128. package/dist/default/internal/skins/compat-audio/register.js +70 -0
  129. package/dist/default/internal/skins/compat-audio/skin.css +1891 -0
  130. package/dist/default/internal/skins/compat-audio/template.js +215 -0
  131. package/dist/default/internal/skins/compat-live-audio/register.js +50 -0
  132. package/dist/default/internal/skins/compat-live-audio/skin.css +1676 -0
  133. package/dist/default/internal/skins/compat-live-audio/template.js +112 -0
  134. package/dist/default/internal/skins/compat-live-video/register.js +86 -0
  135. package/dist/default/internal/skins/compat-live-video/skin.css +2219 -0
  136. package/dist/default/internal/skins/compat-live-video/template.js +237 -0
  137. package/dist/default/internal/skins/compat-video/register.js +115 -0
  138. package/dist/default/internal/skins/compat-video/skin.css +2497 -0
  139. package/dist/default/internal/skins/compat-video/template.js +457 -0
  140. package/dist/default/internal/skins/default-audio/register.js +8 -8
  141. package/dist/default/internal/skins/default-audio/skin.css +1213 -1365
  142. package/dist/default/internal/skins/default-live-audio/register.js +4 -4
  143. package/dist/default/internal/skins/default-live-audio/skin.css +842 -913
  144. package/dist/default/internal/skins/default-live-video/register.js +8 -8
  145. package/dist/default/internal/skins/default-live-video/skin.css +1548 -1728
  146. package/dist/default/internal/skins/default-video/register.js +13 -13
  147. package/dist/default/internal/skins/default-video/skin.css +2034 -2403
  148. package/dist/default/internal/skins/{minimal-audio → neutral-audio}/register.js +20 -20
  149. package/dist/default/internal/skins/neutral-audio/skin.css +1823 -0
  150. package/dist/default/internal/skins/{minimal-audio → neutral-audio}/template.js +24 -24
  151. package/dist/default/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js +13 -13
  152. package/dist/default/internal/skins/neutral-live-audio/skin.css +1238 -0
  153. package/dist/default/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js +14 -14
  154. package/dist/default/internal/skins/{minimal-live-video → neutral-live-video}/register.js +28 -28
  155. package/dist/default/internal/skins/neutral-live-video/skin.css +2069 -0
  156. package/dist/default/internal/skins/{minimal-live-video → neutral-live-video}/template.js +47 -47
  157. package/dist/default/internal/skins/{minimal-video → neutral-video}/register.js +40 -40
  158. package/dist/default/internal/skins/neutral-video/skin.css +2817 -0
  159. package/dist/default/internal/skins/{minimal-video → neutral-video}/template.js +75 -75
  160. package/dist/default/player/context.js +9 -1
  161. package/dist/default/player/create-player.js +2 -1
  162. package/dist/default/player/element.js +47 -10
  163. package/dist/default/presets/audio/compat-skin.js +19 -0
  164. package/dist/default/presets/audio/index.js +3 -2
  165. package/dist/default/presets/audio/neutral-skin.js +19 -0
  166. package/dist/default/presets/live-audio/compat-skin.js +19 -0
  167. package/dist/default/presets/live-audio/index.js +3 -2
  168. package/dist/default/presets/live-audio/neutral-skin.js +19 -0
  169. package/dist/default/presets/live-video/compat-skin.js +19 -0
  170. package/dist/default/presets/live-video/index.js +3 -2
  171. package/dist/default/presets/live-video/neutral-skin.js +19 -0
  172. package/dist/default/presets/video/compat-skin.js +19 -0
  173. package/dist/default/presets/video/index.js +3 -2
  174. package/dist/default/presets/video/neutral-skin.js +19 -0
  175. package/dist/default/store/media-attach-mixin.js +2 -0
  176. package/dist/default/ui/airplay-button/element.js +1 -1
  177. package/dist/default/ui/buffering-indicator/element.js +4 -0
  178. package/dist/default/ui/dialog/context.js +1 -0
  179. package/dist/default/ui/dialog/element.js +4 -2
  180. package/dist/default/ui/media-button-element.js +7 -6
  181. package/dist/default/ui/media-ui-element.js +6 -1
  182. package/dist/default/ui/menu/context.js +2 -0
  183. package/dist/default/ui/play-button/element.js +1 -1
  184. package/dist/default/ui/playback-rate-button/element.js +4 -2
  185. package/dist/default/ui/popover/element.js +4 -2
  186. package/dist/default/ui/radio-group/context.js +1 -0
  187. package/dist/default/ui/seek-indicator/element.js +7 -1
  188. package/dist/default/ui/slider/context.js +1 -0
  189. package/dist/default/ui/status-indicator/element.js +14 -1
  190. package/dist/default/ui/text/element.js +1 -0
  191. package/dist/default/ui/thumbnail/element.js +3 -2
  192. package/dist/default/ui/tooltip/context.js +1 -0
  193. package/dist/default/ui/tooltip/element.js +4 -2
  194. package/dist/default/ui/volume-popover/element.js +1 -1
  195. package/dist/default/ui/volume-slider/element.js +1 -1
  196. package/dist/default/version.js +27 -0
  197. package/dist/dev/define/audio/compat-skin.css +1923 -0
  198. package/dist/dev/define/audio/compat-skin.d.ts +1 -0
  199. package/dist/dev/define/audio/compat-skin.js +8 -0
  200. package/dist/dev/define/audio/compat-skin.js.map +1 -0
  201. package/dist/dev/define/audio/compat-skin2.js +6 -0
  202. package/dist/dev/define/audio/compat-skin2.js.map +1 -0
  203. package/dist/dev/define/audio/neutral-skin.css +1855 -0
  204. package/dist/dev/define/audio/neutral-skin.d.ts +1 -0
  205. package/dist/dev/define/audio/neutral-skin.js +8 -0
  206. package/dist/dev/define/audio/neutral-skin.js.map +1 -0
  207. package/dist/dev/define/audio/neutral-skin2.js +6 -0
  208. package/dist/dev/define/audio/neutral-skin2.js.map +1 -0
  209. package/dist/dev/define/audio/{minimal-ui.js → neutral-ui.js} +2 -2
  210. package/dist/dev/define/audio/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
  211. package/dist/dev/define/audio/skin.css +1220 -1411
  212. package/dist/dev/define/audio/skin2.js +1 -1
  213. package/dist/dev/define/audio/skin2.js.map +1 -1
  214. package/dist/dev/define/background/skin.css +8 -19
  215. package/dist/dev/define/global.css +5 -21
  216. package/dist/dev/define/live-audio/compat-skin.css +1708 -0
  217. package/dist/dev/define/live-audio/compat-skin.d.ts +1 -0
  218. package/dist/dev/define/live-audio/compat-skin.js +8 -0
  219. package/dist/dev/define/live-audio/compat-skin.js.map +1 -0
  220. package/dist/dev/define/live-audio/compat-skin2.js +6 -0
  221. package/dist/dev/define/live-audio/compat-skin2.js.map +1 -0
  222. package/dist/dev/define/live-audio/neutral-skin.css +1270 -0
  223. package/dist/dev/define/live-audio/neutral-skin.d.ts +1 -0
  224. package/dist/dev/define/live-audio/neutral-skin.js +8 -0
  225. package/dist/dev/define/live-audio/neutral-skin.js.map +1 -0
  226. package/dist/dev/define/live-audio/neutral-skin2.js +6 -0
  227. package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -0
  228. package/dist/dev/define/live-audio/{minimal-ui.js → neutral-ui.js} +2 -2
  229. package/dist/dev/define/live-audio/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
  230. package/dist/dev/define/live-audio/skin.css +849 -959
  231. package/dist/dev/define/live-audio/skin2.js +1 -1
  232. package/dist/dev/define/live-audio/skin2.js.map +1 -1
  233. package/dist/dev/define/live-video/compat-skin.css +2251 -0
  234. package/dist/dev/define/live-video/compat-skin.d.ts +1 -0
  235. package/dist/dev/define/live-video/compat-skin.js +8 -0
  236. package/dist/dev/define/live-video/compat-skin.js.map +1 -0
  237. package/dist/dev/define/live-video/compat-skin2.js +6 -0
  238. package/dist/dev/define/live-video/compat-skin2.js.map +1 -0
  239. package/dist/dev/define/live-video/neutral-skin.css +2101 -0
  240. package/dist/dev/define/live-video/neutral-skin.d.ts +1 -0
  241. package/dist/dev/define/live-video/neutral-skin.js +8 -0
  242. package/dist/dev/define/live-video/neutral-skin.js.map +1 -0
  243. package/dist/dev/define/live-video/neutral-skin2.js +6 -0
  244. package/dist/dev/define/live-video/neutral-skin2.js.map +1 -0
  245. package/dist/dev/define/live-video/{minimal-ui.js → neutral-ui.js} +2 -2
  246. package/dist/dev/define/live-video/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
  247. package/dist/dev/define/live-video/skin.css +1565 -1784
  248. package/dist/dev/define/live-video/skin2.js +1 -1
  249. package/dist/dev/define/live-video/skin2.js.map +1 -1
  250. package/dist/dev/define/media/background-video.d.ts +1 -2
  251. package/dist/dev/define/media/cloudflare-video.d.ts +3 -2
  252. package/dist/dev/define/media/cloudflare-video.js.map +1 -1
  253. package/dist/dev/define/media/dash-video.d.ts +8 -3
  254. package/dist/dev/define/media/dash-video.js +5 -1
  255. package/dist/dev/define/media/dash-video.js.map +1 -1
  256. package/dist/dev/define/media/hls-audio.d.ts +1 -2
  257. package/dist/dev/define/media/hls-background-video.d.ts +1 -2
  258. package/dist/dev/define/media/hls-video.d.ts +1 -2
  259. package/dist/dev/define/media/hlsjs-video.d.ts +3 -2
  260. package/dist/dev/define/media/hlsjs-video.js.map +1 -1
  261. package/dist/dev/define/media/mux-audio/hls-js.d.ts +3 -2
  262. package/dist/dev/define/media/mux-audio/hls-js.js.map +1 -1
  263. package/dist/dev/define/media/mux-audio/index.d.ts +2 -2
  264. package/dist/dev/define/media/mux-audio/spf.d.ts +3 -2
  265. package/dist/dev/define/media/mux-audio/spf.js.map +1 -1
  266. package/dist/dev/define/media/mux-background-video.d.ts +1 -2
  267. package/dist/dev/define/media/mux-video/hls-js.d.ts +3 -2
  268. package/dist/dev/define/media/mux-video/hls-js.js.map +1 -1
  269. package/dist/dev/define/media/mux-video/index.d.ts +2 -2
  270. package/dist/dev/define/media/mux-video/spf.d.ts +3 -2
  271. package/dist/dev/define/media/mux-video/spf.js.map +1 -1
  272. package/dist/dev/define/media/native-hls-video.d.ts +3 -2
  273. package/dist/dev/define/media/native-hls-video.js.map +1 -1
  274. package/dist/dev/define/media/shaka-video.d.ts +4 -2
  275. package/dist/dev/define/media/shaka-video.js +1 -0
  276. package/dist/dev/define/media/shaka-video.js.map +1 -1
  277. package/dist/dev/define/media/spotify-audio.d.ts +3 -2
  278. package/dist/dev/define/media/spotify-audio.js.map +1 -1
  279. package/dist/dev/define/media/tiktok-video.d.ts +3 -2
  280. package/dist/dev/define/media/tiktok-video.js.map +1 -1
  281. package/dist/dev/define/media/twitch-video.d.ts +3 -2
  282. package/dist/dev/define/media/twitch-video.js.map +1 -1
  283. package/dist/dev/define/media/vimeo-video.d.ts +3 -2
  284. package/dist/dev/define/media/vimeo-video.js.map +1 -1
  285. package/dist/dev/define/media/wistia-video.d.ts +3 -2
  286. package/dist/dev/define/media/wistia-video.js.map +1 -1
  287. package/dist/dev/define/media/youtube-video.d.ts +3 -2
  288. package/dist/dev/define/media/youtube-video.js.map +1 -1
  289. package/dist/dev/define/shadow.css +2 -12
  290. package/dist/dev/define/ui/menu-radio-group.d.ts +1 -0
  291. package/dist/dev/define/ui/menu.d.ts +1 -0
  292. package/dist/dev/define/ui/popover.d.ts +1 -0
  293. package/dist/dev/define/video/compat-skin.css +2529 -0
  294. package/dist/dev/define/video/compat-skin.d.ts +1 -0
  295. package/dist/dev/define/video/compat-skin.js +8 -0
  296. package/dist/dev/define/video/compat-skin.js.map +1 -0
  297. package/dist/dev/define/video/compat-skin2.js +6 -0
  298. package/dist/dev/define/video/compat-skin2.js.map +1 -0
  299. package/dist/dev/define/video/neutral-skin.css +2849 -0
  300. package/dist/dev/define/video/neutral-skin.d.ts +1 -0
  301. package/dist/dev/define/video/neutral-skin.js +8 -0
  302. package/dist/dev/define/video/neutral-skin.js.map +1 -0
  303. package/dist/dev/define/video/neutral-skin2.js +6 -0
  304. package/dist/dev/define/video/neutral-skin2.js.map +1 -0
  305. package/dist/dev/define/video/{minimal-ui.js → neutral-ui.js} +2 -2
  306. package/dist/dev/define/video/{minimal-ui.js.map → neutral-ui.js.map} +1 -1
  307. package/dist/dev/define/video/skin.css +2046 -2454
  308. package/dist/dev/define/video/skin2.js +1 -1
  309. package/dist/dev/define/video/skin2.js.map +1 -1
  310. package/dist/dev/extensions/google-cast/extension.d.ts +8 -7
  311. package/dist/dev/extensions/google-cast/extension.js +18 -17
  312. package/dist/dev/extensions/google-cast/extension.js.map +1 -1
  313. package/dist/dev/extensions/mux-data/extension.d.ts +6 -6
  314. package/dist/dev/extensions/mux-data/extension.js +24 -24
  315. package/dist/dev/extensions/mux-data/extension.js.map +1 -1
  316. package/dist/dev/extensions/player-extension-element.d.ts +30 -0
  317. package/dist/dev/extensions/player-extension-element.js +51 -0
  318. package/dist/dev/extensions/player-extension-element.js.map +1 -0
  319. package/dist/dev/i18n/context.d.ts +4 -5
  320. package/dist/dev/i18n/controller.d.ts +3 -4
  321. package/dist/dev/i18n/controller.js.map +1 -1
  322. package/dist/dev/i18n/create-i18n.d.ts +3 -4
  323. package/dist/dev/i18n/index.d.ts +2 -2
  324. package/dist/dev/i18n/index.js +2 -2
  325. package/dist/dev/i18n/locale.d.ts +12 -5
  326. package/dist/dev/i18n/locale.js +10 -2
  327. package/dist/dev/i18n/locale.js.map +1 -1
  328. package/dist/dev/i18n/provider-element.d.ts +4 -3
  329. package/dist/dev/i18n/provider-element.js +1 -0
  330. package/dist/dev/i18n/provider-element.js.map +1 -1
  331. package/dist/dev/i18n/provider-mixin.d.ts +1 -2
  332. package/dist/dev/i18n/provider-mixin.js +11 -9
  333. package/dist/dev/i18n/provider-mixin.js.map +1 -1
  334. package/dist/dev/i18n/render-text.d.ts +6 -3
  335. package/dist/dev/i18n/render-text.js +5 -1
  336. package/dist/dev/i18n/render-text.js.map +1 -1
  337. package/dist/dev/i18n/text/airplay.d.ts +1 -0
  338. package/dist/dev/i18n/text/airplay.js +1 -0
  339. package/dist/dev/i18n/text/buttons.d.ts +1 -0
  340. package/dist/dev/i18n/text/buttons.js +1 -0
  341. package/dist/dev/i18n/text/captions.d.ts +1 -0
  342. package/dist/dev/i18n/text/captions.js +1 -0
  343. package/dist/dev/i18n/text/cast.d.ts +1 -0
  344. package/dist/dev/i18n/text/cast.js +1 -0
  345. package/dist/dev/i18n/text/common.d.ts +1 -0
  346. package/dist/dev/i18n/text/common.js +1 -0
  347. package/dist/dev/i18n/text/container.d.ts +1 -0
  348. package/dist/dev/i18n/text/container.js +1 -0
  349. package/dist/dev/i18n/text/errors.d.ts +1 -0
  350. package/dist/dev/i18n/text/errors.js +1 -0
  351. package/dist/dev/i18n/text/fullscreen.d.ts +1 -0
  352. package/dist/dev/i18n/text/fullscreen.js +1 -0
  353. package/dist/dev/i18n/text/live.d.ts +1 -0
  354. package/dist/dev/i18n/text/live.js +1 -0
  355. package/dist/dev/i18n/text/menu.d.ts +1 -0
  356. package/dist/dev/i18n/text/menu.js +1 -0
  357. package/dist/dev/i18n/text/pip.d.ts +1 -0
  358. package/dist/dev/i18n/text/pip.js +1 -0
  359. package/dist/dev/i18n/text/playback.d.ts +1 -0
  360. package/dist/dev/i18n/text/playback.js +1 -0
  361. package/dist/dev/i18n/text/seek.d.ts +1 -0
  362. package/dist/dev/i18n/text/seek.js +1 -0
  363. package/dist/dev/i18n/text/slider.d.ts +1 -0
  364. package/dist/dev/i18n/text/slider.js +1 -0
  365. package/dist/dev/i18n/text/status.d.ts +1 -0
  366. package/dist/dev/i18n/text/status.js +1 -0
  367. package/dist/dev/i18n/text/time.d.ts +1 -0
  368. package/dist/dev/i18n/text/time.js +1 -0
  369. package/dist/dev/i18n/text/volume.d.ts +1 -0
  370. package/dist/dev/i18n/text/volume.js +1 -0
  371. package/dist/dev/i18n/text-mixin.d.ts +1 -2
  372. package/dist/dev/i18n/text-mixin.js.map +1 -1
  373. package/dist/dev/i18n/types.d.ts +2 -3
  374. package/dist/dev/icons/{minimal → compat}/index.d.ts +1 -1
  375. package/dist/dev/icons/compat/index.js +26 -0
  376. package/dist/dev/icons/dist/element/base.d.ts +1 -2
  377. package/dist/dev/icons/dist/element/base.js.map +1 -1
  378. package/dist/dev/icons/dist/element/compat/icons.js +32 -0
  379. package/dist/dev/icons/dist/element/compat/icons.js.map +1 -0
  380. package/dist/dev/icons/dist/element/{minimal → compat}/index.js +2 -2
  381. package/dist/dev/icons/dist/element/compat/index.js.map +1 -0
  382. package/dist/dev/icons/dist/element/index.js +2 -1
  383. package/dist/dev/icons/dist/element/index.js.map +1 -1
  384. package/dist/dev/icons/dist/element/{minimal → neutral}/icons.js +1 -1
  385. package/dist/dev/icons/dist/element/{minimal → neutral}/icons.js.map +1 -1
  386. package/dist/dev/icons/dist/element/neutral/index.d.ts +1 -0
  387. package/dist/dev/icons/dist/element/neutral/index.js +10 -0
  388. package/dist/dev/icons/dist/element/{minimal → neutral}/index.js.map +1 -1
  389. package/dist/dev/icons/dist/html/compat/airplay-enter.js +6 -0
  390. package/dist/dev/icons/dist/html/compat/airplay-enter.js.map +1 -0
  391. package/dist/dev/icons/dist/html/compat/airplay-exit.js +6 -0
  392. package/dist/dev/icons/dist/html/compat/airplay-exit.js.map +1 -0
  393. package/dist/dev/icons/dist/html/compat/captions-off.js +6 -0
  394. package/dist/dev/icons/dist/html/compat/captions-off.js.map +1 -0
  395. package/dist/dev/icons/dist/html/compat/captions-on.js +6 -0
  396. package/dist/dev/icons/dist/html/compat/captions-on.js.map +1 -0
  397. package/dist/dev/icons/dist/html/compat/cast-enter.js +6 -0
  398. package/dist/dev/icons/dist/html/compat/cast-enter.js.map +1 -0
  399. package/dist/dev/icons/dist/html/compat/cast-exit.js +6 -0
  400. package/dist/dev/icons/dist/html/compat/cast-exit.js.map +1 -0
  401. package/dist/dev/icons/dist/html/compat/check.js +6 -0
  402. package/dist/dev/icons/dist/html/compat/check.js.map +1 -0
  403. package/dist/dev/icons/dist/html/compat/chevron.js +6 -0
  404. package/dist/dev/icons/dist/html/compat/chevron.js.map +1 -0
  405. package/dist/dev/icons/dist/html/compat/fullscreen-enter.js +6 -0
  406. package/dist/dev/icons/dist/html/compat/fullscreen-enter.js.map +1 -0
  407. package/dist/dev/icons/dist/html/compat/fullscreen-exit.js +6 -0
  408. package/dist/dev/icons/dist/html/compat/fullscreen-exit.js.map +1 -0
  409. package/dist/dev/icons/dist/html/compat/gear.js +6 -0
  410. package/dist/dev/icons/dist/html/compat/gear.js.map +1 -0
  411. package/dist/dev/icons/dist/html/compat/index.d.ts +28 -0
  412. package/dist/dev/icons/dist/html/compat/pause.js +6 -0
  413. package/dist/dev/icons/dist/html/compat/pause.js.map +1 -0
  414. package/dist/dev/icons/dist/html/compat/pip-enter.js +6 -0
  415. package/dist/dev/icons/dist/html/compat/pip-enter.js.map +1 -0
  416. package/dist/dev/icons/dist/html/compat/pip-exit.js +6 -0
  417. package/dist/dev/icons/dist/html/compat/pip-exit.js.map +1 -0
  418. package/dist/dev/icons/dist/html/compat/play.js +6 -0
  419. package/dist/dev/icons/dist/html/compat/play.js.map +1 -0
  420. package/dist/dev/icons/dist/html/compat/quality.js +6 -0
  421. package/dist/dev/icons/dist/html/compat/quality.js.map +1 -0
  422. package/dist/dev/icons/dist/html/compat/restart.js +6 -0
  423. package/dist/dev/icons/dist/html/compat/restart.js.map +1 -0
  424. package/dist/dev/icons/dist/html/compat/seek.js +6 -0
  425. package/dist/dev/icons/dist/html/compat/seek.js.map +1 -0
  426. package/dist/dev/icons/dist/html/compat/speech.js +6 -0
  427. package/dist/dev/icons/dist/html/compat/speech.js.map +1 -0
  428. package/dist/dev/icons/dist/html/compat/speed.js +6 -0
  429. package/dist/dev/icons/dist/html/compat/speed.js.map +1 -0
  430. package/dist/dev/icons/dist/html/{minimal → compat}/spinner.js +1 -1
  431. package/dist/dev/icons/dist/html/compat/spinner.js.map +1 -0
  432. package/dist/dev/icons/dist/html/compat/switches.js +6 -0
  433. package/dist/dev/icons/dist/html/compat/switches.js.map +1 -0
  434. package/dist/dev/icons/dist/html/compat/volume-high.js +6 -0
  435. package/dist/dev/icons/dist/html/compat/volume-high.js.map +1 -0
  436. package/dist/dev/icons/dist/html/compat/volume-low.js +6 -0
  437. package/dist/dev/icons/dist/html/compat/volume-low.js.map +1 -0
  438. package/dist/dev/icons/dist/html/compat/volume-off.js +6 -0
  439. package/dist/dev/icons/dist/html/compat/volume-off.js.map +1 -0
  440. package/dist/dev/icons/dist/html/default/index.d.ts +25 -26
  441. package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-enter.js +1 -1
  442. package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-enter.js.map +1 -1
  443. package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-exit.js +1 -1
  444. package/dist/dev/icons/dist/html/{minimal → neutral}/airplay-exit.js.map +1 -1
  445. package/dist/dev/icons/dist/html/{minimal → neutral}/captions-off.js +1 -1
  446. package/dist/dev/icons/dist/html/{minimal → neutral}/captions-off.js.map +1 -1
  447. package/dist/dev/icons/dist/html/{minimal → neutral}/captions-on.js +1 -1
  448. package/dist/dev/icons/dist/html/{minimal → neutral}/captions-on.js.map +1 -1
  449. package/dist/dev/icons/dist/html/{minimal → neutral}/cast-enter.js +1 -1
  450. package/dist/dev/icons/dist/html/{minimal → neutral}/cast-enter.js.map +1 -1
  451. package/dist/dev/icons/dist/html/{minimal → neutral}/cast-exit.js +1 -1
  452. package/dist/dev/icons/dist/html/{minimal → neutral}/cast-exit.js.map +1 -1
  453. package/dist/dev/icons/dist/html/{minimal → neutral}/check.js +1 -1
  454. package/dist/dev/icons/dist/html/{minimal → neutral}/check.js.map +1 -1
  455. package/dist/dev/icons/dist/html/{minimal → neutral}/chevron.js +1 -1
  456. package/dist/dev/icons/dist/html/{minimal → neutral}/chevron.js.map +1 -1
  457. package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-enter.js +1 -1
  458. package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-enter.js.map +1 -1
  459. package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-exit.js +1 -1
  460. package/dist/dev/icons/dist/html/{minimal → neutral}/fullscreen-exit.js.map +1 -1
  461. package/dist/dev/icons/dist/html/{minimal → neutral}/gear.js +1 -1
  462. package/dist/dev/icons/dist/html/{minimal → neutral}/gear.js.map +1 -1
  463. package/dist/dev/icons/dist/html/neutral/index.d.ts +28 -0
  464. package/dist/dev/icons/dist/html/{minimal → neutral}/pause.js +1 -1
  465. package/dist/dev/icons/dist/html/{minimal → neutral}/pause.js.map +1 -1
  466. package/dist/dev/icons/dist/html/{minimal → neutral}/pip-enter.js +1 -1
  467. package/dist/dev/icons/dist/html/{minimal → neutral}/pip-enter.js.map +1 -1
  468. package/dist/dev/icons/dist/html/{minimal → neutral}/pip-exit.js +1 -1
  469. package/dist/dev/icons/dist/html/{minimal → neutral}/pip-exit.js.map +1 -1
  470. package/dist/dev/icons/dist/html/{minimal → neutral}/play.js +1 -1
  471. package/dist/dev/icons/dist/html/{minimal → neutral}/play.js.map +1 -1
  472. package/dist/dev/icons/dist/html/{minimal → neutral}/quality.js +1 -1
  473. package/dist/dev/icons/dist/html/{minimal → neutral}/quality.js.map +1 -1
  474. package/dist/dev/icons/dist/html/{minimal → neutral}/restart.js +1 -1
  475. package/dist/dev/icons/dist/html/{minimal → neutral}/restart.js.map +1 -1
  476. package/dist/dev/icons/dist/html/{minimal → neutral}/seek.js +1 -1
  477. package/dist/dev/icons/dist/html/{minimal → neutral}/seek.js.map +1 -1
  478. package/dist/dev/icons/dist/html/{minimal → neutral}/speech.js +1 -1
  479. package/dist/dev/icons/dist/html/{minimal → neutral}/speech.js.map +1 -1
  480. package/dist/dev/icons/dist/html/{minimal → neutral}/speed.js +1 -1
  481. package/dist/dev/icons/dist/html/{minimal → neutral}/speed.js.map +1 -1
  482. package/dist/dev/icons/dist/html/neutral/spinner.js +6 -0
  483. package/dist/dev/icons/dist/html/{minimal → neutral}/spinner.js.map +1 -1
  484. package/dist/dev/icons/dist/html/{minimal → neutral}/switches.js +1 -1
  485. package/dist/dev/icons/dist/html/{minimal → neutral}/switches.js.map +1 -1
  486. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-high.js +1 -1
  487. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-high.js.map +1 -1
  488. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-low.js +1 -1
  489. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-low.js.map +1 -1
  490. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-off.js +1 -1
  491. package/dist/dev/icons/dist/html/{minimal → neutral}/volume-off.js.map +1 -1
  492. package/dist/dev/icons/element/compat/index.d.ts +1 -0
  493. package/dist/dev/icons/element/compat/index.js +1 -0
  494. package/dist/dev/icons/element/neutral/index.d.ts +1 -0
  495. package/dist/dev/icons/element/neutral/index.js +1 -0
  496. package/dist/dev/icons/element/register/index.d.ts +1 -2
  497. package/dist/dev/icons/neutral/index.d.ts +2 -0
  498. package/dist/dev/icons/neutral/index.js +26 -0
  499. package/dist/dev/index.d.ts +12 -7
  500. package/dist/dev/index.js +4 -3
  501. package/dist/dev/internal/skins/compat-audio/register.d.ts +43 -0
  502. package/dist/dev/internal/skins/compat-audio/register.js +72 -0
  503. package/dist/dev/internal/skins/compat-audio/register.js.map +1 -0
  504. package/dist/dev/internal/skins/compat-audio/skin.css +1891 -0
  505. package/dist/dev/internal/skins/compat-audio/template.js +217 -0
  506. package/dist/dev/internal/skins/compat-audio/template.js.map +1 -0
  507. package/dist/dev/internal/skins/compat-live-audio/register.d.ts +27 -0
  508. package/dist/dev/internal/skins/compat-live-audio/register.js +52 -0
  509. package/dist/dev/internal/skins/compat-live-audio/register.js.map +1 -0
  510. package/dist/dev/internal/skins/compat-live-audio/skin.css +1676 -0
  511. package/dist/dev/internal/skins/compat-live-audio/template.js +114 -0
  512. package/dist/dev/internal/skins/compat-live-audio/template.js.map +1 -0
  513. package/dist/dev/internal/skins/compat-live-video/register.d.ts +45 -0
  514. package/dist/dev/internal/skins/compat-live-video/register.js +88 -0
  515. package/dist/dev/internal/skins/compat-live-video/register.js.map +1 -0
  516. package/dist/dev/internal/skins/compat-live-video/skin.css +2219 -0
  517. package/dist/dev/internal/skins/compat-live-video/template.js +239 -0
  518. package/dist/dev/internal/skins/compat-live-video/template.js.map +1 -0
  519. package/dist/dev/internal/skins/compat-video/register.d.ts +62 -0
  520. package/dist/dev/internal/skins/compat-video/register.js +117 -0
  521. package/dist/dev/internal/skins/compat-video/register.js.map +1 -0
  522. package/dist/dev/internal/skins/compat-video/skin.css +2497 -0
  523. package/dist/dev/internal/skins/compat-video/template.js +459 -0
  524. package/dist/dev/internal/skins/compat-video/template.js.map +1 -0
  525. package/dist/dev/internal/skins/default-audio/register.d.ts +12 -12
  526. package/dist/dev/internal/skins/default-audio/register.js +8 -8
  527. package/dist/dev/internal/skins/default-audio/skin.css +1213 -1365
  528. package/dist/dev/internal/skins/default-live-audio/register.d.ts +4 -4
  529. package/dist/dev/internal/skins/default-live-audio/register.js +4 -4
  530. package/dist/dev/internal/skins/default-live-audio/skin.css +842 -913
  531. package/dist/dev/internal/skins/default-live-video/register.d.ts +10 -10
  532. package/dist/dev/internal/skins/default-live-video/register.js +8 -8
  533. package/dist/dev/internal/skins/default-live-video/skin.css +1548 -1728
  534. package/dist/dev/internal/skins/default-video/register.d.ts +18 -18
  535. package/dist/dev/internal/skins/default-video/register.js +13 -13
  536. package/dist/dev/internal/skins/default-video/skin.css +2034 -2403
  537. package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.d.ts +14 -14
  538. package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.js +20 -20
  539. package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/register.js.map +1 -1
  540. package/dist/dev/internal/skins/neutral-audio/skin.css +1823 -0
  541. package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/template.js +24 -24
  542. package/dist/dev/internal/skins/{minimal-audio → neutral-audio}/template.js.map +1 -1
  543. package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.d.ts +4 -4
  544. package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js +13 -13
  545. package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/register.js.map +1 -1
  546. package/dist/dev/internal/skins/neutral-live-audio/skin.css +1238 -0
  547. package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js +14 -14
  548. package/dist/dev/internal/skins/{minimal-live-audio → neutral-live-audio}/template.js.map +1 -1
  549. package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.d.ts +10 -10
  550. package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.js +28 -28
  551. package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/register.js.map +1 -1
  552. package/dist/dev/internal/skins/neutral-live-video/skin.css +2069 -0
  553. package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/template.js +47 -47
  554. package/dist/dev/internal/skins/{minimal-live-video → neutral-live-video}/template.js.map +1 -1
  555. package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.d.ts +20 -20
  556. package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.js +40 -40
  557. package/dist/dev/internal/skins/{minimal-video → neutral-video}/register.js.map +1 -1
  558. package/dist/dev/internal/skins/neutral-video/skin.css +2817 -0
  559. package/dist/dev/internal/skins/{minimal-video → neutral-video}/template.js +75 -75
  560. package/dist/dev/internal/skins/{minimal-video → neutral-video}/template.js.map +1 -1
  561. package/dist/dev/media/background-video/adapter.d.ts +1 -2
  562. package/dist/dev/media/background-video/template.d.ts +1 -2
  563. package/dist/dev/media/cloudflare-video/adapter.d.ts +3 -15
  564. package/dist/dev/media/dash-video/adapter.d.ts +3 -15
  565. package/dist/dev/media/hls-audio/adapter.d.ts +3 -15
  566. package/dist/dev/media/hls-background-video/adapter.d.ts +8 -5
  567. package/dist/dev/media/hls-background-video/adapter.js.map +1 -1
  568. package/dist/dev/media/hls-video/adapter.d.ts +3 -15
  569. package/dist/dev/media/hlsjs-video/adapter.d.ts +3 -15
  570. package/dist/dev/media/mux-audio/hls-js.d.ts +3 -15
  571. package/dist/dev/media/mux-audio/mixin.js.map +1 -1
  572. package/dist/dev/media/mux-audio/spf.d.ts +3 -15
  573. package/dist/dev/media/mux-video/hls-js.d.ts +3 -15
  574. package/dist/dev/media/mux-video/mixin.js.map +1 -1
  575. package/dist/dev/media/mux-video/spf.d.ts +3 -15
  576. package/dist/dev/media/native-hls-video/adapter.d.ts +3 -15
  577. package/dist/dev/media/shaka-video/adapter.d.ts +3 -15
  578. package/dist/dev/media/spotify-audio/adapter.d.ts +3 -15
  579. package/dist/dev/media/tiktok-video/adapter.d.ts +3 -15
  580. package/dist/dev/media/twitch-video/adapter.d.ts +3 -15
  581. package/dist/dev/media/vimeo-video/adapter.d.ts +3 -15
  582. package/dist/dev/media/wistia-video/adapter.d.ts +1 -2
  583. package/dist/dev/media/youtube-video/adapter.d.ts +3 -15
  584. package/dist/dev/player/context.d.ts +34 -15
  585. package/dist/dev/player/context.js +9 -1
  586. package/dist/dev/player/context.js.map +1 -1
  587. package/dist/dev/player/controller.d.ts +3 -4
  588. package/dist/dev/player/controller.js.map +1 -1
  589. package/dist/dev/player/create-player.d.ts +5 -6
  590. package/dist/dev/player/create-player.js +2 -1
  591. package/dist/dev/player/create-player.js.map +1 -1
  592. package/dist/dev/player/element.js +47 -10
  593. package/dist/dev/player/element.js.map +1 -1
  594. package/dist/dev/presets/audio/compat-skin.d.ts +15 -0
  595. package/dist/dev/presets/audio/compat-skin.js +21 -0
  596. package/dist/dev/presets/audio/compat-skin.js.map +1 -0
  597. package/dist/dev/presets/audio/index.d.ts +3 -2
  598. package/dist/dev/presets/audio/index.js +3 -2
  599. package/dist/dev/presets/audio/neutral-skin.d.ts +15 -0
  600. package/dist/dev/presets/audio/neutral-skin.js +21 -0
  601. package/dist/dev/presets/audio/neutral-skin.js.map +1 -0
  602. package/dist/dev/presets/audio/player.d.ts +2 -3
  603. package/dist/dev/presets/audio/skin.d.ts +2 -3
  604. package/dist/dev/presets/audio/skin.js.map +1 -1
  605. package/dist/dev/presets/background/player.d.ts +2 -3
  606. package/dist/dev/presets/background/skin.d.ts +1 -2
  607. package/dist/dev/presets/live-audio/compat-skin.d.ts +15 -0
  608. package/dist/dev/presets/live-audio/compat-skin.js +21 -0
  609. package/dist/dev/presets/live-audio/compat-skin.js.map +1 -0
  610. package/dist/dev/presets/live-audio/index.d.ts +3 -2
  611. package/dist/dev/presets/live-audio/index.js +3 -2
  612. package/dist/dev/presets/live-audio/neutral-skin.d.ts +15 -0
  613. package/dist/dev/presets/live-audio/neutral-skin.js +21 -0
  614. package/dist/dev/presets/live-audio/neutral-skin.js.map +1 -0
  615. package/dist/dev/presets/live-audio/player.d.ts +2 -3
  616. package/dist/dev/presets/live-audio/skin.d.ts +2 -3
  617. package/dist/dev/presets/live-audio/skin.js.map +1 -1
  618. package/dist/dev/presets/live-video/compat-skin.d.ts +15 -0
  619. package/dist/dev/presets/live-video/compat-skin.js +21 -0
  620. package/dist/dev/presets/live-video/compat-skin.js.map +1 -0
  621. package/dist/dev/presets/live-video/index.d.ts +3 -2
  622. package/dist/dev/presets/live-video/index.js +3 -2
  623. package/dist/dev/presets/live-video/neutral-skin.d.ts +15 -0
  624. package/dist/dev/presets/live-video/neutral-skin.js +21 -0
  625. package/dist/dev/presets/live-video/neutral-skin.js.map +1 -0
  626. package/dist/dev/presets/live-video/player.d.ts +2 -3
  627. package/dist/dev/presets/live-video/skin.d.ts +2 -3
  628. package/dist/dev/presets/live-video/skin.js.map +1 -1
  629. package/dist/dev/presets/skin.d.ts +1 -2
  630. package/dist/dev/presets/video/compat-skin.d.ts +15 -0
  631. package/dist/dev/presets/video/compat-skin.js +21 -0
  632. package/dist/dev/presets/video/compat-skin.js.map +1 -0
  633. package/dist/dev/presets/video/index.d.ts +3 -2
  634. package/dist/dev/presets/video/index.js +3 -2
  635. package/dist/dev/presets/video/neutral-skin.d.ts +15 -0
  636. package/dist/dev/presets/video/neutral-skin.js +21 -0
  637. package/dist/dev/presets/video/neutral-skin.js.map +1 -0
  638. package/dist/dev/presets/video/player.d.ts +2 -3
  639. package/dist/dev/presets/video/skin.d.ts +2 -3
  640. package/dist/dev/presets/video/skin.js.map +1 -1
  641. package/dist/dev/store/media-attach-mixin.d.ts +6 -4
  642. package/dist/dev/store/media-attach-mixin.js +2 -0
  643. package/dist/dev/store/media-attach-mixin.js.map +1 -1
  644. package/dist/dev/store/types.d.ts +2 -4
  645. package/dist/dev/ui/airplay-button/element.d.ts +4 -5
  646. package/dist/dev/ui/airplay-button/element.js +1 -1
  647. package/dist/dev/ui/airplay-button/element.js.map +1 -1
  648. package/dist/dev/ui/alert-dialog/element.d.ts +1 -2
  649. package/dist/dev/ui/audio-track-radio-group/element.d.ts +4 -5
  650. package/dist/dev/ui/audio-track-radio-group/element.js.map +1 -1
  651. package/dist/dev/ui/buffering-indicator/element.d.ts +2 -2
  652. package/dist/dev/ui/buffering-indicator/element.js +4 -0
  653. package/dist/dev/ui/buffering-indicator/element.js.map +1 -1
  654. package/dist/dev/ui/captions-button/element.d.ts +7 -10
  655. package/dist/dev/ui/captions-button/element.js.map +1 -1
  656. package/dist/dev/ui/captions-radio-group/element.d.ts +4 -5
  657. package/dist/dev/ui/captions-radio-group/element.js.map +1 -1
  658. package/dist/dev/ui/cast-button/element.d.ts +3 -4
  659. package/dist/dev/ui/cast-button/element.js.map +1 -1
  660. package/dist/dev/ui/container/element.d.ts +1 -2
  661. package/dist/dev/ui/container/element.js.map +1 -1
  662. package/dist/dev/ui/context-part-element.d.ts +2 -3
  663. package/dist/dev/ui/context-part-element.js.map +1 -1
  664. package/dist/dev/ui/controls/backdrop.d.ts +1 -2
  665. package/dist/dev/ui/controls/content.d.ts +1 -2
  666. package/dist/dev/ui/controls/context.d.ts +1 -2
  667. package/dist/dev/ui/controls/element.d.ts +1 -2
  668. package/dist/dev/ui/controls/element.js.map +1 -1
  669. package/dist/dev/ui/controls/group.d.ts +1 -2
  670. package/dist/dev/ui/dialog/backdrop.d.ts +1 -2
  671. package/dist/dev/ui/dialog/close.d.ts +1 -2
  672. package/dist/dev/ui/dialog/close.js.map +1 -1
  673. package/dist/dev/ui/dialog/context.d.ts +4 -3
  674. package/dist/dev/ui/dialog/context.js +1 -0
  675. package/dist/dev/ui/dialog/context.js.map +1 -1
  676. package/dist/dev/ui/dialog/description.d.ts +1 -2
  677. package/dist/dev/ui/dialog/element.d.ts +5 -4
  678. package/dist/dev/ui/dialog/element.js +4 -2
  679. package/dist/dev/ui/dialog/element.js.map +1 -1
  680. package/dist/dev/ui/dialog/popup.d.ts +1 -2
  681. package/dist/dev/ui/dialog/popup.js.map +1 -1
  682. package/dist/dev/ui/dialog/title.d.ts +1 -2
  683. package/dist/dev/ui/error-dialog/element.d.ts +1 -2
  684. package/dist/dev/ui/error-dialog/element.js.map +1 -1
  685. package/dist/dev/ui/fullscreen-button/element.d.ts +3 -5
  686. package/dist/dev/ui/fullscreen-button/element.js.map +1 -1
  687. package/dist/dev/ui/gesture/element.d.ts +1 -2
  688. package/dist/dev/ui/gesture/element.js.map +1 -1
  689. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +2 -3
  690. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -1
  691. package/dist/dev/ui/hotkey/element.d.ts +1 -2
  692. package/dist/dev/ui/hotkey/element.js.map +1 -1
  693. package/dist/dev/ui/input-indicator/element.d.ts +5 -4
  694. package/dist/dev/ui/input-indicator/element.js.map +1 -1
  695. package/dist/dev/ui/input-indicator/live-indicator.d.ts +2 -3
  696. package/dist/dev/ui/input-indicator/live-indicator.js.map +1 -1
  697. package/dist/dev/ui/live-button/element.d.ts +4 -4
  698. package/dist/dev/ui/live-button/element.js.map +1 -1
  699. package/dist/dev/ui/media-button-element.d.ts +17 -8
  700. package/dist/dev/ui/media-button-element.js +7 -6
  701. package/dist/dev/ui/media-button-element.js.map +1 -1
  702. package/dist/dev/ui/media-ui-element.d.ts +15 -7
  703. package/dist/dev/ui/media-ui-element.js +6 -1
  704. package/dist/dev/ui/media-ui-element.js.map +1 -1
  705. package/dist/dev/ui/menu/checkbox-item.d.ts +1 -2
  706. package/dist/dev/ui/menu/checkbox-item.js.map +1 -1
  707. package/dist/dev/ui/menu/content.d.ts +1 -2
  708. package/dist/dev/ui/menu/content.js.map +1 -1
  709. package/dist/dev/ui/menu/context.d.ts +9 -5
  710. package/dist/dev/ui/menu/context.js +2 -0
  711. package/dist/dev/ui/menu/context.js.map +1 -1
  712. package/dist/dev/ui/menu/element.d.ts +1 -2
  713. package/dist/dev/ui/menu/element.js.map +1 -1
  714. package/dist/dev/ui/menu/group-controller.js.map +1 -1
  715. package/dist/dev/ui/menu/group-label.d.ts +1 -2
  716. package/dist/dev/ui/menu/group-label.js.map +1 -1
  717. package/dist/dev/ui/menu/group.d.ts +1 -2
  718. package/dist/dev/ui/menu/group.js.map +1 -1
  719. package/dist/dev/ui/menu/item-indicator.d.ts +1 -2
  720. package/dist/dev/ui/menu/item.d.ts +1 -2
  721. package/dist/dev/ui/menu/item.js.map +1 -1
  722. package/dist/dev/ui/menu/radio-group.d.ts +1 -2
  723. package/dist/dev/ui/menu/radio-group.js.map +1 -1
  724. package/dist/dev/ui/menu/radio-item.d.ts +1 -2
  725. package/dist/dev/ui/menu/radio-item.js.map +1 -1
  726. package/dist/dev/ui/menu/separator.d.ts +1 -2
  727. package/dist/dev/ui/mute-button/element.d.ts +3 -4
  728. package/dist/dev/ui/mute-button/element.js.map +1 -1
  729. package/dist/dev/ui/pip-button/element.d.ts +4 -6
  730. package/dist/dev/ui/pip-button/element.js.map +1 -1
  731. package/dist/dev/ui/play-button/element.d.ts +3 -5
  732. package/dist/dev/ui/play-button/element.js +1 -1
  733. package/dist/dev/ui/play-button/element.js.map +1 -1
  734. package/dist/dev/ui/playback-rate-button/element.d.ts +4 -5
  735. package/dist/dev/ui/playback-rate-button/element.js +4 -2
  736. package/dist/dev/ui/playback-rate-button/element.js.map +1 -1
  737. package/dist/dev/ui/playback-rate-radio-group/element.d.ts +4 -5
  738. package/dist/dev/ui/playback-rate-radio-group/element.js.map +1 -1
  739. package/dist/dev/ui/popover/element.d.ts +1 -2
  740. package/dist/dev/ui/popover/element.js +4 -2
  741. package/dist/dev/ui/popover/element.js.map +1 -1
  742. package/dist/dev/ui/position-controller.js.map +1 -1
  743. package/dist/dev/ui/poster/element.d.ts +1 -2
  744. package/dist/dev/ui/poster/element.js.map +1 -1
  745. package/dist/dev/ui/quality-radio-group/element.d.ts +4 -5
  746. package/dist/dev/ui/quality-radio-group/element.js.map +1 -1
  747. package/dist/dev/ui/radio-group/context.d.ts +4 -3
  748. package/dist/dev/ui/radio-group/context.js +1 -0
  749. package/dist/dev/ui/radio-group/context.js.map +1 -1
  750. package/dist/dev/ui/radio-group/element.d.ts +1 -2
  751. package/dist/dev/ui/radio-group/element.js.map +1 -1
  752. package/dist/dev/ui/radio-options/controller.js.map +1 -1
  753. package/dist/dev/ui/seek-button/element.d.ts +2 -3
  754. package/dist/dev/ui/seek-button/element.js.map +1 -1
  755. package/dist/dev/ui/seek-indicator/element.d.ts +3 -4
  756. package/dist/dev/ui/seek-indicator/element.js +7 -1
  757. package/dist/dev/ui/seek-indicator/element.js.map +1 -1
  758. package/dist/dev/ui/seek-indicator/value.d.ts +1 -2
  759. package/dist/dev/ui/slider/buffer.d.ts +1 -2
  760. package/dist/dev/ui/slider/context.d.ts +4 -3
  761. package/dist/dev/ui/slider/context.js +1 -0
  762. package/dist/dev/ui/slider/context.js.map +1 -1
  763. package/dist/dev/ui/slider/element.d.ts +1 -2
  764. package/dist/dev/ui/slider/element.js.map +1 -1
  765. package/dist/dev/ui/slider/events.d.ts +4 -3
  766. package/dist/dev/ui/slider/fill.d.ts +1 -2
  767. package/dist/dev/ui/slider/preview.d.ts +1 -2
  768. package/dist/dev/ui/slider/preview.js.map +1 -1
  769. package/dist/dev/ui/slider/thumb.d.ts +1 -2
  770. package/dist/dev/ui/slider/thumb.js.map +1 -1
  771. package/dist/dev/ui/slider/thumbnail.d.ts +1 -2
  772. package/dist/dev/ui/slider/thumbnail.js.map +1 -1
  773. package/dist/dev/ui/slider/track.d.ts +1 -2
  774. package/dist/dev/ui/slider/value.d.ts +1 -2
  775. package/dist/dev/ui/slider/value.js.map +1 -1
  776. package/dist/dev/ui/status-announcer/element.d.ts +1 -2
  777. package/dist/dev/ui/status-announcer/element.js.map +1 -1
  778. package/dist/dev/ui/status-indicator/element.d.ts +9 -4
  779. package/dist/dev/ui/status-indicator/element.js +14 -1
  780. package/dist/dev/ui/status-indicator/element.js.map +1 -1
  781. package/dist/dev/ui/status-indicator/value.d.ts +1 -2
  782. package/dist/dev/ui/text/element.d.ts +4 -3
  783. package/dist/dev/ui/text/element.js +1 -0
  784. package/dist/dev/ui/text/element.js.map +1 -1
  785. package/dist/dev/ui/thumbnail/element.d.ts +5 -6
  786. package/dist/dev/ui/thumbnail/element.js +3 -2
  787. package/dist/dev/ui/thumbnail/element.js.map +1 -1
  788. package/dist/dev/ui/time/element.d.ts +1 -2
  789. package/dist/dev/ui/time/element.js.map +1 -1
  790. package/dist/dev/ui/time/group.d.ts +1 -2
  791. package/dist/dev/ui/time/separator.d.ts +1 -2
  792. package/dist/dev/ui/time-slider/chapter-title.d.ts +1 -2
  793. package/dist/dev/ui/time-slider/chapter-title.js.map +1 -1
  794. package/dist/dev/ui/time-slider/chapters.d.ts +1 -2
  795. package/dist/dev/ui/time-slider/chapters.js.map +1 -1
  796. package/dist/dev/ui/time-slider/element.d.ts +1 -2
  797. package/dist/dev/ui/time-slider/element.js.map +1 -1
  798. package/dist/dev/ui/title/element.d.ts +1 -2
  799. package/dist/dev/ui/title/element.js.map +1 -1
  800. package/dist/dev/ui/tooltip/context.d.ts +2 -2
  801. package/dist/dev/ui/tooltip/context.js +1 -0
  802. package/dist/dev/ui/tooltip/context.js.map +1 -1
  803. package/dist/dev/ui/tooltip/element.d.ts +1 -2
  804. package/dist/dev/ui/tooltip/element.js +4 -2
  805. package/dist/dev/ui/tooltip/element.js.map +1 -1
  806. package/dist/dev/ui/tooltip/group.d.ts +1 -2
  807. package/dist/dev/ui/tooltip/group.js.map +1 -1
  808. package/dist/dev/ui/tooltip/label.d.ts +1 -2
  809. package/dist/dev/ui/tooltip/label.js.map +1 -1
  810. package/dist/dev/ui/tooltip/shortcut.d.ts +1 -2
  811. package/dist/dev/ui/ui-element.d.ts +3 -3
  812. package/dist/dev/ui/ui-element.js.map +1 -1
  813. package/dist/dev/ui/volume-indicator/element.d.ts +3 -4
  814. package/dist/dev/ui/volume-indicator/element.js.map +1 -1
  815. package/dist/dev/ui/volume-indicator/fill.d.ts +1 -2
  816. package/dist/dev/ui/volume-indicator/value.d.ts +1 -2
  817. package/dist/dev/ui/volume-popover/element.d.ts +1 -2
  818. package/dist/dev/ui/volume-popover/element.js +1 -1
  819. package/dist/dev/ui/volume-popover/element.js.map +1 -1
  820. package/dist/dev/ui/volume-slider/element.d.ts +1 -2
  821. package/dist/dev/ui/volume-slider/element.js +1 -1
  822. package/dist/dev/ui/volume-slider/element.js.map +1 -1
  823. package/dist/dev/version.d.ts +21 -0
  824. package/dist/dev/version.js +29 -0
  825. package/dist/dev/version.js.map +1 -0
  826. package/docs/README.md +1 -1
  827. package/docs/guides/autoplay.md +10 -21
  828. package/docs/guides/background-video.md +74 -7
  829. package/docs/guides/browser-support.md +48 -36
  830. package/docs/guides/build-your-own-component.md +5 -5
  831. package/docs/guides/captions.md +46 -6
  832. package/docs/guides/casting.md +24 -8
  833. package/docs/guides/cdn.md +11 -10
  834. package/docs/guides/content-security-policy.md +29 -5
  835. package/docs/guides/controls.md +25 -10
  836. package/docs/guides/customize-skins.md +2 -2
  837. package/docs/guides/features.md +3 -1
  838. package/docs/guides/fullscreen.md +35 -8
  839. package/docs/guides/installation-cdn.md +5 -9
  840. package/docs/guides/installation-shadcn.md +4 -8
  841. package/docs/guides/installation-svelte.md +5 -9
  842. package/docs/guides/installation-vue.md +5 -9
  843. package/docs/guides/installation.md +5 -9
  844. package/docs/guides/internationalization.md +37 -28
  845. package/docs/guides/keyboard-shortcuts.md +27 -15
  846. package/docs/guides/live-streams.md +51 -13
  847. package/docs/guides/llms.txt +7 -6
  848. package/docs/guides/media-sources.md +8 -5
  849. package/docs/guides/migrate-from-media-chrome.md +182 -51
  850. package/docs/guides/migrate-from-mux-player.md +191 -116
  851. package/docs/guides/migrate-from-plyr.md +171 -81
  852. package/docs/guides/migrate-from-video-js-8.md +255 -190
  853. package/docs/guides/migrate-from-vidstack.md +865 -0
  854. package/docs/guides/mux-data.md +23 -9
  855. package/docs/guides/picture-in-picture.md +22 -16
  856. package/docs/guides/playback-errors.md +10 -7
  857. package/docs/guides/poster.md +32 -11
  858. package/docs/guides/presets.md +15 -5
  859. package/docs/guides/quality.md +44 -5
  860. package/docs/guides/self-hosting.md +5 -5
  861. package/docs/guides/skins.md +6 -4
  862. package/docs/guides/thumbnails.md +24 -14
  863. package/docs/guides/ui-components.md +1 -1
  864. package/docs/guides/user-preferences.md +38 -15
  865. package/docs/guides/v10-roadmap.md +19 -54
  866. package/docs/llms.txt +46 -12
  867. package/docs/reference/api/create-i18n.md +3 -3
  868. package/docs/reference/api/create-translator.md +1 -1
  869. package/docs/reference/api/feature-audio-track.md +1 -1
  870. package/docs/reference/api/feature-controls.md +2 -2
  871. package/docs/reference/api/feature-fullscreen.md +1 -2
  872. package/docs/reference/api/feature-pip.md +3 -4
  873. package/docs/reference/api/feature-playback.md +2 -3
  874. package/docs/reference/api/feature-quality.md +2 -2
  875. package/docs/reference/api/feature-remote-playback.md +1 -1
  876. package/docs/reference/api/feature-source.md +2 -8
  877. package/docs/reference/api/feature-text-tracks.md +6 -8
  878. package/docs/reference/api/feature-volume.md +1 -1
  879. package/docs/reference/api/find-locale-keys.md +32 -0
  880. package/docs/reference/api/get-locale-key.md +32 -0
  881. package/docs/reference/api/html-create-player.md +24 -26
  882. package/docs/reference/api/i18n-controller.md +1 -1
  883. package/docs/reference/api/is-text.md +33 -0
  884. package/docs/reference/api/llms.txt +23 -2
  885. package/docs/reference/api/load-locale.md +36 -0
  886. package/docs/reference/api/media-capabilities.md +255 -0
  887. package/docs/reference/api/player-controller.md +39 -20
  888. package/docs/reference/api/player-store.md +112 -0
  889. package/docs/reference/api/preset-audio.md +116 -0
  890. package/docs/reference/api/preset-background.md +103 -0
  891. package/docs/reference/api/preset-live-audio.md +119 -0
  892. package/docs/reference/api/preset-live-video.md +124 -0
  893. package/docs/reference/api/preset-video.md +123 -0
  894. package/docs/reference/api/register-i18n.md +13 -0
  895. package/docs/reference/api/resolve-adapter-type.md +98 -0
  896. package/docs/reference/api/resolve-mime-type.md +48 -0
  897. package/docs/reference/api/resolve-translation.md +36 -0
  898. package/docs/reference/api/translate-text.md +56 -0
  899. package/docs/reference/api/translation-phrases.md +13 -0
  900. package/docs/reference/api/ui-element.md +296 -0
  901. package/docs/reference/components/audio-compat-skin.md +33 -0
  902. package/docs/reference/components/{audio-minimal-skin.md → audio-neutral-skin.md} +6 -6
  903. package/docs/reference/components/audio-skin.md +2 -2
  904. package/docs/reference/components/background-video-skin.md +1 -1
  905. package/docs/reference/components/background-video.md +1 -1
  906. package/docs/reference/components/captions-button.md +1 -1
  907. package/docs/reference/components/captions-radio-group.md +1 -1
  908. package/docs/reference/components/cloudflare-video.md +1 -1
  909. package/docs/reference/components/controls.md +2 -2
  910. package/docs/reference/components/dash-video.md +1 -1
  911. package/docs/reference/components/fullscreen-button.md +1 -1
  912. package/docs/reference/components/google-cast.md +4 -4
  913. package/docs/reference/components/hls-audio.md +1 -1
  914. package/docs/reference/components/hls-background-video.md +1 -1
  915. package/docs/reference/components/hls-video.md +1 -1
  916. package/docs/reference/components/hlsjs-video.md +2 -2
  917. package/docs/reference/components/icons.md +130 -0
  918. package/docs/reference/components/live-audio-compat-skin.md +35 -0
  919. package/docs/reference/components/{live-audio-minimal-skin.md → live-audio-neutral-skin.md} +6 -6
  920. package/docs/reference/components/live-audio-skin.md +2 -2
  921. package/docs/reference/components/live-video-compat-skin.md +41 -0
  922. package/docs/reference/components/{live-video-minimal-skin.md → live-video-neutral-skin.md} +6 -6
  923. package/docs/reference/components/live-video-skin.md +2 -2
  924. package/docs/reference/components/llms.txt +16 -6
  925. package/docs/reference/components/menu.md +7 -2
  926. package/docs/reference/components/mux-audio.md +2 -2
  927. package/docs/reference/components/mux-background-video.md +1 -1
  928. package/docs/reference/components/mux-data.md +4 -4
  929. package/docs/reference/components/mux-video.md +4 -4
  930. package/docs/reference/components/native-hls-video.md +1 -1
  931. package/docs/reference/components/pip-button.md +2 -2
  932. package/docs/reference/components/player.md +26 -2
  933. package/docs/reference/components/popover.md +6 -8
  934. package/docs/reference/components/shaka-video.md +1 -1
  935. package/docs/reference/components/spotify-audio.md +1 -1
  936. package/docs/reference/components/status-indicator.md +27 -4
  937. package/docs/reference/components/thumbnail.md +1 -1
  938. package/docs/reference/components/tiktok-video.md +1 -1
  939. package/docs/reference/components/twitch-video.md +1 -1
  940. package/docs/reference/components/video-compat-skin.md +45 -0
  941. package/docs/reference/components/{video-minimal-skin.md → video-neutral-skin.md} +6 -6
  942. package/docs/reference/components/video-skin.md +2 -2
  943. package/docs/reference/components/vimeo-video.md +1 -1
  944. package/docs/reference/components/wistia-video.md +1 -1
  945. package/docs/reference/components/youtube-video.md +1 -1
  946. package/package.json +54 -42
  947. package/dist/default/define/audio/minimal-skin.css +0 -2048
  948. package/dist/default/define/audio/minimal-skin.js +0 -6
  949. package/dist/default/define/audio/minimal-skin2.js +0 -4
  950. package/dist/default/define/live-audio/minimal-skin.css +0 -1378
  951. package/dist/default/define/live-audio/minimal-skin.js +0 -6
  952. package/dist/default/define/live-audio/minimal-skin2.js +0 -4
  953. package/dist/default/define/live-video/minimal-skin.css +0 -2311
  954. package/dist/default/define/live-video/minimal-skin.js +0 -6
  955. package/dist/default/define/live-video/minimal-skin2.js +0 -4
  956. package/dist/default/define/video/minimal-skin.css +0 -3232
  957. package/dist/default/define/video/minimal-skin.js +0 -6
  958. package/dist/default/define/video/minimal-skin2.js +0 -4
  959. package/dist/default/extensions/media-extension-element.js +0 -54
  960. package/dist/default/icons/element/minimal/index.js +0 -1
  961. package/dist/default/icons/minimal/index.js +0 -26
  962. package/dist/default/internal/skins/minimal-audio/skin.css +0 -1977
  963. package/dist/default/internal/skins/minimal-live-audio/skin.css +0 -1307
  964. package/dist/default/internal/skins/minimal-live-video/skin.css +0 -2240
  965. package/dist/default/internal/skins/minimal-video/skin.css +0 -3161
  966. package/dist/default/presets/audio/minimal-skin.js +0 -19
  967. package/dist/default/presets/live-audio/minimal-skin.js +0 -19
  968. package/dist/default/presets/live-video/minimal-skin.js +0 -19
  969. package/dist/default/presets/video/minimal-skin.js +0 -19
  970. package/dist/dev/define/audio/minimal-skin.css +0 -2048
  971. package/dist/dev/define/audio/minimal-skin.d.ts +0 -1
  972. package/dist/dev/define/audio/minimal-skin.js +0 -8
  973. package/dist/dev/define/audio/minimal-skin.js.map +0 -1
  974. package/dist/dev/define/audio/minimal-skin2.js +0 -6
  975. package/dist/dev/define/audio/minimal-skin2.js.map +0 -1
  976. package/dist/dev/define/live-audio/minimal-skin.css +0 -1378
  977. package/dist/dev/define/live-audio/minimal-skin.d.ts +0 -1
  978. package/dist/dev/define/live-audio/minimal-skin.js +0 -8
  979. package/dist/dev/define/live-audio/minimal-skin.js.map +0 -1
  980. package/dist/dev/define/live-audio/minimal-skin2.js +0 -6
  981. package/dist/dev/define/live-audio/minimal-skin2.js.map +0 -1
  982. package/dist/dev/define/live-video/minimal-skin.css +0 -2311
  983. package/dist/dev/define/live-video/minimal-skin.d.ts +0 -1
  984. package/dist/dev/define/live-video/minimal-skin.js +0 -8
  985. package/dist/dev/define/live-video/minimal-skin.js.map +0 -1
  986. package/dist/dev/define/live-video/minimal-skin2.js +0 -6
  987. package/dist/dev/define/live-video/minimal-skin2.js.map +0 -1
  988. package/dist/dev/define/video/minimal-skin.css +0 -3232
  989. package/dist/dev/define/video/minimal-skin.d.ts +0 -1
  990. package/dist/dev/define/video/minimal-skin.js +0 -8
  991. package/dist/dev/define/video/minimal-skin.js.map +0 -1
  992. package/dist/dev/define/video/minimal-skin2.js +0 -6
  993. package/dist/dev/define/video/minimal-skin2.js.map +0 -1
  994. package/dist/dev/extensions/media-extension-element.d.ts +0 -29
  995. package/dist/dev/extensions/media-extension-element.js +0 -56
  996. package/dist/dev/extensions/media-extension-element.js.map +0 -1
  997. package/dist/dev/icons/dist/html/minimal/index.d.ts +0 -29
  998. package/dist/dev/icons/element/minimal/index.d.ts +0 -1
  999. package/dist/dev/icons/element/minimal/index.js +0 -1
  1000. package/dist/dev/icons/minimal/index.js +0 -26
  1001. package/dist/dev/internal/skins/minimal-audio/skin.css +0 -1977
  1002. package/dist/dev/internal/skins/minimal-live-audio/skin.css +0 -1307
  1003. package/dist/dev/internal/skins/minimal-live-video/skin.css +0 -2240
  1004. package/dist/dev/internal/skins/minimal-video/skin.css +0 -3161
  1005. package/dist/dev/presets/audio/minimal-skin.d.ts +0 -16
  1006. package/dist/dev/presets/audio/minimal-skin.js +0 -21
  1007. package/dist/dev/presets/audio/minimal-skin.js.map +0 -1
  1008. package/dist/dev/presets/live-audio/minimal-skin.d.ts +0 -16
  1009. package/dist/dev/presets/live-audio/minimal-skin.js +0 -21
  1010. package/dist/dev/presets/live-audio/minimal-skin.js.map +0 -1
  1011. package/dist/dev/presets/live-video/minimal-skin.d.ts +0 -16
  1012. package/dist/dev/presets/live-video/minimal-skin.js +0 -21
  1013. package/dist/dev/presets/live-video/minimal-skin.js.map +0 -1
  1014. package/dist/dev/presets/video/minimal-skin.d.ts +0 -16
  1015. package/dist/dev/presets/video/minimal-skin.js +0 -21
  1016. package/dist/dev/presets/video/minimal-skin.js.map +0 -1
  1017. /package/dist/dev/define/audio/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
  1018. /package/dist/dev/define/live-audio/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
  1019. /package/dist/dev/define/live-video/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
  1020. /package/dist/dev/define/video/{minimal-ui.d.ts → neutral-ui.d.ts} +0 -0
  1021. /package/dist/dev/icons/dist/element/{minimal → compat}/index.d.ts +0 -0
@@ -10,7 +10,7 @@ Add keyboard shortcuts and pointer gestures to the player declaratively, with on
10
10
 
11
11
  ## Recommended approach
12
12
 
13
- Declare shortcuts with `<media-hotkey>` and gestures with `<media-gesture>` inside the player container. Each maps an input to a player action; the prebuilt skins ship a full set.
13
+ Declare shortcuts with `<media-hotkey>` and gestures with `<media-gesture>` inside the player container. Each maps an input to a player action. The packaged skins include bindings suited to their player preset.
14
14
 
15
15
  ```html
16
16
  <video-player>
@@ -31,39 +31,51 @@ Declare shortcuts with `<media-hotkey>` and gestures with `<media-gesture>` insi
31
31
  </video-player>
32
32
  <script type="module">
33
33
  import '@videojs/html/video/player';
34
+ import '@videojs/html/ui/container';
34
35
  import '@videojs/html/ui/hotkey';
35
- import { GestureElement } from '@videojs/html';
36
-
37
- // Gesture has no standalone define entry; register the element directly.
38
- customElements.define(GestureElement.tagName, GestureElement);
36
+ import '@videojs/html/ui/gesture';
39
37
  </script>
40
38
  ```
41
39
 
42
40
  ## How it works
43
41
 
44
- - `<media-hotkey>` binds keys to player actions: `togglePaused`, `toggleMuted`, `toggleFullscreen`, `toggleSubtitles`, `togglePictureInPicture`, `seekStep`, `volumeStep`, `seekToPercent`, `speedUp`, and `speedDown`. Step actions have shared defaults and accept a custom `value`. The actions call the same feature state actions your components use.
45
- - `<media-gesture>` binds pointer input — `tap` and `doubletap` — to the same actions, minus `seekToPercent` and plus `toggleControls`. Bindings are scoped by `pointer` (`mouse` or `touch`) and `region` (`left`, `center`, `right`) — regions split the container’s width, not the rendered video’s — so double-tap-left rewinds while double-tap-right skips forward.
46
- - `<media-status-announcer>` announces action results to screen readers, and the input indicator components render transient on-screen feedback (volume level, captions on/off) the way native players do. The prebuilt skins wire these up.
42
+ - `<media-hotkey>` binds keys to player actions: `togglePaused`, `toggleMuted`, `toggleFullscreen`, `toggleSubtitles`, `togglePictureInPicture`, `seekStep`, `volumeStep`, `seekToPercent`, `speedUp`, and `speedDown`. `seekStep` and `volumeStep` use a default step unless you pass a custom `value`. These input actions call the feature actions your components use; for example, `toggleFullscreen` chooses `requestFullscreen` or `exitFullscreen` based on `isFullscreen`.
43
+ - `<media-gesture>` binds `tap` and `doubletap` to the same actions. Gestures also support `toggleControls`; `seekToPercent` is available only to hotkeys. Scope each binding with `pointer` (`mouse` or `touch`) and `region` (`left`, `center`, `right`). For example, a double tap on the left can rewind while a double tap on the right skips forward.
44
+ - `<media-status-announcer>` announces action results to screen readers. The input indicator components show brief on-screen feedback, such as volume level or captions on and off, the way native players do. The packaged skins include both.
45
+
46
+ The on-demand video skins bind these keys:
47
+
48
+ - Space and `k`: play and pause
49
+ - `m`: mute
50
+ - `f`: fullscreen
51
+ - `c`: captions
52
+ - `i`: picture-in-picture
53
+ - Left and Right arrows, `j` and `l`: seek 10 seconds
54
+ - Up and Down arrows: volume
55
+ - `0`–`9`: jump to a percentage
56
+ - `<` and `>`: speed
57
+
58
+ Live video skins keep the playback, mute, volume, fullscreen, captions, and picture-in-picture shortcuts. They omit seeking and speed shortcuts.
47
59
 
48
- The prebuilt skins bind the conventional set: Space and `k` toggle playback, `m` mutes, `f` fullscreens, `c` toggles captions, `i` toggles picture-in-picture, arrows seek and change volume, `j`/`l` seek in larger steps, `0`–`9` jump to a percentage, and `<`/`>` change speed.
60
+ How the container splits into regions depends on which regions you bind for the same gesture type and pointer type. Left and right bindings divide the container into halves. Adding a center binding divides it into thirds. A center-only binding covers the whole container; a left-only or right-only binding covers that half. These regions use the container’s width, not the rendered video’s width.
49
61
 
50
62
  ## Availability and constraints
51
63
 
52
64
  - Hotkeys listen on the player container by default, so multiple players on a page don’t fight over keys. Pass `target="document"` on a hotkey to make it page-wide — appropriate only when one player owns the page.
53
65
  - Typing is protected: while focus is in an editable field, single-key bindings are skipped automatically. Modifier combinations (for example `Ctrl+Shift+f`) still fire.
54
66
  - Repeatable actions (seeking, volume) fire on held keys; toggle actions don’t repeat.
55
- - Touch tap-to-toggle-controls and tap-to-pause are mutually exclusive per pointer type — the skins pause on mouse tap and toggle controls on touch tap, matching platform conventions.
56
- - Gestures and the built-in touch handling coordinate through one recognizer; register gestures declaratively instead of adding raw pointer listeners next to them.
67
+ - Use only one of `toggleControls` and `togglePaused` for tap bindings with the same pointer type. The packaged skins pause on a mouse tap and toggle controls on a touch tap, matching platform conventions.
68
+ - Declared gestures and the built-in touch handling share one recognizer. Use the gesture components to add bindings. Extra raw pointer listeners can toggle controls twice.
57
69
 
58
70
  ## Common variations
59
71
 
60
72
  ### Customize a shortcut
61
73
 
62
- Render your own `<media-hotkey>` set instead of a skin’s: every binding is just an element, so add, remove, or re-key them freely.
74
+ For a packaged skin, [add the skin source to your project](./customize-skins.md#style-skin-source) and edit its `<media-hotkey>` declarations. Adding another binding alongside the packaged skin does not replace its bindings. For a custom UI, edit your own `<media-hotkey>` set directly.
63
75
 
64
76
  ### Seek step size
65
77
 
66
- `seekStep` takes its step from `value` — match your content: 5 seconds for short clips, 15 or 30 for long-form.
78
+ Set the `seekStep` distance with `value`. Match it to your content: 5 seconds for short clips, 15 or 30 seconds for long-form video.
67
79
 
68
80
  ## Troubleshooting
69
81
 
@@ -73,11 +85,11 @@ Focus is outside the player container. Click the player first, or move focus int
73
85
 
74
86
  ### Double-tap seek also toggles pause
75
87
 
76
- Regions overlap: keep single-tap `togglePaused` on `center` only, and double-tap seek on `left` and `right`, as in the skin defaults.
88
+ The built-in recognizer delays a matching single tap and cancels it when a double tap occurs. Check that your tap and double-tap bindings use compatible `pointer` filters. Remove separate click handlers that also toggle playback, and avoid native video controls on the same gesture surface.
77
89
 
78
90
  ### No visual feedback on keyboard actions
79
91
 
80
- The input indicator components render that feedback; use a prebuilt skin or add `<media-status-announcer>` and the indicator components from the skin source to a custom UI.
92
+ The input indicator components render that feedback; use a packaged skin or add `<media-status-announcer>` and the indicator components from the skin source to a custom UI.
81
93
 
82
94
  ## Related pages
83
95
 
@@ -32,9 +32,9 @@ Use the live feature bundle with a streaming media element, and give users a `<m
32
32
  </script>
33
33
  ```
34
34
 
35
- The examples use [`<hlsjs-video>`](../reference/components/hlsjs-video.md) for broad compatibility, but any streaming media component works here, including the smaller [`<hls-video>`](../reference/components/hls-video.md). Use `<hls-video>` when its supported feature set fits your stream.
35
+ The examples use [`<hlsjs-video>`](../reference/components/hlsjs-video.md). The smaller [`<hls-video>`](../reference/components/hls-video.md) also reports live state; use it when its supported feature set fits your stream.
36
36
 
37
- The `liveVideoFeatures` bundle mirrors [`videoFeatures`](./features.md) but adds the live feature and drops playback rate (not meaningful for live), quality selection, and audio-track selection. The live presets also ship skins without a time slider, duration display, or current-time display.
37
+ The `liveVideoFeatures` bundle starts from [`videoFeatures`](./features.md), adds the live feature, and omits playback rate, quality selection, and audio-track selection. The live presets also ship skins without a time slider, duration display, or current-time display.
38
38
 
39
39
  Both bundles are plain arrays, so extending one is a spread:
40
40
 
@@ -42,9 +42,13 @@ Both bundles are plain arrays, so extending one is a spread:
42
42
  import { createPlayer, streamTypeFeature } from '@videojs/html';
43
43
  import { liveVideoFeatures } from '@videojs/html/live-video';
44
44
 
45
- const { ProviderMixin } = createPlayer({ features: [...liveVideoFeatures, streamTypeFeature] });
45
+ const { PlayerElement } = createPlayer({ features: [...liveVideoFeatures, streamTypeFeature] });
46
+
47
+ customElements.define('custom-live-player', PlayerElement);
46
48
  ```
47
49
 
50
+ Use `<custom-live-player>` in place of `<live-video-player>` for this configuration.
51
+
48
52
  ## How it works
49
53
 
50
54
  Two features describe liveness:
@@ -52,36 +56,70 @@ Two features describe liveness:
52
56
  - The [stream type feature](../reference/api/feature-stream-type.md) reports `streamType`: `'live'`, `'on-demand'`, or `'unknown'`. Streaming media derives it from manifest metadata; plain media elements fall back to duration-based detection. `liveVideoFeatures` does not include it; add `streamTypeFeature` to the player’s features when you need `streamType`.
53
57
  - The [live feature](../reference/api/feature-live.md) reports two values:
54
58
  - `liveEdgeStart` is where “live” begins on the timeline. When the playhead is at or past this time, the viewer is watching live; behind it, they’re watching earlier moments of the stream.
55
- - `targetLiveWindow` is how far back the stream lets viewers rewind. `0` means a plain live stream that stays at the edge. `Infinity` means full DVR: rewind as far as the recording goes. `NaN` means the stream isn’t live, or the player doesn’t know yet.
59
+ - `targetLiveWindow` describes the kind of live window: `0` for a sliding window, `Infinity` for an event with playback history, and `NaN` for on-demand or unknown content. Read `seekable` to find the actual times viewers can rewind to.
56
60
 
57
- The [time feature](../reference/api/feature-time.md) adjusts for live playback: `duration` reports the live edge (the end of the seekable range) and keeps growing as the stream continues.
61
+ The [time feature](../reference/api/feature-time.md) replaces an infinite media duration with the end of the seekable range. That end advances as new segments become available; the start can also advance as old segments expire.
58
62
 
59
- `<media-live-button>` reads this state: it renders as an active “go to live” control while playback is behind the edge, seeks to the edge on activation, and goes inactive at the edge. Until the media reports a `seekable` range — before metadata loads, or for non-live media — the button is disabled (`data-disabled`) because there is no edge to seek to. Custom live UIs should treat “behind the edge” and “actionable” as separate states.
63
+ `<media-live-button>` treats playback as live when the playhead is no more than five seconds behind `liveEdgeStart`. If `liveEdgeStart` is unknown, the button uses the last ten seconds of the seekable range instead. When playback is farther behind, activating the button seeks to the seekable end. The button is disabled (`data-disabled`) when the media is not live or has no finite seekable end. At the edge, it is inactive (`aria-disabled="true"`).
60
64
 
61
65
  ## Availability and constraints
62
66
 
63
- - `liveEdgeStart` and `targetLiveWindow` come from media that implements the live capability — the hls.js-based media elements. With plain media elements, stream type falls back to duration-based detection and `liveEdgeStart` stays `NaN`.
67
+ - `liveEdgeStart` and `targetLiveWindow` require media that implements the live capability. Examples include [hls.js video](../reference/components/hlsjs-video.md), [SPF HLS video](../reference/components/hls-video.md), [native HLS video](../reference/components/native-hls-video.md), and [Shaka video](../reference/components/shaka-video.md). Native HLS video requires browser HLS support. A plain `<video>` can report a live `streamType` from its duration, but its live-window values stay `NaN`.
64
68
  - Live playback drifts behind the edge when the network stalls or the tab is backgrounded. Always give users a path back to the edge.
65
- - Seeking makes sense only for DVR streams (`targetLiveWindow` of `Infinity`). For standard-latency streams, omit the time slider.
66
- - Playback rate control isn’t meaningful for live; `liveVideoFeatures` omits it.
69
+ - Both sliding live windows and growing event histories can support seeking. Check `seekable` for the available range. The built-in time slider starts at zero, so use it only while the seekable history starts at zero; a moving start requires a custom slider.
70
+ - `liveVideoFeatures` omits playback rate control. Add it explicitly if your DVR UI needs it.
67
71
 
68
72
  ## Common variations
69
73
 
70
74
  ### DVR: let users scrub back
71
75
 
72
- For streams with a DVR window, give users a [`<media-time-slider>`](../reference/components/time-slider.md). The live preset skins don’t include one, so add it to your custom UI or [add the live skin source to your project](./customize-skins.md#style-skin-source). The slider tracks the sliding window automatically because `duration` follows the live edge.
76
+ For a live event whose seekable history starts at zero, add a [`<media-time-slider>`](../reference/components/time-slider.md) to your custom UI or [customized live skin](./customize-skins.md#style-skin-source). Its maximum follows the seekable end. For a sliding window whose start moves forward, build a slider from the current `seekable` start and end; the built-in slider would include expired times.
73
77
 
74
78
  ### Switch UI by stream type
75
79
 
76
80
  Render live or on-demand controls from `streamType` when one player handles both kinds of content. Add `streamTypeFeature` to the player’s features; `liveVideoFeatures` does not include it:
77
81
 
78
- `<media-live-button>` selects from the live, time, and buffer features and reflects live state. To swap larger parts of the UI on `streamType`, build a provider with [createPlayer](../reference/api/html-create-player.md) and add `streamTypeFeature` to its features (`<live-video-player>` uses `liveVideoFeatures`, which does not include it), then read `streamType` from the player store through the [player controller](../reference/api/player-controller.md).
82
+ `<media-live-button>` already reflects live state. To show a whole group of controls only for live streams, compose a custom player and subscribe to its store:
83
+
84
+ ```html
85
+ <stream-type-player>
86
+ <media-container>
87
+ <hlsjs-video src="https://your-stream.example.com/live.m3u8" autoplay muted playsinline></hlsjs-video>
88
+ <div id="live-controls" hidden>
89
+ <media-live-button></media-live-button>
90
+ </div>
91
+ </media-container>
92
+ </stream-type-player>
93
+ <script type="module">
94
+ import { createPlayer, selectStreamType, streamTypeFeature } from '@videojs/html';
95
+ import { liveVideoFeatures } from '@videojs/html/live-video';
96
+ import '@videojs/html/media/hlsjs-video';
97
+ import '@videojs/html/ui/container';
98
+ import '@videojs/html/ui/live-button';
99
+
100
+ const { PlayerElement } = createPlayer({
101
+ features: [...liveVideoFeatures, streamTypeFeature],
102
+ });
103
+ customElements.define('stream-type-player', PlayerElement);
104
+
105
+ const player = document.querySelector('stream-type-player');
106
+ const store = player.store;
107
+ const controls = document.querySelector('#live-controls');
108
+ const update = () => {
109
+ controls.hidden = selectStreamType(store.state)?.streamType !== 'live';
110
+ };
111
+
112
+ const unsubscribe = store.subscribe(update);
113
+ update();
114
+ // Call unsubscribe() when this player is removed.
115
+ </script>
116
+ ```
79
117
 
80
118
  ## Troubleshooting
81
119
 
82
120
  ### The live badge never activates
83
121
 
84
- `streamType` isn’t `'live'`. Confirm the player’s features include `streamTypeFeature` (`liveVideoFeatures` does not include it, so `streamType` reads as `undefined`), the source is a live manifest, and it plays through a live-capable media element such as [`<hlsjs-video>`](../reference/components/hlsjs-video.md).
122
+ `<media-live-button>` reads `targetLiveWindow`, `currentTime`, and `seekable`. Confirm that `targetLiveWindow` is `0` or `Infinity` and that `seekable` has a finite end. Use a live-capable media element such as [`<hlsjs-video>`](../reference/components/hlsjs-video.md). The live button does not need `streamTypeFeature`; add it only when your own UI reads `streamType`.
85
123
 
86
124
  ### Playback keeps falling behind the edge
87
125
 
@@ -89,7 +127,7 @@ Network throughput can’t sustain the stream, or the tab was backgrounded. `<me
89
127
 
90
128
  ### The time slider behaves oddly on a live stream
91
129
 
92
- Standard-latency live streams have no meaningful seek range. Show the slider only for DVR streams (`targetLiveWindow` of `Infinity`).
130
+ Compare the slider’s range with `seekable`. The built-in slider always starts at zero. Once a sliding window moves past zero, the slider’s range includes expired history. Use a custom slider that follows both range bounds, or keep the live button without a timeline.
93
131
 
94
132
  ## Related pages
95
133
 
@@ -1,6 +1,6 @@
1
1
  # Video.js v10 — HTML Guides
2
2
 
3
- > Installation, migration, concepts, playback guides, customization, and tooling for Video.js. Bundled with `@videojs/html` v10.0.0-rc.4. Links are relative paths to files in this directory.
3
+ > Installation, migration, concepts, playback guides, customization, and tooling for Video.js. Bundled with `@videojs/html` v10.0.0. Links are relative paths to files in this directory.
4
4
 
5
5
  ## Getting Started
6
6
 
@@ -15,9 +15,9 @@ Install Video.js, customize a skin, understand its main pieces, check browser an
15
15
  - [Architecture](./architecture.md): How Video.js players are structured — state, UI, media, and extensions
16
16
  - [Customize skins](./customize-skins.md): Style a packaged Video.js skin or add its source to change controls, layout, styles, and interactions
17
17
  - [Why Video.js?](./why-videojs.md): The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.
18
- - [Browser support](./browser-support.md): Browsers and rendering environments supported by Video.js 10, and what the stylesheets need from them
18
+ - [Browser support](./browser-support.md): Browsers and rendering environments supported by Video.js 10, and how the packaged skins reach them
19
19
  - [Build with AI](./build-with-ai.md): Install the Video.js skill and give AI coding agents version-matched docs for building and migrating players
20
- - [v10 Roadmap](./v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
20
+ - [v10 Roadmap](./v10-roadmap.md): Where Video.js v10 stands, what comes after 10.0, and the support plan for Video.js 8
21
21
  - [Contribute to Video.js](https://github.com/videojs/v10/blob/main/CONTRIBUTING.md)
22
22
 
23
23
  ## Frameworks
@@ -64,7 +64,7 @@ Guides for one player capability each: the recommended setup, how it works, brow
64
64
  - [Show timeline thumbnail previews](./thumbnails.md): Preview frames along the timeline while the user scrubs, powered by a storyboard track.
65
65
  - [Cast to AirPlay and Chromecast](./casting.md): Send playback to AirPlay and Google Cast devices, with availability detection and connection state.
66
66
  - [Handle playback errors](./playback-errors.md): Display playback failures, report them, and choose a useful recovery action.
67
- - [Remember user preferences](./user-preferences.md): Persist volume, caption, and quality preferences across sessions by subscribing to player state.
67
+ - [Remember user preferences](./user-preferences.md): Save volume and caption preferences, restore them after loading, and adapt the pattern for quality selection.
68
68
  - [Add a background video](./background-video.md): Add an accessible background video from an MP4, WebM, HLS, or Mux source
69
69
  - [Internationalize the player](./internationalization.md): Translate player labels and announcements: shipped locale packs, custom translations, runtime switching, and server rendering.
70
70
  - [Monitor playback with Mux Data](./mux-data.md): Measure startup time, rebuffering, failures, and watch time by adding the Mux Data extension to a player
@@ -74,6 +74,7 @@ Guides for one player capability each: the recommended setup, how it works, brow
74
74
  Guides for moving an existing player integration to Video.js v10, one per player you might be coming from.
75
75
 
76
76
  - [Migrate from Video.js 8](./migrate-from-video-js-8.md): Move a Video.js 8 integration to v10, mapping the options object, techs, plugins, and player API onto composed components
77
- - [Migrate from Mux Player](./migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10, splitting one element into a player, a media, and a skin
77
+ - [Migrate from Mux Player](./migrate-from-mux-player.md): Move a Mux Player embed to Video.js v10 using a player, media component, skin, and analytics extension
78
78
  - [Migrate from Plyr](./migrate-from-plyr.md): Move an existing Plyr integration to Video.js v10, mapping Plyr options and its instance API onto components and player state
79
- - [Migrate from Media Chrome](./migrate-from-media-chrome.md): Map Media Chrome's controller, elements, and attributes onto Video.js v10, where most of the work is renaming and reshaping rather than rewriting
79
+ - [Migrate from Media Chrome](./migrate-from-media-chrome.md): Move a Media Chrome player to Video.js v10, mapping its controller, controls, styles, and imperative calls
80
+ - [Migrate from Vidstack](./migrate-from-vidstack.md): Move a Vidstack Player integration to Video.js 10, mapping the player, providers, layouts, and media store onto composed components
@@ -14,7 +14,7 @@ video.source = {
14
14
  };
15
15
  ```
16
16
 
17
- ## Three tiers, three homes
17
+ ## Where source options belong
18
18
 
19
19
  The shape answers one question: does this option describe the source, or how to play it?
20
20
 
@@ -69,7 +69,7 @@ video.source = { src, engine: { hlsJs: { maxBufferLength: 60 } } };
69
69
  video.source = { src, engine: { hlsJs: { maxBufferLength: 60 } } }; // no-op
70
70
  ```
71
71
 
72
- Only a change to the engine options, `preferPlayback`, or the resolved content type recreates the playback engine.
72
+ The hls.js adapter recreates its playback engine when `source.engine`, `source.drm`, `source.preferPlayback`, or the resolved content type changes. A new URL with the same resolved type reuses the engine when those options are unchanged. dash.js and Shaka apply changes to their engine settings in place.
73
73
 
74
74
  > **Note**
75
75
  >
@@ -84,6 +84,7 @@ Engine options live under `source.engine`, **namespaced by engine**. Each key th
84
84
  | `engine.hlsJs` | [`<hlsjs-video>`](../reference/components/hlsjs-video.md), [`<mux-video>`](../reference/components/mux-video.md), [`<mux-audio>`](../reference/components/mux-audio.md) | an [hls.js config](https://github.com/video-dev/hls.js/blob/master/docs/API.md#fine-tuning) |
85
85
  | `engine.nativeHls` | [`<native-hls-video>`](../reference/components/native-hls-video.md), and the three above whenever the browser plays the manifest | options for the browser’s own HLS support (today, [DRM](#licensing-one-engine-differently)) |
86
86
  | `engine.dashJs` | [`<dash-video>`](../reference/components/dash-video.md) | [dash.js settings](https://cdn.dashjs.org/latest/jsdoc/module-Settings.html) |
87
+ | `engine.shaka` | [`<shaka-video>`](../reference/components/shaka-video.md) | a [Shaka Player configuration](https://shaka-project.github.io/shaka-player/docs/api/shaka.extern.html#.PlayerConfiguration) |
87
88
  | `engine.vimeo` | [`<vimeo-video>`](../reference/components/vimeo-video.md) | [Vimeo embed parameters](https://developer.vimeo.com/player/sdk/embed) |
88
89
  | `engine.youtube` | [`<youtube-video>`](../reference/components/youtube-video.md) | [YouTube player parameters](https://developer.chrome.com/docs/youtube/iframe_api_reference#Parameters) |
89
90
  | `engine.cloudflare` | [`<cloudflare-video>`](../reference/components/cloudflare-video.md) | [Stream player parameters](https://developers.cloudflare.com/stream/viewing-videos/using-the-stream-player/) |
@@ -102,7 +103,7 @@ video.source = {
102
103
  };
103
104
  ```
104
105
 
105
- dash.js takes settings on a running player, so `engine.dashJs` is applied in place and playback continues uninterrupted:
106
+ dash.js applies `engine.dashJs` settings to the running player:
106
107
 
107
108
  ```ts
108
109
  const video = document.querySelector('dash-video');
@@ -115,6 +116,8 @@ video.source = {
115
116
 
116
117
  Because `engine.dashJs` replaces rather than merges, dropping a key restores the dash.js default instead of leaving the old value behind.
117
118
 
119
+ Shaka also applies `engine.shaka` configuration to the running player without recreating it. Dropping a key restores its default. Video.js enables `abr.restrictToElementSize` by default to limit adaptation to the player size.
120
+
118
121
  ### Options Video.js normalizes
119
122
 
120
123
  Where an option means the same thing across engines, it sits on `source` itself rather than inside an engine’s namespace.
@@ -262,7 +265,7 @@ video.source = {
262
265
  };
263
266
  ```
264
267
 
265
- DRM playback is always signed, so a `playback.token` belongs alongside it — and `poster.token` / `storyboard.token` for the images. Each is scoped to a different audience, so they are four separate tokens rather than one reused four times. Sign them on your server; see [Mux’s DRM guide](https://www.mux.com/docs/guides/protect-videos-with-drm) for how.
268
+ DRM playback is always signed, so a `playback.token` belongs alongside it — and `poster.token` / `storyboard.token` for the images. Each is scoped to a different audience, so they are four separate tokens rather than one reused four times. Sign them on your server; see [Mux’s DRM guide](https://www.mux.com/docs/guides/protect-videos-with-drm?utm_source=videojs&utm_campaign=vjs10&utm_content=docs-content) for how.
266
269
 
267
270
  A `drm.token` that isn’t scoped to DRM is ignored rather than sent, since the license request would be rejected. License servers named alongside the token win, key by key, for the systems Mux doesn’t license:
268
271
 
@@ -292,7 +295,7 @@ It’s read-only and derived from `source`, so read it again after `sourcechange
292
295
 
293
296
  One more key arrives later. Mux publishes a small metadata document for each asset, and the media loads it alongside the stream, so `contentData.title` fills in with the asset’s title once it does — `contentdatachange` announces it. The player reads it as the fallback for its own title, so a Mux asset titled in the dashboard names itself without a `content-title` on the player. Any other entries the document carries ride along under their own keys. An untitled asset adds nothing.
294
297
 
295
- `source.poster` takes the [full set of Mux image modifiers](https://www.mux.com/docs/guides/get-images-from-a-video), so a narrower still for a small viewport is a `width`:
298
+ `source.poster` takes the [full set of Mux image modifiers](https://www.mux.com/docs/guides/get-images-from-a-video?utm_source=videojs&utm_campaign=vjs10&utm_content=docs-content), so a narrower still for a small viewport is a `width`:
296
299
 
297
300
  ```ts
298
301
  video.source = { ...video.source, poster: { width: 320 } };