@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
@@ -1,20 +1,21 @@
1
- import { MediaExtensionElement } from "../media-extension-element.js";
1
+ import { PlayerExtensionElement } from "../player-extension-element.js";
2
2
  import { GoogleCastExtension } from "@videojs/google-cast";
3
3
  //#region src/extensions/google-cast/extension.ts
4
4
  /**
5
- * Adds the Google Cast extension to the surrounding player's media.
5
+ * Adds the Google Cast extension to the surrounding player.
6
6
  *
7
- * Renders nothing — place it inside the player as a sibling of the media element and it follows the active media.
7
+ * Renders nothing — place it inside the player and it follows whatever media the player attaches, a plain `<video>`
8
+ * included.
8
9
  *
9
10
  * @example
10
11
  * ```html
11
12
  * <video-player>
12
- * <hlsjs-video src="https://example.com/stream.m3u8"></hlsjs-video>
13
+ * <video src="https://example.com/video.mp4"></video>
13
14
  * <google-cast receiver="YOUR_APP_ID"></google-cast>
14
15
  * </video-player>
15
16
  * ```;
16
17
  */
17
- var GoogleCastExtension$1 = class extends MediaExtensionElement {
18
+ var GoogleCastExtension$1 = class extends PlayerExtensionElement {
18
19
  static {
19
20
  this.tagName = "google-cast";
20
21
  }
@@ -32,43 +33,43 @@ var GoogleCastExtension$1 = class extends MediaExtensionElement {
32
33
  receiver: { type: String }
33
34
  };
34
35
  }
35
- createComponent() {
36
+ createExtension() {
36
37
  return new GoogleCastExtension();
37
38
  }
38
- /** Source URL loaded on the Cast receiver. Falls back to the media's `src` / `currentSrc`. */
39
+ /** Source URL loaded on the Cast receiver. Falls back to the source the media is playing. */
39
40
  get src() {
40
- return this.component.src ?? "";
41
+ return this.extension.src ?? "";
41
42
  }
42
43
  set src(value) {
43
- this.component.src = value ?? void 0;
44
+ this.extension.src = value ?? void 0;
44
45
  }
45
46
  /** MIME type of the Cast source. When unset, the receiver infers it from the URL. */
46
47
  get contentType() {
47
- return this.component.contentType;
48
+ return this.extension.contentType;
48
49
  }
49
50
  set contentType(value) {
50
- this.component.contentType = value ?? void 0;
51
+ this.extension.contentType = value ?? void 0;
51
52
  }
52
53
  /** Stream type used on the Cast receiver. Falls back to the media's `streamType`. */
53
54
  get streamType() {
54
- return this.component.streamType;
55
+ return this.extension.streamType;
55
56
  }
56
57
  set streamType(value) {
57
- this.component.streamType = value ?? void 0;
58
+ this.extension.streamType = value ?? void 0;
58
59
  }
59
60
  /** Cast receiver application ID. Defaults to Google's default media receiver. */
60
61
  get receiver() {
61
- return this.component.receiver;
62
+ return this.extension.receiver;
62
63
  }
63
64
  set receiver(value) {
64
- this.component.receiver = value ?? void 0;
65
+ this.extension.receiver = value ?? void 0;
65
66
  }
66
67
  /** Custom data sent to the Cast receiver with the load request. */
67
68
  get customData() {
68
- return this.component.customData;
69
+ return this.extension.customData;
69
70
  }
70
71
  set customData(value) {
71
- this.component.customData = value;
72
+ this.extension.customData = value;
72
73
  }
73
74
  };
74
75
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","names":["GoogleCastExtension","GoogleCastExtensionBase"],"sources":["../../../../src/extensions/google-cast/extension.ts"],"sourcesContent":["import type { PropertyDeclarationMap } from '@videojs/element';\nimport { GoogleCastExtension as GoogleCastExtensionBase, type GoogleCastExtensionProps } from '@videojs/google-cast';\n\nimport { MediaExtensionElement } from '../media-extension-element';\n\n/**\n * Adds the Google Cast extension to the surrounding player's media.\n *\n * Renders nothing — place it inside the player as a sibling of the media element and it follows the active media.\n *\n * @example\n * ```html\n * <video-player>\n * <hlsjs-video src=\"https://example.com/stream.m3u8\"></hlsjs-video>\n * <google-cast receiver=\"YOUR_APP_ID\"></google-cast>\n * </video-player>\n * ```;\n */\nexport class GoogleCastExtension extends MediaExtensionElement<GoogleCastExtensionBase> {\n static readonly tagName = 'google-cast';\n\n static override properties = {\n src: { type: String },\n contentType: { type: String, attribute: 'content-type' },\n streamType: { type: String, attribute: 'stream-type' },\n receiver: { type: String },\n // `customData` takes an object, so it's a property-only prop.\n } satisfies PropertyDeclarationMap<Exclude<keyof GoogleCastExtensionProps, 'customData'>>;\n\n protected createComponent(): GoogleCastExtensionBase {\n return new GoogleCastExtensionBase();\n }\n\n /** Source URL loaded on the Cast receiver. Falls back to the media's `src` / `currentSrc`. */\n get src(): string {\n return this.component.src ?? '';\n }\n\n set src(value: string | null | undefined) {\n this.component.src = value ?? undefined;\n }\n\n /** MIME type of the Cast source. When unset, the receiver infers it from the URL. */\n get contentType(): string | undefined {\n return this.component.contentType;\n }\n\n set contentType(value: string | null | undefined) {\n this.component.contentType = value ?? undefined;\n }\n\n /** Stream type used on the Cast receiver. Falls back to the media's `streamType`. */\n get streamType(): GoogleCastExtensionProps['streamType'] {\n return this.component.streamType;\n }\n\n set streamType(value: GoogleCastExtensionProps['streamType'] | null) {\n this.component.streamType = value ?? undefined;\n }\n\n /** Cast receiver application ID. Defaults to Google's default media receiver. */\n get receiver(): string | undefined {\n return this.component.receiver;\n }\n\n set receiver(value: string | null | undefined) {\n this.component.receiver = value ?? undefined;\n }\n\n /** Custom data sent to the Cast receiver with the load request. */\n get customData(): GoogleCastExtensionProps['customData'] {\n return this.component.customData;\n }\n\n set customData(value: GoogleCastExtensionProps['customData']) {\n this.component.customData = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkBA,IAAaA,wBAAb,cAAyC,sBAA+C;;EAC5D,KAAA,UAAA;;;EAEG,KAAA,aAAA;GAC3B,KAAK,EAAE,MAAM,OAAO;GACpB,aAAa;IAAE,MAAM;IAAQ,WAAW;GAAe;GACvD,YAAY;IAAE,MAAM;IAAQ,WAAW;GAAc;GACrD,UAAU,EAAE,MAAM,OAAO;EAE3B;;CAEA,kBAAqD;EACnD,OAAO,IAAIC,oBAAwB;CACrC;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAK,UAAU,OAAO;CAC/B;CAEA,IAAI,IAAI,OAAkC;EACxC,KAAK,UAAU,MAAM,SAAS,KAAA;CAChC;;CAGA,IAAI,cAAkC;EACpC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,YAAY,OAAkC;EAChD,KAAK,UAAU,cAAc,SAAS,KAAA;CACxC;;CAGA,IAAI,aAAqD;EACvD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAAsD;EACnE,KAAK,UAAU,aAAa,SAAS,KAAA;CACvC;;CAGA,IAAI,WAA+B;EACjC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,SAAS,OAAkC;EAC7C,KAAK,UAAU,WAAW,SAAS,KAAA;CACrC;;CAGA,IAAI,aAAqD;EACvD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAA+C;EAC5D,KAAK,UAAU,aAAa;CAC9B;AACF"}
1
+ {"version":3,"file":"extension.js","names":["GoogleCastExtension","GoogleCastExtensionBase"],"sources":["../../../../src/extensions/google-cast/extension.ts"],"sourcesContent":["import type { PropertyDeclarationMap } from '@videojs/element';\nimport { GoogleCastExtension as GoogleCastExtensionBase, type GoogleCastExtensionProps } from '@videojs/google-cast';\n\nimport { PlayerExtensionElement } from '../player-extension-element';\n\n/**\n * Adds the Google Cast extension to the surrounding player.\n *\n * Renders nothing — place it inside the player and it follows whatever media the player attaches, a plain `<video>`\n * included.\n *\n * @example\n * ```html\n * <video-player>\n * <video src=\"https://example.com/video.mp4\"></video>\n * <google-cast receiver=\"YOUR_APP_ID\"></google-cast>\n * </video-player>\n * ```;\n */\nexport class GoogleCastExtension extends PlayerExtensionElement<GoogleCastExtensionBase> {\n static readonly tagName = 'google-cast';\n\n static override properties = {\n src: { type: String },\n contentType: { type: String, attribute: 'content-type' },\n streamType: { type: String, attribute: 'stream-type' },\n receiver: { type: String },\n // `customData` takes an object, so it's a property-only prop.\n } satisfies PropertyDeclarationMap<Exclude<keyof GoogleCastExtensionProps, 'customData'>>;\n\n protected createExtension(): GoogleCastExtensionBase {\n return new GoogleCastExtensionBase();\n }\n\n /** Source URL loaded on the Cast receiver. Falls back to the source the media is playing. */\n get src(): string {\n return this.extension.src ?? '';\n }\n\n set src(value: string | null | undefined) {\n this.extension.src = value ?? undefined;\n }\n\n /** MIME type of the Cast source. When unset, the receiver infers it from the URL. */\n get contentType(): string | undefined {\n return this.extension.contentType;\n }\n\n set contentType(value: string | null | undefined) {\n this.extension.contentType = value ?? undefined;\n }\n\n /** Stream type used on the Cast receiver. Falls back to the media's `streamType`. */\n get streamType(): GoogleCastExtensionProps['streamType'] {\n return this.extension.streamType;\n }\n\n set streamType(value: GoogleCastExtensionProps['streamType'] | null) {\n this.extension.streamType = value ?? undefined;\n }\n\n /** Cast receiver application ID. Defaults to Google's default media receiver. */\n get receiver(): string | undefined {\n return this.extension.receiver;\n }\n\n set receiver(value: string | null | undefined) {\n this.extension.receiver = value ?? undefined;\n }\n\n /** Custom data sent to the Cast receiver with the load request. */\n get customData(): GoogleCastExtensionProps['customData'] {\n return this.extension.customData;\n }\n\n set customData(value: GoogleCastExtensionProps['customData']) {\n this.extension.customData = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,IAAaA,wBAAb,cAAyC,uBAAgD;;EAC7D,KAAA,UAAA;;;EAEG,KAAA,aAAA;GAC3B,KAAK,EAAE,MAAM,OAAO;GACpB,aAAa;IAAE,MAAM;IAAQ,WAAW;GAAe;GACvD,YAAY;IAAE,MAAM;IAAQ,WAAW;GAAc;GACrD,UAAU,EAAE,MAAM,OAAO;EAE3B;;CAEA,kBAAqD;EACnD,OAAO,IAAIC,oBAAwB;CACrC;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAK,UAAU,OAAO;CAC/B;CAEA,IAAI,IAAI,OAAkC;EACxC,KAAK,UAAU,MAAM,SAAS,KAAA;CAChC;;CAGA,IAAI,cAAkC;EACpC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,YAAY,OAAkC;EAChD,KAAK,UAAU,cAAc,SAAS,KAAA;CACxC;;CAGA,IAAI,aAAqD;EACvD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAAsD;EACnE,KAAK,UAAU,aAAa,SAAS,KAAA;CACvC;;CAGA,IAAI,WAA+B;EACjC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,SAAS,OAAkC;EAC7C,KAAK,UAAU,WAAW,SAAS,KAAA;CACrC;;CAGA,IAAI,aAAqD;EACvD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAA+C;EAC5D,KAAK,UAAU,aAAa;CAC9B;AACF"}
@@ -1,10 +1,10 @@
1
- import { MediaExtensionElement } from "../media-extension-element.js";
1
+ import { PlayerExtensionElement } from "../player-extension-element.js";
2
2
  import { MuxDataExtension, MuxDataExtensionProps } from "@videojs/mux-data";
3
3
  //#region src/extensions/mux-data/extension.d.ts
4
4
  /**
5
- * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player's media.
5
+ * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player.
6
6
  *
7
- * Renders nothing — place it inside the player as a sibling of the media element and it follows the active media.
7
+ * Renders nothing — place it inside the player and it follows whatever media the player attaches.
8
8
  *
9
9
  * Mux-hosted playback needs no `env-key`: the view reports the Mux playback ID as its `video_id`, which Mux attributes
10
10
  * to the owning environment. Set `env-key` to monitor sources Mux doesn't host.
@@ -20,7 +20,7 @@ import { MuxDataExtension, MuxDataExtensionProps } from "@videojs/mux-data";
20
20
  * </video-player>
21
21
  * ```;
22
22
  */
23
- declare class MuxDataExtension$1 extends MediaExtensionElement<MuxDataExtension> {
23
+ declare class MuxDataExtension$1 extends PlayerExtensionElement<MuxDataExtension> {
24
24
  static readonly tagName = "mux-data";
25
25
  static properties: {
26
26
  envKey: {
@@ -51,7 +51,7 @@ declare class MuxDataExtension$1 extends MediaExtensionElement<MuxDataExtension>
51
51
  attribute: string;
52
52
  };
53
53
  };
54
- protected createComponent(): MuxDataExtension;
54
+ protected createExtension(): MuxDataExtension;
55
55
  /** Mux Data environment key for the beacons. Optional for Mux-hosted playback. */
56
56
  get envKey(): string | undefined;
57
57
  set envKey(value: string | null | undefined);
@@ -70,7 +70,7 @@ declare class MuxDataExtension$1 extends MediaExtensionElement<MuxDataExtension>
70
70
  /** Player software version reported to Mux Data. Defaults to the Video.js version. */
71
71
  get playerSoftwareVersion(): string | undefined;
72
72
  set playerSoftwareVersion(value: string | null | undefined);
73
- /** Epoch milliseconds the player was initialized. Defaults to the component's creation time. */
73
+ /** Epoch milliseconds the player was initialized. Defaults to when the player was created. */
74
74
  get playerInitTime(): number | undefined;
75
75
  set playerInitTime(value: number | null | undefined);
76
76
  /** Custom view metadata forwarded to the Mux Data SDK. */
@@ -1,10 +1,10 @@
1
- import { MediaExtensionElement } from "../media-extension-element.js";
1
+ import { PlayerExtensionElement } from "../player-extension-element.js";
2
2
  import { MuxDataExtension } from "@videojs/mux-data";
3
3
  //#region src/extensions/mux-data/extension.ts
4
4
  /**
5
- * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player's media.
5
+ * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player.
6
6
  *
7
- * Renders nothing — place it inside the player as a sibling of the media element and it follows the active media.
7
+ * Renders nothing — place it inside the player and it follows whatever media the player attaches.
8
8
  *
9
9
  * Mux-hosted playback needs no `env-key`: the view reports the Mux playback ID as its `video_id`, which Mux attributes
10
10
  * to the owning environment. Set `env-key` to monitor sources Mux doesn't host.
@@ -20,7 +20,7 @@ import { MuxDataExtension } from "@videojs/mux-data";
20
20
  * </video-player>
21
21
  * ```;
22
22
  */
23
- var MuxDataExtension$1 = class extends MediaExtensionElement {
23
+ var MuxDataExtension$1 = class extends PlayerExtensionElement {
24
24
  static {
25
25
  this.tagName = "mux-data";
26
26
  }
@@ -53,71 +53,71 @@ var MuxDataExtension$1 = class extends MediaExtensionElement {
53
53
  }
54
54
  };
55
55
  }
56
- createComponent() {
56
+ createExtension() {
57
57
  return new MuxDataExtension();
58
58
  }
59
59
  /** Mux Data environment key for the beacons. Optional for Mux-hosted playback. */
60
60
  get envKey() {
61
- return this.component.envKey;
61
+ return this.extension.envKey;
62
62
  }
63
63
  set envKey(value) {
64
- this.component.envKey = value ?? void 0;
64
+ this.extension.envKey = value ?? void 0;
65
65
  }
66
66
  /** Custom domain beacons are sent to. */
67
67
  get beaconCollectionDomain() {
68
- return this.component.beaconCollectionDomain;
68
+ return this.extension.beaconCollectionDomain;
69
69
  }
70
70
  set beaconCollectionDomain(value) {
71
- this.component.beaconCollectionDomain = value ?? void 0;
71
+ this.extension.beaconCollectionDomain = value ?? void 0;
72
72
  }
73
73
  /** Enables Mux Data SDK debug logging. */
74
74
  get debug() {
75
- return this.component.debug;
75
+ return this.extension.debug;
76
76
  }
77
77
  set debug(value) {
78
- this.component.debug = value;
78
+ this.extension.debug = value;
79
79
  }
80
80
  /** Disables Mux Data SDK cookies. */
81
81
  get disableCookies() {
82
- return this.component.disableCookies;
82
+ return this.extension.disableCookies;
83
83
  }
84
84
  set disableCookies(value) {
85
- this.component.disableCookies = value;
85
+ this.extension.disableCookies = value;
86
86
  }
87
87
  /** Player software name reported to Mux Data (e.g. `mux-video`). */
88
88
  get playerSoftwareName() {
89
- return this.component.playerSoftwareName;
89
+ return this.extension.playerSoftwareName;
90
90
  }
91
91
  set playerSoftwareName(value) {
92
- this.component.playerSoftwareName = value ?? void 0;
92
+ this.extension.playerSoftwareName = value ?? void 0;
93
93
  }
94
94
  /** Player software version reported to Mux Data. Defaults to the Video.js version. */
95
95
  get playerSoftwareVersion() {
96
- return this.component.playerSoftwareVersion;
96
+ return this.extension.playerSoftwareVersion;
97
97
  }
98
98
  set playerSoftwareVersion(value) {
99
- this.component.playerSoftwareVersion = value ?? void 0;
99
+ this.extension.playerSoftwareVersion = value ?? void 0;
100
100
  }
101
- /** Epoch milliseconds the player was initialized. Defaults to the component's creation time. */
101
+ /** Epoch milliseconds the player was initialized. Defaults to when the player was created. */
102
102
  get playerInitTime() {
103
- return this.component.playerInitTime;
103
+ return this.extension.playerInitTime;
104
104
  }
105
105
  set playerInitTime(value) {
106
- this.component.playerInitTime = value ?? void 0;
106
+ this.extension.playerInitTime = value ?? void 0;
107
107
  }
108
108
  /** Custom view metadata forwarded to the Mux Data SDK. */
109
109
  get metadata() {
110
- return this.component.metadata;
110
+ return this.extension.metadata;
111
111
  }
112
112
  set metadata(value) {
113
- this.component.metadata = value;
113
+ this.extension.metadata = value;
114
114
  }
115
115
  /** Mux Data SDK used for monitoring. Set to `undefined` to disable monitoring. */
116
116
  get MuxDataSdk() {
117
- return this.component.MuxDataSdk;
117
+ return this.extension.MuxDataSdk;
118
118
  }
119
119
  set MuxDataSdk(value) {
120
- this.component.MuxDataSdk = value;
120
+ this.extension.MuxDataSdk = value;
121
121
  }
122
122
  };
123
123
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","names":["MuxDataExtension","MuxDataExtensionBase"],"sources":["../../../../src/extensions/mux-data/extension.ts"],"sourcesContent":["import type { PropertyDeclarationMap } from '@videojs/element';\nimport { MuxDataExtension as MuxDataExtensionBase, type MuxDataExtensionProps } from '@videojs/mux-data';\n\nimport { MediaExtensionElement } from '../media-extension-element';\n\n/**\n * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player's media.\n *\n * Renders nothing — place it inside the player as a sibling of the media element and it follows the active media.\n *\n * Mux-hosted playback needs no `env-key`: the view reports the Mux playback ID as its `video_id`, which Mux attributes\n * to the owning environment. Set `env-key` to monitor sources Mux doesn't host.\n *\n * Any media element works. When the media plays through an hls.js or dash.js engine, that engine is handed to the Mux\n * Data SDK so the view also carries stream-level detail such as rendition switches and request timing.\n *\n * @example\n * ```html\n * <video-player>\n * <mux-video src=\"https://stream.mux.com/abc123.m3u8\"></mux-video>\n * <mux-data player-software-name=\"mux-video\"></mux-data>\n * </video-player>\n * ```;\n */\nexport class MuxDataExtension extends MediaExtensionElement<MuxDataExtensionBase> {\n static readonly tagName = 'mux-data';\n\n static override properties = {\n envKey: { type: String, attribute: 'env-key' },\n beaconCollectionDomain: { type: String, attribute: 'beacon-collection-domain' },\n debug: { type: Boolean },\n disableCookies: { type: Boolean, attribute: 'disable-cookies' },\n playerSoftwareName: { type: String, attribute: 'player-software-name' },\n playerSoftwareVersion: { type: String, attribute: 'player-software-version' },\n playerInitTime: { type: Number, attribute: 'player-init-time' },\n // `metadata` and `MuxDataSdk` take objects, so they're property-only props.\n } satisfies PropertyDeclarationMap<Exclude<keyof MuxDataExtensionProps, 'metadata' | 'MuxDataSdk'>>;\n\n protected createComponent(): MuxDataExtensionBase {\n return new MuxDataExtensionBase();\n }\n\n /** Mux Data environment key for the beacons. Optional for Mux-hosted playback. */\n get envKey(): string | undefined {\n return this.component.envKey;\n }\n\n set envKey(value: string | null | undefined) {\n this.component.envKey = value ?? undefined;\n }\n\n /** Custom domain beacons are sent to. */\n get beaconCollectionDomain(): string | undefined {\n return this.component.beaconCollectionDomain;\n }\n\n set beaconCollectionDomain(value: string | null | undefined) {\n this.component.beaconCollectionDomain = value ?? undefined;\n }\n\n /** Enables Mux Data SDK debug logging. */\n get debug(): boolean {\n return this.component.debug;\n }\n\n set debug(value: boolean) {\n this.component.debug = value;\n }\n\n /** Disables Mux Data SDK cookies. */\n get disableCookies(): boolean {\n return this.component.disableCookies;\n }\n\n set disableCookies(value: boolean) {\n this.component.disableCookies = value;\n }\n\n /** Player software name reported to Mux Data (e.g. `mux-video`). */\n get playerSoftwareName(): string | undefined {\n return this.component.playerSoftwareName;\n }\n\n set playerSoftwareName(value: string | null | undefined) {\n this.component.playerSoftwareName = value ?? undefined;\n }\n\n /** Player software version reported to Mux Data. Defaults to the Video.js version. */\n get playerSoftwareVersion(): string | undefined {\n return this.component.playerSoftwareVersion;\n }\n\n set playerSoftwareVersion(value: string | null | undefined) {\n this.component.playerSoftwareVersion = value ?? undefined;\n }\n\n /** Epoch milliseconds the player was initialized. Defaults to the component's creation time. */\n get playerInitTime(): number | undefined {\n return this.component.playerInitTime;\n }\n\n set playerInitTime(value: number | null | undefined) {\n this.component.playerInitTime = value ?? undefined;\n }\n\n /** Custom view metadata forwarded to the Mux Data SDK. */\n get metadata(): MuxDataExtensionProps['metadata'] {\n return this.component.metadata;\n }\n\n set metadata(value: MuxDataExtensionProps['metadata']) {\n this.component.metadata = value;\n }\n\n /** Mux Data SDK used for monitoring. Set to `undefined` to disable monitoring. */\n get MuxDataSdk(): MuxDataExtensionProps['MuxDataSdk'] {\n return this.component.MuxDataSdk;\n }\n\n set MuxDataSdk(value: MuxDataExtensionProps['MuxDataSdk']) {\n this.component.MuxDataSdk = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAaA,qBAAb,cAAsC,sBAA4C;;EACtD,KAAA,UAAA;;;EAEG,KAAA,aAAA;GAC3B,QAAQ;IAAE,MAAM;IAAQ,WAAW;GAAU;GAC7C,wBAAwB;IAAE,MAAM;IAAQ,WAAW;GAA2B;GAC9E,OAAO,EAAE,MAAM,QAAQ;GACvB,gBAAgB;IAAE,MAAM;IAAS,WAAW;GAAkB;GAC9D,oBAAoB;IAAE,MAAM;IAAQ,WAAW;GAAuB;GACtE,uBAAuB;IAAE,MAAM;IAAQ,WAAW;GAA0B;GAC5E,gBAAgB;IAAE,MAAM;IAAQ,WAAW;GAAmB;EAEhE;;CAEA,kBAAkD;EAChD,OAAO,IAAIC,iBAAqB;CAClC;;CAGA,IAAI,SAA6B;EAC/B,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,OAAO,OAAkC;EAC3C,KAAK,UAAU,SAAS,SAAS,KAAA;CACnC;;CAGA,IAAI,yBAA6C;EAC/C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,uBAAuB,OAAkC;EAC3D,KAAK,UAAU,yBAAyB,SAAS,KAAA;CACnD;;CAGA,IAAI,QAAiB;EACnB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,MAAM,OAAgB;EACxB,KAAK,UAAU,QAAQ;CACzB;;CAGA,IAAI,iBAA0B;EAC5B,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,eAAe,OAAgB;EACjC,KAAK,UAAU,iBAAiB;CAClC;;CAGA,IAAI,qBAAyC;EAC3C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,mBAAmB,OAAkC;EACvD,KAAK,UAAU,qBAAqB,SAAS,KAAA;CAC/C;;CAGA,IAAI,wBAA4C;EAC9C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,sBAAsB,OAAkC;EAC1D,KAAK,UAAU,wBAAwB,SAAS,KAAA;CAClD;;CAGA,IAAI,iBAAqC;EACvC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,eAAe,OAAkC;EACnD,KAAK,UAAU,iBAAiB,SAAS,KAAA;CAC3C;;CAGA,IAAI,WAA8C;EAChD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,SAAS,OAA0C;EACrD,KAAK,UAAU,WAAW;CAC5B;;CAGA,IAAI,aAAkD;EACpD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAA4C;EACzD,KAAK,UAAU,aAAa;CAC9B;AACF"}
1
+ {"version":3,"file":"extension.js","names":["MuxDataExtension","MuxDataExtensionBase"],"sources":["../../../../src/extensions/mux-data/extension.ts"],"sourcesContent":["import type { PropertyDeclarationMap } from '@videojs/element';\nimport { MuxDataExtension as MuxDataExtensionBase, type MuxDataExtensionProps } from '@videojs/mux-data';\n\nimport { PlayerExtensionElement } from '../player-extension-element';\n\n/**\n * Adds the [Mux Data](https://www.mux.com/data) extension to the surrounding player.\n *\n * Renders nothing — place it inside the player and it follows whatever media the player attaches.\n *\n * Mux-hosted playback needs no `env-key`: the view reports the Mux playback ID as its `video_id`, which Mux attributes\n * to the owning environment. Set `env-key` to monitor sources Mux doesn't host.\n *\n * Any media element works. When the media plays through an hls.js or dash.js engine, that engine is handed to the Mux\n * Data SDK so the view also carries stream-level detail such as rendition switches and request timing.\n *\n * @example\n * ```html\n * <video-player>\n * <mux-video src=\"https://stream.mux.com/abc123.m3u8\"></mux-video>\n * <mux-data player-software-name=\"mux-video\"></mux-data>\n * </video-player>\n * ```;\n */\nexport class MuxDataExtension extends PlayerExtensionElement<MuxDataExtensionBase> {\n static readonly tagName = 'mux-data';\n\n static override properties = {\n envKey: { type: String, attribute: 'env-key' },\n beaconCollectionDomain: { type: String, attribute: 'beacon-collection-domain' },\n debug: { type: Boolean },\n disableCookies: { type: Boolean, attribute: 'disable-cookies' },\n playerSoftwareName: { type: String, attribute: 'player-software-name' },\n playerSoftwareVersion: { type: String, attribute: 'player-software-version' },\n playerInitTime: { type: Number, attribute: 'player-init-time' },\n // `metadata` and `MuxDataSdk` take objects, so they're property-only props.\n } satisfies PropertyDeclarationMap<Exclude<keyof MuxDataExtensionProps, 'metadata' | 'MuxDataSdk'>>;\n\n protected createExtension(): MuxDataExtensionBase {\n return new MuxDataExtensionBase();\n }\n\n /** Mux Data environment key for the beacons. Optional for Mux-hosted playback. */\n get envKey(): string | undefined {\n return this.extension.envKey;\n }\n\n set envKey(value: string | null | undefined) {\n this.extension.envKey = value ?? undefined;\n }\n\n /** Custom domain beacons are sent to. */\n get beaconCollectionDomain(): string | undefined {\n return this.extension.beaconCollectionDomain;\n }\n\n set beaconCollectionDomain(value: string | null | undefined) {\n this.extension.beaconCollectionDomain = value ?? undefined;\n }\n\n /** Enables Mux Data SDK debug logging. */\n get debug(): boolean {\n return this.extension.debug;\n }\n\n set debug(value: boolean) {\n this.extension.debug = value;\n }\n\n /** Disables Mux Data SDK cookies. */\n get disableCookies(): boolean {\n return this.extension.disableCookies;\n }\n\n set disableCookies(value: boolean) {\n this.extension.disableCookies = value;\n }\n\n /** Player software name reported to Mux Data (e.g. `mux-video`). */\n get playerSoftwareName(): string | undefined {\n return this.extension.playerSoftwareName;\n }\n\n set playerSoftwareName(value: string | null | undefined) {\n this.extension.playerSoftwareName = value ?? undefined;\n }\n\n /** Player software version reported to Mux Data. Defaults to the Video.js version. */\n get playerSoftwareVersion(): string | undefined {\n return this.extension.playerSoftwareVersion;\n }\n\n set playerSoftwareVersion(value: string | null | undefined) {\n this.extension.playerSoftwareVersion = value ?? undefined;\n }\n\n /** Epoch milliseconds the player was initialized. Defaults to when the player was created. */\n get playerInitTime(): number | undefined {\n return this.extension.playerInitTime;\n }\n\n set playerInitTime(value: number | null | undefined) {\n this.extension.playerInitTime = value ?? undefined;\n }\n\n /** Custom view metadata forwarded to the Mux Data SDK. */\n get metadata(): MuxDataExtensionProps['metadata'] {\n return this.extension.metadata;\n }\n\n set metadata(value: MuxDataExtensionProps['metadata']) {\n this.extension.metadata = value;\n }\n\n /** Mux Data SDK used for monitoring. Set to `undefined` to disable monitoring. */\n get MuxDataSdk(): MuxDataExtensionProps['MuxDataSdk'] {\n return this.extension.MuxDataSdk;\n }\n\n set MuxDataSdk(value: MuxDataExtensionProps['MuxDataSdk']) {\n this.extension.MuxDataSdk = value;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAaA,qBAAb,cAAsC,uBAA6C;;EACvD,KAAA,UAAA;;;EAEG,KAAA,aAAA;GAC3B,QAAQ;IAAE,MAAM;IAAQ,WAAW;GAAU;GAC7C,wBAAwB;IAAE,MAAM;IAAQ,WAAW;GAA2B;GAC9E,OAAO,EAAE,MAAM,QAAQ;GACvB,gBAAgB;IAAE,MAAM;IAAS,WAAW;GAAkB;GAC9D,oBAAoB;IAAE,MAAM;IAAQ,WAAW;GAAuB;GACtE,uBAAuB;IAAE,MAAM;IAAQ,WAAW;GAA0B;GAC5E,gBAAgB;IAAE,MAAM;IAAQ,WAAW;GAAmB;EAEhE;;CAEA,kBAAkD;EAChD,OAAO,IAAIC,iBAAqB;CAClC;;CAGA,IAAI,SAA6B;EAC/B,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,OAAO,OAAkC;EAC3C,KAAK,UAAU,SAAS,SAAS,KAAA;CACnC;;CAGA,IAAI,yBAA6C;EAC/C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,uBAAuB,OAAkC;EAC3D,KAAK,UAAU,yBAAyB,SAAS,KAAA;CACnD;;CAGA,IAAI,QAAiB;EACnB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,MAAM,OAAgB;EACxB,KAAK,UAAU,QAAQ;CACzB;;CAGA,IAAI,iBAA0B;EAC5B,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,eAAe,OAAgB;EACjC,KAAK,UAAU,iBAAiB;CAClC;;CAGA,IAAI,qBAAyC;EAC3C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,mBAAmB,OAAkC;EACvD,KAAK,UAAU,qBAAqB,SAAS,KAAA;CAC/C;;CAGA,IAAI,wBAA4C;EAC9C,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,sBAAsB,OAAkC;EAC1D,KAAK,UAAU,wBAAwB,SAAS,KAAA;CAClD;;CAGA,IAAI,iBAAqC;EACvC,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,eAAe,OAAkC;EACnD,KAAK,UAAU,iBAAiB,SAAS,KAAA;CAC3C;;CAGA,IAAI,WAA8C;EAChD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,SAAS,OAA0C;EACrD,KAAK,UAAU,WAAW;CAC5B;;CAGA,IAAI,aAAkD;EACpD,OAAO,KAAK,UAAU;CACxB;CAEA,IAAI,WAAW,OAA4C;EACzD,KAAK,UAAU,aAAa;CAC9B;AACF"}
@@ -0,0 +1,30 @@
1
+ import { UIElement } from "../ui/ui-element.js";
2
+ import { PlayerExtension } from "@videojs/core/dom";
3
+ //#region src/extensions/player-extension-element.d.ts
4
+ /**
5
+ * Abstract base for elements that register a player extension (e.g. Mux Data, Google Cast) with the surrounding player.
6
+ *
7
+ * Place anywhere inside a player. The extension is registered when the element connects, follows the player's media
8
+ * (plain `<video>` / `<audio>` included) through the player itself, is released when this element disconnects, and is
9
+ * destroyed with this element.
10
+ */
11
+ export declare abstract class PlayerExtensionElement<Extension extends object> extends UIElement {
12
+ #private;
13
+ /**
14
+ * Create the player extension this element registers. Called once, lazily.
15
+ *
16
+ * Must be a method rather than a field: upgrading an element that is already in the document runs its constructor
17
+ * while connected, so the context callback below can fire before subclass field initializers have run.
18
+ *
19
+ * @internal Returning a `PlayerExtension` is what checks that the extension conforms, without making the player
20
+ * extension contract part of every element's public types.
21
+ */
22
+ protected abstract createExtension(): Extension & PlayerExtension;
23
+ /** The player extension instance registered with the player. */
24
+ protected get extension(): Extension;
25
+ constructor();
26
+ disconnectedCallback(): void;
27
+ destroyCallback(): void;
28
+ }
29
+ //#endregion
30
+ //# sourceMappingURL=player-extension-element.d.ts.map
@@ -0,0 +1,51 @@
1
+ import { extensionContext } from "../player/context.js";
2
+ import { UIElement } from "../ui/ui-element.js";
3
+ import { ContextConsumer } from "@videojs/element/context";
4
+ //#region src/extensions/player-extension-element.ts
5
+ /**
6
+ * Abstract base for elements that register a player extension (e.g. Mux Data, Google Cast) with the surrounding player.
7
+ *
8
+ * Place anywhere inside a player. The extension is registered when the element connects, follows the player's media
9
+ * (plain `<video>` / `<audio>` included) through the player itself, is released when this element disconnects, and is
10
+ * destroyed with this element.
11
+ */
12
+ var PlayerExtensionElement = class extends UIElement {
13
+ #extension = null;
14
+ #register = null;
15
+ #release = null;
16
+ /** The player extension instance registered with the player. */
17
+ get extension() {
18
+ return this.#getExtension();
19
+ }
20
+ constructor() {
21
+ super();
22
+ new ContextConsumer(this, {
23
+ context: extensionContext,
24
+ subscribe: true,
25
+ callback: (value) => this.#setRegister(value.registerExtension)
26
+ });
27
+ }
28
+ disconnectedCallback() {
29
+ this.#setRegister(null);
30
+ super.disconnectedCallback();
31
+ }
32
+ destroyCallback() {
33
+ this.#setRegister(null);
34
+ this.#extension?.destroy?.();
35
+ super.destroyCallback();
36
+ }
37
+ #setRegister(register) {
38
+ if (this.#register === register) return;
39
+ this.#release?.();
40
+ this.#release = null;
41
+ this.#register = register;
42
+ if (register) this.#release = register(this.#getExtension());
43
+ }
44
+ #getExtension() {
45
+ return this.#extension ??= this.createExtension();
46
+ }
47
+ };
48
+ //#endregion
49
+ export { PlayerExtensionElement };
50
+
51
+ //# sourceMappingURL=player-extension-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-extension-element.js","names":[],"sources":["../../../src/extensions/player-extension-element.ts"],"sourcesContent":["import type { PlayerExtension } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { type ExtensionContextValue, extensionContext } from '../player/context';\nimport { UIElement } from '../ui/ui-element';\n\n/**\n * Abstract base for elements that register a player extension (e.g. Mux Data, Google Cast) with the surrounding player.\n *\n * Place anywhere inside a player. The extension is registered when the element connects, follows the player's media\n * (plain `<video>` / `<audio>` included) through the player itself, is released when this element disconnects, and is\n * destroyed with this element.\n */\nexport abstract class PlayerExtensionElement<Extension extends object> extends UIElement {\n #extension: (Extension & PlayerExtension) | null = null;\n #register: ExtensionContextValue['registerExtension'] | null = null;\n #release: (() => void) | null = null;\n\n /**\n * Create the player extension this element registers. Called once, lazily.\n *\n * Must be a method rather than a field: upgrading an element that is already in the document runs its constructor\n * while connected, so the context callback below can fire before subclass field initializers have run.\n *\n * @internal Returning a `PlayerExtension` is what checks that the extension conforms, without making the player\n * extension contract part of every element's public types.\n */\n protected abstract createExtension(): Extension & PlayerExtension;\n\n /** The player extension instance registered with the player. */\n protected get extension(): Extension {\n return this.#getExtension();\n }\n\n constructor() {\n super();\n // Registers itself as a controller on this element; re-requests on reconnect.\n new ContextConsumer(this, {\n context: extensionContext,\n subscribe: true,\n callback: (value) => this.#setRegister(value.registerExtension),\n });\n }\n\n override disconnectedCallback(): void {\n // Release while the player is still live so the extension can clean up against the real media.\n this.#setRegister(null);\n super.disconnectedCallback();\n }\n\n override destroyCallback(): void {\n this.#setRegister(null);\n // Don't create an extension just to destroy it.\n this.#extension?.destroy?.();\n super.destroyCallback();\n }\n\n #setRegister(register: ExtensionContextValue['registerExtension'] | null): void {\n if (this.#register === register) return;\n\n this.#release?.();\n this.#release = null;\n this.#register = register;\n\n if (register) this.#release = register(this.#getExtension());\n }\n\n #getExtension(): Extension & PlayerExtension {\n return (this.#extension ??= this.createExtension());\n }\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAsB,yBAAtB,cAA+E,UAAU;CACvF,aAAmD;CACnD,YAA+D;CAC/D,WAAgC;;CAchC,IAAc,YAAuB;EACnC,OAAO,KAAK,cAAc;CAC5B;CAEA,cAAc;EACZ,MAAM;EAEN,IAAI,gBAAgB,MAAM;GACxB,SAAS;GACT,WAAW;GACX,WAAW,UAAU,KAAK,aAAa,MAAM,iBAAiB;EAChE,CAAC;CACH;CAEA,uBAAsC;EAEpC,KAAK,aAAa,IAAI;EACtB,MAAM,qBAAqB;CAC7B;CAEA,kBAAiC;EAC/B,KAAK,aAAa,IAAI;EAEtB,KAAK,YAAY,UAAU;EAC3B,MAAM,gBAAgB;CACxB;CAEA,aAAa,UAAmE;EAC9E,IAAI,KAAK,cAAc,UAAU;EAEjC,KAAK,WAAW;EAChB,KAAK,WAAW;EAChB,KAAK,YAAY;EAEjB,IAAI,UAAU,KAAK,WAAW,SAAS,KAAK,cAAc,CAAC;CAC7D;CAEA,gBAA6C;EAC3C,OAAQ,KAAK,eAAe,KAAK,gBAAgB;CACnD;AACF"}
@@ -1,19 +1,18 @@
1
1
  import { Context } from "@videojs/element/context";
2
2
  import { Locale, Translator } from "@videojs/core/i18n";
3
3
  //#region src/i18n/context.d.ts
4
- declare const I18N_CONTEXT_KEY: unique symbol;
5
- type I18nContextValue = {
4
+ export declare const I18N_CONTEXT_KEY: unique symbol;
5
+ export type I18nContextValue = {
6
6
  translator: Translator;
7
7
  locale: Locale;
8
8
  };
9
9
  /** Per-factory context identity (see {@link createI18n}). */
10
- type I18nContext = Context<symbol, I18nContextValue>;
10
+ export type I18nContext = Context<symbol, I18nContextValue>;
11
11
  /**
12
12
  * The default HTML context carrying the active translator and locale.
13
13
  *
14
14
  * @public
15
15
  */
16
- declare const i18nContext: Context<typeof I18N_CONTEXT_KEY, I18nContextValue>;
16
+ export declare const i18nContext: Context<typeof I18N_CONTEXT_KEY, I18nContextValue>;
17
17
  //#endregion
18
- export { I18N_CONTEXT_KEY, I18nContext, I18nContextValue, i18nContext };
19
18
  //# sourceMappingURL=context.d.ts.map
@@ -2,9 +2,9 @@ import { I18nContext } from "./context.js";
2
2
  import { ReactiveController, ReactiveControllerHost } from "@videojs/element";
3
3
  import { Locale, Translator } from "@videojs/core/i18n";
4
4
  //#region src/i18n/controller.d.ts
5
- type I18nControllerHost = ReactiveControllerHost & HTMLElement;
5
+ export type I18nControllerHost = ReactiveControllerHost & HTMLElement;
6
6
  /** Consumes an i18n context and updates its host when the translator or locale changes. */
7
- declare class I18nController implements ReactiveController {
7
+ export declare class I18nController implements ReactiveController {
8
8
  #private;
9
9
  /**
10
10
  * @param host - Reactive host updated when the i18n value changes.
@@ -16,10 +16,9 @@ declare class I18nController implements ReactiveController {
16
16
  hostConnected(): void;
17
17
  hostDisconnected(): void;
18
18
  }
19
- declare namespace I18nController {
19
+ export declare namespace I18nController {
20
20
  type Constructor = typeof I18nController;
21
21
  type Host = I18nControllerHost;
22
22
  }
23
23
  //#endregion
24
- export { I18nController, I18nControllerHost };
25
24
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","names":["#host","#consumer","#unsubscribeRegistry"],"sources":["../../../src/i18n/controller.ts"],"sourcesContent":["import {\n createTranslator,\n DEFAULT_LOCALE,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n type Translator,\n} from '@videojs/core/i18n';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport type { I18nContext } from './context';\n\nlet fallbackTranslator: Translator | undefined;\n\nexport type I18nControllerHost = ReactiveControllerHost & HTMLElement;\n\nexport function getFallbackTranslator(): Translator {\n fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);\n return fallbackTranslator;\n}\n\n/** Consumes an i18n context and updates its host when the translator or locale changes. */\nexport class I18nController implements ReactiveController {\n readonly #host: I18nControllerHost;\n readonly #consumer: ContextConsumer<I18nContext, I18nControllerHost>;\n #unsubscribeRegistry: (() => void) | undefined;\n\n /**\n * @param host - Reactive host updated when the i18n value changes.\n * @param context - I18n context to consume.\n */\n constructor(host: I18nControllerHost, context: I18nContext) {\n this.#host = host;\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: () => this.#host.requestUpdate(),\n subscribe: true,\n });\n host.addController(this);\n }\n\n get value(): Translator {\n return this.#consumer.value?.translator ?? getFallbackTranslator();\n }\n\n get locale(): Locale {\n return this.#consumer.value?.locale ?? DEFAULT_LOCALE;\n }\n\n hostConnected(): void {\n fallbackTranslator = undefined;\n this.#unsubscribeRegistry = onI18nRegistryChange(() => {\n fallbackTranslator = undefined;\n\n if (!this.#consumer.value) {\n this.#host.requestUpdate();\n }\n });\n }\n\n hostDisconnected(): void {\n this.#unsubscribeRegistry?.();\n this.#unsubscribeRegistry = undefined;\n }\n}\n\nexport namespace I18nController {\n export type Constructor = typeof I18nController;\n export type Host = I18nControllerHost;\n}\n"],"mappings":";;;AAaA,IAAI;AAIJ,SAAgB,wBAAoC;CAClD,uBAAuB,iBAAiB,oBAAoB,cAAc,GAAG,cAAc;CAC3F,OAAO;AACT;;AAGA,IAAa,iBAAb,MAA0D;CACxD;CACA;CACA;;;;;CAMA,YAAY,MAA0B,SAAsB;EAC1D,KAAKA,QAAQ;EACb,KAAKC,YAAY,IAAI,gBAAgB,MAAM;GACzC;GACA,gBAAgB,KAAKD,MAAM,cAAc;GACzC,WAAW;EACb,CAAC;EACD,KAAK,cAAc,IAAI;CACzB;CAEA,IAAI,QAAoB;EACtB,OAAO,KAAKC,UAAU,OAAO,cAAc,sBAAsB;CACnE;CAEA,IAAI,SAAiB;EACnB,OAAO,KAAKA,UAAU,OAAO,UAAU;CACzC;CAEA,gBAAsB;EACpB,qBAAqB,KAAA;EACrB,KAAKC,uBAAuB,2BAA2B;GACrD,qBAAqB,KAAA;GAErB,IAAI,CAAC,KAAKD,UAAU,OAClB,KAAKD,MAAM,cAAc;EAE7B,CAAC;CACH;CAEA,mBAAyB;EACvB,KAAKE,uBAAuB;EAC5B,KAAKA,uBAAuB,KAAA;CAC9B;AACF"}
1
+ {"version":3,"file":"controller.js","names":[],"sources":["../../../src/i18n/controller.ts"],"sourcesContent":["import {\n createTranslator,\n DEFAULT_LOCALE,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n type Translator,\n} from '@videojs/core/i18n';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport type { I18nContext } from './context';\n\nlet fallbackTranslator: Translator | undefined;\n\nexport type I18nControllerHost = ReactiveControllerHost & HTMLElement;\n\nexport function getFallbackTranslator(): Translator {\n fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);\n return fallbackTranslator;\n}\n\n/** Consumes an i18n context and updates its host when the translator or locale changes. */\nexport class I18nController implements ReactiveController {\n readonly #host: I18nControllerHost;\n readonly #consumer: ContextConsumer<I18nContext, I18nControllerHost>;\n #unsubscribeRegistry: (() => void) | undefined;\n\n /**\n * @param host - Reactive host updated when the i18n value changes.\n * @param context - I18n context to consume.\n */\n constructor(host: I18nControllerHost, context: I18nContext) {\n this.#host = host;\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: () => this.#host.requestUpdate(),\n subscribe: true,\n });\n host.addController(this);\n }\n\n get value(): Translator {\n return this.#consumer.value?.translator ?? getFallbackTranslator();\n }\n\n get locale(): Locale {\n return this.#consumer.value?.locale ?? DEFAULT_LOCALE;\n }\n\n hostConnected(): void {\n fallbackTranslator = undefined;\n this.#unsubscribeRegistry = onI18nRegistryChange(() => {\n fallbackTranslator = undefined;\n\n if (!this.#consumer.value) {\n this.#host.requestUpdate();\n }\n });\n }\n\n hostDisconnected(): void {\n this.#unsubscribeRegistry?.();\n this.#unsubscribeRegistry = undefined;\n }\n}\n\nexport namespace I18nController {\n export type Constructor = typeof I18nController;\n export type Host = I18nControllerHost;\n}\n"],"mappings":";;;AAaA,IAAI;AAIJ,SAAgB,wBAAoC;CAClD,uBAAuB,iBAAiB,oBAAoB,cAAc,GAAG,cAAc;CAC3F,OAAO;AACT;;AAGA,IAAa,iBAAb,MAA0D;CACxD;CACA;CACA;;;;;CAMA,YAAY,MAA0B,SAAsB;EAC1D,KAAK,QAAQ;EACb,KAAK,YAAY,IAAI,gBAAgB,MAAM;GACzC;GACA,gBAAgB,KAAK,MAAM,cAAc;GACzC,WAAW;EACb,CAAC;EACD,KAAK,cAAc,IAAI;CACzB;CAEA,IAAI,QAAoB;EACtB,OAAO,KAAK,UAAU,OAAO,cAAc,sBAAsB;CACnE;CAEA,IAAI,SAAiB;EACnB,OAAO,KAAK,UAAU,OAAO,UAAU;CACzC;CAEA,gBAAsB;EACpB,qBAAqB,KAAA;EACrB,KAAK,uBAAuB,2BAA2B;GACrD,qBAAqB,KAAA;GAErB,IAAI,CAAC,KAAK,UAAU,OAClB,KAAK,MAAM,cAAc;EAE7B,CAAC;CACH;CAEA,mBAAyB;EACvB,KAAK,uBAAuB;EAC5B,KAAK,uBAAuB,KAAA;CAC9B;AACF"}
@@ -4,17 +4,16 @@ import { I18nProviderMixin } from "./provider-mixin.js";
4
4
  import { I18nTextMixin } from "./text-mixin.js";
5
5
  import { I18nController } from "./controller.js";
6
6
  //#region src/i18n/create-i18n.d.ts
7
- interface CreateI18nOptions {
7
+ export interface CreateI18nOptions {
8
8
  /** Override lazy loading of shipped locale packs (tests or custom loaders). */
9
9
  loader?: LocaleLoader;
10
10
  }
11
- interface CreateI18nResult {
11
+ export interface CreateI18nResult {
12
12
  context: I18nContext;
13
13
  I18nController: I18nController.Constructor;
14
14
  ProviderMixin: I18nProviderMixin;
15
15
  TextMixin: I18nTextMixin;
16
16
  }
17
- declare function createI18n(options?: CreateI18nOptions): CreateI18nResult;
17
+ export declare function createI18n(options?: CreateI18nOptions): CreateI18nResult;
18
18
  //#endregion
19
- export { CreateI18nOptions, CreateI18nResult, createI18n };
20
19
  //# sourceMappingURL=create-i18n.d.ts.map
@@ -6,5 +6,5 @@ import { I18nController } from "./controller.js";
6
6
  import { CreateI18nOptions, CreateI18nResult, createI18n } from "./create-i18n.js";
7
7
  import { resolvePlayerLocale, resolveProviderLocale } from "./locale.js";
8
8
  import { renderText } from "./render-text.js";
9
- import { FlatTranslations, LOCALES, Locale, TranslationParams, Translations, Translator, createTranslator, findLocaleKeys, getI18nTranslations, hasRegisteredLocale, isText, onI18nRegistryChange, registerI18n, translateText } from "@videojs/core/i18n";
10
- export { type CreateI18nOptions, type CreateI18nResult, type FlatTranslations, type I18nContext, type I18nContextValue, I18nController, type I18nContext as I18nLitContext, I18nProviderElement, I18nProviderMixin, I18nTextMixin, LOCALES, type Locale, I18nProviderElement as MediaI18nProviderElement, TextElement as MediaTextElement, type TranslationParams, type Translations, type Translator, i18nContext as context, createI18n, createTranslator, findLocaleKeys, getI18nTranslations, hasRegisteredLocale, i18nContext, isText, onI18nRegistryChange, registerI18n, renderText, resolvePlayerLocale, resolveProviderLocale, translateText };
9
+ import { FlatTranslations, LOCALES, Locale, Text, TextParams, TranslationParams, Translations, Translator, createTranslator, findLocaleKeys, getI18nTranslations, getLocaleKey, hasRegisteredLocale, isText, loadLocale, onI18nRegistryChange, registerI18n, resolveTranslation, translateText } from "@videojs/core/i18n";
10
+ export { type CreateI18nOptions, type CreateI18nResult, type FlatTranslations, type I18nContext, type I18nContextValue, I18nController, type I18nContext as I18nLitContext, I18nProviderElement, I18nProviderMixin, I18nTextMixin, LOCALES, type Locale, I18nProviderElement as MediaI18nProviderElement, TextElement as MediaTextElement, type Text, type TextParams, type TranslationParams, type Translations, type Translator, i18nContext as context, createI18n, createTranslator, findLocaleKeys, getI18nTranslations, getLocaleKey, hasRegisteredLocale, i18nContext, isText, loadLocale, onI18nRegistryChange, registerI18n, renderText, resolvePlayerLocale, resolveProviderLocale, resolveTranslation, translateText };
@@ -6,5 +6,5 @@ import { I18nTextMixin, MediaTextElement as TextElement } from "../ui/text/eleme
6
6
  import "../define/i18n.js";
7
7
  import { createI18n } from "./create-i18n.js";
8
8
  import { renderText } from "./render-text.js";
9
- import { LOCALES, createTranslator, findLocaleKeys, getI18nTranslations, hasRegisteredLocale, isText, onI18nRegistryChange, registerI18n, translateText } from "@videojs/core/i18n";
10
- export { I18nController, I18nProviderElement, I18nProviderMixin, I18nTextMixin, LOCALES, I18nProviderElement as MediaI18nProviderElement, TextElement as MediaTextElement, i18nContext as context, createI18n, createTranslator, findLocaleKeys, getI18nTranslations, hasRegisteredLocale, i18nContext, isText, onI18nRegistryChange, registerI18n, renderText, resolvePlayerLocale, resolveProviderLocale, translateText };
9
+ import { LOCALES, createTranslator, findLocaleKeys, getI18nTranslations, getLocaleKey, hasRegisteredLocale, isText, loadLocale, onI18nRegistryChange, registerI18n, resolveTranslation, translateText } from "@videojs/core/i18n";
10
+ export { I18nController, I18nProviderElement, I18nProviderMixin, I18nTextMixin, LOCALES, I18nProviderElement as MediaI18nProviderElement, TextElement as MediaTextElement, i18nContext as context, createI18n, createTranslator, findLocaleKeys, getI18nTranslations, getLocaleKey, hasRegisteredLocale, i18nContext, isText, loadLocale, onI18nRegistryChange, registerI18n, renderText, resolvePlayerLocale, resolveProviderLocale, resolveTranslation, translateText };
@@ -1,11 +1,18 @@
1
1
  import { Locale } from "@videojs/core/i18n";
2
2
  //#region src/i18n/locale.d.ts
3
- /** Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI. */
4
- declare function resolvePlayerLocale(explicit: Locale | undefined, inherited: Locale | undefined): Locale;
5
- /** Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`). */
6
- declare function resolveProviderLocale(host: HTMLElement & {
3
+ /**
4
+ * Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function resolvePlayerLocale(explicit: Locale | undefined, inherited: Locale | undefined): Locale;
9
+ /**
10
+ * Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`).
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function resolveProviderLocale(host: HTMLElement & {
7
15
  lang?: string;
8
16
  }): Locale;
9
17
  //#endregion
10
- export { resolvePlayerLocale, resolveProviderLocale };
11
18
  //# sourceMappingURL=locale.d.ts.map
@@ -1,10 +1,18 @@
1
1
  import { effectiveLocale, nearestLang, resolveLangAttr } from "@videojs/utils/dom";
2
2
  //#region src/i18n/locale.ts
3
- /** Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI. */
3
+ /**
4
+ * Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI.
5
+ *
6
+ * @internal
7
+ */
4
8
  function resolvePlayerLocale(explicit, inherited) {
5
9
  return effectiveLocale(explicit, inherited);
6
10
  }
7
- /** Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`). */
11
+ /**
12
+ * Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`).
13
+ *
14
+ * @internal
15
+ */
8
16
  function resolveProviderLocale(host) {
9
17
  const explicit = resolveLangAttr(host.lang);
10
18
  const root = host.parentElement ?? (typeof document !== "undefined" ? document.documentElement : null);
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","names":[],"sources":["../../../src/i18n/locale.ts"],"sourcesContent":["import type { Locale } from '@videojs/core/i18n';\nimport { effectiveLocale, nearestLang, resolveLangAttr } from '@videojs/utils/dom';\n\n/** Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI. */\nexport function resolvePlayerLocale(explicit: Locale | undefined, inherited: Locale | undefined): Locale {\n return effectiveLocale<Locale>(explicit, inherited);\n}\n\n/** Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`). */\nexport function resolveProviderLocale(host: HTMLElement & { lang?: string }): Locale {\n const explicit = resolveLangAttr<Locale>(host.lang);\n const root = host.parentElement ?? (typeof document !== 'undefined' ? document.documentElement : null);\n const inherited = resolveLangAttr<Locale>(nearestLang(root));\n\n return resolvePlayerLocale(explicit, inherited);\n}\n"],"mappings":";;;AAIA,SAAgB,oBAAoB,UAA8B,WAAuC;CACvG,OAAO,gBAAwB,UAAU,SAAS;AACpD;;AAGA,SAAgB,sBAAsB,MAA+C;CACnF,MAAM,WAAW,gBAAwB,KAAK,IAAI;CAClD,MAAM,OAAO,KAAK,kBAAkB,OAAO,aAAa,cAAc,SAAS,kBAAkB;CAGjG,OAAO,oBAAoB,UAFT,gBAAwB,YAAY,IAAI,CAEb,CAAC;AAChD"}
1
+ {"version":3,"file":"locale.js","names":[],"sources":["../../../src/i18n/locale.ts"],"sourcesContent":["import type { Locale } from '@videojs/core/i18n';\nimport { effectiveLocale, nearestLang, resolveLangAttr } from '@videojs/utils/dom';\n\n/**\n * Delegates to {@link effectiveLocale}; result is typed as {@link Locale} for player UI.\n *\n * @internal\n */\nexport function resolvePlayerLocale(explicit: Locale | undefined, inherited: Locale | undefined): Locale {\n return effectiveLocale<Locale>(explicit, inherited);\n}\n\n/**\n * Effective locale for an i18n provider element (explicit `lang` → ancestor `lang` chain → `en`).\n *\n * @internal\n */\nexport function resolveProviderLocale(host: HTMLElement & { lang?: string }): Locale {\n const explicit = resolveLangAttr<Locale>(host.lang);\n const root = host.parentElement ?? (typeof document !== 'undefined' ? document.documentElement : null);\n const inherited = resolveLangAttr<Locale>(nearestLang(root));\n\n return resolvePlayerLocale(explicit, inherited);\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,oBAAoB,UAA8B,WAAuC;CACvG,OAAO,gBAAwB,UAAU,SAAS;AACpD;;;;;;AAOA,SAAgB,sBAAsB,MAA+C;CACnF,MAAM,WAAW,gBAAwB,KAAK,IAAI;CAClD,MAAM,OAAO,KAAK,kBAAkB,OAAO,aAAa,cAAc,SAAS,kBAAkB;CAGjG,OAAO,oBAAoB,UAFT,gBAAwB,YAAY,IAAI,CAEb,CAAC;AAChD"}
@@ -1,11 +1,12 @@
1
1
  import { I18nProviderMixin as I18nProviderMixin$1 } from "./provider-mixin.js";
2
2
  import { ReactiveElement } from "@videojs/element";
3
3
  //#region src/i18n/provider-element.d.ts
4
- declare const I18nProviderMixin: I18nProviderMixin$1;
4
+ /** @internal */
5
+ export declare const I18nProviderMixin: I18nProviderMixin$1;
5
6
  declare const I18nProviderElement_base: import("@videojs/utils/types").Constructor<ReactiveElement> & typeof ReactiveElement;
6
- declare class I18nProviderElement extends I18nProviderElement_base {
7
+ export declare class I18nProviderElement extends I18nProviderElement_base {
7
8
  static readonly tagName = "media-i18n";
8
9
  }
9
10
  //#endregion
10
- export { I18nProviderElement, I18nProviderElement as MediaI18nProviderElement, I18nProviderMixin };
11
+ export { I18nProviderElement as MediaI18nProviderElement };
11
12
  //# sourceMappingURL=provider-element.d.ts.map
@@ -2,6 +2,7 @@ import { i18nContext } from "./context.js";
2
2
  import { createI18nProviderMixin } from "./provider-mixin.js";
3
3
  import { ReactiveElement } from "@videojs/element";
4
4
  //#region src/i18n/provider-element.ts
5
+ /** @internal */
5
6
  const I18nProviderMixin = createI18nProviderMixin({ context: i18nContext });
6
7
  var I18nProviderElement = class extends I18nProviderMixin(ReactiveElement) {
7
8
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-element.js","names":[],"sources":["../../../src/i18n/provider-element.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\n\nimport { i18nContext } from './context';\nimport { createI18nProviderMixin, type I18nProviderMixin as ProviderMixin } from './provider-mixin';\n\nexport const I18nProviderMixin: ProviderMixin = createI18nProviderMixin({ context: i18nContext });\n\nexport class I18nProviderElement extends I18nProviderMixin(ReactiveElement) {\n static readonly tagName = 'media-i18n';\n}\n\nexport { I18nProviderElement as MediaI18nProviderElement };\n"],"mappings":";;;;AAKA,MAAa,oBAAmC,wBAAwB,EAAE,SAAS,YAAY,CAAC;AAEhG,IAAa,sBAAb,cAAyC,kBAAkB,eAAe,CAAC,CAAC;;EAChD,KAAA,UAAA;;AAC5B"}
1
+ {"version":3,"file":"provider-element.js","names":[],"sources":["../../../src/i18n/provider-element.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\n\nimport { i18nContext } from './context';\nimport { createI18nProviderMixin, type I18nProviderMixin as ProviderMixin } from './provider-mixin';\n\n/** @internal */\nexport const I18nProviderMixin: ProviderMixin = createI18nProviderMixin({ context: i18nContext });\n\nexport class I18nProviderElement extends I18nProviderMixin(ReactiveElement) {\n static readonly tagName = 'media-i18n';\n}\n\nexport { I18nProviderElement as MediaI18nProviderElement };\n"],"mappings":";;;;;AAMA,MAAa,oBAAmC,wBAAwB,EAAE,SAAS,YAAY,CAAC;AAEhG,IAAa,sBAAb,cAAyC,kBAAkB,eAAe,CAAC,CAAC;;EAChD,KAAA,UAAA;;AAC5B"}
@@ -3,7 +3,6 @@ import { ReactiveElementMixinBase } from "./types.js";
3
3
  import { ReactiveElement } from "@videojs/element";
4
4
  import { Constructor } from "@videojs/utils/types";
5
5
  //#region src/i18n/provider-mixin.d.ts
6
- type I18nProviderMixin = <Base extends ReactiveElementMixinBase>(Base: Base) => Constructor<ReactiveElement> & Base;
6
+ export type I18nProviderMixin = <Base extends ReactiveElementMixinBase>(Base: Base) => Constructor<ReactiveElement> & Base;
7
7
  //#endregion
8
- export { I18nProviderMixin };
9
8
  //# sourceMappingURL=provider-mixin.d.ts.map