@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
@@ -0,0 +1,112 @@
1
+ # Player store
2
+
3
+ Every state field and action on the player store, grouped by the feature that adds it
4
+
5
+ The player store combines the state and actions of every feature the player includes. A field or action exists only when its feature is included. This page lists the whole store; each feature’s reference page adds its selector and examples.
6
+
7
+ ## Access
8
+
9
+ The player element exposes the store as `store`. State fields and actions are properties of the store, and `store.subscribe()` reports changes. `store.state` is a frozen snapshot of the current state, which is the object selectors take. Inside a custom element, [`PlayerController`](./player-controller.md) subscribes to a selection and updates its host.
10
+
11
+ ```ts
12
+ const player = document.querySelector('video-player');
13
+
14
+ player.store.paused;
15
+ player.store.play();
16
+
17
+ const unsubscribe = player.store.subscribe(() => {
18
+ console.log(player.store.currentTime);
19
+ });
20
+ ```
21
+
22
+ Each feature also exports a selector, such as `selectPlayback`, that returns its state and actions, or `undefined` when the player doesn’t include the feature. See [`createSelector`](./create-selector.md) to write your own.
23
+
24
+ ## State and actions
25
+
26
+ Each feature links to the same entry on its reference page.
27
+
28
+ | Name | Type | Feature | Description |
29
+ | --- | --- | --- | --- |
30
+ | `paused` | `boolean` | [`playbackFeature`](./feature-playback.md#playback-state-paused) | Whether playback is paused. |
31
+ | `ended` | `boolean` | [`playbackFeature`](./feature-playback.md#playback-state-ended) | Whether playback has reached the end. |
32
+ | `started` | `boolean` | [`playbackFeature`](./feature-playback.md#playback-state-started) | Whether playback has started (played or seeked). |
33
+ | `waiting` | `boolean` | [`playbackFeature`](./feature-playback.md#playback-state-waiting) | Whether playback is stalled waiting for data. |
34
+ | `play` | `() => Promise<void>` | [`playbackFeature`](./feature-playback.md#playback-action-play) | Start playback. Updates `paused` immediately when the media starts. |
35
+ | `pause` | `() => void` | [`playbackFeature`](./feature-playback.md#playback-action-pause) | Pause playback. Updates `paused` immediately. |
36
+ | `currentTime` | `number` | [`timeFeature`](./feature-time.md#time-state-currentTime) | Current playback position in seconds. |
37
+ | `duration` | `number` | [`timeFeature`](./feature-time.md#time-state-duration) | Total duration in seconds (0 if unknown). |
38
+ | `seeking` | `boolean` | [`timeFeature`](./feature-time.md#time-state-seeking) | Whether a seek operation is in progress. |
39
+ | `seek` | `(time: number) => Promise<number>` | [`timeFeature`](./feature-time.md#time-action-seek) | Seek to a time in seconds. Returns the actual position after seek. |
40
+ | `volume` | `number` | [`volumeFeature`](./feature-volume.md#volume-state-volume) | Volume level from 0 (silent) to 1 (max). |
41
+ | `muted` | `boolean` | [`volumeFeature`](./feature-volume.md#volume-state-muted) | Whether audio is muted. |
42
+ | `volumeAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`volumeFeature`](./feature-volume.md#volume-state-volumeAvailability) | Whether volume can be programmatically set on this platform. |
43
+ | `mutedAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`volumeFeature`](./feature-volume.md#volume-state-mutedAvailability) | Whether the media can be muted. Separate from `volumeAvailability` because the two come apart: an embed can take a mute command while offering no way to set a level, and iOS Safari refuses a volume write on media that mutes perfectly well. |
44
+ | `setVolume` | `(volume: number) => number` | [`volumeFeature`](./feature-volume.md#volume-action-setVolume) | Set volume (clamped 0-1). Returns the clamped value. |
45
+ | `setMuted` | `(muted: boolean) => boolean` | [`volumeFeature`](./feature-volume.md#volume-action-setMuted) | Set the muted state, updating the store immediately. Unmuting at volume 0 restores volume to 0.25. Returns the new muted value. |
46
+ | `isFullscreen` | `boolean` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-state-isFullscreen) | Whether fullscreen mode is currently active. |
47
+ | `fullscreenAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-state-fullscreenAvailability) | Whether fullscreen can be requested on this platform. |
48
+ | `requestFullscreen` | `() => Promise<void>` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-action-requestFullscreen) | Enter fullscreen mode. Tries container first, falls back to media element. |
49
+ | `exitFullscreen` | `() => Promise<void>` | [`fullscreenFeature`](./feature-fullscreen.md#fullscreen-action-exitFullscreen) | Exit fullscreen mode. |
50
+ | `userActive` | `boolean` | [`controlsFeature`](./feature-controls.md#controls-state-userActive) | Whether the user has recently interacted with the player. |
51
+ | `controlsVisible` | `boolean` | [`controlsFeature`](./feature-controls.md#controls-state-controlsVisible) | Whether controls should be visible. |
52
+ | `requestControlsLock` | `() => (() => void)` | [`controlsFeature`](./feature-controls.md#controls-action-requestControlsLock) | Keep controls visible during a sustained interaction. The returned function releases the lock. Multiple concurrent locks are supported and each release function is idempotent. |
53
+ | `toggleControls` | `(forceShow?: boolean) => boolean` | [`controlsFeature`](./feature-controls.md#controls-action-toggleControls) | Toggle controls visibility, or force it with `forceShow`. Returns the new `controlsVisible` value. |
54
+ | `buffered` | `[number, number][]` | [`bufferFeature`](./feature-buffer.md#buffer-state-buffered) | Buffered time ranges as \[start, end\] tuples. |
55
+ | `seekable` | `[number, number][]` | [`bufferFeature`](./feature-buffer.md#buffer-state-seekable) | Seekable time ranges as \[start, end\] tuples. |
56
+ | `textTrackList` | `MediaTextTrack[]` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-textTrackList) | All text tracks available on the media element. |
57
+ | `subtitlesShowing` | `boolean` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-subtitlesShowing) | Whether a captions/subtitles track is showing. |
58
+ | `chaptersCues` | `MediaTextCue[]` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-chaptersCues) | Cues from the first `kind="chapters"` track, with cue ends clamped to a finite media duration. |
59
+ | `thumbnailsTrack` | `{ cues: MediaTextCue[]; src: string \| null; crossOrigin: 'anonymous' \| 'use-credentials' \| null } \| null` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-state-thumbnailsTrack) | The first thumbnails track, or `null` when there is none. |
60
+ | `toggleSubtitles` | `(forceShow?: boolean) => boolean` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-action-toggleSubtitles) | Toggle captions/subtitles visibility. Showing enables one caption/subtitle track. A track already showing stays selected. Otherwise, selection prefers the last track shown, then a track matching the browser language, then the first available track. Returns whether a track is showing. |
61
+ | `selectSubtitlesTrack` | `(id: string \| null) => void` | [`textTrackFeature`](./feature-text-tracks.md#textTrack-action-selectSubtitlesTrack) | Show the captions/subtitles track with `id`, or turn captions/subtitles off with `null`. |
62
+ | `playbackRates` | `readonly number[]` | [`playbackRateFeature`](./feature-playback-rate.md#playbackRate-state-playbackRates) | Available playback rates. |
63
+ | `playbackRate` | `number` | [`playbackRateFeature`](./feature-playback-rate.md#playbackRate-state-playbackRate) | Current playback rate. |
64
+ | `setPlaybackRate` | `(rate: number) => void` | [`playbackRateFeature`](./feature-playback-rate.md#playbackRate-action-setPlaybackRate) | Set the playback rate. |
65
+ | `isPictureInPicture` | `boolean` | [`pipFeature`](./feature-pip.md#pip-state-isPictureInPicture) | Whether picture-in-picture mode is currently active. |
66
+ | `pictureInPictureAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`pipFeature`](./feature-pip.md#pip-state-pictureInPictureAvailability) | Whether picture-in-picture can be requested on this platform. |
67
+ | `requestPictureInPicture` | `() => Promise<void>` | [`pipFeature`](./feature-pip.md#pip-action-requestPictureInPicture) | Enter picture-in-picture mode, exiting fullscreen first. Rejects before metadata is loaded. |
68
+ | `exitPictureInPicture` | `() => Promise<void>` | [`pipFeature`](./feature-pip.md#pip-action-exitPictureInPicture) | Exit picture-in-picture mode. |
69
+ | `error` | `{ code: number; message: string } \| null` | [`errorFeature`](./feature-error.md#error-state-error) | The current media error, or null if none. |
70
+ | `dismissError` | `() => void` | [`errorFeature`](./feature-error.md#error-action-dismissError) | Dismiss the current error by clearing it. |
71
+ | `title` | `string` | [`metadataFeature`](./feature-metadata.md#metadata-state-title) | The resolved content title. Set it through the player, not through the store. |
72
+ | `poster` | `string` | [`metadataFeature`](./feature-metadata.md#metadata-state-poster) | The resolved poster URL, independent of the media element's own `poster`. Set it through the player, not through the store. |
73
+ | `currentSrc` | `string` | [`sourceFeature`](./feature-source.md#source-state-currentSrc) | Current media source URL (empty string if none). |
74
+ | `canPlay` | `boolean` | [`sourceFeature`](./feature-source.md#source-state-canPlay) | Whether enough data is loaded to begin playback. |
75
+ | `videoRenditionList` | `MediaVideoRendition[]` | [`qualityFeature`](./feature-quality.md#quality-state-videoRenditionList) | Video renditions available for manual quality selection. |
76
+ | `activeVideoRendition` | `{ id: string; width?: number; height?: number; bitrate?: number; frameRate?: number; codec?: string; selected: boolean } \| null` | [`qualityFeature`](./feature-quality.md#quality-state-activeVideoRendition) | Video rendition currently playing, including when automatic ABR is selected. |
77
+ | `selectVideoRendition` | `(id: string) => void` | [`qualityFeature`](./feature-quality.md#quality-action-selectVideoRendition) | Select a video rendition by `id`, or automatic ABR with `"auto"`. |
78
+ | `audioTrackList` | `MediaAudioTrack[]` | [`audioTrackFeature`](./feature-audio-track.md#audioTrack-state-audioTrackList) | Audio tracks available for manual track selection. |
79
+ | `selectAudioTrack` | `(id: string) => void` | [`audioTrackFeature`](./feature-audio-track.md#audioTrack-action-selectAudioTrack) | Select an audio track by `id`. |
80
+ | `remotePlaybackState` | `'disconnected' \| 'connecting' \| 'connected'` | [`remotePlaybackFeature`](./feature-remote-playback.md#remotePlayback-state-remotePlaybackState) | Current remote playback connection state. |
81
+ | `remotePlaybackAvailability` | `'available' \| 'unavailable' \| 'unsupported'` | [`remotePlaybackFeature`](./feature-remote-playback.md#remotePlayback-state-remotePlaybackAvailability) | Whether remote playback can be requested on this platform. |
82
+ | `promptRemotePlayback` | `() => Promise<void>` | [`remotePlaybackFeature`](./feature-remote-playback.md#remotePlayback-action-promptRemotePlayback) | Prompt the user to pick a remote playback device. Exits fullscreen first when connecting. |
83
+ | `liveEdgeStart` | `number` | [`liveFeature`](./feature-live.md#live-state-liveEdgeStart) | Playback time where the live edge begins. Playback is live when `currentTime >= liveEdgeStart`. `NaN` when the stream is not live or the value is unknown. |
84
+ | `targetLiveWindow` | `number` | [`liveFeature`](./feature-live.md#live-state-targetLiveWindow) | Describes the kind of live window available. This value is not a duration. `0` for a sliding live window, `Infinity` for a live event with playback history, and `NaN` for on-demand or unknown. |
85
+ | `streamType` | `'on-demand' \| 'live' \| 'unknown'` | [`streamTypeFeature`](./feature-stream-type.md#streamType-state-streamType) | Current stream delivery type. Components use this to show live-specific UI (for example, a live indicator or a "jump to live edge" button) or hide the time display. |
86
+ | `orientationLockType` | `'any' \| 'landscape' \| 'landscape-primary' \| 'landscape-secondary' \| 'natural' \| 'portrait' \| 'portrait-primary' \| 'portrait-secondary'` | [`orientationLockFeature`](./feature-orientation-lock.md#orientationLock-state-orientationLockType) | Screen orientation type locked while fullscreen is active. |
87
+ | `setOrientationLockType` | `(value: 'any' \| 'landscape' \| 'landscape-primary' \| 'landscape-secondary' \| 'natural' \| 'portrait' \| 'portrait-primary' \| 'portrait-secondary' \| null \| undefined) => void` | [`orientationLockFeature`](./feature-orientation-lock.md#orientationLock-action-setOrientationLockType) | Sets the locked orientation type. A missing value, including an empty one, restores the default. |
88
+
89
+ ## Features by preset
90
+
91
+ Each column is a preset's feature bundle. A feature no bundle includes is opt-in: add it to your [`createPlayer`](./html-create-player.md) features yourself.
92
+
93
+ | Feature | `videoFeatures` | `audioFeatures` | `liveAudioFeatures` | `liveVideoFeatures` |
94
+ | --- | --- | --- | --- | --- |
95
+ | [`playbackFeature`](./feature-playback.md) | ✓ | ✓ | ✓ | ✓ |
96
+ | [`timeFeature`](./feature-time.md) | ✓ | ✓ | ✓ | ✓ |
97
+ | [`volumeFeature`](./feature-volume.md) | ✓ | ✓ | ✓ | ✓ |
98
+ | [`fullscreenFeature`](./feature-fullscreen.md) | ✓ | – | – | ✓ |
99
+ | [`controlsFeature`](./feature-controls.md) | ✓ | – | – | ✓ |
100
+ | [`bufferFeature`](./feature-buffer.md) | ✓ | ✓ | ✓ | ✓ |
101
+ | [`textTrackFeature`](./feature-text-tracks.md) | ✓ | – | – | ✓ |
102
+ | [`playbackRateFeature`](./feature-playback-rate.md) | ✓ | ✓ | – | – |
103
+ | [`pipFeature`](./feature-pip.md) | ✓ | – | – | ✓ |
104
+ | [`errorFeature`](./feature-error.md) | ✓ | ✓ | ✓ | ✓ |
105
+ | [`metadataFeature`](./feature-metadata.md) | ✓ | ✓ | ✓ | ✓ |
106
+ | [`sourceFeature`](./feature-source.md) | ✓ | ✓ | ✓ | ✓ |
107
+ | [`qualityFeature`](./feature-quality.md) | ✓ | – | – | – |
108
+ | [`audioTrackFeature`](./feature-audio-track.md) | ✓ | – | – | – |
109
+ | [`remotePlaybackFeature`](./feature-remote-playback.md) | ✓ | – | – | ✓ |
110
+ | [`liveFeature`](./feature-live.md) | – | – | ✓ | ✓ |
111
+ | [`streamTypeFeature`](./feature-stream-type.md) | – | – | – | – |
112
+ | [`orientationLockFeature`](./feature-orientation-lock.md) | – | – | – | – |
@@ -0,0 +1,116 @@
1
+ # Audio preset
2
+
3
+ The audio-only preset — a player, feature bundle, skins, and media for on-demand audio
4
+
5
+ `@videojs/html/audio` is the preset for on-demand audio. It bundles the `<audio-player>` element, the `audioFeatures` bundle it is configured with, and two skins, and plays through the browser’s native `<audio>`. See [Presets](../../guides/presets.md) for how presets fit together and how to customize one.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import '@videojs/html/audio/player';
11
+ import '@videojs/html/audio/skin';
12
+ ```
13
+
14
+ Import `@videojs/html/audio/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
+
16
+ ```html
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0/audio.js"></script>
18
+ ```
19
+
20
+ `audio-neutral.js` registers the neutral skin instead, and `audio-player.js` registers `<audio-player>` alone.
21
+
22
+ ## Usage
23
+
24
+ **index.html**
25
+
26
+ ```html
27
+ <script type="module">
28
+ import '@videojs/html/audio/player';
29
+ import '@videojs/html/audio/skin';
30
+ </script>
31
+
32
+ <audio-player>
33
+ <audio-skin>
34
+ <audio src="audio.m4a"></audio>
35
+ </audio-skin>
36
+ </audio-player>
37
+ ```
38
+
39
+ ## Player
40
+
41
+ `@videojs/html/audio/player` registers `<audio-player>`, whose class is `AudioPlayerElement`. It is a [player](../components/player.md) element created by [`createPlayer`](./html-create-player.md) with `audioFeatures`. It owns the player store but no layout. Put a skin or a [`<media-container>`](../components/player-container.md) inside it.
42
+
43
+ | Attribute | Property | Description |
44
+ | --- | --- | --- |
45
+ | `content-title` | `contentTitle` | The title to display. Takes precedence over the title the media reports. |
46
+ | `poster` | `poster` | The poster to display. Takes precedence over the poster the media reports. |
47
+ | `keep-alive` | — | Keeps the player and its store alive when the element leaves the DOM. Call `destroy()` when you’re done with it. |
48
+
49
+ `content-title` and `poster` come from the [metadata feature](./feature-metadata.md#player-inputs). The element’s read-only `store` property returns its player store.
50
+
51
+ The preset root also exports a `PlayerController` bound to the audio player’s store. Use it from any custom element inside `<audio-player>`; see [`PlayerController`](./player-controller.md).
52
+
53
+ ## Feature bundle
54
+
55
+ `audioFeatures` is the array of [features](../../guides/features.md) the player is configured with, a subset of the [video preset’s](./preset-video.md#feature-bundle) `videoFeatures`:
56
+
57
+ | Feature | Description |
58
+ | --- | --- |
59
+ | [`playbackFeature`](./feature-playback.md) | Play/pause state and actions for the player store |
60
+ | [`playbackRateFeature`](./feature-playback-rate.md) | Playback speed state and actions for the player store |
61
+ | [`volumeFeature`](./feature-volume.md) | Volume level and mute state for the player store |
62
+ | [`timeFeature`](./feature-time.md) | Playback position and duration state for the player store |
63
+ | [`sourceFeature`](./feature-source.md) | Media source state and actions for the player store |
64
+ | [`bufferFeature`](./feature-buffer.md) | Buffered and seekable time range state for the player store |
65
+ | [`errorFeature`](./feature-error.md) | Media error state and actions for the player store |
66
+ | [`metadataFeature`](./feature-metadata.md) | Resolved title and poster values for the player store |
67
+
68
+ Its type, `AudioFeatures`, is the tuple of those features in order. Import it from the package root:
69
+
70
+ ```ts
71
+ import type { AudioFeatures } from '@videojs/html';
72
+ ```
73
+
74
+ To add or remove a feature, pass your own array to `createPlayer`. The skins expect the features they render controls for.
75
+
76
+ ```ts
77
+ import { createPlayer, remotePlaybackFeature } from '@videojs/html';
78
+ import { audioFeatures } from '@videojs/html/audio';
79
+
80
+ const { PlayerElement } = createPlayer({
81
+ features: [...audioFeatures, remotePlaybackFeature],
82
+ });
83
+
84
+ customElements.define('my-audio-player', PlayerElement);
85
+ ```
86
+
87
+ ## Skins
88
+
89
+ - [AudioSkin](../components/audio-skin.md) — the default skin, with the modern, frosted look.
90
+ - [NeutralAudioSkin](../components/audio-neutral-skin.md) — the visually lighter variant, closer to a classic control bar.
91
+
92
+ ## Media
93
+
94
+ The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media element of its own. Swap it for any compatible [media element](../../guides/media-sources.md), such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
95
+
96
+ ## Exports
97
+
98
+ The preset root, `@videojs/html/audio`, has no side effects. Importing it never registers an element:
99
+
100
+ | Export | Description |
101
+ | --- | --- |
102
+ | `AudioPlayerElement` | The [player](#player) element class. |
103
+ | `PlayerController` | The player controller, bound to the audio player’s store. |
104
+ | `audioFeatures` | The [feature bundle](#feature-bundle). |
105
+ | `AudioSkinElement` | The default [skin](#skins) element class. |
106
+ | `NeutralAudioSkinElement` | The neutral [skin](#skins) element class. |
107
+
108
+ Registration entry points are side-effect-only:
109
+
110
+ | Entry point | Registers |
111
+ | --- | --- |
112
+ | `@videojs/html/audio/player` | `<audio-player>` |
113
+ | `@videojs/html/audio/skin` | `<audio-skin>`, `<media-container>`, and the UI elements the skin composes |
114
+ | `@videojs/html/audio/neutral-skin` | `<audio-neutral-skin>`, `<media-container>`, and the UI elements the neutral skin composes |
115
+ | `@videojs/html/audio/ui` | `<media-container>` and the UI elements of the default skin, without the skin, for a layout you write yourself |
116
+ | `@videojs/html/audio/neutral-ui` | `<media-container>` and the UI elements of the neutral skin, without the skin |
@@ -0,0 +1,103 @@
1
+ # Background preset
2
+
3
+ The background video preset — a player, feature bundle, skin, and media for ambient video with no controls
4
+
5
+ `@videojs/html/background` is the preset for ambient background video with no user controls. It bundles the `<background-video-player>` element, the `backgroundFeatures` bundle it is configured with, one chrome-less skin, and the `<background-video>` media element, which autoplays, mutes, and loops. See [Presets](../../guides/presets.md) for how presets fit together and [Background video](../../guides/background-video.md) for building one.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import '@videojs/html/background/player';
11
+ import '@videojs/html/background/skin';
12
+ import '@videojs/html/background/video';
13
+ ```
14
+
15
+ Or load the [CDN](../../guides/cdn.md) bundle that registers all three:
16
+
17
+ ```html
18
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0/background.js"></script>
19
+ ```
20
+
21
+ Unlike the other presets, the background preset has one bundle and no player-only bundle.
22
+
23
+ ## Usage
24
+
25
+ **index.html**
26
+
27
+ ```html
28
+ <script type="module">
29
+ import '@videojs/html/background/player';
30
+ import '@videojs/html/background/skin';
31
+ import '@videojs/html/background/video';
32
+ </script>
33
+
34
+ <background-video-player>
35
+ <background-video-skin>
36
+ <background-video src="hero.mp4"></background-video>
37
+ </background-video-skin>
38
+ </background-video-player>
39
+ ```
40
+
41
+ ## Player
42
+
43
+ `@videojs/html/background/player` registers `<background-video-player>`, whose class is `BackgroundVideoPlayerElement`. It is a [player](../components/player.md) element created by [`createPlayer`](./html-create-player.md) with `backgroundFeatures`. It owns the player store but no layout. Put the skin or a [`<media-container>`](../components/player-container.md) inside it.
44
+
45
+ | Attribute | Property | Description |
46
+ | --- | --- | --- |
47
+ | `keep-alive` | — | Keeps the player and its store alive when the element leaves the DOM. Call `destroy()` when you’re done with it. |
48
+
49
+ The bundle has no feature that takes player inputs, so the element has no player-input attributes such as `content-title` or `poster`; `keep-alive` is the only attribute it reads. Its read-only `store` property returns its player store.
50
+
51
+ The preset root also exports a `PlayerController` bound to the background player’s store. Use it from any custom element inside `<background-video-player>`; see [`PlayerController`](./player-controller.md).
52
+
53
+ ## Feature bundle
54
+
55
+ `backgroundFeatures` is the array of [features](../../guides/features.md) the player is configured with. The background media element handles autoplay, muting, and looping on its own:
56
+
57
+ `backgroundFeatures` is currently empty, so the player's store holds no feature state or actions.
58
+
59
+ Its type, `BackgroundFeatures`, is the matching empty tuple. Import it from the package root:
60
+
61
+ ```ts
62
+ import type { BackgroundFeatures } from '@videojs/html';
63
+ ```
64
+
65
+ To add a feature, pass your own array to `createPlayer`. For example, add playback to drive a play button over the background video:
66
+
67
+ ```ts
68
+ import { createPlayer, playbackFeature } from '@videojs/html';
69
+ import { backgroundFeatures } from '@videojs/html/background';
70
+
71
+ const { PlayerElement } = createPlayer({
72
+ features: [...backgroundFeatures, playbackFeature],
73
+ });
74
+
75
+ customElements.define('my-background-player', PlayerElement);
76
+ ```
77
+
78
+ ## Skins
79
+
80
+ - [BackgroundVideoSkin](../components/background-video-skin.md) — the only skin, a chrome-less surface that sizes the video and renders no controls.
81
+
82
+ ## Media
83
+
84
+ `@videojs/html/background/video` registers [`<background-video>`](../components/background-video.md), which renders a `<video>` inside shadow DOM that is muted, looped, and autoplaying by default. It is the same registration as `@videojs/html/media/background-video`. For HLS or Mux sources, use [`<hls-background-video>`](../components/hls-background-video.md) or [`<mux-background-video>`](../components/mux-background-video.md) instead.
85
+
86
+ ## Exports
87
+
88
+ The preset root, `@videojs/html/background`, has no side effects. Importing it never registers an element:
89
+
90
+ | Export | Description |
91
+ | --- | --- |
92
+ | `BackgroundVideoPlayerElement` | The [player](#player) element class. |
93
+ | `PlayerController` | The player controller, bound to the background player’s store. |
94
+ | `backgroundFeatures` | The [feature bundle](#feature-bundle). |
95
+ | `BackgroundVideoSkinElement` | The [skin](#skins) element class. |
96
+
97
+ Registration entry points are side-effect-only:
98
+
99
+ | Entry point | Registers |
100
+ | --- | --- |
101
+ | `@videojs/html/background/player` | `<background-video-player>` |
102
+ | `@videojs/html/background/skin` | `<background-video-skin>` and `<media-container>` |
103
+ | `@videojs/html/background/video` | `<background-video>` |
@@ -0,0 +1,119 @@
1
+ # Live audio preset
2
+
3
+ The live audio preset — a player, feature bundle, skins, and media for live audio streams
4
+
5
+ `@videojs/html/live-audio` is the preset for live audio streams. It bundles the `<live-audio-player>` element, the `liveAudioFeatures` bundle it is configured with, and two skins that swap the time slider and time displays for a Live button, and plays through the browser’s native `<audio>`. See [Presets](../../guides/presets.md) for how presets fit together and [Live streams](../../guides/live-streams.md) for playing a live source.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import '@videojs/html/live-audio/player';
11
+ import '@videojs/html/live-audio/skin';
12
+ ```
13
+
14
+ Import `@videojs/html/live-audio/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
+
16
+ ```html
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0/live-audio.js"></script>
18
+ ```
19
+
20
+ `live-audio-neutral.js` registers the neutral skin instead, and `live-audio-player.js` registers `<live-audio-player>` alone.
21
+
22
+ ## Usage
23
+
24
+ Live streams are usually HLS, so this example plays through an HLS media element instead of the preset’s native audio.
25
+
26
+ **index.html**
27
+
28
+ ```html
29
+ <script type="module">
30
+ import '@videojs/html/live-audio/player';
31
+ import '@videojs/html/live-audio/skin';
32
+ import '@videojs/html/media/hls-audio';
33
+ </script>
34
+
35
+ <live-audio-player>
36
+ <live-audio-skin>
37
+ <hls-audio src="https://example.com/live.m3u8"></hls-audio>
38
+ </live-audio-skin>
39
+ </live-audio-player>
40
+ ```
41
+
42
+ ## Player
43
+
44
+ `@videojs/html/live-audio/player` registers `<live-audio-player>`, whose class is `LiveAudioPlayerElement`. It is a [player](../components/player.md) element created by [`createPlayer`](./html-create-player.md) with `liveAudioFeatures`. It owns the player store but no layout. Put a skin or a [`<media-container>`](../components/player-container.md) inside it.
45
+
46
+ | Attribute | Property | Description |
47
+ | --- | --- | --- |
48
+ | `content-title` | `contentTitle` | The title to display. Takes precedence over the title the media reports. |
49
+ | `poster` | `poster` | The poster to display. Takes precedence over the poster the media reports. |
50
+ | `keep-alive` | — | Keeps the player and its store alive when the element leaves the DOM. Call `destroy()` when you’re done with it. |
51
+
52
+ `content-title` and `poster` come from the [metadata feature](./feature-metadata.md#player-inputs). The element’s read-only `store` property returns its player store.
53
+
54
+ The preset root also exports a `PlayerController` bound to the live audio player’s store. Use it from any custom element inside `<live-audio-player>`; see [`PlayerController`](./player-controller.md).
55
+
56
+ ## Feature bundle
57
+
58
+ `liveAudioFeatures` is the array of [features](../../guides/features.md) the player is configured with. It is the [audio preset’s](./preset-audio.md#feature-bundle) `audioFeatures` without playback rate, plus the [live feature](./feature-live.md):
59
+
60
+ | Feature | Description |
61
+ | --- | --- |
62
+ | [`playbackFeature`](./feature-playback.md) | Play/pause state and actions for the player store |
63
+ | [`volumeFeature`](./feature-volume.md) | Volume level and mute state for the player store |
64
+ | [`timeFeature`](./feature-time.md) | Playback position and duration state for the player store |
65
+ | [`sourceFeature`](./feature-source.md) | Media source state and actions for the player store |
66
+ | [`bufferFeature`](./feature-buffer.md) | Buffered and seekable time range state for the player store |
67
+ | [`errorFeature`](./feature-error.md) | Media error state and actions for the player store |
68
+ | [`liveFeature`](./feature-live.md) | Live edge state for the player store |
69
+ | [`metadataFeature`](./feature-metadata.md) | Resolved title and poster values for the player store |
70
+
71
+ Its type, `LiveAudioFeatures`, is the tuple of those features in order. Import it from the package root:
72
+
73
+ ```ts
74
+ import type { LiveAudioFeatures } from '@videojs/html';
75
+ ```
76
+
77
+ To add or remove a feature, pass your own array to `createPlayer`. The skins expect the features they render controls for.
78
+
79
+ ```ts
80
+ import { createPlayer, streamTypeFeature } from '@videojs/html';
81
+ import { liveAudioFeatures } from '@videojs/html/live-audio';
82
+
83
+ const { PlayerElement } = createPlayer({
84
+ features: [...liveAudioFeatures, streamTypeFeature],
85
+ });
86
+
87
+ customElements.define('my-live-audio-player', PlayerElement);
88
+ ```
89
+
90
+ ## Skins
91
+
92
+ - [LiveAudioSkin](../components/live-audio-skin.md) — the default skin, which swaps the time controls for a Live button.
93
+ - [NeutralLiveAudioSkin](../components/live-audio-neutral-skin.md) — the visually lighter variant, closer to a classic control bar.
94
+
95
+ ## Media
96
+
97
+ The preset plays through a native [`<audio>`](../components/audio.md), so it registers no media element of its own. Most browsers need a streaming [media element](../../guides/media-sources.md) to play a live source, such as [`<hls-audio>`](../components/hls-audio.md) for HLS.
98
+
99
+ ## Exports
100
+
101
+ The preset root, `@videojs/html/live-audio`, has no side effects. Importing it never registers an element:
102
+
103
+ | Export | Description |
104
+ | --- | --- |
105
+ | `LiveAudioPlayerElement` | The [player](#player) element class. |
106
+ | `PlayerController` | The player controller, bound to the live audio player’s store. |
107
+ | `liveAudioFeatures` | The [feature bundle](#feature-bundle). |
108
+ | `LiveAudioSkinElement` | The default [skin](#skins) element class. |
109
+ | `NeutralLiveAudioSkinElement` | The neutral [skin](#skins) element class. |
110
+
111
+ Registration entry points are side-effect-only:
112
+
113
+ | Entry point | Registers |
114
+ | --- | --- |
115
+ | `@videojs/html/live-audio/player` | `<live-audio-player>` |
116
+ | `@videojs/html/live-audio/skin` | `<live-audio-skin>`, `<media-container>`, and the UI elements the skin composes |
117
+ | `@videojs/html/live-audio/neutral-skin` | `<live-audio-neutral-skin>`, `<media-container>`, and the UI elements the neutral skin composes |
118
+ | `@videojs/html/live-audio/ui` | `<media-container>` and the UI elements of the default skin, without the skin, for a layout you write yourself |
119
+ | `@videojs/html/live-audio/neutral-ui` | `<media-container>` and the UI elements of the neutral skin, without the skin |
@@ -0,0 +1,124 @@
1
+ # Live video preset
2
+
3
+ The live video preset — a player, feature bundle, skins, and media for live video streams
4
+
5
+ `@videojs/html/live-video` is the preset for live video streams. It bundles the `<live-video-player>` element, the `liveVideoFeatures` bundle it is configured with, and two skins that swap the time slider and time displays for a Live button, and plays through the browser’s native `<video>`. See [Presets](../../guides/presets.md) for how presets fit together and [Live streams](../../guides/live-streams.md) for playing a live source.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import '@videojs/html/live-video/player';
11
+ import '@videojs/html/live-video/skin';
12
+ ```
13
+
14
+ Import `@videojs/html/live-video/neutral-skin` instead for the neutral skin. Or load one [CDN](../../guides/cdn.md) bundle that registers the player and a skin together:
15
+
16
+ ```html
17
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@videojs/cdn@10.0.0/live-video.js"></script>
18
+ ```
19
+
20
+ `live-video-neutral.js` registers the neutral skin instead, and `live-video-player.js` registers `<live-video-player>` alone.
21
+
22
+ ## Usage
23
+
24
+ Live streams are usually HLS, so this example plays through an HLS media element instead of the preset’s native video.
25
+
26
+ **index.html**
27
+
28
+ ```html
29
+ <script type="module">
30
+ import '@videojs/html/live-video/player';
31
+ import '@videojs/html/live-video/skin';
32
+ import '@videojs/html/media/hlsjs-video';
33
+ </script>
34
+
35
+ <live-video-player>
36
+ <live-video-skin>
37
+ <hlsjs-video src="https://example.com/live.m3u8"></hlsjs-video>
38
+ </live-video-skin>
39
+ </live-video-player>
40
+ ```
41
+
42
+ ## Player
43
+
44
+ `@videojs/html/live-video/player` registers `<live-video-player>`, whose class is `LiveVideoPlayerElement`. It is a [player](../components/player.md) element created by [`createPlayer`](./html-create-player.md) with `liveVideoFeatures`. It owns the player store but no layout. Put a skin or a [`<media-container>`](../components/player-container.md) inside it.
45
+
46
+ | Attribute | Property | Description |
47
+ | --- | --- | --- |
48
+ | `content-title` | `contentTitle` | The title to display. Takes precedence over the title the media reports. |
49
+ | `poster` | `poster` | The poster to display. Takes precedence over the poster the media reports. |
50
+ | `keep-alive` | — | Keeps the player and its store alive when the element leaves the DOM. Call `destroy()` when you’re done with it. |
51
+
52
+ `content-title` and `poster` come from the [metadata feature](./feature-metadata.md#player-inputs). The element’s read-only `store` property returns its player store.
53
+
54
+ The preset root also exports a `PlayerController` bound to the live video player’s store. Use it from any custom element inside `<live-video-player>`; see [`PlayerController`](./player-controller.md).
55
+
56
+ ## Feature bundle
57
+
58
+ `liveVideoFeatures` is the array of [features](../../guides/features.md) the player is configured with. It is the [video preset’s](./preset-video.md#feature-bundle) `videoFeatures` without playback rate, quality, and audio-track selection, plus the [live feature](./feature-live.md):
59
+
60
+ | Feature | Description |
61
+ | --- | --- |
62
+ | [`playbackFeature`](./feature-playback.md) | Play/pause state and actions for the player store |
63
+ | [`volumeFeature`](./feature-volume.md) | Volume level and mute state for the player store |
64
+ | [`timeFeature`](./feature-time.md) | Playback position and duration state for the player store |
65
+ | [`sourceFeature`](./feature-source.md) | Media source state and actions for the player store |
66
+ | [`bufferFeature`](./feature-buffer.md) | Buffered and seekable time range state for the player store |
67
+ | [`fullscreenFeature`](./feature-fullscreen.md) | Fullscreen state and actions for the player store |
68
+ | [`pipFeature`](./feature-pip.md) | Picture-in-picture state and actions for the player store |
69
+ | [`remotePlaybackFeature`](./feature-remote-playback.md) | Remote playback state and actions for the player store |
70
+ | [`controlsFeature`](./feature-controls.md) | User activity and controls visibility state for the player store |
71
+ | [`textTrackFeature`](./feature-text-tracks.md) | Subtitles, captions, and chapter track state for the player store |
72
+ | [`errorFeature`](./feature-error.md) | Media error state and actions for the player store |
73
+ | [`liveFeature`](./feature-live.md) | Live edge state for the player store |
74
+ | [`metadataFeature`](./feature-metadata.md) | Resolved title and poster values for the player store |
75
+
76
+ Its type, `LiveVideoFeatures`, is the tuple of those features in order. Import it from the package root:
77
+
78
+ ```ts
79
+ import type { LiveVideoFeatures } from '@videojs/html';
80
+ ```
81
+
82
+ To add or remove a feature, pass your own array to `createPlayer`. The skins expect the features they render controls for.
83
+
84
+ ```ts
85
+ import { createPlayer, streamTypeFeature } from '@videojs/html';
86
+ import { liveVideoFeatures } from '@videojs/html/live-video';
87
+
88
+ const { PlayerElement } = createPlayer({
89
+ features: [...liveVideoFeatures, streamTypeFeature],
90
+ });
91
+
92
+ customElements.define('my-live-video-player', PlayerElement);
93
+ ```
94
+
95
+ ## Skins
96
+
97
+ - [LiveVideoSkin](../components/live-video-skin.md) — the default skin, which swaps the time controls for a Live button.
98
+ - [NeutralLiveVideoSkin](../components/live-video-neutral-skin.md) — the visually lighter variant, closer to a classic control bar.
99
+
100
+ ## Media
101
+
102
+ The preset plays through a native [`<video>`](../components/video.md), so it registers no media element of its own. Most browsers need a streaming [media element](../../guides/media-sources.md) to play a live source, such as [`<hlsjs-video>`](../components/hlsjs-video.md) for HLS.
103
+
104
+ ## Exports
105
+
106
+ The preset root, `@videojs/html/live-video`, has no side effects. Importing it never registers an element:
107
+
108
+ | Export | Description |
109
+ | --- | --- |
110
+ | `LiveVideoPlayerElement` | The [player](#player) element class. |
111
+ | `PlayerController` | The player controller, bound to the live video player’s store. |
112
+ | `liveVideoFeatures` | The [feature bundle](#feature-bundle). |
113
+ | `LiveVideoSkinElement` | The default [skin](#skins) element class. |
114
+ | `NeutralLiveVideoSkinElement` | The neutral [skin](#skins) element class. |
115
+
116
+ Registration entry points are side-effect-only:
117
+
118
+ | Entry point | Registers |
119
+ | --- | --- |
120
+ | `@videojs/html/live-video/player` | `<live-video-player>` |
121
+ | `@videojs/html/live-video/skin` | `<live-video-skin>`, `<media-container>`, and the UI elements the skin composes |
122
+ | `@videojs/html/live-video/neutral-skin` | `<live-video-neutral-skin>`, `<media-container>`, and the UI elements the neutral skin composes |
123
+ | `@videojs/html/live-video/ui` | `<media-container>` and the UI elements of the default skin, without the skin, for a layout you write yourself |
124
+ | `@videojs/html/live-video/neutral-ui` | `<media-container>` and the UI elements of the neutral skin, without the skin |