@hanifhan1f/vidstack 1.12.13 → 1.12.14

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 (949) hide show
  1. package/cdn/chunks/vidstack-2f5gzOW6.js +1 -0
  2. package/cdn/chunks/vidstack-BYgY9wmd.js +1 -0
  3. package/cdn/chunks/vidstack-BfBBPhXV.js +1 -0
  4. package/cdn/chunks/vidstack-Bjo5esRp.js +1 -0
  5. package/cdn/chunks/vidstack-BuL67v3q.js +1 -0
  6. package/cdn/chunks/vidstack-C0msPRTd.js +3 -0
  7. package/cdn/chunks/vidstack-CIjxJCz3.js +1 -0
  8. package/cdn/chunks/vidstack-C_AxqLKV.js +1 -0
  9. package/cdn/chunks/vidstack-CioT3Yw2.js +1 -0
  10. package/cdn/chunks/vidstack-CmpbA3Yd.js +16 -0
  11. package/cdn/chunks/vidstack-CrqkytHl.js +1 -0
  12. package/cdn/chunks/vidstack-D0M8R0ZU.js +1 -0
  13. package/cdn/chunks/vidstack-D40FSa5B.js +3 -0
  14. package/cdn/chunks/vidstack-DD2JwFVU.js +1 -0
  15. package/cdn/chunks/vidstack-DRH_1tFW.js +1 -0
  16. package/cdn/chunks/vidstack-DfDZuHNP.js +1 -0
  17. package/cdn/chunks/vidstack-DiNS2Vx5.js +1 -0
  18. package/cdn/chunks/vidstack-xjJ-ui_l.js +1 -0
  19. package/cdn/providers/vidstack-audio-2Dt_Ivbp.js +1 -0
  20. package/cdn/providers/vidstack-dash-CUtD4e6q.js +1 -0
  21. package/cdn/providers/vidstack-google-cast-BdORATUX.js +1 -0
  22. package/cdn/providers/vidstack-hls-R25Kb6DP.js +1 -0
  23. package/cdn/providers/vidstack-html-DaAUJYsD.js +1 -0
  24. package/cdn/providers/vidstack-video-Csvox7SO.js +1 -0
  25. package/cdn/providers/vidstack-vimeo-D4Z96kg2.js +1 -0
  26. package/cdn/providers/vidstack-youtube-DiND6h3s.js +1 -0
  27. package/cdn/vidstack.js +1 -0
  28. package/cdn/with-layouts/chunks/vidstack-2f5gzOW6.js +1 -0
  29. package/cdn/with-layouts/chunks/vidstack-BL_lNyW_.js +1 -0
  30. package/cdn/with-layouts/chunks/vidstack-BfBBPhXV.js +1 -0
  31. package/cdn/with-layouts/chunks/vidstack-BjOOdDcQ.js +1 -0
  32. package/cdn/with-layouts/chunks/vidstack-Bxv1Qnxe.js +1 -0
  33. package/cdn/with-layouts/chunks/vidstack-C5AP9wid.js +1 -0
  34. package/cdn/with-layouts/chunks/vidstack-CS2aNc61.js +1 -0
  35. package/cdn/with-layouts/chunks/vidstack-C_AxqLKV.js +1 -0
  36. package/cdn/with-layouts/chunks/vidstack-D-3_fAsK.js +1 -0
  37. package/cdn/with-layouts/chunks/vidstack-DKqYI_HJ.js +1 -0
  38. package/cdn/with-layouts/chunks/vidstack-DLVdcWrK.js +3 -0
  39. package/cdn/with-layouts/chunks/vidstack-DPO7J4-v.js +3 -0
  40. package/cdn/with-layouts/chunks/vidstack-DRH_1tFW.js +1 -0
  41. package/cdn/with-layouts/chunks/vidstack-DWjB11vV.js +1 -0
  42. package/cdn/with-layouts/chunks/vidstack-Dge3KT8k.js +1 -0
  43. package/cdn/with-layouts/chunks/vidstack-Dh2GOjra.js +1 -0
  44. package/cdn/with-layouts/chunks/vidstack-DiNS2Vx5.js +1 -0
  45. package/cdn/with-layouts/chunks/vidstack-QW5tTAS4.js +897 -0
  46. package/cdn/with-layouts/chunks/vidstack-Xe_d7ovA.js +1 -0
  47. package/cdn/with-layouts/chunks/vidstack-wt2OT4N7.js +1 -0
  48. package/cdn/with-layouts/providers/vidstack-audio-Bw1csc6N.js +1 -0
  49. package/cdn/with-layouts/providers/vidstack-dash-DHRMFG4Y.js +1 -0
  50. package/cdn/with-layouts/providers/vidstack-google-cast-BSYJYn-o.js +1 -0
  51. package/cdn/with-layouts/providers/vidstack-hls-DG1rTEqu.js +1 -0
  52. package/cdn/with-layouts/providers/vidstack-html-CoKFAYW5.js +1 -0
  53. package/cdn/with-layouts/providers/vidstack-video-CIxFJ9Z1.js +1 -0
  54. package/cdn/with-layouts/providers/vidstack-vimeo-CNLKOGMa.js +1 -0
  55. package/cdn/with-layouts/providers/vidstack-youtube-D1e-LE-8.js +1 -0
  56. package/cdn/with-layouts/vidstack.js +1 -0
  57. package/dev/chunks/vidstack-03oQOdB7.js +58 -0
  58. package/dev/chunks/vidstack-0Of4tJ8D.js +224 -0
  59. package/dev/chunks/vidstack-BJsZjPkB.js +204 -0
  60. package/dev/chunks/vidstack-BQSA-Rux.js +56 -0
  61. package/{src/core/quality/utils.ts → dev/chunks/vidstack-BTM4ERc7.js} +5 -7
  62. package/dev/chunks/vidstack-BXSB7eI9.js +58 -0
  63. package/dev/chunks/vidstack-BaGbgcvz.js +107 -0
  64. package/{src/core/time-ranges.ts → dev/chunks/vidstack-Becy7l6h.js} +22 -61
  65. package/dev/chunks/vidstack-Bf6x4gWe.js +29 -0
  66. package/dev/chunks/vidstack-BjxlZzGu.js +11 -0
  67. package/dev/chunks/vidstack-Blfm1k-4.js +1520 -0
  68. package/dev/chunks/vidstack-Bpr4fI4n.js +7 -0
  69. package/dev/chunks/vidstack-Bs54kFSz.js +66 -0
  70. package/dev/chunks/vidstack-Bur7I7Vy.js +57 -0
  71. package/dev/chunks/vidstack-C0SWkbs7.js +254 -0
  72. package/dev/chunks/vidstack-C1PwJD_4.js +1635 -0
  73. package/dev/chunks/vidstack-C4aPQ7hZ.js +1482 -0
  74. package/dev/chunks/vidstack-C6OqdJO7.js +114 -0
  75. package/dev/chunks/vidstack-C_rvOKWp.js +33 -0
  76. package/dev/chunks/vidstack-CaudO1jl.js +109 -0
  77. package/dev/chunks/vidstack-Cax7aAP-.js +66 -0
  78. package/dev/chunks/vidstack-CcQdBWil.js +58 -0
  79. package/dev/chunks/vidstack-CwTj4H1w.js +18 -0
  80. package/dev/chunks/vidstack-DAOcbKGP.js +254 -0
  81. package/dev/chunks/vidstack-DKaohJzR.js +5181 -0
  82. package/dev/chunks/vidstack-DXxIKXmd.js +50 -0
  83. package/dev/chunks/vidstack-DXzRuMtJ.js +107 -0
  84. package/dev/chunks/vidstack-Db1-Hg_U.js +297 -0
  85. package/dev/chunks/vidstack-DbBJlz7I.js +10 -0
  86. package/dev/chunks/vidstack-Dihypf8P.js +11 -0
  87. package/dev/chunks/vidstack-Dm1xEU9Q.js +34 -0
  88. package/dev/chunks/vidstack-Dv_LIPFu.js +14 -0
  89. package/{src/foundation/observers/raf-loop.ts → dev/chunks/vidstack-DwyWIZjv.js} +8 -11
  90. package/dev/chunks/vidstack-EoLRQZbs.js +2986 -0
  91. package/dev/chunks/vidstack-FKkY62Dr.js +104 -0
  92. package/dev/chunks/vidstack-krOAtKMi.js +32 -0
  93. package/dev/define/plyr-layout.js +52 -0
  94. package/dev/define/templates/plyr-layout.js +571 -0
  95. package/dev/define/templates/vidstack-audio-layout.js +168 -0
  96. package/dev/define/templates/vidstack-video-layout.js +446 -0
  97. package/dev/define/vidstack-icons.js +1 -0
  98. package/dev/define/vidstack-player-default-layout.js +22 -0
  99. package/dev/define/vidstack-player-layouts.js +26 -0
  100. package/dev/define/vidstack-player-ui.js +71 -0
  101. package/dev/define/vidstack-player.js +19 -0
  102. package/dev/global/plyr.js +502 -0
  103. package/dev/global/vidstack-player.js +129 -0
  104. package/dev/providers/vidstack-audio.js +35 -0
  105. package/dev/providers/vidstack-dash.js +516 -0
  106. package/dev/providers/vidstack-google-cast.js +474 -0
  107. package/dev/providers/vidstack-hls.js +408 -0
  108. package/dev/providers/vidstack-html.js +567 -0
  109. package/dev/providers/vidstack-video.js +207 -0
  110. package/dev/providers/vidstack-vimeo.js +554 -0
  111. package/dev/providers/vidstack-youtube.js +286 -0
  112. package/dev/vidstack-elements.js +37 -0
  113. package/dev/vidstack.js +92 -0
  114. package/elements.d.ts +1433 -0
  115. package/global/player.d.ts +52 -0
  116. package/{types/global → global}/plyr.d.ts +32 -33
  117. package/icons.d.ts +1 -0
  118. package/index.d.ts +402 -0
  119. package/package.json +3 -87
  120. package/plugins.d.ts +19 -0
  121. package/plugins.js +13 -0
  122. package/prod/chunks/vidstack-9_r3lWNO.js +45 -0
  123. package/prod/chunks/vidstack-B01xzxC4.js +7 -0
  124. package/prod/chunks/vidstack-BDIzK77F.js +107 -0
  125. package/prod/chunks/vidstack-BHqGlnGz.js +1482 -0
  126. package/prod/chunks/vidstack-BNpgCJJ1.js +1588 -0
  127. package/prod/chunks/vidstack-BP49Gz0m.js +58 -0
  128. package/prod/chunks/vidstack-BRZe2BNi.js +107 -0
  129. package/prod/chunks/vidstack-BTM4ERc7.js +11 -0
  130. package/prod/chunks/vidstack-BaaRY-9x.js +201 -0
  131. package/prod/chunks/vidstack-BdFYWy6h.js +26 -0
  132. package/prod/chunks/vidstack-BpLd9ASW.js +246 -0
  133. package/prod/chunks/vidstack-C05ipjAK.js +1520 -0
  134. package/prod/chunks/vidstack-C9vIqaYT.js +10 -0
  135. package/prod/chunks/vidstack-CA4tDJdF.js +33 -0
  136. package/prod/chunks/vidstack-COLU-zPZ.js +57 -0
  137. package/prod/chunks/vidstack-CwTj4H1w.js +18 -0
  138. package/prod/chunks/vidstack-D5EzK014.js +14 -0
  139. package/prod/chunks/vidstack-D7hJcnN-.js +297 -0
  140. package/prod/chunks/vidstack-DB9WDRL5.js +248 -0
  141. package/prod/chunks/vidstack-DESBVLFp.js +104 -0
  142. package/prod/chunks/vidstack-DXxIKXmd.js +50 -0
  143. package/prod/chunks/vidstack-DcMkaIHJ.js +2976 -0
  144. package/prod/chunks/vidstack-Dihypf8P.js +11 -0
  145. package/prod/chunks/vidstack-Dm1xEU9Q.js +34 -0
  146. package/prod/chunks/vidstack-DwenML7x.js +4771 -0
  147. package/prod/chunks/vidstack-Fem0yF3c.js +77 -0
  148. package/prod/chunks/vidstack-IDWYvfna.js +58 -0
  149. package/prod/chunks/vidstack-MbEMbVfP.js +109 -0
  150. package/prod/chunks/vidstack-Oq65llxr.js +29 -0
  151. package/prod/chunks/vidstack-SnIdjCkV.js +58 -0
  152. package/prod/chunks/vidstack-V1jwkH0s.js +66 -0
  153. package/prod/chunks/vidstack-bdt7uOlN.js +114 -0
  154. package/prod/chunks/vidstack-krOAtKMi.js +32 -0
  155. package/prod/chunks/vidstack-mxJIo4Sg.js +56 -0
  156. package/prod/chunks/vidstack-tt3O1zL6.js +11 -0
  157. package/prod/chunks/vidstack-zfCm-GM5.js +205 -0
  158. package/prod/define/plyr-layout.js +52 -0
  159. package/prod/define/templates/plyr-layout.js +571 -0
  160. package/prod/define/templates/vidstack-audio-layout.js +168 -0
  161. package/prod/define/templates/vidstack-video-layout.js +446 -0
  162. package/prod/define/vidstack-icons.js +1 -0
  163. package/prod/define/vidstack-player-default-layout.js +22 -0
  164. package/prod/define/vidstack-player-layouts.js +26 -0
  165. package/prod/define/vidstack-player-ui.js +71 -0
  166. package/prod/define/vidstack-player.js +19 -0
  167. package/prod/global/plyr.js +494 -0
  168. package/prod/global/vidstack-player.js +129 -0
  169. package/prod/providers/vidstack-audio.js +35 -0
  170. package/prod/providers/vidstack-dash.js +501 -0
  171. package/prod/providers/vidstack-google-cast.js +468 -0
  172. package/prod/providers/vidstack-hls.js +393 -0
  173. package/prod/providers/vidstack-html.js +555 -0
  174. package/prod/providers/vidstack-video.js +204 -0
  175. package/prod/providers/vidstack-vimeo.js +548 -0
  176. package/prod/providers/vidstack-youtube.js +286 -0
  177. package/prod/vidstack-elements.js +37 -0
  178. package/prod/vidstack.js +159 -0
  179. package/server/chunks/vidstack-B4CWj0Hp.js +381 -0
  180. package/server/chunks/vidstack-B8LynzY5.js +1564 -0
  181. package/server/chunks/vidstack-BGgfNYAH.js +141 -0
  182. package/server/chunks/vidstack-BGmwlunt.js +3035 -0
  183. package/server/chunks/vidstack-BOTZD4tC.js +18 -0
  184. package/server/chunks/vidstack-C19bj3Wq.js +307 -0
  185. package/server/chunks/vidstack-CFTkUXGK.js +295 -0
  186. package/server/chunks/vidstack-CQMB7Msg.js +1502 -0
  187. package/server/chunks/vidstack-CdBfecZT.js +205 -0
  188. package/server/chunks/vidstack-Cv_Art04.js +4635 -0
  189. package/server/chunks/vidstack-CwTj4H1w.js +18 -0
  190. package/server/chunks/vidstack-DXxIKXmd.js +50 -0
  191. package/server/chunks/vidstack-DbvCOsqU.js +107 -0
  192. package/server/chunks/vidstack-DgHfFDiw.js +1962 -0
  193. package/server/chunks/vidstack-Dm1xEU9Q.js +34 -0
  194. package/server/chunks/vidstack-DnkB7eGO.js +207 -0
  195. package/server/chunks/vidstack-DsnTqzpL.js +29 -0
  196. package/{src/elements/define/layouts/plyr/ui.ts → server/chunks/vidstack-FHGkN5xj.js} +144 -235
  197. package/server/chunks/vidstack-P_QDjYIl.js +56 -0
  198. package/server/chunks/vidstack-f5-aflD2.js +104 -0
  199. package/server/chunks/vidstack-krOAtKMi.js +32 -0
  200. package/server/define/plyr-layout.js +16 -0
  201. package/server/define/vidstack-icons.js +1 -0
  202. package/server/define/vidstack-player-default-layout.js +13 -0
  203. package/server/define/vidstack-player-layouts.js +16 -0
  204. package/server/define/vidstack-player-ui.js +11 -0
  205. package/server/define/vidstack-player.js +6 -0
  206. package/server/global/plyr.js +322 -0
  207. package/server/global/vidstack-player.js +58 -0
  208. package/server/vidstack-elements.js +46 -0
  209. package/server/vidstack.js +148 -0
  210. package/types/vidstack-BOvzfZjK.d.ts +1269 -0
  211. package/types/vidstack-DYLKXUvI.d.ts +7479 -0
  212. package/.templates/sandbox/favicon-32x32.png +0 -0
  213. package/.templates/sandbox/index.html +0 -42
  214. package/.templates/sandbox/main.ts +0 -137
  215. package/.templates/sandbox/styles.css +0 -68
  216. package/analyze.config.ts +0 -133
  217. package/build/build-styles.js +0 -33
  218. package/build/rollup-decorators.ts +0 -102
  219. package/build/rollup-minify.js +0 -20
  220. package/build/rollup-ts.js +0 -57
  221. package/rollup.config.ts +0 -442
  222. package/src/components/aria/announcer.ts +0 -181
  223. package/src/components/layouts/default/audio-layout.ts +0 -20
  224. package/src/components/layouts/default/context.ts +0 -15
  225. package/src/components/layouts/default/default-layout.ts +0 -67
  226. package/src/components/layouts/default/props.ts +0 -143
  227. package/src/components/layouts/default/translations.ts +0 -70
  228. package/src/components/layouts/default/video-layout.ts +0 -20
  229. package/src/components/layouts/plyr/context.ts +0 -13
  230. package/src/components/layouts/plyr/plyr-layout.ts +0 -90
  231. package/src/components/layouts/plyr/props.ts +0 -114
  232. package/src/components/layouts/plyr/translations.ts +0 -53
  233. package/src/components/player.ts +0 -758
  234. package/src/components/provider/provider.ts +0 -184
  235. package/src/components/provider/source-select.ts +0 -378
  236. package/src/components/provider/tracks.ts +0 -37
  237. package/src/components/ui/buttons/airplay-button.ts +0 -74
  238. package/src/components/ui/buttons/caption-button.ts +0 -68
  239. package/src/components/ui/buttons/fullscreen-button.ts +0 -90
  240. package/src/components/ui/buttons/google-cast-button.ts +0 -75
  241. package/src/components/ui/buttons/live-button.ts +0 -76
  242. package/src/components/ui/buttons/mute-button.ts +0 -69
  243. package/src/components/ui/buttons/pip-button.ts +0 -71
  244. package/src/components/ui/buttons/play-button.ts +0 -62
  245. package/src/components/ui/buttons/seek-button.ts +0 -92
  246. package/src/components/ui/buttons/toggle-button-controller.ts +0 -92
  247. package/src/components/ui/buttons/toggle-button.ts +0 -49
  248. package/src/components/ui/captions/captions-renderer.ts +0 -63
  249. package/src/components/ui/captions/captions.ts +0 -227
  250. package/src/components/ui/controls-group.ts +0 -13
  251. package/src/components/ui/controls.ts +0 -101
  252. package/src/components/ui/gesture.ts +0 -252
  253. package/src/components/ui/menu/menu-button.ts +0 -95
  254. package/src/components/ui/menu/menu-context.ts +0 -27
  255. package/src/components/ui/menu/menu-focus-controller.ts +0 -205
  256. package/src/components/ui/menu/menu-item.ts +0 -9
  257. package/src/components/ui/menu/menu-items.ts +0 -129
  258. package/src/components/ui/menu/menu-portal.ts +0 -105
  259. package/src/components/ui/menu/menu.ts +0 -612
  260. package/src/components/ui/menu/radio/radio-controller.ts +0 -18
  261. package/src/components/ui/menu/radio/radio-group-controller.ts +0 -81
  262. package/src/components/ui/menu/radio/radio-group.ts +0 -78
  263. package/src/components/ui/menu/radio/radio.ts +0 -151
  264. package/src/components/ui/menu/radio-groups/audio-gain-radio-group.ts +0 -116
  265. package/src/components/ui/menu/radio-groups/audio-radio-group.ts +0 -121
  266. package/src/components/ui/menu/radio-groups/captions-radio-group.ts +0 -153
  267. package/src/components/ui/menu/radio-groups/chapters-radio-group.ts +0 -211
  268. package/src/components/ui/menu/radio-groups/quality-radio-group.ts +0 -181
  269. package/src/components/ui/menu/radio-groups/speed-radio-group.ts +0 -112
  270. package/src/components/ui/popper/popper.ts +0 -103
  271. package/src/components/ui/poster.ts +0 -187
  272. package/src/components/ui/sliders/audio-gain-slider.ts +0 -150
  273. package/src/components/ui/sliders/quality-slider.ts +0 -148
  274. package/src/components/ui/sliders/slider/api/cssvars.ts +0 -10
  275. package/src/components/ui/sliders/slider/api/events.ts +0 -65
  276. package/src/components/ui/sliders/slider/api/state.ts +0 -101
  277. package/src/components/ui/sliders/slider/events-controller.ts +0 -383
  278. package/src/components/ui/sliders/slider/format.ts +0 -12
  279. package/src/components/ui/sliders/slider/slider-context.ts +0 -18
  280. package/src/components/ui/sliders/slider/slider-controller.ts +0 -211
  281. package/src/components/ui/sliders/slider/slider.ts +0 -94
  282. package/src/components/ui/sliders/slider/types.ts +0 -1
  283. package/src/components/ui/sliders/slider/utils.ts +0 -14
  284. package/src/components/ui/sliders/slider-preview.ts +0 -131
  285. package/src/components/ui/sliders/slider-thumbnail.ts +0 -28
  286. package/src/components/ui/sliders/slider-value.ts +0 -122
  287. package/src/components/ui/sliders/slider-video.ts +0 -198
  288. package/src/components/ui/sliders/speed-slider.ts +0 -147
  289. package/src/components/ui/sliders/time-slider/slider-chapters.ts +0 -444
  290. package/src/components/ui/sliders/time-slider/time-slider.ts +0 -319
  291. package/src/components/ui/sliders/volume-slider.ts +0 -145
  292. package/src/components/ui/thumbnails/thumbnail-loader.ts +0 -324
  293. package/src/components/ui/thumbnails/thumbnail.ts +0 -244
  294. package/src/components/ui/time.ts +0 -191
  295. package/src/components/ui/tooltip/tooltip-content.ts +0 -105
  296. package/src/components/ui/tooltip/tooltip-context.ts +0 -13
  297. package/src/components/ui/tooltip/tooltip-trigger.ts +0 -49
  298. package/src/components/ui/tooltip/tooltip.ts +0 -127
  299. package/src/core/api/media-attrs.ts +0 -35
  300. package/src/core/api/media-context.ts +0 -52
  301. package/src/core/api/media-events.ts +0 -601
  302. package/src/core/api/media-request-events.ts +0 -323
  303. package/src/core/api/player-controller.ts +0 -10
  304. package/src/core/api/player-events.ts +0 -49
  305. package/src/core/api/player-props.ts +0 -233
  306. package/src/core/api/player-state.ts +0 -940
  307. package/src/core/api/src-types.ts +0 -97
  308. package/src/core/api/types.ts +0 -69
  309. package/src/core/controls.ts +0 -251
  310. package/src/core/font/font-options.ts +0 -106
  311. package/src/core/font/font-vars.ts +0 -107
  312. package/src/core/keyboard/aria-shortcuts.ts +0 -42
  313. package/src/core/keyboard/controller.ts +0 -302
  314. package/src/core/keyboard/types.ts +0 -40
  315. package/src/core/quality/events.ts +0 -48
  316. package/src/core/quality/symbols.ts +0 -8
  317. package/src/core/quality/video-quality.ts +0 -86
  318. package/src/core/state/media-events-logger.ts +0 -67
  319. package/src/core/state/media-load-controller.ts +0 -40
  320. package/src/core/state/media-player-delegate.ts +0 -170
  321. package/src/core/state/media-request-manager.ts +0 -952
  322. package/src/core/state/media-state-manager.ts +0 -1077
  323. package/src/core/state/media-state-sync.ts +0 -162
  324. package/src/core/state/media-storage.ts +0 -196
  325. package/src/core/state/navigator-media-session.ts +0 -62
  326. package/src/core/state/remote-control.ts +0 -584
  327. package/src/core/state/tracked-media-events.ts +0 -22
  328. package/src/core/tracks/audio/audio-tracks.ts +0 -33
  329. package/src/core/tracks/audio/events.ts +0 -41
  330. package/src/core/tracks/text/events.ts +0 -52
  331. package/src/core/tracks/text/render/libass-text-renderer.ts +0 -246
  332. package/src/core/tracks/text/render/native-text-renderer.ts +0 -106
  333. package/src/core/tracks/text/render/text-renderer.ts +0 -134
  334. package/src/core/tracks/text/symbols.ts +0 -17
  335. package/src/core/tracks/text/text-track.test.ts +0 -407
  336. package/src/core/tracks/text/text-track.ts +0 -413
  337. package/src/core/tracks/text/text-tracks.ts +0 -210
  338. package/src/core/tracks/text/utils.ts +0 -85
  339. package/src/elements/bundles/cdn/player.core.ts +0 -6
  340. package/src/elements/bundles/cdn/player.ts +0 -8
  341. package/src/elements/bundles/cdn/plyr.ts +0 -6
  342. package/src/elements/bundles/cdn-legacy/player-with-default.ts +0 -4
  343. package/src/elements/bundles/cdn-legacy/player-with-layouts.ts +0 -4
  344. package/src/elements/bundles/cdn-legacy/player-with-plyr.ts +0 -3
  345. package/src/elements/bundles/cdn-legacy/player.ts +0 -3
  346. package/src/elements/bundles/icons.ts +0 -3
  347. package/src/elements/bundles/player-layouts/default.ts +0 -7
  348. package/src/elements/bundles/player-layouts/index.ts +0 -9
  349. package/src/elements/bundles/player-layouts/plyr.ts +0 -65
  350. package/src/elements/bundles/player-ui.ts +0 -108
  351. package/src/elements/bundles/player.ts +0 -7
  352. package/src/elements/define/announcer-element.ts +0 -20
  353. package/src/elements/define/buttons/airplay-button-element.ts +0 -21
  354. package/src/elements/define/buttons/caption-button-element.ts +0 -22
  355. package/src/elements/define/buttons/fullscreen-button-element.ts +0 -22
  356. package/src/elements/define/buttons/google-cast-button-element.ts +0 -21
  357. package/src/elements/define/buttons/live-button-element.ts +0 -22
  358. package/src/elements/define/buttons/mute-button-element.ts +0 -23
  359. package/src/elements/define/buttons/pip-button-element.ts +0 -22
  360. package/src/elements/define/buttons/play-button-element.ts +0 -23
  361. package/src/elements/define/buttons/seek-button-element.ts +0 -26
  362. package/src/elements/define/buttons/toggle-button-element.ts +0 -21
  363. package/src/elements/define/captions-element.ts +0 -20
  364. package/src/elements/define/chapter-title-element.ts +0 -54
  365. package/src/elements/define/controls-element.ts +0 -26
  366. package/src/elements/define/controls-group-element.ts +0 -26
  367. package/src/elements/define/gesture-element.ts +0 -24
  368. package/src/elements/define/layouts/default/audio-layout-element.ts +0 -137
  369. package/src/elements/define/layouts/default/audio-layout.ts +0 -113
  370. package/src/elements/define/layouts/default/icons-loader.ts +0 -17
  371. package/src/elements/define/layouts/default/icons.ts +0 -86
  372. package/src/elements/define/layouts/default/slots.ts +0 -12
  373. package/src/elements/define/layouts/default/ui/announcer.ts +0 -14
  374. package/src/elements/define/layouts/default/ui/buttons.ts +0 -291
  375. package/src/elements/define/layouts/default/ui/captions.ts +0 -14
  376. package/src/elements/define/layouts/default/ui/controls.ts +0 -5
  377. package/src/elements/define/layouts/default/ui/keyboard-display.ts +0 -114
  378. package/src/elements/define/layouts/default/ui/menu/accessibility-menu.ts +0 -79
  379. package/src/elements/define/layouts/default/ui/menu/audio-menu.ts +0 -135
  380. package/src/elements/define/layouts/default/ui/menu/captions-menu.ts +0 -114
  381. package/src/elements/define/layouts/default/ui/menu/chapters-menu.ts +0 -117
  382. package/src/elements/define/layouts/default/ui/menu/episodes-menu.ts +0 -133
  383. package/src/elements/define/layouts/default/ui/menu/font-menu.ts +0 -253
  384. package/src/elements/define/layouts/default/ui/menu/items/menu-checkbox.ts +0 -67
  385. package/src/elements/define/layouts/default/ui/menu/items/menu-items.ts +0 -108
  386. package/src/elements/define/layouts/default/ui/menu/items/menu-slider.ts +0 -59
  387. package/src/elements/define/layouts/default/ui/menu/menu-portal.ts +0 -56
  388. package/src/elements/define/layouts/default/ui/menu/playback-menu.ts +0 -183
  389. package/src/elements/define/layouts/default/ui/menu/settings-menu.ts +0 -98
  390. package/src/elements/define/layouts/default/ui/slider.ts +0 -112
  391. package/src/elements/define/layouts/default/ui/time.ts +0 -41
  392. package/src/elements/define/layouts/default/ui/title.ts +0 -25
  393. package/src/elements/define/layouts/default/ui/utils.ts +0 -10
  394. package/src/elements/define/layouts/default/video-layout-element.ts +0 -125
  395. package/src/elements/define/layouts/default/video-layout.ts +0 -353
  396. package/src/elements/define/layouts/icons/icons-loader.ts +0 -47
  397. package/src/elements/define/layouts/icons/layout-icons-loader.ts +0 -24
  398. package/src/elements/define/layouts/layout-element.ts +0 -78
  399. package/src/elements/define/layouts/layout-name.ts +0 -15
  400. package/src/elements/define/layouts/plyr/icons/plyr-airplay.js +0 -1
  401. package/src/elements/define/layouts/plyr/icons/plyr-captions-off.js +0 -1
  402. package/src/elements/define/layouts/plyr/icons/plyr-captions-on.js +0 -1
  403. package/src/elements/define/layouts/plyr/icons/plyr-download.js +0 -1
  404. package/src/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.js +0 -1
  405. package/src/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.js +0 -1
  406. package/src/elements/define/layouts/plyr/icons/plyr-fast-forward.js +0 -1
  407. package/src/elements/define/layouts/plyr/icons/plyr-muted.js +0 -1
  408. package/src/elements/define/layouts/plyr/icons/plyr-pause.js +0 -1
  409. package/src/elements/define/layouts/plyr/icons/plyr-pip.js +0 -1
  410. package/src/elements/define/layouts/plyr/icons/plyr-play.js +0 -1
  411. package/src/elements/define/layouts/plyr/icons/plyr-restart.js +0 -1
  412. package/src/elements/define/layouts/plyr/icons/plyr-rewind.js +0 -1
  413. package/src/elements/define/layouts/plyr/icons/plyr-settings.js +0 -1
  414. package/src/elements/define/layouts/plyr/icons/plyr-volume.js +0 -1
  415. package/src/elements/define/layouts/plyr/icons-loader.ts +0 -21
  416. package/src/elements/define/layouts/plyr/icons.ts +0 -34
  417. package/src/elements/define/layouts/plyr/plyr-layout-element.ts +0 -67
  418. package/src/elements/define/layouts/slot-manager.ts +0 -61
  419. package/src/elements/define/layouts/slot-observer.ts +0 -70
  420. package/src/elements/define/menus/_template.ts +0 -47
  421. package/src/elements/define/menus/audio-gain-group-element.ts +0 -37
  422. package/src/elements/define/menus/audio-radio-group-element.ts +0 -37
  423. package/src/elements/define/menus/captions-radio-group-element.ts +0 -37
  424. package/src/elements/define/menus/chapters-radio-group-element.ts +0 -68
  425. package/src/elements/define/menus/menu-button-element.ts +0 -27
  426. package/src/elements/define/menus/menu-element.ts +0 -28
  427. package/src/elements/define/menus/menu-item-element.ts +0 -24
  428. package/src/elements/define/menus/menu-items-element.ts +0 -27
  429. package/src/elements/define/menus/menu-portal-element.ts +0 -35
  430. package/src/elements/define/menus/quality-radio-group-element.ts +0 -51
  431. package/src/elements/define/menus/radio-element.ts +0 -24
  432. package/src/elements/define/menus/radio-group-element.ts +0 -24
  433. package/src/elements/define/menus/speed-radio-group-element.ts +0 -37
  434. package/src/elements/define/player-element.ts +0 -33
  435. package/src/elements/define/poster-element.ts +0 -53
  436. package/src/elements/define/provider-cast-display.ts +0 -36
  437. package/src/elements/define/provider-element.ts +0 -158
  438. package/src/elements/define/sliders/audio-gain-slider-element.ts +0 -34
  439. package/src/elements/define/sliders/quality-slider-element.ts +0 -34
  440. package/src/elements/define/sliders/slider-chapters-element.ts +0 -53
  441. package/src/elements/define/sliders/slider-element.ts +0 -25
  442. package/src/elements/define/sliders/slider-preview-element.ts +0 -16
  443. package/src/elements/define/sliders/slider-steps-element.ts +0 -50
  444. package/src/elements/define/sliders/slider-thumbnail-element.ts +0 -48
  445. package/src/elements/define/sliders/slider-value-element.ts +0 -49
  446. package/src/elements/define/sliders/slider-video-element.ts +0 -59
  447. package/src/elements/define/sliders/speed-slider-element.ts +0 -34
  448. package/src/elements/define/sliders/time-slider-element.ts +0 -34
  449. package/src/elements/define/sliders/volume-slider-element.ts +0 -34
  450. package/src/elements/define/spinner-element.ts +0 -96
  451. package/src/elements/define/thumbnail-element.ts +0 -63
  452. package/src/elements/define/time-element.ts +0 -32
  453. package/src/elements/define/title-element.ts +0 -38
  454. package/src/elements/define/tooltips/tooltip-content-element.ts +0 -28
  455. package/src/elements/define/tooltips/tooltip-element.ts +0 -28
  456. package/src/elements/define/tooltips/tooltip-trigger-element.ts +0 -32
  457. package/src/elements/icon.ts +0 -30
  458. package/src/elements/index.ts +0 -71
  459. package/src/elements/lit/directives/signal.ts +0 -80
  460. package/src/elements/lit/html.ts +0 -11
  461. package/src/elements/lit/lit-element.ts +0 -23
  462. package/src/elements/state-controller.ts +0 -48
  463. package/src/exports/components.ts +0 -79
  464. package/src/exports/core.ts +0 -41
  465. package/src/exports/events.ts +0 -46
  466. package/src/exports/font.ts +0 -3
  467. package/src/exports/foundation.ts +0 -8
  468. package/src/exports/maverick.ts +0 -9
  469. package/src/exports/providers.ts +0 -42
  470. package/src/exports/utils.ts +0 -18
  471. package/src/foundation/fullscreen/controller.ts +0 -128
  472. package/src/foundation/fullscreen/events.ts +0 -26
  473. package/src/foundation/list/list.ts +0 -127
  474. package/src/foundation/list/select-list.ts +0 -86
  475. package/src/foundation/list/symbols.ts +0 -22
  476. package/src/foundation/logger/colors.ts +0 -33
  477. package/src/foundation/logger/controller.ts +0 -71
  478. package/src/foundation/logger/events.ts +0 -29
  479. package/src/foundation/logger/grouped-log.ts +0 -44
  480. package/src/foundation/logger/log-level.ts +0 -17
  481. package/src/foundation/logger/log-printer.ts +0 -119
  482. package/src/foundation/logger/ms.ts +0 -31
  483. package/src/foundation/observers/focus-visible.ts +0 -74
  484. package/src/foundation/observers/intersection-observer.ts +0 -60
  485. package/src/foundation/observers/page-visibility.ts +0 -105
  486. package/src/foundation/orientation/controller.ts +0 -139
  487. package/src/foundation/orientation/events.ts +0 -20
  488. package/src/foundation/orientation/types.ts +0 -96
  489. package/src/foundation/queue/queue.ts +0 -41
  490. package/src/foundation/queue/request-queue.test.ts +0 -139
  491. package/src/foundation/queue/request-queue.ts +0 -94
  492. package/src/global/layouts/default.ts +0 -28
  493. package/src/global/layouts/loader.ts +0 -5
  494. package/src/global/layouts/plyr.ts +0 -24
  495. package/src/global/player.ts +0 -144
  496. package/src/global/plyr.ts +0 -917
  497. package/src/globals.d.ts +0 -11
  498. package/src/index.ts +0 -10
  499. package/src/plugins.ts +0 -369
  500. package/src/providers/audio/loader.ts +0 -45
  501. package/src/providers/audio/provider.ts +0 -50
  502. package/src/providers/dash/dash.ts +0 -417
  503. package/src/providers/dash/events.ts +0 -585
  504. package/src/providers/dash/lib-loader.ts +0 -202
  505. package/src/providers/dash/loader.ts +0 -33
  506. package/src/providers/dash/provider.ts +0 -135
  507. package/src/providers/dash/types.ts +0 -21
  508. package/src/providers/embed/EmbedProvider.ts +0 -84
  509. package/src/providers/google-cast/events.ts +0 -53
  510. package/src/providers/google-cast/loader.ts +0 -174
  511. package/src/providers/google-cast/media-info.ts +0 -49
  512. package/src/providers/google-cast/provider.ts +0 -483
  513. package/src/providers/google-cast/tracks.ts +0 -170
  514. package/src/providers/google-cast/types.ts +0 -3
  515. package/src/providers/google-cast/utils.ts +0 -112
  516. package/src/providers/hls/events.ts +0 -472
  517. package/src/providers/hls/hls.ts +0 -290
  518. package/src/providers/hls/lib-loader.ts +0 -178
  519. package/src/providers/hls/loader.ts +0 -33
  520. package/src/providers/hls/provider.ts +0 -137
  521. package/src/providers/hls/types.ts +0 -10
  522. package/src/providers/html/audio/audio-context.ts +0 -60
  523. package/src/providers/html/audio/audio-gain.ts +0 -100
  524. package/src/providers/html/html/342/200/223media-events.ts +0 -338
  525. package/src/providers/html/native-audio-tracks.ts +0 -91
  526. package/src/providers/html/provider.ts +0 -141
  527. package/src/providers/html/remote-playback.ts +0 -94
  528. package/src/providers/type-check.ts +0 -61
  529. package/src/providers/types.ts +0 -95
  530. package/src/providers/video/loader.ts +0 -45
  531. package/src/providers/video/native-hls-text-tracks.ts +0 -69
  532. package/src/providers/video/picture-in-picture.ts +0 -54
  533. package/src/providers/video/presentation/events.ts +0 -12
  534. package/src/providers/video/presentation/video-presentation.ts +0 -110
  535. package/src/providers/video/provider.ts +0 -91
  536. package/src/providers/vimeo/embed/command.ts +0 -118
  537. package/src/providers/vimeo/embed/event.ts +0 -124
  538. package/src/providers/vimeo/embed/message.ts +0 -9
  539. package/src/providers/vimeo/embed/misc.ts +0 -57
  540. package/src/providers/vimeo/embed/params.ts +0 -168
  541. package/src/providers/vimeo/loader.ts +0 -61
  542. package/src/providers/vimeo/provider.ts +0 -730
  543. package/src/providers/vimeo/utils.ts +0 -53
  544. package/src/providers/youtube/embed/command.ts +0 -21
  545. package/src/providers/youtube/embed/event.ts +0 -1
  546. package/src/providers/youtube/embed/message.ts +0 -54
  547. package/src/providers/youtube/embed/params.ts +0 -238
  548. package/src/providers/youtube/embed/quality.ts +0 -35
  549. package/src/providers/youtube/embed/state.ts +0 -13
  550. package/src/providers/youtube/loader.ts +0 -61
  551. package/src/providers/youtube/provider.ts +0 -403
  552. package/src/providers/youtube/utils.ts +0 -45
  553. package/src/tailwind.test.ts +0 -413
  554. package/src/test-utils/index.ts +0 -22
  555. package/src/test-utils/setup.ts +0 -3
  556. package/src/utils/aria.ts +0 -14
  557. package/src/utils/array.ts +0 -3
  558. package/src/utils/color.ts +0 -5
  559. package/src/utils/dom.ts +0 -458
  560. package/src/utils/error.ts +0 -11
  561. package/src/utils/language.ts +0 -16
  562. package/src/utils/manifest.ts +0 -61
  563. package/src/utils/mime.ts +0 -101
  564. package/src/utils/network.ts +0 -118
  565. package/src/utils/number.ts +0 -25
  566. package/src/utils/promise.ts +0 -12
  567. package/src/utils/scroll.ts +0 -19
  568. package/src/utils/support.ts +0 -163
  569. package/src/utils/time.test.ts +0 -111
  570. package/src/utils/time.ts +0 -123
  571. package/tsconfig.build.json +0 -9
  572. package/tsconfig.json +0 -11
  573. package/types/components/aria/announcer.d.ts +0 -27
  574. package/types/components/layouts/default/audio-layout.d.ts +0 -15
  575. package/types/components/layouts/default/context.d.ts +0 -9
  576. package/types/components/layouts/default/default-layout.d.ts +0 -10
  577. package/types/components/layouts/default/props.d.ts +0 -125
  578. package/types/components/layouts/default/translations.d.ts +0 -6
  579. package/types/components/layouts/default/video-layout.d.ts +0 -15
  580. package/types/components/layouts/plyr/context.d.ts +0 -7
  581. package/types/components/layouts/plyr/plyr-layout.d.ts +0 -9
  582. package/types/components/layouts/plyr/props.d.ts +0 -68
  583. package/types/components/layouts/plyr/translations.d.ts +0 -6
  584. package/types/components/player.d.ts +0 -214
  585. package/types/components/provider/provider.d.ts +0 -24
  586. package/types/components/provider/source-select.d.ts +0 -10
  587. package/types/components/provider/tracks.d.ts +0 -7
  588. package/types/components/ui/buttons/airplay-button.d.ts +0 -23
  589. package/types/components/ui/buttons/caption-button.d.ts +0 -21
  590. package/types/components/ui/buttons/fullscreen-button.d.ts +0 -28
  591. package/types/components/ui/buttons/google-cast-button.d.ts +0 -23
  592. package/types/components/ui/buttons/live-button.d.ts +0 -30
  593. package/types/components/ui/buttons/mute-button.d.ts +0 -21
  594. package/types/components/ui/buttons/pip-button.d.ts +0 -22
  595. package/types/components/ui/buttons/play-button.d.ts +0 -21
  596. package/types/components/ui/buttons/seek-button.d.ts +0 -32
  597. package/types/components/ui/buttons/toggle-button-controller.d.ts +0 -20
  598. package/types/components/ui/buttons/toggle-button.d.ts +0 -29
  599. package/types/components/ui/captions/captions-renderer.d.ts +0 -12
  600. package/types/components/ui/captions/captions.d.ts +0 -22
  601. package/types/components/ui/controls-group.d.ts +0 -9
  602. package/types/components/ui/controls.d.ts +0 -38
  603. package/types/components/ui/gesture.d.ts +0 -64
  604. package/types/components/ui/menu/menu-button.d.ts +0 -37
  605. package/types/components/ui/menu/menu-context.d.ts +0 -23
  606. package/types/components/ui/menu/menu-focus-controller.d.ts +0 -14
  607. package/types/components/ui/menu/menu-item.d.ts +0 -9
  608. package/types/components/ui/menu/menu-items.d.ts +0 -44
  609. package/types/components/ui/menu/menu-portal.d.ts +0 -31
  610. package/types/components/ui/menu/menu.d.ts +0 -66
  611. package/types/components/ui/menu/radio/radio-controller.d.ts +0 -14
  612. package/types/components/ui/menu/radio/radio-group-controller.d.ts +0 -11
  613. package/types/components/ui/menu/radio/radio-group.d.ts +0 -40
  614. package/types/components/ui/menu/radio/radio.d.ts +0 -50
  615. package/types/components/ui/menu/radio-groups/audio-gain-radio-group.d.ts +0 -36
  616. package/types/components/ui/menu/radio-groups/audio-radio-group.d.ts +0 -37
  617. package/types/components/ui/menu/radio-groups/captions-radio-group.d.ts +0 -38
  618. package/types/components/ui/menu/radio-groups/chapters-radio-group.d.ts +0 -46
  619. package/types/components/ui/menu/radio-groups/quality-radio-group.d.ts +0 -48
  620. package/types/components/ui/menu/radio-groups/speed-radio-group.d.ts +0 -36
  621. package/types/components/ui/popper/popper.d.ts +0 -15
  622. package/types/components/ui/poster.d.ts +0 -47
  623. package/types/components/ui/sliders/audio-gain-slider.d.ts +0 -43
  624. package/types/components/ui/sliders/quality-slider.d.ts +0 -34
  625. package/types/components/ui/sliders/slider/api/cssvars.d.ts +0 -10
  626. package/types/components/ui/sliders/slider/api/events.d.ts +0 -57
  627. package/types/components/ui/sliders/slider/api/state.d.ts +0 -68
  628. package/types/components/ui/sliders/slider/events-controller.d.ts +0 -23
  629. package/types/components/ui/sliders/slider/format.d.ts +0 -8
  630. package/types/components/ui/sliders/slider/slider-context.d.ts +0 -13
  631. package/types/components/ui/sliders/slider/slider-controller.d.ts +0 -59
  632. package/types/components/ui/sliders/slider/slider.d.ts +0 -39
  633. package/types/components/ui/sliders/slider/types.d.ts +0 -1
  634. package/types/components/ui/sliders/slider/utils.d.ts +0 -2
  635. package/types/components/ui/sliders/slider-preview.d.ts +0 -34
  636. package/types/components/ui/sliders/slider-thumbnail.d.ts +0 -16
  637. package/types/components/ui/sliders/slider-value.d.ts +0 -59
  638. package/types/components/ui/sliders/slider-video.d.ts +0 -73
  639. package/types/components/ui/sliders/speed-slider.d.ts +0 -42
  640. package/types/components/ui/sliders/time-slider/slider-chapters.d.ts +0 -36
  641. package/types/components/ui/sliders/time-slider/time-slider.d.ts +0 -56
  642. package/types/components/ui/sliders/volume-slider.d.ts +0 -35
  643. package/types/components/ui/thumbnails/thumbnail-loader.d.ts +0 -47
  644. package/types/components/ui/thumbnails/thumbnail.d.ts +0 -50
  645. package/types/components/ui/time.d.ts +0 -62
  646. package/types/components/ui/tooltip/tooltip-content.d.ts +0 -39
  647. package/types/components/ui/tooltip/tooltip-context.d.ts +0 -11
  648. package/types/components/ui/tooltip/tooltip-trigger.d.ts +0 -14
  649. package/types/components/ui/tooltip/tooltip.d.ts +0 -23
  650. package/types/core/api/media-attrs.d.ts +0 -3
  651. package/types/core/api/media-context.d.ts +0 -37
  652. package/types/core/api/media-events.d.ts +0 -581
  653. package/types/core/api/media-request-events.d.ts +0 -319
  654. package/types/core/api/player-controller.d.ts +0 -6
  655. package/types/core/api/player-events.d.ts +0 -38
  656. package/types/core/api/player-props.d.ts +0 -163
  657. package/types/core/api/player-state.d.ts +0 -656
  658. package/types/core/api/src-types.d.ts +0 -50
  659. package/types/core/api/types.d.ts +0 -54
  660. package/types/core/controls.d.ts +0 -43
  661. package/types/core/font/font-options.d.ts +0 -42
  662. package/types/core/font/font-vars.d.ts +0 -1
  663. package/types/core/keyboard/aria-shortcuts.d.ts +0 -6
  664. package/types/core/keyboard/controller.d.ts +0 -9
  665. package/types/core/keyboard/types.d.ts +0 -33
  666. package/types/core/quality/events.d.ts +0 -43
  667. package/types/core/quality/symbols.d.ts +0 -6
  668. package/types/core/quality/utils.d.ts +0 -2
  669. package/types/core/quality/video-quality.d.ts +0 -52
  670. package/types/core/state/media-events-logger.d.ts +0 -7
  671. package/types/core/state/media-load-controller.d.ts +0 -6
  672. package/types/core/state/media-player-delegate.d.ts +0 -13
  673. package/types/core/state/media-request-manager.d.ts +0 -71
  674. package/types/core/state/media-state-manager.d.ts +0 -59
  675. package/types/core/state/media-state-sync.d.ts +0 -8
  676. package/types/core/state/media-storage.d.ts +0 -74
  677. package/types/core/state/navigator-media-session.d.ts +0 -5
  678. package/types/core/state/remote-control.d.ts +0 -288
  679. package/types/core/state/tracked-media-events.d.ts +0 -2
  680. package/types/core/time-ranges.d.ts +0 -12
  681. package/types/core/tracks/audio/audio-tracks.d.ts +0 -32
  682. package/types/core/tracks/audio/events.d.ts +0 -37
  683. package/types/core/tracks/text/events.d.ts +0 -49
  684. package/types/core/tracks/text/render/libass-text-renderer.d.ts +0 -181
  685. package/types/core/tracks/text/render/native-text-renderer.d.ts +0 -13
  686. package/types/core/tracks/text/render/text-renderer.d.ts +0 -17
  687. package/types/core/tracks/text/symbols.d.ts +0 -11
  688. package/types/core/tracks/text/text-track.d.ts +0 -137
  689. package/types/core/tracks/text/text-tracks.d.ts +0 -55
  690. package/types/core/tracks/text/utils.d.ts +0 -8
  691. package/types/elements/bundles/cdn/player.core.d.ts +0 -5
  692. package/types/elements/bundles/cdn/player.d.ts +0 -7
  693. package/types/elements/bundles/cdn/plyr.d.ts +0 -5
  694. package/types/elements/bundles/cdn-legacy/player-with-default.d.ts +0 -4
  695. package/types/elements/bundles/cdn-legacy/player-with-layouts.d.ts +0 -4
  696. package/types/elements/bundles/cdn-legacy/player-with-plyr.d.ts +0 -3
  697. package/types/elements/bundles/cdn-legacy/player.d.ts +0 -3
  698. package/types/elements/bundles/icons.d.ts +0 -2
  699. package/types/elements/bundles/player-layouts/default.d.ts +0 -1
  700. package/types/elements/bundles/player-layouts/index.d.ts +0 -1
  701. package/types/elements/bundles/player-layouts/plyr.d.ts +0 -1
  702. package/types/elements/bundles/player-ui.d.ts +0 -1
  703. package/types/elements/bundles/player.d.ts +0 -1
  704. package/types/elements/define/announcer-element.d.ts +0 -18
  705. package/types/elements/define/buttons/airplay-button-element.d.ts +0 -19
  706. package/types/elements/define/buttons/caption-button-element.d.ts +0 -20
  707. package/types/elements/define/buttons/fullscreen-button-element.d.ts +0 -20
  708. package/types/elements/define/buttons/google-cast-button-element.d.ts +0 -19
  709. package/types/elements/define/buttons/live-button-element.d.ts +0 -20
  710. package/types/elements/define/buttons/mute-button-element.d.ts +0 -21
  711. package/types/elements/define/buttons/pip-button-element.d.ts +0 -20
  712. package/types/elements/define/buttons/play-button-element.d.ts +0 -21
  713. package/types/elements/define/buttons/seek-button-element.d.ts +0 -24
  714. package/types/elements/define/buttons/toggle-button-element.d.ts +0 -19
  715. package/types/elements/define/captions-element.d.ts +0 -18
  716. package/types/elements/define/chapter-title-element.d.ts +0 -30
  717. package/types/elements/define/controls-element.d.ts +0 -24
  718. package/types/elements/define/controls-group-element.d.ts +0 -24
  719. package/types/elements/define/gesture-element.d.ts +0 -22
  720. package/types/elements/define/layouts/default/audio-layout-element.d.ts +0 -29
  721. package/types/elements/define/layouts/default/audio-layout.d.ts +0 -1
  722. package/types/elements/define/layouts/default/icons-loader.d.ts +0 -5
  723. package/types/elements/define/layouts/default/icons.d.ts +0 -52
  724. package/types/elements/define/layouts/default/slots.d.ts +0 -2
  725. package/types/elements/define/layouts/default/ui/announcer.d.ts +0 -1
  726. package/types/elements/define/layouts/default/ui/buttons.d.ts +0 -31
  727. package/types/elements/define/layouts/default/ui/captions.d.ts +0 -1
  728. package/types/elements/define/layouts/default/ui/controls.d.ts +0 -1
  729. package/types/elements/define/layouts/default/ui/keyboard-display.d.ts +0 -1
  730. package/types/elements/define/layouts/default/ui/menu/accessibility-menu.d.ts +0 -1
  731. package/types/elements/define/layouts/default/ui/menu/audio-menu.d.ts +0 -1
  732. package/types/elements/define/layouts/default/ui/menu/captions-menu.d.ts +0 -1
  733. package/types/elements/define/layouts/default/ui/menu/chapters-menu.d.ts +0 -8
  734. package/types/elements/define/layouts/default/ui/menu/episodes-menu.d.ts +0 -8
  735. package/types/elements/define/layouts/default/ui/menu/font-menu.d.ts +0 -1
  736. package/types/elements/define/layouts/default/ui/menu/items/menu-checkbox.d.ts +0 -8
  737. package/types/elements/define/layouts/default/ui/menu/items/menu-items.d.ts +0 -26
  738. package/types/elements/define/layouts/default/ui/menu/items/menu-slider.d.ts +0 -3
  739. package/types/elements/define/layouts/default/ui/menu/menu-portal.d.ts +0 -4
  740. package/types/elements/define/layouts/default/ui/menu/playback-menu.d.ts +0 -1
  741. package/types/elements/define/layouts/default/ui/menu/settings-menu.d.ts +0 -8
  742. package/types/elements/define/layouts/default/ui/slider.d.ts +0 -10
  743. package/types/elements/define/layouts/default/ui/time.d.ts +0 -3
  744. package/types/elements/define/layouts/default/ui/title.d.ts +0 -2
  745. package/types/elements/define/layouts/default/ui/utils.d.ts +0 -3
  746. package/types/elements/define/layouts/default/video-layout-element.d.ts +0 -29
  747. package/types/elements/define/layouts/default/video-layout.d.ts +0 -5
  748. package/types/elements/define/layouts/icons/icons-loader.d.ts +0 -11
  749. package/types/elements/define/layouts/icons/layout-icons-loader.d.ts +0 -4
  750. package/types/elements/define/layouts/layout-element.d.ts +0 -38
  751. package/types/elements/define/layouts/layout-name.d.ts +0 -2
  752. package/types/elements/define/layouts/plyr/icons/plyr-airplay.d.ts +0 -2
  753. package/types/elements/define/layouts/plyr/icons/plyr-captions-off.d.ts +0 -2
  754. package/types/elements/define/layouts/plyr/icons/plyr-captions-on.d.ts +0 -2
  755. package/types/elements/define/layouts/plyr/icons/plyr-download.d.ts +0 -2
  756. package/types/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +0 -2
  757. package/types/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +0 -2
  758. package/types/elements/define/layouts/plyr/icons/plyr-fast-forward.d.ts +0 -2
  759. package/types/elements/define/layouts/plyr/icons/plyr-muted.d.ts +0 -2
  760. package/types/elements/define/layouts/plyr/icons/plyr-pause.d.ts +0 -2
  761. package/types/elements/define/layouts/plyr/icons/plyr-pip.d.ts +0 -2
  762. package/types/elements/define/layouts/plyr/icons/plyr-play.d.ts +0 -2
  763. package/types/elements/define/layouts/plyr/icons/plyr-restart.d.ts +0 -2
  764. package/types/elements/define/layouts/plyr/icons/plyr-rewind.d.ts +0 -2
  765. package/types/elements/define/layouts/plyr/icons/plyr-settings.d.ts +0 -2
  766. package/types/elements/define/layouts/plyr/icons/plyr-volume.d.ts +0 -2
  767. package/types/elements/define/layouts/plyr/icons-loader.d.ts +0 -5
  768. package/types/elements/define/layouts/plyr/icons.d.ts +0 -18
  769. package/types/elements/define/layouts/plyr/plyr-layout-element.d.ts +0 -26
  770. package/types/elements/define/layouts/plyr/ui.d.ts +0 -3
  771. package/types/elements/define/layouts/slot-manager.d.ts +0 -7
  772. package/types/elements/define/layouts/slot-observer.d.ts +0 -12
  773. package/types/elements/define/menus/_template.d.ts +0 -7
  774. package/types/elements/define/menus/audio-gain-group-element.d.ts +0 -31
  775. package/types/elements/define/menus/audio-radio-group-element.d.ts +0 -31
  776. package/types/elements/define/menus/captions-radio-group-element.d.ts +0 -31
  777. package/types/elements/define/menus/chapters-radio-group-element.d.ts +0 -36
  778. package/types/elements/define/menus/menu-button-element.d.ts +0 -25
  779. package/types/elements/define/menus/menu-element.d.ts +0 -26
  780. package/types/elements/define/menus/menu-item-element.d.ts +0 -22
  781. package/types/elements/define/menus/menu-items-element.d.ts +0 -25
  782. package/types/elements/define/menus/menu-portal-element.d.ts +0 -25
  783. package/types/elements/define/menus/quality-radio-group-element.d.ts +0 -33
  784. package/types/elements/define/menus/radio-element.d.ts +0 -22
  785. package/types/elements/define/menus/radio-group-element.d.ts +0 -22
  786. package/types/elements/define/menus/speed-radio-group-element.d.ts +0 -31
  787. package/types/elements/define/player-element.d.ts +0 -24
  788. package/types/elements/define/poster-element.d.ts +0 -25
  789. package/types/elements/define/provider-cast-display.d.ts +0 -2
  790. package/types/elements/define/provider-element.d.ts +0 -25
  791. package/types/elements/define/sliders/audio-gain-slider-element.d.ts +0 -32
  792. package/types/elements/define/sliders/quality-slider-element.d.ts +0 -32
  793. package/types/elements/define/sliders/slider-chapters-element.d.ts +0 -31
  794. package/types/elements/define/sliders/slider-element.d.ts +0 -23
  795. package/types/elements/define/sliders/slider-preview-element.d.ts +0 -14
  796. package/types/elements/define/sliders/slider-steps-element.d.ts +0 -28
  797. package/types/elements/define/sliders/slider-thumbnail-element.d.ts +0 -26
  798. package/types/elements/define/sliders/slider-value-element.d.ts +0 -37
  799. package/types/elements/define/sliders/slider-video-element.d.ts +0 -25
  800. package/types/elements/define/sliders/speed-slider-element.d.ts +0 -32
  801. package/types/elements/define/sliders/time-slider-element.d.ts +0 -32
  802. package/types/elements/define/sliders/volume-slider-element.d.ts +0 -32
  803. package/types/elements/define/spinner-element.d.ts +0 -50
  804. package/types/elements/define/thumbnail-element.d.ts +0 -29
  805. package/types/elements/define/time-element.d.ts +0 -24
  806. package/types/elements/define/title-element.d.ts +0 -23
  807. package/types/elements/define/tooltips/tooltip-content-element.d.ts +0 -26
  808. package/types/elements/define/tooltips/tooltip-element.d.ts +0 -26
  809. package/types/elements/define/tooltips/tooltip-trigger-element.d.ts +0 -27
  810. package/types/elements/icon.d.ts +0 -10
  811. package/types/elements/index.d.ts +0 -56
  812. package/types/elements/lit/directives/signal.d.ts +0 -1
  813. package/types/elements/lit/html.d.ts +0 -4
  814. package/types/elements/lit/lit-element.d.ts +0 -8
  815. package/types/elements/state-controller.d.ts +0 -5
  816. package/types/exports/components.d.ts +0 -59
  817. package/types/exports/core.d.ts +0 -26
  818. package/types/exports/events.d.ts +0 -32
  819. package/types/exports/font.d.ts +0 -2
  820. package/types/exports/foundation.d.ts +0 -8
  821. package/types/exports/maverick.d.ts +0 -1
  822. package/types/exports/providers.d.ts +0 -22
  823. package/types/exports/utils.d.ts +0 -4
  824. package/types/foundation/fullscreen/controller.d.ts +0 -39
  825. package/types/foundation/fullscreen/events.d.ts +0 -25
  826. package/types/foundation/list/list.d.ts +0 -64
  827. package/types/foundation/list/select-list.d.ts +0 -30
  828. package/types/foundation/list/symbols.d.ts +0 -14
  829. package/types/foundation/logger/colors.d.ts +0 -5
  830. package/types/foundation/logger/controller.d.ts +0 -20
  831. package/types/foundation/logger/events.d.ts +0 -26
  832. package/types/foundation/logger/grouped-log.d.ts +0 -22
  833. package/types/foundation/logger/log-level.d.ts +0 -15
  834. package/types/foundation/logger/log-printer.d.ts +0 -11
  835. package/types/foundation/logger/ms.d.ts +0 -4
  836. package/types/foundation/observers/focus-visible.d.ts +0 -7
  837. package/types/foundation/observers/intersection-observer.d.ts +0 -36
  838. package/types/foundation/observers/page-visibility.d.ts +0 -37
  839. package/types/foundation/observers/raf-loop.d.ts +0 -6
  840. package/types/foundation/orientation/controller.d.ts +0 -62
  841. package/types/foundation/orientation/events.d.ts +0 -16
  842. package/types/foundation/orientation/types.d.ts +0 -85
  843. package/types/foundation/queue/queue.d.ts +0 -24
  844. package/types/foundation/queue/request-queue.d.ts +0 -42
  845. package/types/global/layouts/default.d.ts +0 -9
  846. package/types/global/layouts/loader.d.ts +0 -5
  847. package/types/global/layouts/plyr.d.ts +0 -9
  848. package/types/global/player.d.ts +0 -26
  849. package/types/index.d.ts +0 -6
  850. package/types/plugins.d.ts +0 -11
  851. package/types/providers/audio/loader.d.ts +0 -12
  852. package/types/providers/audio/provider.d.ts +0 -29
  853. package/types/providers/dash/dash.d.ts +0 -15
  854. package/types/providers/dash/events.d.ts +0 -570
  855. package/types/providers/dash/lib-loader.d.ts +0 -6
  856. package/types/providers/dash/loader.d.ts +0 -10
  857. package/types/providers/dash/provider.d.ts +0 -62
  858. package/types/providers/dash/types.d.ts +0 -13
  859. package/types/providers/embed/EmbedProvider.d.ts +0 -18
  860. package/types/providers/google-cast/events.d.ts +0 -36
  861. package/types/providers/google-cast/loader.d.ts +0 -18
  862. package/types/providers/google-cast/media-info.d.ts +0 -11
  863. package/types/providers/google-cast/provider.d.ts +0 -48
  864. package/types/providers/google-cast/tracks.d.ts +0 -10
  865. package/types/providers/google-cast/types.d.ts +0 -3
  866. package/types/providers/google-cast/utils.d.ts +0 -34
  867. package/types/providers/hls/events.d.ts +0 -463
  868. package/types/providers/hls/hls.d.ts +0 -14
  869. package/types/providers/hls/lib-loader.d.ts +0 -6
  870. package/types/providers/hls/loader.d.ts +0 -10
  871. package/types/providers/hls/provider.d.ts +0 -64
  872. package/types/providers/hls/types.d.ts +0 -9
  873. package/types/providers/html/audio/audio-context.d.ts +0 -6
  874. package/types/providers/html/audio/audio-gain.d.ts +0 -10
  875. package/types/providers/html/html/342/200/223media-events.d.ts +0 -6
  876. package/types/providers/html/native-audio-tracks.d.ts +0 -6
  877. package/types/providers/html/provider.d.ts +0 -34
  878. package/types/providers/html/remote-playback.d.ts +0 -18
  879. package/types/providers/type-check.d.ts +0 -28
  880. package/types/providers/types.d.ts +0 -95
  881. package/types/providers/video/loader.d.ts +0 -12
  882. package/types/providers/video/native-hls-text-tracks.d.ts +0 -9
  883. package/types/providers/video/picture-in-picture.d.ts +0 -16
  884. package/types/providers/video/presentation/events.d.ts +0 -11
  885. package/types/providers/video/presentation/video-presentation.d.ts +0 -30
  886. package/types/providers/video/provider.d.ts +0 -34
  887. package/types/providers/vimeo/embed/command.d.ts +0 -81
  888. package/types/providers/vimeo/embed/event.d.ts +0 -58
  889. package/types/providers/vimeo/embed/message.d.ts +0 -8
  890. package/types/providers/vimeo/embed/misc.d.ts +0 -52
  891. package/types/providers/vimeo/embed/params.d.ts +0 -148
  892. package/types/providers/vimeo/loader.d.ts +0 -14
  893. package/types/providers/vimeo/provider.d.ts +0 -61
  894. package/types/providers/vimeo/utils.d.ts +0 -6
  895. package/types/providers/youtube/embed/command.d.ts +0 -13
  896. package/types/providers/youtube/embed/event.d.ts +0 -1
  897. package/types/providers/youtube/embed/message.d.ts +0 -50
  898. package/types/providers/youtube/embed/params.d.ts +0 -218
  899. package/types/providers/youtube/embed/quality.d.ts +0 -2
  900. package/types/providers/youtube/embed/state.d.ts +0 -12
  901. package/types/providers/youtube/loader.d.ts +0 -14
  902. package/types/providers/youtube/provider.d.ts +0 -61
  903. package/types/providers/youtube/utils.d.ts +0 -2
  904. package/types/utils/aria.d.ts +0 -4
  905. package/types/utils/array.d.ts +0 -1
  906. package/types/utils/color.d.ts +0 -1
  907. package/types/utils/dom.d.ts +0 -41
  908. package/types/utils/error.d.ts +0 -2
  909. package/types/utils/language.d.ts +0 -8
  910. package/types/utils/manifest.d.ts +0 -3
  911. package/types/utils/mime.d.ts +0 -15
  912. package/types/utils/network.d.ts +0 -17
  913. package/types/utils/number.d.ts +0 -17
  914. package/types/utils/promise.d.ts +0 -1
  915. package/types/utils/scroll.d.ts +0 -5
  916. package/types/utils/support.d.ts +0 -72
  917. package/types/utils/time.d.ts +0 -57
  918. package/vite.config.ts +0 -61
  919. /package/{npm/analyze.json.d.ts → analyze.json.d.ts} +0 -0
  920. /package/{npm/bundle.d.ts → bundle.d.ts} +0 -0
  921. /package/{npm/dom.d.ts → dom.d.ts} +0 -0
  922. /package/{npm/empty.vtt → empty.vtt} +0 -0
  923. /package/{npm/google-cast.d.ts → google-cast.d.ts} +0 -0
  924. /package/{npm/player → player}/index.d.ts +0 -0
  925. /package/{npm/player → player}/layouts/default.d.ts +0 -0
  926. /package/{npm/player → player}/layouts/index.d.ts +0 -0
  927. /package/{npm/player → player}/layouts/plyr.d.ts +0 -0
  928. /package/{styles/player → player/styles}/base.css +0 -0
  929. /package/{styles/player → player/styles}/default/buffering.css +0 -0
  930. /package/{styles/player → player/styles}/default/buttons.css +0 -0
  931. /package/{styles/player → player/styles}/default/captions.css +0 -0
  932. /package/{styles/player → player/styles}/default/chapter-title.css +0 -0
  933. /package/{styles/player → player/styles}/default/controls.css +0 -0
  934. /package/{styles/player → player/styles}/default/gestures.css +0 -0
  935. /package/{styles/player → player/styles}/default/icons.css +0 -0
  936. /package/{styles/player → player/styles}/default/keyboard.css +0 -0
  937. /package/{styles/player → player/styles}/default/layouts/audio.css +0 -0
  938. /package/{styles/player → player/styles}/default/layouts/video.css +0 -0
  939. /package/{styles/player → player/styles}/default/menus.css +0 -0
  940. /package/{styles/player → player/styles}/default/poster.css +0 -0
  941. /package/{styles/player → player/styles}/default/sliders.css +0 -0
  942. /package/{styles/player → player/styles}/default/theme.css +0 -0
  943. /package/{styles/player → player/styles}/default/thumbnail.css +0 -0
  944. /package/{styles/player → player/styles}/default/time.css +0 -0
  945. /package/{styles/player → player/styles}/default/tooltips.css +0 -0
  946. /package/{styles/player → player/styles}/plyr/theme.css +0 -0
  947. /package/{npm/player → player}/ui.d.ts +0 -0
  948. /package/{npm/tailwind.cjs → tailwind.cjs} +0 -0
  949. /package/{npm/tailwind.d.cts → tailwind.d.cts} +0 -0
@@ -1,100 +0,0 @@
1
- import type { AudioGainAdapter } from '../../types';
2
- import {
3
- createElementSource,
4
- createGainNode,
5
- destroyElementSource,
6
- destroyGainNode,
7
- getOrCreateAudioCtx,
8
- } from './audio-context';
9
-
10
- export class AudioGain implements AudioGainAdapter {
11
- #media: HTMLMediaElement;
12
- #onChange: (gain: number | null) => void;
13
- #gainNode: GainNode | null = null;
14
- #srcAudioNode: MediaElementAudioSourceNode | null = null;
15
-
16
- get currentGain() {
17
- return this.#gainNode?.gain?.value ?? null;
18
- }
19
-
20
- get supported() {
21
- return true;
22
- }
23
-
24
- constructor(media: HTMLMediaElement, onChange: (gain: number | null) => void) {
25
- this.#media = media;
26
- this.#onChange = onChange;
27
- }
28
-
29
- setGain(gain: number) {
30
- const currGain = this.currentGain;
31
-
32
- // Nothing was changed.
33
- if (gain === this.currentGain) {
34
- return;
35
- }
36
-
37
- // Disable audio gain, "1" means - no audio gain.
38
- if (gain === 1 && currGain !== 1) {
39
- this.removeGain();
40
- return;
41
- }
42
-
43
- if (!this.#gainNode) {
44
- this.#gainNode = createGainNode();
45
-
46
- // Reconnect the element source to the gain node after audio gain was unset.
47
- if (this.#srcAudioNode) {
48
- this.#srcAudioNode.connect(this.#gainNode);
49
- }
50
- }
51
-
52
- if (!this.#srcAudioNode) {
53
- this.#srcAudioNode = createElementSource(this.#media, this.#gainNode);
54
- }
55
-
56
- this.#gainNode.gain.value = gain;
57
- this.#onChange(gain);
58
- }
59
-
60
- removeGain() {
61
- if (!this.#gainNode) return;
62
-
63
- // Connect el audio source to the default audio output, before destroying the gain node.
64
- if (this.#srcAudioNode) {
65
- this.#srcAudioNode.connect(getOrCreateAudioCtx().destination);
66
- }
67
-
68
- this.#destroyGainNode();
69
- this.#onChange(null);
70
- }
71
-
72
- destroy() {
73
- this.#destroySrcNode();
74
- this.#destroyGainNode();
75
- }
76
-
77
- #destroySrcNode() {
78
- if (!this.#srcAudioNode) return;
79
-
80
- try {
81
- destroyElementSource(this.#srcAudioNode);
82
- } catch (e) {
83
- // Ignore any error
84
- } finally {
85
- this.#srcAudioNode = null;
86
- }
87
- }
88
-
89
- #destroyGainNode() {
90
- if (!this.#gainNode) return;
91
-
92
- try {
93
- destroyGainNode(this.#gainNode);
94
- } catch (e) {
95
- // Ignore any error
96
- } finally {
97
- this.#gainNode = null;
98
- }
99
- }
100
- }
@@ -1,338 +0,0 @@
1
- import { effect, onDispose, peek } from 'maverick.js';
2
- import { DOMEvent, EventsController, isNil, listenEvent } from 'maverick.js/std';
3
-
4
- import type { MediaContext } from '../../core/api/media-context';
5
- import type { MediaCanPlayDetail } from '../../core/api/media-events';
6
- import type { MediaErrorCode } from '../../core/api/types';
7
- import { PageVisibility } from '../../foundation/observers/page-visibility';
8
- import { RAFLoop } from '../../foundation/observers/raf-loop';
9
- import { isHLSSrc } from '../../utils/mime';
10
- import { getNumberOfDecimalPlaces } from '../../utils/number';
11
- import { IS_IOS, IS_SAFARI } from '../../utils/support';
12
- import type { HTMLMediaProvider } from './provider';
13
-
14
- export class HTMLMediaEvents {
15
- #provider: HTMLMediaProvider;
16
- #ctx: MediaContext;
17
- #waiting = false;
18
- #attachedLoadStart = false;
19
- #attachedCanPlay = false;
20
- #timeRAF = new RAFLoop(this.#onAnimationFrame.bind(this));
21
- #pageVisibility = new PageVisibility();
22
- #events: EventsController<HTMLMediaElement>;
23
-
24
- get #media() {
25
- return this.#provider.media;
26
- }
27
-
28
- constructor(provider: HTMLMediaProvider, ctx: MediaContext) {
29
- this.#provider = provider;
30
- this.#ctx = ctx;
31
- this.#events = new EventsController(provider.media);
32
-
33
- this.#attachInitialListeners();
34
-
35
- this.#pageVisibility.connect();
36
- effect(this.#attachTimeUpdate.bind(this));
37
-
38
- onDispose(this.#onDispose.bind(this));
39
- }
40
-
41
- #onDispose() {
42
- this.#attachedLoadStart = false;
43
- this.#attachedCanPlay = false;
44
- this.#timeRAF.stop();
45
- this.#events.abort();
46
- this.#devHandlers?.clear();
47
- }
48
-
49
- /**
50
- * The `timeupdate` event fires surprisingly infrequently during playback, meaning your progress
51
- * bar (or whatever else is synced to the currentTime) moves in a choppy fashion. This helps
52
- * resolve that by retrieving time updates in a request animation frame loop.
53
- */
54
- #lastSeenTime = 0;
55
- #seekedTo = -1;
56
- #onAnimationFrame() {
57
- const newTime = this.#media.currentTime;
58
-
59
- // Avoid stuttering on Safari (after a seek operation time may drift backwards for a few frames).
60
- const didStutter = IS_SAFARI && newTime - this.#seekedTo < 0.35;
61
-
62
- if (!didStutter && this.#lastSeenTime !== newTime) {
63
- this.#updateCurrentTime(newTime);
64
- this.#lastSeenTime = newTime;
65
- }
66
- }
67
-
68
- #attachInitialListeners() {
69
- if (__DEV__) {
70
- this.#ctx.logger?.info('attaching initial listeners');
71
- }
72
-
73
- this.#attachEventListener('loadstart', this.#onLoadStart);
74
- this.#attachEventListener('abort', this.#onAbort);
75
- this.#attachEventListener('emptied', this.#onEmptied);
76
- this.#attachEventListener('error', this.#onError);
77
- this.#attachEventListener('volumechange', this.#onVolumeChange);
78
-
79
- if (__DEV__) this.#ctx.logger?.debug('attached initial media event listeners');
80
- }
81
-
82
- #attachLoadStartListeners() {
83
- if (this.#attachedLoadStart) return;
84
-
85
- if (__DEV__) {
86
- this.#ctx.logger?.info('attaching load start listeners');
87
- }
88
-
89
- this.#attachEventListener('loadeddata', this.#onLoadedData);
90
- this.#attachEventListener('loadedmetadata', this.#onLoadedMetadata);
91
- this.#attachEventListener('canplay', this.#onCanPlay);
92
- this.#attachEventListener('canplaythrough', this.#onCanPlayThrough);
93
- this.#attachEventListener('durationchange', this.#onDurationChange);
94
- this.#attachEventListener('play', this.#onPlay);
95
- this.#attachEventListener('progress', this.#onProgress);
96
- this.#attachEventListener('stalled', this.#onStalled);
97
- this.#attachEventListener('suspend', this.#onSuspend);
98
- this.#attachEventListener('ratechange', this.#onRateChange);
99
-
100
- this.#attachedLoadStart = true;
101
- }
102
-
103
- #attachCanPlayListeners() {
104
- if (this.#attachedCanPlay) return;
105
-
106
- if (__DEV__) {
107
- this.#ctx.logger?.info('attaching can play listeners');
108
- }
109
-
110
- this.#attachEventListener('pause', this.#onPause);
111
- this.#attachEventListener('playing', this.#onPlaying);
112
- this.#attachEventListener('seeked', this.#onSeeked);
113
- this.#attachEventListener('seeking', this.#onSeeking);
114
- this.#attachEventListener('ended', this.#onEnded);
115
- this.#attachEventListener('waiting', this.#onWaiting);
116
-
117
- this.#attachedCanPlay = true;
118
- }
119
-
120
- #devHandlers = __DEV__ ? new Map<string, (event: Event) => void>() : undefined;
121
- #handleDevEvent = __DEV__ ? this.#onDevEvent.bind(this) : undefined;
122
- #attachEventListener(eventType: keyof HTMLElementEventMap, handler: (event: Event) => void) {
123
- if (__DEV__) this.#devHandlers!.set(eventType, handler);
124
- this.#events.add(eventType, __DEV__ ? this.#handleDevEvent! : handler.bind(this));
125
- }
126
-
127
- #onDevEvent(event: Event) {
128
- if (!__DEV__) return;
129
-
130
- this.#ctx.logger
131
- ?.debugGroup(`📺 provider fired \`${event.type}\``)
132
- .labelledLog('Provider', this.#provider)
133
- .labelledLog('Event', event)
134
- .labelledLog('Media Store', { ...this.#ctx.$state })
135
- .dispatch();
136
-
137
- this.#devHandlers!.get(event.type)?.call(this, event);
138
- }
139
-
140
- #updateCurrentTime(time: number, trigger?: Event) {
141
- // Avoid errors where `currentTime` can have higher precision.
142
- const newTime = Math.min(time, this.#ctx.$state.seekableEnd());
143
- this.#ctx.notify('time-change', newTime, trigger);
144
- }
145
-
146
- #onLoadStart(event: Event) {
147
- if (this.#media.networkState === 3) {
148
- this.#onAbort(event);
149
- return;
150
- }
151
-
152
- this.#attachLoadStartListeners();
153
- this.#ctx.notify('load-start', undefined, event);
154
- }
155
-
156
- #onAbort(event: Event) {
157
- this.#ctx.notify('abort', undefined, event);
158
- }
159
-
160
- #onEmptied() {
161
- this.#ctx.notify('emptied', undefined, event);
162
- }
163
-
164
- #onLoadedData(event: Event) {
165
- this.#ctx.notify('loaded-data', undefined, event);
166
- }
167
-
168
- #onLoadedMetadata(event: Event) {
169
- // Reset.
170
- this.#lastSeenTime = 0;
171
- this.#seekedTo = -1;
172
-
173
- this.#attachCanPlayListeners();
174
-
175
- this.#ctx.notify('loaded-metadata', undefined, event);
176
-
177
- // iOS Safari and Native HLS do not reliably fire `canplay` event.
178
- if (IS_IOS || (IS_SAFARI && isHLSSrc(this.#ctx.$state.source()))) {
179
- this.#ctx.delegate.ready(this.#getCanPlayDetail(), event);
180
- }
181
- }
182
-
183
- #getCanPlayDetail(): MediaCanPlayDetail {
184
- return {
185
- provider: peek(this.#ctx.$provider)!,
186
- duration: this.#media.duration,
187
- buffered: this.#media.buffered,
188
- seekable: this.#media.seekable,
189
- };
190
- }
191
-
192
- #onPlay(event: Event) {
193
- if (!this.#ctx.$state.canPlay) return;
194
- this.#ctx.notify('play', undefined, event);
195
- }
196
-
197
- #onPause(event: Event) {
198
- // Avoid seeking events triggering pause.
199
- if (this.#media.readyState === 1 && !this.#waiting) return;
200
- this.#waiting = false;
201
- this.#timeRAF.stop();
202
- this.#ctx.notify('pause', undefined, event);
203
- }
204
-
205
- #onCanPlay(event: Event) {
206
- this.#ctx.delegate.ready(this.#getCanPlayDetail(), event);
207
- }
208
-
209
- #onCanPlayThrough(event: Event) {
210
- if (this.#ctx.$state.started()) return;
211
- this.#ctx.notify('can-play-through', this.#getCanPlayDetail(), event);
212
- }
213
-
214
- #onPlaying(event: Event) {
215
- // This event can incorrectly fire on Safari.
216
- if (this.#media.paused) return;
217
- this.#waiting = false;
218
- this.#ctx.notify('playing', undefined, event);
219
- this.#timeRAF.start();
220
- }
221
-
222
- #onStalled(event: Event) {
223
- this.#ctx.notify('stalled', undefined, event);
224
- if (this.#media.readyState < 3) {
225
- this.#waiting = true;
226
- this.#ctx.notify('waiting', undefined, event);
227
- }
228
- }
229
-
230
- #onWaiting(event: Event) {
231
- if (this.#media.readyState < 3) {
232
- this.#waiting = true;
233
- this.#ctx.notify('waiting', undefined, event);
234
- }
235
- }
236
-
237
- #onEnded(event: Event) {
238
- this.#timeRAF.stop();
239
- this.#updateCurrentTime(this.#media.duration, event);
240
- this.#ctx.notify('end', undefined, event);
241
- if (this.#ctx.$state.loop()) {
242
- const hasCustomControls = isNil(this.#media.controls);
243
- // Forcefully hide controls to prevent flashing when looping. Calling `play()` at end
244
- // of media may show a flash of native controls on iOS, even if `controls` property is not set.
245
- if (hasCustomControls) this.#media.controls = false;
246
- }
247
- }
248
-
249
- #attachTimeUpdate() {
250
- const isPaused = this.#ctx.$state.paused(),
251
- isPageHidden = this.#pageVisibility.visibility === 'hidden',
252
- shouldListenToTimeUpdates = isPaused || isPageHidden;
253
-
254
- if (shouldListenToTimeUpdates) {
255
- listenEvent(this.#media, 'timeupdate', this.#onTimeUpdate.bind(this));
256
- }
257
- }
258
-
259
- #onTimeUpdate(event: Event) {
260
- this.#updateCurrentTime(this.#media.currentTime, event);
261
- }
262
-
263
- #onDurationChange(event: Event) {
264
- if (this.#ctx.$state.ended()) {
265
- this.#updateCurrentTime(this.#media.duration, event);
266
- }
267
-
268
- this.#ctx.notify('duration-change', this.#media.duration, event);
269
- }
270
-
271
- #onVolumeChange(event: Event) {
272
- const detail = {
273
- volume: this.#media.volume,
274
- muted: this.#media.muted,
275
- };
276
-
277
- this.#ctx.notify('volume-change', detail, event);
278
- }
279
-
280
- #onSeeked(event: Event) {
281
- this.#seekedTo = this.#media.currentTime;
282
-
283
- this.#updateCurrentTime(this.#media.currentTime, event);
284
-
285
- this.#ctx.notify('seeked', this.#media.currentTime, event);
286
-
287
- // HLS: If precision has increased by seeking to the end, we'll call `play()` to properly end.
288
- if (
289
- Math.trunc(this.#media.currentTime) === Math.trunc(this.#media.duration) &&
290
- getNumberOfDecimalPlaces(this.#media.duration) >
291
- getNumberOfDecimalPlaces(this.#media.currentTime)
292
- ) {
293
- this.#updateCurrentTime(this.#media.duration, event);
294
-
295
- if (!this.#media.ended) {
296
- this.#ctx.player.dispatch(
297
- new DOMEvent<void>('media-play-request', {
298
- trigger: event,
299
- }),
300
- );
301
- }
302
- }
303
- }
304
-
305
- #onSeeking(event: Event) {
306
- this.#ctx.notify('seeking', this.#media.currentTime, event);
307
- }
308
-
309
- #onProgress(event: Event) {
310
- const detail = {
311
- buffered: this.#media.buffered,
312
- seekable: this.#media.seekable,
313
- };
314
-
315
- this.#ctx.notify('progress', detail, event);
316
- }
317
-
318
- #onSuspend(event: Event) {
319
- this.#ctx.notify('suspend', undefined, event);
320
- }
321
-
322
- #onRateChange(event: Event) {
323
- this.#ctx.notify('rate-change', this.#media.playbackRate, event);
324
- }
325
-
326
- #onError(event: Event) {
327
- const error = this.#media.error;
328
- if (!error) return;
329
-
330
- const detail = {
331
- message: error.message,
332
- code: error.code as MediaErrorCode,
333
- mediaError: error,
334
- };
335
-
336
- this.#ctx.notify('error', detail, event);
337
- }
338
- }
@@ -1,91 +0,0 @@
1
- import { listenEvent } from 'maverick.js/std';
2
-
3
- import type { MediaContext } from '../../core/api/media-context';
4
- import type { AudioTrack } from '../../core/tracks/audio/audio-tracks';
5
- import type { AudioTrackChangeEvent } from '../../core/tracks/audio/events';
6
- import { ListSymbol } from '../../foundation/list/symbols';
7
- import type { HTMLMediaProvider } from './provider';
8
-
9
- interface NativeAudioTrack {
10
- id: string;
11
- label: string;
12
- language: string;
13
- kind: string;
14
- enabled: boolean;
15
- }
16
-
17
- interface NativeAudioEvent extends Event {
18
- track: NativeAudioTrack;
19
- }
20
-
21
- interface NativeAudioTrackList extends Iterable<NativeAudioTrack> {
22
- onaddtrack: ((event: NativeAudioEvent) => void) | null;
23
- onremovetrack: ((event: NativeAudioEvent) => void) | null;
24
- onchange: ((event: NativeAudioEvent) => void) | null;
25
- getTrackById(id: string): NativeAudioTrack | null;
26
- }
27
-
28
- export class NativeAudioTracks {
29
- #provider: HTMLMediaProvider;
30
- #ctx: MediaContext;
31
-
32
- get #nativeTracks(): NativeAudioTrackList {
33
- return (this.#provider.media as any).audioTracks;
34
- }
35
-
36
- constructor(provider: HTMLMediaProvider, ctx: MediaContext) {
37
- this.#provider = provider;
38
- this.#ctx = ctx;
39
-
40
- this.#nativeTracks.onaddtrack = this.#onAddNativeTrack.bind(this);
41
- this.#nativeTracks.onremovetrack = this.#onRemoveNativeTrack.bind(this);
42
- this.#nativeTracks.onchange = this.#onChangeNativeTrack.bind(this);
43
-
44
- listenEvent(this.#ctx.audioTracks, 'change', this.#onChangeTrack.bind(this));
45
- }
46
-
47
- #onAddNativeTrack(event: NativeAudioEvent) {
48
- const nativeTrack = event.track;
49
-
50
- if (nativeTrack.label === '') return;
51
-
52
- const id = nativeTrack.id.toString() || `native-audio-${this.#ctx.audioTracks.length}`,
53
- audioTrack: AudioTrack = {
54
- id,
55
- label: nativeTrack.label,
56
- language: nativeTrack.language,
57
- kind: nativeTrack.kind,
58
- selected: false,
59
- };
60
-
61
- this.#ctx.audioTracks[ListSymbol.add](audioTrack, event);
62
- if (nativeTrack.enabled) audioTrack.selected = true;
63
- }
64
-
65
- #onRemoveNativeTrack(event: NativeAudioEvent) {
66
- const track = this.#ctx.audioTracks.getById(event.track.id);
67
- if (track) this.#ctx.audioTracks[ListSymbol.remove](track, event);
68
- }
69
-
70
- #onChangeNativeTrack(event: NativeAudioEvent) {
71
- let enabledTrack = this.#getEnabledNativeTrack();
72
- if (!enabledTrack) return;
73
- const track = this.#ctx.audioTracks.getById(enabledTrack.id);
74
- if (track) this.#ctx.audioTracks[ListSymbol.select](track, true, event);
75
- }
76
-
77
- #getEnabledNativeTrack(): NativeAudioTrack | undefined {
78
- return Array.from(this.#nativeTracks).find((track) => track.enabled);
79
- }
80
-
81
- #onChangeTrack(event: AudioTrackChangeEvent) {
82
- const { current } = event.detail;
83
- if (!current) return;
84
- const track = this.#nativeTracks.getTrackById(current.id);
85
- if (track) {
86
- const prev = this.#getEnabledNativeTrack();
87
- if (prev) prev.enabled = false;
88
- track.enabled = true;
89
- }
90
- }
91
- }
@@ -1,141 +0,0 @@
1
- import { createScope, onDispose } from 'maverick.js';
2
- import { isString, setAttribute } from 'maverick.js/std';
3
-
4
- import type { MediaContext } from '../../core/api/media-context';
5
- import type { HTMLMediaSrc, Src } from '../../core/api/src-types';
6
- import { isMediaStream } from '../../utils/mime';
7
- import type { MediaProviderAdapter } from '../types';
8
- import { AudioGain } from './audio/audio-gain';
9
- import { HTMLMediaEvents } from './html–media-events';
10
- import { NativeAudioTracks } from './native-audio-tracks';
11
-
12
- /**
13
- * This HTML media provider adapts the underlying media element such as `<audio>` or `<video>` to
14
- * satisfy the media provider interface.
15
- *
16
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement}
17
- */
18
- export class HTMLMediaProvider implements MediaProviderAdapter {
19
- readonly scope = createScope();
20
-
21
- currentSrc: Src<HTMLMediaSrc> | null = null;
22
-
23
- readonly audioGain: AudioGain;
24
-
25
- constructor(
26
- readonly media: HTMLMediaElement,
27
- protected readonly ctx: MediaContext,
28
- ) {
29
- this.audioGain = new AudioGain(media, (gain) => {
30
- this.ctx.notify('audio-gain-change', gain);
31
- });
32
- }
33
-
34
- setup() {
35
- new HTMLMediaEvents(this, this.ctx);
36
-
37
- if ('audioTracks' in this.media) new NativeAudioTracks(this, this.ctx);
38
-
39
- onDispose(() => {
40
- this.audioGain.destroy();
41
-
42
- // We need to remove all media sources incase another provider uses the same media element.
43
- this.media.srcObject = null;
44
- this.media.removeAttribute('src');
45
- for (const source of this.media.querySelectorAll('source')) source.remove();
46
-
47
- this.media.load();
48
- });
49
- }
50
-
51
- get type() {
52
- return '';
53
- }
54
-
55
- setPlaybackRate(rate: number) {
56
- this.media.playbackRate = rate;
57
- }
58
-
59
- async play() {
60
- return this.media.play();
61
- }
62
-
63
- async pause() {
64
- return this.media.pause();
65
- }
66
-
67
- setMuted(muted: boolean) {
68
- this.media.muted = muted;
69
- }
70
-
71
- setVolume(volume: number) {
72
- this.media.volume = volume;
73
- }
74
-
75
- setCurrentTime(time: number) {
76
- this.media.currentTime = time;
77
- }
78
-
79
- setPlaysInline(inline: boolean) {
80
- setAttribute(this.media, 'playsinline', inline);
81
- }
82
-
83
- async loadSource({ src, type }: Src, preload?: HTMLMediaElement['preload']) {
84
- this.media.preload = preload || '';
85
-
86
- if (isMediaStream(src)) {
87
- this.removeSource();
88
- this.media.srcObject = src;
89
- } else {
90
- this.media.srcObject = null;
91
- if (isString(src)) {
92
- if (type !== '?') {
93
- this.appendSource({ src, type });
94
- } else {
95
- this.removeSource();
96
- this.media.src = this.#appendMediaFragment(src);
97
- }
98
- } else {
99
- this.removeSource();
100
- this.media.src = window.URL.createObjectURL(src as MediaSource | Blob);
101
- }
102
- }
103
-
104
- this.media.load();
105
- this.currentSrc = { src: src as HTMLMediaSrc, type };
106
- }
107
-
108
- /**
109
- * Append source so it works when requesting AirPlay since hls.js will remove it.
110
- */
111
- protected appendSource(src: Src<string>, defaultType?: string) {
112
- const prevSource = this.media.querySelector('source[data-vds]'),
113
- source = prevSource ?? document.createElement('source');
114
-
115
- setAttribute(source, 'src', this.#appendMediaFragment(src.src));
116
- setAttribute(source, 'type', src.type !== '?' ? src.type : defaultType);
117
- setAttribute(source, 'data-vds', '');
118
-
119
- if (!prevSource) this.media.append(source);
120
- }
121
-
122
- protected removeSource() {
123
- this.media.querySelector('source[data-vds]')?.remove();
124
- }
125
-
126
- #appendMediaFragment(src: string) {
127
- const { clipStartTime, clipEndTime } = this.ctx.$state,
128
- startTime = clipStartTime(),
129
- endTime = clipEndTime();
130
-
131
- if (startTime > 0 && endTime > 0) {
132
- return `${src}#t=${startTime},${endTime}`;
133
- } else if (startTime > 0) {
134
- return `${src}#t=${startTime}`;
135
- } else if (endTime > 0) {
136
- return `${src}#t=0,${endTime}`;
137
- }
138
-
139
- return src;
140
- }
141
- }