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

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 (676) hide show
  1. package/cdn/{adapter-XTen-YVQ.js → adapter-CEnNWvii.js} +17 -4
  2. package/cdn/adapter-CEnNWvii.js.map +1 -0
  3. package/cdn/adapter-DaKW8NzI.js +2 -0
  4. package/cdn/adapter-DaKW8NzI.js.map +1 -0
  5. package/cdn/audio-headless.dev.js +1 -1
  6. package/cdn/audio-headless.js +1 -1
  7. package/cdn/audio-minimal-ui.dev.js +2 -2
  8. package/cdn/audio-minimal-ui.js +1 -1
  9. package/cdn/audio-minimal.dev.js +5 -5
  10. package/cdn/audio-minimal.dev.js.map +1 -1
  11. package/cdn/audio-minimal.js +1 -1
  12. package/cdn/audio-minimal.js.map +1 -1
  13. package/cdn/audio-ui.dev.js +2 -2
  14. package/cdn/audio-ui.js +1 -1
  15. package/cdn/audio.dev.js +5 -5
  16. package/cdn/audio.dev.js.map +1 -1
  17. package/cdn/audio.js +1 -1
  18. package/cdn/audio.js.map +1 -1
  19. package/cdn/background-video-WKumpp49.js +59 -0
  20. package/cdn/background-video-WKumpp49.js.map +1 -0
  21. package/cdn/background-video-YHY_3-lX.js +2 -0
  22. package/cdn/background-video-YHY_3-lX.js.map +1 -0
  23. package/cdn/background.dev.js +3 -56
  24. package/cdn/background.dev.js.map +1 -1
  25. package/cdn/background.js +1 -1
  26. package/cdn/background.js.map +1 -1
  27. package/cdn/bn-CcLIScl6.js +108 -0
  28. package/cdn/bn-CcLIScl6.js.map +1 -0
  29. package/cdn/bn-KcCmQhYd.js +2 -0
  30. package/cdn/bn-KcCmQhYd.js.map +1 -0
  31. package/cdn/compounds-C4YYLyL2.js +8 -0
  32. package/cdn/compounds-C4YYLyL2.js.map +1 -0
  33. package/cdn/{compounds-CCvdpvge.js → compounds-C73u1MeO.js} +68 -71
  34. package/cdn/compounds-C73u1MeO.js.map +1 -0
  35. package/cdn/container-element-Dd0ZCdhK.js +14 -0
  36. package/cdn/container-element-Dd0ZCdhK.js.map +1 -0
  37. package/cdn/container-element-HHK_KZOE.js +376 -0
  38. package/cdn/container-element-HHK_KZOE.js.map +1 -0
  39. package/cdn/create-player-BU8LDJDL.js +2 -0
  40. package/cdn/create-player-BU8LDJDL.js.map +1 -0
  41. package/cdn/{create-player-BHFyOnWi.js → create-player-Db1CIvlK.js} +76 -424
  42. package/cdn/create-player-Db1CIvlK.js.map +1 -0
  43. package/cdn/{default-BqQDVloS.js → default-A3aM0skz.js} +2 -2
  44. package/cdn/default-A3aM0skz.js.map +1 -0
  45. package/cdn/default-BDyhiTCm.js +2 -0
  46. package/cdn/default-BDyhiTCm.js.map +1 -0
  47. package/cdn/{default-I2LasfxC.js → default-C1_k1NeB.js} +2 -2
  48. package/cdn/default-C1_k1NeB.js.map +1 -0
  49. package/cdn/default-DHrMd4ie.js +2 -0
  50. package/cdn/default-DHrMd4ie.js.map +1 -0
  51. package/cdn/embed-params-D2e8u0d4.js +2 -0
  52. package/cdn/embed-params-D2e8u0d4.js.map +1 -0
  53. package/cdn/embed-params-W6T88S8x.js +39 -0
  54. package/cdn/embed-params-W6T88S8x.js.map +1 -0
  55. package/cdn/error-surface-BID4D3DW.js +59 -0
  56. package/cdn/error-surface-BID4D3DW.js.map +1 -0
  57. package/cdn/{select-tracks-nRPBa1NC.js → error-surface-D0bo71gD.js} +442 -48
  58. package/cdn/error-surface-D0bo71gD.js.map +1 -0
  59. package/cdn/{gesture-element-BNfMI8eh.js → gesture-element-CeRy1IVs.js} +2 -2
  60. package/cdn/gesture-element-CeRy1IVs.js.map +1 -0
  61. package/cdn/{gesture-element-CG-Sx_5t.js → gesture-element-DB67OYCE.js} +3 -3
  62. package/cdn/gesture-element-DB67OYCE.js.map +1 -0
  63. package/cdn/hls-js-CiE4wOrG.js +2 -0
  64. package/cdn/{hls-js-6lW7L4th.js.map → hls-js-CiE4wOrG.js.map} +1 -1
  65. package/cdn/hls-js-DBKRCbQm.js +2 -0
  66. package/cdn/{hls-js-DCQzjzB5.js.map → hls-js-DBKRCbQm.js.map} +1 -1
  67. package/cdn/{hls-js-g1zdcyvE.js → hls-js-DX2NGCAr.js} +3 -2
  68. package/cdn/{hls-js-g1zdcyvE.js.map → hls-js-DX2NGCAr.js.map} +1 -1
  69. package/cdn/{hls-js-Cwj8UBx9.js → hls-js-JeH8yvsP.js} +3 -2
  70. package/cdn/{hls-js-Cwj8UBx9.js.map → hls-js-JeH8yvsP.js.map} +1 -1
  71. package/cdn/i18n-CE4KxKuj.js +2 -0
  72. package/cdn/i18n-CE4KxKuj.js.map +1 -0
  73. package/cdn/i18n-CpBDXf6M.js +2 -0
  74. package/cdn/{i18n-DfKGl5Rh.js.map → i18n-CpBDXf6M.js.map} +1 -1
  75. package/cdn/{i18n-Mtlmj1AA.js → i18n-D0nhPa0m.js} +2 -2
  76. package/cdn/{i18n-Mtlmj1AA.js.map → i18n-D0nhPa0m.js.map} +1 -1
  77. package/cdn/i18n-DyF_NfCk.js +157 -0
  78. package/cdn/i18n-DyF_NfCk.js.map +1 -0
  79. package/cdn/i18n.dev.js +3 -152
  80. package/cdn/i18n.dev.js.map +1 -1
  81. package/cdn/i18n.js +1 -1
  82. package/cdn/i18n.js.map +1 -1
  83. package/cdn/live-button-element-Co8z2LkI.js +2 -0
  84. package/cdn/{live-button-element-CWfkQUoy.js.map → live-button-element-Co8z2LkI.js.map} +1 -1
  85. package/cdn/{live-button-element-B_y-ZJBy.js → live-button-element-zE-8uoR2.js} +5 -4
  86. package/cdn/live-button-element-zE-8uoR2.js.map +1 -0
  87. package/cdn/live-video-minimal.dev.js +12 -10
  88. package/cdn/live-video-minimal.dev.js.map +1 -1
  89. package/cdn/live-video-minimal.js +1 -1
  90. package/cdn/live-video-minimal.js.map +1 -1
  91. package/cdn/live-video.dev.js +13 -11
  92. package/cdn/live-video.dev.js.map +1 -1
  93. package/cdn/live-video.js +1 -1
  94. package/cdn/live-video.js.map +1 -1
  95. package/cdn/locales/bn.dev.js +1 -1
  96. package/cdn/locales/bn.js +1 -1
  97. package/cdn/media/background-video.dev.d.ts +1 -0
  98. package/cdn/media/background-video.dev.js +3 -0
  99. package/cdn/media/background-video.js +1 -0
  100. package/cdn/media/cloudflare-video.dev.d.ts +1 -0
  101. package/cdn/media/cloudflare-video.dev.js +668 -0
  102. package/cdn/media/cloudflare-video.dev.js.map +1 -0
  103. package/cdn/media/cloudflare-video.js +2 -0
  104. package/cdn/media/cloudflare-video.js.map +1 -0
  105. package/cdn/media/container.dev.d.ts +1 -0
  106. package/cdn/media/container.dev.js +8 -0
  107. package/cdn/media/container.dev.js.map +1 -0
  108. package/cdn/media/container.js +2 -0
  109. package/cdn/media/container.js.map +1 -0
  110. package/cdn/media/dash-video.dev.js +2 -1
  111. package/cdn/media/dash-video.js +2 -2
  112. package/cdn/media/dash-video.js.map +1 -1
  113. package/cdn/media/google-cast.dev.js +2 -31
  114. package/cdn/media/google-cast.dev.js.map +1 -1
  115. package/cdn/media/google-cast.js +3 -3
  116. package/cdn/media/google-cast.js.map +1 -1
  117. package/cdn/media/hls-audio.dev.js +2 -1
  118. package/cdn/media/hls-audio.js +1 -1
  119. package/cdn/media/hls-audio.js.map +1 -1
  120. package/cdn/media/hls-background-video.dev.js +2 -1
  121. package/cdn/media/hls-background-video.js +1 -1
  122. package/cdn/media/hls-background-video.js.map +1 -1
  123. package/cdn/media/hls-video.dev.js +2 -1
  124. package/cdn/media/hls-video.js +1 -1
  125. package/cdn/media/hls-video.js.map +1 -1
  126. package/cdn/media/hlsjs-video.dev.js +2 -1
  127. package/cdn/media/hlsjs-video.js +1 -1
  128. package/cdn/media/hlsjs-video.js.map +1 -1
  129. package/cdn/media/mux-audio/hls-js.dev.js +3 -1
  130. package/cdn/media/mux-audio/hls-js.js +1 -1
  131. package/cdn/media/mux-audio/spf.dev.js +3 -2
  132. package/cdn/media/mux-audio/spf.js +1 -1
  133. package/cdn/media/mux-audio/spf.js.map +1 -1
  134. package/cdn/media/mux-audio.dev.js +3 -1
  135. package/cdn/media/mux-audio.js +1 -1
  136. package/cdn/media/mux-background-video.dev.js +2 -1
  137. package/cdn/media/mux-background-video.js +1 -1
  138. package/cdn/media/mux-background-video.js.map +1 -1
  139. package/cdn/media/mux-data.dev.js +2 -1
  140. package/cdn/media/mux-data.dev.js.map +1 -1
  141. package/cdn/media/mux-data.js +2 -2
  142. package/cdn/media/mux-data.js.map +1 -1
  143. package/cdn/media/mux-video/hls-js.dev.js +3 -1
  144. package/cdn/media/mux-video/hls-js.js +1 -1
  145. package/cdn/media/mux-video/spf.dev.js +3 -2
  146. package/cdn/media/mux-video/spf.js +1 -1
  147. package/cdn/media/mux-video/spf.js.map +1 -1
  148. package/cdn/media/mux-video.dev.js +3 -1
  149. package/cdn/media/mux-video.js +1 -1
  150. package/cdn/media/native-hls-video.dev.js +1 -0
  151. package/cdn/media/native-hls-video.js +1 -1
  152. package/cdn/media/native-hls-video.js.map +1 -1
  153. package/cdn/media/spotify-audio.dev.d.ts +1 -0
  154. package/cdn/media/spotify-audio.dev.js +605 -0
  155. package/cdn/media/spotify-audio.dev.js.map +1 -0
  156. package/cdn/media/spotify-audio.js +2 -0
  157. package/cdn/media/spotify-audio.js.map +1 -0
  158. package/cdn/media/tiktok-video.dev.d.ts +1 -0
  159. package/cdn/media/tiktok-video.dev.js +636 -0
  160. package/cdn/media/tiktok-video.dev.js.map +1 -0
  161. package/cdn/media/tiktok-video.js +2 -0
  162. package/cdn/media/tiktok-video.js.map +1 -0
  163. package/cdn/media/twitch-video.dev.d.ts +1 -0
  164. package/cdn/media/twitch-video.dev.js +627 -0
  165. package/cdn/media/twitch-video.dev.js.map +1 -0
  166. package/cdn/media/twitch-video.js +2 -0
  167. package/cdn/media/twitch-video.js.map +1 -0
  168. package/cdn/media/vimeo-video.dev.d.ts +1 -0
  169. package/cdn/media/vimeo-video.dev.js +3011 -0
  170. package/cdn/media/vimeo-video.dev.js.map +1 -0
  171. package/cdn/media/vimeo-video.js +16 -0
  172. package/cdn/media/vimeo-video.js.map +1 -0
  173. package/cdn/media/youtube-video.dev.d.ts +1 -0
  174. package/cdn/media/youtube-video.dev.js +713 -0
  175. package/cdn/media/youtube-video.dev.js.map +1 -0
  176. package/cdn/media/youtube-video.js +2 -0
  177. package/cdn/media/youtube-video.js.map +1 -0
  178. package/cdn/{media-Uxm0d3Vx.js → media-BI8caj07.js} +3 -3
  179. package/cdn/{media-Uxm0d3Vx.js.map → media-BI8caj07.js.map} +1 -1
  180. package/cdn/{media-B_gQXwri.js → media-BNuI0Im7.js} +30 -8
  181. package/cdn/media-BNuI0Im7.js.map +1 -0
  182. package/cdn/{media-Cp3acYc8.js → media-BavrGKqa.js} +274 -5
  183. package/cdn/media-BavrGKqa.js.map +1 -0
  184. package/cdn/media-CQxFuDcv.js +2 -0
  185. package/cdn/{media-CbWsJJhU.js.map → media-CQxFuDcv.js.map} +1 -1
  186. package/cdn/media-CanBm0Jh.js +41 -0
  187. package/cdn/media-CanBm0Jh.js.map +1 -0
  188. package/cdn/media-D4tG62L5.js +2 -0
  189. package/cdn/{media-BTipOcKo.js.map → media-D4tG62L5.js.map} +1 -1
  190. package/cdn/{media-DRo3n8tM.js → media-DI6DvYm3.js} +4 -4
  191. package/cdn/{media-DRo3n8tM.js.map → media-DI6DvYm3.js.map} +1 -1
  192. package/cdn/media-DU3Xf5XR.js +2 -0
  193. package/cdn/media-DU3Xf5XR.js.map +1 -0
  194. package/cdn/media-mYKOAsk3.js +825 -0
  195. package/cdn/media-mYKOAsk3.js.map +1 -0
  196. package/cdn/media-played-ranges-CM2zeOGr.js +2 -0
  197. package/cdn/media-played-ranges-CM2zeOGr.js.map +1 -0
  198. package/cdn/media-played-ranges-Yd9acuMt.js +156 -0
  199. package/cdn/media-played-ranges-Yd9acuMt.js.map +1 -0
  200. package/cdn/media-zReLnePj.js +2 -0
  201. package/cdn/media-zReLnePj.js.map +1 -0
  202. package/cdn/{minimal-DQCLKRyR.js → minimal-3OmH0xQS.js} +2 -2
  203. package/cdn/minimal-3OmH0xQS.js.map +1 -0
  204. package/cdn/{minimal-DLosvq31.js → minimal-6w_Vyyl9.js} +2 -2
  205. package/cdn/minimal-6w_Vyyl9.js.map +1 -0
  206. package/cdn/minimal-BWLTn7oQ.js +2 -0
  207. package/cdn/minimal-BWLTn7oQ.js.map +1 -0
  208. package/cdn/minimal-DIGrklyh.js +2 -0
  209. package/cdn/minimal-DIGrklyh.js.map +1 -0
  210. package/cdn/{minimal-ui-Bxcpf5Mb.js → minimal-ui-BCIESK8f.js} +9 -9
  211. package/cdn/{minimal-ui-Bxcpf5Mb.js.map → minimal-ui-BCIESK8f.js.map} +1 -1
  212. package/cdn/minimal-ui-BXrq3z4U.js +2 -0
  213. package/cdn/{minimal-ui-BVKu9LWj.js.map → minimal-ui-BXrq3z4U.js.map} +1 -1
  214. package/cdn/{minimal-ui--JsmpU2q.js → minimal-ui-DEalpMk6.js} +5 -5
  215. package/cdn/{minimal-ui--JsmpU2q.js.map → minimal-ui-DEalpMk6.js.map} +1 -1
  216. package/cdn/minimal-ui-vY3QgohH.js +2 -0
  217. package/cdn/{minimal-ui-AFk6Ut5f.js.map → minimal-ui-vY3QgohH.js.map} +1 -1
  218. package/cdn/mixin-BqN0V06a.js +2 -0
  219. package/cdn/{mixin-DiB7dIef.js.map → mixin-BqN0V06a.js.map} +1 -1
  220. package/cdn/{mixin-CkNZwQXF.js → mixin-C193v40v.js} +67 -67
  221. package/cdn/mixin-C193v40v.js.map +1 -0
  222. package/cdn/noop-BxkeRIz9.js +6 -0
  223. package/cdn/noop-BxkeRIz9.js.map +1 -0
  224. package/cdn/noop-Ch0IHcOP.js +2 -0
  225. package/cdn/noop-Ch0IHcOP.js.map +1 -0
  226. package/cdn/{player-C4ix6TQq.js → player-B3GlPF90.js} +3 -2
  227. package/cdn/{player-C4ix6TQq.js.map → player-B3GlPF90.js.map} +1 -1
  228. package/cdn/player-CtTC7qa5.js +2 -0
  229. package/cdn/{player-B0ccW5-n.js.map → player-CtTC7qa5.js.map} +1 -1
  230. package/cdn/player-DKkph8UM.js +2 -0
  231. package/cdn/{player-srq1RGTj.js.map → player-DKkph8UM.js.map} +1 -1
  232. package/cdn/{player-B0qnepD5.js → player-DPDmTRvg.js} +3 -2
  233. package/cdn/{player-B0qnepD5.js.map → player-DPDmTRvg.js.map} +1 -1
  234. package/cdn/player-DrDd7LJi.js +2 -0
  235. package/cdn/{player-iIewo8Y9.js.map → player-DrDd7LJi.js.map} +1 -1
  236. package/cdn/{player-D4fdOLLk.js → player-L5UpZmT4.js} +3 -2
  237. package/cdn/{player-D4fdOLLk.js.map → player-L5UpZmT4.js.map} +1 -1
  238. package/cdn/{poster-element-BP1Ypgbf.js → poster-element-B5tdJ2ub.js} +192 -39
  239. package/cdn/poster-element-B5tdJ2ub.js.map +1 -0
  240. package/cdn/poster-element-B8QwXSU_.js +2 -0
  241. package/cdn/poster-element-B8QwXSU_.js.map +1 -0
  242. package/cdn/{error-surface-drmCvBVW.js → relocation-pipelines-Dh8CcgHw.js} +5 -343
  243. package/cdn/relocation-pipelines-Dh8CcgHw.js.map +1 -0
  244. package/cdn/relocation-pipelines-DunE4gcV.js +2 -0
  245. package/cdn/relocation-pipelines-DunE4gcV.js.map +1 -0
  246. package/cdn/script-D3ZkiqwO.js +2 -0
  247. package/cdn/script-D3ZkiqwO.js.map +1 -0
  248. package/cdn/script-erPJaaTz.js +33 -0
  249. package/cdn/script-erPJaaTz.js.map +1 -0
  250. package/cdn/{seek-button-element-TErrbilI.js → seek-button-element-5co-k0Dx.js} +7 -6
  251. package/cdn/seek-button-element-5co-k0Dx.js.map +1 -0
  252. package/cdn/seek-button-element-B8TkILg-.js +2 -0
  253. package/cdn/seek-button-element-B8TkILg-.js.map +1 -0
  254. package/cdn/shallow-equal-C7S8rj2f.js +16 -0
  255. package/cdn/shallow-equal-C7S8rj2f.js.map +1 -0
  256. package/cdn/shallow-equal-KV1zFqZi.js +2 -0
  257. package/cdn/shallow-equal-KV1zFqZi.js.map +1 -0
  258. package/cdn/{skin-element-wPSb4AAs.js → skin-element-DrkI8xuM.js} +2 -2
  259. package/cdn/{skin-element-wPSb4AAs.js.map → skin-element-DrkI8xuM.js.map} +1 -1
  260. package/cdn/{skin-element-1_MG2zgS.js → skin-element-DvX6Bxsv.js} +2 -2
  261. package/cdn/{skin-element-1_MG2zgS.js.map → skin-element-DvX6Bxsv.js.map} +1 -1
  262. package/cdn/text-element-BoY6AhMn.js +2 -0
  263. package/cdn/{text-element-Bsyglab8.js.map → text-element-BoY6AhMn.js.map} +1 -1
  264. package/cdn/{text-element-DTB9_2HX.js → text-element-cg6l21cd.js} +3 -3
  265. package/cdn/{text-element-DTB9_2HX.js.map → text-element-cg6l21cd.js.map} +1 -1
  266. package/cdn/time-slider-chapters-element-BfLjdnU4.js +2 -0
  267. package/cdn/time-slider-chapters-element-BfLjdnU4.js.map +1 -0
  268. package/cdn/{time-slider-chapters-element-DPgaLdBt.js → time-slider-chapters-element-CznFQWFm.js} +7 -6
  269. package/cdn/time-slider-chapters-element-CznFQWFm.js.map +1 -0
  270. package/cdn/{translate-text-DP0CzUCC.js → translate-text-BWvoW5-r.js} +2 -7
  271. package/cdn/translate-text-BWvoW5-r.js.map +1 -0
  272. package/cdn/translate-text-TzSgu_oe.js +2 -0
  273. package/cdn/translate-text-TzSgu_oe.js.map +1 -0
  274. package/cdn/{ui-D0AokGxw.js → ui-BwzqkJNK.js} +8 -8
  275. package/cdn/{ui-D0AokGxw.js.map → ui-BwzqkJNK.js.map} +1 -1
  276. package/cdn/ui-DayfItun.js +2 -0
  277. package/cdn/{ui-CecDxhTX.js.map → ui-DayfItun.js.map} +1 -1
  278. package/cdn/ui-PSnD-pv8.js +2 -0
  279. package/cdn/{ui-ChWM6Xz2.js.map → ui-PSnD-pv8.js.map} +1 -1
  280. package/cdn/{ui-p36Szn71.js → ui-fnKp94a7.js} +10 -10
  281. package/cdn/{ui-p36Szn71.js.map → ui-fnKp94a7.js.map} +1 -1
  282. package/cdn/video-headless.dev.js +1 -1
  283. package/cdn/video-headless.js +1 -1
  284. package/cdn/video-minimal-ui.dev.js +2 -2
  285. package/cdn/video-minimal-ui.js +1 -1
  286. package/cdn/video-minimal.dev.js +8 -6
  287. package/cdn/video-minimal.dev.js.map +1 -1
  288. package/cdn/video-minimal.js +1 -1
  289. package/cdn/video-minimal.js.map +1 -1
  290. package/cdn/video-ui.dev.js +2 -2
  291. package/cdn/video-ui.js +1 -1
  292. package/cdn/video.dev.js +9 -7
  293. package/cdn/video.dev.js.map +1 -1
  294. package/cdn/video.js +1 -1
  295. package/cdn/video.js.map +1 -1
  296. package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
  297. package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
  298. package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
  299. package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
  300. package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
  301. package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
  302. package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
  303. package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
  304. package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
  305. package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
  306. package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
  307. package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
  308. package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
  309. package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
  310. package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
  311. package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  312. package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
  313. package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
  314. package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
  315. package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  316. package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  317. package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
  318. package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  319. package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
  320. package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
  321. package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  322. package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  323. package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
  324. package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -0
  325. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  326. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  327. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  328. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  329. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  330. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  331. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  332. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  333. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  334. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  335. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  336. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  337. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  338. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  339. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  340. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  341. package/dist/default/define/audio/minimal-skin.css +117 -118
  342. package/dist/default/define/audio/skin.css +95 -99
  343. package/dist/default/define/live-audio/minimal-skin.css +117 -118
  344. package/dist/default/define/live-audio/skin.css +95 -99
  345. package/dist/default/define/live-video/minimal-skin.css +158 -137
  346. package/dist/default/define/live-video/minimal-skin.js +1 -1
  347. package/dist/default/define/live-video/minimal-skin.js.map +1 -1
  348. package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
  349. package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
  350. package/dist/default/define/live-video/skin.css +120 -106
  351. package/dist/default/define/live-video/skin.js +1 -1
  352. package/dist/default/define/live-video/skin.js.map +1 -1
  353. package/dist/default/define/live-video/skin.tailwind.js +1 -1
  354. package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
  355. package/dist/default/define/ui/gesture.js +7 -0
  356. package/dist/default/define/ui/gesture.js.map +1 -0
  357. package/dist/default/define/video/minimal-skin.css +158 -137
  358. package/dist/default/define/video/minimal-skin.js +1 -1
  359. package/dist/default/define/video/minimal-skin.js.map +1 -1
  360. package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
  361. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  362. package/dist/default/define/video/skin.css +120 -106
  363. package/dist/default/define/video/skin.js +1 -1
  364. package/dist/default/define/video/skin.js.map +1 -1
  365. package/dist/default/define/video/skin.tailwind.js +1 -1
  366. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  367. package/dist/default/icons/dist/element/default/icons.js +1 -1
  368. package/dist/default/icons/dist/element/default/icons.js.map +1 -1
  369. package/dist/default/icons/dist/element/minimal/icons.js +1 -1
  370. package/dist/default/icons/dist/element/minimal/icons.js.map +1 -1
  371. package/dist/default/icons/dist/html/default/airplay-exit.js +1 -1
  372. package/dist/default/icons/dist/html/default/airplay-exit.js.map +1 -1
  373. package/dist/default/icons/dist/html/minimal/airplay-exit.js +1 -1
  374. package/dist/default/icons/dist/html/minimal/airplay-exit.js.map +1 -1
  375. package/dist/default/icons/dist/render/default/index.js +1 -1
  376. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  377. package/dist/default/icons/dist/render/minimal/index.js +1 -1
  378. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  379. package/dist/default/media/hls-background-video/media.js +18 -0
  380. package/dist/default/media/hls-background-video/media.js.map +1 -1
  381. package/dist/default/media/tiktok-video/media.js +3 -2
  382. package/dist/default/media/tiktok-video/media.js.map +1 -1
  383. package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
  384. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  385. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
  386. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  387. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +13 -13
  388. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  389. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  390. package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  391. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
  392. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  393. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  394. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  395. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  396. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  397. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  398. package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  399. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
  400. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  401. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  402. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  403. package/dist/default/store/provider-mixin.js +22 -8
  404. package/dist/default/store/provider-mixin.js.map +1 -1
  405. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
  406. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
  407. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js +1 -1
  408. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
  409. package/dist/default/ui/gesture/gesture-element.js.map +1 -1
  410. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
  411. package/dist/default/ui/menu/context.js.map +1 -1
  412. package/dist/default/ui/menu/menu-element.js +28 -27
  413. package/dist/default/ui/menu/menu-element.js.map +1 -1
  414. package/dist/default/ui/menu/menu-radio-group-element.js +14 -14
  415. package/dist/default/ui/menu/menu-radio-group-element.js.map +1 -1
  416. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  417. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  418. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
  419. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
  420. package/dist/default/ui/poster/poster-element.js +138 -8
  421. package/dist/default/ui/poster/poster-element.js.map +1 -1
  422. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js +1 -1
  423. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
  424. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  425. package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
  426. package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
  427. package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
  428. package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
  429. package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
  430. package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
  431. package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
  432. package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
  433. package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
  434. package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
  435. package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
  436. package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
  437. package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
  438. package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
  439. package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
  440. package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
  441. package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
  442. package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
  443. package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
  444. package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
  445. package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
  446. package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
  447. package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
  448. package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
  449. package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
  450. package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
  451. package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
  452. package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
  453. package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
  454. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  455. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  456. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  457. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  458. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  459. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  460. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  461. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  462. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  463. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  464. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  465. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  466. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  467. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  468. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  469. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  470. package/dist/dev/define/audio/minimal-skin.css +117 -118
  471. package/dist/dev/define/audio/skin.css +95 -99
  472. package/dist/dev/define/live-audio/minimal-skin.css +117 -118
  473. package/dist/dev/define/live-audio/skin.css +95 -99
  474. package/dist/dev/define/live-video/minimal-skin.css +158 -137
  475. package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -1
  476. package/dist/dev/define/live-video/minimal-skin.js +3 -1
  477. package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
  478. package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -1
  479. package/dist/dev/define/live-video/minimal-skin.tailwind.js +3 -1
  480. package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
  481. package/dist/dev/define/live-video/skin.css +120 -106
  482. package/dist/dev/define/live-video/skin.d.ts.map +1 -1
  483. package/dist/dev/define/live-video/skin.js +3 -1
  484. package/dist/dev/define/live-video/skin.js.map +1 -1
  485. package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -1
  486. package/dist/dev/define/live-video/skin.tailwind.js +4 -2
  487. package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
  488. package/dist/dev/define/ui/gesture.d.ts +8 -0
  489. package/dist/dev/define/ui/gesture.d.ts.map +1 -0
  490. package/dist/dev/define/ui/gesture.js +7 -0
  491. package/dist/dev/define/ui/gesture.js.map +1 -0
  492. package/dist/dev/define/video/minimal-skin.css +158 -137
  493. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  494. package/dist/dev/define/video/minimal-skin.js +3 -1
  495. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  496. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  497. package/dist/dev/define/video/minimal-skin.tailwind.js +3 -1
  498. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  499. package/dist/dev/define/video/skin.css +120 -106
  500. package/dist/dev/define/video/skin.d.ts.map +1 -1
  501. package/dist/dev/define/video/skin.js +3 -1
  502. package/dist/dev/define/video/skin.js.map +1 -1
  503. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  504. package/dist/dev/define/video/skin.tailwind.js +4 -2
  505. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  506. package/dist/dev/media/hls-background-video/media.d.ts +16 -0
  507. package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
  508. package/dist/dev/media/hls-background-video/media.js +18 -0
  509. package/dist/dev/media/hls-background-video/media.js.map +1 -1
  510. package/dist/dev/media/tiktok-video/media.d.ts.map +1 -1
  511. package/dist/dev/media/tiktok-video/media.js +10 -7
  512. package/dist/dev/media/tiktok-video/media.js.map +1 -1
  513. package/dist/dev/packages/icons/dist/element/default/icons.js +1 -1
  514. package/dist/dev/packages/icons/dist/element/default/icons.js.map +1 -1
  515. package/dist/dev/packages/icons/dist/element/minimal/icons.js +1 -1
  516. package/dist/dev/packages/icons/dist/element/minimal/icons.js.map +1 -1
  517. package/dist/dev/packages/icons/dist/html/default/airplay-exit.js +1 -1
  518. package/dist/dev/packages/icons/dist/html/default/airplay-exit.js.map +1 -1
  519. package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js +1 -1
  520. package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js.map +1 -1
  521. package/dist/dev/packages/icons/dist/render/default/index.js +1 -1
  522. package/dist/dev/packages/icons/dist/render/default/index.js.map +1 -1
  523. package/dist/dev/packages/icons/dist/render/minimal/index.js +1 -1
  524. package/dist/dev/packages/icons/dist/render/minimal/index.js.map +1 -1
  525. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +3 -1
  526. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  527. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +8 -1
  528. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  529. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +13 -13
  530. package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  531. package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
  532. package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
  533. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +3 -3
  534. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  535. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
  536. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  537. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
  538. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  539. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
  540. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
  541. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -6
  542. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  543. package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js +4 -4
  544. package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
  545. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  546. package/dist/dev/store/provider-mixin.js +24 -8
  547. package/dist/dev/store/provider-mixin.js.map +1 -1
  548. package/dist/dev/store/types.d.ts +2 -2
  549. package/dist/dev/store/types.d.ts.map +1 -1
  550. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
  551. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
  552. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js +1 -1
  553. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
  554. package/dist/dev/ui/gesture/gesture-element.d.ts +7 -7
  555. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -1
  556. package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
  557. package/dist/dev/ui/hotkey/hotkey-element.d.ts +6 -6
  558. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -1
  559. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
  560. package/dist/dev/ui/menu/context.d.ts +8 -8
  561. package/dist/dev/ui/menu/context.d.ts.map +1 -1
  562. package/dist/dev/ui/menu/context.js.map +1 -1
  563. package/dist/dev/ui/menu/menu-element.d.ts.map +1 -1
  564. package/dist/dev/ui/menu/menu-element.js +28 -27
  565. package/dist/dev/ui/menu/menu-element.js.map +1 -1
  566. package/dist/dev/ui/menu/menu-radio-group-element.d.ts +1 -1
  567. package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +1 -1
  568. package/dist/dev/ui/menu/menu-radio-group-element.js +14 -14
  569. package/dist/dev/ui/menu/menu-radio-group-element.js.map +1 -1
  570. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -1
  571. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  572. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  573. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
  574. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
  575. package/dist/dev/ui/poster/poster-element.d.ts +20 -18
  576. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  577. package/dist/dev/ui/poster/poster-element.js +145 -8
  578. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  579. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js +1 -1
  580. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
  581. package/dist/dev/ui/slider/slider-preview-element.d.ts +2 -2
  582. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
  583. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  584. package/docs/README.md +1 -1
  585. package/docs/concepts/features.md +2 -2
  586. package/docs/concepts/media-sources.md +79 -1
  587. package/docs/concepts/skins.md +122 -108
  588. package/docs/how-to/build-your-own-component.md +1 -1
  589. package/docs/how-to/customize-skins.md +499 -469
  590. package/docs/how-to/migrate-from-media-chrome.md +359 -0
  591. package/docs/how-to/migrate-from-mux-player.md +535 -0
  592. package/docs/how-to/migrate-from-plyr.md +394 -0
  593. package/docs/how-to/migrate-from-video-js-8.md +594 -0
  594. package/docs/llms.txt +9 -0
  595. package/docs/reference/feature-volume.md +3 -1
  596. package/docs/reference/menu.md +3 -19
  597. package/docs/reference/mute-button.md +34 -0
  598. package/docs/reference/popover.md +2 -2
  599. package/docs/reference/poster.md +211 -21
  600. package/docs/reference/slider.md +1 -1
  601. package/docs/reference/time-slider.md +1 -1
  602. package/docs/reference/tooltip.md +6 -6
  603. package/docs/reference/volume-slider.md +2 -2
  604. package/package.json +15 -9
  605. package/cdn/adapter-Bk03SAxn.js +0 -2
  606. package/cdn/adapter-Bk03SAxn.js.map +0 -1
  607. package/cdn/adapter-XTen-YVQ.js.map +0 -1
  608. package/cdn/bn-DdelKD_n.js +0 -108
  609. package/cdn/bn-DdelKD_n.js.map +0 -1
  610. package/cdn/bn-YS8ruMcO.js +0 -2
  611. package/cdn/bn-YS8ruMcO.js.map +0 -1
  612. package/cdn/compounds-CCvdpvge.js.map +0 -1
  613. package/cdn/compounds-CJ6SbYAh.js +0 -8
  614. package/cdn/compounds-CJ6SbYAh.js.map +0 -1
  615. package/cdn/create-player-BHFyOnWi.js.map +0 -1
  616. package/cdn/create-player-CbpxjDaZ.js +0 -14
  617. package/cdn/create-player-CbpxjDaZ.js.map +0 -1
  618. package/cdn/default-BqQDVloS.js.map +0 -1
  619. package/cdn/default-CXWVp2oG.js +0 -2
  620. package/cdn/default-CXWVp2oG.js.map +0 -1
  621. package/cdn/default-Dw6cIEqT.js +0 -2
  622. package/cdn/default-Dw6cIEqT.js.map +0 -1
  623. package/cdn/default-I2LasfxC.js.map +0 -1
  624. package/cdn/error-surface-DCT1m2p1.js +0 -2
  625. package/cdn/error-surface-DCT1m2p1.js.map +0 -1
  626. package/cdn/error-surface-drmCvBVW.js.map +0 -1
  627. package/cdn/gesture-element-BNfMI8eh.js.map +0 -1
  628. package/cdn/gesture-element-CG-Sx_5t.js.map +0 -1
  629. package/cdn/hls-js-6lW7L4th.js +0 -2
  630. package/cdn/hls-js-DCQzjzB5.js +0 -2
  631. package/cdn/i18n-DfKGl5Rh.js +0 -2
  632. package/cdn/live-button-element-B_y-ZJBy.js.map +0 -1
  633. package/cdn/live-button-element-CWfkQUoy.js +0 -2
  634. package/cdn/media-5ODYtX1-.js +0 -2
  635. package/cdn/media-5ODYtX1-.js.map +0 -1
  636. package/cdn/media-BTipOcKo.js +0 -2
  637. package/cdn/media-B_gQXwri.js.map +0 -1
  638. package/cdn/media-CPWNSZFX.js +0 -41
  639. package/cdn/media-CPWNSZFX.js.map +0 -1
  640. package/cdn/media-CbWsJJhU.js +0 -2
  641. package/cdn/media-Cp3acYc8.js.map +0 -1
  642. package/cdn/media-Dq4zmIJa2.js +0 -2
  643. package/cdn/media-Dq4zmIJa2.js.map +0 -1
  644. package/cdn/media-suYcjCG22.js +0 -445
  645. package/cdn/media-suYcjCG22.js.map +0 -1
  646. package/cdn/minimal-BedCvMBG.js +0 -2
  647. package/cdn/minimal-BedCvMBG.js.map +0 -1
  648. package/cdn/minimal-BoP112ye.js +0 -2
  649. package/cdn/minimal-BoP112ye.js.map +0 -1
  650. package/cdn/minimal-DLosvq31.js.map +0 -1
  651. package/cdn/minimal-DQCLKRyR.js.map +0 -1
  652. package/cdn/minimal-ui-AFk6Ut5f.js +0 -2
  653. package/cdn/minimal-ui-BVKu9LWj.js +0 -2
  654. package/cdn/mixin-CkNZwQXF.js.map +0 -1
  655. package/cdn/mixin-DiB7dIef.js +0 -2
  656. package/cdn/player-B0ccW5-n.js +0 -2
  657. package/cdn/player-iIewo8Y9.js +0 -2
  658. package/cdn/player-srq1RGTj.js +0 -2
  659. package/cdn/poster-element-BP1Ypgbf.js.map +0 -1
  660. package/cdn/poster-element-S-rr412t.js +0 -2
  661. package/cdn/poster-element-S-rr412t.js.map +0 -1
  662. package/cdn/seek-button-element-DxLmm58Y.js +0 -2
  663. package/cdn/seek-button-element-DxLmm58Y.js.map +0 -1
  664. package/cdn/seek-button-element-TErrbilI.js.map +0 -1
  665. package/cdn/select-tracks-nRPBa1NC.js.map +0 -1
  666. package/cdn/select-tracks-xV1s28xD.js +0 -59
  667. package/cdn/select-tracks-xV1s28xD.js.map +0 -1
  668. package/cdn/text-element-Bsyglab8.js +0 -2
  669. package/cdn/time-slider-chapters-element-DPgaLdBt.js.map +0 -1
  670. package/cdn/time-slider-chapters-element-MdlcovBu.js +0 -2
  671. package/cdn/time-slider-chapters-element-MdlcovBu.js.map +0 -1
  672. package/cdn/translate-text-BPMWpzFm.js +0 -2
  673. package/cdn/translate-text-BPMWpzFm.js.map +0 -1
  674. package/cdn/translate-text-DP0CzUCC.js.map +0 -1
  675. package/cdn/ui-CecDxhTX.js +0 -2
  676. package/cdn/ui-ChWM6Xz2.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-video.dev.js","names":["#player","#target","#beginLoad","#createPlayer","#attachId","#unbindPlayerEvents","#pauseEmbed","#creatingPlayer","#pendingLoad","#textTracksHost","#loadComplete","#resetState","#src","#source","#readyState","#srcUnsupported","#error","#snapshotProps","#hasSource","#paused","#ended","#seeking","#currentTime","#afterLoad","#duration","#volume","#muted","#playbackRate","#autoplay","#defaultMuted","#loaded","#loop","#controls","#playsInline","#preload","#poster","#progress","#videoWidth","#videoHeight","#isFullscreen","#createPlayerApi","#isStale","#bindPlayerEvents","#nextMuted","#playerListeners","#onLoaded","#onError"],"sources":["../../../media/dist/dev/dom/cloudflare/props.js","../../../media/dist/dev/dom/cloudflare/source.js","../../../media/dist/dev/dom/cloudflare/stream-api.js","../../../media/dist/dev/dom/cloudflare/media.js","../../src/media/cloudflare-video/media.ts","../../src/define/media/cloudflare-video.ts"],"sourcesContent":["//#region src/dom/cloudflare/props.ts\nconst cloudflareMediaDefaultProps = {\n\tsrc: \"\",\n\tautoplay: false,\n\tdefaultMuted: false,\n\tmuted: false,\n\tloop: false,\n\tcontrols: false,\n\tplaysInline: true,\n\tpreload: \"metadata\",\n\tposter: \"\",\n\tsource: null\n};\n//#endregion\nexport { cloudflareMediaDefaultProps };\n\n//# sourceMappingURL=props.js.map","import { serializeEmbedParams } from \"../utils/embed-params.js\";\nimport { cloudflareMediaDefaultProps } from \"./props.js\";\n//#region src/dom/cloudflare/source.ts\n/** Extract a Cloudflare video UID from a raw UID, a signed token, or any recognized URL. */\nfunction parseCloudflareVideoId(src) {\n\treturn parseCloudflareSource(src)?.id ?? null;\n}\n/**\n* Parse a Cloudflare Stream source string. Recognizes `videodelivery.net` and\n* `cloudflarestream.com` URLs (embed, iframe, manifest, and thumbnail paths all\n* carry the id in the same position), raw 32-character video UIDs, and signed\n* tokens, which stand in for the UID wherever it appears.\n*/\nfunction parseCloudflareSource(src) {\n\tif (!src) return null;\n\tconst id = MATCH_SRC.exec(src)?.[1] ?? (MATCH_VIDEO_ID.test(src) || MATCH_SIGNED_TOKEN.test(src) ? src : null);\n\tif (!id) return null;\n\treturn {\n\t\tid,\n\t\tsigned: MATCH_SIGNED_TOKEN.test(id),\n\t\torigin: MATCH_CUSTOMER_ORIGIN.exec(src)?.[1] ?? null\n\t};\n}\n/** Build the iframe `src` URL for an initial Cloudflare Stream embed from the given props. */\nfunction buildCloudflareIframeSrc(src, props = {}) {\n\tconst parsed = parseCloudflareSource(src);\n\tif (!parsed) return \"\";\n\tconst { referrerPolicy: _referrerPolicy, ...cloudflare } = props.source?.engine?.cloudflare ?? {};\n\tconst params = {\n\t\tcontrols: props.controls === true ? null : 0,\n\t\tautoplay: props.autoplay || null,\n\t\tloop: props.loop || null,\n\t\tmuted: props.defaultMuted || null,\n\t\tpreload: props.preload || cloudflareMediaDefaultProps.preload,\n\t\tposter: props.poster || null,\n\t\t...cloudflare\n\t};\n\treturn `${parsed.origin ? `${parsed.origin}/${parsed.id}/iframe` : `${EMBED_BASE}/${parsed.id}`}?${serializeEmbedParams(params)}`;\n}\nconst EMBED_BASE = \"https://iframe.videodelivery.net\";\nconst MATCH_SRC = /(?:cloudflarestream\\.com|videodelivery\\.net)\\/([\\w-.]+)/i;\nconst MATCH_CUSTOMER_ORIGIN = /^(https?:\\/\\/customer-[\\w-]+\\.cloudflarestream\\.com)/i;\nconst MATCH_VIDEO_ID = /^[a-z\\d]{32}$/i;\nconst MATCH_SIGNED_TOKEN = /^[\\w-]+\\.[\\w-]+\\.[\\w-]+$/;\n//#endregion\nexport { buildCloudflareIframeSrc, parseCloudflareSource, parseCloudflareVideoId };\n\n//# sourceMappingURL=source.js.map","import { loadScript } from \"@videojs/utils/dom\";\n//#region src/dom/cloudflare/stream-api.ts\nconst API_URL = \"https://embed.videodelivery.net/embed/sdk.latest.js\";\n/** Load the Stream SDK once, reusing it if another host already pulled it in. */\nasync function loadCloudflareStreamApi() {\n\tconst existing = globalThis.Stream;\n\tif (existing) return existing;\n\tawait loadScript(API_URL);\n\tconst api = globalThis.Stream;\n\tif (!api) throw new Error(\"Cloudflare Stream SDK failed to load\");\n\treturn api;\n}\n//#endregion\nexport { loadCloudflareStreamApi };\n\n//# sourceMappingURL=stream-api.js.map","import { EMPTY_TEXT_TRACKS, EMPTY_TIME_RANGES } from \"../../core/constants.js\";\nimport { MediaError } from \"../../core/media-error.js\";\nimport { createTimeRange } from \"../utils/time-ranges.js\";\nimport { MediaPlayedRangesMixin } from \"../media-played-ranges/media-played-ranges.js\";\nimport { cloudflareMediaDefaultProps } from \"./props.js\";\nimport { buildCloudflareIframeSrc, parseCloudflareSource } from \"./source.js\";\nimport { loadCloudflareStreamApi } from \"./stream-api.js\";\nimport { deepEqual } from \"@videojs/utils/object\";\nimport { createPublicPromise, tryCall } from \"@videojs/utils/function\";\n//#region src/dom/cloudflare/media.ts\nconst CloudflareMediaBase = MediaPlayedRangesMixin(EventTarget);\n/**\n* @fires sourcechange - Fired when `source` changes, either directly or by resolving a new `src`. Read `source` for the new value.\n*/\nvar CloudflareMedia = class extends CloudflareMediaBase {\n\t#target = null;\n\t#player = null;\n\t#creatingPlayer = false;\n\t#pendingLoad = false;\n\t#loadComplete = createPublicPromise();\n\t#attachId = 0;\n\t#playerListeners = [];\n\t#src = cloudflareMediaDefaultProps.src;\n\t#autoplay = cloudflareMediaDefaultProps.autoplay;\n\t#defaultMuted = cloudflareMediaDefaultProps.defaultMuted;\n\t#loop = cloudflareMediaDefaultProps.loop;\n\t#controls = cloudflareMediaDefaultProps.controls;\n\t#playsInline = cloudflareMediaDefaultProps.playsInline;\n\t#preload = cloudflareMediaDefaultProps.preload;\n\t#poster = cloudflareMediaDefaultProps.poster;\n\t#source = cloudflareMediaDefaultProps.source;\n\t#paused = true;\n\t#ended = false;\n\t#seeking = false;\n\t#loaded = false;\n\t#srcUnsupported = false;\n\t#currentTime = 0;\n\t#duration = NaN;\n\t#volume = 1;\n\t#muted = false;\n\t#playbackRate = 1;\n\t#progress = 0;\n\t#videoWidth = NaN;\n\t#videoHeight = NaN;\n\t#readyState = READY_STATE_HAVE_NOTHING;\n\t#error = null;\n\t#isFullscreen = false;\n\t#textTracksHost = null;\n\tstatic PLAYER_SOFTWARE_NAME = \"cloudflare-video\";\n\t/** Underlying Stream SDK player instance (null until the SDK loads). */\n\tget engine() {\n\t\treturn this.#player;\n\t}\n\tget target() {\n\t\treturn this.#target;\n\t}\n\t/** Bind the embed iframe. The SDK and player follow once an embed URL resolves, which may not be until `load()`. */\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tif (this.#target) this.detach();\n\t\tthis.#target = target;\n\t\tthis.#beginLoad();\n\t\tthis.#createPlayer();\n\t}\n\tdetach() {\n\t\tif (!this.#target) return;\n\t\tthis.#attachId++;\n\t\tthis.#unbindPlayerEvents();\n\t\tthis.#pauseEmbed();\n\t\tthis.#player = null;\n\t\tthis.#creatingPlayer = false;\n\t\tthis.#pendingLoad = false;\n\t\tthis.#textTracksHost = null;\n\t\tthis.#target = null;\n\t\tthis.#loadComplete.resolve();\n\t\tthis.#resetState();\n\t}\n\tdestroy() {\n\t\tthis.detach();\n\t\tsuper.destroy();\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\t/** Cloudflare URL, video UID, or signed token. Setting it re-derives `source`, carrying its embed parameters over. */\n\tset src(value) {\n\t\tconst { engine } = this.#source ?? {};\n\t\tconst next = {\n\t\t\t...engine && { engine },\n\t\t\t...value && { src: value }\n\t\t};\n\t\tthis.source = Object.keys(next).length > 0 ? next : null;\n\t}\n\tget currentSrc() {\n\t\treturn this.#target?.getAttribute(\"src\") ?? \"\";\n\t}\n\tget readyState() {\n\t\treturn this.#readyState;\n\t}\n\t/** Reload the current source through the Stream player; no-op until `attach()`. */\n\tasync load() {\n\t\tif (!this.#player) {\n\t\t\tif (!this.#target) return;\n\t\t\tif (this.#creatingPlayer) {\n\t\t\t\tthis.#pendingLoad = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst load = this.#beginLoad();\n\t\t\tthis.#resetState();\n\t\t\tawait Promise.resolve();\n\t\t\tif (load !== this.#loadComplete) return;\n\t\t\tthis.#createPlayer();\n\t\t\treturn;\n\t\t}\n\t\tconst load = this.#beginLoad();\n\t\tthis.#resetState();\n\t\tthis.dispatchEvent(new Event(\"emptied\"));\n\t\tif (!this.#src) {\n\t\t\tload.resolve();\n\t\t\tthis.#pauseEmbed();\n\t\t\treturn;\n\t\t}\n\t\tthis.dispatchEvent(new Event(\"loadstart\"));\n\t\tconst parsed = parseCloudflareSource(this.#src);\n\t\tif (!parsed) {\n\t\t\tthis.#srcUnsupported = true;\n\t\t\tthis.#error = new MediaError(`Unrecognized Cloudflare Stream source: ${this.#src}`, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);\n\t\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\t\tload.resolve();\n\t\t\tthis.#pauseEmbed();\n\t\t\treturn;\n\t\t}\n\t\tconst target = this.#target;\n\t\tconst nextSrc = buildCloudflareIframeSrc(this.#src, this.#snapshotProps());\n\t\tif (target && nextSrc && embedParamsOf(nextSrc) !== embedParamsOf(target.getAttribute(\"src\") ?? \"\")) {\n\t\t\ttarget.src = nextSrc;\n\t\t\treturn;\n\t\t}\n\t\tthis.#player.src = parsed.id;\n\t}\n\t#beginLoad() {\n\t\tthis.#loadComplete.resolve();\n\t\tthis.#loadComplete = createPublicPromise();\n\t\treturn this.#loadComplete;\n\t}\n\tget #hasSource() {\n\t\treturn !!this.#src && !this.#srcUnsupported;\n\t}\n\tget paused() {\n\t\treturn this.#paused;\n\t}\n\tget ended() {\n\t\treturn this.#ended;\n\t}\n\tget seeking() {\n\t\treturn this.#seeking;\n\t}\n\tasync play() {\n\t\tawait this.#loadComplete;\n\t\tif (!this.#hasSource) return;\n\t\tawait this.#player?.play();\n\t}\n\tpause() {\n\t\tthis.#player?.pause();\n\t}\n\tget currentTime() {\n\t\treturn this.#currentTime;\n\t}\n\tset currentTime(value) {\n\t\tif (this.#currentTime === value) return;\n\t\tthis.#currentTime = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.currentTime = value;\n\t\t});\n\t}\n\tget duration() {\n\t\treturn this.#duration;\n\t}\n\tget volume() {\n\t\treturn this.#volume;\n\t}\n\tset volume(value) {\n\t\tif (this.#volume === value) return;\n\t\tthis.#volume = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.volume = value;\n\t\t});\n\t}\n\tget muted() {\n\t\treturn this.#muted;\n\t}\n\tset muted(value) {\n\t\tif (this.#muted === value) return;\n\t\tthis.#muted = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.muted = value;\n\t\t});\n\t}\n\tget playbackRate() {\n\t\treturn this.#playbackRate;\n\t}\n\tset playbackRate(value) {\n\t\tif (this.#playbackRate === value) return;\n\t\tthis.#playbackRate = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.playbackRate = value;\n\t\t});\n\t}\n\tget autoplay() {\n\t\treturn this.#autoplay;\n\t}\n\tset autoplay(value) {\n\t\tthis.#autoplay = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.autoplay = value;\n\t\t});\n\t}\n\tget defaultMuted() {\n\t\treturn this.#defaultMuted;\n\t}\n\tset defaultMuted(value) {\n\t\tthis.#defaultMuted = value;\n\t\tif (!this.#loaded) this.#muted = value;\n\t}\n\tget loop() {\n\t\treturn this.#loop;\n\t}\n\tset loop(value) {\n\t\tthis.#loop = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.loop = value;\n\t\t});\n\t}\n\tget controls() {\n\t\treturn this.#controls;\n\t}\n\tset controls(value) {\n\t\tthis.#controls = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.controls = value;\n\t\t});\n\t}\n\tget playsInline() {\n\t\treturn this.#playsInline;\n\t}\n\tset playsInline(value) {\n\t\tthis.#playsInline = value;\n\t}\n\tget preload() {\n\t\treturn this.#preload;\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.preload = value;\n\t\t});\n\t}\n\tget poster() {\n\t\treturn this.#poster;\n\t}\n\tset poster(value) {\n\t\tthis.#poster = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.poster = value;\n\t\t});\n\t}\n\t/** Structured source: `src` plus embed parameters under `engine.cloudflare`. Replacing it re-derives `src`. */\n\tget source() {\n\t\treturn this.#source;\n\t}\n\tset source(value) {\n\t\tconst source = value ?? null;\n\t\tif (source === this.#source) return;\n\t\tconst src = source?.src ?? \"\";\n\t\tconst srcChanged = this.#src !== src;\n\t\tconst engineChanged = !deepEqual(this.#source?.engine?.cloudflare ?? null, source?.engine?.cloudflare ?? null);\n\t\tthis.#source = source;\n\t\tthis.#src = src;\n\t\tif (srcChanged || engineChanged) this.load();\n\t\tthis.dispatchEvent(new Event(\"sourcechange\"));\n\t}\n\tget buffered() {\n\t\treturn this.#progress > 0 ? createTimeRange(0, this.#progress) : EMPTY_TIME_RANGES;\n\t}\n\tget seekable() {\n\t\treturn this.#duration > 0 && Number.isFinite(this.#duration) ? createTimeRange(0, this.#duration) : EMPTY_TIME_RANGES;\n\t}\n\tget error() {\n\t\treturn this.#error;\n\t}\n\t/** Always empty: the SDK exposes no track API, and the embed owns the track picked by `defaultTextTrack`. */\n\tget textTracks() {\n\t\tthis.#textTracksHost ??= globalThis.document?.createElement(\"video\") ?? null;\n\t\treturn this.#textTracksHost?.textTracks ?? EMPTY_TEXT_TRACKS;\n\t}\n\tget videoWidth() {\n\t\treturn this.#videoWidth;\n\t}\n\tget videoHeight() {\n\t\treturn this.#videoHeight;\n\t}\n\tget isFullscreen() {\n\t\treturn this.#isFullscreen;\n\t}\n\tasync requestFullscreen() {\n\t\tif (!this.#target?.requestFullscreen) return;\n\t\tawait this.#target.requestFullscreen();\n\t\tthis.#isFullscreen = true;\n\t}\n\tasync exitFullscreen() {\n\t\tconst doc = globalThis.document;\n\t\tif (doc?.fullscreenElement && doc.fullscreenElement === this.#target) await doc.exitFullscreen();\n\t\tthis.#isFullscreen = false;\n\t}\n\t#createPlayer() {\n\t\tconst target = this.#target;\n\t\tif (!target || this.#player || this.#creatingPlayer) return false;\n\t\tlet serverRendered = false;\n\t\tif (!target.getAttribute(\"src\")) {\n\t\t\tconst initialSrc = buildCloudflareIframeSrc(this.#src, this.#snapshotProps());\n\t\t\tif (!initialSrc) {\n\t\t\t\tthis.#loadComplete.resolve();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttarget.src = initialSrc;\n\t\t} else serverRendered = hasEmbedNavigated(target);\n\t\tthis.#creatingPlayer = true;\n\t\tthis.dispatchEvent(new Event(\"loadstart\"));\n\t\tthis.#createPlayerApi(target, serverRendered);\n\t\treturn true;\n\t}\n\tasync #createPlayerApi(target, serverRendered) {\n\t\tconst attachId = this.#attachId;\n\t\tlet api;\n\t\ttry {\n\t\t\tapi = await loadCloudflareStreamApi();\n\t\t} catch {\n\t\t\tif (this.#isStale(attachId)) return;\n\t\t\tthis.#creatingPlayer = false;\n\t\t\tthis.#error = new MediaError(\"Failed to load the Cloudflare Stream SDK\", MediaError.MEDIA_ERR_NETWORK);\n\t\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\t\tthis.#loadComplete.resolve();\n\t\t\treturn;\n\t\t}\n\t\tif (this.#isStale(attachId) || this.#target !== target) return;\n\t\tif (serverRendered) target.src = target.src;\n\t\tconst player = api(target);\n\t\tthis.#player = player;\n\t\tthis.#creatingPlayer = false;\n\t\tthis.#bindPlayerEvents(player, attachId);\n\t\tif (this.#pendingLoad) {\n\t\t\tthis.#pendingLoad = false;\n\t\t\tthis.load();\n\t\t}\n\t}\n\t#isStale(attachId) {\n\t\treturn attachId !== this.#attachId;\n\t}\n\t#pauseEmbed() {\n\t\ttryCall(() => this.#player?.pause());\n\t}\n\t#afterLoad(fn) {\n\t\tthis.#loadComplete.then(() => {\n\t\t\tconst player = this.#player;\n\t\t\tif (player) tryCall(() => fn(player));\n\t\t}, () => {});\n\t}\n\tget #nextMuted() {\n\t\treturn this.#defaultMuted || this.#muted;\n\t}\n\t#snapshotProps() {\n\t\treturn {\n\t\t\tautoplay: this.#autoplay,\n\t\t\tdefaultMuted: this.#nextMuted,\n\t\t\tloop: this.#loop,\n\t\t\tcontrols: this.#controls,\n\t\t\tpreload: this.#preload || cloudflareMediaDefaultProps.preload,\n\t\t\tposter: this.#poster,\n\t\t\tsource: this.#source\n\t\t};\n\t}\n\t#resetState() {\n\t\tthis.#currentTime = 0;\n\t\tthis.#duration = NaN;\n\t\tthis.#muted = this.#nextMuted;\n\t\tthis.#paused = !this.#autoplay;\n\t\tthis.#ended = false;\n\t\tthis.#playbackRate = 1;\n\t\tthis.#progress = 0;\n\t\tthis.#readyState = READY_STATE_HAVE_NOTHING;\n\t\tthis.#seeking = false;\n\t\tthis.#loaded = false;\n\t\tthis.#srcUnsupported = false;\n\t\tthis.#volume = 1;\n\t\tthis.#error = null;\n\t\tthis.#videoWidth = NaN;\n\t\tthis.#videoHeight = NaN;\n\t\tthis.#isFullscreen = false;\n\t}\n\t#onLoaded() {\n\t\tif (this.#loaded) return;\n\t\tthis.#loaded = true;\n\t\tthis.#readyState = READY_STATE_HAVE_METADATA;\n\t\tconst player = this.#player;\n\t\tif (player) {\n\t\t\tthis.#duration = toDuration(player.duration);\n\t\t\tthis.#muted = player.muted;\n\t\t\tthis.#volume = player.volume;\n\t\t\tthis.#playbackRate = player.playbackRate;\n\t\t\tthis.#videoWidth = player.videoWidth;\n\t\t\tthis.#videoHeight = player.videoHeight;\n\t\t}\n\t\tfor (const type of [\n\t\t\t\"loadedmetadata\",\n\t\t\t\"durationchange\",\n\t\t\t\"volumechange\",\n\t\t\t\"loadcomplete\"\n\t\t]) this.dispatchEvent(new Event(type));\n\t\tthis.#loadComplete.resolve();\n\t}\n\t#onError() {\n\t\tthis.#error = new MediaError(\"Cloudflare Stream playback error\", MediaError.MEDIA_ERR_CUSTOM, true);\n\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\tthis.#loadComplete.resolve();\n\t}\n\t#bindPlayerEvents(player, attachId) {\n\t\tconst listen = (type, handle) => {\n\t\t\tconst listener = () => {\n\t\t\t\tif (this.#isStale(attachId) || !this.#hasSource) return;\n\t\t\t\thandle();\n\t\t\t};\n\t\t\tplayer.addEventListener(type, listener);\n\t\t\tthis.#playerListeners.push([type, listener]);\n\t\t};\n\t\tconst on = (type, update) => listen(type, () => {\n\t\t\tupdate?.();\n\t\t\tthis.dispatchEvent(new Event(type));\n\t\t});\n\t\tlisten(\"loadedmetadata\", () => this.#onLoaded());\n\t\ton(\"loadeddata\", () => {\n\t\t\tthis.#readyState = READY_STATE_HAVE_CURRENT_DATA;\n\t\t});\n\t\ton(\"play\", () => {\n\t\t\tthis.#paused = false;\n\t\t\tthis.#ended = false;\n\t\t});\n\t\ton(\"playing\", () => {\n\t\t\tthis.#readyState = READY_STATE_HAVE_FUTURE_DATA;\n\t\t\tthis.#paused = false;\n\t\t});\n\t\ton(\"pause\", () => {\n\t\t\tthis.#paused = true;\n\t\t});\n\t\ton(\"ended\", () => {\n\t\t\tthis.#paused = true;\n\t\t\tthis.#ended = true;\n\t\t});\n\t\ton(\"timeupdate\", () => {\n\t\t\tthis.#currentTime = player.currentTime;\n\t\t});\n\t\ton(\"durationchange\", () => {\n\t\t\tthis.#duration = toDuration(player.duration);\n\t\t});\n\t\ton(\"volumechange\", () => {\n\t\t\tthis.#volume = player.volume;\n\t\t\tthis.#muted = player.muted;\n\t\t});\n\t\ton(\"ratechange\", () => {\n\t\t\tthis.#playbackRate = player.playbackRate;\n\t\t});\n\t\ton(\"progress\", () => {\n\t\t\tthis.#progress = toBufferedEnd(player);\n\t\t});\n\t\ton(\"seeking\", () => {\n\t\t\tthis.#seeking = true;\n\t\t});\n\t\ton(\"seeked\", () => {\n\t\t\tthis.#seeking = false;\n\t\t\tthis.#currentTime = player.currentTime;\n\t\t});\n\t\ton(\"resize\", () => {\n\t\t\tthis.#videoWidth = player.videoWidth;\n\t\t\tthis.#videoHeight = player.videoHeight;\n\t\t});\n\t\tfor (const type of PASSTHROUGH_EVENTS) on(type);\n\t\tlisten(\"error\", () => this.#onError());\n\t}\n\t#unbindPlayerEvents() {\n\t\tfor (const [type, listener] of this.#playerListeners) tryCall(() => this.#player?.removeEventListener(type, listener));\n\t\tthis.#playerListeners.length = 0;\n\t}\n};\nconst PASSTHROUGH_EVENTS = [\n\t\"waiting\",\n\t\"stalled\",\n\t\"suspend\",\n\t\"abort\",\n\t\"canplay\",\n\t\"canplaythrough\",\n\t\"encrypted\",\n\t\"waitingforkey\",\n\t\"stream-adstart\",\n\t\"stream-adend\",\n\t\"stream-adtimeout\"\n];\n/** The embed reports `0` until it knows the duration; `HTMLMediaElement` reports `NaN`. */\nfunction toDuration(duration) {\n\treturn duration > 0 ? duration : NaN;\n}\nfunction toBufferedEnd(player) {\n\tconst { buffered } = player;\n\treturn buffered?.length ? buffered.end(buffered.length - 1) : 0;\n}\nfunction embedParamsOf(src) {\n\ttry {\n\t\tconst url = new URL(src);\n\t\treturn `${url.origin}${url.search}`;\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction hasEmbedNavigated(target) {\n\tconst frame = target.contentWindow;\n\tif (!frame) return false;\n\ttry {\n\t\treturn frame.location.href !== \"about:blank\";\n\t} catch {\n\t\treturn true;\n\t}\n}\nconst READY_STATE_HAVE_NOTHING = 0;\nconst READY_STATE_HAVE_METADATA = 1;\nconst READY_STATE_HAVE_CURRENT_DATA = 2;\nconst READY_STATE_HAVE_FUTURE_DATA = 3;\n//#endregion\nexport { CloudflareMedia };\n\n//# sourceMappingURL=media.js.map","import { buildCloudflareIframeSrc, CloudflareMedia } from '@videojs/media/dom/cloudflare';\nimport { CustomMediaElement } from '@videojs/media/dom/custom-media-element';\nimport { escapeHtml } from '@videojs/utils/string';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nclass CloudflareCustomMediaElement extends CustomMediaElement('iframe', CloudflareMedia) {\n static override getTemplateHTML = (attrs: Record<string, string>): string => {\n const initialSrc = buildCloudflareIframeSrc(attrs.src ?? '', templateAttrsToEmbedProps(attrs));\n const srcAttr = initialSrc ? ` src=\"${escapeHtml(initialSrc)}\"` : '';\n return /*html*/ `\n <style>\n :host {\n display: inline-block;\n min-width: 300px;\n min-height: 150px;\n position: relative;\n }\n iframe {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n :host(:not([controls])) {\n pointer-events: none;\n }\n </style>\n <iframe\n part=\"iframe\"\n ${srcAttr}\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n frameborder=\"0\"\n width=\"100%\"\n height=\"100%\"\n referrerpolicy=\"${escapeHtml(attrs.referrerpolicy ?? '')}\"\n ></iframe>\n `;\n };\n}\n\nfunction templateAttrsToEmbedProps(attrs: Record<string, string>) {\n return {\n autoplay: attrs.autoplay !== undefined,\n defaultMuted: attrs.muted !== undefined,\n loop: attrs.loop !== undefined,\n controls: attrs.controls !== undefined,\n preload: (attrs.preload as 'none' | 'metadata' | 'auto' | undefined) ?? 'metadata',\n // The Stream embed paints the poster itself, so it is part of the URL.\n poster: attrs.poster ?? '',\n };\n}\n\nexport class CloudflareVideo extends MediaAttachMixin(CloudflareCustomMediaElement) {}\n","import { CloudflareVideo } from '../../media/cloudflare-video';\nimport { safeDefine } from '../safe-define';\n\nexport class CloudflareVideoElement extends CloudflareVideo {\n static readonly tagName = 'cloudflare-video';\n}\n\nsafeDefine(CloudflareVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [CloudflareVideoElement.tagName]: CloudflareVideoElement;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../deep-equal-CcwdHo6t.js";import{t}from"../custom-media-element-8pSkwn42.js";import{a as n}from"../attributes-CwICYz98.js";import{i as r}from"../context-C2rsoDxk.js";import{t as i}from"../script-D3ZkiqwO.js";import{n as a,r as o,t as s}from"../media-played-ranges-CM2zeOGr.js";import{n as c,t as l}from"../embed-params-D2e8u0d4.js";import{n as u,r as d}from"../constants-B4LD5zrj.js";import{t as f}from"../media-error-CtsbOTR1.js";import{t as p}from"../media-attach-mixin-Igi3-1UG.js";const m={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function h(e){if(!e)return null;let t=v.exec(e)?.[1]??(b.test(e)||x.test(e)?e:null);return t?{id:t,signed:x.test(t),origin:y.exec(e)?.[1]??null}:null}function g(e,t={}){let n=h(e);if(!n)return``;let{referrerPolicy:r,...i}=t.source?.engine?.cloudflare??{},a={controls:t.controls===!0?null:0,autoplay:t.autoplay||null,loop:t.loop||null,muted:t.defaultMuted||null,preload:t.preload||m.preload,poster:t.poster||null,...i};return`${n.origin?`${n.origin}/${n.id}/iframe`:`${_}/${n.id}`}?${l(a)}`}const _=`https://iframe.videodelivery.net`,v=/(?:cloudflarestream\.com|videodelivery\.net)\/([\w-.]+)/i,y=/^(https?:\/\/customer-[\w-]+\.cloudflarestream\.com)/i,b=/^[a-z\d]{32}$/i,x=/^[\w-]+\.[\w-]+\.[\w-]+$/;async function S(){let e=globalThis.Stream;if(e)return e;await i(`https://embed.videodelivery.net/embed/sdk.latest.js`);let t=globalThis.Stream;if(!t)throw Error(`Cloudflare Stream SDK failed to load`);return t}const C=s(EventTarget);var w=class extends C{#e=null;#t=null;#n=!1;#r=!1;#i=o();#a=0;#o=[];#s=m.src;#c=m.autoplay;#l=m.defaultMuted;#u=m.loop;#d=m.controls;#f=m.playsInline;#p=m.preload;#m=m.poster;#h=m.source;#g=!0;#_=!1;#v=!1;#y=!1;#b=!1;#x=0;#S=NaN;#C=1;#w=!1;#T=1;#E=0;#D=NaN;#O=NaN;#k=A;#A=null;#j=!1;#M=null;static PLAYER_SOFTWARE_NAME=`cloudflare-video`;get engine(){return this.#t}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#N(),this.#F())}detach(){this.#e&&(this.#a++,this.#K(),this.#R(),this.#t=null,this.#n=!1,this.#r=!1,this.#M=null,this.#e=null,this.#i.resolve(),this.#H())}destroy(){this.detach(),super.destroy()}get src(){return this.#s}set src(e){let{engine:t}=this.#h??{},n={...t&&{engine:t},...e&&{src:e}};this.source=Object.keys(n).length>0?n:null}get currentSrc(){return this.#e?.getAttribute(`src`)??``}get readyState(){return this.#k}async load(){if(!this.#t){if(!this.#e)return;if(this.#n){this.#r=!0;return}let e=this.#N();if(this.#H(),await Promise.resolve(),e!==this.#i)return;this.#F();return}let e=this.#N();if(this.#H(),this.dispatchEvent(new Event(`emptied`)),!this.#s){e.resolve(),this.#R();return}this.dispatchEvent(new Event(`loadstart`));let t=h(this.#s);if(!t){this.#b=!0,this.#A=new f(`Unrecognized Cloudflare Stream source: ${this.#s}`,f.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve(),this.#R();return}let n=this.#e,r=g(this.#s,this.#V());if(n&&r&&O(r)!==O(n.getAttribute(`src`)??``)){n.src=r;return}this.#t.src=t.id}#N(){return this.#i.resolve(),this.#i=o(),this.#i}get#P(){return!!this.#s&&!this.#b}get paused(){return this.#g}get ended(){return this.#_}get seeking(){return this.#v}async play(){await this.#i,this.#P&&await this.#t?.play()}pause(){this.#t?.pause()}get currentTime(){return this.#x}set currentTime(e){this.#x!==e&&(this.#x=e,this.#z(t=>{t.currentTime=e}))}get duration(){return this.#S}get volume(){return this.#C}set volume(e){this.#C!==e&&(this.#C=e,this.#z(t=>{t.volume=e}))}get muted(){return this.#w}set muted(e){this.#w!==e&&(this.#w=e,this.#z(t=>{t.muted=e}))}get playbackRate(){return this.#T}set playbackRate(e){this.#T!==e&&(this.#T=e,this.#z(t=>{t.playbackRate=e}))}get autoplay(){return this.#c}set autoplay(e){this.#c=e,this.#z(t=>{t.autoplay=e})}get defaultMuted(){return this.#l}set defaultMuted(e){this.#l=e,this.#y||(this.#w=e)}get loop(){return this.#u}set loop(e){this.#u=e,this.#z(t=>{t.loop=e})}get controls(){return this.#d}set controls(e){this.#d=e,this.#z(t=>{t.controls=e})}get playsInline(){return this.#f}set playsInline(e){this.#f=e}get preload(){return this.#p}set preload(e){this.#p=e,this.#z(t=>{t.preload=e})}get poster(){return this.#m}set poster(e){this.#m=e,this.#z(t=>{t.poster=e})}get source(){return this.#h}set source(t){let n=t??null;if(n===this.#h)return;let r=n?.src??``,i=this.#s!==r,a=!e(this.#h?.engine?.cloudflare??null,n?.engine?.cloudflare??null);this.#h=n,this.#s=r,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#E>0?a(0,this.#E):d}get seekable(){return this.#S>0&&Number.isFinite(this.#S)?a(0,this.#S):d}get error(){return this.#A}get textTracks(){return this.#M??=globalThis.document?.createElement(`video`)??null,this.#M?.textTracks??u}get videoWidth(){return this.#D}get videoHeight(){return this.#O}get isFullscreen(){return this.#j}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#j=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#j=!1}#F(){let e=this.#e;if(!e||this.#t||this.#n)return!1;let t=!1;if(e.getAttribute(`src`))t=k(e);else{let t=g(this.#s,this.#V());if(!t)return this.#i.resolve(),!1;e.src=t}return this.#n=!0,this.dispatchEvent(new Event(`loadstart`)),this.#I(e,t),!0}async#I(e,t){let n=this.#a,r;try{r=await S()}catch{if(this.#L(n))return;this.#n=!1,this.#A=new f(`Failed to load the Cloudflare Stream SDK`,f.MEDIA_ERR_NETWORK),this.dispatchEvent(new Event(`error`)),this.#i.resolve();return}if(this.#L(n)||this.#e!==e)return;t&&(e.src=e.src);let i=r(e);this.#t=i,this.#n=!1,this.#G(i,n),this.#r&&(this.#r=!1,this.load())}#L(e){return e!==this.#a}#R(){c(()=>this.#t?.pause())}#z(e){this.#i.then(()=>{let t=this.#t;t&&c(()=>e(t))},()=>{})}get#B(){return this.#l||this.#w}#V(){return{autoplay:this.#c,defaultMuted:this.#B,loop:this.#u,controls:this.#d,preload:this.#p||m.preload,poster:this.#m,source:this.#h}}#H(){this.#x=0,this.#S=NaN,this.#w=this.#B,this.#g=!this.#c,this.#_=!1,this.#T=1,this.#E=0,this.#k=A,this.#v=!1,this.#y=!1,this.#b=!1,this.#C=1,this.#A=null,this.#D=NaN,this.#O=NaN,this.#j=!1}#U(){if(this.#y)return;this.#y=!0,this.#k=j;let e=this.#t;e&&(this.#S=E(e.duration),this.#w=e.muted,this.#C=e.volume,this.#T=e.playbackRate,this.#D=e.videoWidth,this.#O=e.videoHeight);for(let e of[`loadedmetadata`,`durationchange`,`volumechange`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#i.resolve()}#W(){this.#A=new f(`Cloudflare Stream playback error`,f.MEDIA_ERR_CUSTOM,!0),this.dispatchEvent(new Event(`error`)),this.#i.resolve()}#G(e,t){let n=(n,r)=>{let i=()=>{this.#L(t)||!this.#P||r()};e.addEventListener(n,i),this.#o.push([n,i])},r=(e,t)=>n(e,()=>{t?.(),this.dispatchEvent(new Event(e))});n(`loadedmetadata`,()=>this.#U()),r(`loadeddata`,()=>{this.#k=M}),r(`play`,()=>{this.#g=!1,this.#_=!1}),r(`playing`,()=>{this.#k=N,this.#g=!1}),r(`pause`,()=>{this.#g=!0}),r(`ended`,()=>{this.#g=!0,this.#_=!0}),r(`timeupdate`,()=>{this.#x=e.currentTime}),r(`durationchange`,()=>{this.#S=E(e.duration)}),r(`volumechange`,()=>{this.#C=e.volume,this.#w=e.muted}),r(`ratechange`,()=>{this.#T=e.playbackRate}),r(`progress`,()=>{this.#E=D(e)}),r(`seeking`,()=>{this.#v=!0}),r(`seeked`,()=>{this.#v=!1,this.#x=e.currentTime}),r(`resize`,()=>{this.#D=e.videoWidth,this.#O=e.videoHeight});for(let e of T)r(e);n(`error`,()=>this.#W())}#K(){for(let[e,t]of this.#o)c(()=>this.#t?.removeEventListener(e,t));this.#o.length=0}};const T=[`waiting`,`stalled`,`suspend`,`abort`,`canplay`,`canplaythrough`,`encrypted`,`waitingforkey`,`stream-adstart`,`stream-adend`,`stream-adtimeout`];function E(e){return e>0?e:NaN}function D(e){let{buffered:t}=e;return t?.length?t.end(t.length-1):0}function O(e){try{let t=new URL(e);return`${t.origin}${t.search}`}catch{return``}}function k(e){let t=e.contentWindow;if(!t)return!1;try{return t.location.href!==`about:blank`}catch{return!0}}const A=0,j=1,M=2,N=3;var P=class extends t(`iframe`,w){static{this.getTemplateHTML=e=>{let t=g(e.src??``,F(e));return`<style> :host { display: inline-block; min-width: 300px; min-height: 150px; position: relative; } iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } :host(:not([controls])) { pointer-events: none; } </style><iframe part="iframe" ${t?` src="${n(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${n(e.referrerpolicy??``)}" ></iframe>`}}};function F(e){return{autoplay:e.autoplay!==void 0,defaultMuted:e.muted!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,preload:e.preload??`metadata`,poster:e.poster??``}}var I=class extends p(P){},L=class extends I{static{this.tagName=`cloudflare-video`}};r(L);export{L as CloudflareVideoElement};
2
+ //# sourceMappingURL=cloudflare-video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-video.js","names":["#player","#target","#beginLoad","#createPlayer","#attachId","#unbindPlayerEvents","#pauseEmbed","#creatingPlayer","#pendingLoad","#textTracksHost","#loadComplete","#resetState","#src","#source","#readyState","#srcUnsupported","#error","#snapshotProps","#hasSource","#paused","#ended","#seeking","#currentTime","#afterLoad","#duration","#volume","#muted","#playbackRate","#autoplay","#defaultMuted","#loaded","#loop","#controls","#playsInline","#preload","#poster","#progress","#videoWidth","#videoHeight","#isFullscreen","#createPlayerApi","#isStale","#bindPlayerEvents","#nextMuted","#playerListeners","#onLoaded","#onError"],"sources":["../../../media/dist/default/dom/cloudflare/props.js","../../../media/dist/default/dom/cloudflare/source.js","../../../media/dist/default/dom/cloudflare/stream-api.js","../../../media/dist/default/dom/cloudflare/media.js","../../src/media/cloudflare-video/media.ts","../../src/define/media/cloudflare-video.ts"],"sourcesContent":["//#region src/dom/cloudflare/props.ts\nconst cloudflareMediaDefaultProps = {\n\tsrc: \"\",\n\tautoplay: false,\n\tdefaultMuted: false,\n\tmuted: false,\n\tloop: false,\n\tcontrols: false,\n\tplaysInline: true,\n\tpreload: \"metadata\",\n\tposter: \"\",\n\tsource: null\n};\n//#endregion\nexport { cloudflareMediaDefaultProps };\n\n//# sourceMappingURL=props.js.map","import { serializeEmbedParams } from \"../utils/embed-params.js\";\nimport { cloudflareMediaDefaultProps } from \"./props.js\";\n//#region src/dom/cloudflare/source.ts\n/** Extract a Cloudflare video UID from a raw UID, a signed token, or any recognized URL. */\nfunction parseCloudflareVideoId(src) {\n\treturn parseCloudflareSource(src)?.id ?? null;\n}\n/**\n* Parse a Cloudflare Stream source string. Recognizes `videodelivery.net` and\n* `cloudflarestream.com` URLs (embed, iframe, manifest, and thumbnail paths all\n* carry the id in the same position), raw 32-character video UIDs, and signed\n* tokens, which stand in for the UID wherever it appears.\n*/\nfunction parseCloudflareSource(src) {\n\tif (!src) return null;\n\tconst id = MATCH_SRC.exec(src)?.[1] ?? (MATCH_VIDEO_ID.test(src) || MATCH_SIGNED_TOKEN.test(src) ? src : null);\n\tif (!id) return null;\n\treturn {\n\t\tid,\n\t\tsigned: MATCH_SIGNED_TOKEN.test(id),\n\t\torigin: MATCH_CUSTOMER_ORIGIN.exec(src)?.[1] ?? null\n\t};\n}\n/** Build the iframe `src` URL for an initial Cloudflare Stream embed from the given props. */\nfunction buildCloudflareIframeSrc(src, props = {}) {\n\tconst parsed = parseCloudflareSource(src);\n\tif (!parsed) return \"\";\n\tconst { referrerPolicy: _referrerPolicy, ...cloudflare } = props.source?.engine?.cloudflare ?? {};\n\tconst params = {\n\t\tcontrols: props.controls === true ? null : 0,\n\t\tautoplay: props.autoplay || null,\n\t\tloop: props.loop || null,\n\t\tmuted: props.defaultMuted || null,\n\t\tpreload: props.preload || cloudflareMediaDefaultProps.preload,\n\t\tposter: props.poster || null,\n\t\t...cloudflare\n\t};\n\treturn `${parsed.origin ? `${parsed.origin}/${parsed.id}/iframe` : `${EMBED_BASE}/${parsed.id}`}?${serializeEmbedParams(params)}`;\n}\nconst EMBED_BASE = \"https://iframe.videodelivery.net\";\nconst MATCH_SRC = /(?:cloudflarestream\\.com|videodelivery\\.net)\\/([\\w-.]+)/i;\nconst MATCH_CUSTOMER_ORIGIN = /^(https?:\\/\\/customer-[\\w-]+\\.cloudflarestream\\.com)/i;\nconst MATCH_VIDEO_ID = /^[a-z\\d]{32}$/i;\nconst MATCH_SIGNED_TOKEN = /^[\\w-]+\\.[\\w-]+\\.[\\w-]+$/;\n//#endregion\nexport { buildCloudflareIframeSrc, parseCloudflareSource, parseCloudflareVideoId };\n\n//# sourceMappingURL=source.js.map","import { loadScript } from \"@videojs/utils/dom\";\n//#region src/dom/cloudflare/stream-api.ts\nconst API_URL = \"https://embed.videodelivery.net/embed/sdk.latest.js\";\n/** Load the Stream SDK once, reusing it if another host already pulled it in. */\nasync function loadCloudflareStreamApi() {\n\tconst existing = globalThis.Stream;\n\tif (existing) return existing;\n\tawait loadScript(API_URL);\n\tconst api = globalThis.Stream;\n\tif (!api) throw new Error(\"Cloudflare Stream SDK failed to load\");\n\treturn api;\n}\n//#endregion\nexport { loadCloudflareStreamApi };\n\n//# sourceMappingURL=stream-api.js.map","import { EMPTY_TEXT_TRACKS, EMPTY_TIME_RANGES } from \"../../core/constants.js\";\nimport { MediaError } from \"../../core/media-error.js\";\nimport { createTimeRange } from \"../utils/time-ranges.js\";\nimport { MediaPlayedRangesMixin } from \"../media-played-ranges/media-played-ranges.js\";\nimport { cloudflareMediaDefaultProps } from \"./props.js\";\nimport { buildCloudflareIframeSrc, parseCloudflareSource } from \"./source.js\";\nimport { loadCloudflareStreamApi } from \"./stream-api.js\";\nimport { deepEqual } from \"@videojs/utils/object\";\nimport { createPublicPromise, tryCall } from \"@videojs/utils/function\";\n//#region src/dom/cloudflare/media.ts\nconst CloudflareMediaBase = MediaPlayedRangesMixin(EventTarget);\n/**\n* @fires sourcechange - Fired when `source` changes, either directly or by resolving a new `src`. Read `source` for the new value.\n*/\nvar CloudflareMedia = class extends CloudflareMediaBase {\n\t#target = null;\n\t#player = null;\n\t#creatingPlayer = false;\n\t#pendingLoad = false;\n\t#loadComplete = createPublicPromise();\n\t#attachId = 0;\n\t#playerListeners = [];\n\t#src = cloudflareMediaDefaultProps.src;\n\t#autoplay = cloudflareMediaDefaultProps.autoplay;\n\t#defaultMuted = cloudflareMediaDefaultProps.defaultMuted;\n\t#loop = cloudflareMediaDefaultProps.loop;\n\t#controls = cloudflareMediaDefaultProps.controls;\n\t#playsInline = cloudflareMediaDefaultProps.playsInline;\n\t#preload = cloudflareMediaDefaultProps.preload;\n\t#poster = cloudflareMediaDefaultProps.poster;\n\t#source = cloudflareMediaDefaultProps.source;\n\t#paused = true;\n\t#ended = false;\n\t#seeking = false;\n\t#loaded = false;\n\t#srcUnsupported = false;\n\t#currentTime = 0;\n\t#duration = NaN;\n\t#volume = 1;\n\t#muted = false;\n\t#playbackRate = 1;\n\t#progress = 0;\n\t#videoWidth = NaN;\n\t#videoHeight = NaN;\n\t#readyState = READY_STATE_HAVE_NOTHING;\n\t#error = null;\n\t#isFullscreen = false;\n\t#textTracksHost = null;\n\tstatic PLAYER_SOFTWARE_NAME = \"cloudflare-video\";\n\t/** Underlying Stream SDK player instance (null until the SDK loads). */\n\tget engine() {\n\t\treturn this.#player;\n\t}\n\tget target() {\n\t\treturn this.#target;\n\t}\n\t/** Bind the embed iframe. The SDK and player follow once an embed URL resolves, which may not be until `load()`. */\n\tattach(target) {\n\t\tif (!target || this.#target === target) return;\n\t\tif (this.#target) this.detach();\n\t\tthis.#target = target;\n\t\tthis.#beginLoad();\n\t\tthis.#createPlayer();\n\t}\n\tdetach() {\n\t\tif (!this.#target) return;\n\t\tthis.#attachId++;\n\t\tthis.#unbindPlayerEvents();\n\t\tthis.#pauseEmbed();\n\t\tthis.#player = null;\n\t\tthis.#creatingPlayer = false;\n\t\tthis.#pendingLoad = false;\n\t\tthis.#textTracksHost = null;\n\t\tthis.#target = null;\n\t\tthis.#loadComplete.resolve();\n\t\tthis.#resetState();\n\t}\n\tdestroy() {\n\t\tthis.detach();\n\t\tsuper.destroy();\n\t}\n\tget src() {\n\t\treturn this.#src;\n\t}\n\t/** Cloudflare URL, video UID, or signed token. Setting it re-derives `source`, carrying its embed parameters over. */\n\tset src(value) {\n\t\tconst { engine } = this.#source ?? {};\n\t\tconst next = {\n\t\t\t...engine && { engine },\n\t\t\t...value && { src: value }\n\t\t};\n\t\tthis.source = Object.keys(next).length > 0 ? next : null;\n\t}\n\tget currentSrc() {\n\t\treturn this.#target?.getAttribute(\"src\") ?? \"\";\n\t}\n\tget readyState() {\n\t\treturn this.#readyState;\n\t}\n\t/** Reload the current source through the Stream player; no-op until `attach()`. */\n\tasync load() {\n\t\tif (!this.#player) {\n\t\t\tif (!this.#target) return;\n\t\t\tif (this.#creatingPlayer) {\n\t\t\t\tthis.#pendingLoad = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst load = this.#beginLoad();\n\t\t\tthis.#resetState();\n\t\t\tawait Promise.resolve();\n\t\t\tif (load !== this.#loadComplete) return;\n\t\t\tthis.#createPlayer();\n\t\t\treturn;\n\t\t}\n\t\tconst load = this.#beginLoad();\n\t\tthis.#resetState();\n\t\tthis.dispatchEvent(new Event(\"emptied\"));\n\t\tif (!this.#src) {\n\t\t\tload.resolve();\n\t\t\tthis.#pauseEmbed();\n\t\t\treturn;\n\t\t}\n\t\tthis.dispatchEvent(new Event(\"loadstart\"));\n\t\tconst parsed = parseCloudflareSource(this.#src);\n\t\tif (!parsed) {\n\t\t\tthis.#srcUnsupported = true;\n\t\t\tthis.#error = new MediaError(`Unrecognized Cloudflare Stream source: ${this.#src}`, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);\n\t\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\t\tload.resolve();\n\t\t\tthis.#pauseEmbed();\n\t\t\treturn;\n\t\t}\n\t\tconst target = this.#target;\n\t\tconst nextSrc = buildCloudflareIframeSrc(this.#src, this.#snapshotProps());\n\t\tif (target && nextSrc && embedParamsOf(nextSrc) !== embedParamsOf(target.getAttribute(\"src\") ?? \"\")) {\n\t\t\ttarget.src = nextSrc;\n\t\t\treturn;\n\t\t}\n\t\tthis.#player.src = parsed.id;\n\t}\n\t#beginLoad() {\n\t\tthis.#loadComplete.resolve();\n\t\tthis.#loadComplete = createPublicPromise();\n\t\treturn this.#loadComplete;\n\t}\n\tget #hasSource() {\n\t\treturn !!this.#src && !this.#srcUnsupported;\n\t}\n\tget paused() {\n\t\treturn this.#paused;\n\t}\n\tget ended() {\n\t\treturn this.#ended;\n\t}\n\tget seeking() {\n\t\treturn this.#seeking;\n\t}\n\tasync play() {\n\t\tawait this.#loadComplete;\n\t\tif (!this.#hasSource) return;\n\t\tawait this.#player?.play();\n\t}\n\tpause() {\n\t\tthis.#player?.pause();\n\t}\n\tget currentTime() {\n\t\treturn this.#currentTime;\n\t}\n\tset currentTime(value) {\n\t\tif (this.#currentTime === value) return;\n\t\tthis.#currentTime = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.currentTime = value;\n\t\t});\n\t}\n\tget duration() {\n\t\treturn this.#duration;\n\t}\n\tget volume() {\n\t\treturn this.#volume;\n\t}\n\tset volume(value) {\n\t\tif (this.#volume === value) return;\n\t\tthis.#volume = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.volume = value;\n\t\t});\n\t}\n\tget muted() {\n\t\treturn this.#muted;\n\t}\n\tset muted(value) {\n\t\tif (this.#muted === value) return;\n\t\tthis.#muted = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.muted = value;\n\t\t});\n\t}\n\tget playbackRate() {\n\t\treturn this.#playbackRate;\n\t}\n\tset playbackRate(value) {\n\t\tif (this.#playbackRate === value) return;\n\t\tthis.#playbackRate = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.playbackRate = value;\n\t\t});\n\t}\n\tget autoplay() {\n\t\treturn this.#autoplay;\n\t}\n\tset autoplay(value) {\n\t\tthis.#autoplay = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.autoplay = value;\n\t\t});\n\t}\n\tget defaultMuted() {\n\t\treturn this.#defaultMuted;\n\t}\n\tset defaultMuted(value) {\n\t\tthis.#defaultMuted = value;\n\t\tif (!this.#loaded) this.#muted = value;\n\t}\n\tget loop() {\n\t\treturn this.#loop;\n\t}\n\tset loop(value) {\n\t\tthis.#loop = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.loop = value;\n\t\t});\n\t}\n\tget controls() {\n\t\treturn this.#controls;\n\t}\n\tset controls(value) {\n\t\tthis.#controls = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.controls = value;\n\t\t});\n\t}\n\tget playsInline() {\n\t\treturn this.#playsInline;\n\t}\n\tset playsInline(value) {\n\t\tthis.#playsInline = value;\n\t}\n\tget preload() {\n\t\treturn this.#preload;\n\t}\n\tset preload(value) {\n\t\tthis.#preload = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.preload = value;\n\t\t});\n\t}\n\tget poster() {\n\t\treturn this.#poster;\n\t}\n\tset poster(value) {\n\t\tthis.#poster = value;\n\t\tthis.#afterLoad((p) => {\n\t\t\tp.poster = value;\n\t\t});\n\t}\n\t/** Structured source: `src` plus embed parameters under `engine.cloudflare`. Replacing it re-derives `src`. */\n\tget source() {\n\t\treturn this.#source;\n\t}\n\tset source(value) {\n\t\tconst source = value ?? null;\n\t\tif (source === this.#source) return;\n\t\tconst src = source?.src ?? \"\";\n\t\tconst srcChanged = this.#src !== src;\n\t\tconst engineChanged = !deepEqual(this.#source?.engine?.cloudflare ?? null, source?.engine?.cloudflare ?? null);\n\t\tthis.#source = source;\n\t\tthis.#src = src;\n\t\tif (srcChanged || engineChanged) this.load();\n\t\tthis.dispatchEvent(new Event(\"sourcechange\"));\n\t}\n\tget buffered() {\n\t\treturn this.#progress > 0 ? createTimeRange(0, this.#progress) : EMPTY_TIME_RANGES;\n\t}\n\tget seekable() {\n\t\treturn this.#duration > 0 && Number.isFinite(this.#duration) ? createTimeRange(0, this.#duration) : EMPTY_TIME_RANGES;\n\t}\n\tget error() {\n\t\treturn this.#error;\n\t}\n\t/** Always empty: the SDK exposes no track API, and the embed owns the track picked by `defaultTextTrack`. */\n\tget textTracks() {\n\t\tthis.#textTracksHost ??= globalThis.document?.createElement(\"video\") ?? null;\n\t\treturn this.#textTracksHost?.textTracks ?? EMPTY_TEXT_TRACKS;\n\t}\n\tget videoWidth() {\n\t\treturn this.#videoWidth;\n\t}\n\tget videoHeight() {\n\t\treturn this.#videoHeight;\n\t}\n\tget isFullscreen() {\n\t\treturn this.#isFullscreen;\n\t}\n\tasync requestFullscreen() {\n\t\tif (!this.#target?.requestFullscreen) return;\n\t\tawait this.#target.requestFullscreen();\n\t\tthis.#isFullscreen = true;\n\t}\n\tasync exitFullscreen() {\n\t\tconst doc = globalThis.document;\n\t\tif (doc?.fullscreenElement && doc.fullscreenElement === this.#target) await doc.exitFullscreen();\n\t\tthis.#isFullscreen = false;\n\t}\n\t#createPlayer() {\n\t\tconst target = this.#target;\n\t\tif (!target || this.#player || this.#creatingPlayer) return false;\n\t\tlet serverRendered = false;\n\t\tif (!target.getAttribute(\"src\")) {\n\t\t\tconst initialSrc = buildCloudflareIframeSrc(this.#src, this.#snapshotProps());\n\t\t\tif (!initialSrc) {\n\t\t\t\tthis.#loadComplete.resolve();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ttarget.src = initialSrc;\n\t\t} else serverRendered = hasEmbedNavigated(target);\n\t\tthis.#creatingPlayer = true;\n\t\tthis.dispatchEvent(new Event(\"loadstart\"));\n\t\tthis.#createPlayerApi(target, serverRendered);\n\t\treturn true;\n\t}\n\tasync #createPlayerApi(target, serverRendered) {\n\t\tconst attachId = this.#attachId;\n\t\tlet api;\n\t\ttry {\n\t\t\tapi = await loadCloudflareStreamApi();\n\t\t} catch {\n\t\t\tif (this.#isStale(attachId)) return;\n\t\t\tthis.#creatingPlayer = false;\n\t\t\tthis.#error = new MediaError(\"Failed to load the Cloudflare Stream SDK\", MediaError.MEDIA_ERR_NETWORK);\n\t\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\t\tthis.#loadComplete.resolve();\n\t\t\treturn;\n\t\t}\n\t\tif (this.#isStale(attachId) || this.#target !== target) return;\n\t\tif (serverRendered) target.src = target.src;\n\t\tconst player = api(target);\n\t\tthis.#player = player;\n\t\tthis.#creatingPlayer = false;\n\t\tthis.#bindPlayerEvents(player, attachId);\n\t\tif (this.#pendingLoad) {\n\t\t\tthis.#pendingLoad = false;\n\t\t\tthis.load();\n\t\t}\n\t}\n\t#isStale(attachId) {\n\t\treturn attachId !== this.#attachId;\n\t}\n\t#pauseEmbed() {\n\t\ttryCall(() => this.#player?.pause());\n\t}\n\t#afterLoad(fn) {\n\t\tthis.#loadComplete.then(() => {\n\t\t\tconst player = this.#player;\n\t\t\tif (player) tryCall(() => fn(player));\n\t\t}, () => {});\n\t}\n\tget #nextMuted() {\n\t\treturn this.#defaultMuted || this.#muted;\n\t}\n\t#snapshotProps() {\n\t\treturn {\n\t\t\tautoplay: this.#autoplay,\n\t\t\tdefaultMuted: this.#nextMuted,\n\t\t\tloop: this.#loop,\n\t\t\tcontrols: this.#controls,\n\t\t\tpreload: this.#preload || cloudflareMediaDefaultProps.preload,\n\t\t\tposter: this.#poster,\n\t\t\tsource: this.#source\n\t\t};\n\t}\n\t#resetState() {\n\t\tthis.#currentTime = 0;\n\t\tthis.#duration = NaN;\n\t\tthis.#muted = this.#nextMuted;\n\t\tthis.#paused = !this.#autoplay;\n\t\tthis.#ended = false;\n\t\tthis.#playbackRate = 1;\n\t\tthis.#progress = 0;\n\t\tthis.#readyState = READY_STATE_HAVE_NOTHING;\n\t\tthis.#seeking = false;\n\t\tthis.#loaded = false;\n\t\tthis.#srcUnsupported = false;\n\t\tthis.#volume = 1;\n\t\tthis.#error = null;\n\t\tthis.#videoWidth = NaN;\n\t\tthis.#videoHeight = NaN;\n\t\tthis.#isFullscreen = false;\n\t}\n\t#onLoaded() {\n\t\tif (this.#loaded) return;\n\t\tthis.#loaded = true;\n\t\tthis.#readyState = READY_STATE_HAVE_METADATA;\n\t\tconst player = this.#player;\n\t\tif (player) {\n\t\t\tthis.#duration = toDuration(player.duration);\n\t\t\tthis.#muted = player.muted;\n\t\t\tthis.#volume = player.volume;\n\t\t\tthis.#playbackRate = player.playbackRate;\n\t\t\tthis.#videoWidth = player.videoWidth;\n\t\t\tthis.#videoHeight = player.videoHeight;\n\t\t}\n\t\tfor (const type of [\n\t\t\t\"loadedmetadata\",\n\t\t\t\"durationchange\",\n\t\t\t\"volumechange\",\n\t\t\t\"loadcomplete\"\n\t\t]) this.dispatchEvent(new Event(type));\n\t\tthis.#loadComplete.resolve();\n\t}\n\t#onError() {\n\t\tthis.#error = new MediaError(\"Cloudflare Stream playback error\", MediaError.MEDIA_ERR_CUSTOM, true);\n\t\tthis.dispatchEvent(new Event(\"error\"));\n\t\tthis.#loadComplete.resolve();\n\t}\n\t#bindPlayerEvents(player, attachId) {\n\t\tconst listen = (type, handle) => {\n\t\t\tconst listener = () => {\n\t\t\t\tif (this.#isStale(attachId) || !this.#hasSource) return;\n\t\t\t\thandle();\n\t\t\t};\n\t\t\tplayer.addEventListener(type, listener);\n\t\t\tthis.#playerListeners.push([type, listener]);\n\t\t};\n\t\tconst on = (type, update) => listen(type, () => {\n\t\t\tupdate?.();\n\t\t\tthis.dispatchEvent(new Event(type));\n\t\t});\n\t\tlisten(\"loadedmetadata\", () => this.#onLoaded());\n\t\ton(\"loadeddata\", () => {\n\t\t\tthis.#readyState = READY_STATE_HAVE_CURRENT_DATA;\n\t\t});\n\t\ton(\"play\", () => {\n\t\t\tthis.#paused = false;\n\t\t\tthis.#ended = false;\n\t\t});\n\t\ton(\"playing\", () => {\n\t\t\tthis.#readyState = READY_STATE_HAVE_FUTURE_DATA;\n\t\t\tthis.#paused = false;\n\t\t});\n\t\ton(\"pause\", () => {\n\t\t\tthis.#paused = true;\n\t\t});\n\t\ton(\"ended\", () => {\n\t\t\tthis.#paused = true;\n\t\t\tthis.#ended = true;\n\t\t});\n\t\ton(\"timeupdate\", () => {\n\t\t\tthis.#currentTime = player.currentTime;\n\t\t});\n\t\ton(\"durationchange\", () => {\n\t\t\tthis.#duration = toDuration(player.duration);\n\t\t});\n\t\ton(\"volumechange\", () => {\n\t\t\tthis.#volume = player.volume;\n\t\t\tthis.#muted = player.muted;\n\t\t});\n\t\ton(\"ratechange\", () => {\n\t\t\tthis.#playbackRate = player.playbackRate;\n\t\t});\n\t\ton(\"progress\", () => {\n\t\t\tthis.#progress = toBufferedEnd(player);\n\t\t});\n\t\ton(\"seeking\", () => {\n\t\t\tthis.#seeking = true;\n\t\t});\n\t\ton(\"seeked\", () => {\n\t\t\tthis.#seeking = false;\n\t\t\tthis.#currentTime = player.currentTime;\n\t\t});\n\t\ton(\"resize\", () => {\n\t\t\tthis.#videoWidth = player.videoWidth;\n\t\t\tthis.#videoHeight = player.videoHeight;\n\t\t});\n\t\tfor (const type of PASSTHROUGH_EVENTS) on(type);\n\t\tlisten(\"error\", () => this.#onError());\n\t}\n\t#unbindPlayerEvents() {\n\t\tfor (const [type, listener] of this.#playerListeners) tryCall(() => this.#player?.removeEventListener(type, listener));\n\t\tthis.#playerListeners.length = 0;\n\t}\n};\nconst PASSTHROUGH_EVENTS = [\n\t\"waiting\",\n\t\"stalled\",\n\t\"suspend\",\n\t\"abort\",\n\t\"canplay\",\n\t\"canplaythrough\",\n\t\"encrypted\",\n\t\"waitingforkey\",\n\t\"stream-adstart\",\n\t\"stream-adend\",\n\t\"stream-adtimeout\"\n];\n/** The embed reports `0` until it knows the duration; `HTMLMediaElement` reports `NaN`. */\nfunction toDuration(duration) {\n\treturn duration > 0 ? duration : NaN;\n}\nfunction toBufferedEnd(player) {\n\tconst { buffered } = player;\n\treturn buffered?.length ? buffered.end(buffered.length - 1) : 0;\n}\nfunction embedParamsOf(src) {\n\ttry {\n\t\tconst url = new URL(src);\n\t\treturn `${url.origin}${url.search}`;\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction hasEmbedNavigated(target) {\n\tconst frame = target.contentWindow;\n\tif (!frame) return false;\n\ttry {\n\t\treturn frame.location.href !== \"about:blank\";\n\t} catch {\n\t\treturn true;\n\t}\n}\nconst READY_STATE_HAVE_NOTHING = 0;\nconst READY_STATE_HAVE_METADATA = 1;\nconst READY_STATE_HAVE_CURRENT_DATA = 2;\nconst READY_STATE_HAVE_FUTURE_DATA = 3;\n//#endregion\nexport { CloudflareMedia };\n\n//# sourceMappingURL=media.js.map","import { buildCloudflareIframeSrc, CloudflareMedia } from '@videojs/media/dom/cloudflare';\nimport { CustomMediaElement } from '@videojs/media/dom/custom-media-element';\nimport { escapeHtml } from '@videojs/utils/string';\nimport { MediaAttachMixin } from '../../store/media-attach-mixin';\n\nclass CloudflareCustomMediaElement extends CustomMediaElement('iframe', CloudflareMedia) {\n static override getTemplateHTML = (attrs: Record<string, string>): string => {\n const initialSrc = buildCloudflareIframeSrc(attrs.src ?? '', templateAttrsToEmbedProps(attrs));\n const srcAttr = initialSrc ? ` src=\"${escapeHtml(initialSrc)}\"` : '';\n return /*html*/ `\n <style>\n :host {\n display: inline-block;\n min-width: 300px;\n min-height: 150px;\n position: relative;\n }\n iframe {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n :host(:not([controls])) {\n pointer-events: none;\n }\n </style>\n <iframe\n part=\"iframe\"\n ${srcAttr}\n allow=\"accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n frameborder=\"0\"\n width=\"100%\"\n height=\"100%\"\n referrerpolicy=\"${escapeHtml(attrs.referrerpolicy ?? '')}\"\n ></iframe>\n `;\n };\n}\n\nfunction templateAttrsToEmbedProps(attrs: Record<string, string>) {\n return {\n autoplay: attrs.autoplay !== undefined,\n defaultMuted: attrs.muted !== undefined,\n loop: attrs.loop !== undefined,\n controls: attrs.controls !== undefined,\n preload: (attrs.preload as 'none' | 'metadata' | 'auto' | undefined) ?? 'metadata',\n // The Stream embed paints the poster itself, so it is part of the URL.\n poster: attrs.poster ?? '',\n };\n}\n\nexport class CloudflareVideo extends MediaAttachMixin(CloudflareCustomMediaElement) {}\n","import { CloudflareVideo } from '../../media/cloudflare-video';\nimport { safeDefine } from '../safe-define';\n\nexport class CloudflareVideoElement extends CloudflareVideo {\n static readonly tagName = 'cloudflare-video';\n}\n\nsafeDefine(CloudflareVideoElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [CloudflareVideoElement.tagName]: CloudflareVideoElement;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { i as safeDefine } from "../context-OhQY847V.js";
2
+ import { t as MediaContainerElement } from "../container-element-HHK_KZOE.js";
3
+
4
+ //#region src/define/media/container.ts
5
+ safeDefine(MediaContainerElement);
6
+
7
+ //#endregion
8
+ //# sourceMappingURL=container.dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.dev.js","names":[],"sources":["../../src/define/media/container.ts"],"sourcesContent":["import { MediaContainerElement } from '../../media/container-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MediaContainerElement.tagName]: MediaContainerElement;\n }\n}\n"],"mappings":";;;;AAGA,WAAW,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ import{i as e}from"../context-C2rsoDxk.js";import{t}from"../container-element-Dd0ZCdhK.js";e(t);
2
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","names":[],"sources":["../../src/define/media/container.ts"],"sourcesContent":["import { MediaContainerElement } from '../../media/container-element';\nimport { safeDefine } from '../safe-define';\n\nsafeDefine(MediaContainerElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MediaContainerElement.tagName]: MediaContainerElement;\n }\n}\n"],"mappings":"2FAGA,EAAW,CAAqB"}
@@ -2,8 +2,8 @@ import { t as deepEqual } from "../deep-equal-DOfcXiSw.js";
2
2
  import { t as CustomMediaElement } from "../custom-media-element-D2JoODKd.js";
3
3
  import { i as safeDefine } from "../context-OhQY847V.js";
4
4
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
5
+ import { t as MediaTracksMixin } from "../mixin-C193v40v.js";
5
6
  import { t as HTMLVideoElementHost } from "../video-host-BfXZVMMj.js";
6
- import { t as MediaTracksMixin } from "../mixin-CkNZwQXF.js";
7
7
 
8
8
  //#region ../../node_modules/.pnpm/dashjs@5.2.0_@svta+cml-cta@1.0.6_@svta+cml-structured-field-values@1.1.3_@svta+cml-util_6e8680075f1c91ecd050e52740b4ab34/node_modules/dashjs/dist/modern/esm/dash.all.min.js
9
9
  /*! For license information please see dash.all.min.js.LICENSE.txt */
@@ -28007,4 +28007,5 @@ var DashVideoElement = class extends DashVideo {
28007
28007
  safeDefine(DashVideoElement);
28008
28008
 
28009
28009
  //#endregion
28010
+ export { DashVideoElement };
28010
28011
  //# sourceMappingURL=dash-video.dev.js.map