@hanifhan1f/vidstack 1.12.13

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 (746) hide show
  1. package/.templates/sandbox/favicon-32x32.png +0 -0
  2. package/.templates/sandbox/index.html +42 -0
  3. package/.templates/sandbox/main.ts +137 -0
  4. package/.templates/sandbox/styles.css +68 -0
  5. package/LICENSE +21 -0
  6. package/README.md +22 -0
  7. package/analyze.config.ts +133 -0
  8. package/build/build-styles.js +33 -0
  9. package/build/rollup-decorators.ts +102 -0
  10. package/build/rollup-minify.js +20 -0
  11. package/build/rollup-ts.js +57 -0
  12. package/npm/analyze.json.d.ts +8 -0
  13. package/npm/bundle.d.ts +1 -0
  14. package/npm/dom.d.ts +91 -0
  15. package/npm/empty.vtt +1 -0
  16. package/npm/google-cast.d.ts +1422 -0
  17. package/npm/player/index.d.ts +3 -0
  18. package/npm/player/layouts/default.d.ts +3 -0
  19. package/npm/player/layouts/index.d.ts +3 -0
  20. package/npm/player/layouts/plyr.d.ts +3 -0
  21. package/npm/player/ui.d.ts +3 -0
  22. package/npm/tailwind.cjs +101 -0
  23. package/npm/tailwind.d.cts +15 -0
  24. package/package.json +283 -0
  25. package/rollup.config.ts +442 -0
  26. package/src/components/aria/announcer.ts +181 -0
  27. package/src/components/layouts/default/audio-layout.ts +20 -0
  28. package/src/components/layouts/default/context.ts +15 -0
  29. package/src/components/layouts/default/default-layout.ts +67 -0
  30. package/src/components/layouts/default/props.ts +143 -0
  31. package/src/components/layouts/default/translations.ts +70 -0
  32. package/src/components/layouts/default/video-layout.ts +20 -0
  33. package/src/components/layouts/plyr/context.ts +13 -0
  34. package/src/components/layouts/plyr/plyr-layout.ts +90 -0
  35. package/src/components/layouts/plyr/props.ts +114 -0
  36. package/src/components/layouts/plyr/translations.ts +53 -0
  37. package/src/components/player.ts +758 -0
  38. package/src/components/provider/provider.ts +184 -0
  39. package/src/components/provider/source-select.ts +378 -0
  40. package/src/components/provider/tracks.ts +37 -0
  41. package/src/components/ui/buttons/airplay-button.ts +74 -0
  42. package/src/components/ui/buttons/caption-button.ts +68 -0
  43. package/src/components/ui/buttons/fullscreen-button.ts +90 -0
  44. package/src/components/ui/buttons/google-cast-button.ts +75 -0
  45. package/src/components/ui/buttons/live-button.ts +76 -0
  46. package/src/components/ui/buttons/mute-button.ts +69 -0
  47. package/src/components/ui/buttons/pip-button.ts +71 -0
  48. package/src/components/ui/buttons/play-button.ts +62 -0
  49. package/src/components/ui/buttons/seek-button.ts +92 -0
  50. package/src/components/ui/buttons/toggle-button-controller.ts +92 -0
  51. package/src/components/ui/buttons/toggle-button.ts +49 -0
  52. package/src/components/ui/captions/captions-renderer.ts +63 -0
  53. package/src/components/ui/captions/captions.ts +227 -0
  54. package/src/components/ui/controls-group.ts +13 -0
  55. package/src/components/ui/controls.ts +101 -0
  56. package/src/components/ui/gesture.ts +252 -0
  57. package/src/components/ui/menu/menu-button.ts +95 -0
  58. package/src/components/ui/menu/menu-context.ts +27 -0
  59. package/src/components/ui/menu/menu-focus-controller.ts +205 -0
  60. package/src/components/ui/menu/menu-item.ts +9 -0
  61. package/src/components/ui/menu/menu-items.ts +129 -0
  62. package/src/components/ui/menu/menu-portal.ts +105 -0
  63. package/src/components/ui/menu/menu.ts +612 -0
  64. package/src/components/ui/menu/radio/radio-controller.ts +18 -0
  65. package/src/components/ui/menu/radio/radio-group-controller.ts +81 -0
  66. package/src/components/ui/menu/radio/radio-group.ts +78 -0
  67. package/src/components/ui/menu/radio/radio.ts +151 -0
  68. package/src/components/ui/menu/radio-groups/audio-gain-radio-group.ts +116 -0
  69. package/src/components/ui/menu/radio-groups/audio-radio-group.ts +121 -0
  70. package/src/components/ui/menu/radio-groups/captions-radio-group.ts +153 -0
  71. package/src/components/ui/menu/radio-groups/chapters-radio-group.ts +211 -0
  72. package/src/components/ui/menu/radio-groups/quality-radio-group.ts +181 -0
  73. package/src/components/ui/menu/radio-groups/speed-radio-group.ts +112 -0
  74. package/src/components/ui/popper/popper.ts +103 -0
  75. package/src/components/ui/poster.ts +187 -0
  76. package/src/components/ui/sliders/audio-gain-slider.ts +150 -0
  77. package/src/components/ui/sliders/quality-slider.ts +148 -0
  78. package/src/components/ui/sliders/slider/api/cssvars.ts +10 -0
  79. package/src/components/ui/sliders/slider/api/events.ts +65 -0
  80. package/src/components/ui/sliders/slider/api/state.ts +101 -0
  81. package/src/components/ui/sliders/slider/events-controller.ts +383 -0
  82. package/src/components/ui/sliders/slider/format.ts +12 -0
  83. package/src/components/ui/sliders/slider/slider-context.ts +18 -0
  84. package/src/components/ui/sliders/slider/slider-controller.ts +211 -0
  85. package/src/components/ui/sliders/slider/slider.ts +94 -0
  86. package/src/components/ui/sliders/slider/types.ts +1 -0
  87. package/src/components/ui/sliders/slider/utils.ts +14 -0
  88. package/src/components/ui/sliders/slider-preview.ts +131 -0
  89. package/src/components/ui/sliders/slider-thumbnail.ts +28 -0
  90. package/src/components/ui/sliders/slider-value.ts +122 -0
  91. package/src/components/ui/sliders/slider-video.ts +198 -0
  92. package/src/components/ui/sliders/speed-slider.ts +147 -0
  93. package/src/components/ui/sliders/time-slider/slider-chapters.ts +444 -0
  94. package/src/components/ui/sliders/time-slider/time-slider.ts +319 -0
  95. package/src/components/ui/sliders/volume-slider.ts +145 -0
  96. package/src/components/ui/thumbnails/thumbnail-loader.ts +324 -0
  97. package/src/components/ui/thumbnails/thumbnail.ts +244 -0
  98. package/src/components/ui/time.ts +191 -0
  99. package/src/components/ui/tooltip/tooltip-content.ts +105 -0
  100. package/src/components/ui/tooltip/tooltip-context.ts +13 -0
  101. package/src/components/ui/tooltip/tooltip-trigger.ts +49 -0
  102. package/src/components/ui/tooltip/tooltip.ts +127 -0
  103. package/src/core/api/media-attrs.ts +35 -0
  104. package/src/core/api/media-context.ts +52 -0
  105. package/src/core/api/media-events.ts +601 -0
  106. package/src/core/api/media-request-events.ts +323 -0
  107. package/src/core/api/player-controller.ts +10 -0
  108. package/src/core/api/player-events.ts +49 -0
  109. package/src/core/api/player-props.ts +233 -0
  110. package/src/core/api/player-state.ts +940 -0
  111. package/src/core/api/src-types.ts +97 -0
  112. package/src/core/api/types.ts +69 -0
  113. package/src/core/controls.ts +251 -0
  114. package/src/core/font/font-options.ts +106 -0
  115. package/src/core/font/font-vars.ts +107 -0
  116. package/src/core/keyboard/aria-shortcuts.ts +42 -0
  117. package/src/core/keyboard/controller.ts +302 -0
  118. package/src/core/keyboard/types.ts +40 -0
  119. package/src/core/quality/events.ts +48 -0
  120. package/src/core/quality/symbols.ts +8 -0
  121. package/src/core/quality/utils.ts +13 -0
  122. package/src/core/quality/video-quality.ts +86 -0
  123. package/src/core/state/media-events-logger.ts +67 -0
  124. package/src/core/state/media-load-controller.ts +40 -0
  125. package/src/core/state/media-player-delegate.ts +170 -0
  126. package/src/core/state/media-request-manager.ts +952 -0
  127. package/src/core/state/media-state-manager.ts +1077 -0
  128. package/src/core/state/media-state-sync.ts +162 -0
  129. package/src/core/state/media-storage.ts +196 -0
  130. package/src/core/state/navigator-media-session.ts +62 -0
  131. package/src/core/state/remote-control.ts +584 -0
  132. package/src/core/state/tracked-media-events.ts +22 -0
  133. package/src/core/time-ranges.ts +130 -0
  134. package/src/core/tracks/audio/audio-tracks.ts +33 -0
  135. package/src/core/tracks/audio/events.ts +41 -0
  136. package/src/core/tracks/text/events.ts +52 -0
  137. package/src/core/tracks/text/render/libass-text-renderer.ts +246 -0
  138. package/src/core/tracks/text/render/native-text-renderer.ts +106 -0
  139. package/src/core/tracks/text/render/text-renderer.ts +134 -0
  140. package/src/core/tracks/text/symbols.ts +17 -0
  141. package/src/core/tracks/text/text-track.test.ts +407 -0
  142. package/src/core/tracks/text/text-track.ts +413 -0
  143. package/src/core/tracks/text/text-tracks.ts +210 -0
  144. package/src/core/tracks/text/utils.ts +85 -0
  145. package/src/elements/bundles/cdn/player.core.ts +6 -0
  146. package/src/elements/bundles/cdn/player.ts +8 -0
  147. package/src/elements/bundles/cdn/plyr.ts +6 -0
  148. package/src/elements/bundles/cdn-legacy/player-with-default.ts +4 -0
  149. package/src/elements/bundles/cdn-legacy/player-with-layouts.ts +4 -0
  150. package/src/elements/bundles/cdn-legacy/player-with-plyr.ts +3 -0
  151. package/src/elements/bundles/cdn-legacy/player.ts +3 -0
  152. package/src/elements/bundles/icons.ts +3 -0
  153. package/src/elements/bundles/player-layouts/default.ts +7 -0
  154. package/src/elements/bundles/player-layouts/index.ts +9 -0
  155. package/src/elements/bundles/player-layouts/plyr.ts +65 -0
  156. package/src/elements/bundles/player-ui.ts +108 -0
  157. package/src/elements/bundles/player.ts +7 -0
  158. package/src/elements/define/announcer-element.ts +20 -0
  159. package/src/elements/define/buttons/airplay-button-element.ts +21 -0
  160. package/src/elements/define/buttons/caption-button-element.ts +22 -0
  161. package/src/elements/define/buttons/fullscreen-button-element.ts +22 -0
  162. package/src/elements/define/buttons/google-cast-button-element.ts +21 -0
  163. package/src/elements/define/buttons/live-button-element.ts +22 -0
  164. package/src/elements/define/buttons/mute-button-element.ts +23 -0
  165. package/src/elements/define/buttons/pip-button-element.ts +22 -0
  166. package/src/elements/define/buttons/play-button-element.ts +23 -0
  167. package/src/elements/define/buttons/seek-button-element.ts +26 -0
  168. package/src/elements/define/buttons/toggle-button-element.ts +21 -0
  169. package/src/elements/define/captions-element.ts +20 -0
  170. package/src/elements/define/chapter-title-element.ts +54 -0
  171. package/src/elements/define/controls-element.ts +26 -0
  172. package/src/elements/define/controls-group-element.ts +26 -0
  173. package/src/elements/define/gesture-element.ts +24 -0
  174. package/src/elements/define/layouts/default/audio-layout-element.ts +137 -0
  175. package/src/elements/define/layouts/default/audio-layout.ts +113 -0
  176. package/src/elements/define/layouts/default/icons-loader.ts +17 -0
  177. package/src/elements/define/layouts/default/icons.ts +86 -0
  178. package/src/elements/define/layouts/default/slots.ts +12 -0
  179. package/src/elements/define/layouts/default/ui/announcer.ts +14 -0
  180. package/src/elements/define/layouts/default/ui/buttons.ts +291 -0
  181. package/src/elements/define/layouts/default/ui/captions.ts +14 -0
  182. package/src/elements/define/layouts/default/ui/controls.ts +5 -0
  183. package/src/elements/define/layouts/default/ui/keyboard-display.ts +114 -0
  184. package/src/elements/define/layouts/default/ui/menu/accessibility-menu.ts +79 -0
  185. package/src/elements/define/layouts/default/ui/menu/audio-menu.ts +135 -0
  186. package/src/elements/define/layouts/default/ui/menu/captions-menu.ts +114 -0
  187. package/src/elements/define/layouts/default/ui/menu/chapters-menu.ts +117 -0
  188. package/src/elements/define/layouts/default/ui/menu/episodes-menu.ts +133 -0
  189. package/src/elements/define/layouts/default/ui/menu/font-menu.ts +253 -0
  190. package/src/elements/define/layouts/default/ui/menu/items/menu-checkbox.ts +67 -0
  191. package/src/elements/define/layouts/default/ui/menu/items/menu-items.ts +108 -0
  192. package/src/elements/define/layouts/default/ui/menu/items/menu-slider.ts +59 -0
  193. package/src/elements/define/layouts/default/ui/menu/menu-portal.ts +56 -0
  194. package/src/elements/define/layouts/default/ui/menu/playback-menu.ts +183 -0
  195. package/src/elements/define/layouts/default/ui/menu/settings-menu.ts +98 -0
  196. package/src/elements/define/layouts/default/ui/slider.ts +112 -0
  197. package/src/elements/define/layouts/default/ui/time.ts +41 -0
  198. package/src/elements/define/layouts/default/ui/title.ts +25 -0
  199. package/src/elements/define/layouts/default/ui/utils.ts +10 -0
  200. package/src/elements/define/layouts/default/video-layout-element.ts +125 -0
  201. package/src/elements/define/layouts/default/video-layout.ts +353 -0
  202. package/src/elements/define/layouts/icons/icons-loader.ts +47 -0
  203. package/src/elements/define/layouts/icons/layout-icons-loader.ts +24 -0
  204. package/src/elements/define/layouts/layout-element.ts +78 -0
  205. package/src/elements/define/layouts/layout-name.ts +15 -0
  206. package/src/elements/define/layouts/plyr/icons/plyr-airplay.js +1 -0
  207. package/src/elements/define/layouts/plyr/icons/plyr-captions-off.js +1 -0
  208. package/src/elements/define/layouts/plyr/icons/plyr-captions-on.js +1 -0
  209. package/src/elements/define/layouts/plyr/icons/plyr-download.js +1 -0
  210. package/src/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.js +1 -0
  211. package/src/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.js +1 -0
  212. package/src/elements/define/layouts/plyr/icons/plyr-fast-forward.js +1 -0
  213. package/src/elements/define/layouts/plyr/icons/plyr-muted.js +1 -0
  214. package/src/elements/define/layouts/plyr/icons/plyr-pause.js +1 -0
  215. package/src/elements/define/layouts/plyr/icons/plyr-pip.js +1 -0
  216. package/src/elements/define/layouts/plyr/icons/plyr-play.js +1 -0
  217. package/src/elements/define/layouts/plyr/icons/plyr-restart.js +1 -0
  218. package/src/elements/define/layouts/plyr/icons/plyr-rewind.js +1 -0
  219. package/src/elements/define/layouts/plyr/icons/plyr-settings.js +1 -0
  220. package/src/elements/define/layouts/plyr/icons/plyr-volume.js +1 -0
  221. package/src/elements/define/layouts/plyr/icons-loader.ts +21 -0
  222. package/src/elements/define/layouts/plyr/icons.ts +34 -0
  223. package/src/elements/define/layouts/plyr/plyr-layout-element.ts +67 -0
  224. package/src/elements/define/layouts/plyr/ui.ts +657 -0
  225. package/src/elements/define/layouts/slot-manager.ts +61 -0
  226. package/src/elements/define/layouts/slot-observer.ts +70 -0
  227. package/src/elements/define/menus/_template.ts +47 -0
  228. package/src/elements/define/menus/audio-gain-group-element.ts +37 -0
  229. package/src/elements/define/menus/audio-radio-group-element.ts +37 -0
  230. package/src/elements/define/menus/captions-radio-group-element.ts +37 -0
  231. package/src/elements/define/menus/chapters-radio-group-element.ts +68 -0
  232. package/src/elements/define/menus/menu-button-element.ts +27 -0
  233. package/src/elements/define/menus/menu-element.ts +28 -0
  234. package/src/elements/define/menus/menu-item-element.ts +24 -0
  235. package/src/elements/define/menus/menu-items-element.ts +27 -0
  236. package/src/elements/define/menus/menu-portal-element.ts +35 -0
  237. package/src/elements/define/menus/quality-radio-group-element.ts +51 -0
  238. package/src/elements/define/menus/radio-element.ts +24 -0
  239. package/src/elements/define/menus/radio-group-element.ts +24 -0
  240. package/src/elements/define/menus/speed-radio-group-element.ts +37 -0
  241. package/src/elements/define/player-element.ts +33 -0
  242. package/src/elements/define/poster-element.ts +53 -0
  243. package/src/elements/define/provider-cast-display.ts +36 -0
  244. package/src/elements/define/provider-element.ts +158 -0
  245. package/src/elements/define/sliders/audio-gain-slider-element.ts +34 -0
  246. package/src/elements/define/sliders/quality-slider-element.ts +34 -0
  247. package/src/elements/define/sliders/slider-chapters-element.ts +53 -0
  248. package/src/elements/define/sliders/slider-element.ts +25 -0
  249. package/src/elements/define/sliders/slider-preview-element.ts +16 -0
  250. package/src/elements/define/sliders/slider-steps-element.ts +50 -0
  251. package/src/elements/define/sliders/slider-thumbnail-element.ts +48 -0
  252. package/src/elements/define/sliders/slider-value-element.ts +49 -0
  253. package/src/elements/define/sliders/slider-video-element.ts +59 -0
  254. package/src/elements/define/sliders/speed-slider-element.ts +34 -0
  255. package/src/elements/define/sliders/time-slider-element.ts +34 -0
  256. package/src/elements/define/sliders/volume-slider-element.ts +34 -0
  257. package/src/elements/define/spinner-element.ts +96 -0
  258. package/src/elements/define/thumbnail-element.ts +63 -0
  259. package/src/elements/define/time-element.ts +32 -0
  260. package/src/elements/define/title-element.ts +38 -0
  261. package/src/elements/define/tooltips/tooltip-content-element.ts +28 -0
  262. package/src/elements/define/tooltips/tooltip-element.ts +28 -0
  263. package/src/elements/define/tooltips/tooltip-trigger-element.ts +32 -0
  264. package/src/elements/icon.ts +30 -0
  265. package/src/elements/index.ts +71 -0
  266. package/src/elements/lit/directives/signal.ts +80 -0
  267. package/src/elements/lit/html.ts +11 -0
  268. package/src/elements/lit/lit-element.ts +23 -0
  269. package/src/elements/state-controller.ts +48 -0
  270. package/src/exports/components.ts +79 -0
  271. package/src/exports/core.ts +41 -0
  272. package/src/exports/events.ts +46 -0
  273. package/src/exports/font.ts +3 -0
  274. package/src/exports/foundation.ts +8 -0
  275. package/src/exports/maverick.ts +9 -0
  276. package/src/exports/providers.ts +42 -0
  277. package/src/exports/utils.ts +18 -0
  278. package/src/foundation/fullscreen/controller.ts +128 -0
  279. package/src/foundation/fullscreen/events.ts +26 -0
  280. package/src/foundation/list/list.ts +127 -0
  281. package/src/foundation/list/select-list.ts +86 -0
  282. package/src/foundation/list/symbols.ts +22 -0
  283. package/src/foundation/logger/colors.ts +33 -0
  284. package/src/foundation/logger/controller.ts +71 -0
  285. package/src/foundation/logger/events.ts +29 -0
  286. package/src/foundation/logger/grouped-log.ts +44 -0
  287. package/src/foundation/logger/log-level.ts +17 -0
  288. package/src/foundation/logger/log-printer.ts +119 -0
  289. package/src/foundation/logger/ms.ts +31 -0
  290. package/src/foundation/observers/focus-visible.ts +74 -0
  291. package/src/foundation/observers/intersection-observer.ts +60 -0
  292. package/src/foundation/observers/page-visibility.ts +105 -0
  293. package/src/foundation/observers/raf-loop.ts +29 -0
  294. package/src/foundation/orientation/controller.ts +139 -0
  295. package/src/foundation/orientation/events.ts +20 -0
  296. package/src/foundation/orientation/types.ts +96 -0
  297. package/src/foundation/queue/queue.ts +41 -0
  298. package/src/foundation/queue/request-queue.test.ts +139 -0
  299. package/src/foundation/queue/request-queue.ts +94 -0
  300. package/src/global/layouts/default.ts +28 -0
  301. package/src/global/layouts/loader.ts +5 -0
  302. package/src/global/layouts/plyr.ts +24 -0
  303. package/src/global/player.ts +144 -0
  304. package/src/global/plyr.ts +917 -0
  305. package/src/globals.d.ts +11 -0
  306. package/src/index.ts +10 -0
  307. package/src/plugins.ts +369 -0
  308. package/src/providers/audio/loader.ts +45 -0
  309. package/src/providers/audio/provider.ts +50 -0
  310. package/src/providers/dash/dash.ts +417 -0
  311. package/src/providers/dash/events.ts +585 -0
  312. package/src/providers/dash/lib-loader.ts +202 -0
  313. package/src/providers/dash/loader.ts +33 -0
  314. package/src/providers/dash/provider.ts +135 -0
  315. package/src/providers/dash/types.ts +21 -0
  316. package/src/providers/embed/EmbedProvider.ts +84 -0
  317. package/src/providers/google-cast/events.ts +53 -0
  318. package/src/providers/google-cast/loader.ts +174 -0
  319. package/src/providers/google-cast/media-info.ts +49 -0
  320. package/src/providers/google-cast/provider.ts +483 -0
  321. package/src/providers/google-cast/tracks.ts +170 -0
  322. package/src/providers/google-cast/types.ts +3 -0
  323. package/src/providers/google-cast/utils.ts +112 -0
  324. package/src/providers/hls/events.ts +472 -0
  325. package/src/providers/hls/hls.ts +290 -0
  326. package/src/providers/hls/lib-loader.ts +178 -0
  327. package/src/providers/hls/loader.ts +33 -0
  328. package/src/providers/hls/provider.ts +137 -0
  329. package/src/providers/hls/types.ts +10 -0
  330. package/src/providers/html/audio/audio-context.ts +60 -0
  331. package/src/providers/html/audio/audio-gain.ts +100 -0
  332. package/src/providers/html/html/342/200/223media-events.ts +338 -0
  333. package/src/providers/html/native-audio-tracks.ts +91 -0
  334. package/src/providers/html/provider.ts +141 -0
  335. package/src/providers/html/remote-playback.ts +94 -0
  336. package/src/providers/type-check.ts +61 -0
  337. package/src/providers/types.ts +95 -0
  338. package/src/providers/video/loader.ts +45 -0
  339. package/src/providers/video/native-hls-text-tracks.ts +69 -0
  340. package/src/providers/video/picture-in-picture.ts +54 -0
  341. package/src/providers/video/presentation/events.ts +12 -0
  342. package/src/providers/video/presentation/video-presentation.ts +110 -0
  343. package/src/providers/video/provider.ts +91 -0
  344. package/src/providers/vimeo/embed/command.ts +118 -0
  345. package/src/providers/vimeo/embed/event.ts +124 -0
  346. package/src/providers/vimeo/embed/message.ts +9 -0
  347. package/src/providers/vimeo/embed/misc.ts +57 -0
  348. package/src/providers/vimeo/embed/params.ts +168 -0
  349. package/src/providers/vimeo/loader.ts +61 -0
  350. package/src/providers/vimeo/provider.ts +730 -0
  351. package/src/providers/vimeo/utils.ts +53 -0
  352. package/src/providers/youtube/embed/command.ts +21 -0
  353. package/src/providers/youtube/embed/event.ts +1 -0
  354. package/src/providers/youtube/embed/message.ts +54 -0
  355. package/src/providers/youtube/embed/params.ts +238 -0
  356. package/src/providers/youtube/embed/quality.ts +35 -0
  357. package/src/providers/youtube/embed/state.ts +13 -0
  358. package/src/providers/youtube/loader.ts +61 -0
  359. package/src/providers/youtube/provider.ts +403 -0
  360. package/src/providers/youtube/utils.ts +45 -0
  361. package/src/tailwind.test.ts +413 -0
  362. package/src/test-utils/index.ts +22 -0
  363. package/src/test-utils/setup.ts +3 -0
  364. package/src/utils/aria.ts +14 -0
  365. package/src/utils/array.ts +3 -0
  366. package/src/utils/color.ts +5 -0
  367. package/src/utils/dom.ts +458 -0
  368. package/src/utils/error.ts +11 -0
  369. package/src/utils/language.ts +16 -0
  370. package/src/utils/manifest.ts +61 -0
  371. package/src/utils/mime.ts +101 -0
  372. package/src/utils/network.ts +118 -0
  373. package/src/utils/number.ts +25 -0
  374. package/src/utils/promise.ts +12 -0
  375. package/src/utils/scroll.ts +19 -0
  376. package/src/utils/support.ts +163 -0
  377. package/src/utils/time.test.ts +111 -0
  378. package/src/utils/time.ts +123 -0
  379. package/styles/player/base.css +153 -0
  380. package/styles/player/default/buffering.css +55 -0
  381. package/styles/player/default/buttons.css +175 -0
  382. package/styles/player/default/captions.css +181 -0
  383. package/styles/player/default/chapter-title.css +26 -0
  384. package/styles/player/default/controls.css +56 -0
  385. package/styles/player/default/gestures.css +19 -0
  386. package/styles/player/default/icons.css +6 -0
  387. package/styles/player/default/keyboard.css +148 -0
  388. package/styles/player/default/layouts/audio.css +417 -0
  389. package/styles/player/default/layouts/video.css +1082 -0
  390. package/styles/player/default/menus.css +959 -0
  391. package/styles/player/default/poster.css +52 -0
  392. package/styles/player/default/sliders.css +391 -0
  393. package/styles/player/default/theme.css +2461 -0
  394. package/styles/player/default/thumbnail.css +40 -0
  395. package/styles/player/default/time.css +45 -0
  396. package/styles/player/default/tooltips.css +141 -0
  397. package/styles/player/plyr/theme.css +1237 -0
  398. package/tsconfig.build.json +9 -0
  399. package/tsconfig.json +11 -0
  400. package/types/components/aria/announcer.d.ts +27 -0
  401. package/types/components/layouts/default/audio-layout.d.ts +15 -0
  402. package/types/components/layouts/default/context.d.ts +9 -0
  403. package/types/components/layouts/default/default-layout.d.ts +10 -0
  404. package/types/components/layouts/default/props.d.ts +125 -0
  405. package/types/components/layouts/default/translations.d.ts +6 -0
  406. package/types/components/layouts/default/video-layout.d.ts +15 -0
  407. package/types/components/layouts/plyr/context.d.ts +7 -0
  408. package/types/components/layouts/plyr/plyr-layout.d.ts +9 -0
  409. package/types/components/layouts/plyr/props.d.ts +68 -0
  410. package/types/components/layouts/plyr/translations.d.ts +6 -0
  411. package/types/components/player.d.ts +214 -0
  412. package/types/components/provider/provider.d.ts +24 -0
  413. package/types/components/provider/source-select.d.ts +10 -0
  414. package/types/components/provider/tracks.d.ts +7 -0
  415. package/types/components/ui/buttons/airplay-button.d.ts +23 -0
  416. package/types/components/ui/buttons/caption-button.d.ts +21 -0
  417. package/types/components/ui/buttons/fullscreen-button.d.ts +28 -0
  418. package/types/components/ui/buttons/google-cast-button.d.ts +23 -0
  419. package/types/components/ui/buttons/live-button.d.ts +30 -0
  420. package/types/components/ui/buttons/mute-button.d.ts +21 -0
  421. package/types/components/ui/buttons/pip-button.d.ts +22 -0
  422. package/types/components/ui/buttons/play-button.d.ts +21 -0
  423. package/types/components/ui/buttons/seek-button.d.ts +32 -0
  424. package/types/components/ui/buttons/toggle-button-controller.d.ts +20 -0
  425. package/types/components/ui/buttons/toggle-button.d.ts +29 -0
  426. package/types/components/ui/captions/captions-renderer.d.ts +12 -0
  427. package/types/components/ui/captions/captions.d.ts +22 -0
  428. package/types/components/ui/controls-group.d.ts +9 -0
  429. package/types/components/ui/controls.d.ts +38 -0
  430. package/types/components/ui/gesture.d.ts +64 -0
  431. package/types/components/ui/menu/menu-button.d.ts +37 -0
  432. package/types/components/ui/menu/menu-context.d.ts +23 -0
  433. package/types/components/ui/menu/menu-focus-controller.d.ts +14 -0
  434. package/types/components/ui/menu/menu-item.d.ts +9 -0
  435. package/types/components/ui/menu/menu-items.d.ts +44 -0
  436. package/types/components/ui/menu/menu-portal.d.ts +31 -0
  437. package/types/components/ui/menu/menu.d.ts +66 -0
  438. package/types/components/ui/menu/radio/radio-controller.d.ts +14 -0
  439. package/types/components/ui/menu/radio/radio-group-controller.d.ts +11 -0
  440. package/types/components/ui/menu/radio/radio-group.d.ts +40 -0
  441. package/types/components/ui/menu/radio/radio.d.ts +50 -0
  442. package/types/components/ui/menu/radio-groups/audio-gain-radio-group.d.ts +36 -0
  443. package/types/components/ui/menu/radio-groups/audio-radio-group.d.ts +37 -0
  444. package/types/components/ui/menu/radio-groups/captions-radio-group.d.ts +38 -0
  445. package/types/components/ui/menu/radio-groups/chapters-radio-group.d.ts +46 -0
  446. package/types/components/ui/menu/radio-groups/quality-radio-group.d.ts +48 -0
  447. package/types/components/ui/menu/radio-groups/speed-radio-group.d.ts +36 -0
  448. package/types/components/ui/popper/popper.d.ts +15 -0
  449. package/types/components/ui/poster.d.ts +47 -0
  450. package/types/components/ui/sliders/audio-gain-slider.d.ts +43 -0
  451. package/types/components/ui/sliders/quality-slider.d.ts +34 -0
  452. package/types/components/ui/sliders/slider/api/cssvars.d.ts +10 -0
  453. package/types/components/ui/sliders/slider/api/events.d.ts +57 -0
  454. package/types/components/ui/sliders/slider/api/state.d.ts +68 -0
  455. package/types/components/ui/sliders/slider/events-controller.d.ts +23 -0
  456. package/types/components/ui/sliders/slider/format.d.ts +8 -0
  457. package/types/components/ui/sliders/slider/slider-context.d.ts +13 -0
  458. package/types/components/ui/sliders/slider/slider-controller.d.ts +59 -0
  459. package/types/components/ui/sliders/slider/slider.d.ts +39 -0
  460. package/types/components/ui/sliders/slider/types.d.ts +1 -0
  461. package/types/components/ui/sliders/slider/utils.d.ts +2 -0
  462. package/types/components/ui/sliders/slider-preview.d.ts +34 -0
  463. package/types/components/ui/sliders/slider-thumbnail.d.ts +16 -0
  464. package/types/components/ui/sliders/slider-value.d.ts +59 -0
  465. package/types/components/ui/sliders/slider-video.d.ts +73 -0
  466. package/types/components/ui/sliders/speed-slider.d.ts +42 -0
  467. package/types/components/ui/sliders/time-slider/slider-chapters.d.ts +36 -0
  468. package/types/components/ui/sliders/time-slider/time-slider.d.ts +56 -0
  469. package/types/components/ui/sliders/volume-slider.d.ts +35 -0
  470. package/types/components/ui/thumbnails/thumbnail-loader.d.ts +47 -0
  471. package/types/components/ui/thumbnails/thumbnail.d.ts +50 -0
  472. package/types/components/ui/time.d.ts +62 -0
  473. package/types/components/ui/tooltip/tooltip-content.d.ts +39 -0
  474. package/types/components/ui/tooltip/tooltip-context.d.ts +11 -0
  475. package/types/components/ui/tooltip/tooltip-trigger.d.ts +14 -0
  476. package/types/components/ui/tooltip/tooltip.d.ts +23 -0
  477. package/types/core/api/media-attrs.d.ts +3 -0
  478. package/types/core/api/media-context.d.ts +37 -0
  479. package/types/core/api/media-events.d.ts +581 -0
  480. package/types/core/api/media-request-events.d.ts +319 -0
  481. package/types/core/api/player-controller.d.ts +6 -0
  482. package/types/core/api/player-events.d.ts +38 -0
  483. package/types/core/api/player-props.d.ts +163 -0
  484. package/types/core/api/player-state.d.ts +656 -0
  485. package/types/core/api/src-types.d.ts +50 -0
  486. package/types/core/api/types.d.ts +54 -0
  487. package/types/core/controls.d.ts +43 -0
  488. package/types/core/font/font-options.d.ts +42 -0
  489. package/types/core/font/font-vars.d.ts +1 -0
  490. package/types/core/keyboard/aria-shortcuts.d.ts +6 -0
  491. package/types/core/keyboard/controller.d.ts +9 -0
  492. package/types/core/keyboard/types.d.ts +33 -0
  493. package/types/core/quality/events.d.ts +43 -0
  494. package/types/core/quality/symbols.d.ts +6 -0
  495. package/types/core/quality/utils.d.ts +2 -0
  496. package/types/core/quality/video-quality.d.ts +52 -0
  497. package/types/core/state/media-events-logger.d.ts +7 -0
  498. package/types/core/state/media-load-controller.d.ts +6 -0
  499. package/types/core/state/media-player-delegate.d.ts +13 -0
  500. package/types/core/state/media-request-manager.d.ts +71 -0
  501. package/types/core/state/media-state-manager.d.ts +59 -0
  502. package/types/core/state/media-state-sync.d.ts +8 -0
  503. package/types/core/state/media-storage.d.ts +74 -0
  504. package/types/core/state/navigator-media-session.d.ts +5 -0
  505. package/types/core/state/remote-control.d.ts +288 -0
  506. package/types/core/state/tracked-media-events.d.ts +2 -0
  507. package/types/core/time-ranges.d.ts +12 -0
  508. package/types/core/tracks/audio/audio-tracks.d.ts +32 -0
  509. package/types/core/tracks/audio/events.d.ts +37 -0
  510. package/types/core/tracks/text/events.d.ts +49 -0
  511. package/types/core/tracks/text/render/libass-text-renderer.d.ts +181 -0
  512. package/types/core/tracks/text/render/native-text-renderer.d.ts +13 -0
  513. package/types/core/tracks/text/render/text-renderer.d.ts +17 -0
  514. package/types/core/tracks/text/symbols.d.ts +11 -0
  515. package/types/core/tracks/text/text-track.d.ts +137 -0
  516. package/types/core/tracks/text/text-tracks.d.ts +55 -0
  517. package/types/core/tracks/text/utils.d.ts +8 -0
  518. package/types/elements/bundles/cdn/player.core.d.ts +5 -0
  519. package/types/elements/bundles/cdn/player.d.ts +7 -0
  520. package/types/elements/bundles/cdn/plyr.d.ts +5 -0
  521. package/types/elements/bundles/cdn-legacy/player-with-default.d.ts +4 -0
  522. package/types/elements/bundles/cdn-legacy/player-with-layouts.d.ts +4 -0
  523. package/types/elements/bundles/cdn-legacy/player-with-plyr.d.ts +3 -0
  524. package/types/elements/bundles/cdn-legacy/player.d.ts +3 -0
  525. package/types/elements/bundles/icons.d.ts +2 -0
  526. package/types/elements/bundles/player-layouts/default.d.ts +1 -0
  527. package/types/elements/bundles/player-layouts/index.d.ts +1 -0
  528. package/types/elements/bundles/player-layouts/plyr.d.ts +1 -0
  529. package/types/elements/bundles/player-ui.d.ts +1 -0
  530. package/types/elements/bundles/player.d.ts +1 -0
  531. package/types/elements/define/announcer-element.d.ts +18 -0
  532. package/types/elements/define/buttons/airplay-button-element.d.ts +19 -0
  533. package/types/elements/define/buttons/caption-button-element.d.ts +20 -0
  534. package/types/elements/define/buttons/fullscreen-button-element.d.ts +20 -0
  535. package/types/elements/define/buttons/google-cast-button-element.d.ts +19 -0
  536. package/types/elements/define/buttons/live-button-element.d.ts +20 -0
  537. package/types/elements/define/buttons/mute-button-element.d.ts +21 -0
  538. package/types/elements/define/buttons/pip-button-element.d.ts +20 -0
  539. package/types/elements/define/buttons/play-button-element.d.ts +21 -0
  540. package/types/elements/define/buttons/seek-button-element.d.ts +24 -0
  541. package/types/elements/define/buttons/toggle-button-element.d.ts +19 -0
  542. package/types/elements/define/captions-element.d.ts +18 -0
  543. package/types/elements/define/chapter-title-element.d.ts +30 -0
  544. package/types/elements/define/controls-element.d.ts +24 -0
  545. package/types/elements/define/controls-group-element.d.ts +24 -0
  546. package/types/elements/define/gesture-element.d.ts +22 -0
  547. package/types/elements/define/layouts/default/audio-layout-element.d.ts +29 -0
  548. package/types/elements/define/layouts/default/audio-layout.d.ts +1 -0
  549. package/types/elements/define/layouts/default/icons-loader.d.ts +5 -0
  550. package/types/elements/define/layouts/default/icons.d.ts +52 -0
  551. package/types/elements/define/layouts/default/slots.d.ts +2 -0
  552. package/types/elements/define/layouts/default/ui/announcer.d.ts +1 -0
  553. package/types/elements/define/layouts/default/ui/buttons.d.ts +31 -0
  554. package/types/elements/define/layouts/default/ui/captions.d.ts +1 -0
  555. package/types/elements/define/layouts/default/ui/controls.d.ts +1 -0
  556. package/types/elements/define/layouts/default/ui/keyboard-display.d.ts +1 -0
  557. package/types/elements/define/layouts/default/ui/menu/accessibility-menu.d.ts +1 -0
  558. package/types/elements/define/layouts/default/ui/menu/audio-menu.d.ts +1 -0
  559. package/types/elements/define/layouts/default/ui/menu/captions-menu.d.ts +1 -0
  560. package/types/elements/define/layouts/default/ui/menu/chapters-menu.d.ts +8 -0
  561. package/types/elements/define/layouts/default/ui/menu/episodes-menu.d.ts +8 -0
  562. package/types/elements/define/layouts/default/ui/menu/font-menu.d.ts +1 -0
  563. package/types/elements/define/layouts/default/ui/menu/items/menu-checkbox.d.ts +8 -0
  564. package/types/elements/define/layouts/default/ui/menu/items/menu-items.d.ts +26 -0
  565. package/types/elements/define/layouts/default/ui/menu/items/menu-slider.d.ts +3 -0
  566. package/types/elements/define/layouts/default/ui/menu/menu-portal.d.ts +4 -0
  567. package/types/elements/define/layouts/default/ui/menu/playback-menu.d.ts +1 -0
  568. package/types/elements/define/layouts/default/ui/menu/settings-menu.d.ts +8 -0
  569. package/types/elements/define/layouts/default/ui/slider.d.ts +10 -0
  570. package/types/elements/define/layouts/default/ui/time.d.ts +3 -0
  571. package/types/elements/define/layouts/default/ui/title.d.ts +2 -0
  572. package/types/elements/define/layouts/default/ui/utils.d.ts +3 -0
  573. package/types/elements/define/layouts/default/video-layout-element.d.ts +29 -0
  574. package/types/elements/define/layouts/default/video-layout.d.ts +5 -0
  575. package/types/elements/define/layouts/icons/icons-loader.d.ts +11 -0
  576. package/types/elements/define/layouts/icons/layout-icons-loader.d.ts +4 -0
  577. package/types/elements/define/layouts/layout-element.d.ts +38 -0
  578. package/types/elements/define/layouts/layout-name.d.ts +2 -0
  579. package/types/elements/define/layouts/plyr/icons/plyr-airplay.d.ts +2 -0
  580. package/types/elements/define/layouts/plyr/icons/plyr-captions-off.d.ts +2 -0
  581. package/types/elements/define/layouts/plyr/icons/plyr-captions-on.d.ts +2 -0
  582. package/types/elements/define/layouts/plyr/icons/plyr-download.d.ts +2 -0
  583. package/types/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +2 -0
  584. package/types/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +2 -0
  585. package/types/elements/define/layouts/plyr/icons/plyr-fast-forward.d.ts +2 -0
  586. package/types/elements/define/layouts/plyr/icons/plyr-muted.d.ts +2 -0
  587. package/types/elements/define/layouts/plyr/icons/plyr-pause.d.ts +2 -0
  588. package/types/elements/define/layouts/plyr/icons/plyr-pip.d.ts +2 -0
  589. package/types/elements/define/layouts/plyr/icons/plyr-play.d.ts +2 -0
  590. package/types/elements/define/layouts/plyr/icons/plyr-restart.d.ts +2 -0
  591. package/types/elements/define/layouts/plyr/icons/plyr-rewind.d.ts +2 -0
  592. package/types/elements/define/layouts/plyr/icons/plyr-settings.d.ts +2 -0
  593. package/types/elements/define/layouts/plyr/icons/plyr-volume.d.ts +2 -0
  594. package/types/elements/define/layouts/plyr/icons-loader.d.ts +5 -0
  595. package/types/elements/define/layouts/plyr/icons.d.ts +18 -0
  596. package/types/elements/define/layouts/plyr/plyr-layout-element.d.ts +26 -0
  597. package/types/elements/define/layouts/plyr/ui.d.ts +3 -0
  598. package/types/elements/define/layouts/slot-manager.d.ts +7 -0
  599. package/types/elements/define/layouts/slot-observer.d.ts +12 -0
  600. package/types/elements/define/menus/_template.d.ts +7 -0
  601. package/types/elements/define/menus/audio-gain-group-element.d.ts +31 -0
  602. package/types/elements/define/menus/audio-radio-group-element.d.ts +31 -0
  603. package/types/elements/define/menus/captions-radio-group-element.d.ts +31 -0
  604. package/types/elements/define/menus/chapters-radio-group-element.d.ts +36 -0
  605. package/types/elements/define/menus/menu-button-element.d.ts +25 -0
  606. package/types/elements/define/menus/menu-element.d.ts +26 -0
  607. package/types/elements/define/menus/menu-item-element.d.ts +22 -0
  608. package/types/elements/define/menus/menu-items-element.d.ts +25 -0
  609. package/types/elements/define/menus/menu-portal-element.d.ts +25 -0
  610. package/types/elements/define/menus/quality-radio-group-element.d.ts +33 -0
  611. package/types/elements/define/menus/radio-element.d.ts +22 -0
  612. package/types/elements/define/menus/radio-group-element.d.ts +22 -0
  613. package/types/elements/define/menus/speed-radio-group-element.d.ts +31 -0
  614. package/types/elements/define/player-element.d.ts +24 -0
  615. package/types/elements/define/poster-element.d.ts +25 -0
  616. package/types/elements/define/provider-cast-display.d.ts +2 -0
  617. package/types/elements/define/provider-element.d.ts +25 -0
  618. package/types/elements/define/sliders/audio-gain-slider-element.d.ts +32 -0
  619. package/types/elements/define/sliders/quality-slider-element.d.ts +32 -0
  620. package/types/elements/define/sliders/slider-chapters-element.d.ts +31 -0
  621. package/types/elements/define/sliders/slider-element.d.ts +23 -0
  622. package/types/elements/define/sliders/slider-preview-element.d.ts +14 -0
  623. package/types/elements/define/sliders/slider-steps-element.d.ts +28 -0
  624. package/types/elements/define/sliders/slider-thumbnail-element.d.ts +26 -0
  625. package/types/elements/define/sliders/slider-value-element.d.ts +37 -0
  626. package/types/elements/define/sliders/slider-video-element.d.ts +25 -0
  627. package/types/elements/define/sliders/speed-slider-element.d.ts +32 -0
  628. package/types/elements/define/sliders/time-slider-element.d.ts +32 -0
  629. package/types/elements/define/sliders/volume-slider-element.d.ts +32 -0
  630. package/types/elements/define/spinner-element.d.ts +50 -0
  631. package/types/elements/define/thumbnail-element.d.ts +29 -0
  632. package/types/elements/define/time-element.d.ts +24 -0
  633. package/types/elements/define/title-element.d.ts +23 -0
  634. package/types/elements/define/tooltips/tooltip-content-element.d.ts +26 -0
  635. package/types/elements/define/tooltips/tooltip-element.d.ts +26 -0
  636. package/types/elements/define/tooltips/tooltip-trigger-element.d.ts +27 -0
  637. package/types/elements/icon.d.ts +10 -0
  638. package/types/elements/index.d.ts +56 -0
  639. package/types/elements/lit/directives/signal.d.ts +1 -0
  640. package/types/elements/lit/html.d.ts +4 -0
  641. package/types/elements/lit/lit-element.d.ts +8 -0
  642. package/types/elements/state-controller.d.ts +5 -0
  643. package/types/exports/components.d.ts +59 -0
  644. package/types/exports/core.d.ts +26 -0
  645. package/types/exports/events.d.ts +32 -0
  646. package/types/exports/font.d.ts +2 -0
  647. package/types/exports/foundation.d.ts +8 -0
  648. package/types/exports/maverick.d.ts +1 -0
  649. package/types/exports/providers.d.ts +22 -0
  650. package/types/exports/utils.d.ts +4 -0
  651. package/types/foundation/fullscreen/controller.d.ts +39 -0
  652. package/types/foundation/fullscreen/events.d.ts +25 -0
  653. package/types/foundation/list/list.d.ts +64 -0
  654. package/types/foundation/list/select-list.d.ts +30 -0
  655. package/types/foundation/list/symbols.d.ts +14 -0
  656. package/types/foundation/logger/colors.d.ts +5 -0
  657. package/types/foundation/logger/controller.d.ts +20 -0
  658. package/types/foundation/logger/events.d.ts +26 -0
  659. package/types/foundation/logger/grouped-log.d.ts +22 -0
  660. package/types/foundation/logger/log-level.d.ts +15 -0
  661. package/types/foundation/logger/log-printer.d.ts +11 -0
  662. package/types/foundation/logger/ms.d.ts +4 -0
  663. package/types/foundation/observers/focus-visible.d.ts +7 -0
  664. package/types/foundation/observers/intersection-observer.d.ts +36 -0
  665. package/types/foundation/observers/page-visibility.d.ts +37 -0
  666. package/types/foundation/observers/raf-loop.d.ts +6 -0
  667. package/types/foundation/orientation/controller.d.ts +62 -0
  668. package/types/foundation/orientation/events.d.ts +16 -0
  669. package/types/foundation/orientation/types.d.ts +85 -0
  670. package/types/foundation/queue/queue.d.ts +24 -0
  671. package/types/foundation/queue/request-queue.d.ts +42 -0
  672. package/types/global/layouts/default.d.ts +9 -0
  673. package/types/global/layouts/loader.d.ts +5 -0
  674. package/types/global/layouts/plyr.d.ts +9 -0
  675. package/types/global/player.d.ts +26 -0
  676. package/types/global/plyr.d.ts +344 -0
  677. package/types/index.d.ts +6 -0
  678. package/types/plugins.d.ts +11 -0
  679. package/types/providers/audio/loader.d.ts +12 -0
  680. package/types/providers/audio/provider.d.ts +29 -0
  681. package/types/providers/dash/dash.d.ts +15 -0
  682. package/types/providers/dash/events.d.ts +570 -0
  683. package/types/providers/dash/lib-loader.d.ts +6 -0
  684. package/types/providers/dash/loader.d.ts +10 -0
  685. package/types/providers/dash/provider.d.ts +62 -0
  686. package/types/providers/dash/types.d.ts +13 -0
  687. package/types/providers/embed/EmbedProvider.d.ts +18 -0
  688. package/types/providers/google-cast/events.d.ts +36 -0
  689. package/types/providers/google-cast/loader.d.ts +18 -0
  690. package/types/providers/google-cast/media-info.d.ts +11 -0
  691. package/types/providers/google-cast/provider.d.ts +48 -0
  692. package/types/providers/google-cast/tracks.d.ts +10 -0
  693. package/types/providers/google-cast/types.d.ts +3 -0
  694. package/types/providers/google-cast/utils.d.ts +34 -0
  695. package/types/providers/hls/events.d.ts +463 -0
  696. package/types/providers/hls/hls.d.ts +14 -0
  697. package/types/providers/hls/lib-loader.d.ts +6 -0
  698. package/types/providers/hls/loader.d.ts +10 -0
  699. package/types/providers/hls/provider.d.ts +64 -0
  700. package/types/providers/hls/types.d.ts +9 -0
  701. package/types/providers/html/audio/audio-context.d.ts +6 -0
  702. package/types/providers/html/audio/audio-gain.d.ts +10 -0
  703. package/types/providers/html/html/342/200/223media-events.d.ts +6 -0
  704. package/types/providers/html/native-audio-tracks.d.ts +6 -0
  705. package/types/providers/html/provider.d.ts +34 -0
  706. package/types/providers/html/remote-playback.d.ts +18 -0
  707. package/types/providers/type-check.d.ts +28 -0
  708. package/types/providers/types.d.ts +95 -0
  709. package/types/providers/video/loader.d.ts +12 -0
  710. package/types/providers/video/native-hls-text-tracks.d.ts +9 -0
  711. package/types/providers/video/picture-in-picture.d.ts +16 -0
  712. package/types/providers/video/presentation/events.d.ts +11 -0
  713. package/types/providers/video/presentation/video-presentation.d.ts +30 -0
  714. package/types/providers/video/provider.d.ts +34 -0
  715. package/types/providers/vimeo/embed/command.d.ts +81 -0
  716. package/types/providers/vimeo/embed/event.d.ts +58 -0
  717. package/types/providers/vimeo/embed/message.d.ts +8 -0
  718. package/types/providers/vimeo/embed/misc.d.ts +52 -0
  719. package/types/providers/vimeo/embed/params.d.ts +148 -0
  720. package/types/providers/vimeo/loader.d.ts +14 -0
  721. package/types/providers/vimeo/provider.d.ts +61 -0
  722. package/types/providers/vimeo/utils.d.ts +6 -0
  723. package/types/providers/youtube/embed/command.d.ts +13 -0
  724. package/types/providers/youtube/embed/event.d.ts +1 -0
  725. package/types/providers/youtube/embed/message.d.ts +50 -0
  726. package/types/providers/youtube/embed/params.d.ts +218 -0
  727. package/types/providers/youtube/embed/quality.d.ts +2 -0
  728. package/types/providers/youtube/embed/state.d.ts +12 -0
  729. package/types/providers/youtube/loader.d.ts +14 -0
  730. package/types/providers/youtube/provider.d.ts +61 -0
  731. package/types/providers/youtube/utils.d.ts +2 -0
  732. package/types/utils/aria.d.ts +4 -0
  733. package/types/utils/array.d.ts +1 -0
  734. package/types/utils/color.d.ts +1 -0
  735. package/types/utils/dom.d.ts +41 -0
  736. package/types/utils/error.d.ts +2 -0
  737. package/types/utils/language.d.ts +8 -0
  738. package/types/utils/manifest.d.ts +3 -0
  739. package/types/utils/mime.d.ts +15 -0
  740. package/types/utils/network.d.ts +17 -0
  741. package/types/utils/number.d.ts +17 -0
  742. package/types/utils/promise.d.ts +1 -0
  743. package/types/utils/scroll.d.ts +5 -0
  744. package/types/utils/support.d.ts +72 -0
  745. package/types/utils/time.d.ts +57 -0
  746. package/vite.config.ts +61 -0
@@ -0,0 +1,570 @@
1
+ import type DASH from 'dashjs';
2
+ import type { DOMEvent } from 'maverick.js/std';
3
+ import type { MediaPlayer } from '../../components/player';
4
+ export interface DASHProviderEvents {
5
+ 'dash-lib-load-start': DASHLibLoadStartEvent;
6
+ 'dash-lib-loaded': DASHLibLoadedEvent;
7
+ 'dash-lib-load-error': DASHLibLoadErrorEvent;
8
+ 'dash-instance': DASHInstanceEvent;
9
+ 'dash-unsupported': DASHUnsupportedEvent;
10
+ 'dash-ast-in-future': DASHAstInFutureEvent;
11
+ 'dash-base-urls-updated': DASHBaseUrlsUpdatedEvent;
12
+ 'dash-buffer-empty': DASHBufferStalledEvent;
13
+ 'dash-buffer-loaded': DASHBufferLoadedEvent;
14
+ 'dash-buffer-level-state-changed': DASHBufferStateChangedEvent;
15
+ 'dash-buffer-level-updated': DASHBufferLevelUpdatedEvent;
16
+ 'dash-dvb-font-download-added': DASHDvbFontDownloadAddedEvent;
17
+ 'dash-dvb-font-download-complete': DASHDvbFontDownloadCompleteEvent;
18
+ 'dash-dvb-font-download-failed': DASHDvbFontDownloadFailedEvent;
19
+ 'dash-dynamic-to-static': DASHDynamicToStaticEvent;
20
+ 'dash-error': DASHErrorEvent;
21
+ 'dash-fragment-loading-completed': DASHFragmentLoadingCompletedEvent;
22
+ 'dash-fragment-loading-progress': DASHFragmentLoadingProgressEvent;
23
+ 'dash-fragment-loading-started': DASHFragmentLoadingStartedEvent;
24
+ 'dash-fragment-loading-abandoned': DASHFragmentLoadingAbandonedEvent;
25
+ 'dash-log': DASHLogEvent;
26
+ 'dash-manifest-loading-started': DASHManifestLoadingStartedEvent;
27
+ 'dash-manifest-loading-finished': DASHManifestLoadingFinishedEvent;
28
+ 'dash-manifest-loaded': DASHManifestLoadedEvent;
29
+ 'dash-metrics-changed': DASHMetricsChangedEvent;
30
+ 'dash-metric-changed': DASHMetricChangedEvent;
31
+ 'dash-metric-added': DASHMetricAddedEvent;
32
+ 'dash-metric-updated': DASHMetricUpdatedEvent;
33
+ 'dash-period-switch-started': DASHPeriodSwitchStartedEvent;
34
+ 'dash-period-switch-completed': DASHPeriodSwitchCompletedEvent;
35
+ 'dash-quality-change-requested': DASHQualityChangeRequestedEvent;
36
+ 'dash-quality-change-rendered': DASHQualityChangeRenderedEvent;
37
+ 'dash-track-change-rendered': DASHTrackChangeRenderedEvent;
38
+ 'dash-stream-initializing': DASHStreamInitializingEvent;
39
+ 'dash-stream-updated': DASHStreamUpdatedEvent;
40
+ 'dash-stream-activated': DASHStreamActivatedEvent;
41
+ 'dash-stream-deactivated': DASHStreamDeactivatedEvent;
42
+ 'dash-stream-initialized': DASHStreamInitializedEvent;
43
+ 'dash-stream-teardown-complete': DASHStreamTeardownCompleteEvent;
44
+ 'dash-text-tracks-added': DASHAllTextTracksAddedEvent;
45
+ 'dash-text-track-added': DASHTextTrackAddedEvent;
46
+ 'dash-cue-enter': DASHCueEnterEvent;
47
+ 'dash-cue-exit': DASHCueExitEvent;
48
+ 'dash-throughput-measurement-stored': DASHThroughputMeasurementStoredEvent;
49
+ 'dash-ttml-parsed': DASHTtmlParsedEvent;
50
+ 'dash-ttml-to-parse': DASHTtmlToParseEvent;
51
+ 'dash-caption-rendered': DASHCaptionRenderedEvent;
52
+ 'dash-caption-container-resize': DASHCaptionContainerResizeEvent;
53
+ 'dash-can-play': DASHCanPlayEvent;
54
+ 'dash-can-play-through': DASHCanPlayThroughEvent;
55
+ 'dash-playback-ended': DASHPlaybackEndedEvent;
56
+ 'dash-playback-error': DASHPlaybackErrorEvent;
57
+ 'dash-playback-not-allowed': DASHPlaybackNotAllowedEvent;
58
+ 'dash-playback-metadata-loaded': DASHPlaybackMetaDataLoadedEvent;
59
+ 'dash-playback-loaded-data': DASHPlaybackLoadedDataEvent;
60
+ 'dash-playback-paused': DASHPlaybackPausedEvent;
61
+ 'dash-playback-playing': DASHPlaybackPlayingEvent;
62
+ 'dash-playback-progress': DASHPlaybackProgressEvent;
63
+ 'dash-playback-rate-changed': DASHPlaybackRateChangedEvent;
64
+ 'dash-playback-seeked': DASHPlaybackSeekedEvent;
65
+ 'dash-playback-seeking': DASHPlaybackSeekingEvent;
66
+ 'dash-playback-stalled': DASHPlaybackStalledEvent;
67
+ 'dash-playback-started': DASHPlaybackStartedEvent;
68
+ 'dash-playback-time-updated': DASHPlaybackTimeUpdatedEvent;
69
+ 'dash-playback-volume-changed': DASHPlaybackVolumeChangedEvent;
70
+ 'dash-playback-waiting': DASHPlaybackWaitingEvent;
71
+ 'dash-manifest-validity-changed': DASHManifestValidityChangedEvent;
72
+ 'dash-event-mode-on-start': DASHEventModeOnStartEvent;
73
+ 'dash-event-mode-on-receive': DASHEventModeOnReceiveEvent;
74
+ 'dash-conformance-violation': DASHConformanceViolationEvent;
75
+ 'dash-representation-switch': DASHRepresentationSwitchEvent;
76
+ 'dash-adaptation-set-removed-no-capabilities': DASHAdaptationSetRemovedNoCapabilitiesEvent;
77
+ 'dash-content-steering-request-completed': DASHContentSteeringRequestCompletedEvent;
78
+ 'dash-inband-prft': DASHInbandPrftEvent;
79
+ 'dash-managed-media-source-start-streaming': DASHManagedMediaSourceStartStreamingEvent;
80
+ 'dash-managed-media-source-end-streaming': DASHManagedMediaSourceEndStreamingEvent;
81
+ }
82
+ export interface DASHMediaEvent<DetailType = unknown> extends DOMEvent<DetailType> {
83
+ target: MediaPlayer;
84
+ }
85
+ /**
86
+ * Fired when the browser begins downloading the `dash.js` library.
87
+ */
88
+ export interface DASHLibLoadStartEvent extends DASHMediaEvent<void> {
89
+ }
90
+ /**
91
+ * Fired when the `dash.js` library has been loaded.
92
+ *
93
+ * @detail constructor
94
+ */
95
+ export interface DASHLibLoadedEvent extends DASHMediaEvent<typeof DASH.MediaPlayer> {
96
+ }
97
+ /**
98
+ * Fired when the `dash.js` library fails during the download process.
99
+ *
100
+ * @detail error
101
+ */
102
+ export interface DASHLibLoadErrorEvent extends DASHMediaEvent<Error> {
103
+ }
104
+ /**
105
+ * Fired when the `dash.js` instance is built. This will not fire if the browser does not
106
+ * support `DASH.js`.
107
+ *
108
+ * @detail instance
109
+ */
110
+ export interface DASHInstanceEvent extends DASHMediaEvent<DASH.MediaPlayerClass> {
111
+ }
112
+ /**
113
+ * Fired when the browser doesn't support DASH natively, _and_ `dash.js` doesn't support
114
+ * this environment either, most likely due to missing Media Extensions or video codecs.
115
+ */
116
+ export interface DASHUnsupportedEvent extends DASHMediaEvent<void> {
117
+ }
118
+ /**
119
+ * Triggered when playback will not start yet as the MPD's `availabilityStartTime` is in the future.
120
+ * Check delay property in payload to determine time before playback will start.
121
+ *
122
+ * @detail data
123
+ */
124
+ export interface DASHAstInFutureEvent extends DASHMediaEvent<DASH.AstInFutureEvent> {
125
+ }
126
+ /**
127
+ * Triggered when the `BaseURL` have been updated.
128
+ */
129
+ export interface DASHBaseUrlsUpdatedEvent extends DASHMediaEvent<void> {
130
+ }
131
+ /**
132
+ * Triggered when the video element's buffer state changes to `stalled`. Check `mediaType` in
133
+ * payload to determine type (Video, Audio, FragmentedText).
134
+ */
135
+ export interface DASHBufferStalledEvent extends DASHMediaEvent<void> {
136
+ }
137
+ /**
138
+ * Triggered when the video element's buffer state changes to `loaded`. Check `mediaType` in payload
139
+ * to determine type (Video, Audio, FragmentedText).
140
+ *
141
+ * @detail data
142
+ */
143
+ export interface DASHBufferLoadedEvent extends DASHMediaEvent<DASH.BufferEvent> {
144
+ }
145
+ /**
146
+ * Triggered when the video element's buffer state changes, either stalled or loaded. Check
147
+ * payload for state.
148
+ *
149
+ * @detail data
150
+ */
151
+ export interface DASHBufferStateChangedEvent extends DASHMediaEvent<DASH.BufferStateChangedEvent> {
152
+ }
153
+ /**
154
+ * Triggered when the buffer level of a media type has been updated.
155
+ */
156
+ export interface DASHBufferLevelUpdatedEvent extends DASHMediaEvent<void> {
157
+ }
158
+ /**
159
+ * Triggered when a font signalled by a DVB Font Download has been added to the document `ntFaceSet`
160
+ * interface.
161
+ *
162
+ * @detail data
163
+ */
164
+ export interface DASHDvbFontDownloadAddedEvent extends DASHMediaEvent<DASH.dvbFontDownloadAdded> {
165
+ }
166
+ /**
167
+ * Triggered when a font signalled by a DVB Font Download has successfully downloaded and the
168
+ * `ntFace` can be used.
169
+ *
170
+ * @detail data
171
+ */
172
+ export interface DASHDvbFontDownloadCompleteEvent extends DASHMediaEvent<DASH.dvbFontDownloadComplete> {
173
+ }
174
+ /**
175
+ * Triggered when a font signalled by a DVB Font Download could not be successfully downloaded, so
176
+ * the `FontFace` will not be used.
177
+ *
178
+ * @detail data
179
+ */
180
+ export interface DASHDvbFontDownloadFailedEvent extends DASHMediaEvent<DASH.dvbFontDownloadFailed> {
181
+ }
182
+ /**
183
+ * Triggered when a dynamic stream changed to static (transition phase between Live and -Demand).
184
+ *
185
+ * @detail data
186
+ */
187
+ export interface DASHDynamicToStaticEvent extends DASHMediaEvent<DASH.DynamicToStaticEvent> {
188
+ }
189
+ /**
190
+ * Triggered when there is an error from the element or MSE source buffer.
191
+ *
192
+ * @detail error
193
+ */
194
+ export interface DASHErrorEvent extends DASHMediaEvent<DASH.ErrorEvent> {
195
+ }
196
+ /**
197
+ * Triggered when a fragment download has completed.
198
+ *
199
+ * @detail data
200
+ */
201
+ export interface DASHFragmentLoadingCompletedEvent extends DASHMediaEvent<DASH.FragmentLoadingCompletedEvent> {
202
+ }
203
+ /**
204
+ * Triggered when a partial fragment download has completed.
205
+ */
206
+ export interface DASHFragmentLoadingProgressEvent extends DASHMediaEvent<void> {
207
+ }
208
+ /**
209
+ * Triggered when a fragment download has started.
210
+ */
211
+ export interface DASHFragmentLoadingStartedEvent extends DASHMediaEvent<void> {
212
+ }
213
+ /**
214
+ * Triggered when a fragment download is abandoned due to detection of slow download base on e
215
+ * ABR abandon rule.
216
+ *
217
+ * @detail data
218
+ */
219
+ export interface DASHFragmentLoadingAbandonedEvent extends DASHMediaEvent<DASH.FragmentLoadingAbandonedEvent> {
220
+ }
221
+ /**
222
+ * Triggered when Debug logger methods are called.
223
+ *
224
+ * @detail data
225
+ */
226
+ export interface DASHLogEvent extends DASHMediaEvent<DASH.LogEvent> {
227
+ }
228
+ /**
229
+ * Triggered when the manifest load has started.
230
+ */
231
+ export interface DASHManifestLoadingStartedEvent extends DASHMediaEvent<void> {
232
+ }
233
+ /**
234
+ * Triggered when the manifest loading is finished, providing the request object information.
235
+ */
236
+ export interface DASHManifestLoadingFinishedEvent extends DASHMediaEvent<void> {
237
+ }
238
+ /**
239
+ * Triggered when the manifest load is complete, providing the payload.
240
+ *
241
+ * @detail data
242
+ */
243
+ export interface DASHManifestLoadedEvent extends DASHMediaEvent<DASH.ManifestLoadedEvent> {
244
+ }
245
+ /**
246
+ * Triggered anytime there is a change to the overall metrics.
247
+ */
248
+ export interface DASHMetricsChangedEvent extends DASHMediaEvent<void> {
249
+ }
250
+ /**
251
+ * Triggered when an individual metric is added, updated or cleared.
252
+ *
253
+ * @detail data
254
+ */
255
+ export interface DASHMetricChangedEvent extends DASHMediaEvent<DASH.MetricChangedEvent> {
256
+ }
257
+ /**
258
+ * Triggered every time a new metric is added.
259
+ *
260
+ * @detail data
261
+ */
262
+ export interface DASHMetricAddedEvent extends DASHMediaEvent<DASH.MetricEvent> {
263
+ }
264
+ /**
265
+ * Triggered every time a metric is updated.
266
+ *
267
+ * @detail data
268
+ */
269
+ export interface DASHMetricUpdatedEvent extends DASHMediaEvent<DASH.MetricEvent> {
270
+ }
271
+ /**
272
+ * Triggered when a new stream (period) starts.
273
+ *
274
+ * @detail data
275
+ */
276
+ export interface DASHPeriodSwitchStartedEvent extends DASHMediaEvent<DASH.PeriodSwitchEvent> {
277
+ }
278
+ /**
279
+ * Triggered at the stream end of a period.
280
+ *
281
+ * @detail data
282
+ */
283
+ export interface DASHPeriodSwitchCompletedEvent extends DASHMediaEvent<DASH.PeriodSwitchEvent> {
284
+ }
285
+ /**
286
+ * Triggered when an ABR up /down switch is initiated; either by user in manual mode or auto de via
287
+ * ABR rules.
288
+ *
289
+ * @detail data
290
+ */
291
+ export interface DASHQualityChangeRequestedEvent extends DASHMediaEvent<DASH.QualityChangeRequestedEvent> {
292
+ }
293
+ /**
294
+ * Triggered when the new ABR quality is being rendered on-screen.
295
+ *
296
+ * @detail data
297
+ */
298
+ export interface DASHQualityChangeRenderedEvent extends DASHMediaEvent<DASH.QualityChangeRenderedEvent> {
299
+ }
300
+ /**
301
+ * Triggered when the new track is being rendered.
302
+ *
303
+ * @detail data
304
+ */
305
+ export interface DASHTrackChangeRenderedEvent extends DASHMediaEvent<DASH.TrackChangeRenderedEvent> {
306
+ }
307
+ /**
308
+ * Triggered when a stream (period) is being loaded.
309
+ */
310
+ export interface DASHStreamInitializingEvent extends DASHMediaEvent<void> {
311
+ }
312
+ /**
313
+ * Triggered when a stream (period) is loaded.
314
+ */
315
+ export interface DASHStreamUpdatedEvent extends DASHMediaEvent<void> {
316
+ }
317
+ /**
318
+ * Triggered when a stream (period) is activated.
319
+ */
320
+ export interface DASHStreamActivatedEvent extends DASHMediaEvent<void> {
321
+ }
322
+ /**
323
+ * Triggered when a stream (period) is deactivated
324
+ */
325
+ export interface DASHStreamDeactivatedEvent extends DASHMediaEvent<void> {
326
+ }
327
+ /**
328
+ * Triggered when a stream (period) is activated.
329
+ *
330
+ * @detail data
331
+ */
332
+ export interface DASHStreamInitializedEvent extends DASHMediaEvent<DASH.StreamInitializedEvent> {
333
+ }
334
+ /**
335
+ * Triggered when the player has been reset.
336
+ */
337
+ export interface DASHStreamTeardownCompleteEvent extends DASHMediaEvent<void> {
338
+ }
339
+ /**
340
+ * Triggered once all text tracks detected in the MPD are added to the video element.
341
+ *
342
+ * @detail data
343
+ */
344
+ export interface DASHAllTextTracksAddedEvent extends DASHMediaEvent<DASH.TextTracksAddedEvent> {
345
+ }
346
+ /**
347
+ * Triggered when a text track is added to the video element's `TextTrackList`.
348
+ *
349
+ * @detail data
350
+ */
351
+ export interface DASHTextTrackAddedEvent extends DASHMediaEvent<DASH.TextTracksAddedEvent> {
352
+ }
353
+ /**
354
+ * Triggered when a text track should be shown.
355
+ *
356
+ * @detail data
357
+ */
358
+ export interface DASHCueEnterEvent extends DASHMediaEvent<DASH.CueEnterEvent> {
359
+ }
360
+ /**
361
+ * Triggered when a text track should be hidden.
362
+ *
363
+ * @detail data
364
+ */
365
+ export interface DASHCueExitEvent extends DASHMediaEvent<DASH.CueExitEvent> {
366
+ }
367
+ /**
368
+ * Triggered when a throughput measurement based on the last segment request has been stored.
369
+ *
370
+ * @detail data
371
+ */
372
+ export interface DASHThroughputMeasurementStoredEvent extends DASHMediaEvent<void> {
373
+ }
374
+ /**
375
+ * Triggered when a `ttml` chunk is parsed.
376
+ *
377
+ * @detail data
378
+ */
379
+ export interface DASHTtmlParsedEvent extends DASHMediaEvent<DASH.TtmlParsedEvent> {
380
+ }
381
+ /**
382
+ * Triggered when a `ttml` chunk has to be parsed.
383
+ *
384
+ * @detail data
385
+ */
386
+ export interface DASHTtmlToParseEvent extends DASHMediaEvent<DASH.TtmlToParseEvent> {
387
+ }
388
+ /**
389
+ * Triggered when a caption is rendered.
390
+ *
391
+ * @detail data
392
+ */
393
+ export interface DASHCaptionRenderedEvent extends DASHMediaEvent<DASH.CaptionRenderedEvent> {
394
+ }
395
+ /**
396
+ * Triggered when the caption container is resized.
397
+ *
398
+ * @detail data
399
+ */
400
+ export interface DASHCaptionContainerResizeEvent extends DASHMediaEvent<DASH.CaptionContainerResizeEvent> {
401
+ }
402
+ /**
403
+ * Sent when enough data is available that the media can be played, at least for a couple of
404
+ * frames. This corresponds to the `HAVE_ENOUGH_DATA` `readyState`.
405
+ */
406
+ export interface DASHCanPlayEvent extends DASHMediaEvent<void> {
407
+ }
408
+ /**
409
+ * This corresponds to the `CAN_PLAY_THROUGH` `readyState`.
410
+ */
411
+ export interface DASHCanPlayThroughEvent extends DASHMediaEvent<void> {
412
+ }
413
+ /**
414
+ * Sent when playback completes.
415
+ */
416
+ export interface DASHPlaybackEndedEvent extends DASHMediaEvent<void> {
417
+ }
418
+ /**
419
+ * Sent when an error occurs. The element's error attribute contains more information.
420
+ *
421
+ * @detail data
422
+ */
423
+ export interface DASHPlaybackErrorEvent extends DASHMediaEvent<DASH.PlaybackErrorEvent> {
424
+ }
425
+ /**
426
+ * Sent when playback is not allowed (for example if user gesture is needed).
427
+ */
428
+ export interface DASHPlaybackNotAllowedEvent extends DASHMediaEvent<void> {
429
+ }
430
+ /**
431
+ * The media's metadata has finished loading; all attributes now contain as much useful
432
+ * information as they're going to.
433
+ */
434
+ export interface DASHPlaybackMetaDataLoadedEvent extends DASHMediaEvent<void> {
435
+ }
436
+ /**
437
+ * The event is fired when the frame at the current playback position of the media has finished
438
+ * loading; often the first frame.
439
+ */
440
+ export interface DASHPlaybackLoadedDataEvent extends DASHMediaEvent<void> {
441
+ }
442
+ /**
443
+ * Sent when playback is paused.
444
+ *
445
+ * @detail data
446
+ */
447
+ export interface DASHPlaybackPausedEvent extends DASHMediaEvent<DASH.PlaybackPausedEvent> {
448
+ }
449
+ /**
450
+ * Sent when the media begins to play (either for the first time, after having been paused,
451
+ * or after ending and then restarting).
452
+ *
453
+ * @detail data
454
+ */
455
+ export interface DASHPlaybackPlayingEvent extends DASHMediaEvent<DASH.PlaybackPlayingEvent> {
456
+ }
457
+ /**
458
+ * Sent periodically to inform interested parties of progress downloading the media. Information
459
+ * about the current amount of the media that has been downloaded is available in the media
460
+ * element's buffered attribute.
461
+ */
462
+ export interface DASHPlaybackProgressEvent extends DASHMediaEvent<void> {
463
+ }
464
+ /**
465
+ * Sent when the playback speed changes.
466
+ *
467
+ * @detail data
468
+ */
469
+ export interface DASHPlaybackRateChangedEvent extends DASHMediaEvent<DASH.PlaybackRateChangedEvent> {
470
+ }
471
+ /**
472
+ * Sent when a seek operation completes.
473
+ */
474
+ export interface DASHPlaybackSeekedEvent extends DASHMediaEvent<void> {
475
+ }
476
+ /**
477
+ * Sent when a seek operation begins.
478
+ *
479
+ * @detail data
480
+ */
481
+ export interface DASHPlaybackSeekingEvent extends DASHMediaEvent<DASH.PlaybackSeekingEvent> {
482
+ }
483
+ /**
484
+ * Sent when the video element reports stalled.
485
+ */
486
+ export interface DASHPlaybackStalledEvent extends DASHMediaEvent<void> {
487
+ }
488
+ /**
489
+ * Sent when playback of the media starts after having been paused; that is, when playback is
490
+ * resumed after a prior pause event.
491
+ *
492
+ * @detail data
493
+ */
494
+ export interface DASHPlaybackStartedEvent extends DASHMediaEvent<DASH.PlaybackStartedEvent> {
495
+ }
496
+ /**
497
+ * The time indicated by the element's currentTime attribute has changed.
498
+ *
499
+ * @detail data
500
+ */
501
+ export interface DASHPlaybackTimeUpdatedEvent extends DASHMediaEvent<DASH.PlaybackTimeUpdatedEvent> {
502
+ }
503
+ /**
504
+ * Sent when the video element reports that the volume has changed.
505
+ */
506
+ export interface DASHPlaybackVolumeChangedEvent extends DASHMediaEvent<void> {
507
+ }
508
+ /**
509
+ * Sent when the media playback has stopped because of a temporary lack of data.
510
+ *
511
+ * @detail data
512
+ */
513
+ export interface DASHPlaybackWaitingEvent extends DASHMediaEvent<DASH.PlaybackWaitingEvent> {
514
+ }
515
+ /**
516
+ * Manifest validity changed - As a result of an MPD validity expiration event.
517
+ */
518
+ export interface DASHManifestValidityChangedEvent extends DASHMediaEvent<void> {
519
+ }
520
+ /**
521
+ * Dash events are triggered at their respective start points on the timeline.
522
+ */
523
+ export interface DASHEventModeOnStartEvent extends DASHMediaEvent<void> {
524
+ }
525
+ /**
526
+ * Dash events are triggered as soon as they were parsed.
527
+ */
528
+ export interface DASHEventModeOnReceiveEvent extends DASHMediaEvent<void> {
529
+ }
530
+ /**
531
+ * Event that is dispatched whenever the player encounters a potential conformance validation at
532
+ * might lead to unexpected/not optimal behavior.
533
+ */
534
+ export interface DASHConformanceViolationEvent extends DASHMediaEvent<void> {
535
+ }
536
+ /**
537
+ * Event that is dispatched whenever the player switches to a different representation.
538
+ */
539
+ export interface DASHRepresentationSwitchEvent extends DASHMediaEvent<void> {
540
+ }
541
+ /**
542
+ * Event that is dispatched whenever an adaptation set is removed due to all representations to
543
+ * being supported.
544
+ *
545
+ * @detail data
546
+ */
547
+ export interface DASHAdaptationSetRemovedNoCapabilitiesEvent extends DASHMediaEvent<DASH.AdaptationSetRemovedNoCapabilitiesEvent> {
548
+ }
549
+ /**
550
+ * Triggered when a content steering request has completed.
551
+ */
552
+ export interface DASHContentSteeringRequestCompletedEvent extends DASHMediaEvent<void> {
553
+ }
554
+ /**
555
+ * Triggered when an inband prft (ProducerReferenceTime) boxes has been received.
556
+ *
557
+ * @detail data
558
+ */
559
+ export interface DASHInbandPrftEvent extends DASHMediaEvent<DASH.InbandPrftReceivedEvent> {
560
+ }
561
+ /**
562
+ * The streaming attribute of the Managed Media Source is `true`.
563
+ */
564
+ export interface DASHManagedMediaSourceStartStreamingEvent extends DASHMediaEvent<void> {
565
+ }
566
+ /**
567
+ * The streaming attribute of the Managed Media Source is `false`.
568
+ */
569
+ export interface DASHManagedMediaSourceEndStreamingEvent extends DASHMediaEvent<void> {
570
+ }
@@ -0,0 +1,6 @@
1
+ import type { MediaContext } from '../../core/api/media-context';
2
+ import type { DASHConstructor, DASHLibrary } from './types';
3
+ export declare class DASHLibLoader {
4
+ #private;
5
+ constructor(lib: DASHLibrary, ctx: MediaContext, callback: (ctor: DASHConstructor) => void);
6
+ }
@@ -0,0 +1,10 @@
1
+ import type { Src } from '../../core/api/src-types';
2
+ import type { MediaProviderLoader } from '../types';
3
+ import { VideoProviderLoader } from '../video/loader';
4
+ import { DASHProvider } from './provider';
5
+ export declare class DASHProviderLoader extends VideoProviderLoader implements MediaProviderLoader<DASHProvider> {
6
+ static supported: boolean;
7
+ readonly name = "dash";
8
+ canPlay(src: Src): boolean;
9
+ load(context: any): Promise<DASHProvider>;
10
+ }
@@ -0,0 +1,62 @@
1
+ import { type Dispose } from 'maverick.js';
2
+ import type { Src } from '../../core/api/src-types';
3
+ import type { MediaProviderAdapter } from '../types';
4
+ import { VideoProvider } from '../video/provider';
5
+ import type { DASHInstanceCallback, DASHLibrary } from './types';
6
+ /**
7
+ * The DASH provider introduces support for DASH streaming via the popular `dash.js`
8
+ *
9
+ * @docs {@link https://www.vidstack.io/docs/player/providers/dash}
10
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video}
11
+ * @see {@link https://cdn.dashjs.org/latest/jsdoc/index.html}
12
+ * @example
13
+ * ```html
14
+ * <media-player
15
+ * src="https://files.vidstack.io/dash/manifest.mpd"
16
+ * poster="https://files.vidstack.io/poster.png"
17
+ * >
18
+ * <media-provider></media-provider>
19
+ * </media-player>
20
+ * ```
21
+ */
22
+ export declare class DASHProvider extends VideoProvider implements MediaProviderAdapter {
23
+ #private;
24
+ protected $$PROVIDER_TYPE: string;
25
+ /**
26
+ * The `dash.js` constructor.
27
+ */
28
+ get ctor(): typeof import("dashjs").MediaPlayer | null;
29
+ /**
30
+ * The current `dash.js` instance.
31
+ */
32
+ get instance(): import("dashjs").MediaPlayerClass | null;
33
+ /**
34
+ * Whether `dash.js` is supported in this environment.
35
+ */
36
+ static supported: boolean;
37
+ get type(): string;
38
+ get canLiveSync(): boolean;
39
+ /**
40
+ * The `dash.js` configuration object.
41
+ *
42
+ * @see {@link https://cdn.dashjs.org/latest/jsdoc/module-Settings.html}
43
+ */
44
+ get config(): Partial<import("dashjs").MediaPlayerSettingClass>;
45
+ set config(config: Partial<import("dashjs").MediaPlayerSettingClass>);
46
+ /**
47
+ * The `dash.js` constructor (supports dynamic imports) or a URL of where it can be found.
48
+ *
49
+ * @defaultValue `https://cdn.jsdelivr.net/npm/dashjs@4.7.4/dist/dash.all.min.js`
50
+ */
51
+ get library(): DASHLibrary;
52
+ set library(library: DASHLibrary);
53
+ preconnect(): void;
54
+ setup(): void;
55
+ loadSource(src: Src, preload?: HTMLMediaElement['preload']): Promise<void>;
56
+ /**
57
+ * The given callback is invoked when a new `dash.js` instance is created and right before it's
58
+ * attached to media.
59
+ */
60
+ onInstance(callback: DASHInstanceCallback): Dispose;
61
+ destroy(): void;
62
+ }
@@ -0,0 +1,13 @@
1
+ import type DASH from 'dashjs';
2
+ import type { DASHProviderEvents } from './events';
3
+ export { type DASHProviderEvents };
4
+ export type DASHConstructor = typeof DASH.MediaPlayer;
5
+ export type DASHConstructorLoader = () => Promise<{
6
+ default: DASHConstructor;
7
+ } | undefined>;
8
+ export type DASHNamespace = typeof DASH;
9
+ export type DASHNamespaceLoader = () => Promise<{
10
+ default: typeof DASH;
11
+ } | undefined>;
12
+ export type DASHLibrary = DASHConstructor | DASHConstructorLoader | DASHNamespace | DASHNamespaceLoader | string | undefined;
13
+ export type DASHInstanceCallback = (player: DASH.MediaPlayerClass) => void;
@@ -0,0 +1,18 @@
1
+ export declare abstract class EmbedProvider<Message> {
2
+ #private;
3
+ protected abstract getOrigin(): string;
4
+ protected abstract buildParams(): Record<string, any>;
5
+ protected abstract onMessage(message: Message, event: MessageEvent): void;
6
+ protected abstract onLoad(): void;
7
+ protected src: import("maverick.js").WriteSignal<string>;
8
+ /**
9
+ * Defines which referrer is sent when fetching the resource.
10
+ *
11
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/referrerPolicy}
12
+ */
13
+ referrerPolicy: ReferrerPolicy | null;
14
+ get iframe(): HTMLIFrameElement;
15
+ constructor(iframe: HTMLIFrameElement);
16
+ setup(): void;
17
+ postMessage(message: any, target?: string): void;
18
+ }