@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,10 +1,14 @@
1
1
  import { getTemplateHTML } from "../background-video/template.js";
2
2
  import { Media } from "@videojs/media/dom";
3
- import { CustomElement } from "@videojs/utils/dom";
4
3
  import { HlsVideoMediaError } from "@videojs/spf/hls-background-video";
5
- import { Constructor } from "@videojs/utils/types";
6
4
  //#region src/media/hls-background-video/adapter.d.ts
7
- declare const HlsBackgroundVideoBase: Constructor<CustomElement>;
5
+ interface LifecycleElement extends HTMLElement {
6
+ connectedCallback?(): void;
7
+ disconnectedCallback?(): void;
8
+ adoptedCallback?(): void;
9
+ attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;
10
+ }
11
+ declare const HlsBackgroundVideoBase: new () => LifecycleElement;
8
12
  /**
9
13
  * A muted, looping, chrome-less video over the SPF background-video engine.
10
14
  *
@@ -39,7 +43,7 @@ declare const HlsBackgroundVideoBase: Constructor<CustomElement>;
39
43
  * `<mux-background-video>` is this element under the name the package it replaces used. Same class, so the tag is a
40
44
  * naming choice and nothing more.
41
45
  */
42
- declare class HlsBackgroundVideo extends HlsBackgroundVideoBase {
46
+ export declare class HlsBackgroundVideo extends HlsBackgroundVideoBase {
43
47
  #private;
44
48
  static shadowRootOptions: {
45
49
  mode: ShadowRootMode;
@@ -64,5 +68,4 @@ declare class HlsBackgroundVideo extends HlsBackgroundVideoBase {
64
68
  set src(value: string);
65
69
  }
66
70
  //#endregion
67
- export { HlsBackgroundVideo };
68
71
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","names":["#media"],"sources":["../../../../src/media/hls-background-video/adapter.ts"],"sourcesContent":["import type { Media } from '@videojs/media/dom';\nimport { HlsBackgroundVideoAdapter, type HlsVideoMediaError } from '@videojs/spf/hls-background-video';\nimport { type CustomElement, namedNodeMapToObject } from '@videojs/utils/dom';\nimport type { Constructor } from '@videojs/utils/types';\n\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { getTemplateHTML } from '../background-video/template';\n\nconst HTMLElementBase = globalThis.HTMLElement ?? class {};\n\n// `MediaAttachMixin` is typed as returning its base, so its `disconnectedCallback`\n// isn't visible for `super` to reach. `CustomElement` declares the lifecycle\n// callbacks this element overrides.\nconst HlsBackgroundVideoBase = MediaAttachMixin(HTMLElementBase) as unknown as Constructor<CustomElement>;\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine.\n *\n * The SPF-backed counterpart to `<background-video>`, which plays its source natively. This one streams HLS through the\n * engine, which pins a single rendition for the session rather than adapting, and drops audio and text handling\n * entirely — the shape an ambient hero video actually wants.\n *\n * Nearer an image than a player, and `src` is the whole surface. Replaces the standalone `mux-background-video`\n * package, whose `audio`, `debug`, `preload`, and `max-resolution` attributes are all deliberately absent. Capping\n * which rendition is fetched is a delivery param on the URL — `?max_resolution=720p` on a Mux stream, for one — which\n * keeps the renditions it excludes out of the manifest rather than merely unpicked; `preload` would have nothing to\n * say, since the engine loads from the moment it has a source. And unlike `<background-video>` there are no `nomuted` /\n * `noloop` / `noautoplay` opt-outs: those three are what this element is for, so the adapter fixes them on at attach.\n *\n * Takes no structured `source` — `src` is an HLS URL, as the package it replaces required. Mux playback-ID identity,\n * poster, and storyboard belong to `<mux-video>`; none of them mean anything without controls to hang them on.\n *\n * Nothing about an unplayable source reaches the inner `<video>` on its own, so `error` on it stays null and the\n * element sits at `readyState 0`. The engine reports each condition and logs it, the Media promotes the fatal one, and\n * this element re-fires it as its own `error` / `'error'` — the one place a consumer holding the element can see a\n * source that never appears.\n *\n * @example\n * ```html\n * <hls-background-video src=\"https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p\">\n * <img src=\"https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0\" alt=\"\" />\n * </hls-background-video>\n * ```;\n *\n * @fires error - Fired when a fatal condition is reported. Read `error` for it.\n *\n * `<mux-background-video>` is this element under the name the package it replaces used. Same class, so the tag is a\n * naming choice and nothing more.\n */\n// Deliberately not `CustomMediaElement`, matching `<background-video>`: a\n// background video needs one property, not the full WHATWG media API.\nexport class HlsBackgroundVideo extends HlsBackgroundVideoBase {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n static get observedAttributes(): string[] {\n return ['src'];\n }\n\n #media = new HlsBackgroundVideoAdapter();\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof HlsBackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n muted: '',\n loop: '',\n autoplay: '',\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome nor Firefox honor a `muted` attribute set after\n // `document.createElement`, and autoplay is refused without it. Attaching is\n // what sets the property — along with the rest of the fixed behavior — so\n // nothing here needs to repeat it.\n const video = this.video;\n\n if (video) this.#media.attach(video);\n\n // Re-fired rather than bridged on demand the way `CustomMediaElement` does\n // it: one listener for the one event this element has, on a Media it owns\n // for its whole life, is less than the machinery to defer it would cost.\n this.#media.addEventListener('error', () => this.dispatchEvent(new Event('error')));\n }\n\n /** Register the Media (not the inner `<video>`) with the provider. */\n getMediaTarget(): Media | null {\n return this.#media as unknown as Media;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback?.();\n\n if (this.hasAttribute('keep-alive')) return;\n\n // Deferred so a synchronous reparent (remove then insert) doesn't tear down\n // the engine, matching `CustomMediaElement`.\n queueMicrotask(() => {\n if (!this.isConnected) this.#media.destroy();\n });\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n if (oldValue === newValue) return;\n\n if (name === 'src') this.src = newValue ?? '';\n }\n\n /** The inner `<video>` the engine renders into. */\n get video(): HTMLVideoElement | null {\n const video = this.shadowRoot?.querySelector('video');\n\n return video instanceof HTMLVideoElement ? video : null;\n }\n\n /**\n * What made the current source unplayable, or `null`. An SVTA code rather than a `MediaError` one — 99001 where this\n * player has no pipeline for what the source needs, with the specifics logged. Reset by a new source, and not on the\n * inner `<video>`, which never learns of it.\n */\n get error(): HlsVideoMediaError | null {\n return this.#media.error;\n }\n\n /** HLS manifest URL. Assigning a new one restarts playback from scratch. */\n get src(): string {\n return this.#media.src;\n }\n\n set src(value: string) {\n this.#media.src = value;\n }\n}\n"],"mappings":";;;;;AAQA,MAAM,kBAAkB,WAAW,eAAe,MAAM,CAAC;AAKzD,MAAM,yBAAyB,iBAAiB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsC/D,IAAa,qBAAb,cAAwC,uBAAuB;;EAClC,KAAA,oBAAA,EAAE,MAAM,OAAyB;;;EACnC,KAAA,kBAAA;;CAEzB,WAAW,qBAA+B;EACxC,OAAO,CAAC,KAAK;CACf;CAEA,SAAS,IAAI,0BAA0B;CAEvC,cAAc;EACZ,MAAM;EAEN,IAAI,CAAC,KAAK,YAAY;GACpB,KAAK,aAAc,KAAK,YAA0C,iBAAiB;GAEnF,MAAM,QAAQ;IACZ,GAAG,qBAAqB,KAAK,UAAU;IACvC,OAAO;IACP,MAAM;IACN,UAAU;IACV,aAAa;IACb,uBAAuB;IACvB,yBAAyB;GAC3B;GAEA,KAAK,WAAY,YAAY,gBAAgB,KAAK;EACpD;EAMA,MAAM,QAAQ,KAAK;EAEnB,IAAI,OAAO,KAAKA,OAAO,OAAO,KAAK;EAKnC,KAAKA,OAAO,iBAAiB,eAAe,KAAK,cAAc,IAAI,MAAM,OAAO,CAAC,CAAC;CACpF;;CAGA,iBAA+B;EAC7B,OAAO,KAAKA;CACd;CAEA,uBAAsC;EACpC,MAAM,uBAAuB;EAE7B,IAAI,KAAK,aAAa,YAAY,GAAG;EAIrC,qBAAqB;GACnB,IAAI,CAAC,KAAK,aAAa,KAAKA,OAAO,QAAQ;EAC7C,CAAC;CACH;CAEA,yBAAyB,MAAc,UAAyB,UAA+B;EAC7F,IAAI,aAAa,UAAU;EAE3B,IAAI,SAAS,OAAO,KAAK,MAAM,YAAY;CAC7C;;CAGA,IAAI,QAAiC;EACnC,MAAM,QAAQ,KAAK,YAAY,cAAc,OAAO;EAEpD,OAAO,iBAAiB,mBAAmB,QAAQ;CACrD;;;;;;CAOA,IAAI,QAAmC;EACrC,OAAO,KAAKA,OAAO;CACrB;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAKA,OAAO;CACrB;CAEA,IAAI,IAAI,OAAe;EACrB,KAAKA,OAAO,MAAM;CACpB;AACF"}
1
+ {"version":3,"file":"adapter.js","names":[],"sources":["../../../../src/media/hls-background-video/adapter.ts"],"sourcesContent":["import type { Media } from '@videojs/media/dom';\nimport { HlsBackgroundVideoAdapter, type HlsVideoMediaError } from '@videojs/spf/hls-background-video';\nimport { namedNodeMapToObject } from '@videojs/utils/dom';\n\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\nimport { getTemplateHTML } from '../background-video/template';\n\nconst HTMLElementBase = globalThis.HTMLElement ?? class {};\n\n// `MediaAttachMixin` is typed as returning its base, so its `disconnectedCallback`\n// isn't visible for `super` to reach. `LifecycleElement` declares the lifecycle\n// callbacks this element overrides; method syntax lets a subclass override them.\ninterface LifecycleElement extends HTMLElement {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n adoptedCallback?(): void;\n attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n}\n\nconst HlsBackgroundVideoBase = MediaAttachMixin(HTMLElementBase) as unknown as new () => LifecycleElement;\n\n/**\n * A muted, looping, chrome-less video over the SPF background-video engine.\n *\n * The SPF-backed counterpart to `<background-video>`, which plays its source natively. This one streams HLS through the\n * engine, which pins a single rendition for the session rather than adapting, and drops audio and text handling\n * entirely — the shape an ambient hero video actually wants.\n *\n * Nearer an image than a player, and `src` is the whole surface. Replaces the standalone `mux-background-video`\n * package, whose `audio`, `debug`, `preload`, and `max-resolution` attributes are all deliberately absent. Capping\n * which rendition is fetched is a delivery param on the URL — `?max_resolution=720p` on a Mux stream, for one — which\n * keeps the renditions it excludes out of the manifest rather than merely unpicked; `preload` would have nothing to\n * say, since the engine loads from the moment it has a source. And unlike `<background-video>` there are no `nomuted` /\n * `noloop` / `noautoplay` opt-outs: those three are what this element is for, so the adapter fixes them on at attach.\n *\n * Takes no structured `source` — `src` is an HLS URL, as the package it replaces required. Mux playback-ID identity,\n * poster, and storyboard belong to `<mux-video>`; none of them mean anything without controls to hang them on.\n *\n * Nothing about an unplayable source reaches the inner `<video>` on its own, so `error` on it stays null and the\n * element sits at `readyState 0`. The engine reports each condition and logs it, the Media promotes the fatal one, and\n * this element re-fires it as its own `error` / `'error'` — the one place a consumer holding the element can see a\n * source that never appears.\n *\n * @example\n * ```html\n * <hls-background-video src=\"https://stream.mux.com/PLAYBACK_ID.m3u8?max_resolution=720p\">\n * <img src=\"https://image.mux.com/PLAYBACK_ID/thumbnail.webp?time=0\" alt=\"\" />\n * </hls-background-video>\n * ```;\n *\n * @fires error - Fired when a fatal condition is reported. Read `error` for it.\n *\n * `<mux-background-video>` is this element under the name the package it replaces used. Same class, so the tag is a\n * naming choice and nothing more.\n */\n// Deliberately not `CustomMediaElement`, matching `<background-video>`: a\n// background video needs one property, not the full WHATWG media API.\nexport class HlsBackgroundVideo extends HlsBackgroundVideoBase {\n static shadowRootOptions = { mode: 'open' as ShadowRootMode };\n static getTemplateHTML = getTemplateHTML;\n\n static get observedAttributes(): string[] {\n return ['src'];\n }\n\n #media = new HlsBackgroundVideoAdapter();\n\n constructor() {\n super();\n\n if (!this.shadowRoot) {\n this.attachShadow((this.constructor as typeof HlsBackgroundVideo).shadowRootOptions);\n\n const attrs = {\n ...namedNodeMapToObject(this.attributes),\n muted: '',\n loop: '',\n autoplay: '',\n playsinline: '',\n disableremoteplayback: '',\n disablepictureinpicture: '',\n };\n\n this.shadowRoot!.innerHTML = getTemplateHTML(attrs);\n }\n\n // Neither Chrome nor Firefox honor a `muted` attribute set after\n // `document.createElement`, and autoplay is refused without it. Attaching is\n // what sets the property — along with the rest of the fixed behavior — so\n // nothing here needs to repeat it.\n const video = this.video;\n\n if (video) this.#media.attach(video);\n\n // Re-fired rather than bridged on demand the way `CustomMediaElement` does\n // it: one listener for the one event this element has, on a Media it owns\n // for its whole life, is less than the machinery to defer it would cost.\n this.#media.addEventListener('error', () => this.dispatchEvent(new Event('error')));\n }\n\n /** Register the Media (not the inner `<video>`) with the provider. */\n getMediaTarget(): Media | null {\n return this.#media as unknown as Media;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback?.();\n\n if (this.hasAttribute('keep-alive')) return;\n\n // Deferred so a synchronous reparent (remove then insert) doesn't tear down\n // the engine, matching `CustomMediaElement`.\n queueMicrotask(() => {\n if (!this.isConnected) this.#media.destroy();\n });\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n if (oldValue === newValue) return;\n\n if (name === 'src') this.src = newValue ?? '';\n }\n\n /** The inner `<video>` the engine renders into. */\n get video(): HTMLVideoElement | null {\n const video = this.shadowRoot?.querySelector('video');\n\n return video instanceof HTMLVideoElement ? video : null;\n }\n\n /**\n * What made the current source unplayable, or `null`. An SVTA code rather than a `MediaError` one — 99001 where this\n * player has no pipeline for what the source needs, with the specifics logged. Reset by a new source, and not on the\n * inner `<video>`, which never learns of it.\n */\n get error(): HlsVideoMediaError | null {\n return this.#media.error;\n }\n\n /** HLS manifest URL. Assigning a new one restarts playback from scratch. */\n get src(): string {\n return this.#media.src;\n }\n\n set src(value: string) {\n this.#media.src = value;\n }\n}\n"],"mappings":";;;;;AAOA,MAAM,kBAAkB,WAAW,eAAe,MAAM,CAAC;AAYzD,MAAM,yBAAyB,iBAAiB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsC/D,IAAa,qBAAb,cAAwC,uBAAuB;;EAClC,KAAA,oBAAA,EAAE,MAAM,OAAyB;;;EACnC,KAAA,kBAAA;;CAEzB,WAAW,qBAA+B;EACxC,OAAO,CAAC,KAAK;CACf;CAEA,SAAS,IAAI,0BAA0B;CAEvC,cAAc;EACZ,MAAM;EAEN,IAAI,CAAC,KAAK,YAAY;GACpB,KAAK,aAAc,KAAK,YAA0C,iBAAiB;GAEnF,MAAM,QAAQ;IACZ,GAAG,qBAAqB,KAAK,UAAU;IACvC,OAAO;IACP,MAAM;IACN,UAAU;IACV,aAAa;IACb,uBAAuB;IACvB,yBAAyB;GAC3B;GAEA,KAAK,WAAY,YAAY,gBAAgB,KAAK;EACpD;EAMA,MAAM,QAAQ,KAAK;EAEnB,IAAI,OAAO,KAAK,OAAO,OAAO,KAAK;EAKnC,KAAK,OAAO,iBAAiB,eAAe,KAAK,cAAc,IAAI,MAAM,OAAO,CAAC,CAAC;CACpF;;CAGA,iBAA+B;EAC7B,OAAO,KAAK;CACd;CAEA,uBAAsC;EACpC,MAAM,uBAAuB;EAE7B,IAAI,KAAK,aAAa,YAAY,GAAG;EAIrC,qBAAqB;GACnB,IAAI,CAAC,KAAK,aAAa,KAAK,OAAO,QAAQ;EAC7C,CAAC;CACH;CAEA,yBAAyB,MAAc,UAAyB,UAA+B;EAC7F,IAAI,aAAa,UAAU;EAE3B,IAAI,SAAS,OAAO,KAAK,MAAM,YAAY;CAC7C;;CAGA,IAAI,QAAiC;EACnC,MAAM,QAAQ,KAAK,YAAY,cAAc,OAAO;EAEpD,OAAO,iBAAiB,mBAAmB,QAAQ;CACrD;;;;;;CAOA,IAAI,QAAmC;EACrC,OAAO,KAAK,OAAO;CACrB;;CAGA,IAAI,MAAc;EAChB,OAAO,KAAK,OAAO;CACrB;CAEA,IAAI,IAAI,OAAe;EACrB,KAAK,OAAO,MAAM;CACpB;AACF"}
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { HlsVideoAdapter } from "@videojs/spf/hls-video";
2
3
  //#region src/media/hls-video/adapter.d.ts
3
- declare const HlsVideo_base: import("@videojs/utils/types").Constructor<HTMLElement & HlsVideoAdapter & {
4
- readonly adapter: HlsVideoAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class HlsVideo extends HlsVideo_base {}
4
+ declare const HlsVideo_base: CustomMediaConstructor<typeof HlsVideoAdapter>;
5
+ export declare class HlsVideo extends HlsVideo_base {}
17
6
  //#endregion
18
- export { HlsVideo };
19
7
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { HlsJsAdapter } from "@videojs/hlsjs-video";
2
3
  //#region src/media/hlsjs-video/adapter.d.ts
3
- declare const HlsJsVideo_base: import("@videojs/utils/types").Constructor<HTMLElement & HlsJsAdapter & {
4
- readonly adapter: HlsJsAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class HlsJsVideo extends HlsJsVideo_base {}
4
+ declare const HlsJsVideo_base: CustomMediaConstructor<typeof HlsJsAdapter>;
5
+ export declare class HlsJsVideo extends HlsJsVideo_base {}
17
6
  //#endregion
18
- export { HlsJsVideo };
19
7
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { MuxAudioAdapter } from "@videojs/mux-audio";
2
3
  //#region src/media/mux-audio/hls-js.d.ts
3
- declare const MuxAudioBase: import("@videojs/utils/types").Constructor<HTMLElement & MuxAudioAdapter & {
4
- readonly adapter: MuxAudioAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class MuxAudio extends MuxAudioBase {}
4
+ declare const MuxAudioBase: CustomMediaConstructor<typeof MuxAudioAdapter>;
5
+ export declare class MuxAudio extends MuxAudioBase {}
17
6
  //#endregion
18
- export { MuxAudio };
19
7
  //# sourceMappingURL=hls-js.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.js","names":["#reflectSrc"],"sources":["../../../../src/media/mux-audio/mixin.ts"],"sourcesContent":["import type { AnyConstructor, Constructor } from '@videojs/utils/types';\n\n/**\n * What this mixin needs from whichever Mux Media the element hosts.\n *\n * Structural on purpose: the hls.js-backed `MuxVideoAdapter` and the SPF-backed `MuxAudioAdapter` satisfy it\n * identically, and `src` is the WHATWG surface rather than anything engine-specific, so the element itself has no\n * engine.\n */\ninterface MuxAudioAdapterLike {\n readonly src: string;\n addEventListener(type: string, listener: () => void): void;\n}\n\ninterface MuxAudioElementLike extends HTMLElement {\n readonly adapter: MuxAudioAdapterLike;\n}\n\n/**\n * The Mux-specific element behavior for audio, over any Mux Media: reflecting the derived `src` back to the attribute.\n *\n * Much thinner than {@link MuxVideoMixin} because the rest of what that one does has no meaning here — Mux publishes no\n * poster or storyboard for an audio-only asset, and an `<audio>` element renders neither.\n *\n * A mixin rather than a base class for the same reason as the video one: each flavor's element is built on a different\n * `CustomMediaElement`, so there is no common class to extend, only a common adapter contract.\n */\nexport function MuxAudioMixin<Class extends AnyConstructor<HTMLElement>>(BaseClass: Class): Class {\n class MuxAudioElement extends (BaseClass as unknown as Constructor<MuxAudioElementLike>) {\n constructor(...args: any[]) {\n super(...args);\n // Covers both the `src` attribute and the `source` property (JS-only).\n this.adapter.addEventListener('sourcechange', () => this.#reflectSrc());\n }\n\n // Mirrors the adapter `src` to the `src` attribute so it matches the active playback URL.\n #reflectSrc() {\n const src = this.adapter.src;\n\n if (src) {\n if (this.getAttribute('src') !== src) this.setAttribute('src', src);\n } else if (this.hasAttribute('src')) {\n this.removeAttribute('src');\n }\n }\n }\n\n return MuxAudioElement as unknown as Class;\n}\n"],"mappings":";;;;;;;;;;AA2BA,SAAgB,cAAyD,WAAyB;CAChG,MAAM,wBAAyB,UAA0D;EACvF,YAAY,GAAG,MAAa;GAC1B,MAAM,GAAG,IAAI;GAEb,KAAK,QAAQ,iBAAiB,sBAAsB,KAAKA,YAAY,CAAC;EACxE;EAGA,cAAc;GACZ,MAAM,MAAM,KAAK,QAAQ;GAEzB,IAAI,KACE;QAAA,KAAK,aAAa,KAAK,MAAM,KAAK,KAAK,aAAa,OAAO,GAAG;GAAA,OAC7D,IAAI,KAAK,aAAa,KAAK,GAChC,KAAK,gBAAgB,KAAK;EAE9B;CACF;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"mixin.js","names":[],"sources":["../../../../src/media/mux-audio/mixin.ts"],"sourcesContent":["import type { AnyConstructor, Constructor } from '@videojs/utils/types';\n\n/**\n * What this mixin needs from whichever Mux Media the element hosts.\n *\n * Structural on purpose: the hls.js-backed `MuxVideoAdapter` and the SPF-backed `MuxAudioAdapter` satisfy it\n * identically, and `src` is the WHATWG surface rather than anything engine-specific, so the element itself has no\n * engine.\n */\ninterface MuxAudioAdapterLike {\n readonly src: string;\n addEventListener(type: string, listener: () => void): void;\n}\n\ninterface MuxAudioElementLike extends HTMLElement {\n readonly adapter: MuxAudioAdapterLike;\n}\n\n/**\n * The Mux-specific element behavior for audio, over any Mux Media: reflecting the derived `src` back to the attribute.\n *\n * Much thinner than {@link MuxVideoMixin} because the rest of what that one does has no meaning here — Mux publishes no\n * poster or storyboard for an audio-only asset, and an `<audio>` element renders neither.\n *\n * A mixin rather than a base class for the same reason as the video one: each flavor's element is built on a different\n * `CustomMediaElement`, so there is no common class to extend, only a common adapter contract.\n */\nexport function MuxAudioMixin<Class extends AnyConstructor<HTMLElement>>(BaseClass: Class): Class {\n class MuxAudioElement extends (BaseClass as unknown as Constructor<MuxAudioElementLike>) {\n constructor(...args: any[]) {\n super(...args);\n // Covers both the `src` attribute and the `source` property (JS-only).\n this.adapter.addEventListener('sourcechange', () => this.#reflectSrc());\n }\n\n // Mirrors the adapter `src` to the `src` attribute so it matches the active playback URL.\n #reflectSrc() {\n const src = this.adapter.src;\n\n if (src) {\n if (this.getAttribute('src') !== src) this.setAttribute('src', src);\n } else if (this.hasAttribute('src')) {\n this.removeAttribute('src');\n }\n }\n }\n\n return MuxAudioElement as unknown as Class;\n}\n"],"mappings":";;;;;;;;;;AA2BA,SAAgB,cAAyD,WAAyB;CAChG,MAAM,wBAAyB,UAA0D;EACvF,YAAY,GAAG,MAAa;GAC1B,MAAM,GAAG,IAAI;GAEb,KAAK,QAAQ,iBAAiB,sBAAsB,KAAK,YAAY,CAAC;EACxE;EAGA,cAAc;GACZ,MAAM,MAAM,KAAK,QAAQ;GAEzB,IAAI,KACE;QAAA,KAAK,aAAa,KAAK,MAAM,KAAK,KAAK,aAAa,OAAO,GAAG;GAAA,OAC7D,IAAI,KAAK,aAAa,KAAK,GAChC,KAAK,gBAAgB,KAAK;EAE9B;CACF;CAEA,OAAO;AACT"}
@@ -1,18 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { MuxAudioAdapter } from "@videojs/mux-audio/spf";
2
3
  //#region src/media/mux-audio/spf.d.ts
3
- declare const MuxAudioBase: import("@videojs/utils/types").Constructor<HTMLElement & MuxAudioAdapter & {
4
- readonly adapter: MuxAudioAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const MuxAudioBase: CustomMediaConstructor<typeof MuxAudioAdapter>;
16
5
  /**
17
6
  * `<mux-audio>` over the SPF audio-only Mux Media instead of the hls.js-backed one.
18
7
  *
@@ -23,7 +12,6 @@ declare const MuxAudioBase: import("@videojs/utils/types").Constructor<HTMLEleme
23
12
  * The engine underneath is the subtractive audio-only one, so only the audio renditions of the playback ID are fetched
24
13
  * — unlike the hls.js-backed flavor, which runs the full engine and downloads video renditions it never plays.
25
14
  */
26
- declare class MuxAudio extends MuxAudioBase {}
15
+ export declare class MuxAudio extends MuxAudioBase {}
27
16
  //#endregion
28
- export { MuxAudio };
29
17
  //# sourceMappingURL=spf.d.ts.map
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { MuxVideoAdapter } from "@videojs/mux-video";
2
3
  //#region src/media/mux-video/hls-js.d.ts
3
- declare const MuxVideoBase: import("@videojs/utils/types").Constructor<HTMLElement & MuxVideoAdapter & {
4
- readonly adapter: MuxVideoAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class MuxVideo extends MuxVideoBase {}
4
+ declare const MuxVideoBase: CustomMediaConstructor<typeof MuxVideoAdapter>;
5
+ export declare class MuxVideo extends MuxVideoBase {}
17
6
  //#endregion
18
- export { MuxVideo };
19
7
  //# sourceMappingURL=hls-js.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.js","names":["#syncStoryboard","#reflectSrc","#syncPosterTime","#applyPosterTime","#posterTimeAttr"],"sources":["../../../../src/media/mux-video/mixin.ts"],"sourcesContent":["import { type MediaStreamType, MediaStreamTypes } from '@videojs/media';\nimport type { MuxContentData, MuxSourceBase } from '@videojs/mux-video';\nimport { isUndefined } from '@videojs/utils/predicate';\nimport type { AnyConstructor, Constructor } from '@videojs/utils/types';\n\n/**\n * What this mixin needs from whichever Mux Media the element hosts.\n *\n * Structural on purpose: the hls.js-backed `MuxVideoAdapter` and the SPF-backed one satisfy it identically, and\n * everything here is Mux identity or the WHATWG surface — nothing engine-specific — so the element itself has no\n * engine.\n */\ninterface MuxVideoAdapterLike {\n src: string;\n source: MuxSourceBase | null;\n readonly contentData: MuxContentData;\n readonly streamType: MediaStreamType | undefined;\n addEventListener(type: string, listener: () => void): void;\n}\n\ninterface MuxVideoElementLike extends HTMLElement {\n readonly adapter: MuxVideoAdapterLike;\n attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n}\n\n/**\n * The Mux-specific element behavior, over any Mux Media: the `poster-time` attribute, `src` reflection, and the\n * storyboard `<track>` child.\n *\n * Mixin rather than a base class because each flavor's element is built on a different `CustomMediaElement`, so there\n * is no common class to extend — only a common adapter contract.\n */\nexport function MuxVideoMixin<Class extends AnyConstructor<HTMLElement>>(BaseClass: Class): Class {\n class MuxVideoElement extends (BaseClass as unknown as Constructor<MuxVideoElementLike>) {\n // Declared here rather than in `static properties` because it does not map to a\n // adapter property of its own: it feeds `source.poster.time`. The generic path\n // would also coerce a removed attribute to `0`, which is a valid poster time.\n static get observedAttributes(): string[] {\n const inherited = (BaseClass as unknown as { observedAttributes?: string[] }).observedAttributes ?? [];\n\n return [...inherited, 'poster-time'];\n }\n\n constructor(...args: any[]) {\n super(...args);\n // Storyboards aren't generated for live streams; re-evaluate when the type is detected.\n this.adapter.addEventListener('streamtypechange', () => this.#syncStoryboard());\n // Covers both the `src` attribute and the `source` property (JS-only).\n this.adapter.addEventListener('sourcechange', () => {\n this.#reflectSrc();\n this.#syncPosterTime();\n this.#syncStoryboard();\n });\n }\n\n override attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (name === 'poster-time') {\n // Removing the attribute clears what it set. A value that is present but not\n // a number is ignored rather than treated as removal, so it cannot wipe a\n // `source.poster.time` set through JS.\n if (newValue === null) this.#applyPosterTime(undefined);\n else this.#syncPosterTime();\n\n return;\n }\n\n super.attributeChangedCallback?.(name, oldValue, newValue);\n }\n\n #posterTimeAttr() {\n const attr = this.getAttribute('poster-time');\n const parsed = attr ? Number(attr) : Number.NaN;\n\n return Number.isNaN(parsed) ? undefined : parsed;\n }\n\n // Re-applies `poster-time` after a source change, because Mux identity comes\n // from the URL and carries no poster params over. An absent attribute means no\n // opinion here, so a `source.poster.time` set through JS is left alone — only\n // removing the attribute clears it.\n #syncPosterTime() {\n const time = this.#posterTimeAttr();\n\n if (!isUndefined(time)) this.#applyPosterTime(time);\n }\n\n // Mirrors the `poster-time` attribute into `source.poster.time`, which is what\n // the derived poster URL is built from.\n #applyPosterTime(time: number | undefined) {\n const source = this.adapter.source;\n if (source?.poster?.time === time) return;\n\n // Nothing to write into yet. `#syncPosterTime` re-applies the attribute once a\n // source arrives, so a poster-only source is never worth fabricating — it has\n // no URL to play, and assigning it would schedule a load anyway.\n if (!source) return;\n\n const poster = { ...source?.poster };\n\n if (isUndefined(time)) delete poster.time;\n else poster.time = time;\n\n this.adapter.source = { ...source, poster: Object.keys(poster).length > 0 ? poster : undefined };\n }\n\n // Mirrors the adapter `src` to the `src` attribute so it matches the active playback URL.\n #reflectSrc() {\n const src = this.adapter.src;\n\n if (src) {\n if (this.getAttribute('src') !== src) this.setAttribute('src', src);\n } else if (this.hasAttribute('src')) {\n this.removeAttribute('src');\n }\n }\n\n // Keeps a storyboard track child in sync with the URL derived from `source`.\n #syncStoryboard() {\n // Live streams have no storyboard; skip until the type is known to be otherwise.\n const src = this.adapter.streamType === MediaStreamTypes.LIVE ? undefined : this.adapter.contentData.storyboard;\n\n let track = this.querySelector<HTMLTrackElement>('track[data-storyboard]');\n\n if (!src) {\n track?.remove();\n return;\n }\n\n if (!track) {\n track = document.createElement('track');\n track.kind = 'metadata';\n track.label = 'thumbnails';\n track.default = true;\n track.setAttribute('data-storyboard', '');\n }\n\n if (track.getAttribute('src') !== src) track.setAttribute('src', src);\n\n if (track.parentNode !== this) this.append(track);\n }\n }\n\n return MuxVideoElement as unknown as Class;\n}\n"],"mappings":";;;;;;;;;;AAgCA,SAAgB,cAAyD,WAAyB;CAChG,MAAM,wBAAyB,UAA0D;EAIvF,WAAW,qBAA+B;GAGxC,OAAO,CAAC,GAFW,UAA2D,sBAAsB,CAAC,GAE/E,aAAa;EACrC;EAEA,YAAY,GAAG,MAAa;GAC1B,MAAM,GAAG,IAAI;GAEb,KAAK,QAAQ,iBAAiB,0BAA0B,KAAKA,gBAAgB,CAAC;GAE9E,KAAK,QAAQ,iBAAiB,sBAAsB;IAClD,KAAKC,YAAY;IACjB,KAAKC,gBAAgB;IACrB,KAAKF,gBAAgB;GACvB,CAAC;EACH;EAEA,yBAAkC,MAAc,UAAyB,UAAyB;GAChG,IAAI,SAAS,eAAe;IAI1B,IAAI,aAAa,MAAM,KAAKG,iBAAiB,KAAA,CAAS;SACjD,KAAKD,gBAAgB;IAE1B;GACF;GAEA,MAAM,2BAA2B,MAAM,UAAU,QAAQ;EAC3D;EAEA,kBAAkB;GAChB,MAAM,OAAO,KAAK,aAAa,aAAa;GAC5C,MAAM,SAAS,OAAO,OAAO,IAAI,IAAI;GAErC,OAAO,OAAO,MAAM,MAAM,IAAI,KAAA,IAAY;EAC5C;EAMA,kBAAkB;GAChB,MAAM,OAAO,KAAKE,gBAAgB;GAElC,IAAI,CAAC,YAAY,IAAI,GAAG,KAAKD,iBAAiB,IAAI;EACpD;EAIA,iBAAiB,MAA0B;GACzC,MAAM,SAAS,KAAK,QAAQ;GAC5B,IAAI,QAAQ,QAAQ,SAAS,MAAM;GAKnC,IAAI,CAAC,QAAQ;GAEb,MAAM,SAAS,EAAE,GAAG,QAAQ,OAAO;GAEnC,IAAI,YAAY,IAAI,GAAG,OAAO,OAAO;QAChC,OAAO,OAAO;GAEnB,KAAK,QAAQ,SAAS;IAAE,GAAG;IAAQ,QAAQ,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,SAAS,KAAA;GAAU;EACjG;EAGA,cAAc;GACZ,MAAM,MAAM,KAAK,QAAQ;GAEzB,IAAI,KACE;QAAA,KAAK,aAAa,KAAK,MAAM,KAAK,KAAK,aAAa,OAAO,GAAG;GAAA,OAC7D,IAAI,KAAK,aAAa,KAAK,GAChC,KAAK,gBAAgB,KAAK;EAE9B;EAGA,kBAAkB;GAEhB,MAAM,MAAM,KAAK,QAAQ,eAAe,iBAAiB,OAAO,KAAA,IAAY,KAAK,QAAQ,YAAY;GAErG,IAAI,QAAQ,KAAK,cAAgC,wBAAwB;GAEzE,IAAI,CAAC,KAAK;IACR,OAAO,OAAO;IACd;GACF;GAEA,IAAI,CAAC,OAAO;IACV,QAAQ,SAAS,cAAc,OAAO;IACtC,MAAM,OAAO;IACb,MAAM,QAAQ;IACd,MAAM,UAAU;IAChB,MAAM,aAAa,mBAAmB,EAAE;GAC1C;GAEA,IAAI,MAAM,aAAa,KAAK,MAAM,KAAK,MAAM,aAAa,OAAO,GAAG;GAEpE,IAAI,MAAM,eAAe,MAAM,KAAK,OAAO,KAAK;EAClD;CACF;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"mixin.js","names":[],"sources":["../../../../src/media/mux-video/mixin.ts"],"sourcesContent":["import { type MediaStreamType, MediaStreamTypes } from '@videojs/media';\nimport type { MuxContentData, MuxSourceBase } from '@videojs/mux-video';\nimport { isUndefined } from '@videojs/utils/predicate';\nimport type { AnyConstructor, Constructor } from '@videojs/utils/types';\n\n/**\n * What this mixin needs from whichever Mux Media the element hosts.\n *\n * Structural on purpose: the hls.js-backed `MuxVideoAdapter` and the SPF-backed one satisfy it identically, and\n * everything here is Mux identity or the WHATWG surface — nothing engine-specific — so the element itself has no\n * engine.\n */\ninterface MuxVideoAdapterLike {\n src: string;\n source: MuxSourceBase | null;\n readonly contentData: MuxContentData;\n readonly streamType: MediaStreamType | undefined;\n addEventListener(type: string, listener: () => void): void;\n}\n\ninterface MuxVideoElementLike extends HTMLElement {\n readonly adapter: MuxVideoAdapterLike;\n attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n}\n\n/**\n * The Mux-specific element behavior, over any Mux Media: the `poster-time` attribute, `src` reflection, and the\n * storyboard `<track>` child.\n *\n * Mixin rather than a base class because each flavor's element is built on a different `CustomMediaElement`, so there\n * is no common class to extend — only a common adapter contract.\n */\nexport function MuxVideoMixin<Class extends AnyConstructor<HTMLElement>>(BaseClass: Class): Class {\n class MuxVideoElement extends (BaseClass as unknown as Constructor<MuxVideoElementLike>) {\n // Declared here rather than in `static properties` because it does not map to a\n // adapter property of its own: it feeds `source.poster.time`. The generic path\n // would also coerce a removed attribute to `0`, which is a valid poster time.\n static get observedAttributes(): string[] {\n const inherited = (BaseClass as unknown as { observedAttributes?: string[] }).observedAttributes ?? [];\n\n return [...inherited, 'poster-time'];\n }\n\n constructor(...args: any[]) {\n super(...args);\n // Storyboards aren't generated for live streams; re-evaluate when the type is detected.\n this.adapter.addEventListener('streamtypechange', () => this.#syncStoryboard());\n // Covers both the `src` attribute and the `source` property (JS-only).\n this.adapter.addEventListener('sourcechange', () => {\n this.#reflectSrc();\n this.#syncPosterTime();\n this.#syncStoryboard();\n });\n }\n\n override attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (name === 'poster-time') {\n // Removing the attribute clears what it set. A value that is present but not\n // a number is ignored rather than treated as removal, so it cannot wipe a\n // `source.poster.time` set through JS.\n if (newValue === null) this.#applyPosterTime(undefined);\n else this.#syncPosterTime();\n\n return;\n }\n\n super.attributeChangedCallback?.(name, oldValue, newValue);\n }\n\n #posterTimeAttr() {\n const attr = this.getAttribute('poster-time');\n const parsed = attr ? Number(attr) : Number.NaN;\n\n return Number.isNaN(parsed) ? undefined : parsed;\n }\n\n // Re-applies `poster-time` after a source change, because Mux identity comes\n // from the URL and carries no poster params over. An absent attribute means no\n // opinion here, so a `source.poster.time` set through JS is left alone — only\n // removing the attribute clears it.\n #syncPosterTime() {\n const time = this.#posterTimeAttr();\n\n if (!isUndefined(time)) this.#applyPosterTime(time);\n }\n\n // Mirrors the `poster-time` attribute into `source.poster.time`, which is what\n // the derived poster URL is built from.\n #applyPosterTime(time: number | undefined) {\n const source = this.adapter.source;\n if (source?.poster?.time === time) return;\n\n // Nothing to write into yet. `#syncPosterTime` re-applies the attribute once a\n // source arrives, so a poster-only source is never worth fabricating — it has\n // no URL to play, and assigning it would schedule a load anyway.\n if (!source) return;\n\n const poster = { ...source?.poster };\n\n if (isUndefined(time)) delete poster.time;\n else poster.time = time;\n\n this.adapter.source = { ...source, poster: Object.keys(poster).length > 0 ? poster : undefined };\n }\n\n // Mirrors the adapter `src` to the `src` attribute so it matches the active playback URL.\n #reflectSrc() {\n const src = this.adapter.src;\n\n if (src) {\n if (this.getAttribute('src') !== src) this.setAttribute('src', src);\n } else if (this.hasAttribute('src')) {\n this.removeAttribute('src');\n }\n }\n\n // Keeps a storyboard track child in sync with the URL derived from `source`.\n #syncStoryboard() {\n // Live streams have no storyboard; skip until the type is known to be otherwise.\n const src = this.adapter.streamType === MediaStreamTypes.LIVE ? undefined : this.adapter.contentData.storyboard;\n\n let track = this.querySelector<HTMLTrackElement>('track[data-storyboard]');\n\n if (!src) {\n track?.remove();\n return;\n }\n\n if (!track) {\n track = document.createElement('track');\n track.kind = 'metadata';\n track.label = 'thumbnails';\n track.default = true;\n track.setAttribute('data-storyboard', '');\n }\n\n if (track.getAttribute('src') !== src) track.setAttribute('src', src);\n\n if (track.parentNode !== this) this.append(track);\n }\n }\n\n return MuxVideoElement as unknown as Class;\n}\n"],"mappings":";;;;;;;;;;AAgCA,SAAgB,cAAyD,WAAyB;CAChG,MAAM,wBAAyB,UAA0D;EAIvF,WAAW,qBAA+B;GAGxC,OAAO,CAAC,GAFW,UAA2D,sBAAsB,CAAC,GAE/E,aAAa;EACrC;EAEA,YAAY,GAAG,MAAa;GAC1B,MAAM,GAAG,IAAI;GAEb,KAAK,QAAQ,iBAAiB,0BAA0B,KAAK,gBAAgB,CAAC;GAE9E,KAAK,QAAQ,iBAAiB,sBAAsB;IAClD,KAAK,YAAY;IACjB,KAAK,gBAAgB;IACrB,KAAK,gBAAgB;GACvB,CAAC;EACH;EAEA,yBAAkC,MAAc,UAAyB,UAAyB;GAChG,IAAI,SAAS,eAAe;IAI1B,IAAI,aAAa,MAAM,KAAK,iBAAiB,KAAA,CAAS;SACjD,KAAK,gBAAgB;IAE1B;GACF;GAEA,MAAM,2BAA2B,MAAM,UAAU,QAAQ;EAC3D;EAEA,kBAAkB;GAChB,MAAM,OAAO,KAAK,aAAa,aAAa;GAC5C,MAAM,SAAS,OAAO,OAAO,IAAI,IAAI;GAErC,OAAO,OAAO,MAAM,MAAM,IAAI,KAAA,IAAY;EAC5C;EAMA,kBAAkB;GAChB,MAAM,OAAO,KAAK,gBAAgB;GAElC,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,iBAAiB,IAAI;EACpD;EAIA,iBAAiB,MAA0B;GACzC,MAAM,SAAS,KAAK,QAAQ;GAC5B,IAAI,QAAQ,QAAQ,SAAS,MAAM;GAKnC,IAAI,CAAC,QAAQ;GAEb,MAAM,SAAS,EAAE,GAAG,QAAQ,OAAO;GAEnC,IAAI,YAAY,IAAI,GAAG,OAAO,OAAO;QAChC,OAAO,OAAO;GAEnB,KAAK,QAAQ,SAAS;IAAE,GAAG;IAAQ,QAAQ,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,SAAS,KAAA;GAAU;EACjG;EAGA,cAAc;GACZ,MAAM,MAAM,KAAK,QAAQ;GAEzB,IAAI,KACE;QAAA,KAAK,aAAa,KAAK,MAAM,KAAK,KAAK,aAAa,OAAO,GAAG;GAAA,OAC7D,IAAI,KAAK,aAAa,KAAK,GAChC,KAAK,gBAAgB,KAAK;EAE9B;EAGA,kBAAkB;GAEhB,MAAM,MAAM,KAAK,QAAQ,eAAe,iBAAiB,OAAO,KAAA,IAAY,KAAK,QAAQ,YAAY;GAErG,IAAI,QAAQ,KAAK,cAAgC,wBAAwB;GAEzE,IAAI,CAAC,KAAK;IACR,OAAO,OAAO;IACd;GACF;GAEA,IAAI,CAAC,OAAO;IACV,QAAQ,SAAS,cAAc,OAAO;IACtC,MAAM,OAAO;IACb,MAAM,QAAQ;IACd,MAAM,UAAU;IAChB,MAAM,aAAa,mBAAmB,EAAE;GAC1C;GAEA,IAAI,MAAM,aAAa,KAAK,MAAM,KAAK,MAAM,aAAa,OAAO,GAAG;GAEpE,IAAI,MAAM,eAAe,MAAM,KAAK,OAAO,KAAK;EAClD;CACF;CAEA,OAAO;AACT"}
@@ -1,18 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { MuxVideoAdapter } from "@videojs/mux-video/spf";
2
3
  //#region src/media/mux-video/spf.d.ts
3
- declare const MuxVideoBase: import("@videojs/utils/types").Constructor<HTMLElement & MuxVideoAdapter & {
4
- readonly adapter: MuxVideoAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const MuxVideoBase: CustomMediaConstructor<typeof MuxVideoAdapter>;
16
5
  /**
17
6
  * `<mux-video>` over the SPF-backed Mux Media instead of the hls.js-backed one.
18
7
  *
@@ -20,7 +9,6 @@ declare const MuxVideoBase: import("@videojs/utils/types").Constructor<HTMLEleme
20
9
  * the surface moves. Deliberately not exported from this directory's barrel, so importing one flavor never pulls the
21
10
  * other's engine in with it.
22
11
  */
23
- declare class MuxVideo extends MuxVideoBase {}
12
+ export declare class MuxVideo extends MuxVideoBase {}
24
13
  //#endregion
25
- export { MuxVideo };
26
14
  //# sourceMappingURL=spf.d.ts.map
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { NativeHlsAdapter } from "@videojs/native-hls-video";
2
3
  //#region src/media/native-hls-video/adapter.d.ts
3
- declare const NativeHlsVideo_base: import("@videojs/utils/types").Constructor<HTMLElement & NativeHlsAdapter & {
4
- readonly adapter: NativeHlsAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class NativeHlsVideo extends NativeHlsVideo_base {}
4
+ declare const NativeHlsVideo_base: CustomMediaConstructor<typeof NativeHlsAdapter>;
5
+ export declare class NativeHlsVideo extends NativeHlsVideo_base {}
17
6
  //#endregion
18
- export { NativeHlsVideo };
19
7
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,19 +1,7 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { ShakaAdapter } from "@videojs/shaka-video";
2
3
  //#region src/media/shaka-video/adapter.d.ts
3
- declare const ShakaVideo_base: import("@videojs/utils/types").Constructor<HTMLElement & ShakaAdapter & {
4
- readonly adapter: ShakaAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
16
- declare class ShakaVideo extends ShakaVideo_base {}
4
+ declare const ShakaVideo_base: CustomMediaConstructor<typeof ShakaAdapter>;
5
+ export declare class ShakaVideo extends ShakaVideo_base {}
17
6
  //#endregion
18
- export { ShakaVideo };
19
7
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,23 +1,11 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { SpotifyAdapter } from "@videojs/spotify-audio";
2
3
  //#region src/media/spotify-audio/adapter.d.ts
3
- declare const SpotifyCustomMediaElement_base: import("@videojs/utils/types").Constructor<HTMLElement & SpotifyAdapter & {
4
- readonly adapter: SpotifyAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const SpotifyCustomMediaElement_base: CustomMediaConstructor<typeof SpotifyAdapter>;
16
5
  declare class SpotifyCustomMediaElement extends SpotifyCustomMediaElement_base {
17
6
  static getTemplateHTML: (attrs: Record<string, string>) => string;
18
7
  }
19
8
  declare const SpotifyAudio_base: typeof SpotifyCustomMediaElement;
20
- declare class SpotifyAudio extends SpotifyAudio_base {}
9
+ export declare class SpotifyAudio extends SpotifyAudio_base {}
21
10
  //#endregion
22
- export { SpotifyAudio };
23
11
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,23 +1,11 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { TikTokAdapter } from "@videojs/tiktok-video";
2
3
  //#region src/media/tiktok-video/adapter.d.ts
3
- declare const TikTokCustomMediaElement_base: import("@videojs/utils/types").Constructor<HTMLElement & TikTokAdapter & {
4
- readonly adapter: TikTokAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const TikTokCustomMediaElement_base: CustomMediaConstructor<typeof TikTokAdapter>;
16
5
  declare class TikTokCustomMediaElement extends TikTokCustomMediaElement_base {
17
6
  static getTemplateHTML: (attrs: Record<string, string>) => string;
18
7
  }
19
8
  declare const TikTokVideo_base: typeof TikTokCustomMediaElement;
20
- declare class TikTokVideo extends TikTokVideo_base {}
9
+ export declare class TikTokVideo extends TikTokVideo_base {}
21
10
  //#endregion
22
- export { TikTokVideo };
23
11
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,23 +1,11 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { TwitchAdapter } from "@videojs/twitch-video";
2
3
  //#region src/media/twitch-video/adapter.d.ts
3
- declare const TwitchCustomMediaElement_base: import("@videojs/utils/types").Constructor<HTMLElement & TwitchAdapter & {
4
- readonly adapter: TwitchAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const TwitchCustomMediaElement_base: CustomMediaConstructor<typeof TwitchAdapter>;
16
5
  declare class TwitchCustomMediaElement extends TwitchCustomMediaElement_base {
17
6
  static getTemplateHTML: (attrs: Record<string, string>) => string;
18
7
  }
19
8
  declare const TwitchVideo_base: typeof TwitchCustomMediaElement;
20
- declare class TwitchVideo extends TwitchVideo_base {}
9
+ export declare class TwitchVideo extends TwitchVideo_base {}
21
10
  //#endregion
22
- export { TwitchVideo };
23
11
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,23 +1,11 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { VimeoAdapter } from "@videojs/vimeo-video";
2
3
  //#region src/media/vimeo-video/adapter.d.ts
3
- declare const VimeoCustomMediaElement_base: import("@videojs/utils/types").Constructor<HTMLElement & VimeoAdapter & {
4
- readonly adapter: VimeoAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const VimeoCustomMediaElement_base: CustomMediaConstructor<typeof VimeoAdapter>;
16
5
  declare class VimeoCustomMediaElement extends VimeoCustomMediaElement_base {
17
6
  static getTemplateHTML: (attrs: Record<string, string>) => string;
18
7
  }
19
8
  declare const VimeoVideo_base: typeof VimeoCustomMediaElement;
20
- declare class VimeoVideo extends VimeoVideo_base {}
9
+ export declare class VimeoVideo extends VimeoVideo_base {}
21
10
  //#endregion
22
- export { VimeoVideo };
23
11
  //# sourceMappingURL=adapter.d.ts.map
@@ -5,7 +5,6 @@ declare const WistiaVideo_base: typeof WistiaAdapter;
5
5
  * `<wistia-video>` is Wistia's own `<wistia-player>`, normalized into a media by `WistiaAdapter` and attached to the
6
6
  * player store here. No template and no inner player: the element written is the element that plays.
7
7
  */
8
- declare class WistiaVideo extends WistiaVideo_base {}
8
+ export declare class WistiaVideo extends WistiaVideo_base {}
9
9
  //#endregion
10
- export { WistiaVideo };
11
10
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,23 +1,11 @@
1
+ import { CustomMediaConstructor } from "../../index.js";
1
2
  import { YouTubeAdapter } from "@videojs/youtube-video";
2
3
  //#region src/media/youtube-video/adapter.d.ts
3
- declare const YouTubeCustomMediaElement_base: import("@videojs/utils/types").Constructor<HTMLElement & YouTubeAdapter & {
4
- readonly adapter: YouTubeAdapter;
5
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
6
- }> & {
7
- properties: Record<string, {
8
- type: any;
9
- attribute?: string;
10
- empty?: unknown;
11
- }>;
12
- getTemplateHTML: (attrs: Record<string, string>) => string;
13
- shadowRootOptions: ShadowRootInit;
14
- readonly observedAttributes: string[];
15
- };
4
+ declare const YouTubeCustomMediaElement_base: CustomMediaConstructor<typeof YouTubeAdapter>;
16
5
  declare class YouTubeCustomMediaElement extends YouTubeCustomMediaElement_base {
17
6
  static getTemplateHTML: (attrs: Record<string, string>) => string;
18
7
  }
19
8
  declare const YouTubeVideo_base: typeof YouTubeCustomMediaElement;
20
- declare class YouTubeVideo extends YouTubeVideo_base {}
9
+ export declare class YouTubeVideo extends YouTubeVideo_base {}
21
10
  //#endregion
22
- export { YouTubeVideo };
23
11
  //# sourceMappingURL=adapter.d.ts.map
@@ -1,33 +1,52 @@
1
- import { AnyPlayerStore, MediaContainer, PlayerStore } from "@videojs/core/dom";
1
+ import { AnyPlayerStore, MediaContainer, PlayerExtension, PlayerStore } from "@videojs/core/dom";
2
2
  import { ReactiveControllerHost } from "@videojs/element";
3
3
  import { Media } from "@videojs/media/dom";
4
4
  import { Context, ContextConsumer } from "@videojs/element/context";
5
5
  //#region src/player/context.d.ts
6
- declare const PLAYER_CONTEXT_KEY: unique symbol;
7
- type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;
6
+ export declare const PLAYER_CONTEXT_KEY: unique symbol;
7
+ export type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;
8
8
  /** @displayType Context<symbol, {Store}> */
9
- type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<typeof PLAYER_CONTEXT_KEY, PlayerContextValue<Store>>;
9
+ export type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<typeof PLAYER_CONTEXT_KEY, PlayerContextValue<Store>>;
10
10
  /**
11
11
  * The default player context instance for consuming the player store in controllers.
12
12
  *
13
13
  * @public
14
14
  */
15
- declare const playerContext: Context<typeof PLAYER_CONTEXT_KEY, AnyPlayerStore>;
16
- declare const MEDIA_CONTEXT_KEY: unique symbol;
17
- interface MediaContextValue {
15
+ export declare const playerContext: Context<typeof PLAYER_CONTEXT_KEY, AnyPlayerStore>;
16
+ /** @internal */
17
+ export declare const MEDIA_CONTEXT_KEY: unique symbol;
18
+ /** @internal */
19
+ export interface MediaContextValue {
18
20
  media: Media | null;
19
21
  registerMedia: (media: Media) => () => void;
20
22
  }
21
- type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;
22
- declare const mediaContext: Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;
23
- declare const CONTAINER_CONTEXT_KEY: unique symbol;
24
- interface ContainerContextValue {
23
+ /** @internal */
24
+ export type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;
25
+ /** @internal */
26
+ export declare const mediaContext: Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;
27
+ /** @internal */
28
+ export declare const CONTAINER_CONTEXT_KEY: unique symbol;
29
+ /** @internal */
30
+ export interface ContainerContextValue {
25
31
  container: MediaContainer | null;
26
32
  registerContainer: (container: MediaContainer) => () => void;
27
33
  }
28
- type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
29
- type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;
30
- declare const containerContext: Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
34
+ /** @internal */
35
+ export type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
36
+ /** @internal */
37
+ export type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;
38
+ /** @internal */
39
+ export declare const containerContext: Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;
40
+ /** @internal */
41
+ export declare const EXTENSION_CONTEXT_KEY: unique symbol;
42
+ /** @internal */
43
+ export interface ExtensionContextValue {
44
+ /** Register a player extension with the surrounding player. Returns a release callback for that exact instance. */
45
+ registerExtension: (extension: PlayerExtension) => () => void;
46
+ }
47
+ /** @internal */
48
+ export type ExtensionContext = Context<typeof EXTENSION_CONTEXT_KEY, ExtensionContextValue>;
49
+ /** @internal */
50
+ export declare const extensionContext: Context<typeof EXTENSION_CONTEXT_KEY, ExtensionContextValue>;
31
51
  //#endregion
32
- export { CONTAINER_CONTEXT_KEY, ContainerContext, ContainerContextConsumer, ContainerContextValue, MEDIA_CONTEXT_KEY, MediaContext, MediaContextValue, PLAYER_CONTEXT_KEY, PlayerContext, PlayerContextValue, containerContext, mediaContext, playerContext };
33
52
  //# sourceMappingURL=context.d.ts.map
@@ -7,11 +7,19 @@ const PLAYER_CONTEXT_KEY = Symbol.for("@videojs/player");
7
7
  * @public
8
8
  */
9
9
  const playerContext = createContext(PLAYER_CONTEXT_KEY);
10
+ /** @internal */
10
11
  const MEDIA_CONTEXT_KEY = Symbol.for("@videojs/media");
12
+ /** @internal */
11
13
  const mediaContext = createContext(MEDIA_CONTEXT_KEY);
14
+ /** @internal */
12
15
  const CONTAINER_CONTEXT_KEY = Symbol.for("@videojs/container");
16
+ /** @internal */
13
17
  const containerContext = createContext(CONTAINER_CONTEXT_KEY);
18
+ /** @internal */
19
+ const EXTENSION_CONTEXT_KEY = Symbol.for("@videojs/extension");
20
+ /** @internal */
21
+ const extensionContext = createContext(EXTENSION_CONTEXT_KEY);
14
22
  //#endregion
15
- export { CONTAINER_CONTEXT_KEY, MEDIA_CONTEXT_KEY, PLAYER_CONTEXT_KEY, containerContext, mediaContext, playerContext };
23
+ export { CONTAINER_CONTEXT_KEY, EXTENSION_CONTEXT_KEY, MEDIA_CONTEXT_KEY, PLAYER_CONTEXT_KEY, containerContext, extensionContext, mediaContext, playerContext };
16
24
 
17
25
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.ts"],"sourcesContent":["import type { AnyPlayerStore, MediaContainer, PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveControllerHost } from '@videojs/element';\nimport { type Context, type ContextConsumer, createContext } from '@videojs/element/context';\nimport type { Media } from '@videojs/media/dom';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\n/** @displayType Context<symbol, {Store}> */\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\nexport interface MediaContextValue {\n media: Media | null;\n registerMedia: (media: Media) => () => void;\n}\n\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n registerContainer: (container: MediaContainer) => () => void;\n}\n\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\nexport type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;\n\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n"],"mappings":";;AASA,MAAa,qBAAqB,OAAO,IAAI,iBAAiB;;;;;;AAe9D,MAAa,gBAAgB,cAA6D,kBAAkB;AAM5G,MAAa,oBAAoB,OAAO,IAAI,gBAAgB;AAS5D,MAAa,eAAe,cAA2D,iBAAiB;AAMxG,MAAa,wBAAwB,OAAO,IAAI,oBAAoB;AAWpE,MAAa,mBAAmB,cAC9B,qBACF"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/player/context.ts"],"sourcesContent":["import type { AnyPlayerStore, MediaContainer, PlayerExtension, PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveControllerHost } from '@videojs/element';\nimport { type Context, type ContextConsumer, createContext } from '@videojs/element/context';\nimport type { Media } from '@videojs/media/dom';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\n/** @displayType Context<symbol, {Store}> */\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\n/** @internal */\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\n/** @internal */\nexport interface MediaContextValue {\n media: Media | null;\n registerMedia: (media: Media) => () => void;\n}\n\n/** @internal */\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\n/** @internal */\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\n/** @internal */\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\n/** @internal */\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n registerContainer: (container: MediaContainer) => () => void;\n}\n\n/** @internal */\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\n/** @internal */\nexport type ContainerContextConsumer = ContextConsumer<ContainerContext, ReactiveControllerHost & HTMLElement>;\n\n/** @internal */\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n\n// ----------------------------------------\n// Extension Context\n// ----------------------------------------\n\n/** @internal */\nexport const EXTENSION_CONTEXT_KEY = Symbol.for('@videojs/extension');\n\n/** @internal */\nexport interface ExtensionContextValue {\n /** Register a player extension with the surrounding player. Returns a release callback for that exact instance. */\n registerExtension: (extension: PlayerExtension) => () => void;\n}\n\n/** @internal */\nexport type ExtensionContext = Context<typeof EXTENSION_CONTEXT_KEY, ExtensionContextValue>;\n\n/** @internal */\nexport const extensionContext = createContext<ExtensionContextValue, typeof EXTENSION_CONTEXT_KEY>(\n EXTENSION_CONTEXT_KEY\n);\n"],"mappings":";;AASA,MAAa,qBAAqB,OAAO,IAAI,iBAAiB;;;;;;AAe9D,MAAa,gBAAgB,cAA6D,kBAAkB;;AAO5G,MAAa,oBAAoB,OAAO,IAAI,gBAAgB;;AAY5D,MAAa,eAAe,cAA2D,iBAAiB;;AAOxG,MAAa,wBAAwB,OAAO,IAAI,oBAAoB;;AAepE,MAAa,mBAAmB,cAC9B,qBACF;;AAOA,MAAa,wBAAwB,OAAO,IAAI,oBAAoB;;AAYpE,MAAa,mBAAmB,cAC9B,qBACF"}
@@ -3,7 +3,7 @@ import { PlayerStore } from "@videojs/core/dom";
3
3
  import { ReactiveController, ReactiveControllerHost } from "@videojs/element";
4
4
  import { InferStoreState, Selector } from "@videojs/store";
5
5
  //#region src/player/controller.d.ts
6
- type PlayerControllerHost = ReactiveControllerHost & HTMLElement;
6
+ export type PlayerControllerHost = ReactiveControllerHost & HTMLElement;
7
7
  /**
8
8
  * Reactive controller for accessing player store state.
9
9
  *
@@ -27,7 +27,7 @@ type PlayerControllerHost = ReactiveControllerHost & HTMLElement;
27
27
  * }
28
28
  * ```;
29
29
  */
30
- declare class PlayerController<Store extends PlayerStore, Result = Store> implements ReactiveController {
30
+ export declare class PlayerController<Store extends PlayerStore, Result = Store> implements ReactiveController {
31
31
  #private;
32
32
  /**
33
33
  * @param host - The host element that owns this controller.
@@ -47,7 +47,7 @@ declare class PlayerController<Store extends PlayerStore, Result = Store> implem
47
47
  hostConnected(): void;
48
48
  hostDisconnected(): void;
49
49
  }
50
- declare namespace PlayerController {
50
+ export declare namespace PlayerController {
51
51
  type Host = PlayerControllerHost;
52
52
  type Constructor<Store extends PlayerStore = PlayerStore, Result = Store> = typeof PlayerController<Store, Result>;
53
53
  interface ConfiguredConstructor<Store extends PlayerStore> {
@@ -56,5 +56,4 @@ declare namespace PlayerController {
56
56
  }
57
57
  }
58
58
  //#endregion
59
- export { PlayerController, PlayerControllerHost };
60
59
  //# sourceMappingURL=controller.d.ts.map