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

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 (667) hide show
  1. package/cdn/{ar-BgO-vdw6.js → ar-BbHGxPgW.js} +2 -2
  2. package/cdn/{ar-BgO-vdw6.js.map → ar-BbHGxPgW.js.map} +1 -1
  3. package/cdn/{ar-DGKbeOEU.js → ar-DsPINVvV.js} +2 -2
  4. package/cdn/{ar-DGKbeOEU.js.map → ar-DsPINVvV.js.map} +1 -1
  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 +1 -1
  8. package/cdn/audio-minimal-ui.js +1 -1
  9. package/cdn/audio-minimal.dev.js +4 -4
  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 +1 -1
  14. package/cdn/audio-ui.js +1 -1
  15. package/cdn/audio.dev.js +4 -4
  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/{az-BXA58gAV.js → az-BNG9I9VB.js} +2 -2
  20. package/cdn/{az-BXA58gAV.js.map → az-BNG9I9VB.js.map} +1 -1
  21. package/cdn/{az-BT93Xmvh.js → az-q6l4N3j1.js} +2 -2
  22. package/cdn/{az-BT93Xmvh.js.map → az-q6l4N3j1.js.map} +1 -1
  23. package/cdn/background.dev.js +1 -1
  24. package/cdn/background.js +1 -1
  25. package/cdn/{bg-CNMY77ir.js → bg-BdKU1ynW.js} +2 -2
  26. package/cdn/{bg-CNMY77ir.js.map → bg-BdKU1ynW.js.map} +1 -1
  27. package/cdn/{bg-B3I4SlRq.js → bg-DCWtl1c4.js} +2 -2
  28. package/cdn/{bg-B3I4SlRq.js.map → bg-DCWtl1c4.js.map} +1 -1
  29. package/cdn/{bn-KcCmQhYd.js → bn-BbmORCrv.js} +2 -2
  30. package/cdn/{bn-KcCmQhYd.js.map → bn-BbmORCrv.js.map} +1 -1
  31. package/cdn/{bn-CcLIScl6.js → bn-DZmQ9OJ-.js} +2 -2
  32. package/cdn/{bn-CcLIScl6.js.map → bn-DZmQ9OJ-.js.map} +1 -1
  33. package/cdn/{bs-BGd6Lc0X.js → bs-BvptjSqN.js} +2 -2
  34. package/cdn/{bs-BGd6Lc0X.js.map → bs-BvptjSqN.js.map} +1 -1
  35. package/cdn/{bs-CS5F7Fa6.js → bs-Cw5PmwUl.js} +2 -2
  36. package/cdn/{bs-CS5F7Fa6.js.map → bs-Cw5PmwUl.js.map} +1 -1
  37. package/cdn/{ca-BIdQJZV-.js → ca-Cn5dI2Qs.js} +2 -2
  38. package/cdn/{ca-BIdQJZV-.js.map → ca-Cn5dI2Qs.js.map} +1 -1
  39. package/cdn/{ca-tFUfQ2mI.js → ca-CoCZNriH.js} +2 -2
  40. package/cdn/{ca-tFUfQ2mI.js.map → ca-CoCZNriH.js.map} +1 -1
  41. package/cdn/compounds-CHlzbAKu.js +8 -0
  42. package/cdn/compounds-CHlzbAKu.js.map +1 -0
  43. package/cdn/{compounds-C73u1MeO.js → compounds-D1FPw7jg.js} +99 -109
  44. package/cdn/compounds-D1FPw7jg.js.map +1 -0
  45. package/cdn/{create-player-Db1CIvlK.js → create-player-5UrHNqBI.js} +704 -704
  46. package/cdn/create-player-5UrHNqBI.js.map +1 -0
  47. package/cdn/create-player-LjvbIxIq.js +2 -0
  48. package/cdn/create-player-LjvbIxIq.js.map +1 -0
  49. package/cdn/{cs-B9lsmY_k.js → cs-BV3Sx3fM.js} +2 -2
  50. package/cdn/{cs-B9lsmY_k.js.map → cs-BV3Sx3fM.js.map} +1 -1
  51. package/cdn/{cs-CGi94LND.js → cs-D5U7GOvT.js} +2 -2
  52. package/cdn/{cs-CGi94LND.js.map → cs-D5U7GOvT.js.map} +1 -1
  53. package/cdn/{cy-m5eMZq7d.js → cy-C1ARfOdw.js} +2 -2
  54. package/cdn/{cy-m5eMZq7d.js.map → cy-C1ARfOdw.js.map} +1 -1
  55. package/cdn/{cy-DW6qAdUj.js → cy-DudRluPj.js} +2 -2
  56. package/cdn/{cy-DW6qAdUj.js.map → cy-DudRluPj.js.map} +1 -1
  57. package/cdn/{da-B5RntG8L.js → da-B7ZwuW3M.js} +2 -2
  58. package/cdn/{da-B5RntG8L.js.map → da-B7ZwuW3M.js.map} +1 -1
  59. package/cdn/{da-BW7obU8g.js → da-II10K6Ey.js} +2 -2
  60. package/cdn/{da-BW7obU8g.js.map → da-II10K6Ey.js.map} +1 -1
  61. package/cdn/{de-D3KzJ5Tz.js → de-B6OPMaJ5.js} +2 -2
  62. package/cdn/{de-D3KzJ5Tz.js.map → de-B6OPMaJ5.js.map} +1 -1
  63. package/cdn/{de-B1BbfHoj.js → de-Dp0rNs6I.js} +2 -2
  64. package/cdn/{de-B1BbfHoj.js.map → de-Dp0rNs6I.js.map} +1 -1
  65. package/cdn/device-pixel-ratio-BuD3pqk8.js +2 -0
  66. package/cdn/device-pixel-ratio-BuD3pqk8.js.map +1 -0
  67. package/cdn/device-pixel-ratio-mmUkCbE0.js +48 -0
  68. package/cdn/device-pixel-ratio-mmUkCbE0.js.map +1 -0
  69. package/cdn/{el-DpHi5eUV.js → el-EOboxCMK.js} +2 -2
  70. package/cdn/{el-DpHi5eUV.js.map → el-EOboxCMK.js.map} +1 -1
  71. package/cdn/{el-B0opiKbz.js → el-KnLx85RQ.js} +2 -2
  72. package/cdn/{el-B0opiKbz.js.map → el-KnLx85RQ.js.map} +1 -1
  73. package/cdn/{error-surface-D0bo71gD.js → error-surface-BOIu7qNS.js} +30 -13
  74. package/cdn/error-surface-BOIu7qNS.js.map +1 -0
  75. package/cdn/{error-surface-BID4D3DW.js → error-surface-CK9nYgD5.js} +2 -2
  76. package/cdn/error-surface-CK9nYgD5.js.map +1 -0
  77. package/cdn/{es-DPmLLGjd.js → es--93P_KGd.js} +2 -2
  78. package/cdn/{es-DPmLLGjd.js.map → es--93P_KGd.js.map} +1 -1
  79. package/cdn/{es-R4DSKG7w.js → es-COk6VYCt.js} +2 -2
  80. package/cdn/{es-R4DSKG7w.js.map → es-COk6VYCt.js.map} +1 -1
  81. package/cdn/{et-DQHjBg68.js → et-B_7oInYP.js} +2 -2
  82. package/cdn/{et-DQHjBg68.js.map → et-B_7oInYP.js.map} +1 -1
  83. package/cdn/{et-Ba6ZgMTe.js → et-aUy-aqQn.js} +2 -2
  84. package/cdn/{et-Ba6ZgMTe.js.map → et-aUy-aqQn.js.map} +1 -1
  85. package/cdn/{eu-CBUcm8xq.js → eu-B6ITLPO5.js} +2 -2
  86. package/cdn/{eu-CBUcm8xq.js.map → eu-B6ITLPO5.js.map} +1 -1
  87. package/cdn/{eu-DXctohCN.js → eu-BG9wftF5.js} +2 -2
  88. package/cdn/{eu-DXctohCN.js.map → eu-BG9wftF5.js.map} +1 -1
  89. package/cdn/{fa-BSekhYli.js → fa-Dh0ufSh-.js} +2 -2
  90. package/cdn/{fa-BSekhYli.js.map → fa-Dh0ufSh-.js.map} +1 -1
  91. package/cdn/{fa-DVErbQrK.js → fa-Vvr1px4j.js} +2 -2
  92. package/cdn/{fa-DVErbQrK.js.map → fa-Vvr1px4j.js.map} +1 -1
  93. package/cdn/{fi-CvnyRW00.js → fi-BG_ciEXf.js} +2 -2
  94. package/cdn/{fi-CvnyRW00.js.map → fi-BG_ciEXf.js.map} +1 -1
  95. package/cdn/{fi-CFpiNsK2.js → fi-XtLm7xkM.js} +2 -2
  96. package/cdn/{fi-CFpiNsK2.js.map → fi-XtLm7xkM.js.map} +1 -1
  97. package/cdn/{fr-V1tRQlCS.js → fr-BXWr8Jqu.js} +2 -2
  98. package/cdn/{fr-V1tRQlCS.js.map → fr-BXWr8Jqu.js.map} +1 -1
  99. package/cdn/{fr-DFpP-osm.js → fr-CHcVddjH.js} +2 -2
  100. package/cdn/{fr-DFpP-osm.js.map → fr-CHcVddjH.js.map} +1 -1
  101. package/cdn/{gd-BSg8cDZO.js → gd-4GF6aH0c.js} +2 -2
  102. package/cdn/{gd-BSg8cDZO.js.map → gd-4GF6aH0c.js.map} +1 -1
  103. package/cdn/{gd-qpj49Ajf.js → gd-DjfDHZSD.js} +2 -2
  104. package/cdn/{gd-qpj49Ajf.js.map → gd-DjfDHZSD.js.map} +1 -1
  105. package/cdn/{gesture-element-CeRy1IVs.js → gesture-element-BbNy1Pjt.js} +2 -2
  106. package/cdn/{gesture-element-CeRy1IVs.js.map → gesture-element-BbNy1Pjt.js.map} +1 -1
  107. package/cdn/{gesture-element-DB67OYCE.js → gesture-element-KdpjbbBD.js} +3 -3
  108. package/cdn/{gesture-element-DB67OYCE.js.map → gesture-element-KdpjbbBD.js.map} +1 -1
  109. package/cdn/{gl-BkUKK3Id.js → gl-CMgj66_6.js} +2 -2
  110. package/cdn/{gl-BkUKK3Id.js.map → gl-CMgj66_6.js.map} +1 -1
  111. package/cdn/{gl-9SEblv-S.js → gl-D9ioIzwX.js} +2 -2
  112. package/cdn/{gl-9SEblv-S.js.map → gl-D9ioIzwX.js.map} +1 -1
  113. package/cdn/{he-1PXxurjR.js → he-CfWrcfG4.js} +2 -2
  114. package/cdn/{he-1PXxurjR.js.map → he-CfWrcfG4.js.map} +1 -1
  115. package/cdn/{he-DA_NFjk3.js → he-DfwOOgbT.js} +2 -2
  116. package/cdn/{he-DA_NFjk3.js.map → he-DfwOOgbT.js.map} +1 -1
  117. package/cdn/{hi-u7gnYTbQ.js → hi-BZ3n5dDB.js} +2 -2
  118. package/cdn/{hi-u7gnYTbQ.js.map → hi-BZ3n5dDB.js.map} +1 -1
  119. package/cdn/{hi-qm1t0A8G.js → hi-D3c9qx7l.js} +2 -2
  120. package/cdn/{hi-qm1t0A8G.js.map → hi-D3c9qx7l.js.map} +1 -1
  121. package/cdn/{hr-BlnRGxrs.js → hr-DEA0U32S.js} +2 -2
  122. package/cdn/{hr-BlnRGxrs.js.map → hr-DEA0U32S.js.map} +1 -1
  123. package/cdn/{hr-YlMHxjnx.js → hr-WZJQxYNC.js} +2 -2
  124. package/cdn/{hr-YlMHxjnx.js.map → hr-WZJQxYNC.js.map} +1 -1
  125. package/cdn/{hu-Cpl4civp.js → hu-Ci9TDNn-.js} +2 -2
  126. package/cdn/{hu-Cpl4civp.js.map → hu-Ci9TDNn-.js.map} +1 -1
  127. package/cdn/{hu-CfmcttWR.js → hu-XOjo5JlM.js} +2 -2
  128. package/cdn/{hu-CfmcttWR.js.map → hu-XOjo5JlM.js.map} +1 -1
  129. package/cdn/{i18n-D0nhPa0m.js → i18n-DeI9j-ko.js} +2 -2
  130. package/cdn/{i18n-D0nhPa0m.js.map → i18n-DeI9j-ko.js.map} +1 -1
  131. package/cdn/i18n-R3TQ8P2f.js +2 -0
  132. package/cdn/{i18n-CpBDXf6M.js.map → i18n-R3TQ8P2f.js.map} +1 -1
  133. package/cdn/i18n.dev.js +53 -53
  134. package/cdn/i18n.js +1 -1
  135. package/cdn/{id-COi2HloV.js → id-D2Z0jj2m.js} +2 -2
  136. package/cdn/{id-COi2HloV.js.map → id-D2Z0jj2m.js.map} +1 -1
  137. package/cdn/{id-Be_i6jhO.js → id-D9XC3sJi.js} +2 -2
  138. package/cdn/{id-Be_i6jhO.js.map → id-D9XC3sJi.js.map} +1 -1
  139. package/cdn/{it-B18weK94.js → it-CDVRQsJC.js} +2 -2
  140. package/cdn/{it-B18weK94.js.map → it-CDVRQsJC.js.map} +1 -1
  141. package/cdn/{it-DKKYDPD1.js → it-tbmwIgns.js} +2 -2
  142. package/cdn/{it-DKKYDPD1.js.map → it-tbmwIgns.js.map} +1 -1
  143. package/cdn/{ja-CeZwzavz.js → ja-Di4sbE9W.js} +2 -2
  144. package/cdn/{ja-CeZwzavz.js.map → ja-Di4sbE9W.js.map} +1 -1
  145. package/cdn/{ja-Bk6dXsfM.js → ja-DuWgmes7.js} +2 -2
  146. package/cdn/{ja-Bk6dXsfM.js.map → ja-DuWgmes7.js.map} +1 -1
  147. package/cdn/{ko-DpALhNiw.js → ko-BX5hcvm_.js} +2 -2
  148. package/cdn/{ko-DpALhNiw.js.map → ko-BX5hcvm_.js.map} +1 -1
  149. package/cdn/{ko-DzP46eEm.js → ko-CvalpIGs.js} +2 -2
  150. package/cdn/{ko-DzP46eEm.js.map → ko-CvalpIGs.js.map} +1 -1
  151. package/cdn/{live-button-element-Co8z2LkI.js → live-button-element-C-WypudK.js} +2 -2
  152. package/cdn/{live-button-element-Co8z2LkI.js.map → live-button-element-C-WypudK.js.map} +1 -1
  153. package/cdn/{live-button-element-zE-8uoR2.js → live-button-element-CylfQD0v.js} +3 -3
  154. package/cdn/{live-button-element-zE-8uoR2.js.map → live-button-element-CylfQD0v.js.map} +1 -1
  155. package/cdn/live-video-minimal.dev.js +7 -7
  156. package/cdn/live-video-minimal.dev.js.map +1 -1
  157. package/cdn/live-video-minimal.js +1 -1
  158. package/cdn/live-video-minimal.js.map +1 -1
  159. package/cdn/live-video.dev.js +8 -8
  160. package/cdn/live-video.dev.js.map +1 -1
  161. package/cdn/live-video.js +1 -1
  162. package/cdn/live-video.js.map +1 -1
  163. package/cdn/locales/ar.dev.js +1 -1
  164. package/cdn/locales/ar.js +1 -1
  165. package/cdn/locales/az.dev.js +1 -1
  166. package/cdn/locales/az.js +1 -1
  167. package/cdn/locales/bg.dev.js +1 -1
  168. package/cdn/locales/bg.js +1 -1
  169. package/cdn/locales/bn.dev.js +1 -1
  170. package/cdn/locales/bn.js +1 -1
  171. package/cdn/locales/bs.dev.js +1 -1
  172. package/cdn/locales/bs.js +1 -1
  173. package/cdn/locales/ca.dev.js +1 -1
  174. package/cdn/locales/ca.js +1 -1
  175. package/cdn/locales/cs.dev.js +1 -1
  176. package/cdn/locales/cs.js +1 -1
  177. package/cdn/locales/cy.dev.js +1 -1
  178. package/cdn/locales/cy.js +1 -1
  179. package/cdn/locales/da.dev.js +1 -1
  180. package/cdn/locales/da.js +1 -1
  181. package/cdn/locales/de.dev.js +1 -1
  182. package/cdn/locales/de.js +1 -1
  183. package/cdn/locales/el.dev.js +1 -1
  184. package/cdn/locales/el.js +1 -1
  185. package/cdn/locales/es.dev.js +1 -1
  186. package/cdn/locales/es.js +1 -1
  187. package/cdn/locales/et.dev.js +1 -1
  188. package/cdn/locales/et.js +1 -1
  189. package/cdn/locales/eu.dev.js +1 -1
  190. package/cdn/locales/eu.js +1 -1
  191. package/cdn/locales/fa.dev.js +1 -1
  192. package/cdn/locales/fa.js +1 -1
  193. package/cdn/locales/fi.dev.js +1 -1
  194. package/cdn/locales/fi.js +1 -1
  195. package/cdn/locales/fr.dev.js +1 -1
  196. package/cdn/locales/fr.js +1 -1
  197. package/cdn/locales/gd.dev.js +1 -1
  198. package/cdn/locales/gd.js +1 -1
  199. package/cdn/locales/gl.dev.js +1 -1
  200. package/cdn/locales/gl.js +1 -1
  201. package/cdn/locales/he.dev.js +1 -1
  202. package/cdn/locales/he.js +1 -1
  203. package/cdn/locales/hi.dev.js +1 -1
  204. package/cdn/locales/hi.js +1 -1
  205. package/cdn/locales/hr.dev.js +1 -1
  206. package/cdn/locales/hr.js +1 -1
  207. package/cdn/locales/hu.dev.js +1 -1
  208. package/cdn/locales/hu.js +1 -1
  209. package/cdn/locales/id.dev.js +1 -1
  210. package/cdn/locales/id.js +1 -1
  211. package/cdn/locales/it.dev.js +1 -1
  212. package/cdn/locales/it.js +1 -1
  213. package/cdn/locales/ja.dev.js +1 -1
  214. package/cdn/locales/ja.js +1 -1
  215. package/cdn/locales/ko.dev.js +1 -1
  216. package/cdn/locales/ko.js +1 -1
  217. package/cdn/locales/lt.dev.js +1 -1
  218. package/cdn/locales/lt.js +1 -1
  219. package/cdn/locales/lv.dev.js +1 -1
  220. package/cdn/locales/lv.js +1 -1
  221. package/cdn/locales/mr.dev.js +1 -1
  222. package/cdn/locales/mr.js +1 -1
  223. package/cdn/locales/nb.dev.js +1 -1
  224. package/cdn/locales/nb.js +1 -1
  225. package/cdn/locales/ne.dev.js +1 -1
  226. package/cdn/locales/ne.js +1 -1
  227. package/cdn/locales/nl.dev.js +1 -1
  228. package/cdn/locales/nl.js +1 -1
  229. package/cdn/locales/nn.dev.js +1 -1
  230. package/cdn/locales/nn.js +1 -1
  231. package/cdn/locales/oc.dev.js +1 -1
  232. package/cdn/locales/oc.js +1 -1
  233. package/cdn/locales/pl.dev.js +1 -1
  234. package/cdn/locales/pl.js +1 -1
  235. package/cdn/locales/pt-BR.dev.js +1 -1
  236. package/cdn/locales/pt-BR.js +1 -1
  237. package/cdn/locales/pt-PT.dev.js +1 -1
  238. package/cdn/locales/pt-PT.js +1 -1
  239. package/cdn/locales/pt.dev.js +1 -1
  240. package/cdn/locales/pt.js +1 -1
  241. package/cdn/locales/ro.dev.js +1 -1
  242. package/cdn/locales/ro.js +1 -1
  243. package/cdn/locales/ru.dev.js +1 -1
  244. package/cdn/locales/ru.js +1 -1
  245. package/cdn/locales/sk.dev.js +1 -1
  246. package/cdn/locales/sk.js +1 -1
  247. package/cdn/locales/sl.dev.js +1 -1
  248. package/cdn/locales/sl.js +1 -1
  249. package/cdn/locales/sr.dev.js +1 -1
  250. package/cdn/locales/sr.js +1 -1
  251. package/cdn/locales/sv.dev.js +1 -1
  252. package/cdn/locales/sv.js +1 -1
  253. package/cdn/locales/te.dev.js +1 -1
  254. package/cdn/locales/te.js +1 -1
  255. package/cdn/locales/th.dev.js +1 -1
  256. package/cdn/locales/th.js +1 -1
  257. package/cdn/locales/tr.dev.js +1 -1
  258. package/cdn/locales/tr.js +1 -1
  259. package/cdn/locales/uk.dev.js +1 -1
  260. package/cdn/locales/uk.js +1 -1
  261. package/cdn/locales/vi.dev.js +1 -1
  262. package/cdn/locales/vi.js +1 -1
  263. package/cdn/locales/zh-CN.dev.js +1 -1
  264. package/cdn/locales/zh-CN.js +1 -1
  265. package/cdn/locales/zh-TW.dev.js +1 -1
  266. package/cdn/locales/zh-TW.js +1 -1
  267. package/cdn/locales/zh.dev.js +1 -1
  268. package/cdn/locales/zh.js +1 -1
  269. package/cdn/{lt-CJC2CVhF.js → lt-DLXeAqcs.js} +2 -2
  270. package/cdn/{lt-CJC2CVhF.js.map → lt-DLXeAqcs.js.map} +1 -1
  271. package/cdn/{lt-y_SCQZXc.js → lt-ZQzwrnWQ.js} +2 -2
  272. package/cdn/{lt-y_SCQZXc.js.map → lt-ZQzwrnWQ.js.map} +1 -1
  273. package/cdn/{lv-E4LvfHSK.js → lv-CsVQVy3v.js} +2 -2
  274. package/cdn/{lv-E4LvfHSK.js.map → lv-CsVQVy3v.js.map} +1 -1
  275. package/cdn/{lv-CfdIbjKR.js → lv-RRA9zY_N.js} +2 -2
  276. package/cdn/{lv-CfdIbjKR.js.map → lv-RRA9zY_N.js.map} +1 -1
  277. package/cdn/media/cloudflare-video.dev.js +2 -2
  278. package/cdn/media/cloudflare-video.js +1 -1
  279. package/cdn/media/hls-audio.dev.js +1 -1
  280. package/cdn/media/hls-audio.js +1 -1
  281. package/cdn/media/hls-background-video.dev.js +1 -1
  282. package/cdn/media/hls-background-video.js +1 -1
  283. package/cdn/media/hls-video.dev.js +1 -1
  284. package/cdn/media/hls-video.js +1 -1
  285. package/cdn/media/mux-audio/spf.dev.js +1 -1
  286. package/cdn/media/mux-audio/spf.js +1 -1
  287. package/cdn/media/mux-background-video.dev.js +1 -1
  288. package/cdn/media/mux-background-video.js +1 -1
  289. package/cdn/media/mux-data.dev.js +1 -1
  290. package/cdn/media/mux-data.dev.js.map +1 -1
  291. package/cdn/media/mux-data.js +1 -1
  292. package/cdn/media/mux-data.js.map +1 -1
  293. package/cdn/media/mux-video/spf.dev.js +1 -1
  294. package/cdn/media/mux-video/spf.js +1 -1
  295. package/cdn/media/shaka-video.dev.d.ts +1 -0
  296. package/cdn/media/shaka-video.dev.js +35132 -0
  297. package/cdn/media/shaka-video.dev.js.map +1 -0
  298. package/cdn/media/shaka-video.js +55 -0
  299. package/cdn/media/shaka-video.js.map +1 -0
  300. package/cdn/media/spotify-audio.dev.js +2 -2
  301. package/cdn/media/spotify-audio.js +1 -1
  302. package/cdn/media/tiktok-video.dev.js +2 -2
  303. package/cdn/media/tiktok-video.js +1 -1
  304. package/cdn/media/twitch-video.dev.js +1 -1
  305. package/cdn/media/twitch-video.js +1 -1
  306. package/cdn/media/vimeo-video.dev.js +2 -2
  307. package/cdn/media/vimeo-video.js +2 -2
  308. package/cdn/media/youtube-video.dev.js +2 -2
  309. package/cdn/media/youtube-video.js +1 -1
  310. package/cdn/{media-mYKOAsk3.js → media-B4uT13xV.js} +13 -29
  311. package/cdn/media-B4uT13xV.js.map +1 -0
  312. package/cdn/{media-DI6DvYm3.js → media-B6LoDnMy.js} +57 -3
  313. package/cdn/media-B6LoDnMy.js.map +1 -0
  314. package/cdn/media-D6Xer97u.js +2 -0
  315. package/cdn/media-D6Xer97u.js.map +1 -0
  316. package/cdn/media-DdApyCAP.js +2 -0
  317. package/cdn/media-DdApyCAP.js.map +1 -0
  318. package/cdn/{media-D4tG62L5.js → media-YTtOjoEw.js} +2 -2
  319. package/cdn/{media-D4tG62L5.js.map → media-YTtOjoEw.js.map} +1 -1
  320. package/cdn/{media-BI8caj07.js → media-aZ7x4gGL.js} +3 -3
  321. package/cdn/{media-BI8caj07.js.map → media-aZ7x4gGL.js.map} +1 -1
  322. package/cdn/minimal-ui-D3XCtSx_.js +2 -0
  323. package/cdn/{minimal-ui-BXrq3z4U.js.map → minimal-ui-D3XCtSx_.js.map} +1 -1
  324. package/cdn/{minimal-ui-BCIESK8f.js → minimal-ui-KUzZkG_3.js} +8 -8
  325. package/cdn/{minimal-ui-BCIESK8f.js.map → minimal-ui-KUzZkG_3.js.map} +1 -1
  326. package/cdn/{minimal-ui-DEalpMk6.js → minimal-ui-ajeAXABk.js} +4 -4
  327. package/cdn/{minimal-ui-DEalpMk6.js.map → minimal-ui-ajeAXABk.js.map} +1 -1
  328. package/cdn/{minimal-ui-vY3QgohH.js → minimal-ui-p9QCZfCz.js} +2 -2
  329. package/cdn/{minimal-ui-vY3QgohH.js.map → minimal-ui-p9QCZfCz.js.map} +1 -1
  330. package/cdn/{mr-C4OijKV_.js → mr-CZ7oMzua.js} +2 -2
  331. package/cdn/{mr-C4OijKV_.js.map → mr-CZ7oMzua.js.map} +1 -1
  332. package/cdn/{mr-DmbgkSem.js → mr-CgFYVcpx.js} +2 -2
  333. package/cdn/{mr-DmbgkSem.js.map → mr-CgFYVcpx.js.map} +1 -1
  334. package/cdn/{nb-Bx5aKqbD.js → nb-DWtHJLYf.js} +2 -2
  335. package/cdn/{nb-Bx5aKqbD.js.map → nb-DWtHJLYf.js.map} +1 -1
  336. package/cdn/{nb-DQ3Nq1ZC.js → nb-ahqFuIy4.js} +2 -2
  337. package/cdn/{nb-DQ3Nq1ZC.js.map → nb-ahqFuIy4.js.map} +1 -1
  338. package/cdn/{ne-DTL8Y04V.js → ne-CFkutVHH.js} +2 -2
  339. package/cdn/{ne-DTL8Y04V.js.map → ne-CFkutVHH.js.map} +1 -1
  340. package/cdn/{ne-BM_WgrGC.js → ne-DQx0S7DC.js} +2 -2
  341. package/cdn/{ne-BM_WgrGC.js.map → ne-DQx0S7DC.js.map} +1 -1
  342. package/cdn/{nl-C7CWKQe5.js → nl-BbWS-uoT.js} +2 -2
  343. package/cdn/{nl-C7CWKQe5.js.map → nl-BbWS-uoT.js.map} +1 -1
  344. package/cdn/{nl-DMt-nkiN.js → nl-V4DJd2nd.js} +2 -2
  345. package/cdn/{nl-DMt-nkiN.js.map → nl-V4DJd2nd.js.map} +1 -1
  346. package/cdn/{nn-BOoGZjkf.js → nn-BoY6X0bu.js} +2 -2
  347. package/cdn/{nn-BOoGZjkf.js.map → nn-BoY6X0bu.js.map} +1 -1
  348. package/cdn/{nn-CT846E14.js → nn-Bp2EWBHZ.js} +2 -2
  349. package/cdn/{nn-CT846E14.js.map → nn-Bp2EWBHZ.js.map} +1 -1
  350. package/cdn/observe-elements-B4q3zaDw.js +79 -0
  351. package/cdn/observe-elements-B4q3zaDw.js.map +1 -0
  352. package/cdn/observe-elements-BivD4tHs.js +2 -0
  353. package/cdn/observe-elements-BivD4tHs.js.map +1 -0
  354. package/cdn/{oc-DQgnGeb2.js → oc-BJrdQkma.js} +2 -2
  355. package/cdn/{oc-DQgnGeb2.js.map → oc-BJrdQkma.js.map} +1 -1
  356. package/cdn/{oc-ClJwr9d0.js → oc-Dto6NU-U.js} +2 -2
  357. package/cdn/{oc-ClJwr9d0.js.map → oc-Dto6NU-U.js.map} +1 -1
  358. package/cdn/{pl-B7SFuF8C.js → pl-BmUKjVFU.js} +2 -2
  359. package/cdn/{pl-B7SFuF8C.js.map → pl-BmUKjVFU.js.map} +1 -1
  360. package/cdn/{pl-DWVOOhfp.js → pl-HlPnZjYT.js} +2 -2
  361. package/cdn/{pl-DWVOOhfp.js.map → pl-HlPnZjYT.js.map} +1 -1
  362. package/cdn/{player-B3GlPF90.js → player-B5zkgqwT.js} +2 -2
  363. package/cdn/{player-B3GlPF90.js.map → player-B5zkgqwT.js.map} +1 -1
  364. package/cdn/{player-DPDmTRvg.js → player-BXQMSpgR.js} +2 -2
  365. package/cdn/{player-DPDmTRvg.js.map → player-BXQMSpgR.js.map} +1 -1
  366. package/cdn/{player-CtTC7qa5.js → player-BuxifKSM.js} +2 -2
  367. package/cdn/{player-CtTC7qa5.js.map → player-BuxifKSM.js.map} +1 -1
  368. package/cdn/{player-DrDd7LJi.js → player-CngT-cVQ.js} +2 -2
  369. package/cdn/{player-DrDd7LJi.js.map → player-CngT-cVQ.js.map} +1 -1
  370. package/cdn/{player-L5UpZmT4.js → player-DMP2pc3L.js} +2 -2
  371. package/cdn/{player-L5UpZmT4.js.map → player-DMP2pc3L.js.map} +1 -1
  372. package/cdn/{player-DKkph8UM.js → player-POHYt5tr.js} +2 -2
  373. package/cdn/{player-DKkph8UM.js.map → player-POHYt5tr.js.map} +1 -1
  374. package/cdn/{poster-element-B5tdJ2ub.js → poster-element-CuCEBVr3.js} +3 -11
  375. package/cdn/poster-element-CuCEBVr3.js.map +1 -0
  376. package/cdn/{poster-element-B8QwXSU_.js → poster-element-Djlm5fwC.js} +2 -2
  377. package/cdn/{poster-element-B8QwXSU_.js.map → poster-element-Djlm5fwC.js.map} +1 -1
  378. package/cdn/{pt-BR-Dx0zZKM6.js → pt-BR-Cfv1ox9K.js} +2 -2
  379. package/cdn/{pt-BR-Dx0zZKM6.js.map → pt-BR-Cfv1ox9K.js.map} +1 -1
  380. package/cdn/{pt-BR-BweixWSY.js → pt-BR-j4XWQBdJ.js} +2 -2
  381. package/cdn/{pt-BR-BweixWSY.js.map → pt-BR-j4XWQBdJ.js.map} +1 -1
  382. package/cdn/{pt-C0Z9dXhV.js → pt-BUBSLaBp.js} +3 -3
  383. package/cdn/{pt-C0Z9dXhV.js.map → pt-BUBSLaBp.js.map} +1 -1
  384. package/cdn/{pt-PT-Di4o8ntw.js → pt-PT-DQ0otVWH.js} +2 -2
  385. package/cdn/{pt-PT-Di4o8ntw.js.map → pt-PT-DQ0otVWH.js.map} +1 -1
  386. package/cdn/{pt-PT-DlHt57Eg.js → pt-PT-DdJVXfMB.js} +2 -2
  387. package/cdn/{pt-PT-DlHt57Eg.js.map → pt-PT-DdJVXfMB.js.map} +1 -1
  388. package/cdn/pt-akbpk7gG.js +2 -0
  389. package/cdn/{pt-ohZp6iM5.js.map → pt-akbpk7gG.js.map} +1 -1
  390. package/cdn/relocation-pipelines-CBzRuD_s.js +2 -0
  391. package/cdn/relocation-pipelines-CBzRuD_s.js.map +1 -0
  392. package/cdn/{relocation-pipelines-Dh8CcgHw.js → relocation-pipelines-R2UVEy5p.js} +38 -2
  393. package/cdn/relocation-pipelines-R2UVEy5p.js.map +1 -0
  394. package/cdn/resolution-C4bCDOw4.js +2 -0
  395. package/cdn/resolution-C4bCDOw4.js.map +1 -0
  396. package/cdn/resolution-DPr_vTWF.js +29 -0
  397. package/cdn/resolution-DPr_vTWF.js.map +1 -0
  398. package/cdn/{ro-BB4KBp_W.js → ro-BiexogxI.js} +2 -2
  399. package/cdn/{ro-BB4KBp_W.js.map → ro-BiexogxI.js.map} +1 -1
  400. package/cdn/{ro-BU9kKrWV.js → ro-X-mft-iF.js} +2 -2
  401. package/cdn/{ro-BU9kKrWV.js.map → ro-X-mft-iF.js.map} +1 -1
  402. package/cdn/rolldown-runtime-KW3qVizi.js +42 -0
  403. package/cdn/rolldown-runtime-QTnfLwEv.js +1 -0
  404. package/cdn/{ru-CajU7FT2.js → ru-15_5g81L.js} +2 -2
  405. package/cdn/{ru-CajU7FT2.js.map → ru-15_5g81L.js.map} +1 -1
  406. package/cdn/{ru-BrWt8VXI.js → ru-GHEfsz_c.js} +2 -2
  407. package/cdn/{ru-BrWt8VXI.js.map → ru-GHEfsz_c.js.map} +1 -1
  408. package/cdn/{seek-button-element-5co-k0Dx.js → seek-button-element-BD2caCd5.js} +3 -3
  409. package/cdn/{seek-button-element-5co-k0Dx.js.map → seek-button-element-BD2caCd5.js.map} +1 -1
  410. package/cdn/{seek-button-element-B8TkILg-.js → seek-button-element-CgaXVFPS.js} +2 -2
  411. package/cdn/{seek-button-element-B8TkILg-.js.map → seek-button-element-CgaXVFPS.js.map} +1 -1
  412. package/cdn/{sk-DOZafohX.js → sk-BEvGx8AE.js} +2 -2
  413. package/cdn/{sk-DOZafohX.js.map → sk-BEvGx8AE.js.map} +1 -1
  414. package/cdn/{sk-XGkesNm5.js → sk-CbZOx0Xf.js} +2 -2
  415. package/cdn/{sk-XGkesNm5.js.map → sk-CbZOx0Xf.js.map} +1 -1
  416. package/cdn/{skin-element-DrkI8xuM.js → skin-element-DE8OodF5.js} +2 -2
  417. package/cdn/skin-element-DE8OodF5.js.map +1 -0
  418. package/cdn/{skin-element-DvX6Bxsv.js → skin-element-PDwjO4v0.js} +2 -10
  419. package/cdn/{skin-element-DvX6Bxsv.js.map → skin-element-PDwjO4v0.js.map} +1 -1
  420. package/cdn/{sl-CHuwx211.js → sl-BqYDAX6g.js} +2 -2
  421. package/cdn/{sl-CHuwx211.js.map → sl-BqYDAX6g.js.map} +1 -1
  422. package/cdn/{sl-CuZgo3JI.js → sl-D7uEXtkn.js} +2 -2
  423. package/cdn/{sl-CuZgo3JI.js.map → sl-D7uEXtkn.js.map} +1 -1
  424. package/cdn/{sr-BsZrd40u.js → sr-CBBykxkN.js} +2 -2
  425. package/cdn/{sr-BsZrd40u.js.map → sr-CBBykxkN.js.map} +1 -1
  426. package/cdn/{sr-CzT_52m8.js → sr-D10ir4DL.js} +2 -2
  427. package/cdn/{sr-CzT_52m8.js.map → sr-D10ir4DL.js.map} +1 -1
  428. package/cdn/{sv-CsISpTMM.js → sv-BGcohnZb.js} +2 -2
  429. package/cdn/{sv-CsISpTMM.js.map → sv-BGcohnZb.js.map} +1 -1
  430. package/cdn/{sv-hxsarb6k.js → sv-he8gk9up.js} +2 -2
  431. package/cdn/{sv-hxsarb6k.js.map → sv-he8gk9up.js.map} +1 -1
  432. package/cdn/{te-DUaUnw1d.js → te-DhEDBJ0Q.js} +2 -2
  433. package/cdn/{te-DUaUnw1d.js.map → te-DhEDBJ0Q.js.map} +1 -1
  434. package/cdn/{te-CG0NRKuG.js → te-Dw2hLtHG.js} +2 -2
  435. package/cdn/{te-CG0NRKuG.js.map → te-Dw2hLtHG.js.map} +1 -1
  436. package/cdn/{text-element-BoY6AhMn.js → text-element-BJyj7nLo.js} +2 -2
  437. package/cdn/{text-element-BoY6AhMn.js.map → text-element-BJyj7nLo.js.map} +1 -1
  438. package/cdn/{text-element-cg6l21cd.js → text-element-dyiwucQB.js} +2 -2
  439. package/cdn/{text-element-cg6l21cd.js.map → text-element-dyiwucQB.js.map} +1 -1
  440. package/cdn/{th-BYS5ZpYb.js → th-B3iYzmd5.js} +2 -2
  441. package/cdn/{th-BYS5ZpYb.js.map → th-B3iYzmd5.js.map} +1 -1
  442. package/cdn/{th-Bx_CvtvC.js → th-BMZDRGQ7.js} +2 -2
  443. package/cdn/{th-Bx_CvtvC.js.map → th-BMZDRGQ7.js.map} +1 -1
  444. package/cdn/{time-slider-chapters-element-CznFQWFm.js → time-slider-chapters-element-BTMqnBhM.js} +3 -3
  445. package/cdn/{time-slider-chapters-element-CznFQWFm.js.map → time-slider-chapters-element-BTMqnBhM.js.map} +1 -1
  446. package/cdn/{time-slider-chapters-element-BfLjdnU4.js → time-slider-chapters-element-b6oeaZtJ.js} +2 -2
  447. package/cdn/{time-slider-chapters-element-BfLjdnU4.js.map → time-slider-chapters-element-b6oeaZtJ.js.map} +1 -1
  448. package/cdn/{tr-5Cegmhcj.js → tr-BJOEOizJ.js} +2 -2
  449. package/cdn/{tr-5Cegmhcj.js.map → tr-BJOEOizJ.js.map} +1 -1
  450. package/cdn/{tr-BV5YcpOy.js → tr-CdLz59Rt.js} +2 -2
  451. package/cdn/{tr-BV5YcpOy.js.map → tr-CdLz59Rt.js.map} +1 -1
  452. package/cdn/{ui-BwzqkJNK.js → ui-BsUcH4YJ.js} +7 -7
  453. package/cdn/{ui-BwzqkJNK.js.map → ui-BsUcH4YJ.js.map} +1 -1
  454. package/cdn/{ui-fnKp94a7.js → ui-CtONjPC2.js} +9 -9
  455. package/cdn/{ui-fnKp94a7.js.map → ui-CtONjPC2.js.map} +1 -1
  456. package/cdn/ui-CxftD4RF.js +2 -0
  457. package/cdn/{ui-DayfItun.js.map → ui-CxftD4RF.js.map} +1 -1
  458. package/cdn/ui-DLvwCbsU.js +2 -0
  459. package/cdn/{ui-PSnD-pv8.js.map → ui-DLvwCbsU.js.map} +1 -1
  460. package/cdn/{uk-DsHkf0ZB.js → uk-BTa1prcg.js} +2 -2
  461. package/cdn/{uk-DsHkf0ZB.js.map → uk-BTa1prcg.js.map} +1 -1
  462. package/cdn/{uk-D2WGhYFz.js → uk-BW53WsQa.js} +2 -2
  463. package/cdn/{uk-D2WGhYFz.js.map → uk-BW53WsQa.js.map} +1 -1
  464. package/cdn/{vi-DBLOO1G4.js → vi-CGDf02ms.js} +2 -2
  465. package/cdn/{vi-DBLOO1G4.js.map → vi-CGDf02ms.js.map} +1 -1
  466. package/cdn/{vi-CORn5e7t.js → vi-CcOG_Tlw.js} +2 -2
  467. package/cdn/{vi-CORn5e7t.js.map → vi-CcOG_Tlw.js.map} +1 -1
  468. package/cdn/video-headless.dev.js +1 -1
  469. package/cdn/video-headless.js +1 -1
  470. package/cdn/video-minimal-ui.dev.js +1 -1
  471. package/cdn/video-minimal-ui.js +1 -1
  472. package/cdn/video-minimal.dev.js +4 -4
  473. package/cdn/video-minimal.dev.js.map +1 -1
  474. package/cdn/video-minimal.js +1 -1
  475. package/cdn/video-minimal.js.map +1 -1
  476. package/cdn/video-ui.dev.js +1 -1
  477. package/cdn/video-ui.js +1 -1
  478. package/cdn/video.dev.js +5 -5
  479. package/cdn/video.dev.js.map +1 -1
  480. package/cdn/video.js +1 -1
  481. package/cdn/video.js.map +1 -1
  482. package/cdn/{zh-R2vnxJiQ.js → zh-34ObMhvt.js} +3 -3
  483. package/cdn/{zh-R2vnxJiQ.js.map → zh-34ObMhvt.js.map} +1 -1
  484. package/cdn/{zh-CN-Cga4L1h3.js → zh-CN-C_IU0JUw.js} +2 -2
  485. package/cdn/{zh-CN-Cga4L1h3.js.map → zh-CN-C_IU0JUw.js.map} +1 -1
  486. package/cdn/{zh-CN-xq6taoBE.js → zh-CN-rZeJec8v.js} +2 -2
  487. package/cdn/{zh-CN-xq6taoBE.js.map → zh-CN-rZeJec8v.js.map} +1 -1
  488. package/cdn/zh-Cf3NSZs8.js +2 -0
  489. package/cdn/{zh-CtBcRYRs.js.map → zh-Cf3NSZs8.js.map} +1 -1
  490. package/cdn/{zh-TW-DWI1-WUt.js → zh-TW-5fFrgVzt.js} +2 -2
  491. package/cdn/{zh-TW-DWI1-WUt.js.map → zh-TW-5fFrgVzt.js.map} +1 -1
  492. package/cdn/{zh-TW-Dca2WbyD.js → zh-TW-BvuhCu_U.js} +2 -2
  493. package/cdn/{zh-TW-Dca2WbyD.js.map → zh-TW-BvuhCu_U.js.map} +1 -1
  494. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  495. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  496. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  497. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  498. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  499. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  500. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  501. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  502. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  503. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  504. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  505. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  506. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  507. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  508. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  509. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  510. package/dist/default/define/audio/minimal-skin.css +1 -3
  511. package/dist/default/define/audio/skin.css +1 -3
  512. package/dist/default/define/live-audio/minimal-skin.css +1 -3
  513. package/dist/default/define/live-audio/skin.css +1 -3
  514. package/dist/default/define/live-video/minimal-skin.css +2 -31
  515. package/dist/default/define/live-video/skin.css +2 -33
  516. package/dist/default/define/media/shaka-video.js +13 -0
  517. package/dist/default/define/media/shaka-video.js.map +1 -0
  518. package/dist/default/define/skin-element.js +0 -8
  519. package/dist/default/define/skin-element.js.map +1 -1
  520. package/dist/default/define/ui/title.js +7 -0
  521. package/dist/default/define/ui/title.js.map +1 -0
  522. package/dist/default/define/video/minimal-skin.css +2 -31
  523. package/dist/default/define/video/skin.css +2 -33
  524. package/dist/default/index.js +2 -1
  525. package/dist/default/media/shaka-video/media.js +9 -0
  526. package/dist/default/media/shaka-video/media.js.map +1 -0
  527. package/dist/default/skins/dist/default/default/tailwind/components/button.js +1 -1
  528. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  529. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +2 -2
  530. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  531. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -7
  532. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  533. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
  534. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  535. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  536. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  537. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
  538. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  539. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
  540. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  541. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
  542. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  543. package/dist/default/ui/poster/poster-element.js +0 -8
  544. package/dist/default/ui/poster/poster-element.js.map +1 -1
  545. package/dist/default/ui/thumbnail/thumbnail-element.js +22 -7
  546. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  547. package/dist/default/ui/time/time-element.js +2 -3
  548. package/dist/default/ui/time/time-element.js.map +1 -1
  549. package/dist/default/ui/title/title-element.js +37 -0
  550. package/dist/default/ui/title/title-element.js.map +1 -0
  551. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  552. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  553. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  554. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  555. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  556. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  557. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  558. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  559. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  560. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  561. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  562. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  563. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  564. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  565. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  566. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  567. package/dist/dev/define/audio/minimal-skin.css +1 -3
  568. package/dist/dev/define/audio/skin.css +1 -3
  569. package/dist/dev/define/live-audio/minimal-skin.css +1 -3
  570. package/dist/dev/define/live-audio/skin.css +1 -3
  571. package/dist/dev/define/live-video/minimal-skin.css +2 -31
  572. package/dist/dev/define/live-video/skin.css +2 -33
  573. package/dist/dev/define/media/shaka-video.d.ts +14 -0
  574. package/dist/dev/define/media/shaka-video.d.ts.map +1 -0
  575. package/dist/dev/define/media/shaka-video.js +13 -0
  576. package/dist/dev/define/media/shaka-video.js.map +1 -0
  577. package/dist/dev/define/skin-element.d.ts +0 -2
  578. package/dist/dev/define/skin-element.d.ts.map +1 -1
  579. package/dist/dev/define/skin-element.js +0 -8
  580. package/dist/dev/define/skin-element.js.map +1 -1
  581. package/dist/dev/define/ui/title.d.ts +8 -0
  582. package/dist/dev/define/ui/title.d.ts.map +1 -0
  583. package/dist/dev/define/ui/title.js +7 -0
  584. package/dist/dev/define/ui/title.js.map +1 -0
  585. package/dist/dev/define/video/minimal-skin.css +2 -31
  586. package/dist/dev/define/video/skin.css +2 -33
  587. package/dist/dev/index.d.ts +3 -2
  588. package/dist/dev/index.js +2 -1
  589. package/dist/dev/media/shaka-video/index.d.ts +2 -0
  590. package/dist/dev/media/shaka-video/media.d.ts +19 -0
  591. package/dist/dev/media/shaka-video/media.d.ts.map +1 -0
  592. package/dist/dev/media/shaka-video/media.js +9 -0
  593. package/dist/dev/media/shaka-video/media.js.map +1 -0
  594. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +1 -1
  595. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  596. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +2 -2
  597. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  598. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +1 -7
  599. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  600. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
  601. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  602. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  603. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  604. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
  605. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  606. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
  607. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  608. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
  609. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  610. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  611. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  612. package/dist/dev/ui/poster/poster-element.d.ts +0 -2
  613. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  614. package/dist/dev/ui/poster/poster-element.js +0 -8
  615. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  616. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
  617. package/dist/dev/ui/thumbnail/thumbnail-element.js +22 -7
  618. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  619. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  620. package/dist/dev/ui/time/time-element.js +2 -3
  621. package/dist/dev/ui/time/time-element.js.map +1 -1
  622. package/dist/dev/ui/title/title-element.d.ts +18 -0
  623. package/dist/dev/ui/title/title-element.d.ts.map +1 -0
  624. package/dist/dev/ui/title/title-element.js +38 -0
  625. package/dist/dev/ui/title/title-element.js.map +1 -0
  626. package/docs/README.md +1 -1
  627. package/docs/concepts/presets.md +4 -4
  628. package/docs/concepts/skins.md +6 -37
  629. package/docs/how-to/add-a-poster-placeholder.md +52 -0
  630. package/docs/how-to/customize-skins.md +6 -70
  631. package/docs/how-to/migrate-from-mux-player.md +12 -6
  632. package/docs/llms.txt +3 -0
  633. package/docs/reference/feature-fullscreen.md +7 -8
  634. package/docs/reference/feature-metadata.md +141 -0
  635. package/docs/reference/feature-orientation-lock.md +99 -7
  636. package/docs/reference/feature-text-tracks.md +10 -0
  637. package/docs/reference/menu.md +0 -1
  638. package/docs/reference/thumbnail.md +4 -0
  639. package/docs/reference/title.md +211 -0
  640. package/package.json +9 -9
  641. package/cdn/compounds-C4YYLyL2.js +0 -8
  642. package/cdn/compounds-C4YYLyL2.js.map +0 -1
  643. package/cdn/compounds-C73u1MeO.js.map +0 -1
  644. package/cdn/create-player-BU8LDJDL.js +0 -2
  645. package/cdn/create-player-BU8LDJDL.js.map +0 -1
  646. package/cdn/create-player-Db1CIvlK.js.map +0 -1
  647. package/cdn/error-surface-BID4D3DW.js.map +0 -1
  648. package/cdn/error-surface-D0bo71gD.js.map +0 -1
  649. package/cdn/i18n-CpBDXf6M.js +0 -2
  650. package/cdn/media-CQxFuDcv.js +0 -2
  651. package/cdn/media-CQxFuDcv.js.map +0 -1
  652. package/cdn/media-DI6DvYm3.js.map +0 -1
  653. package/cdn/media-mYKOAsk3.js.map +0 -1
  654. package/cdn/media-zReLnePj.js +0 -2
  655. package/cdn/media-zReLnePj.js.map +0 -1
  656. package/cdn/minimal-ui-BXrq3z4U.js +0 -2
  657. package/cdn/poster-element-B5tdJ2ub.js.map +0 -1
  658. package/cdn/pt-ohZp6iM5.js +0 -2
  659. package/cdn/relocation-pipelines-Dh8CcgHw.js.map +0 -1
  660. package/cdn/relocation-pipelines-DunE4gcV.js +0 -2
  661. package/cdn/relocation-pipelines-DunE4gcV.js.map +0 -1
  662. package/cdn/rolldown-runtime-DK3Fl9T5.js +0 -1
  663. package/cdn/rolldown-runtime-w6R9maHv.js +0 -18
  664. package/cdn/skin-element-DrkI8xuM.js.map +0 -1
  665. package/cdn/ui-DayfItun.js +0 -2
  666. package/cdn/ui-PSnD-pv8.js +0 -2
  667. package/cdn/zh-CtBcRYRs.js +0 -2
@@ -4,10 +4,10 @@ import { t as CustomMediaElement } from "../custom-media-element-D2JoODKd.js";
4
4
  import { a as escapeHtml } from "../attributes-c6az3W3y.js";
5
5
  import { i as safeDefine } from "../context-OhQY847V.js";
6
6
  import { t as loadScript } from "../script-erPJaaTz.js";
7
- import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
8
- import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
9
7
  import { n as EMPTY_TEXT_TRACKS, r as EMPTY_TIME_RANGES } from "../constants-CsSwyIX6.js";
10
8
  import { t as MediaError } from "../media-error-zO-Hg4un.js";
9
+ import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
10
+ import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
11
11
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
12
12
 
13
13
  //#region ../media/dist/dev/dom/spotify/props.js
@@ -1,2 +1,2 @@
1
- import{o as e}from"../predicate-LbFu-fPH.js";import{t}from"../deep-equal-CcwdHo6t.js";import{t as n}from"../custom-media-element-8pSkwn42.js";import{a as r}from"../attributes-CwICYz98.js";import{i}from"../context-C2rsoDxk.js";import{t as a}from"../script-D3ZkiqwO.js";import{n as o,r as s,t as c}from"../media-played-ranges-CM2zeOGr.js";import{n as l,t as u}from"../embed-params-D2e8u0d4.js";import{n as d,r as f}from"../constants-B4LD5zrj.js";import{t as p}from"../media-error-CtsbOTR1.js";import{t as m}from"../media-attach-mixin-Igi3-1UG.js";const h={src:``,autoplay:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function g(e){if(!e)return null;let t=x.exec(e)??b.exec(e),n=t?.[1]?.toLowerCase(),r=t?.[2];return!n||!r?null:{type:n,id:r,startTime:v(e)}}function _(e,t={}){let n=g(e);if(!n)return``;let{preferVideo:r,referrerPolicy:i,...a}=t.source?.engine?.spotify??{},o={t:n.startTime,...a},s=r?`/video`:``,c=u(o);return`${y}/embed/${n.type}/${n.id}${s}${c?`?${c}`:``}`}function v(e){let t=/[?&]t=(\d+)/.exec(e)?.[1];return t?Number.parseInt(t,10):null}const y=`https://open.spotify.com`,b=/open\.spotify\.com\/(?:[\w-]+\/)*?(track|episode|album|playlist|show|artist)\/(\w+)/i,x=/^spotify:(track|episode|album|playlist|show|artist):(\w+)$/i;let S=null;function C(){let e=globalThis,t=e.SpotifyIframeApi;return t?Promise.resolve(t):(S??=new Promise((t,n)=>{let r=e.onSpotifyIframeApiReady;e.onSpotifyIframeApiReady=e=>{t(e),r?.(e)},a(`https://open.spotify.com/embed/iframe-api/v1`).catch(n)}).catch(e=>{throw S=null,e}),S)}const w=c(EventTarget);var T=class extends w{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=s();#o=0;#s=h.src;#c=h.autoplay;#l=h.loop;#u=h.controls;#d=h.playsInline;#f=h.preload;#p=h.poster;#m=h.source;#h=!0;#g=!1;#_=!1;#v=!1;#y=0;#b=NaN;#x=j;#S=null;#C=!1;#w=!1;#T=!1;static PLAYER_SOFTWARE_NAME=`spotify-audio`;get engine(){return this.#t}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#E(),this.#D())}detach(){this.#e&&(this.#o++,l(()=>{this.#t&&(this.#t.iframeElement=D(),this.#t.destroy())}),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#e=null,this.#a.resolve(),this.#M())}destroy(){this.detach(),super.destroy()}get src(){return this.#s}set src(e){let{engine:t}=this.#m??{},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.#x}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t&&!this.#i){let e=this.#E();if(await Promise.resolve(),e!==this.#a)return;this.#D()}return}let t=this.#E();if(this.#M(),this.dispatchEvent(new Event(`emptied`)),!this.#s){t.resolve(),l(()=>this.#t?.pause());return}this.dispatchEvent(new Event(`loadstart`));let n=g(this.#s);if(!n){this.#S=new p(`Unrecognized Spotify source: ${this.#s}`,p.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),t.resolve();return}let r=this.#e,i=_(this.#s,this.#j()),a=r?.getAttribute(`src`)??``,o=O(i)!==O(a)||A(i)&&k(i)!==k(a);if(r&&i&&o){r.src=i;return}this.#t.loadUri(`spotify:${n.type}:${n.id}`);let s=this.#m?.engine?.spotify?.t??n.startTime;e(s)&&(this.currentTime=s)}#E(){return this.#a.resolve(),this.#a=s(),this.#a}get paused(){return this.#h}get ended(){return this.#g}get seeking(){return this.#_}async play(){await this.#a,this.#s&&this.#t?.resume()}pause(){this.#w=!0,this.#t?.pause()}get currentTime(){return this.#y}set currentTime(e){this.#y!==e&&(this.#_=!0,this.#T=!1,this.#g=!1,this.#y=e,this.dispatchEvent(new Event(`seeking`)),this.dispatchEvent(new Event(`timeupdate`)),this.#A(t=>t.seek(e)))}get duration(){return this.#b}get autoplay(){return this.#c}set autoplay(e){this.#c=e}get loop(){return this.#l}set loop(e){this.#l=e}get controls(){return this.#u}set controls(e){this.#u=e}get playsInline(){return this.#d}set playsInline(e){this.#d=e}get preload(){return this.#f}set preload(e){this.#f=e}get poster(){return this.#p}set poster(e){this.#p=e}get source(){return this.#m}set source(e){let n=e??null;if(n===this.#m)return;let r=n?.src??``,i=this.#s!==r,a=!t(this.#m?.engine?.spotify??null,n?.engine?.spotify??null);this.#m=n,this.#s=r,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#y>0?o(0,this.#y):f}get seekable(){return this.#b>0&&Number.isFinite(this.#b)?o(0,this.#b):f}get error(){return this.#S}get textTracks(){return d}#D(){let e=this.#e;if(!e||this.#t||this.#i)return!1;if(!e.getAttribute(`src`)){let t=_(this.#s,this.#j());if(!t)return this.#a.resolve(),!1;e.src=t}return this.#i=!0,this.dispatchEvent(new Event(`loadstart`)),this.#O(e),!0}async#O(e){let t=this.#o,n;try{n=await C()}catch{if(this.#k(t))return;this.#i=!1,this.#S=new p(`Failed to load the Spotify iframe API`,p.MEDIA_ERR_NETWORK),this.dispatchEvent(new Event(`error`)),this.#a.resolve();return}if(this.#k(t)||this.#e!==e)return;let{referrerPolicy:r,...i}=this.#m?.engine?.spotify??{},a=await new Promise(e=>n.createController(E(),i,e));if(this.#k(t)||this.#e!==e){l(()=>a.destroy());return}a.iframeElement=e,this.#t=a,this.#i=!1,this.#F(a,t)}#k(e){return e!==this.#o}#A(e){this.#a.then(()=>{let t=this.#t;t&&l(()=>e(t))},()=>{})}#j(){return{autoplay:this.#c,loop:this.#l,controls:this.#u,playsInline:this.#d,preload:this.#f||h.preload,source:this.#m}}#M(){this.#y=0,this.#b=NaN,this.#h=!this.#c,this.#g=!1,this.#x=j,this.#_=!1,this.#v=!1,this.#C=!1,this.#w=!1,this.#T=!1,this.#S=null}#N(){if(this.#n=!0,this.#r){this.#r=!1,this.load();return}this.#P()}#P(){if(!this.#v){this.#v=!0,this.#x=M;for(let e of[`loadedmetadata`,`durationchange`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#a.resolve(),this.#c&&this.play()}}#F(e,t){e.addListener(`ready`,()=>{this.#k(t)||this.#N()}),e.addListener(`playback_update`,e=>{this.#k(t)||this.#I(e.data)})}#I(e){this.#s&&!this.#v&&this.#P(),!this.#R(e)&&(this.#z(e.duration),this.#B(e.position),!this.#V(e)&&this.#H())}#L(e){return e.isBuffering||!e.isPaused}#R(e){return!this.#T||!this.#h||!this.#L(e)?!1:(this.#T=!1,this.currentTime=P,!0)}#z(e){let t=e/1e3;t!==this.#b&&(this.#T=!1,this.#b=t,this.dispatchEvent(new Event(`durationchange`)))}#B(e){let t=e/1e3;if(this.#_){if(t<Math.floor(this.#y)||t>this.#y+F)return;this.#_=!1,this.dispatchEvent(new Event(`seeked`))}t!==this.#y&&(Math.ceil(t)<this.#b&&(this.#T=!1,this.#g=!1),this.#y=t,this.dispatchEvent(new Event(`timeupdate`)))}#V(e){return!this.#h&&e.isPaused?e.isBuffering&&!this.#w?this.#C?!1:(this.#C=!0,this.dispatchEvent(new Event(`waiting`)),!0):(this.#w=!1,this.#C=!1,this.#h=!0,this.dispatchEvent(new Event(`pause`)),!0):this.#h&&this.#L(e)?(this.#w=!1,this.#h=!1,this.#g=!1,this.dispatchEvent(new Event(`play`)),this.#C=e.isBuffering,this.#C||(this.#x=N),this.dispatchEvent(new Event(this.#C?`waiting`:`playing`)),!0):this.#C&&!e.isPaused?(this.#C=!1,this.#x=N,this.dispatchEvent(new Event(`playing`)),!0):!1}#H(){if(!(this.#h||this.#_||this.#T)&&!(!(this.#b>0)||!Number.isFinite(this.#b))&&!(Math.ceil(this.#y)<this.#b)){if(this.#T=!0,this.#l){this.currentTime=P;return}this.#h=!0,this.#g=!0,this.pause(),this.dispatchEvent(new Event(`pause`)),this.dispatchEvent(new Event(`ended`))}}};function E(){return globalThis.document.createElement(`div`)}function D(){return globalThis.document.createElement(`iframe`)}function O(e){let[,t]=e.split(`?`),n=new URLSearchParams(t);return n.delete(`t`),n.sort(),`${A(e)?`video`:`audio`}?${n}`}function k(e){return e.split(`?`)[0]??``}function A(e){return k(e).endsWith(`/video`)}const j=0,M=1,N=3,P=1,F=1;var I=class extends n(`iframe`,T){static{this.getTemplateHTML=e=>{let t=_(e.src??``,L(e));return`<style> :host { display: block; min-width: 160px; min-height: 80px; position: relative; } iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } /* * Without Spotify's own chrome the embed is a transport and nothing else: * its player UI would otherwise show through whatever skin is drawn over * it. Hidden rather than merely inert, and important so a consumer's own * display rule cannot put it back on screen. An iframe in a hidden subtree * still loads and plays its src. */ :host(:not([controls])) { display: none !important; } </style><iframe part="iframe" ${t?` src="${r(t)}"`:``} allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" frameborder="0" width="100%" height="100%" referrerpolicy="${r(e.referrerpolicy??``)}" ></iframe>`}}};function L(e){return{autoplay:e.autoplay!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var R=class extends m(I){},z=class extends R{static{this.tagName=`spotify-audio`}};i(z);export{z as SpotifyAudioElement};
1
+ import{o as e}from"../predicate-LbFu-fPH.js";import{t}from"../deep-equal-CcwdHo6t.js";import{t as n}from"../custom-media-element-8pSkwn42.js";import{a as r}from"../attributes-CwICYz98.js";import{i}from"../context-C2rsoDxk.js";import{t as a}from"../script-D3ZkiqwO.js";import{n as o,r as s}from"../constants-B4LD5zrj.js";import{t as c}from"../media-error-CtsbOTR1.js";import{n as l,r as u,t as d}from"../media-played-ranges-CM2zeOGr.js";import{n as f,t as p}from"../embed-params-D2e8u0d4.js";import{t as m}from"../media-attach-mixin-Igi3-1UG.js";const h={src:``,autoplay:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function g(e){if(!e)return null;let t=x.exec(e)??b.exec(e),n=t?.[1]?.toLowerCase(),r=t?.[2];return!n||!r?null:{type:n,id:r,startTime:v(e)}}function _(e,t={}){let n=g(e);if(!n)return``;let{preferVideo:r,referrerPolicy:i,...a}=t.source?.engine?.spotify??{},o={t:n.startTime,...a},s=r?`/video`:``,c=p(o);return`${y}/embed/${n.type}/${n.id}${s}${c?`?${c}`:``}`}function v(e){let t=/[?&]t=(\d+)/.exec(e)?.[1];return t?Number.parseInt(t,10):null}const y=`https://open.spotify.com`,b=/open\.spotify\.com\/(?:[\w-]+\/)*?(track|episode|album|playlist|show|artist)\/(\w+)/i,x=/^spotify:(track|episode|album|playlist|show|artist):(\w+)$/i;let S=null;function C(){let e=globalThis,t=e.SpotifyIframeApi;return t?Promise.resolve(t):(S??=new Promise((t,n)=>{let r=e.onSpotifyIframeApiReady;e.onSpotifyIframeApiReady=e=>{t(e),r?.(e)},a(`https://open.spotify.com/embed/iframe-api/v1`).catch(n)}).catch(e=>{throw S=null,e}),S)}const w=d(EventTarget);var T=class extends w{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=u();#o=0;#s=h.src;#c=h.autoplay;#l=h.loop;#u=h.controls;#d=h.playsInline;#f=h.preload;#p=h.poster;#m=h.source;#h=!0;#g=!1;#_=!1;#v=!1;#y=0;#b=NaN;#x=j;#S=null;#C=!1;#w=!1;#T=!1;static PLAYER_SOFTWARE_NAME=`spotify-audio`;get engine(){return this.#t}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#E(),this.#D())}detach(){this.#e&&(this.#o++,f(()=>{this.#t&&(this.#t.iframeElement=D(),this.#t.destroy())}),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#e=null,this.#a.resolve(),this.#M())}destroy(){this.detach(),super.destroy()}get src(){return this.#s}set src(e){let{engine:t}=this.#m??{},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.#x}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t&&!this.#i){let e=this.#E();if(await Promise.resolve(),e!==this.#a)return;this.#D()}return}let t=this.#E();if(this.#M(),this.dispatchEvent(new Event(`emptied`)),!this.#s){t.resolve(),f(()=>this.#t?.pause());return}this.dispatchEvent(new Event(`loadstart`));let n=g(this.#s);if(!n){this.#S=new c(`Unrecognized Spotify source: ${this.#s}`,c.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),t.resolve();return}let r=this.#e,i=_(this.#s,this.#j()),a=r?.getAttribute(`src`)??``,o=O(i)!==O(a)||A(i)&&k(i)!==k(a);if(r&&i&&o){r.src=i;return}this.#t.loadUri(`spotify:${n.type}:${n.id}`);let s=this.#m?.engine?.spotify?.t??n.startTime;e(s)&&(this.currentTime=s)}#E(){return this.#a.resolve(),this.#a=u(),this.#a}get paused(){return this.#h}get ended(){return this.#g}get seeking(){return this.#_}async play(){await this.#a,this.#s&&this.#t?.resume()}pause(){this.#w=!0,this.#t?.pause()}get currentTime(){return this.#y}set currentTime(e){this.#y!==e&&(this.#_=!0,this.#T=!1,this.#g=!1,this.#y=e,this.dispatchEvent(new Event(`seeking`)),this.dispatchEvent(new Event(`timeupdate`)),this.#A(t=>t.seek(e)))}get duration(){return this.#b}get autoplay(){return this.#c}set autoplay(e){this.#c=e}get loop(){return this.#l}set loop(e){this.#l=e}get controls(){return this.#u}set controls(e){this.#u=e}get playsInline(){return this.#d}set playsInline(e){this.#d=e}get preload(){return this.#f}set preload(e){this.#f=e}get poster(){return this.#p}set poster(e){this.#p=e}get source(){return this.#m}set source(e){let n=e??null;if(n===this.#m)return;let r=n?.src??``,i=this.#s!==r,a=!t(this.#m?.engine?.spotify??null,n?.engine?.spotify??null);this.#m=n,this.#s=r,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#y>0?l(0,this.#y):s}get seekable(){return this.#b>0&&Number.isFinite(this.#b)?l(0,this.#b):s}get error(){return this.#S}get textTracks(){return o}#D(){let e=this.#e;if(!e||this.#t||this.#i)return!1;if(!e.getAttribute(`src`)){let t=_(this.#s,this.#j());if(!t)return this.#a.resolve(),!1;e.src=t}return this.#i=!0,this.dispatchEvent(new Event(`loadstart`)),this.#O(e),!0}async#O(e){let t=this.#o,n;try{n=await C()}catch{if(this.#k(t))return;this.#i=!1,this.#S=new c(`Failed to load the Spotify iframe API`,c.MEDIA_ERR_NETWORK),this.dispatchEvent(new Event(`error`)),this.#a.resolve();return}if(this.#k(t)||this.#e!==e)return;let{referrerPolicy:r,...i}=this.#m?.engine?.spotify??{},a=await new Promise(e=>n.createController(E(),i,e));if(this.#k(t)||this.#e!==e){f(()=>a.destroy());return}a.iframeElement=e,this.#t=a,this.#i=!1,this.#F(a,t)}#k(e){return e!==this.#o}#A(e){this.#a.then(()=>{let t=this.#t;t&&f(()=>e(t))},()=>{})}#j(){return{autoplay:this.#c,loop:this.#l,controls:this.#u,playsInline:this.#d,preload:this.#f||h.preload,source:this.#m}}#M(){this.#y=0,this.#b=NaN,this.#h=!this.#c,this.#g=!1,this.#x=j,this.#_=!1,this.#v=!1,this.#C=!1,this.#w=!1,this.#T=!1,this.#S=null}#N(){if(this.#n=!0,this.#r){this.#r=!1,this.load();return}this.#P()}#P(){if(!this.#v){this.#v=!0,this.#x=M;for(let e of[`loadedmetadata`,`durationchange`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#a.resolve(),this.#c&&this.play()}}#F(e,t){e.addListener(`ready`,()=>{this.#k(t)||this.#N()}),e.addListener(`playback_update`,e=>{this.#k(t)||this.#I(e.data)})}#I(e){this.#s&&!this.#v&&this.#P(),!this.#R(e)&&(this.#z(e.duration),this.#B(e.position),!this.#V(e)&&this.#H())}#L(e){return e.isBuffering||!e.isPaused}#R(e){return!this.#T||!this.#h||!this.#L(e)?!1:(this.#T=!1,this.currentTime=P,!0)}#z(e){let t=e/1e3;t!==this.#b&&(this.#T=!1,this.#b=t,this.dispatchEvent(new Event(`durationchange`)))}#B(e){let t=e/1e3;if(this.#_){if(t<Math.floor(this.#y)||t>this.#y+F)return;this.#_=!1,this.dispatchEvent(new Event(`seeked`))}t!==this.#y&&(Math.ceil(t)<this.#b&&(this.#T=!1,this.#g=!1),this.#y=t,this.dispatchEvent(new Event(`timeupdate`)))}#V(e){return!this.#h&&e.isPaused?e.isBuffering&&!this.#w?this.#C?!1:(this.#C=!0,this.dispatchEvent(new Event(`waiting`)),!0):(this.#w=!1,this.#C=!1,this.#h=!0,this.dispatchEvent(new Event(`pause`)),!0):this.#h&&this.#L(e)?(this.#w=!1,this.#h=!1,this.#g=!1,this.dispatchEvent(new Event(`play`)),this.#C=e.isBuffering,this.#C||(this.#x=N),this.dispatchEvent(new Event(this.#C?`waiting`:`playing`)),!0):this.#C&&!e.isPaused?(this.#C=!1,this.#x=N,this.dispatchEvent(new Event(`playing`)),!0):!1}#H(){if(!(this.#h||this.#_||this.#T)&&!(!(this.#b>0)||!Number.isFinite(this.#b))&&!(Math.ceil(this.#y)<this.#b)){if(this.#T=!0,this.#l){this.currentTime=P;return}this.#h=!0,this.#g=!0,this.pause(),this.dispatchEvent(new Event(`pause`)),this.dispatchEvent(new Event(`ended`))}}};function E(){return globalThis.document.createElement(`div`)}function D(){return globalThis.document.createElement(`iframe`)}function O(e){let[,t]=e.split(`?`),n=new URLSearchParams(t);return n.delete(`t`),n.sort(),`${A(e)?`video`:`audio`}?${n}`}function k(e){return e.split(`?`)[0]??``}function A(e){return k(e).endsWith(`/video`)}const j=0,M=1,N=3,P=1,F=1;var I=class extends n(`iframe`,T){static{this.getTemplateHTML=e=>{let t=_(e.src??``,L(e));return`<style> :host { display: block; min-width: 160px; min-height: 80px; position: relative; } iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } /* * Without Spotify's own chrome the embed is a transport and nothing else: * its player UI would otherwise show through whatever skin is drawn over * it. Hidden rather than merely inert, and important so a consumer's own * display rule cannot put it back on screen. An iframe in a hidden subtree * still loads and plays its src. */ :host(:not([controls])) { display: none !important; } </style><iframe part="iframe" ${t?` src="${r(t)}"`:``} allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" frameborder="0" width="100%" height="100%" referrerpolicy="${r(e.referrerpolicy??``)}" ></iframe>`}}};function L(e){return{autoplay:e.autoplay!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var R=class extends m(I){},z=class extends R{static{this.tagName=`spotify-audio`}};i(z);export{z as SpotifyAudioElement};
2
2
  //# sourceMappingURL=spotify-audio.js.map
@@ -3,10 +3,10 @@ import { t as deepEqual } from "../deep-equal-DOfcXiSw.js";
3
3
  import { t as CustomMediaElement } from "../custom-media-element-D2JoODKd.js";
4
4
  import { a as escapeHtml } from "../attributes-c6az3W3y.js";
5
5
  import { i as safeDefine } from "../context-OhQY847V.js";
6
- import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
7
- import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
8
6
  import { n as EMPTY_TEXT_TRACKS, r as EMPTY_TIME_RANGES } from "../constants-CsSwyIX6.js";
9
7
  import { t as MediaError } from "../media-error-zO-Hg4un.js";
8
+ import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
9
+ import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
10
10
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
11
11
 
12
12
  //#region ../media/dist/dev/dom/tiktok/props.js
@@ -1,2 +1,2 @@
1
- import{l as e,o as t,s as n,u as r}from"../predicate-LbFu-fPH.js";import{t as i}from"../deep-equal-CcwdHo6t.js";import{t as a}from"../custom-media-element-8pSkwn42.js";import{a as o}from"../attributes-CwICYz98.js";import{i as s}from"../context-C2rsoDxk.js";import{n as c,r as l,t as u}from"../media-played-ranges-CM2zeOGr.js";import{n as d,t as f}from"../embed-params-D2e8u0d4.js";import{n as p,r as m}from"../constants-B4LD5zrj.js";import{t as h}from"../media-error-CtsbOTR1.js";import{t as g}from"../media-attach-mixin-Igi3-1UG.js";const _={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function v(e){if(!e)return null;if(S.test(e))return{id:e};let t=C.exec(e)?.[1];return t?{id:t}:null}function y(e={}){return!e.autoplay&&e.preload!==`none`&&e.controls!==!0}function b(e,t={}){let n=v(e);if(!n)return``;let{referrerPolicy:r,...i}=t.source?.engine?.tiktok??{},a={controls:t.controls===!0?null:0,autoplay:t.autoplay||y(t)||null,muted:t.defaultMuted||null,loop:t.loop||null,rel:0,...i};return`${x}/${n.id}?${f(a)}`}const x=`https://www.tiktok.com/player/v1`,S=/^\d+$/,C=/tiktok\.com\/(?:player\/v1\/|share\/video\/|@[^/]+\/video\/)(\d+)/;function w(t){if(!n(t))return!1;let r=t;return!!r[`x-tiktok-player`]&&e(r.type)}function T(e){return n(e)&&t(e.currentTime)}function E(e){return n(e)&&t(e.errorCode)}function D(e,n){return{"x-tiktok-player":!0,type:e,...t(n)&&{value:n}}}const O=u(EventTarget);var k=class extends O{#e=null;#t=l();#n=null;#r=0;#i=_.src;#a=_.autoplay;#o=_.defaultMuted;#s=_.loop;#c=_.controls;#l=_.playsInline;#u=_.preload;#d=_.poster;#f=_.source;#p=!0;#m=!1;#h=!1;#g=!1;#_=!1;#v=!1;#y=`off`;#b=0;#x=!1;#S=0;#C=NaN;#w=!1;#T=M;#E=null;#D=!1;static PLAYER_SOFTWARE_NAME=`tiktok-video`;get engine(){return this.#e?.contentWindow??null}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#j(e),this.#O(),this.#A())}detach(){this.#e&&(this.#r++,this.#n?.abort(),this.#n=null,this.#e=null,this.#v=!1,this.#t.resolve(),this.#R())}destroy(){this.detach(),super.destroy()}get src(){return this.#i}set src(e){let{engine:t}=this.#f??{},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.#T}async load(){if(!this.#e)return;let e=this.#O();if(await Promise.resolve(),e!==this.#t)return;let t=this.#e;if(!t)return;let n=this.#i?b(this.#i,this.#L()):``;if(n&&t.getAttribute(`src`)===n){this.#g&&e.resolve();return}if(this.#R(),this.dispatchEvent(new Event(`emptied`)),!this.#i){e.resolve(),t.removeAttribute(`src`);return}if(this.dispatchEvent(new Event(`loadstart`)),!n){this.#_=!0,this.#E=new h(`Unrecognized TikTok source: ${this.#i}`,h.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve(),this.#F(`pause`);return}this.#y=y(this.#L())?`parking`:`off`,t.src=n}#O(){return this.#t.resolve(),this.#t=l(),this.#t}get#k(){return!!this.#i&&!this.#_}get paused(){return this.#p}get ended(){return this.#m}get seeking(){return this.#h}async play(){this.#k&&(this.#v=!0,this.#y!==`parking`&&(this.#V(),this.#F(`play`)))}pause(){this.#v=!1,this.#F(`pause`)}get currentTime(){return this.#S}set currentTime(e){this.#S!==e&&(this.#y!==`off`&&(this.#b=e),this.#h=!0,this.#S=e,this.dispatchEvent(new Event(`seeking`)),this.dispatchEvent(new Event(`timeupdate`)),this.#P(()=>{this.#F(`seekTo`,e),this.#y===`parked`&&this.#H()}))}get duration(){return this.#C}get muted(){return this.#w}set muted(e){this.#w!==e&&(this.#w=e,this.#P(()=>this.#F(e?`mute`:`unMute`)))}get autoplay(){return this.#a}set autoplay(e){this.#a=e}get defaultMuted(){return this.#o}set defaultMuted(e){this.#o=e,this.#g||(this.#w=e)}get loop(){return this.#s}set loop(e){this.#s=e}get controls(){return this.#c}set controls(e){this.#c=e}get playsInline(){return this.#l}set playsInline(e){this.#l=e}get preload(){return this.#u}set preload(e){this.#u=e}get poster(){return this.#d}set poster(e){this.#d=e}get source(){return this.#f}set source(e){let t=e??null;if(t===this.#f)return;let n=t?.src??``,r=this.#i!==n,a=!i(this.#f?.engine?.tiktok??null,t?.engine?.tiktok??null);this.#f=t,this.#i=n,(r||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#S>0?c(0,this.#S):m}get seekable(){return this.#C>0&&Number.isFinite(this.#C)?c(0,this.#C):m}get error(){return this.#E}get textTracks(){return p}get isFullscreen(){return this.#D}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#D=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#D=!1}#A(){let e=this.#e;if(!e)return!1;let t=this.#L();if(e.getAttribute(`src`))return this.#y=y(t)?`parking`:`off`,this.dispatchEvent(new Event(`loadstart`)),!0;let n=b(this.#i,t);return n?(this.#y=y(t)?`parking`:`off`,e.src=n,this.dispatchEvent(new Event(`loadstart`)),!0):(this.#t.resolve(),!1)}#j(e){let t=globalThis.window;if(r(t))return;let n=this.#r;this.#n=new AbortController,t.addEventListener(`message`,t=>this.#M(t,e,n),{signal:this.#n.signal})}#M(e,n,r){if(this.#N(r))return;let i=n.contentWindow;if(!i||e.source!==i)return;let a=e.data;if(w(a)&&!this.#_)switch(this.#k&&this.#z(),a.type){case`onPlayerReady`:break;case`onStateChange`:t(a.value)&&this.#G(a.value);break;case`onCurrentTime`:T(a.value)&&this.#K(a.value.currentTime,a.value.duration);break;case`onVolumeChange`:break;case`onMute`:if(this.#y!==`off`)break;this.#w=!!a.value,this.dispatchEvent(new Event(`volumechange`));break;case`onPlayerError`:E(a.value)&&this.#U(a.value);break;case`onError`:this.#W(`TikTok player error; visit https://developers.tiktok.com/doc/embed-player for what the embed supports.`,j(a.value)?a.value:h.MEDIA_ERR_SRC_NOT_SUPPORTED);break;default:break}}#N(e){return e!==this.#r}#P(e){this.#t.then(()=>{this.#e&&d(e)},()=>{})}#F(e,t){let n=this.#e?.contentWindow;n&&n.postMessage(D(e,t),`*`)}get#I(){return this.#o||this.#w}#L(){return{autoplay:this.#a,defaultMuted:this.#I,loop:this.#s,controls:this.#c,preload:this.#u,source:this.#f}}#R(){this.#S=0,this.#C=NaN,this.#w=this.#I,this.#p=!this.#a,this.#m=!1,this.#T=M,this.#h=!1,this.#g=!1,this.#_=!1,this.#x=!1,this.#y=`off`,this.#b=0,this.#E=null,this.#D=!1}#z(){if(!this.#g){this.#g=!0,this.#T=N,this.#w&&this.#F(`mute`),this.#y===`parking`?(this.#F(`pause`),this.#F(`seekTo`,this.#b)):this.#v&&(this.#v=!1,this.#F(`play`));for(let e of[`loadedmetadata`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#t.resolve()}}#B(){this.#y!==`parked`&&(this.#y=`parked`,this.#S=this.#b,this.#p=!0,this.#x=!1,this.#w||this.#F(`unMute`),this.#H(),this.#v&&(this.#v=!1,this.#V(),this.#F(`play`)))}#V(){this.#y===`parked`&&(this.#y=`off`)}#H(){this.#h&&(this.#h=!1,this.dispatchEvent(new Event(`seeked`)))}#U({errorCode:e,errorType:t}){if(e===3002)return;let n=t?` (${t})`:``;this.#W(`TikTok player error ${e}${n}; visit https://developers.tiktok.com/doc/embed-player for what the embed supports.`,A(e))}#W(e,t){this.#E=new h(e,t),this.dispatchEvent(new Event(`error`)),this.#t.resolve()}#G(e){let t=e=>this.dispatchEvent(new Event(e));if(this.#y!==`off`){e===1||e===3?this.#F(`pause`):(e===2||e===0)&&this.#B();return}(e===1||e===3)&&(this.#x||(this.#x=!0,this.#p=!1,this.#m=!1,t(`play`))),e===3?t(`waiting`):e===1?(this.#T=P,this.#p=!1,t(`playing`)):e===2?(this.#x=!1,this.#p=!0,t(`pause`)):e===0?(this.#x=!1,this.#p=!0,t(`pause`),this.#m=!0,t(`ended`),this.#s&&this.play()):e===-1&&(this.#x=!1,this.#p=!0)}#K(e,n){this.#y===`off`&&(e!==this.#S&&(this.#S=e,this.dispatchEvent(new Event(`timeupdate`))),this.#h&&(this.#h=!1,this.dispatchEvent(new Event(`seeked`)))),t(n)&&n>0&&n!==this.#C&&(this.#C=n,this.dispatchEvent(new Event(`durationchange`)))}};function A(e){return e>=2e3&&e<3e3?h.MEDIA_ERR_NETWORK:e>=3e3&&e<4e3?h.MEDIA_ERR_DECODE:h.MEDIA_ERR_SRC_NOT_SUPPORTED}function j(e){return t(e)&&e>=h.MEDIA_ERR_ABORTED&&e<=h.MEDIA_ERR_ENCRYPTED}const M=0,N=1,P=3;var F=class extends a(`iframe`,k){static{this.getTemplateHTML=e=>{let t=b(e.src??``,I(e));return`<style> :host { display: inline-block; /* TikTok videos are portrait, and the player refuses to draw its chrome below 325x578, so that is where this host starts rather than the 300x150 the landscape embeds use. */ min-width: 325px; min-height: 578px; position: relative; } iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } /* A cross-origin frame swallows every pointer event, so the skin above it never sees the hover that reveals the controls. Kept out of hit-testing except where the host leaves TikTok's player dormant, which is the same pair of cases shouldBootstrapTikTokEmbed opts out of: then the frame's own controls are the only thing that can still start it. */ :host(:not([controls]):not([preload="none"])) { pointer-events: none; } </style><iframe part="iframe" title="TikTok video player" ${t?` src="${o(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${o(e.referrerpolicy??``)}" ></iframe>`}}};function I(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}}var L=class extends g(F){},R=class extends L{static{this.tagName=`tiktok-video`}};s(R);export{R as TikTokVideoElement};
1
+ import{l as e,o as t,s as n,u as r}from"../predicate-LbFu-fPH.js";import{t as i}from"../deep-equal-CcwdHo6t.js";import{t as a}from"../custom-media-element-8pSkwn42.js";import{a as o}from"../attributes-CwICYz98.js";import{i as s}from"../context-C2rsoDxk.js";import{n as c,r as l}from"../constants-B4LD5zrj.js";import{t as u}from"../media-error-CtsbOTR1.js";import{n as d,r as f,t as p}from"../media-played-ranges-CM2zeOGr.js";import{n as m,t as h}from"../embed-params-D2e8u0d4.js";import{t as g}from"../media-attach-mixin-Igi3-1UG.js";const _={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function v(e){if(!e)return null;if(S.test(e))return{id:e};let t=C.exec(e)?.[1];return t?{id:t}:null}function y(e={}){return!e.autoplay&&e.preload!==`none`&&e.controls!==!0}function b(e,t={}){let n=v(e);if(!n)return``;let{referrerPolicy:r,...i}=t.source?.engine?.tiktok??{},a={controls:t.controls===!0?null:0,autoplay:t.autoplay||y(t)||null,muted:t.defaultMuted||null,loop:t.loop||null,rel:0,...i};return`${x}/${n.id}?${h(a)}`}const x=`https://www.tiktok.com/player/v1`,S=/^\d+$/,C=/tiktok\.com\/(?:player\/v1\/|share\/video\/|@[^/]+\/video\/)(\d+)/;function w(t){if(!n(t))return!1;let r=t;return!!r[`x-tiktok-player`]&&e(r.type)}function T(e){return n(e)&&t(e.currentTime)}function E(e){return n(e)&&t(e.errorCode)}function D(e,n){return{"x-tiktok-player":!0,type:e,...t(n)&&{value:n}}}const O=p(EventTarget);var k=class extends O{#e=null;#t=f();#n=null;#r=0;#i=_.src;#a=_.autoplay;#o=_.defaultMuted;#s=_.loop;#c=_.controls;#l=_.playsInline;#u=_.preload;#d=_.poster;#f=_.source;#p=!0;#m=!1;#h=!1;#g=!1;#_=!1;#v=!1;#y=`off`;#b=0;#x=!1;#S=0;#C=NaN;#w=!1;#T=M;#E=null;#D=!1;static PLAYER_SOFTWARE_NAME=`tiktok-video`;get engine(){return this.#e?.contentWindow??null}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#j(e),this.#O(),this.#A())}detach(){this.#e&&(this.#r++,this.#n?.abort(),this.#n=null,this.#e=null,this.#v=!1,this.#t.resolve(),this.#R())}destroy(){this.detach(),super.destroy()}get src(){return this.#i}set src(e){let{engine:t}=this.#f??{},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.#T}async load(){if(!this.#e)return;let e=this.#O();if(await Promise.resolve(),e!==this.#t)return;let t=this.#e;if(!t)return;let n=this.#i?b(this.#i,this.#L()):``;if(n&&t.getAttribute(`src`)===n){this.#g&&e.resolve();return}if(this.#R(),this.dispatchEvent(new Event(`emptied`)),!this.#i){e.resolve(),t.removeAttribute(`src`);return}if(this.dispatchEvent(new Event(`loadstart`)),!n){this.#_=!0,this.#E=new u(`Unrecognized TikTok source: ${this.#i}`,u.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve(),this.#F(`pause`);return}this.#y=y(this.#L())?`parking`:`off`,t.src=n}#O(){return this.#t.resolve(),this.#t=f(),this.#t}get#k(){return!!this.#i&&!this.#_}get paused(){return this.#p}get ended(){return this.#m}get seeking(){return this.#h}async play(){this.#k&&(this.#v=!0,this.#y!==`parking`&&(this.#V(),this.#F(`play`)))}pause(){this.#v=!1,this.#F(`pause`)}get currentTime(){return this.#S}set currentTime(e){this.#S!==e&&(this.#y!==`off`&&(this.#b=e),this.#h=!0,this.#S=e,this.dispatchEvent(new Event(`seeking`)),this.dispatchEvent(new Event(`timeupdate`)),this.#P(()=>{this.#F(`seekTo`,e),this.#y===`parked`&&this.#H()}))}get duration(){return this.#C}get muted(){return this.#w}set muted(e){this.#w!==e&&(this.#w=e,this.#P(()=>this.#F(e?`mute`:`unMute`)))}get autoplay(){return this.#a}set autoplay(e){this.#a=e}get defaultMuted(){return this.#o}set defaultMuted(e){this.#o=e,this.#g||(this.#w=e)}get loop(){return this.#s}set loop(e){this.#s=e}get controls(){return this.#c}set controls(e){this.#c=e}get playsInline(){return this.#l}set playsInline(e){this.#l=e}get preload(){return this.#u}set preload(e){this.#u=e}get poster(){return this.#d}set poster(e){this.#d=e}get source(){return this.#f}set source(e){let t=e??null;if(t===this.#f)return;let n=t?.src??``,r=this.#i!==n,a=!i(this.#f?.engine?.tiktok??null,t?.engine?.tiktok??null);this.#f=t,this.#i=n,(r||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#S>0?d(0,this.#S):l}get seekable(){return this.#C>0&&Number.isFinite(this.#C)?d(0,this.#C):l}get error(){return this.#E}get textTracks(){return c}get isFullscreen(){return this.#D}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#D=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#D=!1}#A(){let e=this.#e;if(!e)return!1;let t=this.#L();if(e.getAttribute(`src`))return this.#y=y(t)?`parking`:`off`,this.dispatchEvent(new Event(`loadstart`)),!0;let n=b(this.#i,t);return n?(this.#y=y(t)?`parking`:`off`,e.src=n,this.dispatchEvent(new Event(`loadstart`)),!0):(this.#t.resolve(),!1)}#j(e){let t=globalThis.window;if(r(t))return;let n=this.#r;this.#n=new AbortController,t.addEventListener(`message`,t=>this.#M(t,e,n),{signal:this.#n.signal})}#M(e,n,r){if(this.#N(r))return;let i=n.contentWindow;if(!i||e.source!==i)return;let a=e.data;if(w(a)&&!this.#_)switch(this.#k&&this.#z(),a.type){case`onPlayerReady`:break;case`onStateChange`:t(a.value)&&this.#G(a.value);break;case`onCurrentTime`:T(a.value)&&this.#K(a.value.currentTime,a.value.duration);break;case`onVolumeChange`:break;case`onMute`:if(this.#y!==`off`)break;this.#w=!!a.value,this.dispatchEvent(new Event(`volumechange`));break;case`onPlayerError`:E(a.value)&&this.#U(a.value);break;case`onError`:this.#W(`TikTok player error; visit https://developers.tiktok.com/doc/embed-player for what the embed supports.`,j(a.value)?a.value:u.MEDIA_ERR_SRC_NOT_SUPPORTED);break;default:break}}#N(e){return e!==this.#r}#P(e){this.#t.then(()=>{this.#e&&m(e)},()=>{})}#F(e,t){let n=this.#e?.contentWindow;n&&n.postMessage(D(e,t),`*`)}get#I(){return this.#o||this.#w}#L(){return{autoplay:this.#a,defaultMuted:this.#I,loop:this.#s,controls:this.#c,preload:this.#u,source:this.#f}}#R(){this.#S=0,this.#C=NaN,this.#w=this.#I,this.#p=!this.#a,this.#m=!1,this.#T=M,this.#h=!1,this.#g=!1,this.#_=!1,this.#x=!1,this.#y=`off`,this.#b=0,this.#E=null,this.#D=!1}#z(){if(!this.#g){this.#g=!0,this.#T=N,this.#w&&this.#F(`mute`),this.#y===`parking`?(this.#F(`pause`),this.#F(`seekTo`,this.#b)):this.#v&&(this.#v=!1,this.#F(`play`));for(let e of[`loadedmetadata`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#t.resolve()}}#B(){this.#y!==`parked`&&(this.#y=`parked`,this.#S=this.#b,this.#p=!0,this.#x=!1,this.#w||this.#F(`unMute`),this.#H(),this.#v&&(this.#v=!1,this.#V(),this.#F(`play`)))}#V(){this.#y===`parked`&&(this.#y=`off`)}#H(){this.#h&&(this.#h=!1,this.dispatchEvent(new Event(`seeked`)))}#U({errorCode:e,errorType:t}){if(e===3002)return;let n=t?` (${t})`:``;this.#W(`TikTok player error ${e}${n}; visit https://developers.tiktok.com/doc/embed-player for what the embed supports.`,A(e))}#W(e,t){this.#E=new u(e,t),this.dispatchEvent(new Event(`error`)),this.#t.resolve()}#G(e){let t=e=>this.dispatchEvent(new Event(e));if(this.#y!==`off`){e===1||e===3?this.#F(`pause`):(e===2||e===0)&&this.#B();return}(e===1||e===3)&&(this.#x||(this.#x=!0,this.#p=!1,this.#m=!1,t(`play`))),e===3?t(`waiting`):e===1?(this.#T=P,this.#p=!1,t(`playing`)):e===2?(this.#x=!1,this.#p=!0,t(`pause`)):e===0?(this.#x=!1,this.#p=!0,t(`pause`),this.#m=!0,t(`ended`),this.#s&&this.play()):e===-1&&(this.#x=!1,this.#p=!0)}#K(e,n){this.#y===`off`&&(e!==this.#S&&(this.#S=e,this.dispatchEvent(new Event(`timeupdate`))),this.#h&&(this.#h=!1,this.dispatchEvent(new Event(`seeked`)))),t(n)&&n>0&&n!==this.#C&&(this.#C=n,this.dispatchEvent(new Event(`durationchange`)))}};function A(e){return e>=2e3&&e<3e3?u.MEDIA_ERR_NETWORK:e>=3e3&&e<4e3?u.MEDIA_ERR_DECODE:u.MEDIA_ERR_SRC_NOT_SUPPORTED}function j(e){return t(e)&&e>=u.MEDIA_ERR_ABORTED&&e<=u.MEDIA_ERR_ENCRYPTED}const M=0,N=1,P=3;var F=class extends a(`iframe`,k){static{this.getTemplateHTML=e=>{let t=b(e.src??``,I(e));return`<style> :host { display: inline-block; /* TikTok videos are portrait, and the player refuses to draw its chrome below 325x578, so that is where this host starts rather than the 300x150 the landscape embeds use. */ min-width: 325px; min-height: 578px; position: relative; } iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } /* A cross-origin frame swallows every pointer event, so the skin above it never sees the hover that reveals the controls. Kept out of hit-testing except where the host leaves TikTok's player dormant, which is the same pair of cases shouldBootstrapTikTokEmbed opts out of: then the frame's own controls are the only thing that can still start it. */ :host(:not([controls]):not([preload="none"])) { pointer-events: none; } </style><iframe part="iframe" title="TikTok video player" ${t?` src="${o(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${o(e.referrerpolicy??``)}" ></iframe>`}}};function I(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}}var L=class extends g(F){},R=class extends L{static{this.tagName=`tiktok-video`}};s(R);export{R as TikTokVideoElement};
2
2
  //# sourceMappingURL=tiktok-video.js.map
@@ -3,9 +3,9 @@ import { t as deepEqual } from "../deep-equal-DOfcXiSw.js";
3
3
  import { t as CustomMediaElement } from "../custom-media-element-D2JoODKd.js";
4
4
  import { a as escapeHtml } from "../attributes-c6az3W3y.js";
5
5
  import { i as safeDefine } from "../context-OhQY847V.js";
6
- import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
7
6
  import { n as EMPTY_TEXT_TRACKS, r as EMPTY_TIME_RANGES } from "../constants-CsSwyIX6.js";
8
7
  import { t as MediaError } from "../media-error-zO-Hg4un.js";
8
+ import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
9
9
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
10
10
 
11
11
  //#region ../media/dist/dev/dom/twitch/props.js
@@ -1,2 +1,2 @@
1
- import{i as e,l as t,o as n,s as r,u as i}from"../predicate-LbFu-fPH.js";import{t as a}from"../deep-equal-CcwdHo6t.js";import{t as o}from"../custom-media-element-8pSkwn42.js";import{a as s}from"../attributes-CwICYz98.js";import{i as c}from"../context-C2rsoDxk.js";import{n as l,r as u,t as d}from"../media-played-ranges-CM2zeOGr.js";import{n as f,r as p}from"../constants-B4LD5zrj.js";import{t as m}from"../media-error-CtsbOTR1.js";import{t as h}from"../media-attach-mixin-Igi3-1UG.js";const g={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null},_=`https://player.twitch.tv`;function v(e){if(!r(e))return!1;let{namespace:n,eventName:i}=e;return t(i)&&(n===`twitch-embed`||n===`twitch-embed-player-proxy`)}function y(e){if(!e)return null;let t=S.exec(e)?.[1];if(t)return{kind:`video`,id:t,channel:null};let n=C.exec(e)?.[1];return n?{kind:`channel`,id:null,channel:n}:null}function b(t,n={}){let r=y(t);if(!r)return``;let{parent:i,referrerPolicy:a,...o}=n.source?.engine?.twitch??{},s={...r.kind===`video`?{video:`v${r.id}`}:{channel:r.channel},controls:n.controls===!0&&null,autoplay:n.autoplay===!0&&null,muted:n.defaultMuted??g.defaultMuted,preload:n.preload??g.preload,...o},c=new URLSearchParams;for(let t in s){let n=s[t];e(n)||n===``||c.set(t,String(n))}for(let e of x(i))c.append(`parent`,e);return`${_}/?${c.toString()}`}function x(e){let n=[...t(e)?[e]:e??[],globalThis.location?.hostname];return[...new Set(n.filter(e=>t(e)&&e!==``))]}const S=/(?:^|\/\/)(?:www\.|go\.)?twitch\.tv\/(?:videos?\/|\?video=)(\d+)\/?(?:$|\?)/,C=/(?:^|\/\/)(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)\/?(?:$|\?)/,w=d(EventTarget);var T=class extends w{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=u();#o=0;#s=``;#c=g.src;#l=g.autoplay;#u=g.defaultMuted;#d=g.loop;#f=g.controls;#p=g.playsInline;#m=g.preload;#h=g.poster;#g=g.source;#_=null;#v=null;#y=!0;#b=!1;#x=!1;#S=0;#C=NaN;#w=1;#T=!1;#E=1;#D=0;#O=A;#k=null;#A=!1;static PLAYER_SOFTWARE_NAME=`twitch-video`;get engine(){return this.#t?this.#e?.contentWindow??null:null}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#j(),this.#M())}detach(){this.#e&&(this.#o++,this.#t?.abort(),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#s=``,this.#e=null,this.#a.resolve(),this.#L())}destroy(){this.detach(),super.destroy()}get src(){return this.#c}set src(e){let{engine:t}=this.#g??{},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.#O}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t){let e=this.#j();if(await Promise.resolve(),e!==this.#a)return;this.#r=!1,this.#M()}return}let e=this.#j();if(this.#L(),this.dispatchEvent(new Event(`emptied`)),!this.#c){e.resolve(),this.#F(2);return}this.dispatchEvent(new Event(`loadstart`));let t=y(this.#c);if(!t){this.#k=new m(`Unrecognized Twitch source: ${this.#c}`,m.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve();return}this.#_=t.kind;let n=b(this.#c,this.#I());if(E(this.#s,n)){this.#s=n,t.kind===`video`?this.#F(9,`v${t.id}`):this.#F(5,t.channel);return}this.#s=n,this.#n=!1,this.#i=!0,this.#e&&(this.#e.src=n)}#j(){return this.#a.resolve(),this.#a=u(),this.#a}get paused(){return this.#v?this.#v!==`Playing`&&this.#v!==`Buffering`:this.#y}get ended(){return this.#_!==`channel`&&this.#v===`Ended`}get seeking(){return this.#b}async play(){await this.#a,this.#c&&(this.#y=!1,this.#F(3))}pause(){this.#y=!0,this.#F(2)}get currentTime(){return this.#S}set currentTime(e){this.#S!==e&&(this.#S=e,this.#P(()=>this.#F(4,e)))}get duration(){return this.#C}get volume(){return this.#w}set volume(e){this.#w!==e&&(this.#w=e,this.dispatchEvent(new Event(`volumechange`)),this.#P(()=>this.#F(11,e)))}get muted(){return this.#T}set muted(e){this.#T!==e&&(this.#T=e,this.dispatchEvent(new Event(`volumechange`)),this.#P(()=>this.#F(10,e)))}get playbackRate(){return this.#E}set playbackRate(e){this.#E=e}get autoplay(){return this.#l}set autoplay(e){this.#l=e}get defaultMuted(){return this.#u}set defaultMuted(e){this.#u=e}get loop(){return this.#d}set loop(e){this.#d=e}get controls(){return this.#f}set controls(e){this.#f=e}get playsInline(){return this.#p}set playsInline(e){this.#p=e}get preload(){return this.#m}set preload(e){this.#m=e}get poster(){return this.#h}set poster(e){this.#h=e}get source(){return this.#g}set source(e){let t=e??null;if(t===this.#g)return;let n=t?.src??``,r=this.#c!==n,i=!a(this.#g?.engine?.twitch??null,t?.engine?.twitch??null);this.#g=t,this.#c=n,(r||i)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#D>0?l(this.#S,this.#S+this.#D):p}get seekable(){return this.#C>0&&Number.isFinite(this.#C)?l(0,this.#C):p}get error(){return this.#k}get textTracks(){return f}get isFullscreen(){return this.#A}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#A=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#A=!1}#M(){let e=this.#e;if(!e||this.#t)return!1;let t=e.getAttribute(`src`);if(t){let n=D(t);n!==t&&(e.src=n)}else{let t=b(this.#c,this.#I());if(!t)return this.#a.resolve(),!1;e.src=t}this.#_=y(this.#c)?.kind??null,this.#s=e.getAttribute(`src`)??``;let n=this.#o;return this.#t=new AbortController,globalThis.addEventListener(`message`,e=>void this.#R(e,n),{signal:this.#t.signal}),this.dispatchEvent(new Event(`loadstart`)),!0}#N(e){return e!==this.#o}#P(e){this.#a.then(()=>{this.#t&&e()},()=>{})}#F(e,t){let n=this.#e?.contentWindow;if(!n)return;let r={namespace:`twitch-embed-player-proxy`,eventName:e,params:t};n.postMessage(r,_)}#I(){return{autoplay:this.#l,defaultMuted:this.#u,loop:this.#d,controls:this.#f,playsInline:this.#p,preload:this.#m||g.preload,source:this.#g}}#L(){this.#_=null,this.#v=null,this.#S=0,this.#C=NaN,this.#T=!1,this.#y=!this.#l,this.#E=1,this.#D=0,this.#O=A,this.#b=!1,this.#x=!1,this.#w=1,this.#k=null,this.#A=!1}async#R(e,t){if(this.#N(t))return;let n=this.#e?.contentWindow;if(!n||e.source!==n)return;let{data:r}=e;if(v(r)){if(r.namespace===`twitch-embed`){if(await new Promise(e=>setTimeout(e,k)),this.#N(t))return;this.#z(r.eventName);return}r.eventName===`UPDATE_STATE`&&this.#B(r.params??{})}}#z(e){if(!(e!==`ready`&&!this.#c))switch(e){case`ready`:if(this.#n=!0,this.#i=!1,this.#r){this.#r=!1,this.load();return}this.#V();return;case`seek`:this.#b=!0,this.dispatchEvent(new Event(`seeking`));return;case`playing`:this.#b&&(this.#b=!1,this.dispatchEvent(new Event(`seeked`))),this.#O=M,this.dispatchEvent(new Event(`playing`));return;case`ended`:this.dispatchEvent(new Event(`ended`)),this.#d&&(this.currentTime=0,this.play());return;default:this.dispatchEvent(new Event(e))}}#B(e){if(this.#i||!this.#c)return;this.#n&&!this.#x&&this.#V(),e.playback&&e.playback!==this.#v&&(e.playback===`Buffering`&&this.dispatchEvent(new Event(`waiting`)),this.#v=e.playback),this.#_!==`channel`&&n(e.duration)&&e.duration!==this.#C&&(this.#C=e.duration,this.dispatchEvent(new Event(`durationchange`))),n(e.currentTime)&&e.currentTime!==this.#S&&(this.#S=e.currentTime,this.dispatchEvent(new Event(`timeupdate`)));let t=n(e.volume)&&e.volume!==this.#w,r=!i(e.muted)&&e.muted!==this.#T;(t||r)&&(n(e.volume)&&(this.#w=e.volume),i(e.muted)||(this.#T=e.muted),this.dispatchEvent(new Event(`volumechange`)));let a=e.stats?.videoStats?.bufferSize;n(a)&&a!==this.#D&&(this.#D=a,this.#O>=M&&a>0&&(this.#O=N),this.dispatchEvent(new Event(`progress`)))}#V(){this.#x||(this.#x=!0,this.#O=j,this.dispatchEvent(new Event(`loadedmetadata`)),this.#_===`channel`&&(this.#C=1/0,this.dispatchEvent(new Event(`durationchange`))),this.dispatchEvent(new Event(`loadcomplete`)),this.#a.resolve())}};function E(e,t){let n=O(e),r=O(t);return n!==null&&n===r}function D(e){let t=globalThis.location?.hostname;if(!t)return e;let n;try{n=new URL(e)}catch{return e}return n.origin!==`https://player.twitch.tv`||n.searchParams.getAll(`parent`).includes(t)?e:(n.searchParams.append(`parent`,t),n.toString())}function O(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete(`video`),t.searchParams.delete(`channel`),t.toString()}catch{return null}}const k=10,A=0,j=1,M=3,N=4;var P=class extends o(`iframe`,T){static{this.getTemplateHTML=e=>{let t=b(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="${s(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;" sandbox="allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox" scrolling="no" frameborder="0" width="100%" height="100%" referrerpolicy="${s(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,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var I=class extends h(P){},L=class extends I{static{this.tagName=`twitch-video`}};c(L);export{L as TwitchVideoElement};
1
+ import{i as e,l as t,o as n,s as r,u as i}from"../predicate-LbFu-fPH.js";import{t as a}from"../deep-equal-CcwdHo6t.js";import{t as o}from"../custom-media-element-8pSkwn42.js";import{a as s}from"../attributes-CwICYz98.js";import{i as c}from"../context-C2rsoDxk.js";import{n as l,r as u}from"../constants-B4LD5zrj.js";import{t as d}from"../media-error-CtsbOTR1.js";import{n as f,r as p,t as m}from"../media-played-ranges-CM2zeOGr.js";import{t as h}from"../media-attach-mixin-Igi3-1UG.js";const g={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null},_=`https://player.twitch.tv`;function v(e){if(!r(e))return!1;let{namespace:n,eventName:i}=e;return t(i)&&(n===`twitch-embed`||n===`twitch-embed-player-proxy`)}function y(e){if(!e)return null;let t=S.exec(e)?.[1];if(t)return{kind:`video`,id:t,channel:null};let n=C.exec(e)?.[1];return n?{kind:`channel`,id:null,channel:n}:null}function b(t,n={}){let r=y(t);if(!r)return``;let{parent:i,referrerPolicy:a,...o}=n.source?.engine?.twitch??{},s={...r.kind===`video`?{video:`v${r.id}`}:{channel:r.channel},controls:n.controls===!0&&null,autoplay:n.autoplay===!0&&null,muted:n.defaultMuted??g.defaultMuted,preload:n.preload??g.preload,...o},c=new URLSearchParams;for(let t in s){let n=s[t];e(n)||n===``||c.set(t,String(n))}for(let e of x(i))c.append(`parent`,e);return`${_}/?${c.toString()}`}function x(e){let n=[...t(e)?[e]:e??[],globalThis.location?.hostname];return[...new Set(n.filter(e=>t(e)&&e!==``))]}const S=/(?:^|\/\/)(?:www\.|go\.)?twitch\.tv\/(?:videos?\/|\?video=)(\d+)\/?(?:$|\?)/,C=/(?:^|\/\/)(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)\/?(?:$|\?)/,w=m(EventTarget);var T=class extends w{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=p();#o=0;#s=``;#c=g.src;#l=g.autoplay;#u=g.defaultMuted;#d=g.loop;#f=g.controls;#p=g.playsInline;#m=g.preload;#h=g.poster;#g=g.source;#_=null;#v=null;#y=!0;#b=!1;#x=!1;#S=0;#C=NaN;#w=1;#T=!1;#E=1;#D=0;#O=A;#k=null;#A=!1;static PLAYER_SOFTWARE_NAME=`twitch-video`;get engine(){return this.#t?this.#e?.contentWindow??null:null}get target(){return this.#e}attach(e){!e||this.#e===e||(this.#e&&this.detach(),this.#e=e,this.#j(),this.#M())}detach(){this.#e&&(this.#o++,this.#t?.abort(),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#s=``,this.#e=null,this.#a.resolve(),this.#L())}destroy(){this.detach(),super.destroy()}get src(){return this.#c}set src(e){let{engine:t}=this.#g??{},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.#O}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t){let e=this.#j();if(await Promise.resolve(),e!==this.#a)return;this.#r=!1,this.#M()}return}let e=this.#j();if(this.#L(),this.dispatchEvent(new Event(`emptied`)),!this.#c){e.resolve(),this.#F(2);return}this.dispatchEvent(new Event(`loadstart`));let t=y(this.#c);if(!t){this.#k=new d(`Unrecognized Twitch source: ${this.#c}`,d.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve();return}this.#_=t.kind;let n=b(this.#c,this.#I());if(E(this.#s,n)){this.#s=n,t.kind===`video`?this.#F(9,`v${t.id}`):this.#F(5,t.channel);return}this.#s=n,this.#n=!1,this.#i=!0,this.#e&&(this.#e.src=n)}#j(){return this.#a.resolve(),this.#a=p(),this.#a}get paused(){return this.#v?this.#v!==`Playing`&&this.#v!==`Buffering`:this.#y}get ended(){return this.#_!==`channel`&&this.#v===`Ended`}get seeking(){return this.#b}async play(){await this.#a,this.#c&&(this.#y=!1,this.#F(3))}pause(){this.#y=!0,this.#F(2)}get currentTime(){return this.#S}set currentTime(e){this.#S!==e&&(this.#S=e,this.#P(()=>this.#F(4,e)))}get duration(){return this.#C}get volume(){return this.#w}set volume(e){this.#w!==e&&(this.#w=e,this.dispatchEvent(new Event(`volumechange`)),this.#P(()=>this.#F(11,e)))}get muted(){return this.#T}set muted(e){this.#T!==e&&(this.#T=e,this.dispatchEvent(new Event(`volumechange`)),this.#P(()=>this.#F(10,e)))}get playbackRate(){return this.#E}set playbackRate(e){this.#E=e}get autoplay(){return this.#l}set autoplay(e){this.#l=e}get defaultMuted(){return this.#u}set defaultMuted(e){this.#u=e}get loop(){return this.#d}set loop(e){this.#d=e}get controls(){return this.#f}set controls(e){this.#f=e}get playsInline(){return this.#p}set playsInline(e){this.#p=e}get preload(){return this.#m}set preload(e){this.#m=e}get poster(){return this.#h}set poster(e){this.#h=e}get source(){return this.#g}set source(e){let t=e??null;if(t===this.#g)return;let n=t?.src??``,r=this.#c!==n,i=!a(this.#g?.engine?.twitch??null,t?.engine?.twitch??null);this.#g=t,this.#c=n,(r||i)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#D>0?f(this.#S,this.#S+this.#D):u}get seekable(){return this.#C>0&&Number.isFinite(this.#C)?f(0,this.#C):u}get error(){return this.#k}get textTracks(){return l}get isFullscreen(){return this.#A}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#A=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#A=!1}#M(){let e=this.#e;if(!e||this.#t)return!1;let t=e.getAttribute(`src`);if(t){let n=D(t);n!==t&&(e.src=n)}else{let t=b(this.#c,this.#I());if(!t)return this.#a.resolve(),!1;e.src=t}this.#_=y(this.#c)?.kind??null,this.#s=e.getAttribute(`src`)??``;let n=this.#o;return this.#t=new AbortController,globalThis.addEventListener(`message`,e=>void this.#R(e,n),{signal:this.#t.signal}),this.dispatchEvent(new Event(`loadstart`)),!0}#N(e){return e!==this.#o}#P(e){this.#a.then(()=>{this.#t&&e()},()=>{})}#F(e,t){let n=this.#e?.contentWindow;if(!n)return;let r={namespace:`twitch-embed-player-proxy`,eventName:e,params:t};n.postMessage(r,_)}#I(){return{autoplay:this.#l,defaultMuted:this.#u,loop:this.#d,controls:this.#f,playsInline:this.#p,preload:this.#m||g.preload,source:this.#g}}#L(){this.#_=null,this.#v=null,this.#S=0,this.#C=NaN,this.#T=!1,this.#y=!this.#l,this.#E=1,this.#D=0,this.#O=A,this.#b=!1,this.#x=!1,this.#w=1,this.#k=null,this.#A=!1}async#R(e,t){if(this.#N(t))return;let n=this.#e?.contentWindow;if(!n||e.source!==n)return;let{data:r}=e;if(v(r)){if(r.namespace===`twitch-embed`){if(await new Promise(e=>setTimeout(e,k)),this.#N(t))return;this.#z(r.eventName);return}r.eventName===`UPDATE_STATE`&&this.#B(r.params??{})}}#z(e){if(!(e!==`ready`&&!this.#c))switch(e){case`ready`:if(this.#n=!0,this.#i=!1,this.#r){this.#r=!1,this.load();return}this.#V();return;case`seek`:this.#b=!0,this.dispatchEvent(new Event(`seeking`));return;case`playing`:this.#b&&(this.#b=!1,this.dispatchEvent(new Event(`seeked`))),this.#O=M,this.dispatchEvent(new Event(`playing`));return;case`ended`:this.dispatchEvent(new Event(`ended`)),this.#d&&(this.currentTime=0,this.play());return;default:this.dispatchEvent(new Event(e))}}#B(e){if(this.#i||!this.#c)return;this.#n&&!this.#x&&this.#V(),e.playback&&e.playback!==this.#v&&(e.playback===`Buffering`&&this.dispatchEvent(new Event(`waiting`)),this.#v=e.playback),this.#_!==`channel`&&n(e.duration)&&e.duration!==this.#C&&(this.#C=e.duration,this.dispatchEvent(new Event(`durationchange`))),n(e.currentTime)&&e.currentTime!==this.#S&&(this.#S=e.currentTime,this.dispatchEvent(new Event(`timeupdate`)));let t=n(e.volume)&&e.volume!==this.#w,r=!i(e.muted)&&e.muted!==this.#T;(t||r)&&(n(e.volume)&&(this.#w=e.volume),i(e.muted)||(this.#T=e.muted),this.dispatchEvent(new Event(`volumechange`)));let a=e.stats?.videoStats?.bufferSize;n(a)&&a!==this.#D&&(this.#D=a,this.#O>=M&&a>0&&(this.#O=N),this.dispatchEvent(new Event(`progress`)))}#V(){this.#x||(this.#x=!0,this.#O=j,this.dispatchEvent(new Event(`loadedmetadata`)),this.#_===`channel`&&(this.#C=1/0,this.dispatchEvent(new Event(`durationchange`))),this.dispatchEvent(new Event(`loadcomplete`)),this.#a.resolve())}};function E(e,t){let n=O(e),r=O(t);return n!==null&&n===r}function D(e){let t=globalThis.location?.hostname;if(!t)return e;let n;try{n=new URL(e)}catch{return e}return n.origin!==`https://player.twitch.tv`||n.searchParams.getAll(`parent`).includes(t)?e:(n.searchParams.append(`parent`,t),n.toString())}function O(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete(`video`),t.searchParams.delete(`channel`),t.toString()}catch{return null}}const k=10,A=0,j=1,M=3,N=4;var P=class extends o(`iframe`,T){static{this.getTemplateHTML=e=>{let t=b(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="${s(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;" sandbox="allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox" scrolling="no" frameborder="0" width="100%" height="100%" referrerpolicy="${s(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,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var I=class extends h(P){},L=class extends I{static{this.tagName=`twitch-video`}};c(L);export{L as TwitchVideoElement};
2
2
  //# sourceMappingURL=twitch-video.js.map
@@ -3,10 +3,10 @@ import { t as deepEqual } from "../deep-equal-DOfcXiSw.js";
3
3
  import { t as CustomMediaElement } from "../custom-media-element-D2JoODKd.js";
4
4
  import { a as escapeHtml } from "../attributes-c6az3W3y.js";
5
5
  import { i as safeDefine } from "../context-OhQY847V.js";
6
- import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
7
- import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
8
6
  import { n as EMPTY_TEXT_TRACKS, r as EMPTY_TIME_RANGES } from "../constants-CsSwyIX6.js";
9
7
  import { t as MediaError } from "../media-error-zO-Hg4un.js";
8
+ import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
9
+ import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
10
10
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
11
11
 
12
12
  //#region ../../node_modules/.pnpm/@vimeo+player@2.30.4/node_modules/@vimeo/player/dist/player.es.js
@@ -1,4 +1,4 @@
1
- import{a as e,l as t,u as n}from"../predicate-LbFu-fPH.js";import{t as r}from"../deep-equal-CcwdHo6t.js";import{t as i}from"../custom-media-element-8pSkwn42.js";import{a}from"../attributes-CwICYz98.js";import{i as o}from"../context-C2rsoDxk.js";import{n as s,r as c,t as l}from"../media-played-ranges-CM2zeOGr.js";import{n as u,t as d}from"../embed-params-D2e8u0d4.js";import{n as f,r as p}from"../constants-B4LD5zrj.js";import{t as m}from"../media-error-CtsbOTR1.js";import{t as h}from"../media-attach-mixin-Igi3-1UG.js";
1
+ import{a as e,l as t,u as n}from"../predicate-LbFu-fPH.js";import{t as r}from"../deep-equal-CcwdHo6t.js";import{t as i}from"../custom-media-element-8pSkwn42.js";import{a}from"../attributes-CwICYz98.js";import{i as o}from"../context-C2rsoDxk.js";import{n as s,r as c}from"../constants-B4LD5zrj.js";import{t as l}from"../media-error-CtsbOTR1.js";import{n as u,r as d,t as f}from"../media-played-ranges-CM2zeOGr.js";import{n as p,t as m}from"../embed-params-D2e8u0d4.js";import{t as h}from"../media-attach-mixin-Igi3-1UG.js";
2
2
  /*! @vimeo/player v2.30.4 | (c) 2026 Vimeo | MIT License | https://github.com/vimeo/player.js */
3
3
  const ee=typeof global<`u`&&{}.toString.call(global)===`[object global]`,te=typeof Bun<`u`,ne=typeof Deno<`u`,re=typeof WebSocketPair==`function`&&caches?.default!==void 0,g=ee||te||ne||re;function _(e,t){return e.indexOf(t.toLowerCase())===0?e:`${t.toLowerCase()}${e.substr(0,1).toUpperCase()}${e.substr(1)}`}function ie(e){return!!(e&&e.nodeType===1&&`nodeName`in e&&e.ownerDocument&&e.ownerDocument.defaultView)}function v(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}function y(e){return/^(https?:)?\/\/((((player|www)\.)?vimeo\.com)|((player\.)?[a-zA-Z0-9-]+\.(videoji\.(hk|cn)|vimeo\.work)))(?=$|\/)/.test(e)}function b(e){return/^https:\/\/player\.((vimeo\.com)|([a-zA-Z0-9-]+\.(videoji\.(hk|cn)|vimeo\.work)))\/video\/\d+/.test(e)}function ae(e){let t=(e||``).match(/^(?:https?:)?(?:\/\/)?([^/?]+)/),n=(t&&t[1]||``).replace(`player.`,``);for(let e of[`.videoji.hk`,`.vimeo.work`,`.videoji.cn`])if(n.endsWith(e))return n;return`vimeo.com`}function x(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.id,n=e.url,r=t||n;if(!r)throw Error(`An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.`);if(v(r))return`https://vimeo.com/${r}`;if(y(r))return r.replace(`http:`,`https:`);throw TypeError(t?`“${t}” is not a valid video id.`:`“${r}” is not a vimeo.com url.`)}const S=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`addEventListener`,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`removeEventListener`,a=typeof t==`string`?[t]:t;return a.forEach(t=>{e[r](t,n)}),{cancel:()=>a.forEach(t=>e[i](t,n))}};function C(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;if(!e||!t||typeof t.querySelectorAll!=`function`)return null;let n=t.querySelectorAll(`iframe`);for(let t=0;t<n.length;t++)if(n[t]&&n[t].contentWindow===e)return n[t];return null}const oe=Array.prototype.indexOf!==void 0,se=typeof window<`u`&&window.postMessage!==void 0;if(!g&&(!oe||!se))throw Error(`Sorry, the Vimeo Player API is not available in this browser.`);var w=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function T(e,t){return t={exports:{}},e(t,t.exports),t.exports}
4
4
  /*!
@@ -12,5 +12,5 @@ const ee=typeof global<`u`&&{}.toString.call(global)===`[object global]`,te=type
12
12
  v0.8.1 (c) Kyle Simpson
13
13
  MIT License: http://getify.mit-license.org
14
14
  */
15
- (function(t,n,r){n[t]=n[t]||r(),e.exports&&=n[t]})(`Promise`,w,function(){var e,t,n,r=Object.prototype.toString,i=typeof setImmediate<`u`?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:r!==!1})}}catch{e=function(e,t,n){return e[t]=n,e}}n=function(){var e,n,r;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,a){r=new i(t,a),n?n.next=r:e=r,n=r,r=void 0},drain:function(){var r=e;for(e=n=t=void 0;r;)r.fn.call(r.self),r=r.next}}}();function a(e,r){n.add(e,r),t||=i(n.drain)}function o(e){var t,n=typeof e;return e!=null&&(n==`object`||n==`function`)&&(t=e.then),typeof t==`function`&&t}function s(){for(var e=0;e<this.chain.length;e++)c(this,this.state===1?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,t,n){var r,i;try{t===!1?n.reject(e.msg):(r=t===!0?e.msg:t.call(void 0,e.msg),r===n.promise?n.reject(TypeError(`Promise-chain cycle`)):(i=o(r))?i.call(r,n.resolve,n.reject):n.resolve(r))}catch(e){n.reject(e)}}function l(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=o(e))?a(function(){var r=new f(n);try{t.call(e,function(){l.apply(r,arguments)},function(){u.apply(r,arguments)})}catch(e){u.call(r,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&a(s,n))}catch(e){u.call(new f(n),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function d(e,t,n,r){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},r)})(i)}function f(e){this.def=e,this.triggered=!1}function p(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(e){if(typeof e!=`function`)throw TypeError(`Not a function`);if(this.__NPO__!==0)throw TypeError(`Not a promise`);this.__NPO__=1;var t=new p(this);this.then=function(e,n){var r={success:typeof e!=`function`||e,failure:typeof n==`function`&&n};return r.promise=new this.constructor(function(e,t){if(typeof e!=`function`||typeof t!=`function`)throw TypeError(`Not a function`);r.resolve=e,r.reject=t}),t.chain.push(r),t.state!==0&&a(s,t),r.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){l.call(t,e)},function(e){u.call(t,e)})}catch(e){u.call(t,e)}}var h=e({},`constructor`,m,!1);return m.prototype=h,e(h,`__NPO__`,0,!1),e(m,`resolve`,function(e){var t=this;return e&&typeof e==`object`&&e.__NPO__===1?e:new t(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);t(e)})}),e(m,`reject`,function(e){return new this(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);n(e)})}),e(m,`all`,function(e){var t=this;return r.call(e)==`[object Array]`?e.length===0?t.resolve([]):new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);var i=e.length,a=Array(i),o=0;d(t,e,function(e,t){a[e]=t,++o===i&&n(a)},r)}):t.reject(TypeError(`Not an array`))}),e(m,`race`,function(e){var t=this;return r.call(e)==`[object Array]`?new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);d(t,e,function(e,t){n(t)},r)}):t.reject(TypeError(`Not an array`))}),m})});const D=new WeakMap;function O(e,t,n){let r=D.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),D.set(e.element,r)}function k(e,t){return(D.get(e.element)||{})[t]||[]}function A(e,t,n){let r=D.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],D.set(e.element,r),!0;let i=r[t].indexOf(n);return i!==-1&&r[t].splice(i,1),D.set(e.element,r),r[t]&&r[t].length===0}function ce(e,t){let n=k(e,t);if(n.length<1)return!1;let r=n.shift();return A(e,t,r),r}function le(e,t){let n=D.get(e);D.set(t,n),D.delete(e)}function j(e){if(typeof e==`string`)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function M(e,t,n){if(!e.element.contentWindow||!e.element.contentWindow.postMessage)return;let r={method:t};n!==void 0&&(r.value=n);let i=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,`$1`));i>=8&&i<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}function ue(e,t){t=j(t);let n=[],r;if(t.event)t.event===`error`&&k(e,t.data.method).forEach(n=>{let r=Error(t.data.message);r.name=t.data.name,n.reject(r),A(e,t.data.method,n)}),n=k(e,`event:${t.event}`),r=t.data;else if(t.method){let i=ce(e,t.method);i&&(n.push(i),r=t.value)}n.forEach(t=>{try{if(typeof t==`function`){t.call(e,r);return}t.resolve(r)}catch{}})}const de=`airplay.audio_tracks.audiotrack.autopause.autoplay.background.byline.cc.chapter_id.chapters.chromecast.color.colors.controls.disable_context_menu.dnt.end_time.fullscreen.height.id.initial_quality.interactive_params.keyboard.loop.maxheight.max_quality.maxwidth.min_quality.muted.play_button_position.playsinline.portrait.preload.progress_bar.quality.quality_selector.responsive.skipping_forward.speed.start_time.texttrack.thumbnail_id.title.transcript.transparent.unmute_button.url.vimeo_logo.volume.watch_full_video.width`.split(`.`);function N(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return de.reduce((t,n)=>{let r=e.getAttribute(`data-vimeo-${n}`);return(r||r===``)&&(t[n]=r===``?1:r),t},t)}function P(e,t){let{html:n}=e;if(!t)throw TypeError(`An element must be provided`);if(t.getAttribute(`data-vimeo-initialized`)!==null)return t.querySelector(`iframe`);let r=document.createElement(`div`);return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute(`data-vimeo-initialized`,`true`),t.querySelector(`iframe`)}function F(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return new Promise((r,i)=>{if(!y(e))throw TypeError(`“${e}” is not a vimeo.com url.`);let a=`https://${ae(e)}/api/oembed.json?url=${encodeURIComponent(e)}`;for(let e in t)t.hasOwnProperty(e)&&(a+=`&${e}=${encodeURIComponent(t[e])}`);let o=`XDomainRequest`in window?new XDomainRequest:new XMLHttpRequest;o.open(`GET`,a,!0),o.onload=function(){if(o.status===404){i(Error(`“${e}” was not found.`));return}if(o.status===403){i(Error(`“${e}” is not embeddable.`));return}try{let t=JSON.parse(o.responseText);if(t.domain_status_code===403){P(t,n),i(Error(`“${e}” is not embeddable.`));return}r(t)}catch(e){i(e)}},o.onerror=function(){let e=o.status?` (${o.status})`:``;i(Error(`There was an error fetching the embed code from Vimeo${e}.`))},o.send()})}function I(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document,t=[].slice.call(e.querySelectorAll(`[data-vimeo-id], [data-vimeo-url]`)),n=e=>{`console`in window&&console.error&&console.error(`There was an error creating an embed: ${e}`)};t.forEach(e=>{try{if(e.getAttribute(`data-vimeo-defer`)!==null)return;let t=N(e);F(x(t),t,e).then(t=>P(t,e)).catch(n)}catch(e){n(e)}})}function L(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoPlayerResizeEmbeds_||(window.VimeoPlayerResizeEmbeds_=!0,window.addEventListener(`message`,t=>{if(!y(t.origin)||!t.data||t.data.event!==`spacechange`)return;let n=t.source?C(t.source,e):null;if(n){let e=n.parentElement;e.style.paddingBottom=`${t.data.data[0].bottom}px`}}))}function R(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoSeoMetadataAppended||(window.VimeoSeoMetadataAppended=!0,window.addEventListener(`message`,t=>{if(!y(t.origin))return;let n=j(t.data);if(!n||n.event!==`ready`)return;let r=t.source?C(t.source,e):null;r&&b(r.src)&&new G(r).callMethod(`appendVideoMetadata`,window.location.href)}))}function z(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;if(window.VimeoCheckedUrlTimeParam)return;window.VimeoCheckedUrlTimeParam=!0;let t=e=>{`console`in window&&console.error&&console.error(`There was an error getting video Id: ${e}`)};window.addEventListener(`message`,n=>{if(!y(n.origin))return;let r=j(n.data);if(!r||r.event!==`ready`)return;let i=n.source?C(n.source,e):null;if(i&&b(i.src)){let e=new G(i);e.getVideoId().then(t=>{let n=RegExp(`[?&]vimeo_t_${t}=([^&#]*)`).exec(window.location.href);if(n&&n[1]){let t=decodeURI(n[1]);e.setCurrentTime(t)}}).catch(t)}})}function B(){window.VimeoDRMEmbedsUpdated||(window.VimeoDRMEmbedsUpdated=!0,window.addEventListener(`message`,e=>{if(!y(e.origin))return;let t=j(e.data);if(!t||t.event!==`drminitfailed`)return;let n=e.source?C(e.source):null;if(!n)return;let r=n.getAttribute(`allow`)||``;if(!r.includes(`encrypted-media`)){n.setAttribute(`allow`,`${r}; encrypted-media`);let e=new URL(n.getAttribute(`src`));e.searchParams.set(`forcereload`,`drm`),n.setAttribute(`src`,e.toString());return}}))}function V(){let e=function(){let e,t=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],n=0,r=t.length,i={};for(;n<r;n++)if(e=t[n],e&&e[1]in document){for(n=0;n<e.length;n++)i[t[0][n]]=e[n];return i}return!1}(),t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror},n={request(t){return new Promise((r,i)=>{let a=function(){n.off(`fullscreenchange`,a),r()};n.on(`fullscreenchange`,a),t||=document.documentElement;let o=t[e.requestFullscreen]();o instanceof Promise&&o.then(a).catch(i)})},exit(){return new Promise((t,r)=>{if(!n.isFullscreen){t();return}let i=function(){n.off(`fullscreenchange`,i),t()};n.on(`fullscreenchange`,i);let a=document[e.exitFullscreen]();a instanceof Promise&&a.then(i).catch(r)})},on(e,n){let r=t[e];r&&document.addEventListener(r,n)},off(e,n){let r=t[e];r&&document.removeEventListener(r,n)}};return Object.defineProperties(n,{isFullscreen:{get(){return!!document[e.fullscreenElement]}},element:{enumerable:!0,get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:!0,get(){return!!document[e.fullscreenEnabled]}}}),n}const fe={role:`viewer`,autoPlayMuted:!0,allowedDrift:.3,maxAllowedDrift:1,minCheckInterval:.1,maxRateAdjustment:.2,maxTimeToCatchUp:1};var pe=class extends EventTarget{logger;constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;super(),this.logger=r,this.init(t,e,{...fe,...n})}disconnect(){this.dispatchEvent(new Event(`disconnect`))}async init(e,t,n){if(await this.waitForTOReadyState(e,`open`),n.role===`viewer`){await this.updatePlayer(e,t,n);let r=S(e,`change`,()=>this.updatePlayer(e,t,n)),i=this.maintainPlaybackPosition(e,t,n);this.addEventListener(`disconnect`,()=>{i.cancel(),r.cancel()})}else{await this.updateTimingObject(e,t);let n=S(t,[`seeked`,`play`,`pause`,`ratechange`],()=>this.updateTimingObject(e,t),`on`,`off`);this.addEventListener(`disconnect`,()=>n.cancel())}}async updateTimingObject(e,t){let[n,r,i]=await Promise.all([t.getCurrentTime(),t.getPaused(),t.getPlaybackRate()]);e.update({position:n,velocity:r?0:i})}async updatePlayer(e,t,n){let{position:r,velocity:i}=e.query();typeof r==`number`&&t.setCurrentTime(r),typeof i==`number`&&(i===0?await t.getPaused()===!1&&t.pause():i>0&&(await t.getPaused()===!0&&(await t.play().catch(async e=>{e.name===`NotAllowedError`&&n.autoPlayMuted&&(await t.setMuted(!0),await t.play().catch(e=>console.error(`Couldn't play the video from TimingSrcConnector. Error:`,e)))}),this.updatePlayer(e,t,n)),await t.getPlaybackRate()!==i&&t.setPlaybackRate(i)))}maintainPlaybackPosition(e,t,n){let{allowedDrift:r,maxAllowedDrift:i,minCheckInterval:a,maxRateAdjustment:o,maxTimeToCatchUp:s}=n,c=Math.min(s,Math.max(a,i))*1e3,l=async()=>{if(e.query().velocity===0||await t.getPaused()===!0)return;let n=e.query().position-await t.getCurrentTime(),a=Math.abs(n);if(this.log(`Drift: ${n}`),a>i)await this.adjustSpeed(t,0),t.setCurrentTime(e.query().position),this.log(`Resync by currentTime`);else if(a>r){let e=a/s,r=o,i=e<r?(r-e)/2:r;await this.adjustSpeed(t,i*Math.sign(n)),this.log(`Resync by playbackRate`)}},u=setInterval(()=>l(),c);return{cancel:()=>clearInterval(u)}}log(e){this.logger?.(`TimingSrcConnector: ${e}`)}speedAdjustment=0;adjustSpeed=async(e,t)=>{if(this.speedAdjustment===t)return;let n=await e.getPlaybackRate()-this.speedAdjustment+t;this.log(`New playbackRate: ${n}`),await e.setPlaybackRate(n),this.speedAdjustment=t};waitForTOReadyState(e,t){return new Promise(n=>{let r=()=>{e.readyState===t?n():e.addEventListener(`readystatechange`,r,{once:!0})};r()})}};const H=new WeakMap,U=new WeakMap;let W={};var G=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(window.jQuery&&e instanceof jQuery&&(e.length>1&&window.console&&console.warn&&console.warn(`A jQuery object with multiple elements was passed, using the first element.`),e=e[0]),typeof document<`u`&&typeof e==`string`&&(e=document.getElementById(e)),!ie(e))throw TypeError(`You must pass either a valid element or a valid id.`);if(e.nodeName!==`IFRAME`){let t=e.querySelector(`iframe`);t&&(e=t)}if(e.nodeName===`IFRAME`&&!y(e.getAttribute(`src`)||``))throw Error(`The player element passed isn’t a Vimeo embed.`);if(H.has(e))return H.get(e);this._window=e.ownerDocument.defaultView,this.element=e,this.origin=`*`;let n=new E((n,r)=>{if(this._onMessage=e=>{if(!y(e.origin)||this.element.contentWindow!==e.source)return;this.origin===`*`&&(this.origin=e.origin);let t=j(e.data);if(t&&t.event===`error`&&t.data&&t.data.method===`ready`){let e=Error(t.data.message);e.name=t.data.name,r(e);return}let i=t&&t.event===`ready`,a=t&&t.method===`ping`;if(i||a){this.element.setAttribute(`data-ready`,`true`),n();return}ue(this,t)},this._window.addEventListener(`message`,this._onMessage),this.element.nodeName!==`IFRAME`){let n=N(e,t);F(x(n),n,e).then(t=>{let n=P(t,e);return this.element=n,this._originalElement=e,le(e,n),H.set(this.element,this),t}).catch(r)}});if(U.set(this,n),H.set(this.element,this),this.element.nodeName===`IFRAME`&&M(this,`ping`),W.isEnabled){let e=()=>W.exit();this.fullscreenchangeHandler=()=>{W.isFullscreen?O(this,`event:exitFullscreen`,e):A(this,`event:exitFullscreen`,e),this.ready().then(()=>{M(this,`fullscreenchange`,W.isFullscreen)})},W.on(`fullscreenchange`,this.fullscreenchangeHandler)}return this}static isVimeoUrl(e){return y(e)}callMethod(e){var t=[...arguments].slice(1);if(e==null)throw TypeError(`You must pass a method name.`);return new E((n,r)=>this.ready().then(()=>{O(this,e,{resolve:n,reject:r}),t.length===0?t={}:t.length===1&&(t=t[0]),M(this,e,t)}).catch(r))}get(e){return new E((t,n)=>(e=_(e,`get`),this.ready().then(()=>{O(this,e,{resolve:t,reject:n}),M(this,e)}).catch(n)))}set(e,t){return new E((n,r)=>{if(e=_(e,`set`),t==null)throw TypeError(`There must be a value to set.`);return this.ready().then(()=>{O(this,e,{resolve:n,reject:r}),M(this,e,t)}).catch(r)})}on(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(!t)throw TypeError(`You must pass a callback function.`);if(typeof t!=`function`)throw TypeError(`The callback must be a function.`);k(this,`event:${e}`).length===0&&this.callMethod(`addEventListener`,e).catch(()=>{}),O(this,`event:${e}`,t)}off(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(t&&typeof t!=`function`)throw TypeError(`The callback must be a function.`);A(this,`event:${e}`,t)&&this.callMethod(`removeEventListener`,e).catch(e=>{})}loadVideo(e){return this.callMethod(`loadVideo`,e)}ready(){let e=U.get(this)||new E((e,t)=>{t(Error(`Unknown player. Probably unloaded.`))});return E.resolve(e)}addCuePoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.callMethod(`addCuePoint`,{time:e,data:t})}removeCuePoint(e){return this.callMethod(`removeCuePoint`,e)}enableTextTrack(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`enableTextTrack`,{language:e,kind:t,showing:n})}disableTextTrack(){return this.callMethod(`disableTextTrack`)}selectAudioTrack(e,t){if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`selectAudioTrack`,{language:e,kind:t})}selectDefaultAudioTrack(){return this.callMethod(`selectDefaultAudioTrack`)}pause(){return this.callMethod(`pause`)}play(){return this.callMethod(`play`)}requestFullscreen(){return W.isEnabled?W.request(this.element):this.callMethod(`requestFullscreen`)}exitFullscreen(){return W.isEnabled?W.exit():this.callMethod(`exitFullscreen`)}getFullscreen(){return W.isEnabled?E.resolve(W.isFullscreen):this.get(`fullscreen`)}requestPictureInPicture(){return this.callMethod(`requestPictureInPicture`)}exitPictureInPicture(){return this.callMethod(`exitPictureInPicture`)}getPictureInPicture(){return this.get(`pictureInPicture`)}remotePlaybackPrompt(){return this.callMethod(`remotePlaybackPrompt`)}unload(){return this.callMethod(`unload`)}destroy(){return new E(e=>{if(U.delete(this),H.delete(this.element),this._originalElement&&(H.delete(this._originalElement),this._originalElement.removeAttribute(`data-vimeo-initialized`)),this.element&&this.element.nodeName===`IFRAME`&&this.element.parentNode&&(this.element.parentNode.parentNode&&this._originalElement&&this._originalElement!==this.element.parentNode?this.element.parentNode.parentNode.removeChild(this.element.parentNode):this.element.parentNode.removeChild(this.element)),this.element&&this.element.nodeName===`DIV`&&this.element.parentNode){this.element.removeAttribute(`data-vimeo-initialized`);let e=this.element.querySelector(`iframe`);e&&e.parentNode&&(e.parentNode.parentNode&&this._originalElement&&this._originalElement!==e.parentNode?e.parentNode.parentNode.removeChild(e.parentNode):e.parentNode.removeChild(e))}this._window.removeEventListener(`message`,this._onMessage),W.isEnabled&&W.off(`fullscreenchange`,this.fullscreenchangeHandler),e()})}getAutopause(){return this.get(`autopause`)}setAutopause(e){return this.set(`autopause`,e)}getBuffered(){return this.get(`buffered`)}getCameraProps(){return this.get(`cameraProps`)}setCameraProps(e){return this.set(`cameraProps`,e)}getChapters(){return this.get(`chapters`)}getCurrentChapter(){return this.get(`currentChapter`)}getColor(){return this.get(`color`)}getColors(){return E.all([this.get(`colorOne`),this.get(`colorTwo`),this.get(`colorThree`),this.get(`colorFour`)])}setColor(e){return this.set(`color`,e)}setColors(e){if(!Array.isArray(e))return new E((e,t)=>t(TypeError(`Argument must be an array.`)));let t=new E(e=>e(null)),n=[e[0]?this.set(`colorOne`,e[0]):t,e[1]?this.set(`colorTwo`,e[1]):t,e[2]?this.set(`colorThree`,e[2]):t,e[3]?this.set(`colorFour`,e[3]):t];return E.all(n)}getCuePoints(){return this.get(`cuePoints`)}getCurrentTime(){return this.get(`currentTime`)}setCurrentTime(e){return this.set(`currentTime`,e)}getDuration(){return this.get(`duration`)}getEnded(){return this.get(`ended`)}getLoop(){return this.get(`loop`)}setLoop(e){return this.set(`loop`,e)}setMuted(e){return this.set(`muted`,e)}getMuted(){return this.get(`muted`)}getPaused(){return this.get(`paused`)}getPlaybackRate(){return this.get(`playbackRate`)}setPlaybackRate(e){return this.set(`playbackRate`,e)}getPlayed(){return this.get(`played`)}getQualities(){return this.get(`qualities`)}getQuality(){return this.get(`quality`)}setQuality(e){return this.set(`quality`,e)}getRemotePlaybackAvailability(){return this.get(`remotePlaybackAvailability`)}getRemotePlaybackState(){return this.get(`remotePlaybackState`)}getSeekable(){return this.get(`seekable`)}getSeeking(){return this.get(`seeking`)}getTextTracks(){return this.get(`textTracks`)}getAudioTracks(){return this.get(`audioTracks`)}getEnabledAudioTrack(){return this.get(`enabledAudioTrack`)}getDefaultAudioTrack(){return this.get(`defaultAudioTrack`)}getVideoEmbedCode(){return this.get(`videoEmbedCode`)}getVideoId(){return this.get(`videoId`)}getVideoTitle(){return this.get(`videoTitle`)}getVideoWidth(){return this.get(`videoWidth`)}getVideoHeight(){return this.get(`videoHeight`)}getVideoUrl(){return this.get(`videoUrl`)}getVolume(){return this.get(`volume`)}setVolume(e){return this.set(`volume`,e)}async setTimingSrc(e,t){if(!e)throw TypeError(`A Timing Object must be provided.`);await this.ready();let n=new pe(this,e,t);return M(this,`notifyTimingObjectConnect`),n.addEventListener(`disconnect`,()=>M(this,`notifyTimingObjectDisconnect`)),n}};g||(W=V(),I(),L(),R(),z(),B());const K={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null},me=l(EventTarget);var he=class extends me{#e=null;#t=null;#n=c();#r=K.src;#i=K.autoplay;#a=K.defaultMuted;#o=K.loop;#s=K.controls;#c=K.playsInline;#l=K.preload;#u=K.poster;#d=K.source;#f=!0;#p=!1;#m=!1;#h=0;#g=NaN;#_=1;#v=!1;#y=1;#b=0;#x=NaN;#S=NaN;#C=Z;#w=``;#T={};#E=null;#D=!1;#O=!1;#k=!1;#A=null;#j=null;static PLAYER_SOFTWARE_NAME=`vimeo-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.#M(),this.#N())}detach(){this.#e&&(this.#V(),this.#t?.destroy().catch(()=>{}),this.#t=null,this.#e=null,this.#n.resolve(),this.#L())}destroy(){this.detach(),super.destroy()}get src(){return this.#r}set src(e){let{engine:t}=this.#d??{},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.#C}async load(){if(!this.#t){if(!this.#e)return;let e=this.#M();if(this.#L(),await Promise.resolve(),e!==this.#n)return;this.#N();return}let e=this.#M();if(this.#L(),this.dispatchEvent(new Event(`emptied`)),!this.#r){e.resolve(),await this.#t.unload().catch(()=>{});return}this.dispatchEvent(new Event(`loadstart`));let t=ve(this.#r,this.#d?.engine?.vimeo);if(!t){e.resolve();return}await this.#t.loadVideo(t).catch(()=>{})}#M(){return this.#n.resolve(),this.#n=c(),this.#n}#N(){let e=this.#e;if(!e||this.#t)return!1;if(!e.getAttribute(`src`)){let t=J(this.#r,this.#I());if(!t)return this.#n.resolve(),!1;e.src=t}try{this.#t=new G(e)}catch{return this.#E=new m(`The attached iframe is not a Vimeo embed.`,m.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),this.#n.resolve(),!1}return this.#z(this.#t),this.#B(this.#t),this.dispatchEvent(new Event(`loadstart`)),!0}get paused(){return this.#f}get ended(){return this.#p}get seeking(){return this.#m}async play(){await this.#n,await this.#t?.play()}pause(){this.#t?.pause().catch(()=>{})}get currentTime(){return this.#h}set currentTime(e){this.#h!==e&&(this.#h=e,this.#F(t=>t.setCurrentTime(e)))}get duration(){return this.#g}get volume(){return this.#_}set volume(e){this.#_!==e&&(this.#_=e,this.#F(t=>t.setVolume(e)))}get muted(){return this.#v}set muted(e){this.#v!==e&&(this.#v=e,this.#F(t=>t.setMuted(e)))}get playbackRate(){return this.#y}set playbackRate(e){this.#y!==e&&(this.#y=e,this.#F(t=>t.setPlaybackRate(e)))}get autoplay(){return this.#i}set autoplay(e){this.#i=e}get defaultMuted(){return this.#a}set defaultMuted(e){this.#a=e}get loop(){return this.#o}set loop(e){this.#o=e,this.#F(t=>t.setLoop(e))}get controls(){return this.#s}set controls(e){this.#s=e}get playsInline(){return this.#c}set playsInline(e){this.#c=e}get preload(){return this.#l}set preload(e){this.#l=e}get poster(){return this.#u}set poster(e){this.#u=e}get source(){return this.#d}set source(e){let t=e??null;if(t===this.#d)return;let n=t?.src??``,i=this.#r!==n,a=!r(this.#d?.engine?.vimeo??null,t?.engine?.vimeo??null);this.#d=t,this.#r=n,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get contentData(){return this.#T}#P(e){return this.#w===e?!1:(this.#w=e,this.#T=e?{title:e}:{},!0)}get buffered(){return this.#b>0?s(0,this.#b):p}get seekable(){return this.#g>0&&Number.isFinite(this.#g)?s(0,this.#g):p}get error(){return this.#E}get textTracks(){return this.#A??=globalThis.document?.createElement(`video`)??null,this.#A?.textTracks??f}get videoWidth(){return this.#x}get videoHeight(){return this.#S}get isFullscreen(){return this.#D}async requestFullscreen(){await this.#n,await this.#t?.requestFullscreen?.(),this.#D=!0}async exitFullscreen(){await this.#n,await this.#t?.exitFullscreen?.(),this.#D=!1}get isPictureInPicture(){return this.#O}get disablePictureInPicture(){return this.#k}set disablePictureInPicture(e){this.#k=e}async requestPictureInPicture(){await this.#n,await this.#t?.requestPictureInPicture?.().then(()=>{this.#O=!0},console.error)}async exitPictureInPicture(){await this.#n,await this.#t?.exitPictureInPicture?.().then(()=>{this.#O=!1},console.error)}#F(e){this.#n.then(()=>this.#t&&void e(this.#t).catch(()=>{}),()=>{})}#I(){return{autoplay:this.#i,defaultMuted:this.#a,loop:this.#o,controls:this.#s,playsInline:this.#c,preload:this.#l||K.preload,source:this.#d}}#L(){this.#h=0,this.#g=NaN,this.#v=!1,this.#f=!this.#i,this.#p=!1,this.#y=1,this.#b=0,this.#C=Z,this.#m=!1,this.#_=1,this.#E=null,this.#x=NaN,this.#S=NaN,this.#D=!1,this.#O=!1,this.#P(``)&&this.dispatchEvent(new Event(`contentdatachange`))}async#R(){let e=this.#n;this.#C=_e;let t=this.#t,n=!1;if(t){let[r,i,a,o]=await Promise.all([t.getMuted().catch(()=>this.#v),t.getVolume().catch(()=>this.#_),t.getDuration().catch(()=>this.#g),t.getVideoTitle().catch(()=>this.#w)]);if(e!==this.#n)return;this.#v=r,this.#_=i,this.#g=a,n=this.#P(o)}n&&this.dispatchEvent(new Event(`contentdatachange`));for(let e of[`loadedmetadata`,`durationchange`,`volumechange`,`loadcomplete`])this.dispatchEvent(new Event(e));e.resolve()}#z(e){let t=e=>this.dispatchEvent(new Event(e));e.on(`loaded`,()=>this.#R()),e.on(`bufferstart`,()=>t(`waiting`)),e.on(`play`,()=>{this.#f=!1,t(`play`)}),e.on(`playing`,()=>{this.#C=Q,this.#f=!1,t(`playing`)}),e.on(`seeking`,()=>{this.#m=!0,t(`seeking`)}),e.on(`seeked`,()=>{this.#m=!1,t(`seeked`)}),e.on(`pause`,()=>{this.#f=!0,t(`pause`)}),e.on(`ended`,()=>{this.#f=!0,this.#p=!0,t(`ended`)}),e.on(`playbackratechange`,({playbackRate:e})=>{this.#y=e,t(`ratechange`)}),e.on(`volumechange`,({volume:e})=>{this.#_=e,t(`volumechange`)}),e.on(`durationchange`,({duration:e})=>{this.#g=e,t(`durationchange`)}),e.on(`timeupdate`,({seconds:e,duration:n})=>{this.#h=e,Number.isFinite(n)&&n!==this.#g&&(this.#g=n),t(`timeupdate`)}),e.on(`progress`,({seconds:e})=>{this.#b=e,t(`progress`)}),e.on(`resize`,({videoWidth:e,videoHeight:n})=>{this.#x=e,this.#S=n,t(`resize`)}),e.on(`fullscreenchange`,({fullscreen:e})=>{this.#D=e,t(`fullscreenchange`)}),e.on(`enterpictureinpicture`,()=>{this.#O=!0,t(`enterpictureinpicture`)}),e.on(`leavepictureinpicture`,()=>{this.#O=!1,t(`leavepictureinpicture`)}),e.on(`error`,()=>{this.#E={code:1,message:`Vimeo playback error`},t(`error`),this.#n.resolve()})}#B(r){let i=globalThis.document;if(n(i))return;this.#V();let a=i.createElement(`video`);this.#A=a,r.getTextTracks().then(n=>{for(let r of n)!t(r.kind)||e(r.kind)||u(()=>a.addTextTrack?.(r.kind,r.label??``,r.language??``))}).catch(()=>{}),this.#j=new AbortController,a.textTracks?.addEventListener?.(`change`,()=>{let e=Array.from(a.textTracks).find(e=>e.mode===`showing`);e?r.enableTextTrack(e.language,e.kind).catch(()=>{}):r.disableTextTrack().catch(()=>{})},{signal:this.#j.signal})}#V(){this.#j?.abort(),this.#j=null,this.#A=null}};function q(e){if(!e)return null;if(/^\d+$/.test(e))return{id:Number(e),kind:`video`,hash:null};let t=ge.exec(e);if(!t)return null;let n=t[1]===`event/`?`event`:`video`,r=null;try{r=new URL(e).searchParams.get(`h`)}catch{}return{id:Number(t[2]),kind:n,hash:r??t[3]??null}}function J(e,t={}){let n=q(e);if(!n)return``;let r={controls:t.controls===!0?null:0,autoplay:t.autoplay,loop:t.loop,muted:t.defaultMuted,playsinline:t.playsInline??K.playsInline,preload:t.preload??K.preload,transparent:!1,h:n.hash,...t.source?.engine?.vimeo??void 0};if(n.kind===`event`){let e=n.hash?`/${n.hash}`:``;return delete r.h,`${X}/${n.id}/embed${e}?${d(r)}`}return`${Y}/${n.id}?${d(r)}`}const Y=`https://player.vimeo.com/video`,X=`https://vimeo.com/event`,ge=/vimeo\.com\/(video\/|event\/)?(\d+)(?:\/([\w-]+))?/,Z=0,_e=1,Q=3;function ve(e,t){let n=q(e);return n?{url:`${n.kind===`event`?`${X}/${n.id}/embed`:`${Y}/${n.id}`}${n.hash?`?h=${n.hash}`:``}`,...t}:null}var ye=class extends i(`iframe`,he){static{this.getTemplateHTML=e=>{let t=J(e.src??``,be(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="${a(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${a(e.referrerpolicy??``)}" ></iframe>`}}};function be(e){return{autoplay:e.autoplay!==void 0,defaultMuted:e.muted!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var xe=class extends h(ye){},$=class extends xe{static{this.tagName=`vimeo-video`}};o($);export{$ as VimeoVideoElement};
15
+ (function(t,n,r){n[t]=n[t]||r(),e.exports&&=n[t]})(`Promise`,w,function(){var e,t,n,r=Object.prototype.toString,i=typeof setImmediate<`u`?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:r!==!1})}}catch{e=function(e,t,n){return e[t]=n,e}}n=function(){var e,n,r;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,a){r=new i(t,a),n?n.next=r:e=r,n=r,r=void 0},drain:function(){var r=e;for(e=n=t=void 0;r;)r.fn.call(r.self),r=r.next}}}();function a(e,r){n.add(e,r),t||=i(n.drain)}function o(e){var t,n=typeof e;return e!=null&&(n==`object`||n==`function`)&&(t=e.then),typeof t==`function`&&t}function s(){for(var e=0;e<this.chain.length;e++)c(this,this.state===1?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,t,n){var r,i;try{t===!1?n.reject(e.msg):(r=t===!0?e.msg:t.call(void 0,e.msg),r===n.promise?n.reject(TypeError(`Promise-chain cycle`)):(i=o(r))?i.call(r,n.resolve,n.reject):n.resolve(r))}catch(e){n.reject(e)}}function l(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=o(e))?a(function(){var r=new f(n);try{t.call(e,function(){l.apply(r,arguments)},function(){u.apply(r,arguments)})}catch(e){u.call(r,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&a(s,n))}catch(e){u.call(new f(n),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function d(e,t,n,r){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},r)})(i)}function f(e){this.def=e,this.triggered=!1}function p(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(e){if(typeof e!=`function`)throw TypeError(`Not a function`);if(this.__NPO__!==0)throw TypeError(`Not a promise`);this.__NPO__=1;var t=new p(this);this.then=function(e,n){var r={success:typeof e!=`function`||e,failure:typeof n==`function`&&n};return r.promise=new this.constructor(function(e,t){if(typeof e!=`function`||typeof t!=`function`)throw TypeError(`Not a function`);r.resolve=e,r.reject=t}),t.chain.push(r),t.state!==0&&a(s,t),r.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){l.call(t,e)},function(e){u.call(t,e)})}catch(e){u.call(t,e)}}var h=e({},`constructor`,m,!1);return m.prototype=h,e(h,`__NPO__`,0,!1),e(m,`resolve`,function(e){var t=this;return e&&typeof e==`object`&&e.__NPO__===1?e:new t(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);t(e)})}),e(m,`reject`,function(e){return new this(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);n(e)})}),e(m,`all`,function(e){var t=this;return r.call(e)==`[object Array]`?e.length===0?t.resolve([]):new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);var i=e.length,a=Array(i),o=0;d(t,e,function(e,t){a[e]=t,++o===i&&n(a)},r)}):t.reject(TypeError(`Not an array`))}),e(m,`race`,function(e){var t=this;return r.call(e)==`[object Array]`?new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);d(t,e,function(e,t){n(t)},r)}):t.reject(TypeError(`Not an array`))}),m})});const D=new WeakMap;function O(e,t,n){let r=D.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),D.set(e.element,r)}function k(e,t){return(D.get(e.element)||{})[t]||[]}function A(e,t,n){let r=D.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],D.set(e.element,r),!0;let i=r[t].indexOf(n);return i!==-1&&r[t].splice(i,1),D.set(e.element,r),r[t]&&r[t].length===0}function ce(e,t){let n=k(e,t);if(n.length<1)return!1;let r=n.shift();return A(e,t,r),r}function le(e,t){let n=D.get(e);D.set(t,n),D.delete(e)}function j(e){if(typeof e==`string`)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function M(e,t,n){if(!e.element.contentWindow||!e.element.contentWindow.postMessage)return;let r={method:t};n!==void 0&&(r.value=n);let i=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,`$1`));i>=8&&i<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}function ue(e,t){t=j(t);let n=[],r;if(t.event)t.event===`error`&&k(e,t.data.method).forEach(n=>{let r=Error(t.data.message);r.name=t.data.name,n.reject(r),A(e,t.data.method,n)}),n=k(e,`event:${t.event}`),r=t.data;else if(t.method){let i=ce(e,t.method);i&&(n.push(i),r=t.value)}n.forEach(t=>{try{if(typeof t==`function`){t.call(e,r);return}t.resolve(r)}catch{}})}const de=`airplay.audio_tracks.audiotrack.autopause.autoplay.background.byline.cc.chapter_id.chapters.chromecast.color.colors.controls.disable_context_menu.dnt.end_time.fullscreen.height.id.initial_quality.interactive_params.keyboard.loop.maxheight.max_quality.maxwidth.min_quality.muted.play_button_position.playsinline.portrait.preload.progress_bar.quality.quality_selector.responsive.skipping_forward.speed.start_time.texttrack.thumbnail_id.title.transcript.transparent.unmute_button.url.vimeo_logo.volume.watch_full_video.width`.split(`.`);function N(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return de.reduce((t,n)=>{let r=e.getAttribute(`data-vimeo-${n}`);return(r||r===``)&&(t[n]=r===``?1:r),t},t)}function P(e,t){let{html:n}=e;if(!t)throw TypeError(`An element must be provided`);if(t.getAttribute(`data-vimeo-initialized`)!==null)return t.querySelector(`iframe`);let r=document.createElement(`div`);return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute(`data-vimeo-initialized`,`true`),t.querySelector(`iframe`)}function F(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return new Promise((r,i)=>{if(!y(e))throw TypeError(`“${e}” is not a vimeo.com url.`);let a=`https://${ae(e)}/api/oembed.json?url=${encodeURIComponent(e)}`;for(let e in t)t.hasOwnProperty(e)&&(a+=`&${e}=${encodeURIComponent(t[e])}`);let o=`XDomainRequest`in window?new XDomainRequest:new XMLHttpRequest;o.open(`GET`,a,!0),o.onload=function(){if(o.status===404){i(Error(`“${e}” was not found.`));return}if(o.status===403){i(Error(`“${e}” is not embeddable.`));return}try{let t=JSON.parse(o.responseText);if(t.domain_status_code===403){P(t,n),i(Error(`“${e}” is not embeddable.`));return}r(t)}catch(e){i(e)}},o.onerror=function(){let e=o.status?` (${o.status})`:``;i(Error(`There was an error fetching the embed code from Vimeo${e}.`))},o.send()})}function I(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document,t=[].slice.call(e.querySelectorAll(`[data-vimeo-id], [data-vimeo-url]`)),n=e=>{`console`in window&&console.error&&console.error(`There was an error creating an embed: ${e}`)};t.forEach(e=>{try{if(e.getAttribute(`data-vimeo-defer`)!==null)return;let t=N(e);F(x(t),t,e).then(t=>P(t,e)).catch(n)}catch(e){n(e)}})}function L(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoPlayerResizeEmbeds_||(window.VimeoPlayerResizeEmbeds_=!0,window.addEventListener(`message`,t=>{if(!y(t.origin)||!t.data||t.data.event!==`spacechange`)return;let n=t.source?C(t.source,e):null;if(n){let e=n.parentElement;e.style.paddingBottom=`${t.data.data[0].bottom}px`}}))}function R(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoSeoMetadataAppended||(window.VimeoSeoMetadataAppended=!0,window.addEventListener(`message`,t=>{if(!y(t.origin))return;let n=j(t.data);if(!n||n.event!==`ready`)return;let r=t.source?C(t.source,e):null;r&&b(r.src)&&new G(r).callMethod(`appendVideoMetadata`,window.location.href)}))}function z(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;if(window.VimeoCheckedUrlTimeParam)return;window.VimeoCheckedUrlTimeParam=!0;let t=e=>{`console`in window&&console.error&&console.error(`There was an error getting video Id: ${e}`)};window.addEventListener(`message`,n=>{if(!y(n.origin))return;let r=j(n.data);if(!r||r.event!==`ready`)return;let i=n.source?C(n.source,e):null;if(i&&b(i.src)){let e=new G(i);e.getVideoId().then(t=>{let n=RegExp(`[?&]vimeo_t_${t}=([^&#]*)`).exec(window.location.href);if(n&&n[1]){let t=decodeURI(n[1]);e.setCurrentTime(t)}}).catch(t)}})}function B(){window.VimeoDRMEmbedsUpdated||(window.VimeoDRMEmbedsUpdated=!0,window.addEventListener(`message`,e=>{if(!y(e.origin))return;let t=j(e.data);if(!t||t.event!==`drminitfailed`)return;let n=e.source?C(e.source):null;if(!n)return;let r=n.getAttribute(`allow`)||``;if(!r.includes(`encrypted-media`)){n.setAttribute(`allow`,`${r}; encrypted-media`);let e=new URL(n.getAttribute(`src`));e.searchParams.set(`forcereload`,`drm`),n.setAttribute(`src`,e.toString());return}}))}function V(){let e=function(){let e,t=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],n=0,r=t.length,i={};for(;n<r;n++)if(e=t[n],e&&e[1]in document){for(n=0;n<e.length;n++)i[t[0][n]]=e[n];return i}return!1}(),t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror},n={request(t){return new Promise((r,i)=>{let a=function(){n.off(`fullscreenchange`,a),r()};n.on(`fullscreenchange`,a),t||=document.documentElement;let o=t[e.requestFullscreen]();o instanceof Promise&&o.then(a).catch(i)})},exit(){return new Promise((t,r)=>{if(!n.isFullscreen){t();return}let i=function(){n.off(`fullscreenchange`,i),t()};n.on(`fullscreenchange`,i);let a=document[e.exitFullscreen]();a instanceof Promise&&a.then(i).catch(r)})},on(e,n){let r=t[e];r&&document.addEventListener(r,n)},off(e,n){let r=t[e];r&&document.removeEventListener(r,n)}};return Object.defineProperties(n,{isFullscreen:{get(){return!!document[e.fullscreenElement]}},element:{enumerable:!0,get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:!0,get(){return!!document[e.fullscreenEnabled]}}}),n}const fe={role:`viewer`,autoPlayMuted:!0,allowedDrift:.3,maxAllowedDrift:1,minCheckInterval:.1,maxRateAdjustment:.2,maxTimeToCatchUp:1};var pe=class extends EventTarget{logger;constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;super(),this.logger=r,this.init(t,e,{...fe,...n})}disconnect(){this.dispatchEvent(new Event(`disconnect`))}async init(e,t,n){if(await this.waitForTOReadyState(e,`open`),n.role===`viewer`){await this.updatePlayer(e,t,n);let r=S(e,`change`,()=>this.updatePlayer(e,t,n)),i=this.maintainPlaybackPosition(e,t,n);this.addEventListener(`disconnect`,()=>{i.cancel(),r.cancel()})}else{await this.updateTimingObject(e,t);let n=S(t,[`seeked`,`play`,`pause`,`ratechange`],()=>this.updateTimingObject(e,t),`on`,`off`);this.addEventListener(`disconnect`,()=>n.cancel())}}async updateTimingObject(e,t){let[n,r,i]=await Promise.all([t.getCurrentTime(),t.getPaused(),t.getPlaybackRate()]);e.update({position:n,velocity:r?0:i})}async updatePlayer(e,t,n){let{position:r,velocity:i}=e.query();typeof r==`number`&&t.setCurrentTime(r),typeof i==`number`&&(i===0?await t.getPaused()===!1&&t.pause():i>0&&(await t.getPaused()===!0&&(await t.play().catch(async e=>{e.name===`NotAllowedError`&&n.autoPlayMuted&&(await t.setMuted(!0),await t.play().catch(e=>console.error(`Couldn't play the video from TimingSrcConnector. Error:`,e)))}),this.updatePlayer(e,t,n)),await t.getPlaybackRate()!==i&&t.setPlaybackRate(i)))}maintainPlaybackPosition(e,t,n){let{allowedDrift:r,maxAllowedDrift:i,minCheckInterval:a,maxRateAdjustment:o,maxTimeToCatchUp:s}=n,c=Math.min(s,Math.max(a,i))*1e3,l=async()=>{if(e.query().velocity===0||await t.getPaused()===!0)return;let n=e.query().position-await t.getCurrentTime(),a=Math.abs(n);if(this.log(`Drift: ${n}`),a>i)await this.adjustSpeed(t,0),t.setCurrentTime(e.query().position),this.log(`Resync by currentTime`);else if(a>r){let e=a/s,r=o,i=e<r?(r-e)/2:r;await this.adjustSpeed(t,i*Math.sign(n)),this.log(`Resync by playbackRate`)}},u=setInterval(()=>l(),c);return{cancel:()=>clearInterval(u)}}log(e){this.logger?.(`TimingSrcConnector: ${e}`)}speedAdjustment=0;adjustSpeed=async(e,t)=>{if(this.speedAdjustment===t)return;let n=await e.getPlaybackRate()-this.speedAdjustment+t;this.log(`New playbackRate: ${n}`),await e.setPlaybackRate(n),this.speedAdjustment=t};waitForTOReadyState(e,t){return new Promise(n=>{let r=()=>{e.readyState===t?n():e.addEventListener(`readystatechange`,r,{once:!0})};r()})}};const H=new WeakMap,U=new WeakMap;let W={};var G=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(window.jQuery&&e instanceof jQuery&&(e.length>1&&window.console&&console.warn&&console.warn(`A jQuery object with multiple elements was passed, using the first element.`),e=e[0]),typeof document<`u`&&typeof e==`string`&&(e=document.getElementById(e)),!ie(e))throw TypeError(`You must pass either a valid element or a valid id.`);if(e.nodeName!==`IFRAME`){let t=e.querySelector(`iframe`);t&&(e=t)}if(e.nodeName===`IFRAME`&&!y(e.getAttribute(`src`)||``))throw Error(`The player element passed isn’t a Vimeo embed.`);if(H.has(e))return H.get(e);this._window=e.ownerDocument.defaultView,this.element=e,this.origin=`*`;let n=new E((n,r)=>{if(this._onMessage=e=>{if(!y(e.origin)||this.element.contentWindow!==e.source)return;this.origin===`*`&&(this.origin=e.origin);let t=j(e.data);if(t&&t.event===`error`&&t.data&&t.data.method===`ready`){let e=Error(t.data.message);e.name=t.data.name,r(e);return}let i=t&&t.event===`ready`,a=t&&t.method===`ping`;if(i||a){this.element.setAttribute(`data-ready`,`true`),n();return}ue(this,t)},this._window.addEventListener(`message`,this._onMessage),this.element.nodeName!==`IFRAME`){let n=N(e,t);F(x(n),n,e).then(t=>{let n=P(t,e);return this.element=n,this._originalElement=e,le(e,n),H.set(this.element,this),t}).catch(r)}});if(U.set(this,n),H.set(this.element,this),this.element.nodeName===`IFRAME`&&M(this,`ping`),W.isEnabled){let e=()=>W.exit();this.fullscreenchangeHandler=()=>{W.isFullscreen?O(this,`event:exitFullscreen`,e):A(this,`event:exitFullscreen`,e),this.ready().then(()=>{M(this,`fullscreenchange`,W.isFullscreen)})},W.on(`fullscreenchange`,this.fullscreenchangeHandler)}return this}static isVimeoUrl(e){return y(e)}callMethod(e){var t=[...arguments].slice(1);if(e==null)throw TypeError(`You must pass a method name.`);return new E((n,r)=>this.ready().then(()=>{O(this,e,{resolve:n,reject:r}),t.length===0?t={}:t.length===1&&(t=t[0]),M(this,e,t)}).catch(r))}get(e){return new E((t,n)=>(e=_(e,`get`),this.ready().then(()=>{O(this,e,{resolve:t,reject:n}),M(this,e)}).catch(n)))}set(e,t){return new E((n,r)=>{if(e=_(e,`set`),t==null)throw TypeError(`There must be a value to set.`);return this.ready().then(()=>{O(this,e,{resolve:n,reject:r}),M(this,e,t)}).catch(r)})}on(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(!t)throw TypeError(`You must pass a callback function.`);if(typeof t!=`function`)throw TypeError(`The callback must be a function.`);k(this,`event:${e}`).length===0&&this.callMethod(`addEventListener`,e).catch(()=>{}),O(this,`event:${e}`,t)}off(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(t&&typeof t!=`function`)throw TypeError(`The callback must be a function.`);A(this,`event:${e}`,t)&&this.callMethod(`removeEventListener`,e).catch(e=>{})}loadVideo(e){return this.callMethod(`loadVideo`,e)}ready(){let e=U.get(this)||new E((e,t)=>{t(Error(`Unknown player. Probably unloaded.`))});return E.resolve(e)}addCuePoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.callMethod(`addCuePoint`,{time:e,data:t})}removeCuePoint(e){return this.callMethod(`removeCuePoint`,e)}enableTextTrack(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`enableTextTrack`,{language:e,kind:t,showing:n})}disableTextTrack(){return this.callMethod(`disableTextTrack`)}selectAudioTrack(e,t){if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`selectAudioTrack`,{language:e,kind:t})}selectDefaultAudioTrack(){return this.callMethod(`selectDefaultAudioTrack`)}pause(){return this.callMethod(`pause`)}play(){return this.callMethod(`play`)}requestFullscreen(){return W.isEnabled?W.request(this.element):this.callMethod(`requestFullscreen`)}exitFullscreen(){return W.isEnabled?W.exit():this.callMethod(`exitFullscreen`)}getFullscreen(){return W.isEnabled?E.resolve(W.isFullscreen):this.get(`fullscreen`)}requestPictureInPicture(){return this.callMethod(`requestPictureInPicture`)}exitPictureInPicture(){return this.callMethod(`exitPictureInPicture`)}getPictureInPicture(){return this.get(`pictureInPicture`)}remotePlaybackPrompt(){return this.callMethod(`remotePlaybackPrompt`)}unload(){return this.callMethod(`unload`)}destroy(){return new E(e=>{if(U.delete(this),H.delete(this.element),this._originalElement&&(H.delete(this._originalElement),this._originalElement.removeAttribute(`data-vimeo-initialized`)),this.element&&this.element.nodeName===`IFRAME`&&this.element.parentNode&&(this.element.parentNode.parentNode&&this._originalElement&&this._originalElement!==this.element.parentNode?this.element.parentNode.parentNode.removeChild(this.element.parentNode):this.element.parentNode.removeChild(this.element)),this.element&&this.element.nodeName===`DIV`&&this.element.parentNode){this.element.removeAttribute(`data-vimeo-initialized`);let e=this.element.querySelector(`iframe`);e&&e.parentNode&&(e.parentNode.parentNode&&this._originalElement&&this._originalElement!==e.parentNode?e.parentNode.parentNode.removeChild(e.parentNode):e.parentNode.removeChild(e))}this._window.removeEventListener(`message`,this._onMessage),W.isEnabled&&W.off(`fullscreenchange`,this.fullscreenchangeHandler),e()})}getAutopause(){return this.get(`autopause`)}setAutopause(e){return this.set(`autopause`,e)}getBuffered(){return this.get(`buffered`)}getCameraProps(){return this.get(`cameraProps`)}setCameraProps(e){return this.set(`cameraProps`,e)}getChapters(){return this.get(`chapters`)}getCurrentChapter(){return this.get(`currentChapter`)}getColor(){return this.get(`color`)}getColors(){return E.all([this.get(`colorOne`),this.get(`colorTwo`),this.get(`colorThree`),this.get(`colorFour`)])}setColor(e){return this.set(`color`,e)}setColors(e){if(!Array.isArray(e))return new E((e,t)=>t(TypeError(`Argument must be an array.`)));let t=new E(e=>e(null)),n=[e[0]?this.set(`colorOne`,e[0]):t,e[1]?this.set(`colorTwo`,e[1]):t,e[2]?this.set(`colorThree`,e[2]):t,e[3]?this.set(`colorFour`,e[3]):t];return E.all(n)}getCuePoints(){return this.get(`cuePoints`)}getCurrentTime(){return this.get(`currentTime`)}setCurrentTime(e){return this.set(`currentTime`,e)}getDuration(){return this.get(`duration`)}getEnded(){return this.get(`ended`)}getLoop(){return this.get(`loop`)}setLoop(e){return this.set(`loop`,e)}setMuted(e){return this.set(`muted`,e)}getMuted(){return this.get(`muted`)}getPaused(){return this.get(`paused`)}getPlaybackRate(){return this.get(`playbackRate`)}setPlaybackRate(e){return this.set(`playbackRate`,e)}getPlayed(){return this.get(`played`)}getQualities(){return this.get(`qualities`)}getQuality(){return this.get(`quality`)}setQuality(e){return this.set(`quality`,e)}getRemotePlaybackAvailability(){return this.get(`remotePlaybackAvailability`)}getRemotePlaybackState(){return this.get(`remotePlaybackState`)}getSeekable(){return this.get(`seekable`)}getSeeking(){return this.get(`seeking`)}getTextTracks(){return this.get(`textTracks`)}getAudioTracks(){return this.get(`audioTracks`)}getEnabledAudioTrack(){return this.get(`enabledAudioTrack`)}getDefaultAudioTrack(){return this.get(`defaultAudioTrack`)}getVideoEmbedCode(){return this.get(`videoEmbedCode`)}getVideoId(){return this.get(`videoId`)}getVideoTitle(){return this.get(`videoTitle`)}getVideoWidth(){return this.get(`videoWidth`)}getVideoHeight(){return this.get(`videoHeight`)}getVideoUrl(){return this.get(`videoUrl`)}getVolume(){return this.get(`volume`)}setVolume(e){return this.set(`volume`,e)}async setTimingSrc(e,t){if(!e)throw TypeError(`A Timing Object must be provided.`);await this.ready();let n=new pe(this,e,t);return M(this,`notifyTimingObjectConnect`),n.addEventListener(`disconnect`,()=>M(this,`notifyTimingObjectDisconnect`)),n}};g||(W=V(),I(),L(),R(),z(),B());const K={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null},me=f(EventTarget);var he=class extends me{#e=null;#t=null;#n=d();#r=K.src;#i=K.autoplay;#a=K.defaultMuted;#o=K.loop;#s=K.controls;#c=K.playsInline;#l=K.preload;#u=K.poster;#d=K.source;#f=!0;#p=!1;#m=!1;#h=0;#g=NaN;#_=1;#v=!1;#y=1;#b=0;#x=NaN;#S=NaN;#C=Z;#w=``;#T={};#E=null;#D=!1;#O=!1;#k=!1;#A=null;#j=null;static PLAYER_SOFTWARE_NAME=`vimeo-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.#M(),this.#N())}detach(){this.#e&&(this.#V(),this.#t?.destroy().catch(()=>{}),this.#t=null,this.#e=null,this.#n.resolve(),this.#L())}destroy(){this.detach(),super.destroy()}get src(){return this.#r}set src(e){let{engine:t}=this.#d??{},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.#C}async load(){if(!this.#t){if(!this.#e)return;let e=this.#M();if(this.#L(),await Promise.resolve(),e!==this.#n)return;this.#N();return}let e=this.#M();if(this.#L(),this.dispatchEvent(new Event(`emptied`)),!this.#r){e.resolve(),await this.#t.unload().catch(()=>{});return}this.dispatchEvent(new Event(`loadstart`));let t=ve(this.#r,this.#d?.engine?.vimeo);if(!t){e.resolve();return}await this.#t.loadVideo(t).catch(()=>{})}#M(){return this.#n.resolve(),this.#n=d(),this.#n}#N(){let e=this.#e;if(!e||this.#t)return!1;if(!e.getAttribute(`src`)){let t=J(this.#r,this.#I());if(!t)return this.#n.resolve(),!1;e.src=t}try{this.#t=new G(e)}catch{return this.#E=new l(`The attached iframe is not a Vimeo embed.`,l.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),this.#n.resolve(),!1}return this.#z(this.#t),this.#B(this.#t),this.dispatchEvent(new Event(`loadstart`)),!0}get paused(){return this.#f}get ended(){return this.#p}get seeking(){return this.#m}async play(){await this.#n,await this.#t?.play()}pause(){this.#t?.pause().catch(()=>{})}get currentTime(){return this.#h}set currentTime(e){this.#h!==e&&(this.#h=e,this.#F(t=>t.setCurrentTime(e)))}get duration(){return this.#g}get volume(){return this.#_}set volume(e){this.#_!==e&&(this.#_=e,this.#F(t=>t.setVolume(e)))}get muted(){return this.#v}set muted(e){this.#v!==e&&(this.#v=e,this.#F(t=>t.setMuted(e)))}get playbackRate(){return this.#y}set playbackRate(e){this.#y!==e&&(this.#y=e,this.#F(t=>t.setPlaybackRate(e)))}get autoplay(){return this.#i}set autoplay(e){this.#i=e}get defaultMuted(){return this.#a}set defaultMuted(e){this.#a=e}get loop(){return this.#o}set loop(e){this.#o=e,this.#F(t=>t.setLoop(e))}get controls(){return this.#s}set controls(e){this.#s=e}get playsInline(){return this.#c}set playsInline(e){this.#c=e}get preload(){return this.#l}set preload(e){this.#l=e}get poster(){return this.#u}set poster(e){this.#u=e}get source(){return this.#d}set source(e){let t=e??null;if(t===this.#d)return;let n=t?.src??``,i=this.#r!==n,a=!r(this.#d?.engine?.vimeo??null,t?.engine?.vimeo??null);this.#d=t,this.#r=n,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get contentData(){return this.#T}#P(e){return this.#w===e?!1:(this.#w=e,this.#T=e?{title:e}:{},!0)}get buffered(){return this.#b>0?u(0,this.#b):c}get seekable(){return this.#g>0&&Number.isFinite(this.#g)?u(0,this.#g):c}get error(){return this.#E}get textTracks(){return this.#A??=globalThis.document?.createElement(`video`)??null,this.#A?.textTracks??s}get videoWidth(){return this.#x}get videoHeight(){return this.#S}get isFullscreen(){return this.#D}async requestFullscreen(){await this.#n,await this.#t?.requestFullscreen?.(),this.#D=!0}async exitFullscreen(){await this.#n,await this.#t?.exitFullscreen?.(),this.#D=!1}get isPictureInPicture(){return this.#O}get disablePictureInPicture(){return this.#k}set disablePictureInPicture(e){this.#k=e}async requestPictureInPicture(){await this.#n,await this.#t?.requestPictureInPicture?.().then(()=>{this.#O=!0},console.error)}async exitPictureInPicture(){await this.#n,await this.#t?.exitPictureInPicture?.().then(()=>{this.#O=!1},console.error)}#F(e){this.#n.then(()=>this.#t&&void e(this.#t).catch(()=>{}),()=>{})}#I(){return{autoplay:this.#i,defaultMuted:this.#a,loop:this.#o,controls:this.#s,playsInline:this.#c,preload:this.#l||K.preload,source:this.#d}}#L(){this.#h=0,this.#g=NaN,this.#v=!1,this.#f=!this.#i,this.#p=!1,this.#y=1,this.#b=0,this.#C=Z,this.#m=!1,this.#_=1,this.#E=null,this.#x=NaN,this.#S=NaN,this.#D=!1,this.#O=!1,this.#P(``)&&this.dispatchEvent(new Event(`contentdatachange`))}async#R(){let e=this.#n;this.#C=_e;let t=this.#t,n=!1;if(t){let[r,i,a,o]=await Promise.all([t.getMuted().catch(()=>this.#v),t.getVolume().catch(()=>this.#_),t.getDuration().catch(()=>this.#g),t.getVideoTitle().catch(()=>this.#w)]);if(e!==this.#n)return;this.#v=r,this.#_=i,this.#g=a,n=this.#P(o)}n&&this.dispatchEvent(new Event(`contentdatachange`));for(let e of[`loadedmetadata`,`durationchange`,`volumechange`,`loadcomplete`])this.dispatchEvent(new Event(e));e.resolve()}#z(e){let t=e=>this.dispatchEvent(new Event(e));e.on(`loaded`,()=>this.#R()),e.on(`bufferstart`,()=>t(`waiting`)),e.on(`play`,()=>{this.#f=!1,t(`play`)}),e.on(`playing`,()=>{this.#C=Q,this.#f=!1,t(`playing`)}),e.on(`seeking`,()=>{this.#m=!0,t(`seeking`)}),e.on(`seeked`,()=>{this.#m=!1,t(`seeked`)}),e.on(`pause`,()=>{this.#f=!0,t(`pause`)}),e.on(`ended`,()=>{this.#f=!0,this.#p=!0,t(`ended`)}),e.on(`playbackratechange`,({playbackRate:e})=>{this.#y=e,t(`ratechange`)}),e.on(`volumechange`,({volume:e})=>{this.#_=e,t(`volumechange`)}),e.on(`durationchange`,({duration:e})=>{this.#g=e,t(`durationchange`)}),e.on(`timeupdate`,({seconds:e,duration:n})=>{this.#h=e,Number.isFinite(n)&&n!==this.#g&&(this.#g=n),t(`timeupdate`)}),e.on(`progress`,({seconds:e})=>{this.#b=e,t(`progress`)}),e.on(`resize`,({videoWidth:e,videoHeight:n})=>{this.#x=e,this.#S=n,t(`resize`)}),e.on(`fullscreenchange`,({fullscreen:e})=>{this.#D=e,t(`fullscreenchange`)}),e.on(`enterpictureinpicture`,()=>{this.#O=!0,t(`enterpictureinpicture`)}),e.on(`leavepictureinpicture`,()=>{this.#O=!1,t(`leavepictureinpicture`)}),e.on(`error`,()=>{this.#E={code:1,message:`Vimeo playback error`},t(`error`),this.#n.resolve()})}#B(r){let i=globalThis.document;if(n(i))return;this.#V();let a=i.createElement(`video`);this.#A=a,r.getTextTracks().then(n=>{for(let r of n)!t(r.kind)||e(r.kind)||p(()=>a.addTextTrack?.(r.kind,r.label??``,r.language??``))}).catch(()=>{}),this.#j=new AbortController,a.textTracks?.addEventListener?.(`change`,()=>{let e=Array.from(a.textTracks).find(e=>e.mode===`showing`);e?r.enableTextTrack(e.language,e.kind).catch(()=>{}):r.disableTextTrack().catch(()=>{})},{signal:this.#j.signal})}#V(){this.#j?.abort(),this.#j=null,this.#A=null}};function q(e){if(!e)return null;if(/^\d+$/.test(e))return{id:Number(e),kind:`video`,hash:null};let t=ge.exec(e);if(!t)return null;let n=t[1]===`event/`?`event`:`video`,r=null;try{r=new URL(e).searchParams.get(`h`)}catch{}return{id:Number(t[2]),kind:n,hash:r??t[3]??null}}function J(e,t={}){let n=q(e);if(!n)return``;let r={controls:t.controls===!0?null:0,autoplay:t.autoplay,loop:t.loop,muted:t.defaultMuted,playsinline:t.playsInline??K.playsInline,preload:t.preload??K.preload,transparent:!1,h:n.hash,...t.source?.engine?.vimeo??void 0};if(n.kind===`event`){let e=n.hash?`/${n.hash}`:``;return delete r.h,`${X}/${n.id}/embed${e}?${m(r)}`}return`${Y}/${n.id}?${m(r)}`}const Y=`https://player.vimeo.com/video`,X=`https://vimeo.com/event`,ge=/vimeo\.com\/(video\/|event\/)?(\d+)(?:\/([\w-]+))?/,Z=0,_e=1,Q=3;function ve(e,t){let n=q(e);return n?{url:`${n.kind===`event`?`${X}/${n.id}/embed`:`${Y}/${n.id}`}${n.hash?`?h=${n.hash}`:``}`,...t}:null}var ye=class extends i(`iframe`,he){static{this.getTemplateHTML=e=>{let t=J(e.src??``,be(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="${a(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${a(e.referrerpolicy??``)}" ></iframe>`}}};function be(e){return{autoplay:e.autoplay!==void 0,defaultMuted:e.muted!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var xe=class extends h(ye){},$=class extends xe{static{this.tagName=`vimeo-video`}};o($);export{$ as VimeoVideoElement};
16
16
  //# sourceMappingURL=vimeo-video.js.map
@@ -5,10 +5,10 @@ import { a as escapeHtml } from "../attributes-c6az3W3y.js";
5
5
  import { i as safeDefine } from "../context-OhQY847V.js";
6
6
  import { t as noop } from "../noop-BxkeRIz9.js";
7
7
  import { t as loadScript } from "../script-erPJaaTz.js";
8
- import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
9
- import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
10
8
  import { n as EMPTY_TEXT_TRACKS, r as EMPTY_TIME_RANGES } from "../constants-CsSwyIX6.js";
11
9
  import { t as MediaError } from "../media-error-zO-Hg4un.js";
10
+ import { n as createTimeRange, r as createPublicPromise, t as MediaPlayedRangesMixin } from "../media-played-ranges-Yd9acuMt.js";
11
+ import { n as tryCall, t as serializeEmbedParams } from "../embed-params-W6T88S8x.js";
12
12
  import { t as MediaAttachMixin } from "../media-attach-mixin-uThv5NL_.js";
13
13
 
14
14
  //#region ../media/dist/dev/dom/youtube/props.js
@@ -1,2 +1,2 @@
1
- import{o as e,u as t}from"../predicate-LbFu-fPH.js";import{t as n}from"../deep-equal-CcwdHo6t.js";import{t as r}from"../custom-media-element-8pSkwn42.js";import{a as i}from"../attributes-CwICYz98.js";import{i as a}from"../context-C2rsoDxk.js";import{t as o}from"../noop-Ch0IHcOP.js";import{t as s}from"../script-D3ZkiqwO.js";import{n as c,r as l,t as u}from"../media-played-ranges-CM2zeOGr.js";import{n as d,t as f}from"../embed-params-D2e8u0d4.js";import{n as p,r as m}from"../constants-B4LD5zrj.js";import{t as h}from"../media-error-CtsbOTR1.js";import{t as g}from"../media-attach-mixin-Igi3-1UG.js";const _={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function v(e){if(!e)return null;if(/^[\w-]{11}$/.test(e))return{id:e,kind:`video`,listId:null,startTime:null,noCookie:!1};let t=e.includes(`-nocookie`),n=C.exec(e),r=w.exec(e),i=n?.[1]??null,a=i===`videoseries`?null:i;return!a&&!r?null:{id:a,kind:a?`video`:`playlist`,listId:r?.[1]??null,startTime:b(e),noCookie:t}}function y(e,t={}){let n=v(e);if(!n)return``;let r=n.noCookie?S:x,i={controls:t.controls===!0?null:0,autoplay:t.autoplay,loop:t.loop,mute:t.defaultMuted,playsinline:t.playsInline??_.playsInline,preload:t.preload??_.preload,enablejsapi:1,rel:0,iv_load_policy:3,start:n.startTime,...t.source?.engine?.youtube??void 0};return n.kind===`playlist`&&n.listId?`${r}?${f({listType:`playlist`,list:n.listId,...i})}`:`${r}/${n.id}?${f(i)}`}function b(e){let t=/[?&]t=([\dhms]+)/i.exec(e)?.[1]?.toLowerCase();if(!t)return null;let n=0,r=!1,i=/(\d+)h/.exec(t)?.[1];i&&(n+=Number.parseInt(i,10)*3600,r=!0);let a=/(\d+)m/.exec(t)?.[1];a&&(n+=Number.parseInt(a,10)*60,r=!0);let o=/(\d+)s?$/.exec(t)?.[1];return o&&(n+=Number.parseInt(o,10),r=!0),r?n:null}const x=`https://www.youtube.com/embed`,S=`https://www.youtube-nocookie.com/embed`,C=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((?:\w|-){11})/,w=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/.*?[?&]list=)([\w-]+)/;async function T(){let e=globalThis.YT;if(e?.Player)return e;await s(`https://www.youtube.com/iframe_api`);let t=globalThis.YT;if(!t)throw Error(`YouTube iframe API failed to load`);return await new Promise(e=>t.ready(e)),t}const E={2:h.MEDIA_ERR_SRC_NOT_SUPPORTED,5:h.MEDIA_ERR_DECODE,100:h.MEDIA_ERR_SRC_NOT_SUPPORTED,101:h.MEDIA_ERR_SRC_NOT_SUPPORTED,150:h.MEDIA_ERR_SRC_NOT_SUPPORTED},D=u(EventTarget);var O=class extends D{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=l();#o=0;#s=_.src;#c=_.autoplay;#l=_.defaultMuted;#u=_.loop;#d=_.controls;#f=_.playsInline;#p=_.preload;#m=_.poster;#h=_.source;#g=!0;#_=!1;#v=!1;#y=!1;#b=!1;#x=0;#S=NaN;#C=1;#w=!1;#T=1;#E=0;#D=k;#O=null;#k=!1;#A=null;#j=null;#M=null;static PLAYER_SOFTWARE_NAME=`youtube-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.#P())}detach(){this.#e&&(this.#o++,this.#G(),this.#Y(),d(()=>this.#t?.destroy()),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#e=null,this.#a.resolve(),this.#z())}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.#D}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t&&!this.#i){let e=this.#N();if(await Promise.resolve(),e!==this.#a)return;this.#P()}return}let e=this.#N();if(this.#z(),this.dispatchEvent(new Event(`emptied`)),!this.#s){e.resolve(),this.#G(),d(()=>this.#t?.stopVideo());return}this.dispatchEvent(new Event(`loadstart`));let t=v(this.#s);if(!t){this.#O=new h(`Unrecognized YouTube source: ${this.#s}`,h.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve();return}if(t.kind===`playlist`&&t.listId){let e={list:t.listId,listType:`playlist`};this.#c?this.#t.loadPlaylist(e):this.#t.cuePlaylist(e)}else if(t.id){let e={videoId:t.id};t.startTime!=null&&(e.startSeconds=t.startTime),this.#c?this.#t.loadVideoById(e):this.#t.cueVideoById(e)}}#N(){return this.#a.resolve(),this.#a=l(),this.#a}get paused(){return this.#g}get ended(){return this.#_}get seeking(){return this.#v}async play(){await this.#a,this.#s&&this.#t?.playVideo()}pause(){this.#t?.pauseVideo()}get currentTime(){return this.#x}set currentTime(e){this.#x!==e&&(this.#x=e,this.#L(t=>t.seekTo(e,!0)))}get duration(){return this.#S}get volume(){return this.#C}set volume(e){this.#C!==e&&(this.#C=e,this.#L(t=>t.setVolume(e*100)))}get muted(){return this.#w}set muted(e){this.#w!==e&&(this.#w=e,this.#L(t=>e?t.mute():t.unMute()))}get playbackRate(){return this.#T}set playbackRate(e){this.#T!==e&&(this.#T=e,this.#L(t=>t.setPlaybackRate(e)))}get autoplay(){return this.#c}set autoplay(e){this.#c=e}get defaultMuted(){return this.#l}set defaultMuted(e){this.#l=e}get loop(){return this.#u}set loop(e){this.#u=e}get controls(){return this.#d}set controls(e){this.#d=e}get playsInline(){return this.#f}set playsInline(e){this.#f=e}get preload(){return this.#p}set preload(e){this.#p=e}get poster(){return this.#m}set poster(e){this.#m=e}get source(){return this.#h}set source(e){let t=e??null;if(t===this.#h)return;let r=t?.src??``,i=this.#s!==r,a=!n(this.#h?.engine?.youtube??null,t?.engine?.youtube??null);this.#h=t,this.#s=r,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#E>0?c(0,this.#E):m}get seekable(){return this.#S>0&&Number.isFinite(this.#S)?c(0,this.#S):m}get error(){return this.#O}get textTracks(){return this.#j??=globalThis.document?.createElement(`video`)??null,this.#j?.textTracks??p}get isFullscreen(){return this.#k}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#k=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#k=!1}#P(){let e=this.#e;if(!e||this.#t||this.#i)return!1;if(!e.getAttribute(`src`)){let t=y(this.#s,this.#R());if(!t)return this.#a.resolve(),!1;e.src=t}return this.#i=!0,this.dispatchEvent(new Event(`loadstart`)),this.#F(e),!0}async#F(e){let t=this.#o,n;try{n=await T()}catch{if(this.#I(t))return;this.#i=!1,this.#O=new h(`Failed to load the YouTube iframe API`,h.MEDIA_ERR_NETWORK),this.dispatchEvent(new Event(`error`)),this.#a.resolve();return}if(this.#I(t)||this.#e!==e)return;let r=new n.Player(e,{events:{onReady:()=>{this.#I(t)||this.#B()},onError:e=>{this.#I(t)||this.#H(e.data)}}});this.#t=r,this.#i=!1,this.#U(r,t),this.#q(r)}#I(e){return e!==this.#o}#L(e){this.#a.then(()=>{let t=this.#t;t&&d(()=>e(t))},o)}#R(){return{autoplay:this.#c,defaultMuted:this.#l,loop:this.#u,controls:this.#d,playsInline:this.#f,preload:this.#p||_.preload,source:this.#h}}#z(){this.#x=0,this.#S=NaN,this.#w=!1,this.#g=!this.#c,this.#_=!1,this.#T=1,this.#E=0,this.#D=k,this.#v=!1,this.#y=!1,this.#b=!1,this.#C=1,this.#O=null,this.#k=!1}#B(){if(this.#n=!0,this.#r){this.#r=!1,this.load();return}this.#V()}#V(){if(this.#y)return;this.#y=!0,this.#D=A;let e=this.#t;e&&(this.#S=e.getDuration()||NaN,this.#w=e.isMuted(),this.#C=e.getVolume()/100,this.#T=e.getPlaybackRate());for(let e of[`loadedmetadata`,`durationchange`,`volumechange`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#a.resolve(),this.#W()}#H(e){let t=new h(`YouTube iframe player error #${e}; visit https://developers.google.com/youtube/iframe_api_reference#onError for the full error message.`,E[e]??h.MEDIA_ERR_CUSTOM,!0);t.data={youtubeErrorCode:e},this.#O=t,this.dispatchEvent(new Event(`error`)),this.#a.resolve()}#U(e,t){let n=e=>this.dispatchEvent(new Event(e));e.addEventListener(`onStateChange`,({data:r})=>{if(!this.#I(t))if(this.#s&&!this.#y&&r!==-1&&this.#V(),(r===1||r===3)&&(this.#b||(this.#b=!0,this.#g=!1,this.#_=!1,n(`play`)),this.#J(e)),r===3)n(`waiting`);else if(r===1)this.#v&&(this.#v=!1,n(`seeked`)),this.#D=j,this.#g=!1,n(`playing`);else if(r===2){let t=Math.abs(e.getCurrentTime()-this.#x);!this.#v&&t>.1&&(this.#v=!0,n(`seeking`)),this.#b=!1,this.#g=!0,n(`pause`)}else r===0&&(this.#b=!1,this.#g=!0,n(`pause`),this.#_=!0,n(`ended`),this.#u&&this.play())}),e.addEventListener(`onPlaybackRateChange`,()=>{this.#I(t)||(this.#T=e.getPlaybackRate(),n(`ratechange`))}),e.addEventListener(`onVolumeChange`,()=>{this.#I(t)||(this.#C=e.getVolume()/100,this.#w=e.isMuted(),n(`volumechange`))})}#W(){this.#G(),this.#A=setInterval(()=>this.#K(),50)}#G(){this.#A!==null&&(clearInterval(this.#A),this.#A=null)}#K(){let t=this.#t;if(!t)return;let n=t.getCurrentTime(),r=t.getDuration(),i=t.getVideoLoadedFraction()*r;this.#v&&i>.1?(this.#v=!1,this.dispatchEvent(new Event(`seeked`))):!this.#v&&Math.abs(n-this.#x)>.1&&(this.#v=!0,this.dispatchEvent(new Event(`seeking`))),n!==this.#x&&(this.#x=n,this.dispatchEvent(new Event(`timeupdate`))),e(r)&&r>0&&r!==this.#S&&(this.#S=r,this.dispatchEvent(new Event(`durationchange`))),i!==this.#E&&(this.#E=i,r>0&&i>=r&&(this.#D=M),this.dispatchEvent(new Event(`progress`)))}#q(e){let n=globalThis.document;if(t(n))return;this.#Y();let r=n.createElement(`video`);this.#j=r,this.#M=new AbortController,r.textTracks?.addEventListener?.(`change`,()=>{let t=Array.from(r.textTracks).find(e=>e.mode===`showing`);d(()=>e.setOption(`captions`,`track`,t?{languageCode:t.language}:{}))},{signal:this.#M.signal})}#J(e){let t=this.#j;if(!t)return;let n=e.getOption(`captions`,`tracklist`)??[];for(let e of n)e.languageCode&&(Array.from(t.textTracks).some(t=>t.language===e.languageCode)||d(()=>t.addTextTrack?.(`subtitles`,e.displayName??``,e.languageCode)))}#Y(){this.#M?.abort(),this.#M=null,this.#j=null}};const k=0,A=1,j=3,M=4;var N=class extends r(`iframe`,O){static{this.getTemplateHTML=e=>{let t=y(e.src??``,P(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="${i(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${i(e.referrerpolicy??``)}" ></iframe>`}}};function P(e){return{autoplay:e.autoplay!==void 0,defaultMuted:e.muted!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var F=class extends g(N){},I=class extends F{static{this.tagName=`youtube-video`}};a(I);export{I as YouTubeVideoElement};
1
+ import{o as e,u as t}from"../predicate-LbFu-fPH.js";import{t as n}from"../deep-equal-CcwdHo6t.js";import{t as r}from"../custom-media-element-8pSkwn42.js";import{a as i}from"../attributes-CwICYz98.js";import{i as a}from"../context-C2rsoDxk.js";import{t as o}from"../noop-Ch0IHcOP.js";import{t as s}from"../script-D3ZkiqwO.js";import{n as c,r as l}from"../constants-B4LD5zrj.js";import{t as u}from"../media-error-CtsbOTR1.js";import{n as d,r as f,t as p}from"../media-played-ranges-CM2zeOGr.js";import{n as m,t as h}from"../embed-params-D2e8u0d4.js";import{t as g}from"../media-attach-mixin-Igi3-1UG.js";const _={src:``,autoplay:!1,defaultMuted:!1,muted:!1,loop:!1,controls:!1,playsInline:!0,preload:`metadata`,poster:``,source:null};function v(e){if(!e)return null;if(/^[\w-]{11}$/.test(e))return{id:e,kind:`video`,listId:null,startTime:null,noCookie:!1};let t=e.includes(`-nocookie`),n=C.exec(e),r=w.exec(e),i=n?.[1]??null,a=i===`videoseries`?null:i;return!a&&!r?null:{id:a,kind:a?`video`:`playlist`,listId:r?.[1]??null,startTime:b(e),noCookie:t}}function y(e,t={}){let n=v(e);if(!n)return``;let r=n.noCookie?S:x,i={controls:t.controls===!0?null:0,autoplay:t.autoplay,loop:t.loop,mute:t.defaultMuted,playsinline:t.playsInline??_.playsInline,preload:t.preload??_.preload,enablejsapi:1,rel:0,iv_load_policy:3,start:n.startTime,...t.source?.engine?.youtube??void 0};return n.kind===`playlist`&&n.listId?`${r}?${h({listType:`playlist`,list:n.listId,...i})}`:`${r}/${n.id}?${h(i)}`}function b(e){let t=/[?&]t=([\dhms]+)/i.exec(e)?.[1]?.toLowerCase();if(!t)return null;let n=0,r=!1,i=/(\d+)h/.exec(t)?.[1];i&&(n+=Number.parseInt(i,10)*3600,r=!0);let a=/(\d+)m/.exec(t)?.[1];a&&(n+=Number.parseInt(a,10)*60,r=!0);let o=/(\d+)s?$/.exec(t)?.[1];return o&&(n+=Number.parseInt(o,10),r=!0),r?n:null}const x=`https://www.youtube.com/embed`,S=`https://www.youtube-nocookie.com/embed`,C=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((?:\w|-){11})/,w=/(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/.*?[?&]list=)([\w-]+)/;async function T(){let e=globalThis.YT;if(e?.Player)return e;await s(`https://www.youtube.com/iframe_api`);let t=globalThis.YT;if(!t)throw Error(`YouTube iframe API failed to load`);return await new Promise(e=>t.ready(e)),t}const E={2:u.MEDIA_ERR_SRC_NOT_SUPPORTED,5:u.MEDIA_ERR_DECODE,100:u.MEDIA_ERR_SRC_NOT_SUPPORTED,101:u.MEDIA_ERR_SRC_NOT_SUPPORTED,150:u.MEDIA_ERR_SRC_NOT_SUPPORTED},D=p(EventTarget);var O=class extends D{#e=null;#t=null;#n=!1;#r=!1;#i=!1;#a=f();#o=0;#s=_.src;#c=_.autoplay;#l=_.defaultMuted;#u=_.loop;#d=_.controls;#f=_.playsInline;#p=_.preload;#m=_.poster;#h=_.source;#g=!0;#_=!1;#v=!1;#y=!1;#b=!1;#x=0;#S=NaN;#C=1;#w=!1;#T=1;#E=0;#D=k;#O=null;#k=!1;#A=null;#j=null;#M=null;static PLAYER_SOFTWARE_NAME=`youtube-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.#P())}detach(){this.#e&&(this.#o++,this.#G(),this.#Y(),m(()=>this.#t?.destroy()),this.#t=null,this.#n=!1,this.#r=!1,this.#i=!1,this.#e=null,this.#a.resolve(),this.#z())}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.#D}async load(){if(!this.#t||!this.#n){if(this.#r=!!this.#e,this.#e&&!this.#t&&!this.#i){let e=this.#N();if(await Promise.resolve(),e!==this.#a)return;this.#P()}return}let e=this.#N();if(this.#z(),this.dispatchEvent(new Event(`emptied`)),!this.#s){e.resolve(),this.#G(),m(()=>this.#t?.stopVideo());return}this.dispatchEvent(new Event(`loadstart`));let t=v(this.#s);if(!t){this.#O=new u(`Unrecognized YouTube source: ${this.#s}`,u.MEDIA_ERR_SRC_NOT_SUPPORTED),this.dispatchEvent(new Event(`error`)),e.resolve();return}if(t.kind===`playlist`&&t.listId){let e={list:t.listId,listType:`playlist`};this.#c?this.#t.loadPlaylist(e):this.#t.cuePlaylist(e)}else if(t.id){let e={videoId:t.id};t.startTime!=null&&(e.startSeconds=t.startTime),this.#c?this.#t.loadVideoById(e):this.#t.cueVideoById(e)}}#N(){return this.#a.resolve(),this.#a=f(),this.#a}get paused(){return this.#g}get ended(){return this.#_}get seeking(){return this.#v}async play(){await this.#a,this.#s&&this.#t?.playVideo()}pause(){this.#t?.pauseVideo()}get currentTime(){return this.#x}set currentTime(e){this.#x!==e&&(this.#x=e,this.#L(t=>t.seekTo(e,!0)))}get duration(){return this.#S}get volume(){return this.#C}set volume(e){this.#C!==e&&(this.#C=e,this.#L(t=>t.setVolume(e*100)))}get muted(){return this.#w}set muted(e){this.#w!==e&&(this.#w=e,this.#L(t=>e?t.mute():t.unMute()))}get playbackRate(){return this.#T}set playbackRate(e){this.#T!==e&&(this.#T=e,this.#L(t=>t.setPlaybackRate(e)))}get autoplay(){return this.#c}set autoplay(e){this.#c=e}get defaultMuted(){return this.#l}set defaultMuted(e){this.#l=e}get loop(){return this.#u}set loop(e){this.#u=e}get controls(){return this.#d}set controls(e){this.#d=e}get playsInline(){return this.#f}set playsInline(e){this.#f=e}get preload(){return this.#p}set preload(e){this.#p=e}get poster(){return this.#m}set poster(e){this.#m=e}get source(){return this.#h}set source(e){let t=e??null;if(t===this.#h)return;let r=t?.src??``,i=this.#s!==r,a=!n(this.#h?.engine?.youtube??null,t?.engine?.youtube??null);this.#h=t,this.#s=r,(i||a)&&this.load(),this.dispatchEvent(new Event(`sourcechange`))}get buffered(){return this.#E>0?d(0,this.#E):l}get seekable(){return this.#S>0&&Number.isFinite(this.#S)?d(0,this.#S):l}get error(){return this.#O}get textTracks(){return this.#j??=globalThis.document?.createElement(`video`)??null,this.#j?.textTracks??c}get isFullscreen(){return this.#k}async requestFullscreen(){this.#e?.requestFullscreen&&(await this.#e.requestFullscreen(),this.#k=!0)}async exitFullscreen(){let e=globalThis.document;e?.fullscreenElement&&e.fullscreenElement===this.#e&&await e.exitFullscreen(),this.#k=!1}#P(){let e=this.#e;if(!e||this.#t||this.#i)return!1;if(!e.getAttribute(`src`)){let t=y(this.#s,this.#R());if(!t)return this.#a.resolve(),!1;e.src=t}return this.#i=!0,this.dispatchEvent(new Event(`loadstart`)),this.#F(e),!0}async#F(e){let t=this.#o,n;try{n=await T()}catch{if(this.#I(t))return;this.#i=!1,this.#O=new u(`Failed to load the YouTube iframe API`,u.MEDIA_ERR_NETWORK),this.dispatchEvent(new Event(`error`)),this.#a.resolve();return}if(this.#I(t)||this.#e!==e)return;let r=new n.Player(e,{events:{onReady:()=>{this.#I(t)||this.#B()},onError:e=>{this.#I(t)||this.#H(e.data)}}});this.#t=r,this.#i=!1,this.#U(r,t),this.#q(r)}#I(e){return e!==this.#o}#L(e){this.#a.then(()=>{let t=this.#t;t&&m(()=>e(t))},o)}#R(){return{autoplay:this.#c,defaultMuted:this.#l,loop:this.#u,controls:this.#d,playsInline:this.#f,preload:this.#p||_.preload,source:this.#h}}#z(){this.#x=0,this.#S=NaN,this.#w=!1,this.#g=!this.#c,this.#_=!1,this.#T=1,this.#E=0,this.#D=k,this.#v=!1,this.#y=!1,this.#b=!1,this.#C=1,this.#O=null,this.#k=!1}#B(){if(this.#n=!0,this.#r){this.#r=!1,this.load();return}this.#V()}#V(){if(this.#y)return;this.#y=!0,this.#D=A;let e=this.#t;e&&(this.#S=e.getDuration()||NaN,this.#w=e.isMuted(),this.#C=e.getVolume()/100,this.#T=e.getPlaybackRate());for(let e of[`loadedmetadata`,`durationchange`,`volumechange`,`loadcomplete`])this.dispatchEvent(new Event(e));this.#a.resolve(),this.#W()}#H(e){let t=new u(`YouTube iframe player error #${e}; visit https://developers.google.com/youtube/iframe_api_reference#onError for the full error message.`,E[e]??u.MEDIA_ERR_CUSTOM,!0);t.data={youtubeErrorCode:e},this.#O=t,this.dispatchEvent(new Event(`error`)),this.#a.resolve()}#U(e,t){let n=e=>this.dispatchEvent(new Event(e));e.addEventListener(`onStateChange`,({data:r})=>{if(!this.#I(t))if(this.#s&&!this.#y&&r!==-1&&this.#V(),(r===1||r===3)&&(this.#b||(this.#b=!0,this.#g=!1,this.#_=!1,n(`play`)),this.#J(e)),r===3)n(`waiting`);else if(r===1)this.#v&&(this.#v=!1,n(`seeked`)),this.#D=j,this.#g=!1,n(`playing`);else if(r===2){let t=Math.abs(e.getCurrentTime()-this.#x);!this.#v&&t>.1&&(this.#v=!0,n(`seeking`)),this.#b=!1,this.#g=!0,n(`pause`)}else r===0&&(this.#b=!1,this.#g=!0,n(`pause`),this.#_=!0,n(`ended`),this.#u&&this.play())}),e.addEventListener(`onPlaybackRateChange`,()=>{this.#I(t)||(this.#T=e.getPlaybackRate(),n(`ratechange`))}),e.addEventListener(`onVolumeChange`,()=>{this.#I(t)||(this.#C=e.getVolume()/100,this.#w=e.isMuted(),n(`volumechange`))})}#W(){this.#G(),this.#A=setInterval(()=>this.#K(),50)}#G(){this.#A!==null&&(clearInterval(this.#A),this.#A=null)}#K(){let t=this.#t;if(!t)return;let n=t.getCurrentTime(),r=t.getDuration(),i=t.getVideoLoadedFraction()*r;this.#v&&i>.1?(this.#v=!1,this.dispatchEvent(new Event(`seeked`))):!this.#v&&Math.abs(n-this.#x)>.1&&(this.#v=!0,this.dispatchEvent(new Event(`seeking`))),n!==this.#x&&(this.#x=n,this.dispatchEvent(new Event(`timeupdate`))),e(r)&&r>0&&r!==this.#S&&(this.#S=r,this.dispatchEvent(new Event(`durationchange`))),i!==this.#E&&(this.#E=i,r>0&&i>=r&&(this.#D=M),this.dispatchEvent(new Event(`progress`)))}#q(e){let n=globalThis.document;if(t(n))return;this.#Y();let r=n.createElement(`video`);this.#j=r,this.#M=new AbortController,r.textTracks?.addEventListener?.(`change`,()=>{let t=Array.from(r.textTracks).find(e=>e.mode===`showing`);m(()=>e.setOption(`captions`,`track`,t?{languageCode:t.language}:{}))},{signal:this.#M.signal})}#J(e){let t=this.#j;if(!t)return;let n=e.getOption(`captions`,`tracklist`)??[];for(let e of n)e.languageCode&&(Array.from(t.textTracks).some(t=>t.language===e.languageCode)||m(()=>t.addTextTrack?.(`subtitles`,e.displayName??``,e.languageCode)))}#Y(){this.#M?.abort(),this.#M=null,this.#j=null}};const k=0,A=1,j=3,M=4;var N=class extends r(`iframe`,O){static{this.getTemplateHTML=e=>{let t=y(e.src??``,P(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="${i(t)}"`:``} allow="accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" width="100%" height="100%" referrerpolicy="${i(e.referrerpolicy??``)}" ></iframe>`}}};function P(e){return{autoplay:e.autoplay!==void 0,defaultMuted:e.muted!==void 0,loop:e.loop!==void 0,controls:e.controls!==void 0,playsInline:e.playsinline!==void 0,preload:e.preload??`metadata`}}var F=class extends g(N){},I=class extends F{static{this.tagName=`youtube-video`}};a(I);export{I as YouTubeVideoElement};
2
2
  //# sourceMappingURL=youtube-video.js.map
@@ -2,9 +2,11 @@ import { r as isFunction } from "./predicate-faYxAB6Z.js";
2
2
  import { t as namedNodeMapToObject } from "./attributes-c6az3W3y.js";
3
3
  import { t as shallowEqual } from "./shallow-equal-C7S8rj2f.js";
4
4
  import { t as listen } from "./listen-CdeggIF8.js";
5
- import { $ as getTracksByType, B as reportAbsentTrackType, C as updateMediaSourceDuration, E as setupVideoBufferActors, H as getResolvedSelectedTrackDuration, K as trackCurrentTime, P as endOfStream, R as collectErrors, U as parseMultivariantPlaylist, V as calculatePresentationDuration, W as canPlayTrack, X as AUDIO_TYPE_CONFIG, Y as loadVideoSegments, Z as VIDEO_TYPE_CONFIG, _ as tracksUnderPixelArea, _t as SVTA_UNSUPPORTED_DRM_SYSTEM, b as resolveVideoTrack, bt as effect, c as reportUnsupportedTrackConditions, ct as makeShareSignals, d as excludeUnplayableTracks, dt as computed, f as sameCandidateSet, ft as peek, gt as SVTA_NO_SUPPORTED_VIDEO_TRACK, h as pickAudioTrackFromTracks, it as isResolvedPresentation, l as applyConstraints, lt as createComposition, n as hasUnsupportedFeatureCause, o as UNPLAYABLE_SOURCE_MESSAGE, ot as createMachineReactor, p as byDescendingResolution, t as firstFatal, u as applyRules, ut as defineBehavior, vt as SVTA_UNSUPPORTED_PLAYBACK_FEATURE, w as setupMediaSource, x as resolvePresentation, yt as SVTA_UNSUPPORTED_VIDEO_FORMAT } from "./error-surface-D0bo71gD.js";
5
+ import { n as watchDevicePixelRatio, t as getDevicePixelRatio } from "./device-pixel-ratio-mmUkCbE0.js";
6
+ import { D as setupVideoBufferActors, F as endOfStream, G as canPlayTrack, H as calculatePresentationDuration, Q as VIDEO_TYPE_CONFIG, S as resolvePresentation, T as setupMediaSource, U as getResolvedSelectedTrackDuration, V as reportAbsentTrackType, W as parseMultivariantPlaylist, X as loadVideoSegments, Z as AUDIO_TYPE_CONFIG, _t as SVTA_NO_SUPPORTED_VIDEO_TRACK, at as isResolvedPresentation, bt as SVTA_UNSUPPORTED_VIDEO_FORMAT, c as reportUnsupportedTrackConditions, d as excludeUnplayableTracks, dt as defineBehavior, et as getTracksByType, f as sameCandidateSet, ft as computed, h as pickAudioTrackFromTracks, l as applyConstraints, lt as makeShareSignals, n as hasUnsupportedFeatureCause, o as UNPLAYABLE_SOURCE_MESSAGE, p as byDescendingResolution, pt as peek, q as trackCurrentTime, st as createMachineReactor, t as firstFatal, u as applyRules, ut as createComposition, v as tracksUnderPixelArea, vt as SVTA_UNSUPPORTED_DRM_SYSTEM, w as updateMediaSourceDuration, x as resolveVideoTrack, xt as effect, yt as SVTA_UNSUPPORTED_PLAYBACK_FEATURE, z as collectErrors } from "./error-surface-BOIu7qNS.js";
6
7
  import { t as MediaAttachMixin } from "./media-attach-mixin-uThv5NL_.js";
7
8
  import { t as getTemplateHTML } from "./template-CBmklOD-.js";
9
+ import { t as scaleResolution } from "./resolution-DPr_vTWF.js";
8
10
 
9
11
  //#region ../spf/dist/dev/playback/behaviors/select-tracks.js
10
12
  /**
@@ -247,13 +249,7 @@ defineBehavior({
247
249
  function getScreenResolution({ useDevicePixelRatio } = { useDevicePixelRatio: true }) {
248
250
  const screen = globalThis.screen;
249
251
  if (!screen) return void 0;
250
- const ratio = useDevicePixelRatio ? globalThis.devicePixelRatio || 1 : 1;
251
- const width = Math.round(screen.width * ratio);
252
- const height = Math.round(screen.height * ratio);
253
- return width > 0 && height > 0 ? {
254
- width,
255
- height
256
- } : void 0;
252
+ return scaleResolution(screen, useDevicePixelRatio ? getDevicePixelRatio() : 1);
257
253
  }
258
254
  /**
259
255
  * Call `onChange` whenever {@link getScreenResolution} would start answering
@@ -283,10 +279,9 @@ function getScreenResolution({ useDevicePixelRatio } = { useDevicePixelRatio: tr
283
279
  * when the display it was on goes away.
284
280
  * - **`screen.orientation` change** — rotation, which swaps the axes without
285
281
  * necessarily resizing the window.
286
- * - **a `(resolution: <ratio>dppx)` media query** — the device pixel ratio
287
- * changing under a window that kept its size, which is the cross-display drag
288
- * between displays of different density. Each query only answers about the ratio
289
- * it was built for, so it reports one change and its handler arms the next.
282
+ * - **a `(resolution: <ratio>dppx)` media query** (`watchDevicePixelRatio`) — the
283
+ * device pixel ratio changing under a window that kept its size, which is the
284
+ * cross-display drag between displays of different density.
290
285
  *
291
286
  * Worth keeping despite looking redundant, because it is the only coverage that
292
287
  * case has in WebKit and Firefox: neither implements `screen`'s change event,
@@ -312,18 +307,7 @@ function watchScreenResolution(onChange, options = { useDevicePixelRatio: true }
312
307
  onChange(next);
313
308
  };
314
309
  onChange(current);
315
- const watchRatio = () => {
316
- const query = globalThis.matchMedia?.(`(resolution: ${globalThis.devicePixelRatio}dppx)`);
317
- if (!query) return;
318
- listen(query, "change", () => {
319
- watchRatio();
320
- check();
321
- }, {
322
- once: true,
323
- signal
324
- });
325
- };
326
- watchRatio();
310
+ watchDevicePixelRatio(check, signal);
327
311
  const screen = globalThis.screen;
328
312
  const orientation = screen?.orientation;
329
313
  if (globalThis.window) listen(globalThis.window, "resize", check, { signal });
@@ -403,7 +387,7 @@ const shareSignals = makeShareSignals();
403
387
  function createBackgroundVideoEngine(config = {}) {
404
388
  const finalConfig = {
405
389
  ...config,
406
- constraints: config.constraints ?? [reportAbsentTrackType(2011), excludeUnplayableTracks],
390
+ constraints: config.constraints ?? [excludeUnplayableTracks, reportAbsentTrackType(2011)],
407
391
  rules: config.rules ?? [screenResolutionCap, preferHighestResolution],
408
392
  parsePresentation: config.parsePresentation ?? parseMultivariantPlaylist,
409
393
  resolveDuration: getResolvedSelectedTrackDuration,
@@ -448,9 +432,9 @@ function createBackgroundVideoEngine(config = {}) {
448
432
  * 1004 and an encrypted one 4008, each with no verdict behind it, and the element
449
433
  * then sits at `readyState 0` with `error` null forever.
450
434
  *
451
- * The verdict is still listed, for the one shape that reports nothing else: a
452
- * source offering no video renditions at all, which `reportAbsentTrackType`
453
- * reports from the head of the constraint chain.
435
+ * The verdict is still listed, for the shapes that report nothing else: no video
436
+ * renditions at all, or a ladder pruned before anything resolves — both of which
437
+ * `reportAbsentTrackType` covers from the tail of the constraint chain.
454
438
  *
455
439
  * First-fatal-wins then surfaces the cause rather than the verdict when both are
456
440
  * present, which is the more specific of the two.
@@ -822,4 +806,4 @@ var HlsBackgroundVideo = class extends HlsBackgroundVideoBase {
822
806
 
823
807
  //#endregion
824
808
  export { HlsBackgroundVideo as t };
825
- //# sourceMappingURL=media-mYKOAsk3.js.map
809
+ //# sourceMappingURL=media-B4uT13xV.js.map