@videojs/html 10.0.0-beta.27 → 10.0.0-beta.28

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 (393) hide show
  1. package/cdn/audio-headless.dev.js +1 -1
  2. package/cdn/audio-headless.js +1 -1
  3. package/cdn/audio-minimal-ui.dev.js +1 -1
  4. package/cdn/audio-minimal-ui.js +1 -1
  5. package/cdn/audio-minimal.dev.js +4 -4
  6. package/cdn/audio-minimal.dev.js.map +1 -1
  7. package/cdn/audio-minimal.js +1 -1
  8. package/cdn/audio-minimal.js.map +1 -1
  9. package/cdn/audio-ui.dev.js +1 -1
  10. package/cdn/audio-ui.js +1 -1
  11. package/cdn/audio.dev.js +4 -4
  12. package/cdn/audio.dev.js.map +1 -1
  13. package/cdn/audio.js +1 -1
  14. package/cdn/audio.js.map +1 -1
  15. package/cdn/background-video-WKumpp49.js +59 -0
  16. package/cdn/background-video-WKumpp49.js.map +1 -0
  17. package/cdn/background-video-YHY_3-lX.js +2 -0
  18. package/cdn/background-video-YHY_3-lX.js.map +1 -0
  19. package/cdn/background.dev.js +3 -56
  20. package/cdn/background.dev.js.map +1 -1
  21. package/cdn/background.js +1 -1
  22. package/cdn/background.js.map +1 -1
  23. package/cdn/bn-CcLIScl6.js +108 -0
  24. package/cdn/bn-CcLIScl6.js.map +1 -0
  25. package/cdn/bn-KcCmQhYd.js +2 -0
  26. package/cdn/bn-KcCmQhYd.js.map +1 -0
  27. package/cdn/compounds-BEO1d3ZM.js +8 -0
  28. package/cdn/compounds-BEO1d3ZM.js.map +1 -0
  29. package/cdn/{compounds-CCvdpvge.js → compounds-nk9RJtBK.js} +8 -15
  30. package/cdn/compounds-nk9RJtBK.js.map +1 -0
  31. package/cdn/container-element-Dd0ZCdhK.js +14 -0
  32. package/cdn/container-element-Dd0ZCdhK.js.map +1 -0
  33. package/cdn/container-element-HHK_KZOE.js +376 -0
  34. package/cdn/container-element-HHK_KZOE.js.map +1 -0
  35. package/cdn/{create-player-BHFyOnWi.js → create-player-DK9WOywd.js} +19 -379
  36. package/cdn/create-player-DK9WOywd.js.map +1 -0
  37. package/cdn/create-player-hSdQMP5p.js +2 -0
  38. package/cdn/create-player-hSdQMP5p.js.map +1 -0
  39. package/cdn/embed-params-D2e8u0d4.js +2 -0
  40. package/cdn/embed-params-D2e8u0d4.js.map +1 -0
  41. package/cdn/embed-params-W6T88S8x.js +39 -0
  42. package/cdn/embed-params-W6T88S8x.js.map +1 -0
  43. package/cdn/{gesture-element-CG-Sx_5t.js → gesture-element-6Ld1YwIL.js} +3 -3
  44. package/cdn/{gesture-element-CG-Sx_5t.js.map → gesture-element-6Ld1YwIL.js.map} +1 -1
  45. package/cdn/gesture-element-BC48ucj9.js +2 -0
  46. package/cdn/{gesture-element-BNfMI8eh.js.map → gesture-element-BC48ucj9.js.map} +1 -1
  47. package/cdn/{hls-js-g1zdcyvE.js → hls-js-BEuVm0u9.js} +3 -2
  48. package/cdn/{hls-js-g1zdcyvE.js.map → hls-js-BEuVm0u9.js.map} +1 -1
  49. package/cdn/hls-js-C4P_b2tT.js +2 -0
  50. package/cdn/{hls-js-6lW7L4th.js.map → hls-js-C4P_b2tT.js.map} +1 -1
  51. package/cdn/hls-js-CATW7NBm.js +2 -0
  52. package/cdn/{hls-js-DCQzjzB5.js.map → hls-js-CATW7NBm.js.map} +1 -1
  53. package/cdn/{hls-js-Cwj8UBx9.js → hls-js-WCNy9MVh.js} +3 -2
  54. package/cdn/{hls-js-Cwj8UBx9.js.map → hls-js-WCNy9MVh.js.map} +1 -1
  55. package/cdn/i18n-CE4KxKuj.js +2 -0
  56. package/cdn/i18n-CE4KxKuj.js.map +1 -0
  57. package/cdn/{i18n-Mtlmj1AA.js → i18n-Ch4t6EjV.js} +2 -2
  58. package/cdn/{i18n-Mtlmj1AA.js.map → i18n-Ch4t6EjV.js.map} +1 -1
  59. package/cdn/i18n-Dc7WM2xd.js +2 -0
  60. package/cdn/{i18n-DfKGl5Rh.js.map → i18n-Dc7WM2xd.js.map} +1 -1
  61. package/cdn/i18n-DyF_NfCk.js +157 -0
  62. package/cdn/i18n-DyF_NfCk.js.map +1 -0
  63. package/cdn/i18n.dev.js +3 -152
  64. package/cdn/i18n.dev.js.map +1 -1
  65. package/cdn/i18n.js +1 -1
  66. package/cdn/i18n.js.map +1 -1
  67. package/cdn/{live-button-element-B_y-ZJBy.js → live-button-element-Bae44kBN.js} +5 -4
  68. package/cdn/live-button-element-Bae44kBN.js.map +1 -0
  69. package/cdn/live-button-element-DaHgnYdw.js +2 -0
  70. package/cdn/{live-button-element-CWfkQUoy.js.map → live-button-element-DaHgnYdw.js.map} +1 -1
  71. package/cdn/live-video-minimal.dev.js +8 -8
  72. package/cdn/live-video-minimal.dev.js.map +1 -1
  73. package/cdn/live-video-minimal.js +1 -1
  74. package/cdn/live-video-minimal.js.map +1 -1
  75. package/cdn/live-video.dev.js +9 -9
  76. package/cdn/live-video.dev.js.map +1 -1
  77. package/cdn/live-video.js +1 -1
  78. package/cdn/live-video.js.map +1 -1
  79. package/cdn/locales/bn.dev.js +1 -1
  80. package/cdn/locales/bn.js +1 -1
  81. package/cdn/media/background-video.dev.d.ts +1 -0
  82. package/cdn/media/background-video.dev.js +3 -0
  83. package/cdn/media/background-video.js +1 -0
  84. package/cdn/media/cloudflare-video.dev.d.ts +1 -0
  85. package/cdn/media/cloudflare-video.dev.js +668 -0
  86. package/cdn/media/cloudflare-video.dev.js.map +1 -0
  87. package/cdn/media/cloudflare-video.js +2 -0
  88. package/cdn/media/cloudflare-video.js.map +1 -0
  89. package/cdn/media/container.dev.d.ts +1 -0
  90. package/cdn/media/container.dev.js +8 -0
  91. package/cdn/media/container.dev.js.map +1 -0
  92. package/cdn/media/container.js +2 -0
  93. package/cdn/media/container.js.map +1 -0
  94. package/cdn/media/dash-video.dev.js +2 -1
  95. package/cdn/media/dash-video.js +2 -2
  96. package/cdn/media/dash-video.js.map +1 -1
  97. package/cdn/media/google-cast.dev.js +2 -31
  98. package/cdn/media/google-cast.dev.js.map +1 -1
  99. package/cdn/media/google-cast.js +3 -3
  100. package/cdn/media/google-cast.js.map +1 -1
  101. package/cdn/media/hls-audio.dev.js +1 -0
  102. package/cdn/media/hls-audio.js +1 -1
  103. package/cdn/media/hls-audio.js.map +1 -1
  104. package/cdn/media/hls-background-video.dev.js +2 -1
  105. package/cdn/media/hls-background-video.js +1 -1
  106. package/cdn/media/hls-background-video.js.map +1 -1
  107. package/cdn/media/hls-video.dev.js +2 -1
  108. package/cdn/media/hls-video.js +1 -1
  109. package/cdn/media/hls-video.js.map +1 -1
  110. package/cdn/media/hlsjs-video.dev.js +2 -1
  111. package/cdn/media/hlsjs-video.js +1 -1
  112. package/cdn/media/hlsjs-video.js.map +1 -1
  113. package/cdn/media/mux-audio/hls-js.dev.js +3 -1
  114. package/cdn/media/mux-audio/hls-js.js +1 -1
  115. package/cdn/media/mux-audio/spf.dev.js +1 -0
  116. package/cdn/media/mux-audio/spf.js +1 -1
  117. package/cdn/media/mux-audio/spf.js.map +1 -1
  118. package/cdn/media/mux-audio.dev.js +3 -1
  119. package/cdn/media/mux-audio.js +1 -1
  120. package/cdn/media/mux-background-video.dev.js +2 -1
  121. package/cdn/media/mux-background-video.js +1 -1
  122. package/cdn/media/mux-background-video.js.map +1 -1
  123. package/cdn/media/mux-data.dev.js +2 -1
  124. package/cdn/media/mux-data.dev.js.map +1 -1
  125. package/cdn/media/mux-data.js +2 -2
  126. package/cdn/media/mux-data.js.map +1 -1
  127. package/cdn/media/mux-video/hls-js.dev.js +3 -1
  128. package/cdn/media/mux-video/hls-js.js +1 -1
  129. package/cdn/media/mux-video/spf.dev.js +2 -1
  130. package/cdn/media/mux-video/spf.js +1 -1
  131. package/cdn/media/mux-video/spf.js.map +1 -1
  132. package/cdn/media/mux-video.dev.js +3 -1
  133. package/cdn/media/mux-video.js +1 -1
  134. package/cdn/media/native-hls-video.dev.js +1 -0
  135. package/cdn/media/native-hls-video.js +1 -1
  136. package/cdn/media/native-hls-video.js.map +1 -1
  137. package/cdn/media/spotify-audio.dev.d.ts +1 -0
  138. package/cdn/media/spotify-audio.dev.js +605 -0
  139. package/cdn/media/spotify-audio.dev.js.map +1 -0
  140. package/cdn/media/spotify-audio.js +2 -0
  141. package/cdn/media/spotify-audio.js.map +1 -0
  142. package/cdn/media/tiktok-video.dev.d.ts +1 -0
  143. package/cdn/media/tiktok-video.dev.js +636 -0
  144. package/cdn/media/tiktok-video.dev.js.map +1 -0
  145. package/cdn/media/tiktok-video.js +2 -0
  146. package/cdn/media/tiktok-video.js.map +1 -0
  147. package/cdn/media/twitch-video.dev.d.ts +1 -0
  148. package/cdn/media/twitch-video.dev.js +627 -0
  149. package/cdn/media/twitch-video.dev.js.map +1 -0
  150. package/cdn/media/twitch-video.js +2 -0
  151. package/cdn/media/twitch-video.js.map +1 -0
  152. package/cdn/media/vimeo-video.dev.d.ts +1 -0
  153. package/cdn/media/vimeo-video.dev.js +2989 -0
  154. package/cdn/media/vimeo-video.dev.js.map +1 -0
  155. package/cdn/media/vimeo-video.js +16 -0
  156. package/cdn/media/vimeo-video.js.map +1 -0
  157. package/cdn/media/youtube-video.dev.d.ts +1 -0
  158. package/cdn/media/youtube-video.dev.js +713 -0
  159. package/cdn/media/youtube-video.dev.js.map +1 -0
  160. package/cdn/media/youtube-video.js +2 -0
  161. package/cdn/media/youtube-video.js.map +1 -0
  162. package/cdn/{media-Cp3acYc8.js → media-BavrGKqa.js} +274 -5
  163. package/cdn/media-BavrGKqa.js.map +1 -0
  164. package/cdn/media-Bmablv4g.js +2 -0
  165. package/cdn/media-Bmablv4g.js.map +1 -0
  166. package/cdn/{media-B_gQXwri.js → media-COIe3uI5.js} +12 -3
  167. package/cdn/media-COIe3uI5.js.map +1 -0
  168. package/cdn/{media-CbWsJJhU.js → media-CPVSKLdk.js} +2 -2
  169. package/cdn/{media-CbWsJJhU.js.map → media-CPVSKLdk.js.map} +1 -1
  170. package/cdn/media-CanBm0Jh.js +41 -0
  171. package/cdn/media-CanBm0Jh.js.map +1 -0
  172. package/cdn/{media-Dq4zmIJa2.js → media-Dq4zmIJa.js} +1 -1
  173. package/cdn/media-Dq4zmIJa.js.map +1 -0
  174. package/cdn/{media-DRo3n8tM.js → media-oa3nyL2o.js} +3 -3
  175. package/cdn/{media-DRo3n8tM.js.map → media-oa3nyL2o.js.map} +1 -1
  176. package/cdn/media-played-ranges-CM2zeOGr.js +2 -0
  177. package/cdn/media-played-ranges-CM2zeOGr.js.map +1 -0
  178. package/cdn/media-played-ranges-Yd9acuMt.js +156 -0
  179. package/cdn/media-played-ranges-Yd9acuMt.js.map +1 -0
  180. package/cdn/{media-suYcjCG22.js → media-suYcjCG2.js} +1 -1
  181. package/cdn/media-suYcjCG2.js.map +1 -0
  182. package/cdn/minimal-ui-8iRZf_72.js +2 -0
  183. package/cdn/{minimal-ui-AFk6Ut5f.js.map → minimal-ui-8iRZf_72.js.map} +1 -1
  184. package/cdn/{minimal-ui--JsmpU2q.js → minimal-ui-BpHxIo4z.js} +5 -5
  185. package/cdn/{minimal-ui--JsmpU2q.js.map → minimal-ui-BpHxIo4z.js.map} +1 -1
  186. package/cdn/{minimal-ui-Bxcpf5Mb.js → minimal-ui-CRKvUmB8.js} +9 -9
  187. package/cdn/{minimal-ui-Bxcpf5Mb.js.map → minimal-ui-CRKvUmB8.js.map} +1 -1
  188. package/cdn/minimal-ui-Et2Wcn7r.js +2 -0
  189. package/cdn/{minimal-ui-BVKu9LWj.js.map → minimal-ui-Et2Wcn7r.js.map} +1 -1
  190. package/cdn/mixin-BqN0V06a.js +2 -0
  191. package/cdn/{mixin-DiB7dIef.js.map → mixin-BqN0V06a.js.map} +1 -1
  192. package/cdn/{mixin-CkNZwQXF.js → mixin-C193v40v.js} +67 -67
  193. package/cdn/mixin-C193v40v.js.map +1 -0
  194. package/cdn/noop-BxkeRIz9.js +6 -0
  195. package/cdn/noop-BxkeRIz9.js.map +1 -0
  196. package/cdn/noop-Ch0IHcOP.js +2 -0
  197. package/cdn/noop-Ch0IHcOP.js.map +1 -0
  198. package/cdn/{player-D4fdOLLk.js → player-B2oraRyD.js} +3 -2
  199. package/cdn/{player-D4fdOLLk.js.map → player-B2oraRyD.js.map} +1 -1
  200. package/cdn/player-BRQLp5bX.js +2 -0
  201. package/cdn/{player-srq1RGTj.js.map → player-BRQLp5bX.js.map} +1 -1
  202. package/cdn/player-BloX4l6F.js +2 -0
  203. package/cdn/{player-iIewo8Y9.js.map → player-BloX4l6F.js.map} +1 -1
  204. package/cdn/{player-B0qnepD5.js → player-CKTAtwit.js} +3 -2
  205. package/cdn/{player-B0qnepD5.js.map → player-CKTAtwit.js.map} +1 -1
  206. package/cdn/{player-C4ix6TQq.js → player-DM9rUXg-.js} +3 -2
  207. package/cdn/{player-C4ix6TQq.js.map → player-DM9rUXg-.js.map} +1 -1
  208. package/cdn/player-rCFqzWrA.js +2 -0
  209. package/cdn/{player-B0ccW5-n.js.map → player-rCFqzWrA.js.map} +1 -1
  210. package/cdn/{poster-element-BP1Ypgbf.js → poster-element-BGr1VQJB.js} +16 -4
  211. package/cdn/poster-element-BGr1VQJB.js.map +1 -0
  212. package/cdn/poster-element-DBmgOyep.js +2 -0
  213. package/cdn/poster-element-DBmgOyep.js.map +1 -0
  214. package/cdn/script-D3ZkiqwO.js +2 -0
  215. package/cdn/script-D3ZkiqwO.js.map +1 -0
  216. package/cdn/script-erPJaaTz.js +33 -0
  217. package/cdn/script-erPJaaTz.js.map +1 -0
  218. package/cdn/seek-button-element-FlgBVoGM.js +2 -0
  219. package/cdn/seek-button-element-FlgBVoGM.js.map +1 -0
  220. package/cdn/{seek-button-element-TErrbilI.js → seek-button-element-XMTLIxZj.js} +6 -5
  221. package/cdn/seek-button-element-XMTLIxZj.js.map +1 -0
  222. package/cdn/{skin-element-wPSb4AAs.js → skin-element-DL-Kqa5f.js} +2 -2
  223. package/cdn/{skin-element-wPSb4AAs.js.map → skin-element-DL-Kqa5f.js.map} +1 -1
  224. package/cdn/{skin-element-1_MG2zgS.js → skin-element-DNytI-uu.js} +2 -2
  225. package/cdn/{skin-element-1_MG2zgS.js.map → skin-element-DNytI-uu.js.map} +1 -1
  226. package/cdn/{text-element-DTB9_2HX.js → text-element-D88ArbZz.js} +3 -3
  227. package/cdn/{text-element-DTB9_2HX.js.map → text-element-D88ArbZz.js.map} +1 -1
  228. package/cdn/text-element-DeWBNKXb.js +2 -0
  229. package/cdn/{text-element-Bsyglab8.js.map → text-element-DeWBNKXb.js.map} +1 -1
  230. package/cdn/{time-slider-chapters-element-DPgaLdBt.js → time-slider-chapters-element-DJ0abZXI.js} +5 -4
  231. package/cdn/time-slider-chapters-element-DJ0abZXI.js.map +1 -0
  232. package/cdn/time-slider-chapters-element-DW8YyJn8.js +2 -0
  233. package/cdn/{time-slider-chapters-element-MdlcovBu.js.map → time-slider-chapters-element-DW8YyJn8.js.map} +1 -1
  234. package/cdn/{translate-text-DP0CzUCC.js → translate-text-BWvoW5-r.js} +2 -7
  235. package/cdn/translate-text-BWvoW5-r.js.map +1 -0
  236. package/cdn/translate-text-TzSgu_oe.js +2 -0
  237. package/cdn/translate-text-TzSgu_oe.js.map +1 -0
  238. package/cdn/{ui-D0AokGxw.js → ui-BU3_2gDQ.js} +8 -8
  239. package/cdn/{ui-D0AokGxw.js.map → ui-BU3_2gDQ.js.map} +1 -1
  240. package/cdn/{ui-p36Szn71.js → ui-BsaWWE4y.js} +10 -10
  241. package/cdn/{ui-p36Szn71.js.map → ui-BsaWWE4y.js.map} +1 -1
  242. package/cdn/ui-C0isALTQ.js +2 -0
  243. package/cdn/{ui-CecDxhTX.js.map → ui-C0isALTQ.js.map} +1 -1
  244. package/cdn/ui-DVpkE1MN.js +2 -0
  245. package/cdn/{ui-ChWM6Xz2.js.map → ui-DVpkE1MN.js.map} +1 -1
  246. package/cdn/video-headless.dev.js +1 -1
  247. package/cdn/video-headless.js +1 -1
  248. package/cdn/video-minimal-ui.dev.js +1 -1
  249. package/cdn/video-minimal-ui.js +1 -1
  250. package/cdn/video-minimal.dev.js +4 -4
  251. package/cdn/video-minimal.dev.js.map +1 -1
  252. package/cdn/video-minimal.js +1 -1
  253. package/cdn/video-minimal.js.map +1 -1
  254. package/cdn/video-ui.dev.js +1 -1
  255. package/cdn/video-ui.js +1 -1
  256. package/cdn/video.dev.js +5 -5
  257. package/cdn/video.dev.js.map +1 -1
  258. package/cdn/video.js +1 -1
  259. package/cdn/video.js.map +1 -1
  260. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  261. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  262. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  263. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  264. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  265. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  266. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  267. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  268. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  269. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  270. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  271. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  272. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  273. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  274. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  275. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  276. package/dist/default/define/audio/minimal-skin.css +16 -19
  277. package/dist/default/define/audio/skin.css +27 -30
  278. package/dist/default/define/live-audio/minimal-skin.css +16 -19
  279. package/dist/default/define/live-audio/skin.css +27 -30
  280. package/dist/default/define/live-video/minimal-skin.css +20 -19
  281. package/dist/default/define/live-video/skin.css +31 -30
  282. package/dist/default/define/video/minimal-skin.css +20 -19
  283. package/dist/default/define/video/skin.css +31 -30
  284. package/dist/default/media/tiktok-video/media.js +3 -2
  285. package/dist/default/media/tiktok-video/media.js.map +1 -1
  286. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +6 -6
  287. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  288. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  289. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  290. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +4 -4
  291. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  292. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
  293. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  294. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  295. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  296. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  297. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  298. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  299. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  300. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  301. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  302. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  303. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  304. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  305. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  306. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  307. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  308. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  309. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  310. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  311. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  312. package/dist/dev/define/audio/minimal-skin.css +16 -19
  313. package/dist/dev/define/audio/skin.css +27 -30
  314. package/dist/dev/define/live-audio/minimal-skin.css +16 -19
  315. package/dist/dev/define/live-audio/skin.css +27 -30
  316. package/dist/dev/define/live-video/minimal-skin.css +20 -19
  317. package/dist/dev/define/live-video/skin.css +31 -30
  318. package/dist/dev/define/video/minimal-skin.css +20 -19
  319. package/dist/dev/define/video/skin.css +31 -30
  320. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
  321. package/dist/dev/media/tiktok-video/media.js +10 -7
  322. package/dist/dev/media/tiktok-video/media.js.map +1 -1
  323. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +6 -6
  324. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  325. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -1
  326. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  327. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +4 -4
  328. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  329. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -1
  330. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  331. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
  332. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  333. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  334. package/docs/README.md +1 -1
  335. package/docs/concepts/features.md +2 -2
  336. package/docs/concepts/media-sources.md +79 -1
  337. package/docs/concepts/skins.md +31 -30
  338. package/docs/how-to/build-your-own-component.md +1 -1
  339. package/docs/how-to/customize-skins.md +94 -98
  340. package/docs/how-to/migrate-from-media-chrome.md +359 -0
  341. package/docs/how-to/migrate-from-mux-player.md +535 -0
  342. package/docs/how-to/migrate-from-plyr.md +394 -0
  343. package/docs/how-to/migrate-from-video-js-8.md +594 -0
  344. package/docs/llms.txt +9 -0
  345. package/docs/reference/feature-volume.md +3 -1
  346. package/docs/reference/mute-button.md +34 -0
  347. package/docs/reference/volume-slider.md +1 -1
  348. package/package.json +10 -9
  349. package/cdn/bn-DdelKD_n.js +0 -108
  350. package/cdn/bn-DdelKD_n.js.map +0 -1
  351. package/cdn/bn-YS8ruMcO.js +0 -2
  352. package/cdn/bn-YS8ruMcO.js.map +0 -1
  353. package/cdn/compounds-CCvdpvge.js.map +0 -1
  354. package/cdn/compounds-CJ6SbYAh.js +0 -8
  355. package/cdn/compounds-CJ6SbYAh.js.map +0 -1
  356. package/cdn/create-player-BHFyOnWi.js.map +0 -1
  357. package/cdn/create-player-CbpxjDaZ.js +0 -14
  358. package/cdn/create-player-CbpxjDaZ.js.map +0 -1
  359. package/cdn/gesture-element-BNfMI8eh.js +0 -2
  360. package/cdn/hls-js-6lW7L4th.js +0 -2
  361. package/cdn/hls-js-DCQzjzB5.js +0 -2
  362. package/cdn/i18n-DfKGl5Rh.js +0 -2
  363. package/cdn/live-button-element-B_y-ZJBy.js.map +0 -1
  364. package/cdn/live-button-element-CWfkQUoy.js +0 -2
  365. package/cdn/media-5ODYtX1-.js +0 -2
  366. package/cdn/media-5ODYtX1-.js.map +0 -1
  367. package/cdn/media-B_gQXwri.js.map +0 -1
  368. package/cdn/media-CPWNSZFX.js +0 -41
  369. package/cdn/media-CPWNSZFX.js.map +0 -1
  370. package/cdn/media-Cp3acYc8.js.map +0 -1
  371. package/cdn/media-Dq4zmIJa2.js.map +0 -1
  372. package/cdn/media-suYcjCG22.js.map +0 -1
  373. package/cdn/minimal-ui-AFk6Ut5f.js +0 -2
  374. package/cdn/minimal-ui-BVKu9LWj.js +0 -2
  375. package/cdn/mixin-CkNZwQXF.js.map +0 -1
  376. package/cdn/mixin-DiB7dIef.js +0 -2
  377. package/cdn/player-B0ccW5-n.js +0 -2
  378. package/cdn/player-iIewo8Y9.js +0 -2
  379. package/cdn/player-srq1RGTj.js +0 -2
  380. package/cdn/poster-element-BP1Ypgbf.js.map +0 -1
  381. package/cdn/poster-element-S-rr412t.js +0 -2
  382. package/cdn/poster-element-S-rr412t.js.map +0 -1
  383. package/cdn/seek-button-element-DxLmm58Y.js +0 -2
  384. package/cdn/seek-button-element-DxLmm58Y.js.map +0 -1
  385. package/cdn/seek-button-element-TErrbilI.js.map +0 -1
  386. package/cdn/text-element-Bsyglab8.js +0 -2
  387. package/cdn/time-slider-chapters-element-DPgaLdBt.js.map +0 -1
  388. package/cdn/time-slider-chapters-element-MdlcovBu.js +0 -2
  389. package/cdn/translate-text-BPMWpzFm.js +0 -2
  390. package/cdn/translate-text-BPMWpzFm.js.map +0 -1
  391. package/cdn/translate-text-DP0CzUCC.js.map +0 -1
  392. package/cdn/ui-CecDxhTX.js +0 -2
  393. package/cdn/ui-ChWM6Xz2.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-player-BHFyOnWi.js","names":["#host","#consumer","#unsubscribeRegistry","#base","#keys","hasOwnProp","#current","#markPending","#listeners","#pending","TAP_THRESHOLD","#target","#bindings","#subscribers","#recognizers","#connect","#maybeDisconnect","#disconnect","#popupGroup","#contextStore","#setContainer","#popupGroupProvider","#i18n","#applyLabel","#disconnect","#onPointerUp","#label","#host","#state","#selector","#cached","#subscribe","#unsubscribe","#onAvailable","#directStore","#consumer","#host","#selector","#accessor","#connect","#snapshot","#host","#selector","#consumer","#connect","#store","#media","#mediaProvider","#setMedia","#tryAttach","#container","#containerProvider","#setContainer","#store","#syncInitialConfig","#playerProvider","#queueFallbackDiscovery","#detachStore","#detach","#configuredStore","#fallbackQueued"],"sources":["../../utils/dist/object/shallow-equal.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/value-notifier.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/controllers/context-provider.js","../src/i18n/context.ts","../../utils/dist/dom/event.js","../../utils/dist/dom/focus.js","../../utils/dist/dom/interactive.js","../../utils/dist/function/noop.js","../../utils/dist/dom/predicates.js","../../utils/dist/dom/time-ranges.js","../../utils/dist/dom/tree.js","../src/i18n/controller.ts","../../store/dist/dev/core/abort-controller-registry.js","../../store/dist/dev/core/combine.js","../../store/dist/dev/core/errors.js","../../store/dist/dev/core/slice.js","../../store/dist/dev/core/state.js","../../store/dist/dev/core/store.js","../../core/dist/dev/dom/feature.js","../../media/dist/dev/core/predicate.js","../../core/dist/dev/dom/store/features/audio-track.js","../../core/dist/dev/dom/store/features/buffer.js","../../core/dist/dev/dom/gesture/region.js","../../core/dist/dev/dom/gesture/coordinator.js","../../core/dist/dev/dom/presentation/remote-playback.js","../../core/dist/dev/dom/store/features/controls.js","../../core/dist/dev/dom/store/features/error.js","../../core/dist/dev/dom/presentation/fullscreen.js","../../core/dist/dev/dom/presentation/pip.js","../../core/dist/dev/dom/store/features/fullscreen.js","../../core/dist/dev/dom/store/features/live.js","../../core/dist/dev/dom/store/features/metadata.js","../../core/dist/dev/dom/store/features/pip.js","../../core/dist/dev/dom/store/features/playback.js","../../core/dist/dev/dom/store/features/playback-rate.js","../../core/dist/dev/dom/store/features/quality.js","../../core/dist/dev/dom/store/features/remote-playback.js","../../core/dist/dev/dom/store/features/source.js","../../core/dist/dev/dom/store/features/text-track.js","../../core/dist/dev/dom/store/signal-keys.js","../../core/dist/dev/dom/store/features/time.js","../../core/dist/dev/dom/store/features/volume.js","../../core/dist/dev/dom/store/features/presets.js","../../core/dist/dev/dom/ui/container-attrs.js","../../core/dist/dev/dom/ui/popover/popup-group.js","../../core/dist/dev/i18n/text/container.js","../src/player/popup-group-context.ts","../src/store/container-mixin.ts","../src/media/container-element.ts","../../store/dist/dev/html/controllers/snapshot-controller.js","../../store/dist/dev/html/store-accessor.js","../../store/dist/dev/html/controllers/store-controller.js","../src/player/player-controller.ts","../src/store/provider-mixin.ts","../src/player/create-player.ts"],"sourcesContent":["//#region src/object/shallow-equal.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\n/** Shallowly compares values, including own string and symbol keys. */\nfunction shallowEqual(a, b) {\n\tif (Object.is(a, b)) return true;\n\tif (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) return false;\n\tconst keysA = Reflect.ownKeys(a);\n\tconst keysB = Reflect.ownKeys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tfor (const key of keysA) if (!hasOwn.call(b, key) || !Object.is(a[key], b[key])) return false;\n\treturn true;\n}\n//#endregion\nexport { shallowEqual };\n\n//# sourceMappingURL=shallow-equal.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * A simple class which stores a value, and triggers registered callbacks when\n * the value is changed via its setter.\n *\n * An implementor might use other observable patterns such as MobX or Redux to\n * get behavior like this. But this is a pretty minimal approach that will\n * likely work for a number of use cases.\n */\nexport class ValueNotifier {\n get value() {\n return this._value;\n }\n set value(v) {\n this.setValue(v);\n }\n setValue(v, force = false) {\n const update = force || !Object.is(v, this._value);\n this._value = v;\n if (update) {\n this.updateObservers();\n }\n }\n constructor(defaultValue) {\n this.subscriptions = new Map();\n this.updateObservers = () => {\n for (const [callback, { disposer }] of this.subscriptions) {\n callback(this._value, disposer);\n }\n };\n if (defaultValue !== undefined) {\n this.value = defaultValue;\n }\n }\n addCallback(callback, consumerHost, subscribe) {\n if (!subscribe) {\n // just call the callback once and we're done\n callback(this.value);\n return;\n }\n if (!this.subscriptions.has(callback)) {\n this.subscriptions.set(callback, {\n disposer: () => {\n this.subscriptions.delete(callback);\n },\n consumerHost,\n });\n }\n const { disposer } = this.subscriptions.get(callback);\n callback(this.value, disposer);\n }\n clearCallbacks() {\n this.subscriptions.clear();\n }\n}\n//# sourceMappingURL=value-notifier.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { ContextRequestEvent } from '../context-request-event.js';\nimport { ValueNotifier } from '../value-notifier.js';\nexport class ContextProviderEvent extends Event {\n /**\n *\n * @param context the context which this provider can provide\n * @param contextTarget the original context target of the provider\n */\n constructor(context, contextTarget) {\n super('context-provider', { bubbles: true, composed: true });\n this.context = context;\n this.contextTarget = contextTarget;\n }\n}\n/**\n * A ReactiveController which adds context provider behavior to a\n * custom element.\n *\n * This controller simply listens to the `context-request` event when\n * the host is connected to the DOM and registers the received callbacks\n * against its observable Context implementation.\n *\n * The controller may also be attached to any HTML element in which case it's\n * up to the user to call hostConnected() when attached to the DOM. This is\n * done automatically for any custom elements implementing\n * ReactiveControllerHost.\n */\nexport class ContextProvider extends ValueNotifier {\n constructor(host, contextOrOptions, initialValue) {\n super(contextOrOptions.context !== undefined\n ? contextOrOptions.initialValue\n : initialValue);\n this.onContextRequest = (ev) => {\n // Only call the callback if the context matches.\n if (ev.context !== this.context) {\n return;\n }\n // Also, in case an element is a consumer AND a provider\n // of the same context, we want to avoid the element to self-register.\n const consumerHost = ev.contextTarget ?? ev.composedPath()[0];\n if (consumerHost === this.host) {\n return;\n }\n ev.stopPropagation();\n this.addCallback(ev.callback, consumerHost, ev.subscribe);\n };\n /**\n * When we get a provider request event, that means a child of this element\n * has just woken up. If it's a provider of our context, then we may need to\n * re-parent our subscriptions, because is a more specific provider than us\n * for its subtree.\n */\n this.onProviderRequest = (ev) => {\n // Ignore events when the context doesn't match.\n if (ev.context !== this.context) {\n return;\n }\n // Also, in case an element is a consumer AND a provider\n // of the same context it shouldn't provide to itself.\n const childProviderHost = ev.contextTarget ?? ev.composedPath()[0];\n if (childProviderHost === this.host) {\n return;\n }\n // Re-parent all of our subscriptions in case this new child provider\n // should take them over.\n const seen = new Set();\n for (const [callback, { consumerHost }] of this.subscriptions) {\n // Prevent infinite loops in the case where a one host element\n // is providing the same context multiple times.\n //\n // While normally it's a no-op to attempt to re-parent a subscription\n // that already has its proper parent, in the case where there's more\n // than one ValueProvider for the same context on the same hostElement,\n // they will each call the consumer, and since they will each have their\n // own dispose function, a well behaved consumer will notice the change\n // in dispose function and call their old one.\n //\n // This will cause the subscriptions to thrash, but worse, without this\n // set check here, we can end up in an infinite loop, as we add and remove\n // the same subscriptions onto the end of the map over and over.\n if (seen.has(callback)) {\n continue;\n }\n seen.add(callback);\n consumerHost.dispatchEvent(new ContextRequestEvent(this.context, consumerHost, callback, true));\n }\n ev.stopPropagation();\n };\n this.host = host;\n if (contextOrOptions.context !== undefined) {\n this.context = contextOrOptions.context;\n }\n else {\n this.context = contextOrOptions;\n }\n this.attachListeners();\n this.host.addController?.(this);\n }\n attachListeners() {\n this.host.addEventListener('context-request', this.onContextRequest);\n this.host.addEventListener('context-provider', this.onProviderRequest);\n }\n hostConnected() {\n // emit an event to signal a provider is available for this context\n this.host.dispatchEvent(new ContextProviderEvent(this.context, this.host));\n }\n}\n//# sourceMappingURL=context-provider.js.map","import type { Locale, Translator } from '@videojs/core/i18n';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// i18n Context\n// ----------------------------------------\n\nexport const I18N_CONTEXT_KEY = Symbol.for('@videojs/i18n');\n\nexport type I18nContextValue = {\n translator: Translator;\n locale: Locale;\n};\n\n/** Per-factory context identity (see {@link createI18n}). */\nexport type I18nContext = Context<symbol, I18nContextValue>;\n\n/**\n * The default i18n context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const i18nContext = createContext<I18nContextValue, typeof I18N_CONTEXT_KEY>(I18N_CONTEXT_KEY);\n","//#region src/dom/event.ts\n/** Resolve the deepest event target, preferring composedPath for shadow DOM. */\nfunction resolveEventTarget(event) {\n\tconst path = event.composedPath();\n\treturn path.length > 0 ? path[0] : event.target;\n}\nfunction onEvent(target, type, options) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst handleAbort = () => {\n\t\t\treject(options?.signal?.reason ?? \"Aborted\");\n\t\t};\n\t\tif (options?.signal?.aborted) {\n\t\t\thandleAbort();\n\t\t\treturn;\n\t\t}\n\t\toptions?.signal?.addEventListener(\"abort\", handleAbort, { once: true });\n\t\ttarget.addEventListener(type, (event) => {\n\t\t\toptions?.signal?.removeEventListener(\"abort\", handleAbort);\n\t\t\tresolve(event);\n\t\t}, {\n\t\t\t...options,\n\t\t\tonce: true\n\t\t});\n\t});\n}\n//#endregion\nexport { onEvent, resolveEventTarget };\n\n//# sourceMappingURL=event.js.map","//#region src/dom/focus.ts\nfunction getDeepActiveElement(root = document) {\n\tlet active = root.activeElement;\n\twhile (active?.shadowRoot?.activeElement) active = active.shadowRoot.activeElement;\n\treturn active;\n}\n//#endregion\nexport { getDeepActiveElement };\n\n//# sourceMappingURL=focus.js.map","import { resolveEventTarget } from \"./event.js\";\n//#region src/dom/interactive.ts\nconst INTERACTIVE_SELECTOR = [\n\t\"button\",\n\t\"input\",\n\t\"select\",\n\t\"textarea\",\n\t\"a[href]\",\n\t\"[role=\\\"button\\\"]\",\n\t\"[role=\\\"menu\\\"]\",\n\t\"[role=\\\"menuitem\\\"]\",\n\t\"[role=\\\"menuitemcheckbox\\\"]\",\n\t\"[role=\\\"menuitemradio\\\"]\",\n\t\"[role=\\\"slider\\\"]\",\n\t\"[data-interactive]\"\n].join(\",\");\nconst EDITABLE_SELECTOR = [\n\t\"textarea\",\n\t\"select\",\n\t\"input:not([type])\",\n\t...[\n\t\t\"text\",\n\t\t\"search\",\n\t\t\"url\",\n\t\t\"tel\",\n\t\t\"email\",\n\t\t\"password\",\n\t\t\"number\"\n\t].map((type) => `input[type=\"${type}\"]`),\n\t\"[contenteditable]:not([contenteditable=\\\"false\\\"])\"\n].join(\",\");\nfunction isEditableElement(el) {\n\treturn el.matches(EDITABLE_SELECTOR);\n}\n/** Whether the keyboard event target is an editable element (input, textarea, etc). */\nfunction isEditableTarget(event) {\n\tconst target = resolveEventTarget(event);\n\treturn target instanceof Element && isEditableElement(target);\n}\n/** Whether the event originated from an interactive control (button, slider, etc). */\nfunction isInteractiveTarget(event) {\n\tconst target = resolveEventTarget(event);\n\tif (!(target instanceof Element)) return false;\n\treturn target.closest(INTERACTIVE_SELECTOR) !== null;\n}\nconst ACTIVATION_KEYS = /* @__PURE__ */ new Set([\" \", \"Enter\"]);\n/**\n* Selector for elements that use Space/Enter as a native activation key.\n* Narrower than `INTERACTIVE_SELECTOR` — excludes editable elements like\n* `input`, `textarea`, `select` where Space/Enter is text input, not activation.\n*/\nconst ACTIVATABLE_SELECTOR = \"button,a[href],[role=\\\"slider\\\"],[role=\\\"button\\\"]\";\n/** Whether the event is an activation key on an activatable element (button, link, slider). */\nfunction isInteractiveActivation(event) {\n\tif (!ACTIVATION_KEYS.has(event.key)) return false;\n\tconst target = resolveEventTarget(event);\n\treturn target instanceof Element && target.matches(ACTIVATABLE_SELECTOR);\n}\n//#endregion\nexport { EDITABLE_SELECTOR, INTERACTIVE_SELECTOR, isEditableElement, isEditableTarget, isInteractiveActivation, isInteractiveTarget };\n\n//# sourceMappingURL=interactive.js.map","//#region src/function/noop.ts\nfunction noop(..._args) {}\n//#endregion\nexport { noop };\n\n//# sourceMappingURL=noop.js.map","//#region src/dom/predicates.ts\nfunction isDocument(value) {\n\treturn value instanceof Node && value.nodeType === 9;\n}\nfunction isShadowRoot(value) {\n\treturn value instanceof Node && value.nodeType === 11 && \"host\" in value;\n}\nfunction isHTMLVideoElement(value) {\n\treturn value instanceof HTMLVideoElement;\n}\nfunction isHTMLAudioElement(value) {\n\treturn value instanceof HTMLAudioElement;\n}\nfunction isHTMLMediaElement(value) {\n\treturn value instanceof HTMLMediaElement;\n}\n//#endregion\nexport { isDocument, isHTMLAudioElement, isHTMLMediaElement, isHTMLVideoElement, isShadowRoot };\n\n//# sourceMappingURL=predicates.js.map","//#region src/dom/time-ranges.ts\n/** Converts a TimeRanges object to an array of [start, end] tuples. */\nfunction serializeTimeRanges(ranges) {\n\tconst result = [];\n\tfor (let i = 0; i < ranges.length; i++) result.push([ranges.start(i), ranges.end(i)]);\n\treturn result;\n}\n//#endregion\nexport { serializeTimeRanges };\n\n//# sourceMappingURL=time-ranges.js.map","import { isShadowRoot } from \"./predicates.js\";\n//#region src/dom/tree.ts\nfunction containsComposed(root, element) {\n\tlet current = element;\n\twhile (current) {\n\t\tif (current === root || root.contains(current)) return true;\n\t\tconst nodeRoot = current.getRootNode();\n\t\tcurrent = isShadowRoot(nodeRoot) ? nodeRoot.host : current.parentNode;\n\t}\n\treturn false;\n}\n//#endregion\nexport { containsComposed };\n\n//# sourceMappingURL=tree.js.map","import {\n createTranslator,\n DEFAULT_LOCALE,\n getI18nTranslations,\n type Locale,\n onI18nRegistryChange,\n type Translator,\n} from '@videojs/core/i18n';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { I18nContext } from './context';\n\nlet fallbackTranslator: Translator | undefined;\n\nexport type I18nControllerHost = ReactiveControllerHost & HTMLElement;\n\nexport function getFallbackTranslator(): Translator {\n fallbackTranslator ??= createTranslator(getI18nTranslations(DEFAULT_LOCALE), DEFAULT_LOCALE);\n return fallbackTranslator;\n}\n\nexport class I18nController implements ReactiveController {\n readonly #host: I18nControllerHost;\n readonly #consumer: ContextConsumer<I18nContext, I18nControllerHost>;\n #unsubscribeRegistry: (() => void) | undefined;\n\n constructor(host: I18nControllerHost, context: I18nContext) {\n this.#host = host;\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: () => this.#host.requestUpdate(),\n subscribe: true,\n });\n host.addController(this);\n }\n\n get value(): Translator {\n return this.#consumer.value?.translator ?? getFallbackTranslator();\n }\n\n get locale(): Locale {\n return this.#consumer.value?.locale ?? DEFAULT_LOCALE;\n }\n\n hostConnected(): void {\n fallbackTranslator = undefined;\n this.#unsubscribeRegistry = onI18nRegistryChange(() => {\n fallbackTranslator = undefined;\n if (!this.#consumer.value) {\n this.#host.requestUpdate();\n }\n });\n }\n\n hostDisconnected(): void {\n this.#unsubscribeRegistry?.();\n this.#unsubscribeRegistry = undefined;\n }\n}\n\nexport namespace I18nController {\n export type Constructor = typeof I18nController;\n export type Host = I18nControllerHost;\n}\n","import { anyAbortSignal } from \"@videojs/utils/events\";\n//#region src/core/abort-controller-registry.ts\nvar AbortControllerRegistry = class {\n\t#base;\n\t#keys = /* @__PURE__ */ new Map();\n\t/** The attach-scoped signal. Aborts on detach or reattach. */\n\tget base() {\n\t\treturn (this.#base ??= new AbortController()).signal;\n\t}\n\t/** Clears all keyed signals, leaving base intact. */\n\tclear() {\n\t\tfor (const controller of this.#keys.values()) controller.abort();\n\t\tthis.#keys.clear();\n\t}\n\t/** Resets base and clears all keyed signals. */\n\treset() {\n\t\tthis.clear();\n\t\tthis.#base?.abort();\n\t\tthis.#base = void 0;\n\t}\n\t/** Creates a new signal for the key, superseding any previous signal. */\n\tsupersede(key) {\n\t\tthis.#keys.get(key)?.abort();\n\t\tconst controller = new AbortController();\n\t\tthis.#keys.set(key, controller);\n\t\treturn anyAbortSignal([this.base, controller.signal]);\n\t}\n};\n//#endregion\nexport { AbortControllerRegistry };\n\n//# sourceMappingURL=abort-controller-registry.js.map","//#region src/core/combine.ts\n/**\n* Combines multiple slices into a single slice.\n*\n* @param slices - The slices to combine.\n* @returns A new slice that represents the combination of the input slices.\n*/\nfunction combine(...slices) {\n\tconst derivedDefinitions = slices.map((slice) => slice.derived ?? {});\n\twarnDuplicates(\"derived\", derivedDefinitions);\n\treturn {\n\t\tstate: (ctx) => {\n\t\t\tconst states = slices.map((slice) => slice.state(ctx));\n\t\t\twarnDuplicates(\"state\", states);\n\t\t\twarnOverlaps(states, derivedDefinitions);\n\t\t\treturn Object.assign({}, ...states);\n\t\t},\n\t\tpreserve: Array.from(new Set(slices.flatMap((slice) => slice.preserve ?? []))),\n\t\tderived: Object.assign({}, ...derivedDefinitions),\n\t\tattach: (ctx) => {\n\t\t\tfor (const slice of slices) try {\n\t\t\t\tslice.attach?.(ctx);\n\t\t\t} catch (err) {\n\t\t\t\tctx.reportError(err);\n\t\t\t}\n\t\t}\n\t};\n}\nfunction warnDuplicates(namespace, objects) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const object of objects) for (const key of Reflect.ownKeys(object)) {\n\t\tif (seen.has(key)) console.warn(`[vjs-store] combine(): duplicate ${namespace} key \"${String(key)}\" — later slice overwrites earlier one`);\n\t\tseen.add(key);\n\t}\n}\nfunction warnOverlaps(states, derivedDefinitions) {\n\tconst stateKeys = new Set(states.flatMap((state) => Reflect.ownKeys(state)));\n\tfor (const key of new Set(derivedDefinitions.flatMap((derived) => Reflect.ownKeys(derived)))) if (stateKeys.has(key)) console.warn(`[vjs-store] combine(): state and derived key \"${String(key)}\" overlap — derived state overwrites source state`);\n}\n//#endregion\nexport { combine };\n\n//# sourceMappingURL=combine.js.map","//#region src/core/errors.ts\nvar StoreError = class extends Error {\n\tcode;\n\tcause;\n\tconstructor(code, options) {\n\t\tsuper(options?.message ?? code);\n\t\tthis.name = \"StoreError\";\n\t\tthis.code = code;\n\t\tthis.cause = options?.cause;\n\t}\n};\nfunction isStoreError(error) {\n\treturn error instanceof StoreError;\n}\nfunction throwNoTargetError() {\n\tthrow new StoreError(\"NO_TARGET\");\n}\nfunction throwDestroyedError() {\n\tthrow new StoreError(\"DESTROYED\");\n}\n//#endregion\nexport { StoreError, isStoreError, throwDestroyedError, throwNoTargetError };\n\n//# sourceMappingURL=errors.js.map","//#region src/core/slice.ts\nfunction defineSlice() {\n\treturn ((config) => config);\n}\n//#endregion\nexport { defineSlice };\n\n//# sourceMappingURL=slice.js.map","import { shallowEqual } from \"@videojs/utils/object\";\nimport { noop } from \"@videojs/utils/function\";\n//#region src/core/state.ts\nlet isFlushScheduled = false;\nfunction scheduleFlush() {\n\tif (isFlushScheduled) return;\n\tisFlushScheduled = true;\n\tqueueMicrotask(flush);\n}\nconst pendingContainers = /* @__PURE__ */ new Set();\nfunction flush() {\n\tisFlushScheduled = false;\n\tfor (const container of pendingContainers) container.flush();\n\tpendingContainers.clear();\n}\nconst hasOwnProp = Object.prototype.hasOwnProperty;\nvar StateContainer = class {\n\t#current;\n\t#listeners = /* @__PURE__ */ new Set();\n\t#pending = false;\n\tconstructor(initial) {\n\t\tthis.#current = Object.freeze({ ...initial });\n\t}\n\tget current() {\n\t\treturn this.#current;\n\t}\n\tpatch(partial) {\n\t\tconst next = { ...this.#current };\n\t\tlet changed = false;\n\t\tfor (const key of Reflect.ownKeys(partial)) {\n\t\t\tif (!hasOwnProp.call(partial, key)) continue;\n\t\t\tconst value = partial[key];\n\t\t\tif (!Object.is(this.#current[key], value)) {\n\t\t\t\tnext[key] = value;\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t}\n\t\tif (changed) {\n\t\t\tthis.#current = Object.freeze(next);\n\t\t\tthis.#markPending();\n\t\t}\n\t}\n\treplace(next) {\n\t\tif (shallowEqual(this.#current, next)) return;\n\t\tthis.#current = Object.freeze({ ...next });\n\t\tthis.#markPending();\n\t}\n\tsubscribe(callback, options) {\n\t\tconst signal = options?.signal;\n\t\tif (signal?.aborted) return noop;\n\t\tthis.#listeners.add(callback);\n\t\tif (!signal) return () => this.#listeners.delete(callback);\n\t\tconst onAbort = () => this.#listeners.delete(callback);\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\treturn () => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\tthis.#listeners.delete(callback);\n\t\t};\n\t}\n\tflush() {\n\t\tif (!this.#pending) return;\n\t\tthis.#pending = false;\n\t\tfor (const fn of this.#listeners) fn();\n\t}\n\t#markPending() {\n\t\tthis.#pending = true;\n\t\tpendingContainers.add(this);\n\t\tscheduleFlush();\n\t}\n};\nfunction createState(initial) {\n\treturn new StateContainer(initial);\n}\nfunction isState(value) {\n\treturn value instanceof StateContainer;\n}\n//#endregion\nexport { createState, flush, isState };\n\n//# sourceMappingURL=state.js.map","import { AbortControllerRegistry } from \"./abort-controller-registry.js\";\nimport { throwDestroyedError, throwNoTargetError } from \"./errors.js\";\nimport { createState } from \"./state.js\";\nimport { isNull, isObject } from \"@videojs/utils/predicate\";\n//#region src/core/store.ts\nconst STORE_SYMBOL = Symbol.for(\"@videojs/store\");\nconst hasOwnProp = Object.prototype.hasOwnProperty;\nfunction createStore() {\n\treturn ((slice, options = {}) => {\n\t\tlet target = null;\n\t\tlet destroyed = false;\n\t\tconst setupAbort = new AbortController();\n\t\tconst signals = new AbortControllerRegistry();\n\t\tlet sourceState;\n\t\tlet state;\n\t\tfunction validate() {\n\t\t\tif (destroyed) throwDestroyedError();\n\t\t\tif (!target) throwNoTargetError();\n\t\t}\n\t\tconst initialSourceState = freezeCopy(slice.state({\n\t\t\ttarget: () => {\n\t\t\t\tvalidate();\n\t\t\t\treturn target;\n\t\t\t},\n\t\t\tsignals,\n\t\t\tget: () => sourceState,\n\t\t\tset: (partial) => setSource(partial)\n\t\t}));\n\t\tsourceState = initialSourceState;\n\t\tconst initialDerivedState = derive(sourceState);\n\t\tstate = createState(publish(sourceState, initialDerivedState));\n\t\tconst store = {\n\t\t\t[STORE_SYMBOL]: true,\n\t\t\tget $state() {\n\t\t\t\treturn state;\n\t\t\t},\n\t\t\tget target() {\n\t\t\t\treturn target;\n\t\t\t},\n\t\t\tget destroyed() {\n\t\t\t\treturn destroyed;\n\t\t\t},\n\t\t\tget state() {\n\t\t\t\treturn state.current;\n\t\t\t},\n\t\t\tattach,\n\t\t\tdestroy,\n\t\t\tsubscribe\n\t\t};\n\t\tfor (const key of Object.keys(state.current)) Object.defineProperty(store, key, {\n\t\t\tget: () => state.current[key],\n\t\t\tenumerable: true\n\t\t});\n\t\tfor (const key of Object.getOwnPropertySymbols(sourceState)) {\n\t\t\tif (typeof sourceState[key] !== \"function\") continue;\n\t\t\tObject.defineProperty(store, key, { get: () => sourceState[key] });\n\t\t}\n\t\ttry {\n\t\t\toptions.onSetup?.({\n\t\t\t\tstore,\n\t\t\t\tsignal: setupAbort.signal\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treportError(error);\n\t\t}\n\t\treturn store;\n\t\tfunction derive(source) {\n\t\t\tconst result = {};\n\t\t\tconst definitions = slice.derived;\n\t\t\tif (!definitions) return result;\n\t\t\tconst ctx = { get: () => source };\n\t\t\tfor (const key of Object.keys(definitions)) result[key] = definitions[key](ctx);\n\t\t\treturn result;\n\t\t}\n\t\tfunction publish(source, derived) {\n\t\t\tconst result = {};\n\t\t\tfor (const key of Object.keys(source)) result[key] = source[key];\n\t\t\treturn Object.assign(result, derived);\n\t\t}\n\t\tfunction setSource(partial) {\n\t\t\tconst patched = patchSource(sourceState, partial);\n\t\t\tif (!patched) return;\n\t\t\tconst nextDerived = derive(patched.next);\n\t\t\tsourceState = patched.next;\n\t\t\tstate.replace(publish(sourceState, nextDerived));\n\t\t}\n\t\tfunction attach(newTarget) {\n\t\t\tif (destroyed) throwDestroyedError();\n\t\t\tsignals.reset();\n\t\t\ttarget = newTarget;\n\t\t\tconst attachContext = {\n\t\t\t\ttarget: newTarget,\n\t\t\t\tsignal: signals.base,\n\t\t\t\tget: () => sourceState,\n\t\t\t\tset: (partial) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetSource(partial);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treportError(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\treportError,\n\t\t\t\tstore: {\n\t\t\t\t\tget state() {\n\t\t\t\t\t\treturn state.current;\n\t\t\t\t\t},\n\t\t\t\t\tsubscribe\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tslice.attach?.(attachContext);\n\t\t\t} catch (error) {\n\t\t\t\treportError(error);\n\t\t\t}\n\t\t\ttry {\n\t\t\t\toptions.onAttach?.({\n\t\t\t\t\tstore,\n\t\t\t\t\ttarget: newTarget,\n\t\t\t\t\tsignal: signals.base\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\treportError(error);\n\t\t\t}\n\t\t\treturn detach;\n\t\t}\n\t\tfunction detach() {\n\t\t\tif (isNull(target)) return;\n\t\t\tsignals.reset();\n\t\t\ttarget = null;\n\t\t\tconst resetState = { ...initialSourceState };\n\t\t\tfor (const key of slice.preserve ?? []) resetState[key] = sourceState[key];\n\t\t\tsetSource(resetState);\n\t\t}\n\t\tfunction destroy() {\n\t\t\tif (destroyed) return;\n\t\t\tdestroyed = true;\n\t\t\tdetach();\n\t\t\tsetupAbort.abort();\n\t\t}\n\t\tfunction subscribe(callback, options) {\n\t\t\treturn state.subscribe(callback, options);\n\t\t}\n\t\tfunction reportError(error) {\n\t\t\tif (options.onError) options.onError({\n\t\t\t\tstore,\n\t\t\t\terror\n\t\t\t});\n\t\t\telse console.error(\"[vjs-store]\", error);\n\t\t}\n\t});\n}\nfunction freezeCopy(value) {\n\treturn Object.freeze({ ...value });\n}\nfunction patchSource(current, partial) {\n\tconst next = { ...current };\n\tlet changed = false;\n\tfor (const key of Reflect.ownKeys(partial)) {\n\t\tif (!hasOwnProp.call(partial, key)) continue;\n\t\tconst value = partial[key];\n\t\tif (Object.is(current[key], value)) continue;\n\t\tnext[key] = value;\n\t\tchanged = true;\n\t}\n\treturn changed ? { next: Object.freeze(next) } : null;\n}\nfunction isStore(value) {\n\treturn isObject(value) && STORE_SYMBOL in value;\n}\n//#endregion\nexport { createStore, isStore };\n\n//# sourceMappingURL=store.js.map","import { defineSlice } from \"@videojs/store\";\nimport { isUndefined } from \"@videojs/utils/predicate\";\n//#region src/dom/feature.ts\nconst definePlayerSlice = defineSlice();\nfunction definePlayerFeature(definition, defaultConfig) {\n\tif (arguments.length === 1) {\n\t\tconst feature = definition;\n\t\tconst preserved = Object.values(feature.config ?? {}).map((entry) => entry.state);\n\t\treturn {\n\t\t\t...feature,\n\t\t\t...preserved.length > 0 ? { preserve: preserved } : {}\n\t\t};\n\t}\n\tconst { name, state, attach } = definition;\n\tconst forConfig = (featureConfig) => definePlayerSlice({\n\t\t...isUndefined(name) ? {} : { name },\n\t\tstate: (ctx) => state(ctx, featureConfig),\n\t\t...attach ? { attach: (ctx) => attach(ctx, featureConfig) } : {}\n\t});\n\tconst defaultFeature = forConfig(defaultConfig);\n\tconst feature = ((featureConfig) => isUndefined(featureConfig) ? defaultFeature : forConfig(featureConfig));\n\tfeature.state = defaultFeature.state;\n\tif (defaultFeature.attach) feature.attach = defaultFeature.attach;\n\tif (!isUndefined(name)) Object.defineProperty(feature, \"name\", { value: name });\n\treturn feature;\n}\n/** Merge the configuration declarations from the selected player features. */\nfunction combinePlayerFeatureConfigs(features) {\n\tconst definitions = features.map((feature) => feature.config ?? {});\n\t{\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\tfor (const definition of definitions) for (const key of Object.keys(definition)) {\n\t\t\tif (seen.has(key)) console.warn(`[vjs-core] duplicate config key \"${key}\" — later feature overwrites earlier one`);\n\t\t\tseen.add(key);\n\t\t}\n\t}\n\treturn Object.assign({}, ...definitions);\n}\n/** Forward one configuration input through its feature-owned private action. */\nfunction setPlayerConfigValue(store, entry, value) {\n\tconst action = store[entry.action];\n\tif (typeof action !== \"function\") throw new TypeError(`Missing config action \"${String(entry.action)}\"`);\n\taction(value);\n}\n//#endregion\nexport { combinePlayerFeatureConfigs, definePlayerFeature, setPlayerConfigValue };\n\n//# sourceMappingURL=feature.js.map","import { EMPTY_REMOTE, EMPTY_TEXT_TRACKS, EMPTY_TIME_RANGES } from \"./constants.js\";\nimport { isFunction, isObject, isUndefined } from \"@videojs/utils/predicate\";\n//#region src/core/predicate.ts\nfunction hasMetadata(media) {\n\treturn media.readyState >= 1;\n}\nfunction isMediaPauseCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.paused) && !isUndefined(media.ended) && isFunction(media.pause);\n}\nfunction isMediaSeekCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.currentTime) && !isUndefined(media.duration) && !isUndefined(media.seeking);\n}\nfunction isMediaSourceCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.src) && !isUndefined(media.currentSrc) && !isUndefined(media.readyState) && isFunction(media.load);\n}\nfunction isMediaVolumeCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.volume) && !isUndefined(media.muted);\n}\n/**\n* Whether the media reports a mute at all, which is a narrower question than\n* `isMediaVolumeCapable`: an embed can take a mute command while offering no way\n* to set a level.\n*/\nfunction isMediaMutedCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.muted);\n}\nfunction isMediaPlaybackRateCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.playbackRate);\n}\n/**\n* Only `requestPictureInPicture` is required. A native video element carries it\n* but leaves exiting to `document`, so demanding the pair would rule out the one\n* media that most certainly can.\n*/\nfunction isMediaPictureInPictureCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn isFunction(value.requestPictureInPicture);\n}\nfunction isMediaBufferCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.buffered) && media.buffered !== EMPTY_TIME_RANGES && !isUndefined(media.seekable) && media.seekable !== EMPTY_TIME_RANGES;\n}\nfunction isMediaErrorCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.error);\n}\nfunction isMediaTextTrackCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.textTracks) && media.textTracks !== EMPTY_TEXT_TRACKS;\n}\nfunction isMediaVideoRenditionCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.videoRenditions);\n}\nfunction isMediaAudioTrackCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.audioTracks);\n}\nfunction isMediaVideoDimensionsCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.videoWidth) && !isUndefined(media.videoHeight);\n}\nfunction isMediaRemotePlaybackCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn isObject(media.remote) && media.remote !== EMPTY_REMOTE;\n}\nfunction isMediaStreamTypeCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.streamType);\n}\nfunction isMediaContentDataCapable(value) {\n\tif (!isObject(value)) return false;\n\treturn !isUndefined(value.contentData);\n}\nfunction isMediaLiveCapable(value) {\n\tif (!isObject(value)) return false;\n\tconst media = value;\n\treturn !isUndefined(media.liveEdgeStart) && !isUndefined(media.targetLiveWindow);\n}\nfunction isQuerySelectorAllCapable(value) {\n\treturn isObject(value) && \"querySelectorAll\" in value && isFunction(value.querySelectorAll);\n}\n//#endregion\nexport { hasMetadata, isMediaAudioTrackCapable, isMediaBufferCapable, isMediaContentDataCapable, isMediaErrorCapable, isMediaLiveCapable, isMediaMutedCapable, isMediaPauseCapable, isMediaPictureInPictureCapable, isMediaPlaybackRateCapable, isMediaRemotePlaybackCapable, isMediaSeekCapable, isMediaSourceCapable, isMediaStreamTypeCapable, isMediaTextTrackCapable, isMediaVideoDimensionsCapable, isMediaVideoRenditionCapable, isMediaVolumeCapable, isQuerySelectorAllCapable };\n\n//# sourceMappingURL=predicate.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaAudioTrackCapable } from \"@videojs/media\";\n//#region src/dom/store/features/audio-track.ts\nfunction getTrackValue(track, index) {\n\treturn track.id || String(index);\n}\nfunction toMediaTrack(track) {\n\treturn {\n\t\t...track.id !== void 0 && { id: track.id },\n\t\t...track.kind !== void 0 && { kind: track.kind },\n\t\tlabel: track.label,\n\t\tlanguage: track.language,\n\t\tenabled: track.enabled\n\t};\n}\nconst audioTrackFeature = definePlayerFeature({\n\tname: \"audioTrack\",\n\tstate: ({ target }) => ({\n\t\taudioTrackList: [],\n\t\tselectAudioTrack(value) {\n\t\t\tconst { media } = target();\n\t\t\tif (!isMediaAudioTrackCapable(media)) return;\n\t\t\tconst tracks = [...media.audioTracks];\n\t\t\tconst track = tracks.find((candidate, index) => getTrackValue(candidate, index) === value);\n\t\t\tif (!track) return;\n\t\t\tfor (const candidate of tracks) candidate.enabled = candidate === track;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tlet audioTracks = null;\n\t\tlet cleanup = null;\n\t\tconst getAudioTracks = () => isMediaAudioTrackCapable(media) ? media.audioTracks : null;\n\t\tconst sync = (list = getAudioTracks()) => {\n\t\t\tset({ audioTrackList: list ? [...list].map(toMediaTrack) : [] });\n\t\t};\n\t\tconst bind = () => {\n\t\t\tconst nextAudioTracks = getAudioTracks();\n\t\t\tif (nextAudioTracks === audioTracks) {\n\t\t\t\tsync(nextAudioTracks);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup?.abort();\n\t\t\tcleanup = new AbortController();\n\t\t\taudioTracks = nextAudioTracks;\n\t\t\tif (audioTracks) {\n\t\t\t\tlisten(audioTracks, \"addtrack\", () => sync(audioTracks), { signal: cleanup.signal });\n\t\t\t\tlisten(audioTracks, \"removetrack\", () => sync(audioTracks), { signal: cleanup.signal });\n\t\t\t\tlisten(audioTracks, \"change\", () => sync(audioTracks), { signal: cleanup.signal });\n\t\t\t}\n\t\t\tsync(audioTracks);\n\t\t};\n\t\tbind();\n\t\tlisten(media, \"loadstart\", bind, { signal });\n\t\tsignal.addEventListener(\"abort\", () => cleanup?.abort(), { once: true });\n\t}\n});\n//#endregion\nexport { audioTrackFeature };\n\n//# sourceMappingURL=audio-track.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen, serializeTimeRanges } from \"@videojs/utils/dom\";\nimport { isMediaBufferCapable } from \"@videojs/media\";\n//#region src/dom/store/features/buffer.ts\nconst bufferFeature = definePlayerFeature({\n\tname: \"buffer\",\n\tstate: () => ({\n\t\tbuffered: [],\n\t\tseekable: []\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaBufferCapable(media)) return;\n\t\tconst sync = () => set({\n\t\t\tbuffered: serializeTimeRanges(media.buffered),\n\t\t\tseekable: serializeTimeRanges(media.seekable)\n\t\t});\n\t\tsync();\n\t\tlisten(media, \"progress\", sync, { signal });\n\t\tlisten(media, \"emptied\", sync, { signal });\n\t}\n});\n//#endregion\nexport { bufferFeature };\n\n//# sourceMappingURL=buffer.js.map","//#region src/dom/gesture/region.ts\n/**\n* Determine which named region a pointer position falls into.\n*\n* Regions divide the container width equally based on how many are active:\n* - `left` + `right` → halves (50% / 50%)\n* - `left` + `center` + `right` → thirds (33% / 34% / 33%)\n*\n* Single region: `left` covers the left half, `right` the right half,\n* and `center` covers the full surface. Partial two-region combos\n* (e.g. `left` + `center`) use the same natural zones — positions outside\n* all active zones return `null` so full-surface gestures can handle them.\n*/\nfunction resolveRegion(clientX, containerRect, activeRegions) {\n\tif (activeRegions.size === 0) return null;\n\tconst relativeX = clientX - containerRect.left;\n\tconst width = containerRect.width;\n\tif (width === 0) return null;\n\tconst ratio = relativeX / width;\n\tif (activeRegions.size === 2 && activeRegions.has(\"left\") && activeRegions.has(\"right\")) return ratio < .5 ? \"left\" : \"right\";\n\tif (activeRegions.size === 3) {\n\t\tif (ratio < 1 / 3) return \"left\";\n\t\tif (ratio < 2 / 3) return \"center\";\n\t\treturn \"right\";\n\t}\n\tif (activeRegions.has(\"left\") && ratio < .5) return \"left\";\n\tif (activeRegions.has(\"right\") && ratio >= .5) return \"right\";\n\tif (activeRegions.has(\"center\")) {\n\t\tif (activeRegions.size === 1) return \"center\";\n\t\tif (ratio >= 1 / 3 && ratio < 2 / 3) return \"center\";\n\t}\n\treturn null;\n}\n//#endregion\nexport { resolveRegion };\n\n//# sourceMappingURL=region.js.map","import { resolveRegion } from \"./region.js\";\nimport { isInteractiveTarget, listen } from \"@videojs/utils/dom\";\n//#region src/dom/gesture/coordinator.ts\nconst TAP_THRESHOLD = 250;\nvar GestureCoordinator = class {\n\t#target;\n\t#bindings = [];\n\t#recognizers = /* @__PURE__ */ new Set();\n\t#disconnect = null;\n\t#subscribers = /* @__PURE__ */ new Set();\n\tconstructor(target) {\n\t\tthis.#target = target;\n\t}\n\tget bindings() {\n\t\treturn this.#bindings;\n\t}\n\tsubscribe(callback) {\n\t\tthis.#subscribers.add(callback);\n\t\treturn () => this.#subscribers.delete(callback);\n\t}\n\t/**\n\t* Whether a registered binding claims this tap for the given action. A claimed tap\n\t* belongs to the gesture layer, so callers should leave it alone. Taps on interactive\n\t* targets (buttons, sliders) are never claimed — the same filtering the pointerup\n\t* listener applies. A disabled binding still claims: disabling a gesture opts out of\n\t* the action, it doesn't hand the tap back to a fallback handler.\n\t*/\n\tclaimsTap(event, action) {\n\t\tif (isInteractiveTarget(event)) return false;\n\t\treturn this.#bindings.some((b) => b.type === \"tap\" && b.action === action && (!b.pointer || b.pointer === event.pointerType));\n\t}\n\tadd(binding) {\n\t\tconst wrapped = {\n\t\t\t...binding,\n\t\t\tonActivate: (event) => {\n\t\t\t\tif (this.#subscribers.size > 0) {\n\t\t\t\t\tconst activateEvent = {\n\t\t\t\t\t\ttype: binding.type,\n\t\t\t\t\t\tsource: \"gesture\",\n\t\t\t\t\t\taction: binding.action,\n\t\t\t\t\t\tvalue: binding.value,\n\t\t\t\t\t\tregion: binding.region,\n\t\t\t\t\t\tpointer: binding.pointer,\n\t\t\t\t\t\tevent\n\t\t\t\t\t};\n\t\t\t\t\tfor (const cb of this.#subscribers) try {\n\t\t\t\t\t\tcb(activateEvent);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.warn(\"[vjs-gesture] subscribe callback threw:\", error);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbinding.onActivate(event);\n\t\t\t}\n\t\t};\n\t\tthis.#bindings.push(wrapped);\n\t\tthis.#recognizers.add(wrapped.recognizer);\n\t\tthis.#connect();\n\t\tlet removed = false;\n\t\treturn () => {\n\t\t\tif (removed) return;\n\t\t\tremoved = true;\n\t\t\tconst idx = this.#bindings.indexOf(wrapped);\n\t\t\tif (idx !== -1) this.#bindings.splice(idx, 1);\n\t\t\tthis.#maybeDisconnect();\n\t\t};\n\t}\n\t#connect() {\n\t\tif (this.#disconnect) return;\n\t\tthis.#disconnect = new AbortController();\n\t\tconst { signal } = this.#disconnect;\n\t\tlet pointerDownTime = 0;\n\t\tlisten(this.#target, \"pointerdown\", (event) => {\n\t\t\tif (event.button !== 0) return;\n\t\t\tpointerDownTime = Date.now();\n\t\t}, { signal });\n\t\tlisten(this.#target, \"pointerup\", (event) => {\n\t\t\tif (event.button !== 0) return;\n\t\t\tif (Date.now() - pointerDownTime > TAP_THRESHOLD) return;\n\t\t\tif (isInteractiveTarget(event)) return;\n\t\t\tconst pointerType = event.pointerType;\n\t\t\tconst clientX = event.clientX;\n\t\t\tconst target = this.#target;\n\t\t\tconst bindings = this.#bindings;\n\t\t\tconst matches = { resolve: (type) => matchBindings(bindings, type, pointerType, clientX, target) };\n\t\t\tfor (const recognizer of this.#recognizers) recognizer.handleUp(matches, event);\n\t\t}, { signal });\n\t}\n\t#maybeDisconnect() {\n\t\tif (this.#bindings.length > 0) return;\n\t\tfor (const recognizer of this.#recognizers) recognizer.reset();\n\t\tthis.#recognizers.clear();\n\t\tthis.#disconnect?.abort();\n\t\tthis.#disconnect = null;\n\t}\n};\nconst coordinators = /* @__PURE__ */ new WeakMap();\n/** Look up the gesture coordinator for a target element, if one exists. */\nfunction findGestureCoordinator(target) {\n\treturn coordinators.get(target);\n}\nfunction getGestureCoordinator(target) {\n\tlet coordinator = coordinators.get(target);\n\tif (!coordinator) {\n\t\tcoordinator = new GestureCoordinator(target);\n\t\tcoordinators.set(target, coordinator);\n\t}\n\treturn coordinator;\n}\nfunction matchBindings(bindings, type, pointerType, clientX, target) {\n\tconst rect = target.getBoundingClientRect();\n\tconst activeRegions = getActiveRegions(bindings, type, pointerType);\n\tconst region = activeRegions.size > 0 ? resolveRegion(clientX, rect, activeRegions) : null;\n\tconst matches = [];\n\tfor (const binding of bindings) {\n\t\tif (binding.disabled) continue;\n\t\tif (binding.type !== type) continue;\n\t\tif (binding.pointer && binding.pointer !== pointerType) continue;\n\t\tif (binding.region) {\n\t\t\tif (binding.region !== region) continue;\n\t\t} else if (region !== null) continue;\n\t\tmatches.push(binding);\n\t}\n\treturn matches;\n}\nfunction getActiveRegions(bindings, type, pointerType) {\n\tconst regions = /* @__PURE__ */ new Set();\n\tfor (const binding of bindings) {\n\t\tif (binding.disabled) continue;\n\t\tif (binding.type !== type) continue;\n\t\tif (binding.pointer && binding.pointer !== pointerType) continue;\n\t\tif (binding.region) regions.add(binding.region);\n\t}\n\treturn regions;\n}\n//#endregion\nexport { GestureCoordinator, findGestureCoordinator, getGestureCoordinator };\n\n//# sourceMappingURL=coordinator.js.map","import { isObject } from \"@videojs/utils/predicate\";\n//#region src/dom/presentation/remote-playback.ts\nfunction resolveRemote(media) {\n\tconst target = media;\n\tif (isObject(target.remote) && \"state\" in target.remote && \"prompt\" in target.remote) return target.remote;\n}\nfunction isRemotePlaybackConnected(media) {\n\treturn resolveRemote(media)?.state === \"connected\";\n}\nfunction isRemotePlaybackConnecting(media) {\n\treturn resolveRemote(media)?.state === \"connecting\";\n}\nasync function requestRemotePlayback(media) {\n\tconst remote = resolveRemote(media);\n\tif (!remote) throw new DOMException(\"Remote playback not supported\", \"NotSupportedError\");\n\treturn remote.prompt();\n}\n//#endregion\nexport { isRemotePlaybackConnected, isRemotePlaybackConnecting, requestRemotePlayback };\n\n//# sourceMappingURL=remote-playback.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { findGestureCoordinator } from \"../../gesture/coordinator.js\";\nimport { isRemotePlaybackConnected, isRemotePlaybackConnecting } from \"../../presentation/remote-playback.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isNull } from \"@videojs/utils/predicate\";\nimport { isMediaPauseCapable, isMediaRemotePlaybackCapable } from \"@videojs/media\";\n//#region src/dom/store/features/controls.ts\nconst IDLE_DELAY = 2e3;\nconst TAP_THRESHOLD = 250;\nconst TOUCH_SETTLE_DELAY = 500;\nconst controlsActionsByRequest = /* @__PURE__ */ new WeakMap();\nconst controlsFeature = definePlayerFeature({\n\tname: \"controls\",\n\tstate: ({ get, set }) => {\n\t\tconst fallbackRequestControlsLock = () => {\n\t\t\tset({ controlsVisible: true });\n\t\t\treturn () => {};\n\t\t};\n\t\tconst fallbackToggleControls = () => {\n\t\t\tconst next = !get().userActive;\n\t\t\tset({\n\t\t\t\tuserActive: next,\n\t\t\t\tcontrolsVisible: next\n\t\t\t});\n\t\t\treturn next;\n\t\t};\n\t\tconst actions = createControlsActions(fallbackRequestControlsLock, fallbackToggleControls);\n\t\tcontrolsActionsByRequest.set(actions.requestControlsLock, actions);\n\t\treturn {\n\t\t\tuserActive: true,\n\t\t\tcontrolsVisible: true,\n\t\t\trequestControlsLock: actions.requestControlsLock,\n\t\t\ttoggleControls: actions.toggleControls\n\t\t};\n\t},\n\tattach({ target, signal, get, set }) {\n\t\tconst { media, container } = target;\n\t\tif (!isMediaPauseCapable(media) || isNull(container)) {\n\t\t\tif (isNull(container)) console.warn(\"[vjs] controlsFeature requires a container element for activity tracking.\");\n\t\t\treturn;\n\t\t}\n\t\tlet idleTimer;\n\t\tlet controlsLockCount = 0;\n\t\tconst computeVisible = (userActive) => {\n\t\t\treturn controlsLockCount > 0 || userActive || media.paused || isRemotePlaybackConnected(media) || isRemotePlaybackConnecting(media);\n\t\t};\n\t\tfunction clearIdle() {\n\t\t\tclearTimeout(idleTimer);\n\t\t\tidleTimer = void 0;\n\t\t}\n\t\tfunction scheduleIdle() {\n\t\t\tclearIdle();\n\t\t\tif (controlsLockCount > 0) return;\n\t\t\tidleTimer = setTimeout(setInactive, IDLE_DELAY);\n\t\t}\n\t\tfunction setActive() {\n\t\t\tif (!get().userActive) set({\n\t\t\t\tuserActive: true,\n\t\t\t\tcontrolsVisible: true\n\t\t\t});\n\t\t\tscheduleIdle();\n\t\t}\n\t\tfunction setInactive() {\n\t\t\tclearIdle();\n\t\t\tset({\n\t\t\t\tuserActive: false,\n\t\t\t\tcontrolsVisible: computeVisible(false)\n\t\t\t});\n\t\t}\n\t\tfunction requestControlsLock() {\n\t\t\tcontrolsLockCount++;\n\t\t\tclearIdle();\n\t\t\tif (!get().controlsVisible) set({ controlsVisible: true });\n\t\t\tlet released = false;\n\t\t\treturn () => {\n\t\t\t\tif (released || signal.aborted) return;\n\t\t\t\treleased = true;\n\t\t\t\tcontrolsLockCount--;\n\t\t\t\tif (controlsLockCount === 0) setActive();\n\t\t\t};\n\t\t}\n\t\tfunction toggleControls() {\n\t\t\tif (get().controlsVisible) setInactive();\n\t\t\telse setActive();\n\t\t\treturn get().controlsVisible;\n\t\t}\n\t\tconst actions = controlsActionsByRequest.get(get().requestControlsLock);\n\t\tactions.setDelegates(requestControlsLock, toggleControls);\n\t\tlet pointerDownTime = 0;\n\t\tlet lastTouchAt = 0;\n\t\tconst isRecentTouch = () => lastTouchAt > 0 && Date.now() - lastTouchAt < TOUCH_SETTLE_DELAY;\n\t\tfunction onPointerDown(event) {\n\t\t\tpointerDownTime = Date.now();\n\t\t\tif (event.pointerType === \"touch\") lastTouchAt = pointerDownTime;\n\t\t}\n\t\tfunction onPointerUp(event) {\n\t\t\tif (event.pointerType === \"touch\") lastTouchAt = Date.now();\n\t\t\tif (event.pointerType === \"touch\" && Date.now() - pointerDownTime < TAP_THRESHOLD) {\n\t\t\t\tif (findGestureCoordinator(container)?.claimsTap(event, \"toggleControls\")) return;\n\t\t\t\tconst isMediaOrContainer = [media, container].includes(event.target);\n\t\t\t\tif (get().controlsVisible && isMediaOrContainer) setInactive();\n\t\t\t\telse setActive();\n\t\t\t} else setActive();\n\t\t}\n\t\tconst onPlaybackChange = () => {\n\t\t\tconst { userActive } = get();\n\t\t\tset({ controlsVisible: computeVisible(userActive) });\n\t\t\tif (!media.paused && userActive) scheduleIdle();\n\t\t};\n\t\tfunction onPointerMove(event) {\n\t\t\tif (event.pointerType === \"touch\") {\n\t\t\t\tif (get().userActive) scheduleIdle();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetActive();\n\t\t}\n\t\tlisten(container, \"pointermove\", onPointerMove, { signal });\n\t\tlisten(container, \"pointerdown\", onPointerDown, { signal });\n\t\tlisten(container, \"pointerup\", onPointerUp, { signal });\n\t\tlisten(container, \"keyup\", setActive, { signal });\n\t\tlisten(container, \"focusin\", () => {\n\t\t\tif (isRecentTouch()) return;\n\t\t\tsetActive();\n\t\t}, { signal });\n\t\tlisten(container, \"mouseleave\", () => {\n\t\t\tif (isRecentTouch()) return;\n\t\t\tsetInactive();\n\t\t}, { signal });\n\t\tlisten(media, \"play\", onPlaybackChange, { signal });\n\t\tlisten(media, \"pause\", onPlaybackChange, { signal });\n\t\tlisten(media, \"ended\", onPlaybackChange, { signal });\n\t\tif (isMediaRemotePlaybackCapable(media)) {\n\t\t\tconst onCastChange = () => {\n\t\t\t\tconst { userActive } = get();\n\t\t\t\tset({ controlsVisible: computeVisible(userActive) });\n\t\t\t};\n\t\t\tlisten(media.remote, \"connect\", onCastChange, { signal });\n\t\t\tlisten(media.remote, \"connecting\", onCastChange, { signal });\n\t\t\tlisten(media.remote, \"disconnect\", onCastChange, { signal });\n\t\t}\n\t\tsignal.addEventListener(\"abort\", () => {\n\t\t\tactions.reset();\n\t\t\tcontrolsLockCount = 0;\n\t\t\tclearIdle();\n\t\t}, { once: true });\n\t\tscheduleIdle();\n\t}\n});\nfunction createControlsActions(fallbackRequestControlsLock, fallbackToggleControls) {\n\tlet requestControlsLockDelegate = fallbackRequestControlsLock;\n\tlet toggleControlsDelegate = fallbackToggleControls;\n\tconst locks = /* @__PURE__ */ new Set();\n\tconst requestControlsLock = () => {\n\t\tconst lock = { release: requestControlsLockDelegate() };\n\t\tlet released = false;\n\t\tlocks.add(lock);\n\t\treturn () => {\n\t\t\tif (released) return;\n\t\t\treleased = true;\n\t\t\tlocks.delete(lock);\n\t\t\tlock.release();\n\t\t};\n\t};\n\tconst toggleControls = () => toggleControlsDelegate();\n\tconst actions = {\n\t\trequestControlsLock,\n\t\ttoggleControls,\n\t\tsetDelegates(nextRequestControlsLock, nextToggleControls) {\n\t\t\tif (nextRequestControlsLock !== requestControlsLockDelegate) {\n\t\t\t\trequestControlsLockDelegate = nextRequestControlsLock;\n\t\t\t\tfor (const lock of locks) {\n\t\t\t\t\tlock.release();\n\t\t\t\t\tlock.release = nextRequestControlsLock();\n\t\t\t\t}\n\t\t\t}\n\t\t\ttoggleControlsDelegate = nextToggleControls;\n\t\t},\n\t\treset() {\n\t\t\tactions.setDelegates(fallbackRequestControlsLock, fallbackToggleControls);\n\t\t}\n\t};\n\treturn actions;\n}\n//#endregion\nexport { controlsFeature };\n\n//# sourceMappingURL=controls.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaErrorCapable } from \"@videojs/media\";\n//#region src/dom/store/features/error.ts\nconst errorFeature = definePlayerFeature({\n\tname: \"error\",\n\tstate: ({ set }) => ({\n\t\terror: null,\n\t\tdismissError() {\n\t\t\tset({ error: null });\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaErrorCapable(media)) return;\n\t\tconst syncError = () => set({ error: media.error });\n\t\tlisten(media, \"error\", syncError, { signal });\n\t\tlisten(media, \"emptied\", () => set({ error: null }), { signal });\n\t}\n});\n//#endregion\nexport { errorFeature };\n\n//# sourceMappingURL=error.js.map","import { isFunction } from \"@videojs/utils/predicate\";\n//#region src/dom/presentation/fullscreen.ts\nfunction isFullscreenEnabled() {\n\tconst doc = document;\n\tif (doc.fullscreenEnabled || doc.webkitFullscreenEnabled) return true;\n\treturn isFunction(document.createElement(\"video\").webkitSetPresentationMode);\n}\nfunction getFullscreenElement() {\n\tconst doc = document;\n\treturn doc.fullscreenElement ?? doc.webkitFullscreenElement ?? null;\n}\nfunction matchesFullscreen(element) {\n\tif (!(element instanceof Element)) return false;\n\ttry {\n\t\treturn element.matches(\":fullscreen\");\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction isFullscreen(container, media) {\n\tif (media.webkitPresentationMode === \"fullscreen\") return true;\n\tconst fullscreenElement = getFullscreenElement();\n\tif (fullscreenElement && (fullscreenElement === container || fullscreenElement === media)) return true;\n\tif (matchesFullscreen(container) || matchesFullscreen(media)) return true;\n\treturn media.isFullscreen ?? false;\n}\nasync function requestFullscreen(container, media) {\n\tconst doc = document;\n\tif (container && (doc.fullscreenEnabled || doc.webkitFullscreenEnabled)) {\n\t\tconst el = container;\n\t\tif (isFunction(el.requestFullscreen)) return el.requestFullscreen();\n\t\tif (isFunction(el.webkitRequestFullscreen)) return el.webkitRequestFullscreen();\n\t}\n\tconst webkitVideo = media;\n\tif (isFunction(webkitVideo.webkitSetPresentationMode)) {\n\t\twebkitVideo.webkitSetPresentationMode(\"fullscreen\");\n\t\treturn;\n\t}\n\tconst video = media;\n\tif (isFunction(video.requestFullscreen)) return video.requestFullscreen();\n}\nasync function exitFullscreen(media) {\n\tconst doc = document;\n\tconst webkitVideo = media;\n\tif (webkitVideo.webkitPresentationMode === \"fullscreen\" && isFunction(webkitVideo.webkitSetPresentationMode)) {\n\t\twebkitVideo.webkitSetPresentationMode(\"inline\");\n\t\treturn;\n\t}\n\tif (isFunction(doc.exitFullscreen)) return doc.exitFullscreen();\n\tif (isFunction(doc.webkitExitFullscreen)) return doc.webkitExitFullscreen();\n\tconst video = media;\n\tif (isFunction(video.exitFullscreen)) return video.exitFullscreen();\n}\n//#endregion\nexport { exitFullscreen, getFullscreenElement, isFullscreen, isFullscreenEnabled, requestFullscreen };\n\n//# sourceMappingURL=fullscreen.js.map","import { isFunction } from \"@videojs/utils/predicate\";\nimport { isMediaPictureInPictureCapable } from \"@videojs/media\";\n//#region src/dom/presentation/pip.ts\nfunction isPictureInPictureEnabled() {\n\tif (document.pictureInPictureEnabled) {\n\t\tconst isSafari = /.*Version\\/.*Safari\\/.*/.test(navigator.userAgent);\n\t\tconst isPWA = typeof matchMedia === \"function\" && matchMedia(\"(display-mode: standalone)\").matches;\n\t\treturn !isSafari || !isPWA;\n\t}\n\treturn isFunction(document.createElement(\"video\").webkitSetPresentationMode);\n}\n/**\n* Whether this media can enter picture-in-picture at all, which is a separate\n* question from whether the browser supports it. Mirrors the branches\n* `requestPictureInPicture` takes below, so anything it would refuse to act on\n* reports as incapable here — an iframe embed whose provider has no\n* picture-in-picture can never enter it, however capable the browser is.\n*/\nfunction isPictureInPictureCapable(media) {\n\tif (isFunction(media.webkitSetPresentationMode)) return true;\n\treturn isMediaPictureInPictureCapable(media);\n}\nfunction isPictureInPicture(media) {\n\tif (media.webkitPresentationMode === \"picture-in-picture\") return true;\n\tif (document.pictureInPictureElement === media) return true;\n\treturn media.isPictureInPicture ?? false;\n}\nasync function requestPictureInPicture(media) {\n\tconst webkitVideo = media;\n\tif (isFunction(webkitVideo.webkitSetPresentationMode)) {\n\t\twebkitVideo.webkitSetPresentationMode(\"picture-in-picture\");\n\t\treturn;\n\t}\n\tconst video = media;\n\tif (isFunction(video.requestPictureInPicture)) return video.requestPictureInPicture();\n}\nasync function exitPictureInPicture(media) {\n\tconst webkitVideo = media;\n\tif (webkitVideo.webkitPresentationMode === \"picture-in-picture\" && isFunction(webkitVideo.webkitSetPresentationMode)) {\n\t\twebkitVideo.webkitSetPresentationMode(\"inline\");\n\t\treturn;\n\t}\n\tif (isFunction(document.exitPictureInPicture)) return document.exitPictureInPicture();\n\tconst video = media;\n\tif (isFunction(video.exitPictureInPicture)) return video.exitPictureInPicture();\n}\n//#endregion\nexport { exitPictureInPicture, isPictureInPicture, isPictureInPictureCapable, isPictureInPictureEnabled, requestPictureInPicture };\n\n//# sourceMappingURL=pip.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { exitFullscreen, isFullscreen, isFullscreenEnabled, requestFullscreen } from \"../../presentation/fullscreen.js\";\nimport { exitPictureInPicture, isPictureInPicture } from \"../../presentation/pip.js\";\nimport { listen } from \"@videojs/utils/dom\";\n//#region src/dom/store/features/fullscreen.ts\nconst fullscreenFeature = definePlayerFeature({\n\tname: \"fullscreen\",\n\tstate: ({ target }) => ({\n\t\tfullscreen: false,\n\t\tfullscreenAvailability: \"unavailable\",\n\t\tasync requestFullscreen() {\n\t\t\tconst { media, container } = target();\n\t\t\tif (isPictureInPicture(media)) await exitPictureInPicture(media);\n\t\t\treturn requestFullscreen(container, media);\n\t\t},\n\t\tasync exitFullscreen() {\n\t\t\tconst { media } = target();\n\t\t\treturn exitFullscreen(media);\n\t\t},\n\t\tasync toggleFullscreen() {\n\t\t\tconst { media, container } = target();\n\t\t\tif (isFullscreen(container, media)) return exitFullscreen(media);\n\t\t\tif (isPictureInPicture(media)) await exitPictureInPicture(media);\n\t\t\treturn requestFullscreen(container, media);\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media, container } = target;\n\t\tset({ fullscreenAvailability: isFullscreenEnabled() ? \"available\" : \"unsupported\" });\n\t\tconst sync = () => set({ fullscreen: isFullscreen(container, media) });\n\t\tsync();\n\t\tlisten(document, \"fullscreenchange\", sync, { signal });\n\t\tlisten(document, \"webkitfullscreenchange\", sync, { signal });\n\t\tif (\"webkitPresentationMode\" in media) listen(media, \"webkitpresentationmodechanged\", sync, { signal });\n\t}\n});\n//#endregion\nexport { fullscreenFeature };\n\n//# sourceMappingURL=fullscreen.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaLiveCapable } from \"@videojs/media\";\n//#region src/dom/store/features/live.ts\n/**\n* Player feature exposing `liveEdgeStart` and `targetLiveWindow` in store\n* state for media that implements `MediaLiveCapability` (currently\n* `HlsJsMedia` and its delegates).\n*\n* - `liveEdgeStart` — presentation time marking the start of the Live Edge\n* Window. Playing at the live edge when `currentTime >= liveEdgeStart`.\n* `NaN` when the stream isn't live or the value is unknown.\n* - `targetLiveWindow` — `0` for standard latency live, `Infinity` for DVR,\n* `NaN` for on-demand or unknown.\n*\n* Included by the {@link liveVideoFeatures} and {@link liveAudioFeatures}\n* presets; apps can also compose it into a custom preset.\n*\n* @see https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md\n*/\nconst liveFeature = definePlayerFeature({\n\tname: \"live\",\n\tstate: () => ({\n\t\tliveEdgeStart: NaN,\n\t\ttargetLiveWindow: NaN\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaLiveCapable(media)) return;\n\t\tconst sync = () => set({\n\t\t\tliveEdgeStart: media.liveEdgeStart,\n\t\t\ttargetLiveWindow: media.targetLiveWindow\n\t\t});\n\t\tsync();\n\t\tlisten(media, \"targetlivewindowchange\", sync, { signal });\n\t\tlisten(media, \"streamtypechange\", sync, { signal });\n\t\tlisten(media, \"loadedmetadata\", sync, { signal });\n\t\tlisten(media, \"canplay\", sync, { signal });\n\t\tlisten(media, \"progress\", sync, { signal });\n\t\tlisten(media, \"durationchange\", sync, { signal });\n\t\tlisten(media, \"timeupdate\", sync, { signal });\n\t\tlisten(media, \"emptied\", sync, { signal });\n\t}\n});\n//#endregion\nexport { liveFeature };\n\n//# sourceMappingURL=live.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaContentDataCapable } from \"@videojs/media\";\n//#region src/dom/store/features/metadata.ts\nconst MEDIA_CONTENT_TITLE = Symbol(\"@videojs/media-content-title\");\nconst USER_CONTENT_TITLE = Symbol(\"@videojs/user-content-title\");\nconst USER_DEFAULT_CONTENT_TITLE = Symbol(\"@videojs/user-default-content-title\");\nconst SET_USER_CONTENT_TITLE = Symbol(\"@videojs/set-user-content-title\");\nconst SET_USER_DEFAULT_CONTENT_TITLE = Symbol(\"@videojs/set-user-default-content-title\");\nconst DEFAULT_CONTENT_TITLE = \"\";\n/**\n* Resolves user, media, and fallback content-title metadata into player state.\n* Included in the standard audio, video, and live presets.\n*/\nconst metadataFeature = definePlayerFeature({\n\tname: \"metadata\",\n\tconfig: {\n\t\tcontentTitle: {\n\t\t\taction: SET_USER_CONTENT_TITLE,\n\t\t\tstate: USER_CONTENT_TITLE\n\t\t},\n\t\tdefaultContentTitle: {\n\t\t\taction: SET_USER_DEFAULT_CONTENT_TITLE,\n\t\t\tstate: USER_DEFAULT_CONTENT_TITLE\n\t\t}\n\t},\n\tstate: ({ set }) => ({\n\t\t[MEDIA_CONTENT_TITLE]: void 0,\n\t\t[USER_CONTENT_TITLE]: void 0,\n\t\t[USER_DEFAULT_CONTENT_TITLE]: void 0,\n\t\t[SET_USER_CONTENT_TITLE]: (value) => set({ [USER_CONTENT_TITLE]: value }),\n\t\t[SET_USER_DEFAULT_CONTENT_TITLE]: (value) => set({ [USER_DEFAULT_CONTENT_TITLE]: value }),\n\t\tsetContentTitle: (value) => set({ [USER_CONTENT_TITLE]: value }),\n\t\tsetDefaultContentTitle: (value) => set({ [USER_DEFAULT_CONTENT_TITLE]: value })\n\t}),\n\tderived: { contentTitle: ({ get }) => get()[USER_CONTENT_TITLE] ?? get()[MEDIA_CONTENT_TITLE] ?? get()[USER_DEFAULT_CONTENT_TITLE] ?? DEFAULT_CONTENT_TITLE },\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaContentDataCapable(media)) return;\n\t\tconst sync = () => set({ [MEDIA_CONTENT_TITLE]: media.contentData?.title });\n\t\tsync();\n\t\tlisten(media, \"contentdatachange\", sync, { signal });\n\t}\n});\n//#endregion\nexport { metadataFeature };\n\n//# sourceMappingURL=metadata.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { exitFullscreen, isFullscreen } from \"../../presentation/fullscreen.js\";\nimport { exitPictureInPicture, isPictureInPicture, isPictureInPictureCapable, isPictureInPictureEnabled, requestPictureInPicture } from \"../../presentation/pip.js\";\nimport { listen } from \"@videojs/utils/dom\";\n//#region src/dom/store/features/pip.ts\nconst pipFeature = definePlayerFeature({\n\tname: \"pip\",\n\tstate: ({ target }) => ({\n\t\tpip: false,\n\t\tpipAvailability: \"unavailable\",\n\t\tasync requestPictureInPicture() {\n\t\t\tconst { media, container } = target();\n\t\t\tif (isFullscreen(container, media)) await exitFullscreen(media);\n\t\t\treturn requestPictureInPicture(media);\n\t\t},\n\t\tasync exitPictureInPicture() {\n\t\t\tconst { media } = target();\n\t\t\treturn exitPictureInPicture(media);\n\t\t},\n\t\tasync togglePictureInPicture() {\n\t\t\tconst { media, container } = target();\n\t\t\tif (isPictureInPicture(media)) return exitPictureInPicture(media);\n\t\t\tif (isFullscreen(container, media)) await exitFullscreen(media);\n\t\t\treturn requestPictureInPicture(media);\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tset({ pipAvailability: isPictureInPictureEnabled() && isPictureInPictureCapable(media) ? \"available\" : \"unsupported\" });\n\t\tconst sync = () => set({ pip: isPictureInPicture(media) });\n\t\tsync();\n\t\tlisten(media, \"enterpictureinpicture\", sync, { signal });\n\t\tlisten(media, \"leavepictureinpicture\", sync, { signal });\n\t\tif (\"webkitPresentationMode\" in media) listen(media, \"webkitpresentationmodechanged\", sync, { signal });\n\t}\n});\n//#endregion\nexport { pipFeature };\n\n//# sourceMappingURL=pip.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaPauseCapable, isMediaSeekCapable, isMediaSourceCapable } from \"@videojs/media\";\n//#region src/dom/store/features/playback.ts\nconst playbackFeature = definePlayerFeature({\n\tname: \"playback\",\n\tstate: ({ target }) => ({\n\t\tpaused: true,\n\t\tended: false,\n\t\tstarted: false,\n\t\twaiting: false,\n\t\tplay() {\n\t\t\treturn target().media.play();\n\t\t},\n\t\tpause() {\n\t\t\tconst { media } = target();\n\t\t\tif (isMediaPauseCapable(media)) media.pause();\n\t\t},\n\t\ttogglePaused() {\n\t\t\tconst media = target().media;\n\t\t\tif (!isMediaPauseCapable(media)) return false;\n\t\t\tif (media.paused) {\n\t\t\t\tmedia.play();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tmedia.pause();\n\t\t\treturn false;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaPauseCapable(media) || !isMediaSeekCapable(media) || !isMediaSourceCapable(media)) return;\n\t\tconst sync = () => set({\n\t\t\tpaused: media.paused,\n\t\t\tended: media.ended,\n\t\t\tstarted: !media.paused || media.currentTime > 0,\n\t\t\twaiting: media.readyState < HTMLMediaElement.HAVE_FUTURE_DATA && !media.paused\n\t\t});\n\t\tsync();\n\t\tlisten(media, \"emptied\", sync, { signal });\n\t\tlisten(media, \"play\", sync, { signal });\n\t\tlisten(media, \"pause\", sync, { signal });\n\t\tlisten(media, \"ended\", sync, { signal });\n\t\tlisten(media, \"playing\", sync, { signal });\n\t\tlisten(media, \"waiting\", sync, { signal });\n\t\tlisten(media, \"seeked\", sync, { signal });\n\t}\n});\n//#endregion\nexport { playbackFeature };\n\n//# sourceMappingURL=playback.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaPlaybackRateCapable } from \"@videojs/media\";\n//#region src/dom/store/features/playback-rate.ts\nconst DEFAULT_RATES = [\n\t.2,\n\t.5,\n\t.7,\n\t1,\n\t1.2,\n\t1.5,\n\t1.7,\n\t2\n];\nconst playbackRateFeature = definePlayerFeature({\n\tname: \"playbackRate\",\n\tstate: ({ target }) => ({\n\t\tplaybackRates: DEFAULT_RATES,\n\t\tplaybackRate: 1,\n\t\tsetPlaybackRate(rate) {\n\t\t\tconst { media } = target();\n\t\t\tif (isMediaPlaybackRateCapable(media)) media.playbackRate = rate;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaPlaybackRateCapable(media)) return;\n\t\tconst sync = () => set({ playbackRate: media.playbackRate });\n\t\tsync();\n\t\tlisten(media, \"ratechange\", sync, { signal });\n\t}\n});\n//#endregion\nexport { playbackRateFeature };\n\n//# sourceMappingURL=playback-rate.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaVideoDimensionsCapable, isMediaVideoRenditionCapable } from \"@videojs/media\";\n//#region src/dom/store/features/quality.ts\nconst QUALITY_AUTO_VALUE = \"auto\";\nfunction getRenditionValue(rendition, index) {\n\treturn rendition.id || String(index);\n}\nfunction toMediaRendition(rendition) {\n\treturn {\n\t\t...rendition.id !== void 0 && { id: rendition.id },\n\t\t...rendition.width !== void 0 && { width: rendition.width },\n\t\t...rendition.height !== void 0 && { height: rendition.height },\n\t\t...rendition.bitrate !== void 0 && { bitrate: rendition.bitrate },\n\t\t...rendition.frameRate !== void 0 && { frameRate: rendition.frameRate },\n\t\t...rendition.codec !== void 0 && { codec: rendition.codec },\n\t\tselected: rendition.selected\n\t};\n}\nfunction getSize(rendition) {\n\tif (rendition.width && rendition.height) return Math.min(rendition.width, rendition.height);\n\treturn rendition.height ?? rendition.width;\n}\nconst qualityFeature = definePlayerFeature({\n\tname: \"quality\",\n\tstate: ({ target }) => ({\n\t\tvideoRenditionList: [],\n\t\tactiveVideoRendition: null,\n\t\tselectVideoRendition(value) {\n\t\t\tconst { media } = target();\n\t\t\tif (!isMediaVideoRenditionCapable(media)) return;\n\t\t\tif (value === QUALITY_AUTO_VALUE) {\n\t\t\t\tmedia.videoRenditions.selectedIndex = -1;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst index = [...media.videoRenditions].findIndex((rendition, renditionIndex) => getRenditionValue(rendition, renditionIndex) === value);\n\t\t\tif (index !== -1) media.videoRenditions.selectedIndex = index;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tlet videoRenditions = null;\n\t\tlet cleanup = null;\n\t\tconst getVideoRenditions = () => isMediaVideoRenditionCapable(media) ? media.videoRenditions : null;\n\t\tconst getActiveRendition = (list) => {\n\t\t\tif (!list) return null;\n\t\t\tconst renditions = [...list];\n\t\t\tconst active = renditions.find((rendition) => rendition.active);\n\t\t\tif (active) return active;\n\t\t\tif (!isMediaVideoDimensionsCapable(media) || !media.videoWidth && !media.videoHeight) return null;\n\t\t\tconst size = getSize({\n\t\t\t\twidth: media.videoWidth || void 0,\n\t\t\t\theight: media.videoHeight || void 0\n\t\t\t});\n\t\t\tconst matches = renditions.filter((rendition) => getSize(rendition) === size);\n\t\t\treturn matches.length === 1 ? matches[0] : null;\n\t\t};\n\t\tconst sync = (list = getVideoRenditions()) => {\n\t\t\tconst active = getActiveRendition(list);\n\t\t\tset({\n\t\t\t\tvideoRenditionList: list ? [...list].map(toMediaRendition) : [],\n\t\t\t\tactiveVideoRendition: active ? toMediaRendition(active) : null\n\t\t\t});\n\t\t};\n\t\tconst bind = () => {\n\t\t\tconst nextVideoRenditions = getVideoRenditions();\n\t\t\tif (nextVideoRenditions === videoRenditions) {\n\t\t\t\tsync(nextVideoRenditions);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup?.abort();\n\t\t\tcleanup = new AbortController();\n\t\t\tvideoRenditions = nextVideoRenditions;\n\t\t\tif (videoRenditions) {\n\t\t\t\tlisten(videoRenditions, \"addrendition\", () => sync(videoRenditions), { signal: cleanup.signal });\n\t\t\t\tlisten(videoRenditions, \"removerendition\", () => sync(videoRenditions), { signal: cleanup.signal });\n\t\t\t\tlisten(videoRenditions, \"change\", () => sync(videoRenditions), { signal: cleanup.signal });\n\t\t\t\tlisten(videoRenditions, \"activechange\", () => sync(videoRenditions), { signal: cleanup.signal });\n\t\t\t}\n\t\t\tsync(videoRenditions);\n\t\t};\n\t\tbind();\n\t\tlisten(media, \"loadstart\", bind, { signal });\n\t\tlisten(media, \"resize\", () => sync(videoRenditions), { signal });\n\t\tsignal.addEventListener(\"abort\", () => cleanup?.abort(), { once: true });\n\t}\n});\n//#endregion\nexport { qualityFeature };\n\n//# sourceMappingURL=quality.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { isRemotePlaybackConnected, requestRemotePlayback } from \"../../presentation/remote-playback.js\";\nimport { exitFullscreen, isFullscreen } from \"../../presentation/fullscreen.js\";\nimport { isWebKitAirPlayCapable, listen } from \"@videojs/utils/dom\";\nimport { isMediaRemotePlaybackCapable } from \"@videojs/media\";\n//#region src/dom/store/features/remote-playback.ts\nconst remotePlaybackFeature = definePlayerFeature({\n\tname: \"remotePlayback\",\n\tstate: ({ target }) => ({\n\t\tremotePlaybackState: \"disconnected\",\n\t\tremotePlaybackAvailability: \"unsupported\",\n\t\tasync toggleRemotePlayback() {\n\t\t\tconst { media, container } = target();\n\t\t\tif (isRemotePlaybackConnected(media)) return requestRemotePlayback(media);\n\t\t\tif (isFullscreen(container, media)) await exitFullscreen(media);\n\t\t\treturn await requestRemotePlayback(media);\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaRemotePlaybackCapable(media)) return;\n\t\tif (isWebKitAirPlayCapable(media)) {\n\t\t\tconst syncConnection = () => {\n\t\t\t\tset({ remotePlaybackState: media.webkitCurrentPlaybackTargetIsWireless ? \"connected\" : \"disconnected\" });\n\t\t\t};\n\t\t\tconst syncAvailability = (event) => {\n\t\t\t\tconst { availability } = event;\n\t\t\t\tset({ remotePlaybackAvailability: availability === \"available\" ? \"available\" : \"unavailable\" });\n\t\t\t};\n\t\t\tlisten(media, \"webkitplaybacktargetavailabilitychanged\", syncAvailability, { signal });\n\t\t\tlisten(media, \"webkitcurrentplaybacktargetiswirelesschanged\", syncConnection, { signal });\n\t\t\tsyncConnection();\n\t\t\treturn;\n\t\t}\n\t\tconst syncState = () => set({ remotePlaybackState: media.remote.state });\n\t\tsyncState();\n\t\tlisten(media.remote, \"connect\", syncState, { signal });\n\t\tlisten(media.remote, \"connecting\", syncState, { signal });\n\t\tlisten(media.remote, \"disconnect\", syncState, { signal });\n\t\tmedia.remote.watchAvailability((available) => {\n\t\t\tset({ remotePlaybackAvailability: available ? \"available\" : \"unavailable\" });\n\t\t}).catch(() => {\n\t\t\tset({ remotePlaybackAvailability: \"unsupported\" });\n\t\t});\n\t\tsignal.addEventListener(\"abort\", () => {\n\t\t\tmedia.remote?.cancelWatchAvailability?.().catch(() => {});\n\t\t});\n\t}\n});\n//#endregion\nexport { remotePlaybackFeature };\n\n//# sourceMappingURL=remote-playback.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaSourceCapable } from \"@videojs/media\";\n//#region src/dom/store/features/source.ts\nconst sourceFeature = definePlayerFeature({\n\tname: \"source\",\n\tstate: ({ target, signals }) => ({\n\t\tsource: null,\n\t\tcanPlay: false,\n\t\tloadSource(src) {\n\t\t\tsignals.clear();\n\t\t\tconst { media } = target();\n\t\t\tif (!isMediaSourceCapable(media)) return src;\n\t\t\tmedia.src = src;\n\t\t\tmedia.load();\n\t\t\treturn src;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaSourceCapable(media)) return;\n\t\tconst sync = () => set({\n\t\t\tsource: media.currentSrc || media.src || null,\n\t\t\tcanPlay: media.readyState >= HTMLMediaElement.HAVE_ENOUGH_DATA\n\t\t});\n\t\tsync();\n\t\tlisten(media, \"canplay\", sync, { signal });\n\t\tlisten(media, \"canplaythrough\", sync, { signal });\n\t\tlisten(media, \"loadstart\", sync, { signal });\n\t\tlisten(media, \"emptied\", sync, { signal });\n\t}\n});\n//#endregion\nexport { sourceFeature };\n\n//# sourceMappingURL=source.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { findTrackElement, isCaptionOrSubtitleTrack, listen } from \"@videojs/utils/dom\";\nimport { isMediaTextTrackCapable, isQuerySelectorAllCapable } from \"@videojs/media\";\n//#region src/dom/store/features/text-track.ts\nfunction getTrackId(track, index) {\n\treturn track.id || `track:${index}:${track.kind}:${track.language}:${track.label}`;\n}\n/**\n* Caption/subtitle tracks paired with the ids exposed through `textTrackList`,\n* ordered like the captions menu so index-based fallbacks agree with the UI.\n*/\nfunction getSubtitlesTracks(media) {\n\treturn Array.from(media.textTracks).map((track, index) => ({\n\t\tid: getTrackId(track, index),\n\t\ttrack\n\t})).filter(({ track }) => isCaptionOrSubtitleTrack(track)).sort((a, b) => a.track.kind > b.track.kind ? 1 : a.track.kind < b.track.kind ? -1 : 0);\n}\n/** Show at most one caption/subtitle track; passing `null` disables them all. */\nfunction showOnly(tracks, active) {\n\tfor (const { track } of tracks) {\n\t\tconst mode = track === active ? \"showing\" : \"disabled\";\n\t\tif (track.mode !== mode) track.mode = mode;\n\t}\n}\nconst textTrackFeature = definePlayerFeature({\n\tname: \"textTrack\",\n\tstate: ({ target }) => {\n\t\tlet lastShownId = null;\n\t\treturn {\n\t\t\tchaptersCues: [],\n\t\t\tthumbnailCues: [],\n\t\t\tthumbnailTrackSrc: null,\n\t\t\ttextTrackList: [],\n\t\t\tsubtitlesShowing: false,\n\t\t\ttoggleSubtitles(forceShow) {\n\t\t\t\tconst { media } = target();\n\t\t\t\tif (!isMediaTextTrackCapable(media)) return false;\n\t\t\t\tconst subtitlesTracks = getSubtitlesTracks(media);\n\t\t\t\tif (!subtitlesTracks.length) return false;\n\t\t\t\tconst showing = subtitlesTracks.find(({ track }) => track.mode === \"showing\");\n\t\t\t\tconst nextShowing = forceShow ?? !showing;\n\t\t\t\tif (showing) lastShownId = showing.id;\n\t\t\t\tif (!nextShowing) {\n\t\t\t\t\tshowOnly(subtitlesTracks, null);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst next = showing ?? subtitlesTracks.find(({ id }) => id === lastShownId) ?? subtitlesTracks[0];\n\t\t\t\tlastShownId = next.id;\n\t\t\t\tshowOnly(subtitlesTracks, next.track);\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tselectSubtitlesTrack(value) {\n\t\t\t\tconst { media } = target();\n\t\t\t\tif (!isMediaTextTrackCapable(media)) return;\n\t\t\t\tconst subtitlesTracks = getSubtitlesTracks(media);\n\t\t\t\tif (!subtitlesTracks.length) return;\n\t\t\t\tif (value === \"off\") {\n\t\t\t\t\tconst showing = subtitlesTracks.find(({ track }) => track.mode === \"showing\");\n\t\t\t\t\tif (showing) lastShownId = showing.id;\n\t\t\t\t\tshowOnly(subtitlesTracks, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst active = subtitlesTracks.find(({ id }) => id === value);\n\t\t\t\tif (!active) return;\n\t\t\t\tlastShownId = active.id;\n\t\t\t\tshowOnly(subtitlesTracks, active.track);\n\t\t\t}\n\t\t};\n\t},\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaTextTrackCapable(media)) return;\n\t\tlet trackCleanup = null;\n\t\tconst sync = () => {\n\t\t\ttrackCleanup?.abort();\n\t\t\ttrackCleanup = new AbortController();\n\t\t\tlet chaptersTrack = null;\n\t\t\tlet thumbnailTrack = null;\n\t\t\tconst textTrackList = [];\n\t\t\tlet subtitlesShowing = false;\n\t\t\tfor (let i = 0; i < media.textTracks.length; i++) {\n\t\t\t\tconst track = media.textTracks[i];\n\t\t\t\tif (!chaptersTrack && track.kind === \"chapters\") chaptersTrack = track;\n\t\t\t\tif (!thumbnailTrack && track.kind === \"metadata\" && track.label === \"thumbnails\") thumbnailTrack = track;\n\t\t\t\ttextTrackList.push({\n\t\t\t\t\tid: getTrackId(track, i),\n\t\t\t\t\tkind: track.kind,\n\t\t\t\t\tlabel: track.label,\n\t\t\t\t\tlanguage: track.language,\n\t\t\t\t\tmode: track.mode\n\t\t\t\t});\n\t\t\t\tif (isCaptionOrSubtitleTrack(track) && track.mode === \"showing\") subtitlesShowing = true;\n\t\t\t}\n\t\t\tconst chaptersCues = chaptersTrack?.cues ? Array.from(chaptersTrack.cues) : [];\n\t\t\tconst thumbnailCues = thumbnailTrack?.cues ? Array.from(thumbnailTrack.cues) : [];\n\t\t\tlet thumbnailTrackSrc = null;\n\t\t\tif (thumbnailTrack) thumbnailTrackSrc = findTrackElement(media, thumbnailTrack)?.src ?? null;\n\t\t\tconst tracks = isQuerySelectorAllCapable(media) && media.querySelectorAll(\"track\") || [];\n\t\t\tconst shadowTracks = media instanceof HTMLElement && media.shadowRoot?.querySelectorAll(\"track\") || [];\n\t\t\tfor (const trackEl of [...tracks, ...shadowTracks]) if (!trackEl.track?.cues?.length) listen(trackEl, \"load\", sync, { signal: trackCleanup.signal });\n\t\t\tset({\n\t\t\t\tchaptersCues,\n\t\t\t\tthumbnailCues,\n\t\t\t\tthumbnailTrackSrc,\n\t\t\t\ttextTrackList,\n\t\t\t\tsubtitlesShowing\n\t\t\t});\n\t\t};\n\t\tsync();\n\t\tconst textTracks = media.textTracks;\n\t\tif (textTracks instanceof EventTarget) {\n\t\t\tlisten(textTracks, \"addtrack\", sync, { signal });\n\t\t\tlisten(textTracks, \"removetrack\", sync, { signal });\n\t\t\tlisten(textTracks, \"change\", sync, { signal });\n\t\t}\n\t\tlisten(media, \"loadstart\", sync, { signal });\n\t\tsignal.addEventListener(\"abort\", () => trackCleanup?.abort(), { once: true });\n\t}\n});\n//#endregion\nexport { textTrackFeature };\n\n//# sourceMappingURL=text-track.js.map","//#region src/dom/store/signal-keys.ts\nconst signalKeys = { seek: Symbol.for(\"@videojs/seek\") };\n//#endregion\nexport { signalKeys };\n\n//# sourceMappingURL=signal-keys.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { signalKeys } from \"../signal-keys.js\";\nimport { listen, onEvent } from \"@videojs/utils/dom\";\nimport { hasMetadata, isMediaBufferCapable, isMediaSeekCapable, isMediaSourceCapable } from \"@videojs/media\";\nimport { noop } from \"@videojs/utils/function\";\n//#region src/dom/store/features/time.ts\nconst timeFeature = definePlayerFeature({\n\tname: \"time\",\n\tstate: ({ target, signals, set }) => ({\n\t\tcurrentTime: 0,\n\t\tduration: 0,\n\t\tseeking: false,\n\t\tasync seek(time) {\n\t\t\tconst { media } = target(), signal = signals.supersede(signalKeys.seek);\n\t\t\tif (!isMediaSeekCapable(media) || !isMediaSourceCapable(media)) return 0;\n\t\t\tif (!hasMetadata(media)) {\n\t\t\t\tif (!await onEvent(media, \"loadedmetadata\", { signal }).catch(() => false)) return media.currentTime;\n\t\t\t}\n\t\t\tconst clampedTime = Math.max(0, Math.min(time, media.duration || Infinity));\n\t\t\tset({\n\t\t\t\tcurrentTime: clampedTime,\n\t\t\t\tseeking: true\n\t\t\t});\n\t\t\tmedia.currentTime = clampedTime;\n\t\t\tawait onEvent(media, \"seeked\", { signal }).catch(noop);\n\t\t\treturn media.currentTime;\n\t\t}\n\t}),\n\tattach({ target, signal, set, get }) {\n\t\tconst { media } = target;\n\t\tif (!isMediaSeekCapable(media)) return;\n\t\tconst resolveDuration = () => {\n\t\t\tconst { duration } = media;\n\t\t\tif (duration === Number.POSITIVE_INFINITY && isMediaBufferCapable(media)) {\n\t\t\t\tconst { seekable } = media;\n\t\t\t\treturn seekable.length > 0 ? seekable.end(seekable.length - 1) : 0;\n\t\t\t}\n\t\t\treturn Number.isFinite(duration) ? duration : 0;\n\t\t};\n\t\tconst sync = () => set({\n\t\t\tcurrentTime: media.currentTime,\n\t\t\tduration: resolveDuration(),\n\t\t\tseeking: media.seeking\n\t\t});\n\t\tconst syncUnlessSeeking = () => {\n\t\t\tif (get().seeking) return;\n\t\t\tsync();\n\t\t};\n\t\tsync();\n\t\tlisten(media, \"timeupdate\", syncUnlessSeeking, { signal });\n\t\tlisten(media, \"durationchange\", sync, { signal });\n\t\tlisten(media, \"seeking\", sync, { signal });\n\t\tlisten(media, \"seeked\", sync, { signal });\n\t\tlisten(media, \"loadedmetadata\", sync, { signal });\n\t\tlisten(media, \"emptied\", sync, { signal });\n\t\tlisten(media, \"progress\", syncUnlessSeeking, { signal });\n\t}\n});\n//#endregion\nexport { timeFeature };\n\n//# sourceMappingURL=time.js.map","import { definePlayerFeature } from \"../../feature.js\";\nimport { listen } from \"@videojs/utils/dom\";\nimport { isMediaMutedCapable, isMediaVolumeCapable } from \"@videojs/media\";\n//#region src/dom/store/features/volume.ts\n/** Volume to restore when unmuting at zero. */\nconst UNMUTE_VOLUME = .25;\nconst volumeFeature = definePlayerFeature({\n\tname: \"volume\",\n\tstate: ({ target }) => ({\n\t\tvolume: 1,\n\t\tmuted: false,\n\t\tvolumeAvailability: \"unavailable\",\n\t\tmutedAvailability: \"unavailable\",\n\t\tsetVolume(volume) {\n\t\t\tconst { media } = target();\n\t\t\tif (!isMediaVolumeCapable(media)) return 0;\n\t\t\tconst clamped = Math.max(0, Math.min(1, volume));\n\t\t\tif (clamped > 0 && media.muted) media.muted = false;\n\t\t\tmedia.volume = clamped;\n\t\t\treturn media.volume;\n\t\t},\n\t\ttoggleMuted() {\n\t\t\tconst { media } = target();\n\t\t\tif (!isMediaMutedCapable(media)) return false;\n\t\t\tif (!isMediaVolumeCapable(media)) {\n\t\t\t\tmedia.muted = !media.muted;\n\t\t\t\treturn media.muted;\n\t\t\t}\n\t\t\tif (media.muted || media.volume === 0) {\n\t\t\t\tmedia.muted = false;\n\t\t\t\tif (media.volume === 0) media.volume = UNMUTE_VOLUME;\n\t\t\t} else media.muted = true;\n\t\t\treturn media.muted;\n\t\t}\n\t}),\n\tattach({ target, signal, set }) {\n\t\tconst { media } = target;\n\t\tconst volumeCapable = isMediaVolumeCapable(media);\n\t\tconst mutedCapable = isMediaMutedCapable(media);\n\t\tif (!volumeCapable && !mutedCapable) return;\n\t\tset({\n\t\t\tvolumeAvailability: volumeCapable ? canSetVolume() : \"unavailable\",\n\t\t\tmutedAvailability: mutedCapable ? \"available\" : \"unavailable\"\n\t\t});\n\t\tconst sync = () => set({\n\t\t\tvolume: volumeCapable ? media.volume : 1,\n\t\t\tmuted: mutedCapable ? media.muted : false\n\t\t});\n\t\tsync();\n\t\tlisten(media, \"volumechange\", sync, { signal });\n\t}\n});\n/** Check if volume can be programmatically set (fails on iOS Safari). */\nfunction canSetVolume() {\n\tconst video = document.createElement(\"video\");\n\ttry {\n\t\tvideo.volume = .5;\n\t\treturn video.volume === .5 ? \"available\" : \"unsupported\";\n\t} catch {\n\t\treturn \"unsupported\";\n\t}\n}\n//#endregion\nexport { volumeFeature };\n\n//# sourceMappingURL=volume.js.map","import { audioTrackFeature } from \"./audio-track.js\";\nimport { bufferFeature } from \"./buffer.js\";\nimport { controlsFeature } from \"./controls.js\";\nimport { errorFeature } from \"./error.js\";\nimport { fullscreenFeature } from \"./fullscreen.js\";\nimport { liveFeature } from \"./live.js\";\nimport { metadataFeature } from \"./metadata.js\";\nimport { pipFeature } from \"./pip.js\";\nimport { playbackFeature } from \"./playback.js\";\nimport { playbackRateFeature } from \"./playback-rate.js\";\nimport { qualityFeature } from \"./quality.js\";\nimport { remotePlaybackFeature } from \"./remote-playback.js\";\nimport { sourceFeature } from \"./source.js\";\nimport { textTrackFeature } from \"./text-track.js\";\nimport { timeFeature } from \"./time.js\";\nimport { volumeFeature } from \"./volume.js\";\n//#region src/dom/store/features/presets.ts\nconst videoFeatures = [\n\tplaybackFeature,\n\tplaybackRateFeature,\n\tqualityFeature,\n\taudioTrackFeature,\n\tvolumeFeature,\n\ttimeFeature,\n\tsourceFeature,\n\tbufferFeature,\n\tfullscreenFeature,\n\tpipFeature,\n\tremotePlaybackFeature,\n\tcontrolsFeature,\n\ttextTrackFeature,\n\terrorFeature,\n\tmetadataFeature\n];\nconst audioFeatures = [\n\tplaybackFeature,\n\tplaybackRateFeature,\n\tvolumeFeature,\n\ttimeFeature,\n\tsourceFeature,\n\tbufferFeature,\n\terrorFeature,\n\tmetadataFeature\n];\nconst backgroundFeatures = [];\n/**\n* Features for a live video player. Mirrors {@link videoFeatures} but drops\n* {@link playbackRateFeature} (not meaningful for live) and adds\n* {@link liveFeature} so store consumers can read `liveEdgeStart` and\n* `targetLiveWindow`.\n*/\nconst liveVideoFeatures = [\n\tplaybackFeature,\n\tvolumeFeature,\n\ttimeFeature,\n\tsourceFeature,\n\tbufferFeature,\n\tfullscreenFeature,\n\tpipFeature,\n\tremotePlaybackFeature,\n\tcontrolsFeature,\n\ttextTrackFeature,\n\terrorFeature,\n\tliveFeature,\n\tmetadataFeature\n];\n/**\n* Features for a live audio player. Mirrors {@link audioFeatures} but drops\n* {@link playbackRateFeature} (not meaningful for live) and adds\n* {@link liveFeature} so store consumers can read `liveEdgeStart` and\n* `targetLiveWindow`.\n*/\nconst liveAudioFeatures = [\n\tplaybackFeature,\n\tvolumeFeature,\n\ttimeFeature,\n\tsourceFeature,\n\tbufferFeature,\n\terrorFeature,\n\tliveFeature,\n\tmetadataFeature\n];\n//#endregion\nexport { audioFeatures, backgroundFeatures, liveAudioFeatures, liveVideoFeatures, videoFeatures };\n\n//# sourceMappingURL=presets.js.map","import { containsComposed, getDeepActiveElement } from \"@videojs/utils/dom\";\n//#region src/dom/ui/container-attrs.ts\nconst DEFAULT_CONTAINER_ROLE = \"group\";\nconst DEFAULT_CONTAINER_TAB_INDEX = 0;\nfunction applyContainerAttrs(element) {\n\tif (!element.hasAttribute(\"role\")) element.setAttribute(\"role\", DEFAULT_CONTAINER_ROLE);\n\tif (!element.hasAttribute(\"tabindex\")) element.setAttribute(\"tabindex\", String(0));\n}\nfunction focusContainer(element) {\n\tconst active = getDeepActiveElement(element.ownerDocument);\n\tif (!active || active === element.ownerDocument.body || !containsComposed(element, active)) element.focus({ preventScroll: true });\n}\n//#endregion\nexport { DEFAULT_CONTAINER_ROLE, DEFAULT_CONTAINER_TAB_INDEX, applyContainerAttrs, focusContainer };\n\n//# sourceMappingURL=container-attrs.js.map","//#region src/dom/ui/popover/popup-group.ts\nfunction createPopupGroup() {\n\tlet current = null;\n\tconst listeners = /* @__PURE__ */ new Set();\n\tfunction notify() {\n\t\tfor (const listener of listeners) listener();\n\t}\n\treturn {\n\t\topen(member) {\n\t\t\tif (current === member) return;\n\t\t\tconst previous = current;\n\t\t\tcurrent = member;\n\t\t\tprevious?.close(\"group-open\");\n\t\t\tnotify();\n\t\t},\n\t\tclose(member) {\n\t\t\tif (current !== member) return;\n\t\t\tcurrent = null;\n\t\t\tnotify();\n\t\t},\n\t\tisOpenFor(trigger) {\n\t\t\treturn trigger !== null && current?.triggerElement === trigger;\n\t\t},\n\t\tsubscribe(listener) {\n\t\t\tlisteners.add(listener);\n\t\t\treturn () => listeners.delete(listener);\n\t\t}\n\t};\n}\n//#endregion\nexport { createPopupGroup };\n\n//# sourceMappingURL=popup-group.js.map","const labelText = {\n\tkey: `container.label`,\n\ttext: \"Media player\"\n};\n//#endregion\nexport { labelText };\n\n//# sourceMappingURL=container.js.map","import type { PopupGroup } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\nconst POPUP_GROUP_CONTEXT_KEY = Symbol.for('@videojs/popup-group');\n\nexport type PopupGroupContext = Context<typeof POPUP_GROUP_CONTEXT_KEY, PopupGroup>;\n\nexport const popupGroupContext = createContext<PopupGroup, typeof POPUP_GROUP_CONTEXT_KEY>(POPUP_GROUP_CONTEXT_KEY);\n","import { type AnyPlayerStore, createPopupGroup, type MediaContainer, type PlayerStore } from '@videojs/core/dom';\nimport { ContextConsumer, ContextProvider } from '@videojs/element/context';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport { type ContainerContext, containerContext, type PlayerContext, playerContext } from '../player/context';\nimport { popupGroupContext } from '../player/popup-group-context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport interface ContainerMixinConfig<Store extends PlayerStore> {\n playerContext: PlayerContext<Store>;\n containerContext: ContainerContext;\n}\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and registers itself as the\n * container element with the provider via `containerContext`.\n *\n * @param config - Container configuration with player and container contexts.\n */\nexport function createContainerMixin<Store extends PlayerStore>(\n config: ContainerMixinConfig<Store>\n): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #contextStore: Store | null = null;\n #setContainer: ((container: MediaContainer | null) => void) | null = null;\n #popupGroup = createPopupGroup();\n #popupGroupProvider = new ContextProvider(this, {\n context: popupGroupContext,\n initialValue: this.#popupGroup,\n });\n\n constructor(...args: any[]) {\n super(...args);\n\n new ContextConsumer(this, {\n context: config.playerContext,\n callback: (value) => {\n this.#contextStore = value ?? null;\n },\n subscribe: true,\n });\n\n new ContextConsumer(this, {\n context: config.containerContext,\n callback: (value) => {\n this.#setContainer = value?.setContainer ?? null;\n if (this.isConnected) this.#setContainer?.(this);\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#popupGroupProvider.setValue(this.#popupGroup);\n this.#setContainer?.(this);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#setContainer?.(null);\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\n/**\n * Player container mixin configured for the default player contexts.\n *\n * Import this convenience mixin directly when composing a custom container.\n */\nexport const ContainerMixin = createContainerMixin<AnyPlayerStore>({\n playerContext,\n containerContext,\n});\n","import { applyContainerAttrs, focusContainer } from '@videojs/core/dom';\nimport { labelText } from '@videojs/core/i18n/text/container';\nimport type { PropertyValues } from '@videojs/element';\nimport { listen } from '@videojs/utils/dom';\n\nimport { i18nContext } from '../i18n/context';\nimport { I18nController } from '../i18n/controller';\nimport { ContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n\n readonly #i18n = new I18nController(this, i18nContext);\n #disconnect: AbortController | null = null;\n #label: string | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n applyContainerAttrs(this);\n this.#applyLabel();\n\n this.#disconnect = new AbortController();\n listen(this, 'pointerup', this.#onPointerUp, { signal: this.#disconnect.signal });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n this.#applyLabel();\n }\n\n #applyLabel(): void {\n const current = this.getAttribute('aria-label');\n if (current && current !== this.#label) return;\n\n if (this.hasAttribute('aria-labelledby')) {\n if (current === this.#label) {\n this.removeAttribute('aria-label');\n this.#label = null;\n }\n return;\n }\n\n const label = this.#i18n.value(labelText);\n this.setAttribute('aria-label', label);\n this.#label = label;\n }\n\n #onPointerUp = (): void => {\n focusContainer(this);\n };\n}\n","import { shallowEqual } from \"../../core/shallow-equal.js\";\nimport { noop } from \"@videojs/utils/function\";\n//#region src/html/controllers/snapshot-controller.ts\n/**\n* Subscribe to a `State<T>` container with optional selector.\n*\n* Without selector: returns full state, re-renders on any state change.\n* With selector: returns selected slice, re-renders only when the slice changes (shallowEqual).\n*\n* @example\n* ```ts\n* #state = new SnapshotController(this, sliderState, (s) => s.value);\n* ```\n*/\nvar SnapshotController = class {\n\t#host;\n\t#selector;\n\t#state;\n\t#cached;\n\t#unsubscribe = noop;\n\tconstructor(host, state, selector) {\n\t\tthis.#host = host;\n\t\tthis.#state = state;\n\t\tthis.#selector = selector;\n\t\thost.addController(this);\n\t}\n\tget value() {\n\t\tif (!this.#selector) return this.#state.current;\n\t\tthis.#cached ??= this.#selector(this.#state.current);\n\t\treturn this.#cached;\n\t}\n\t/** Switch to tracking a different state container. */\n\ttrack(state) {\n\t\tthis.#state = state;\n\t\tthis.#subscribe();\n\t}\n\thostConnected() {\n\t\tthis.#subscribe();\n\t}\n\thostDisconnected() {\n\t\tthis.#unsubscribe();\n\t\tthis.#unsubscribe = noop;\n\t\tthis.#cached = void 0;\n\t}\n\t#subscribe() {\n\t\tthis.#unsubscribe();\n\t\tif (!this.#selector) {\n\t\t\tthis.#unsubscribe = this.#state.subscribe(() => this.#host.requestUpdate());\n\t\t\treturn;\n\t\t}\n\t\tconst selector = this.#selector;\n\t\tthis.#cached = selector(this.#state.current);\n\t\tthis.#unsubscribe = this.#state.subscribe(() => {\n\t\t\tconst next = selector(this.#state.current);\n\t\t\tif (!shallowEqual(this.#cached, next)) {\n\t\t\t\tthis.#cached = next;\n\t\t\t\tthis.#host.requestUpdate();\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\nexport { SnapshotController };\n\n//# sourceMappingURL=snapshot-controller.js.map","import { isStore } from \"../core/store.js\";\nimport { noop } from \"@videojs/utils/function\";\nimport { ContextConsumer } from \"@videojs/element/context\";\n//#region src/html/store-accessor.ts\n/**\n* Resolves a store from either a direct instance or context.\n*\n* When given a direct store, provides immediate access.\n* When given a context, sets up a ContextConsumer to receive the store.\n*\n* @example Direct store\n* ```ts\n* const accessor = new StoreAccessor(host, store, (s) => console.log('available', s));\n* accessor.value; // Store (immediately available)\n* ```\n*\n* @example Context source\n* ```ts\n* const accessor = new StoreAccessor(host, context, (s) => console.log('available', s));\n* accessor.value; // null until context provides store\n* ```\n*/\nvar StoreAccessor = class {\n\t#onAvailable;\n\t#consumer;\n\t#directStore;\n\tconstructor(host, source, onAvailable) {\n\t\tthis.#onAvailable = onAvailable ?? noop;\n\t\tif (isStore(source)) {\n\t\t\tthis.#directStore = source;\n\t\t\tthis.#consumer = null;\n\t\t} else {\n\t\t\tthis.#directStore = null;\n\t\t\tthis.#consumer = new ContextConsumer(host, {\n\t\t\t\tcontext: source,\n\t\t\t\tcallback: (store) => this.#onAvailable(store),\n\t\t\t\tsubscribe: false\n\t\t\t});\n\t\t}\n\t\thost.addController(this);\n\t}\n\t/** Returns the store, or null if not yet available from context. */\n\tget value() {\n\t\tif (this.#consumer) return this.#consumer.value ?? null;\n\t\treturn this.#directStore;\n\t}\n\thostConnected() {\n\t\tif (this.#directStore) this.#onAvailable(this.#directStore);\n\t}\n};\n//#endregion\nexport { StoreAccessor };\n\n//# sourceMappingURL=store-accessor.js.map","import { SnapshotController } from \"./snapshot-controller.js\";\nimport { StoreAccessor } from \"../store-accessor.js\";\nimport { isNull, isUndefined } from \"@videojs/utils/predicate\";\n//#region src/html/controllers/store-controller.ts\n/**\n* Access store state and actions.\n*\n* Without selector: Returns the store, does NOT subscribe to changes.\n* With selector: Returns selected state, triggers update when selected state changes (shallowEqual).\n*\n* @example\n* ```ts\n* // Store access (no subscription) - access actions\n* class Controls extends LitElement {\n* #store = new StoreController(this, storeSource);\n*\n* handleClick() {\n* this.#store.value.setVolume(0.5);\n* }\n* }\n*\n* // Selector-based subscription - re-renders when playback changes\n* class PlayButton extends LitElement {\n* #playback = new StoreController(this, storeSource, selectPlayback);\n*\n* render() {\n* const playback = this.#playback.value;\n* if (!playback) return nothing;\n* return html`<button @click=${playback.toggle}>\n* ${playback.paused ? 'Play' : 'Pause'}\n* </button>`;\n* }\n* }\n* ```\n*/\nvar StoreController = class {\n\t#host;\n\t#selector;\n\t#accessor;\n\t#snapshot = null;\n\tconstructor(host, source, selector) {\n\t\tthis.#host = host;\n\t\tthis.#selector = selector;\n\t\tthis.#accessor = new StoreAccessor(host, source, (store) => this.#connect(store));\n\t\thost.addController(this);\n\t}\n\tget value() {\n\t\tconst store = this.#accessor.value;\n\t\tif (isNull(store)) throw new Error(\"Store not available\");\n\t\tif (isUndefined(this.#selector)) return store;\n\t\treturn this.#snapshot.value;\n\t}\n\thostConnected() {}\n\t#connect(store) {\n\t\tif (isUndefined(this.#selector)) return;\n\t\tif (!this.#snapshot) this.#snapshot = new SnapshotController(this.#host, store.$state, this.#selector);\n\t\telse this.#snapshot.track(store.$state);\n\t}\n};\n//#endregion\nexport { StoreController };\n\n//# sourceMappingURL=store-controller.js.map","import type { PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { InferStoreState, Selector } from '@videojs/store';\nimport { StoreController } from '@videojs/store/html';\n\nimport type { PlayerContext } from './context';\n\nexport type PlayerControllerHost = ReactiveControllerHost & HTMLElement;\n\n/**\n * Reactive controller for accessing player store state.\n *\n * Without selector: Returns the store, does NOT subscribe to changes.\n * With selector: Returns selected state, subscribes with shallowEqual comparison.\n *\n * @example\n * ```ts\n * // Store access (no subscription)\n * class Controls extends MediaElement {\n * #player = new PlayerController(this, playerContext);\n *\n * handleClick() {\n * this.#player.value.setVolume(0.5);\n * }\n * }\n *\n * // Selector-based subscription\n * class PlayButton extends MediaElement {\n * #playback = new PlayerController(this, playerContext, selectPlayback);\n * }\n * ```\n */\nexport class PlayerController<Store extends PlayerStore, Result = Store> implements ReactiveController {\n readonly #host: PlayerControllerHost;\n readonly #selector: Selector<InferStoreState<Store>, Result> | undefined;\n\n #consumer: ContextConsumer<PlayerContext<Store>, PlayerControllerHost>;\n #store: StoreController<Store, Result> | null = null;\n\n /**\n * @label Without Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n */\n constructor(host: PlayerControllerHost, context: PlayerContext<Store>);\n /**\n * @label With Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n * @param selector - Derives a value from the player store state.\n */\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector: Selector<InferStoreState<Store>, Result>\n );\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector?: Selector<InferStoreState<Store>, Result>\n ) {\n this.#host = host;\n this.#selector = selector;\n\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: (ctx) => this.#connect(ctx),\n subscribe: true,\n });\n\n host.addController(this);\n }\n\n get value(): Result | undefined {\n const store = this.#consumer.value;\n if (!store) return undefined;\n\n // Without selector: return store directly\n if (!this.#selector) return store as unknown as Result;\n\n // With selector: use StoreController\n return this.#store?.value;\n }\n\n get displayName(): string | undefined {\n return this.#selector?.displayName;\n }\n\n hostConnected(): void {\n const store = this.#consumer.value;\n if (store) this.#connect(store);\n }\n\n hostDisconnected(): void {\n this.#store = null;\n }\n\n #connect(store: Store): void {\n if (!this.#store && this.#selector) {\n this.#store = new StoreController(this.#host, store, this.#selector);\n }\n }\n}\n\nexport namespace PlayerController {\n export type Host = PlayerControllerHost;\n\n export type Constructor<Store extends PlayerStore = PlayerStore, Result = Store> = typeof PlayerController<\n Store,\n Result\n >;\n}\n","import {\n type MediaContainer,\n type PlayerFeatureConfig,\n type PlayerStore,\n type PlayerTarget,\n setPlayerConfigValue,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport type { Media } from '@videojs/media/dom';\nimport { isNull } from '@videojs/utils/predicate';\nimport { kebabCase } from '@videojs/utils/string';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { ContainerContext, MediaContext, PlayerContext } from '../player/context';\nimport type { PlayerProviderConstructor } from './types';\n\nexport interface ProviderMixinConfig<Store extends PlayerStore> {\n playerContext: PlayerContext<Store>;\n mediaContext: MediaContext;\n containerContext: ContainerContext;\n factory: () => Store;\n config: PlayerFeatureConfig;\n}\n\nexport type ProviderMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerProviderConstructor<Store>;\n\n/**\n * Create a mixin that provides player context to descendant elements and\n * owns the `store.attach()` lifecycle.\n *\n * Media and container elements register themselves via media/container\n * contexts that carry both the current value and a setter. When a media\n * element is available, the provider calls `store.attach({ media, container })`.\n *\n * As a fallback for plain `<video>`/`<audio>` that can't consume context,\n * the provider queries its subtree after a microtask.\n *\n * @param options - Provider options with contexts, store factory, and feature configuration.\n */\nexport function createProviderMixin<Store extends PlayerStore>(\n options: ProviderMixinConfig<Store>\n): ProviderMixin<Store> {\n const configKeys = Object.keys(options.config);\n\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerProviderElement extends BaseClass {\n static properties = {\n ...(BaseClass as unknown as { properties: PropertyDeclarationMap }).properties,\n ...Object.fromEntries(configKeys.map((key) => [key, { type: String, attribute: kebabCase(key) }])),\n };\n\n #store: Store | null = options.factory();\n #configuredStore: Store | null = null;\n #detach: (() => void) | null = null;\n #media: Media | null = null;\n #container: MediaContainer | null = null;\n #fallbackQueued = false;\n\n #setMedia = (media: Media | null): void => {\n if (this.#media === media) return;\n this.#media = media;\n this.#mediaProvider.setValue({ media, setMedia: this.#setMedia });\n this.#tryAttach();\n };\n\n #setContainer = (container: MediaContainer | null): void => {\n if (this.#container === container) return;\n this.#container = container;\n this.#containerProvider.setValue({\n container,\n setContainer: this.#setContainer,\n });\n this.#tryAttach();\n };\n\n #playerProvider = new ContextProvider(this, {\n context: options.playerContext,\n initialValue: this.store,\n });\n\n #mediaProvider = new ContextProvider(this, {\n context: options.mediaContext,\n initialValue: { media: this.#media, setMedia: this.#setMedia },\n });\n\n #containerProvider = new ContextProvider(this, {\n context: options.containerContext,\n initialValue: {\n container: this.#container,\n setContainer: this.#setContainer,\n },\n });\n\n get store(): Store {\n if (isNull(this.#store)) {\n this.#store = options.factory();\n }\n\n return this.#store;\n }\n\n override connectedCallback() {\n this.#syncInitialConfig();\n super.connectedCallback();\n this.#playerProvider.setValue(this.store);\n this.#mediaProvider.setValue({ media: this.#media, setMedia: this.#setMedia });\n this.#containerProvider.setValue({\n container: this.#container,\n setContainer: this.#setContainer,\n });\n this.#tryAttach();\n this.#queueFallbackDiscovery();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#detachStore();\n }\n\n override destroyCallback() {\n this.#detachStore();\n this.#store?.destroy();\n this.#store = null;\n super.destroyCallback();\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n // Configuration flows one way: only actual reactive property changes\n // write to the store. Store-side writers do not reflect back here.\n for (const key of configKeys) {\n if (!changed.has(key)) continue;\n setPlayerConfigValue(this.store, options.config[key]!, (this as unknown as Record<string, unknown>)[key]);\n }\n }\n\n #tryAttach(): void {\n const store = this.#store;\n if (!store) return;\n\n if (!this.#media) {\n this.#detachStore();\n return;\n }\n\n const target: PlayerTarget = {\n media: this.#media,\n container: this.#container,\n };\n\n const hasMediaChanged = store.target?.media !== target.media;\n const hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detachStore();\n this.#detach = store.attach(target);\n }\n }\n\n #detachStore(): void {\n this.#detach?.();\n this.#detach = null;\n }\n\n #syncInitialConfig(): void {\n const store = this.store;\n if (this.#configuredStore === store) return;\n\n for (const key of configKeys) {\n setPlayerConfigValue(store, options.config[key]!, (this as unknown as Record<string, unknown>)[key]);\n }\n this.#configuredStore = store;\n }\n\n #queueFallbackDiscovery(): void {\n if (this.#media || this.#fallbackQueued) return;\n this.#fallbackQueued = true;\n\n queueMicrotask(() => {\n this.#fallbackQueued = false;\n\n // Context already registered media — skip fallback.\n if (this.#media) return;\n\n const media = this.querySelector<HTMLMediaElement>('video, audio');\n if (media) {\n this.#setMedia(media);\n }\n });\n }\n }\n\n return PlayerProviderElement as unknown as Class & PlayerProviderConstructor<Store>;\n };\n}\n","import {\n type AnyPlayerFeature,\n type AudioFeatures,\n type AudioPlayerStore,\n combinePlayerFeatureConfigs,\n type PlayerStore,\n type PlayerTarget,\n type VideoFeatures,\n type VideoPlayerStore,\n} from '@videojs/core/dom';\nimport { combine, createStore } from '@videojs/store';\n\nimport { createProviderMixin, type ProviderMixin } from '../store/provider-mixin';\nimport { containerContext, mediaContext, type PlayerContext, playerContext } from './context';\nimport { PlayerController } from './player-controller';\n\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n features: Features;\n}\n\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n /** Context for consuming player in controllers. */\n context: PlayerContext<Store>;\n\n /** Creates a store instance for imperative access. */\n create: () => Store;\n\n /** Player controller bound to this player's context. */\n PlayerController: PlayerController.Constructor<Store>;\n\n /** Mixin that provides player context to descendants. */\n ProviderMixin: ProviderMixin<Store>;\n}\n\n/**\n * Creates a player factory with a typed store, provider mixin, and controller.\n *\n * @example\n * ```ts\n * import { createPlayer, MediaElement, selectPlayback } from '@videojs/html';\n * import { videoFeatures } from '@videojs/html/video';\n *\n * const { ProviderMixin, PlayerController, context } = createPlayer({\n * features: videoFeatures,\n * });\n *\n * // Provider element: owns the store, provides context to descendants\n * class VideoPlayer extends ProviderMixin(MediaElement) {}\n * customElements.define('video-player', VideoPlayer);\n *\n * // Control element with selector\n * class PlayButton extends MediaElement {\n * #playback = new PlayerController(this, context, selectPlayback);\n * }\n * ```\n *\n * @label Video\n * @param config - Player configuration with features.\n */\nexport function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;\n\n/**\n * Creates a player factory for audio media.\n *\n * @label Audio\n * @param config - Player configuration with features.\n */\nexport function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;\n\n/**\n * Creates a player factory with custom features.\n *\n * @label Generic\n * @param config - Player configuration with features.\n */\nexport function createPlayer<const Features extends AnyPlayerFeature[]>(\n config: CreatePlayerConfig<Features>\n): CreatePlayerResult<PlayerStore<Features>>;\n\nexport function createPlayer(config: CreatePlayerConfig<AnyPlayerFeature[]>): CreatePlayerResult<PlayerStore> {\n const slice = combine(...config.features);\n const featureConfig = combinePlayerFeatureConfigs(config.features);\n\n function create(): PlayerStore {\n return createStore<PlayerTarget>()(slice);\n }\n\n const ProviderMixin = createProviderMixin<PlayerStore>({\n playerContext,\n mediaContext,\n containerContext,\n factory: create,\n config: featureConfig,\n });\n\n return {\n context: playerContext,\n create,\n PlayerController,\n ProviderMixin,\n };\n}\n"],"x_google_ignoreList":[1,2],"mappings":"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"}