@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,36 @@
1
+ import type { DOMEvent } from 'maverick.js/std';
2
+ import type { MediaPlayer } from '../../components/player';
3
+ export interface GoogleCastEvents {
4
+ 'google-cast-load-start': GoogleCastLoadStartEvent;
5
+ 'google-cast-loaded': GoogleCastLoadedEvent;
6
+ 'google-cast-prompt-open': GoogleCastPromptEvent;
7
+ 'google-cast-prompt-close': GoogleCastPromptEvent;
8
+ 'google-cast-prompt-error': GoogleCastPromptErrorEvent;
9
+ }
10
+ export interface GoogleCastEvent<DetailType = unknown> extends DOMEvent<DetailType> {
11
+ target: MediaPlayer;
12
+ }
13
+ /**
14
+ * Fired when the Google Cast framework starts loading.
15
+ */
16
+ export interface GoogleCastLoadStartEvent extends GoogleCastEvent<void> {
17
+ }
18
+ /**
19
+ * Fired when the Google Cast framework has loaded.
20
+ */
21
+ export interface GoogleCastLoadedEvent extends GoogleCastEvent<void> {
22
+ }
23
+ /**
24
+ * Fired when the Google Cast prompt is opened/closed.
25
+ */
26
+ export interface GoogleCastPromptEvent extends GoogleCastEvent<void> {
27
+ }
28
+ export interface GoogleCastPromptError extends Error {
29
+ code: GoogleCastPromptErrorCode;
30
+ }
31
+ export type GoogleCastPromptErrorCode = 'CAST_NOT_AVAILABLE' | 'CANCEL' | 'TIMEOUT' | 'API_NOT_INITIALIZED' | 'INVALID_PARAMETER' | 'EXTENSION_NOT_COMPATIBLE' | 'EXTENSION_MISSING' | 'RECEIVER_UNAVAILABLE' | 'SESSION_ERROR' | 'CHANNEL_ERROR' | 'NO_DEVICES_AVAILABLE' | 'LOAD_MEDIA_FAILED';
32
+ /**
33
+ * Fired when requesting Google Cast has failed.
34
+ */
35
+ export interface GoogleCastPromptErrorEvent extends GoogleCastEvent<GoogleCastPromptError> {
36
+ }
@@ -0,0 +1,18 @@
1
+ import type { MediaContext } from '../../core/api/media-context';
2
+ import type { Src } from '../../core/api/src-types';
3
+ import type { MediaType } from '../../core/api/types';
4
+ import type { MediaProviderLoader } from '../types';
5
+ import type { GoogleCastProvider } from './provider';
6
+ export declare class GoogleCastLoader implements MediaProviderLoader<GoogleCastProvider> {
7
+ #private;
8
+ readonly name = "google-cast";
9
+ target: HTMLElement;
10
+ /**
11
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastContext}
12
+ */
13
+ get cast(): cast.framework.CastContext;
14
+ mediaType(): MediaType;
15
+ canPlay(src: Src): boolean;
16
+ prompt(ctx: MediaContext): Promise<void>;
17
+ load(ctx: MediaContext): Promise<GoogleCastProvider>;
18
+ }
@@ -0,0 +1,11 @@
1
+ import type { Src } from '../../core/api/src-types';
2
+ import type { MediaStreamType } from '../../core/api/types';
3
+ import type { TextTrack } from '../../core/tracks/text/text-track';
4
+ export declare class GoogleCastMediaInfoBuilder {
5
+ #private;
6
+ constructor(src: Src<string>);
7
+ build(): chrome.cast.media.MediaInfo;
8
+ setStreamType(streamType: MediaStreamType): this;
9
+ setTracks(tracks: TextTrack[]): this;
10
+ setMetadata(title: string, poster: string): this;
11
+ }
@@ -0,0 +1,48 @@
1
+ import type { MediaContext } from '../../core/api/media-context';
2
+ import type { Src } from '../../core/api/src-types';
3
+ import type { MediaProviderAdapter } from '../types';
4
+ /**
5
+ * The Google Cast provider adds support for casting/streaming videos to Cast Receiver.
6
+ *
7
+ * @see {@link https://developers.google.com/cast/docs/overview}
8
+ * @docs {@link https://www.vidstack.io/docs/player/providers/google-cast}
9
+ */
10
+ export declare class GoogleCastProvider implements MediaProviderAdapter {
11
+ #private;
12
+ protected $$PROVIDER_TYPE: string;
13
+ readonly scope: import("maverick.js").Scope;
14
+ constructor(player: cast.framework.RemotePlayer, ctx: MediaContext);
15
+ get type(): string;
16
+ get currentSrc(): Src<string> | null;
17
+ /**
18
+ * The Google Cast remote player.
19
+ *
20
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.RemotePlayer}
21
+ */
22
+ get player(): cast.framework.RemotePlayer;
23
+ /**
24
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastContext}
25
+ */
26
+ get cast(): cast.framework.CastContext;
27
+ /**
28
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastSession}
29
+ */
30
+ get session(): cast.framework.CastSession | null;
31
+ /**
32
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/chrome.cast.media.Media}
33
+ */
34
+ get media(): chrome.cast.media.Media | undefined;
35
+ /**
36
+ * Whether the current Google Cast session belongs to this provider.
37
+ */
38
+ get hasActiveSession(): boolean;
39
+ setup(): void;
40
+ play(): Promise<void>;
41
+ pause(): Promise<void>;
42
+ getMediaStatus(request: chrome.cast.media.GetStatusRequest): Promise<unknown>;
43
+ setMuted(muted: boolean): void;
44
+ setCurrentTime(time: number): void;
45
+ setVolume(volume: number): void;
46
+ loadSource(src: Src): Promise<void>;
47
+ destroy(): void;
48
+ }
@@ -0,0 +1,10 @@
1
+ import type { MediaContext } from '../../core/api/media-context';
2
+ import type { TextTrack } from '../../core/tracks/text/text-track';
3
+ export declare class GoogleCastTracksManager {
4
+ #private;
5
+ constructor(cast: cast.framework.RemotePlayer, ctx: MediaContext, onNewLocalTracks?: () => void);
6
+ setup(): void;
7
+ getLocalTextTracks(): TextTrack[];
8
+ syncRemoteTracks(event?: Event): void;
9
+ syncRemoteActiveIds(event?: Event): void;
10
+ }
@@ -0,0 +1,3 @@
1
+ export interface GoogleCastOptions extends Partial<cast.framework.CastOptions> {
2
+ }
3
+ export type { GoogleCastEvents } from './events';
@@ -0,0 +1,34 @@
1
+ import type { Src } from '../../core/api/src-types';
2
+ export declare function getCastFrameworkURL(): string;
3
+ /**
4
+ * Whether the Google Cast framework has loaded.
5
+ */
6
+ export declare function hasLoadedCastFramework(): boolean;
7
+ /**
8
+ * Whether Google Cast is available on this platform.
9
+ */
10
+ export declare function isCastAvailable(): boolean;
11
+ /**
12
+ * Whether the cast sender is connected.
13
+ */
14
+ export declare function isCastConnected(): boolean;
15
+ /**
16
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastContext}
17
+ */
18
+ export declare function getCastContext(): cast.framework.CastContext;
19
+ /**
20
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastSession}
21
+ */
22
+ export declare function getCastSession(): cast.framework.CastSession | null;
23
+ /**
24
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/chrome.cast.media.Media}
25
+ */
26
+ export declare function getCastSessionMedia(): chrome.cast.media.Media | undefined;
27
+ export declare function hasActiveCastSession(src: Src | undefined | null): boolean;
28
+ /**
29
+ * @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastOptions}
30
+ */
31
+ export declare function getDefaultCastOptions(): cast.framework.CastOptions;
32
+ export declare function getCastErrorMessage(code: chrome.cast.ErrorCode): string;
33
+ export declare function listenCastContextEvent<T extends keyof cast.framework.CastContextEvents>(type: T, handler: (event: cast.framework.CastContextEvents[T]) => void): import("maverick.js").Dispose;
34
+ export declare function listenCastSessionEvent<T extends keyof cast.framework.CastSessionEvents>(type: T, handler: (event: cast.framework.CastSessionEvents[T]) => void): import("maverick.js").Dispose;
@@ -0,0 +1,463 @@
1
+ import type * as HLS from 'hls.js';
2
+ import type { DOMEvent } from 'maverick.js/std';
3
+ import type { MediaPlayer } from '../../components/player';
4
+ export interface HLSProviderEvents {
5
+ 'hls-lib-load-start': HLSLibLoadStartEvent;
6
+ 'hls-lib-loaded': HLSLibLoadedEvent;
7
+ 'hls-lib-load-error': HLSLibLoadErrorEvent;
8
+ 'hls-instance': HLSInstanceEvent;
9
+ 'hls-unsupported': HLSUnsupportedEvent;
10
+ 'hls-media-attaching': HLSMediaAttachingEvent;
11
+ 'hls-media-attached': HLSMediaAttachedEvent;
12
+ 'hls-media-detaching': HLSMediaDetachingEvent;
13
+ 'hls-media-detached': HLSMediaDetachedEvent;
14
+ 'hls-buffer-reset': HLSBufferResetEvent;
15
+ 'hls-buffer-codecs': HLSBufferCodecsEvent;
16
+ 'hls-buffer-created': HLSBufferCreatedEvent;
17
+ 'hls-buffer-appending': HLSBufferAppendingEvent;
18
+ 'hls-buffer-appended': HLSBufferAppendedEvent;
19
+ 'hls-buffer-eos': HLSBufferEosEvent;
20
+ 'hls-buffer-flushing': HLSBufferFlushingEvent;
21
+ 'hls-buffer-flushed': HLSBufferFlushedEvent;
22
+ 'hls-manifest-loading': HLSManifestLoadingEvent;
23
+ 'hls-manifest-loaded': HLSManifestLoadedEvent;
24
+ 'hls-manifest-parsed': HLSManifestParsedEvent;
25
+ 'hls-level-switching': HLSLevelSwitchingEvent;
26
+ 'hls-level-switched': HLSLevelSwitchedEvent;
27
+ 'hls-level-loading': HLSLevelLoadingEvent;
28
+ 'hls-level-loaded': HLSLevelLoadedEvent;
29
+ 'hls-level-updated': HLSLevelUpdatedEvent;
30
+ 'hls-level-pts-updated': HLSLevelPtsUpdatedEvent;
31
+ 'hls-levels-updated': HLSLevelsUpdatedEvent;
32
+ 'hls-audio-tracks-updated': HLSAudioTracksUpdatedEvent;
33
+ 'hls-audio-track-switching': HLSAudioTrackSwitchingEvent;
34
+ 'hls-audio-track-switched': HLSAudioTrackSwitchedEvent;
35
+ 'hls-audio-track-loading': HLSAudioTrackLoadingEvent;
36
+ 'hls-audio-track-loaded': HLSAudioTrackLoadedEvent;
37
+ 'hls-subtitle-tracks-updated': HLSSubtitleTracksUpdatedEvent;
38
+ 'hls-subtitle-tracks-cleared': HLSSubtitleTracksClearedEvent;
39
+ 'hls-subtitle-track-switch': HLSSubtitleTrackSwitchEvent;
40
+ 'hls-subtitle-track-loading': HLSSubtitleTrackLoadingEvent;
41
+ 'hls-subtitle-track-loaded': HLSSubtitleTrackLoadedEvent;
42
+ 'hls-subtitle-frag-processed': HLSSubtitleFragProcessedEvent;
43
+ 'hls-cues-parsed': HLSCuesParsedEvent;
44
+ 'hls-non-native-text-tracks-found': HLSNonNativeTextTracksFoundEvent;
45
+ 'hls-init-pts-found': HLSInitPtsFoundEvent;
46
+ 'hls-frag-loading': HLSFragLoadingEvent;
47
+ 'hls-frag-load-emergency-aborted': HLSFragLoadEmergencyAbortedEvent;
48
+ 'hls-frag-loaded': HLSFragLoadedEvent;
49
+ 'hls-frag-decrypted': HLSFragDecryptedEvent;
50
+ 'hls-frag-parsing-init-segment': HLSFragParsingInitSegmentEvent;
51
+ 'hls-frag-parsing-userdata': HLSFragParsingUserdataEvent;
52
+ 'hls-frag-parsing-metadata': HLSFragParsingMetadataEvent;
53
+ 'hls-frag-parsed': HLSFragParsedEvent;
54
+ 'hls-frag-buffered-data': HLSFragBufferedDataEvent;
55
+ 'hls-frag-changed': HLSFragChangedEvent;
56
+ 'hls-fps-drop': HLSFpsDropEvent;
57
+ 'hls-fps-drop-level-capping': HLSFpsDropLevelCappingEvent;
58
+ 'hls-error': HLSErrorEvent;
59
+ 'hls-destroying': HLSDestroyingEvent;
60
+ 'hls-key-loading': HLSKeyLoadingEvent;
61
+ 'hls-key-loaded': HLSKeyLoadedEvent;
62
+ 'hls-back-buffer-reached': HLSBackBufferReachedEvent;
63
+ }
64
+ export interface HLSMediaEvent<DetailType = unknown> extends DOMEvent<DetailType> {
65
+ target: MediaPlayer;
66
+ }
67
+ /**
68
+ * Fired when the browser begins downloading the `hls.js` library.
69
+ */
70
+ export interface HLSLibLoadStartEvent extends HLSMediaEvent<void> {
71
+ }
72
+ /**
73
+ * Fired when the `hls.js` library has been loaded.
74
+ *
75
+ * @detail constructor
76
+ */
77
+ export interface HLSLibLoadedEvent extends HLSMediaEvent<typeof HLS.default> {
78
+ }
79
+ /**
80
+ * Fired when the `hls.js` library fails during the download process.
81
+ *
82
+ * @detail error
83
+ */
84
+ export interface HLSLibLoadErrorEvent extends HLSMediaEvent<Error> {
85
+ }
86
+ /**
87
+ * Fired when the `hls.js` instance is built. This will not fire if the browser does not
88
+ * support `hls.js`.
89
+ *
90
+ * @detail instance
91
+ */
92
+ export interface HLSInstanceEvent extends HLSMediaEvent<HLS.default> {
93
+ }
94
+ /**
95
+ * Fired when the browser doesn't support HLS natively, _and_ `hls.js` doesn't support
96
+ * this environment either, most likely due to missing Media Extensions or video codecs.
97
+ */
98
+ export interface HLSUnsupportedEvent extends HLSMediaEvent<void> {
99
+ }
100
+ /**
101
+ * Fired before `MediaSource` begins attaching to the media element.
102
+ *
103
+ * @detail data
104
+ */
105
+ export interface HLSMediaAttachingEvent extends HLSMediaEvent<HLS.MediaAttachingData> {
106
+ }
107
+ /**
108
+ * Fired when `MediaSource` has been successfully attached to the media element.
109
+ *
110
+ * @detail data
111
+ */
112
+ export interface HLSMediaAttachedEvent extends HLSMediaEvent<HLS.MediaAttachedData> {
113
+ }
114
+ /**
115
+ * Fired before detaching `MediaSource` from the media element.
116
+ */
117
+ export interface HLSMediaDetachingEvent extends HLSMediaEvent<void> {
118
+ }
119
+ /**
120
+ * Fired when `MediaSource` has been detached from media element.
121
+ */
122
+ export interface HLSMediaDetachedEvent extends HLSMediaEvent<void> {
123
+ }
124
+ /**
125
+ * Fired when we buffer is going to be reset.
126
+ */
127
+ export interface HLSBufferResetEvent extends HLSMediaEvent<void> {
128
+ }
129
+ /**
130
+ * Fired when we know about the codecs that we need buffers for to push into.
131
+ *
132
+ * @detail data
133
+ */
134
+ export interface HLSBufferCodecsEvent extends HLSMediaEvent<HLS.BufferCodecsData> {
135
+ }
136
+ /**
137
+ * Fired when `SourceBuffer`'s have been created.
138
+ *
139
+ * @detail data
140
+ */
141
+ export interface HLSBufferCreatedEvent extends HLSMediaEvent<HLS.BufferCreatedData> {
142
+ }
143
+ /**
144
+ * Fired when we begin appending a media segment to the buffer.
145
+ *
146
+ * @detail data
147
+ */
148
+ export interface HLSBufferAppendingEvent extends HLSMediaEvent<HLS.BufferAppendingData> {
149
+ }
150
+ /**
151
+ * Fired when we are done with appending a media segment to the buffer.
152
+ *
153
+ * @detail data
154
+ */
155
+ export interface HLSBufferAppendedEvent extends HLSMediaEvent<HLS.BufferAppendedData> {
156
+ }
157
+ /**
158
+ * Fired when the stream is finished and we want to notify the media buffer that there will be no
159
+ * more data.
160
+ *
161
+ * @detail data
162
+ */
163
+ export interface HLSBufferEosEvent extends HLSMediaEvent<HLS.BufferEOSData> {
164
+ }
165
+ /**
166
+ * Fired when the media buffer should be flushed.
167
+ *
168
+ * @detail data
169
+ */
170
+ export interface HLSBufferFlushingEvent extends HLSMediaEvent<HLS.BufferFlushingData> {
171
+ }
172
+ /**
173
+ * Fired when the media buffer has been flushed.
174
+ *
175
+ * @detail data
176
+ */
177
+ export interface HLSBufferFlushedEvent extends HLSMediaEvent<HLS.BufferFlushedData> {
178
+ }
179
+ /**
180
+ * Fired to signal that manifest loading is starting.
181
+ *
182
+ * @detail data
183
+ */
184
+ export interface HLSManifestLoadingEvent extends HLSMediaEvent<HLS.ManifestLoadingData> {
185
+ }
186
+ /**
187
+ * Fired after the manifest has been loaded.
188
+ *
189
+ * @detail data
190
+ */
191
+ export interface HLSManifestLoadedEvent extends HLSMediaEvent<HLS.ManifestLoadedData> {
192
+ }
193
+ /**
194
+ * Fired after manifest has been parsed.
195
+ *
196
+ * @detail data
197
+ */
198
+ export interface HLSManifestParsedEvent extends HLSMediaEvent<HLS.ManifestParsedData> {
199
+ }
200
+ /**
201
+ * Fired when a level switch is requested.
202
+ *
203
+ * @detail data
204
+ */
205
+ export interface HLSLevelSwitchingEvent extends HLSMediaEvent<HLS.LevelSwitchingData> {
206
+ }
207
+ /**
208
+ * Fired when a level switch is effective.
209
+ *
210
+ * @detail data
211
+ */
212
+ export interface HLSLevelSwitchedEvent extends HLSMediaEvent<HLS.LevelSwitchedData> {
213
+ }
214
+ /**
215
+ * Fired when a level playlist loading starts.
216
+ *
217
+ * @detail data
218
+ */
219
+ export interface HLSLevelLoadingEvent extends HLSMediaEvent<HLS.LevelLoadingData> {
220
+ }
221
+ /**
222
+ * Fired when a level playlist loading finishes.
223
+ *
224
+ * @detail data
225
+ */
226
+ export interface HLSLevelLoadedEvent extends HLSMediaEvent<HLS.LevelLoadedData> {
227
+ }
228
+ /**
229
+ * Fired when a level's details have been updated based on previous details, after it has been
230
+ * loaded.
231
+ *
232
+ * @detail data
233
+ */
234
+ export interface HLSLevelUpdatedEvent extends HLSMediaEvent<HLS.LevelUpdatedData> {
235
+ }
236
+ /**
237
+ * Fired when a level's PTS information has been updated after parsing a fragment.
238
+ *
239
+ * @detail data
240
+ */
241
+ export interface HLSLevelPtsUpdatedEvent extends HLSMediaEvent<HLS.LevelPTSUpdatedData> {
242
+ }
243
+ /**
244
+ * Fired when a level is removed after calling `removeLevel()`.
245
+ *
246
+ * @detail data
247
+ */
248
+ export interface HLSLevelsUpdatedEvent extends HLSMediaEvent<HLS.LevelsUpdatedData> {
249
+ }
250
+ /**
251
+ * Fired to notify that the audio track list has been updated.
252
+ *
253
+ * @detail data
254
+ */
255
+ export interface HLSAudioTracksUpdatedEvent extends HLSMediaEvent<HLS.AudioTracksUpdatedData> {
256
+ }
257
+ /**
258
+ * Fired when an audio track switching is requested.
259
+ *
260
+ * @detail data
261
+ */
262
+ export interface HLSAudioTrackSwitchingEvent extends HLSMediaEvent<HLS.AudioTrackSwitchingData> {
263
+ }
264
+ /**
265
+ * Fired when an audio track switch actually occurs.
266
+ *
267
+ * @detail data
268
+ */
269
+ export interface HLSAudioTrackSwitchedEvent extends HLSMediaEvent<HLS.AudioTrackSwitchedData> {
270
+ }
271
+ /**
272
+ * Fired when loading an audio track starts.
273
+ *
274
+ * @detail data
275
+ */
276
+ export interface HLSAudioTrackLoadingEvent extends HLSMediaEvent<HLS.TrackLoadingData> {
277
+ }
278
+ /**
279
+ * Fired when loading an audio track finishes.
280
+ *
281
+ * @detail data
282
+ */
283
+ export interface HLSAudioTrackLoadedEvent extends HLSMediaEvent<HLS.AudioTrackLoadedData> {
284
+ }
285
+ /**
286
+ * Fired to notify that the subtitle track list has been updated.
287
+ *
288
+ * @detail data
289
+ */
290
+ export interface HLSSubtitleTracksUpdatedEvent extends HLSMediaEvent<HLS.SubtitleTracksUpdatedData> {
291
+ }
292
+ /**
293
+ * Fired to notify that subtitle tracks were cleared as a result of stopping the media.
294
+ */
295
+ export interface HLSSubtitleTracksClearedEvent extends HLSMediaEvent<void> {
296
+ }
297
+ /**
298
+ * Fired when a subtitle track switch occurs.
299
+ *
300
+ * @detail data
301
+ */
302
+ export interface HLSSubtitleTrackSwitchEvent extends HLSMediaEvent<HLS.SubtitleTrackSwitchData> {
303
+ }
304
+ /**
305
+ * Fired when loading a subtitle track starts.
306
+ *
307
+ * @detail data
308
+ */
309
+ export interface HLSSubtitleTrackLoadingEvent extends HLSMediaEvent<HLS.TrackLoadingData> {
310
+ }
311
+ /**
312
+ * Fired when loading a subtitle track finishes.
313
+ *
314
+ * @detail data
315
+ */
316
+ export interface HLSSubtitleTrackLoadedEvent extends HLSMediaEvent<HLS.SubtitleTrackLoadedData> {
317
+ }
318
+ /**
319
+ * Fired when a subtitle fragment has been processed.
320
+ *
321
+ * @detail data
322
+ */
323
+ export interface HLSSubtitleFragProcessedEvent extends HLSMediaEvent<HLS.SubtitleFragProcessedData> {
324
+ }
325
+ /**
326
+ * Fired when a set of `VTTCue`'s to be managed externally has been parsed.
327
+ *
328
+ * @detail data
329
+ */
330
+ export interface HLSCuesParsedEvent extends HLSMediaEvent<HLS.CuesParsedData> {
331
+ }
332
+ /**
333
+ * Fired when a text track to be managed externally is found.
334
+ *
335
+ * @detail data
336
+ */
337
+ export interface HLSNonNativeTextTracksFoundEvent extends HLSMediaEvent<HLS.NonNativeTextTracksData> {
338
+ }
339
+ /**
340
+ * Fired when the first timestamp is found.
341
+ *
342
+ * @detail data
343
+ */
344
+ export interface HLSInitPtsFoundEvent extends HLSMediaEvent<HLS.InitPTSFoundData> {
345
+ }
346
+ /**
347
+ * Fired when loading a fragment starts.
348
+ *
349
+ * @detail data
350
+ */
351
+ export interface HLSFragLoadingEvent extends HLSMediaEvent<HLS.FragLoadingData> {
352
+ }
353
+ /**
354
+ * Fired when fragment loading is aborted for emergency switch down.
355
+ *
356
+ * @detail data
357
+ */
358
+ export interface HLSFragLoadEmergencyAbortedEvent extends HLSMediaEvent<HLS.FragLoadEmergencyAbortedData> {
359
+ }
360
+ /**
361
+ * Fired when fragment loading is completed.
362
+ *
363
+ * @detail data
364
+ */
365
+ export interface HLSFragLoadedEvent extends HLSMediaEvent<HLS.FragLoadedData> {
366
+ }
367
+ /**
368
+ * Fired when a fragment has finished decrypting.
369
+ *
370
+ * @detail data
371
+ */
372
+ export interface HLSFragDecryptedEvent extends HLSMediaEvent<HLS.FragDecryptedData> {
373
+ }
374
+ /**
375
+ * Fired when `InitSegment` has been extracted from a fragment.
376
+ *
377
+ * @detail data
378
+ */
379
+ export interface HLSFragParsingInitSegmentEvent extends HLSMediaEvent<HLS.FragParsingInitSegmentData> {
380
+ }
381
+ /**
382
+ * Fired when parsing sei text is completed.
383
+ *
384
+ * @detail data
385
+ */
386
+ export interface HLSFragParsingUserdataEvent extends HLSMediaEvent<HLS.FragParsingUserdataData> {
387
+ }
388
+ /**
389
+ * Fired when parsing id3 is completed.
390
+ *
391
+ * @detail data
392
+ */
393
+ export interface HLSFragParsingMetadataEvent extends HLSMediaEvent<HLS.FragParsingMetadataData> {
394
+ }
395
+ /**
396
+ * Fired when fragment parsing is completed.
397
+ *
398
+ * @detail data
399
+ */
400
+ export interface HLSFragParsedEvent extends HLSMediaEvent<HLS.FragParsedData> {
401
+ }
402
+ /**
403
+ * Fired when fragment remuxed MP4 boxes have all been appended into `SourceBuffer`.
404
+ *
405
+ * @detail data
406
+ */
407
+ export interface HLSFragBufferedDataEvent extends HLSMediaEvent<HLS.FragBufferedData> {
408
+ }
409
+ /**
410
+ * Fired when fragment matching with current media position is changing.
411
+ *
412
+ * @detail data
413
+ */
414
+ export interface HLSFragChangedEvent extends HLSMediaEvent<HLS.FragChangedData> {
415
+ }
416
+ /**
417
+ * Fired when a FPS drop is identified.
418
+ *
419
+ * @detail data
420
+ */
421
+ export interface HLSFpsDropEvent extends HLSMediaEvent<HLS.FPSDropData> {
422
+ }
423
+ /**
424
+ * Fired when FPS drop triggers auto level capping.
425
+ *
426
+ * @detail data
427
+ */
428
+ export interface HLSFpsDropLevelCappingEvent extends HLSMediaEvent<HLS.FPSDropLevelCappingData> {
429
+ }
430
+ /**
431
+ * Fired when an error has occurred during loading or playback.
432
+ *
433
+ * @detail data
434
+ */
435
+ export interface HLSErrorEvent extends HLSMediaEvent<HLS.ErrorData> {
436
+ }
437
+ /**
438
+ * Fired when the `hls.js` instance is being destroyed. Different from `hls-media-detached` as
439
+ * one could want to detach, and reattach media to the `hls.js` instance to handle mid-rolls.
440
+ */
441
+ export interface HLSDestroyingEvent extends HLSMediaEvent<void> {
442
+ }
443
+ /**
444
+ * Fired when a decrypt key loading starts.
445
+ *
446
+ * @detail data
447
+ */
448
+ export interface HLSKeyLoadingEvent extends HLSMediaEvent<HLS.KeyLoadingData> {
449
+ }
450
+ /**
451
+ * Fired when a decrypt key has been loaded.
452
+ *
453
+ * @detail data
454
+ */
455
+ export interface HLSKeyLoadedEvent extends HLSMediaEvent<HLS.KeyLoadedData> {
456
+ }
457
+ /**
458
+ * Fired when the back buffer is reached as defined by the `backBufferLength` config option.
459
+ *
460
+ * @detail data
461
+ */
462
+ export interface HLSBackBufferReachedEvent extends HLSMediaEvent<HLS.BackBufferData> {
463
+ }
@@ -0,0 +1,14 @@
1
+ import type * as HLS from 'hls.js';
2
+ import type { MediaContext } from '../../core/api/media-context';
3
+ import type { Src } from '../../core/api/src-types';
4
+ import type { HLSConstructor, HLSInstanceCallback } from './types';
5
+ export declare class HLSController {
6
+ #private;
7
+ config: Partial<HLS.HlsConfig>;
8
+ get instance(): import("hls.js").default | null;
9
+ constructor(video: HTMLVideoElement, ctx: MediaContext);
10
+ setup(ctor: HLSConstructor): void;
11
+ onInstance(callback: HLSInstanceCallback): () => boolean;
12
+ loadSource(src: Src): void;
13
+ destroy(): void;
14
+ }
@@ -0,0 +1,6 @@
1
+ import type { MediaContext } from '../../core/api/media-context';
2
+ import type { HLSConstructor, HLSLibrary } from './types';
3
+ export declare class HLSLibLoader {
4
+ #private;
5
+ constructor(lib: HLSLibrary, ctx: MediaContext, callback: (ctor: HLSConstructor) => 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 type { HLSProvider } from './provider';
5
+ export declare class HLSProviderLoader extends VideoProviderLoader implements MediaProviderLoader<HLSProvider> {
6
+ static supported: boolean;
7
+ readonly name = "hls";
8
+ canPlay(src: Src): boolean;
9
+ load(context: any): Promise<HLSProvider>;
10
+ }