@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
@@ -1 +1 @@
1
- {"version":3,"file":"poster-element-B8QwXSU_.js","names":["prefix","startText","stopText","prefix","#props","stopText","startText","#media","resolveText","prefix","#props","#media","resolveText","getCaptionTrackCount","#props","#media","resolveText","#props","#media","resolveText","#props","exitText","enterText","#media","resolveText","#props","#media","resolveText","#media","#loadState","#defaultCommandfor","#syncCommandFor","#mediaState","#core","#i18n","#options","#core","#children","#playback","#metadata","#disconnect","#adopt","#loadState","#image","#imageLoadState","#applySource","#owned","#imageEvents"],"sources":["../../core/dist/default/i18n/text/airplay.js","../../core/dist/default/i18n/text/cast.js","../../core/dist/default/core/ui/airplay-button/airplay-button-core.js","../../core/dist/default/core/ui/airplay-button/airplay-button-data-attrs.js","../../core/dist/default/i18n/text/captions.js","../../core/dist/default/core/ui/captions-button/captions-button-core.js","../../core/dist/default/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-core.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-data-attrs.js","../../core/dist/default/core/ui/cast-button/cast-button-core.js","../../core/dist/default/core/ui/cast-button/cast-button-data-attrs.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/default/i18n/text/pip.js","../../core/dist/default/core/ui/pip-button/pip-button-core.js","../../core/dist/default/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/default/core/ui/poster/poster-core.js","../../core/dist/default/core/ui/poster/poster-data-attrs.js","../src/ui/airplay-button/airplay-button-element.ts","../src/ui/command-for.ts","../src/ui/captions-button/captions-button-element.ts","../src/ui/captions-radio-group/captions-radio-group-element.ts","../src/ui/cast-button/cast-button-element.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/ui/pip-button/pip-button-element.ts","../src/ui/poster/poster-element.ts"],"sourcesContent":["//#region src/core/i18n/text/airplay.ts\nconst prefix = \"airplay.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start AirPlay\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop AirPlay\"\n};\n//#endregion\nexport { startText, stopText };\n\n//# sourceMappingURL=airplay.js.map","//#region src/core/i18n/text/cast.ts\nconst prefix = \"cast.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start casting\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop casting\"\n};\nconst connectingText = {\n\tkey: `${prefix}connecting`,\n\ttext: \"Connecting\"\n};\n//#endregion\nexport { connectingText, startText, stopText };\n\n//# sourceMappingURL=cast.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { startText, stopText } from \"../../../i18n/text/airplay.js\";\nimport { connectingText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { supportsWebKitAirPlay } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/airplay-button/airplay-button-core.ts\nvar AirPlayButtonCore = class AirPlayButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tstate: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AirPlayButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AirPlayButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.state === \"connected\") return stopText;\n\t\tif (state.state === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = supportsWebKitAirPlay() ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tstate: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\ttry {\n\t\t\tawait media.toggleRemotePlayback();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { AirPlayButtonCore };\n\n//# sourceMappingURL=airplay-button-core.js.map","//#region src/core/ui/airplay-button/airplay-button-data-attrs.ts\nconst AirPlayButtonDataAttrs = {\n\t/**\n\t* Current AirPlay connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tstate: \"data-airplay-state\",\n\t/**\n\t* Whether AirPlay is available on the active platform and media.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because AirPlay is unavailable. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { AirPlayButtonDataAttrs };\n\n//# sourceMappingURL=airplay-button-data-attrs.js.map","//#region src/core/i18n/text/captions.ts\nconst prefix = \"captions.\";\nconst enableText = {\n\tkey: `${prefix}enable`,\n\ttext: \"Enable captions\"\n};\nconst disableText = {\n\tkey: `${prefix}disable`,\n\ttext: \"Disable captions\"\n};\n//#endregion\nexport { disableText, enableText };\n\n//# sourceMappingURL=captions.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { disableText, enableText } from \"../../../i18n/text/captions.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false,\n\t\tmenuTrigger: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.subtitlesShowing ? disableText : enableText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some(isCaptionOrSubtitleTrack) ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unavailable\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\tif (this.#props.menuTrigger && getCaptionTrackCount(media) > 1) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\nfunction getCaptionTrackCount(media) {\n\treturn media.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because no caption tracks are present. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { captionsText, offText, subtitlesText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-radio-group/captions-radio-group-core.ts\nconst CAPTIONS_OFF_VALUE = \"off\";\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\treturn track.kind === \"captions\" ? captionsText : subtitlesText;\n}\nfunction sortCaptionTracks(a, b) {\n\treturn a.kind > b.kind ? 1 : a.kind < b.kind ? -1 : 0;\n}\nfunction getCaptionTracks(textTrackList) {\n\treturn textTrackList.filter(isCaptionOrSubtitleTrack).sort(sortCaptionTracks);\n}\nvar CaptionsRadioGroupCore = class CaptionsRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: \"off\",\n\t\tsubtitlesShowing: false,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn captionsText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tconst showingIndex = captionTracks.findIndex((track) => track.mode === \"showing\");\n\t\tconst options = [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}, ...captionTracks.map((track, index) => ({\n\t\t\tvalue: track.id || String(index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}))];\n\t\tconst availability = captionTracks.length > 0 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: showingIndex === -1 ? \"off\" : captionTracks[showingIndex].id || String(showingIndex),\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tdisabled: this.#props.disabled || captionTracks.length === 0,\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tif (!captionTracks.length) return;\n\t\tif (value === \"off\") {\n\t\t\tmedia.selectSubtitlesTrack(\"off\");\n\t\t\treturn;\n\t\t}\n\t\tif (!captionTracks.some((track, index) => (track.id || String(index)) === value)) return;\n\t\tmedia.selectSubtitlesTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { CAPTIONS_OFF_VALUE, CaptionsRadioGroupCore };\n\n//# sourceMappingURL=captions-radio-group-core.js.map","//#region src/core/ui/captions-radio-group/captions-radio-group-data-attrs.ts\nconst CaptionsRadioGroupDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Present when track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsRadioGroupDataAttrs };\n\n//# sourceMappingURL=captions-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { connectingText, startText, stopText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/cast-button/cast-button-core.ts\nvar CastButtonCore = class CastButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tconnection: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CastButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CastButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.connection === \"connected\") return stopText;\n\t\tif (state.connection === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = !!globalThis.chrome ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tconnection: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unsupported\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.toggleRemotePlayback();\n\t}\n};\n//#endregion\nexport { CastButtonCore };\n\n//# sourceMappingURL=cast-button-core.js.map","//#region src/core/ui/cast-button/cast-button-data-attrs.ts\nconst CastButtonDataAttrs = {\n\t/**\n\t* Current remote playback connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tconnection: \"data-cast-state\",\n\t/**\n\t* Whether remote playback can be requested on this platform.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because the feature is unsupported. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CastButtonDataAttrs };\n\n//# sourceMappingURL=cast-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/fullscreen.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.fullscreen ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.fullscreenAvailability;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.fullscreen ? media.exitFullscreen() : media.requestFullscreen();\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\t/** Present when fullscreen mode is active. */\n\tfullscreen: \"data-fullscreen\",\n\t/** Indicates fullscreen availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because fullscreen is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","//#region src/core/i18n/text/pip.ts\nconst prefix = \"pip.\";\nconst enterText = {\n\tkey: `${prefix}enter`,\n\ttext: \"Enter picture-in-picture\"\n};\nconst exitText = {\n\tkey: `${prefix}exit`,\n\ttext: \"Exit picture-in-picture\"\n};\n//#endregion\nexport { enterText, exitText };\n\n//# sourceMappingURL=pip.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/pip.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.pip ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.pipAvailability;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.pip ? media.exitPictureInPicture() : media.requestPictureInPicture();\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\t/** Present when picture-in-picture mode is active. */\n\tpip: \"data-pip\",\n\t/** Indicates picture-in-picture availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because picture-in-picture is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\n/**\n* Turns playback and metadata into poster presentation state.\n*\n* Owns no image of its own: a binding finds one, supplies how it is faring\n* through {@link PosterCore.setImageLoadState}, and paints the result.\n*/\nvar PosterCore = class {\n\t#media = null;\n\t#loadState = \"none\";\n\t/** Supply the latest player state. Call before reading {@link PosterCore.getState}. */\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\t/** Supply how the binding's image is faring. */\n\tsetImageLoadState(loadState) {\n\t\tthis.#loadState = loadState;\n\t}\n\t/** Derive the presentation state to paint. */\n\tgetState() {\n\t\tconst media = this.#media;\n\t\treturn {\n\t\t\tvisible: !media.started,\n\t\t\tsrc: media.poster,\n\t\t\tloading: this.#loadState === \"loading\",\n\t\t\tloaded: this.#loadState === \"loaded\",\n\t\t\terror: this.#loadState === \"error\"\n\t\t};\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = {\n\t/** Present until playback starts. */\n\tvisible: \"data-visible\",\n\t/** Present while the poster image is fetching. */\n\tloading: \"data-loading\",\n\t/** Present once the poster image has decoded. */\n\tloaded: \"data-loaded\",\n\t/** Present when the poster image failed. */\n\terror: \"data-error\"\n};\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { AirPlayButtonCore, AirPlayButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class AirPlayButtonElement extends MediaButtonElement<AirPlayButtonCore> {\n static readonly tagName = 'media-airplay-button';\n\n protected readonly core = new AirPlayButtonCore();\n protected readonly stateAttrMap = AirPlayButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): void {\n this.core.toggle(state);\n }\n}\n","/** Toggle a popup host linked via `commandfor` (menu, popover, etc.). */\nexport function toggleCommandTarget(host: HTMLElement, commandfor: string): void {\n const root = host.getRootNode() as Document | ShadowRoot;\n const target =\n ('getElementById' in root ? root.getElementById(commandfor) : null) ??\n root.querySelector<HTMLElement>(`#${CSS.escape(commandfor)}`);\n\n if (!target || !('open' in target)) return;\n\n const popup = target as { open: boolean };\n popup.open = !popup.open;\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, selectTextTrack, type UIEvent } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaTextTrackState } from '@videojs/media';\nimport { isCaptionOrSubtitleTrack } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { toggleCommandTarget } from '../command-for';\nimport { MediaButtonElement } from '../media-button-element';\n\nfunction getCaptionTrackCount(state: MediaTextTrackState): number {\n return state.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n commandfor: { type: String },\n menuFor: { type: String, attribute: 'menu-for' },\n } satisfies PropertyDeclarationMap<'label' | 'disabled' | 'commandfor' | 'menuFor'>;\n\n commandfor: string | undefined = undefined;\n menuFor: string | undefined = undefined;\n #defaultCommandfor: string | undefined = undefined;\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.commandfor && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n }\n\n protected activate(state: MediaTextTrackState, event?: UIEvent): void {\n if (this.menuFor && getCaptionTrackCount(state) > 1) {\n if (event instanceof KeyboardEvent) {\n toggleCommandTarget(this, this.menuFor);\n }\n return;\n }\n\n this.core.toggle(state);\n }\n\n protected override getIsButtonDisabled(): boolean {\n const media = this.mediaState.value;\n if (super.getIsButtonDisabled()) return true;\n if (media && getCaptionTrackCount(media) === 0) return true;\n return false;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n if (changed.has('commandfor') && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n\n if (changed.has('commandfor') || changed.has('menuFor')) {\n this.#syncCommandFor();\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n if (!media) return;\n\n this.#syncCommandFor(media);\n\n if (this.menuFor && getCaptionTrackCount(media) > 1) {\n applyElementProps(this, {\n 'aria-disabled': this.getIsButtonDisabled() ? 'true' : undefined,\n });\n }\n }\n\n #syncCommandFor(media?: MediaTextTrackState): void {\n const state = media ?? this.mediaState.value;\n const target = state && this.menuFor && getCaptionTrackCount(state) > 1 ? this.menuFor : this.#defaultCommandfor;\n\n if (target) {\n this.setAttribute('commandfor', target);\n } else {\n this.removeAttribute('commandfor');\n }\n }\n}\n\nexport namespace CaptionsButtonElement {\n export type State = CaptionsButtonCore.State;\n}\n","import { CaptionsRadioGroupCore, CaptionsRadioGroupDataAttrs, type CaptionsRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectTextTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class CaptionsRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-captions-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = CaptionsRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new CaptionsRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectTextTrack);\n readonly #options = new RadioOptionsController<CaptionsRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: CaptionsRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, CaptionsRadioGroupDataAttrs);\n }\n}\n\nexport namespace CaptionsRadioGroupElement {\n export type State = CaptionsRadioGroupCore.State;\n}\n","import { CastButtonCore, CastButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CastButtonElement extends MediaButtonElement<CastButtonCore> {\n static readonly tagName = 'media-cast-button';\n\n protected readonly core = new CastButtonCore();\n protected readonly stateAttrMap = CastButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\nimport type { MediaFullscreenState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\nimport type { MediaPictureInPictureState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePictureInPicture';\n\n protected activate(state: MediaPictureInPictureState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PosterCore, PosterDataAttrs, type PosterImageLoadState } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectMetadata, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\n/** What an element composes: whatever fills a slot, or the element's own children. */\nfunction composedChildren(element: Element): Element[] {\n if (element instanceof HTMLSlotElement) {\n const assigned = element.assignedElements();\n if (assigned.length > 0) return assigned;\n }\n\n return [...element.children];\n}\n\n/**\n * The first image an element composes. A skin forwards its own\n * `<slot name=\"poster\">` in, so the image is a slot or two down and may be\n * wrapped in a `<picture>` or a framework image component.\n */\nfunction findImage(element: Element): HTMLImageElement | null {\n for (const child of composedChildren(element)) {\n if (child instanceof HTMLImageElement) return child;\n\n const nested = findImage(child);\n if (nested) return nested;\n }\n\n return null;\n}\n\n/**\n * Whether anything already points this image somewhere, which answers both\n * whether the author owns the source and whether there is a download to wait\n * for. A `<source>` counts: inside a `<picture>` it can win over the `src`.\n */\nfunction hasSource(img: HTMLImageElement): boolean {\n if (img.hasAttribute('src') || img.hasAttribute('srcset')) return true;\n\n const parent = img.parentElement;\n return parent?.localName === 'picture' && parent.querySelector('source') !== null;\n}\n\n/**\n * Whether `complete` on this image describes a request. It is also true for one\n * that omits both `src` and `srcset`, whatever a parent `<picture>` is fetching\n * on its behalf, so only an image sourced from its own attributes can be read.\n */\nfunction hasOwnSource(img: HTMLImageElement): boolean {\n return !!img.getAttribute('src') || img.hasAttribute('srcset');\n}\n\n/** How the current source is faring. */\ntype ImageLoadState = 'pending' | 'loaded' | 'error';\n\n/**\n * `<media-poster>` — sets `src` on a poster image it does not own.\n *\n * The image is a child, as in `<picture>`, but sourcing runs the other way\n * around: `<picture>` treats the `src` on its `<img>` as the fallback, while\n * here an image with no source of its own is the one this element fills in.\n * Give the child a `src`, a `srcset`, or `<source>` candidates and it is yours,\n * left alone.\n *\n * Renders no image of its own, so include one:\n * `<media-poster><img alt=\"\"></media-poster>`. Inside a skin, an\n * `<img slot=\"poster\">` of yours replaces the one the skin carries.\n */\nexport class PosterElement extends MediaElement {\n static readonly tagName = 'media-poster';\n\n static get observedAttributes(): string[] {\n // biome-ignore lint/complexity/noThisInStatic: intentional use of super\n return [...super.observedAttributes, 'placeholdersrc'];\n }\n\n readonly #core = new PosterCore();\n readonly #children = new MutationObserver(() => this.requestUpdate());\n\n readonly #playback = new PlayerController(this, playerContext, selectPlayback);\n readonly #metadata = new PlayerController(this, playerContext, selectMetadata);\n\n #image: HTMLImageElement | null = null;\n /** Whether `#image` had no source of its own when it became active. */\n #owned = false;\n #imageLoadState: ImageLoadState = 'pending';\n\n #imageEvents: AbortController | null = null;\n #disconnect: AbortController | null = null;\n #warnedMissingImage = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n const { signal } = this.#disconnect;\n\n // Two ways the image can change: a skin's forwarding slot fills or empties,\n // which bubbles here, or a child is added or removed, which announces nothing.\n this.addEventListener('slotchange', () => this.requestUpdate(), { signal });\n this.#children.observe(this, { childList: true, subtree: true });\n\n if (__DEV__ && !this.#playback.value) {\n logMissingFeature(this.localName, this.#playback.displayName ?? 'playback');\n }\n }\n\n override attributeChangedCallback(attr: string, oldValue: string | null, newValue: string | null): void {\n super.attributeChangedCallback(attr, oldValue, newValue);\n\n if (attr === 'placeholdersrc') {\n if (newValue) {\n this.style.setProperty('--media-poster-placeholder', `url(${newValue})`);\n } else {\n this.style.removeProperty('--media-poster-placeholder');\n }\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.#adopt(null);\n this.#children.disconnect();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n get #loadState(): PosterImageLoadState {\n if (!this.#image || !hasSource(this.#image)) return 'none';\n return this.#imageLoadState === 'pending' ? 'loading' : this.#imageLoadState;\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const playback = this.#playback.value;\n if (!playback) return;\n\n // `metadata` is optional: without it nothing resolves a URL, and this stays\n // a visibility wrapper around whatever the author supplied.\n this.#core.setMedia({\n started: playback.started,\n poster: this.#metadata.value?.poster ?? '',\n });\n\n const { src } = this.#core.getState();\n\n this.#adopt(findImage(this));\n this.#applySource(src);\n\n this.#core.setImageLoadState(this.#loadState);\n applyStateDataAttrs(this, this.#core.getState(), PosterDataAttrs);\n }\n\n /**\n * Ownership is settled once, when an image becomes active: after the first fill\n * the `src` we set would itself look authored. Re-slot an image with a source\n * to hand it back, the way React decides a field is controlled at mount.\n */\n #adopt(next: HTMLImageElement | null): void {\n if (next === this.#image) return;\n\n // An image that steps aside keeps downloading whatever we pointed it at.\n if (this.#owned) this.#image?.removeAttribute('src');\n this.#imageEvents?.abort();\n this.#imageEvents = null;\n\n this.#image = next;\n this.#owned = next !== null && !hasSource(next);\n this.#imageLoadState = 'pending';\n\n if (!next) return;\n\n // An image that finished before we started listening never fires again, so\n // its load state has to be read off it. Decoded pixels stand on their own;\n // the absence of them only means failure once `complete` can be trusted.\n if (next.naturalWidth > 0) this.#imageLoadState = 'loaded';\n else if (next.complete && hasOwnSource(next)) this.#imageLoadState = 'error';\n\n this.#imageEvents = new AbortController();\n const { signal } = this.#imageEvents;\n const settle = (loadState: ImageLoadState) => () => {\n this.#imageLoadState = loadState;\n this.requestUpdate();\n };\n\n next.addEventListener('load', settle('loaded'), { signal });\n next.addEventListener('error', settle('error'), { signal });\n }\n\n #applySource(src: string): void {\n const img = this.#image;\n\n if (!img) {\n if (__DEV__ && src && !this.#warnedMissingImage) {\n this.#warnedMissingImage = true;\n console.warn(\n `<${this.localName}> resolved a poster but has no image to put it in. ` +\n `Add one as a child: <${this.localName}><img alt=\"\"></${this.localName}>`\n );\n }\n return;\n }\n\n if (!this.#owned) return;\n\n if (!src) {\n this.#imageLoadState = 'pending';\n img.removeAttribute('src');\n } else if (img.getAttribute('src') !== src) {\n // Reset before the write, not after: how the last source fared says\n // nothing about this one, and the write itself can settle it.\n this.#imageLoadState = 'pending';\n img.setAttribute('src', src);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"poster-element-Djlm5fwC.js","names":["prefix","startText","stopText","prefix","#props","stopText","startText","#media","resolveText","prefix","#props","#media","resolveText","getCaptionTrackCount","#props","#media","resolveText","#props","#media","resolveText","#props","exitText","enterText","#media","resolveText","#props","#media","resolveText","#media","#loadState","#defaultCommandfor","#syncCommandFor","#mediaState","#core","#i18n","#options","#core","#children","#playback","#metadata","#disconnect","#adopt","#loadState","#image","#imageLoadState","#applySource","#owned","#imageEvents"],"sources":["../../core/dist/default/i18n/text/airplay.js","../../core/dist/default/i18n/text/cast.js","../../core/dist/default/core/ui/airplay-button/airplay-button-core.js","../../core/dist/default/core/ui/airplay-button/airplay-button-data-attrs.js","../../core/dist/default/i18n/text/captions.js","../../core/dist/default/core/ui/captions-button/captions-button-core.js","../../core/dist/default/core/ui/captions-button/captions-button-data-attrs.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-core.js","../../core/dist/default/core/ui/captions-radio-group/captions-radio-group-data-attrs.js","../../core/dist/default/core/ui/cast-button/cast-button-core.js","../../core/dist/default/core/ui/cast-button/cast-button-data-attrs.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-core.js","../../core/dist/default/core/ui/fullscreen-button/fullscreen-button-data-attrs.js","../../core/dist/default/i18n/text/pip.js","../../core/dist/default/core/ui/pip-button/pip-button-core.js","../../core/dist/default/core/ui/pip-button/pip-button-data-attrs.js","../../core/dist/default/core/ui/poster/poster-core.js","../../core/dist/default/core/ui/poster/poster-data-attrs.js","../src/ui/airplay-button/airplay-button-element.ts","../src/ui/command-for.ts","../src/ui/captions-button/captions-button-element.ts","../src/ui/captions-radio-group/captions-radio-group-element.ts","../src/ui/cast-button/cast-button-element.ts","../src/ui/fullscreen-button/fullscreen-button-element.ts","../src/ui/pip-button/pip-button-element.ts","../src/ui/poster/poster-element.ts"],"sourcesContent":["//#region src/core/i18n/text/airplay.ts\nconst prefix = \"airplay.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start AirPlay\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop AirPlay\"\n};\n//#endregion\nexport { startText, stopText };\n\n//# sourceMappingURL=airplay.js.map","//#region src/core/i18n/text/cast.ts\nconst prefix = \"cast.\";\nconst startText = {\n\tkey: `${prefix}start`,\n\ttext: \"Start casting\"\n};\nconst stopText = {\n\tkey: `${prefix}stop`,\n\ttext: \"Stop casting\"\n};\nconst connectingText = {\n\tkey: `${prefix}connecting`,\n\ttext: \"Connecting\"\n};\n//#endregion\nexport { connectingText, startText, stopText };\n\n//# sourceMappingURL=cast.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { startText, stopText } from \"../../../i18n/text/airplay.js\";\nimport { connectingText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { supportsWebKitAirPlay } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/airplay-button/airplay-button-core.ts\nvar AirPlayButtonCore = class AirPlayButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tstate: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...AirPlayButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, AirPlayButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.state === \"connected\") return stopText;\n\t\tif (state.state === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = supportsWebKitAirPlay() ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tstate: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\ttry {\n\t\t\tawait media.toggleRemotePlayback();\n\t\t} catch {}\n\t}\n};\n//#endregion\nexport { AirPlayButtonCore };\n\n//# sourceMappingURL=airplay-button-core.js.map","//#region src/core/ui/airplay-button/airplay-button-data-attrs.ts\nconst AirPlayButtonDataAttrs = {\n\t/**\n\t* Current AirPlay connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tstate: \"data-airplay-state\",\n\t/**\n\t* Whether AirPlay is available on the active platform and media.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because AirPlay is unavailable. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { AirPlayButtonDataAttrs };\n\n//# sourceMappingURL=airplay-button-data-attrs.js.map","//#region src/core/i18n/text/captions.ts\nconst prefix = \"captions.\";\nconst enableText = {\n\tkey: `${prefix}enable`,\n\ttext: \"Enable captions\"\n};\nconst disableText = {\n\tkey: `${prefix}disable`,\n\ttext: \"Disable captions\"\n};\n//#endregion\nexport { disableText, enableText };\n\n//# sourceMappingURL=captions.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { disableText, enableText } from \"../../../i18n/text/captions.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-button/captions-button-core.ts\nvar CaptionsButtonCore = class CaptionsButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false,\n\t\tmenuTrigger: false\n\t};\n\tstate = createState({\n\t\tsubtitlesShowing: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.subtitlesShowing ? disableText : enableText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.textTrackList.some(isCaptionOrSubtitleTrack) ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unavailable\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\ttoggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\tif (this.#props.menuTrigger && getCaptionTrackCount(media) > 1) return;\n\t\tmedia.toggleSubtitles();\n\t}\n};\nfunction getCaptionTrackCount(media) {\n\treturn media.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n//#endregion\nexport { CaptionsButtonCore };\n\n//# sourceMappingURL=captions-button-core.js.map","//#region src/core/ui/captions-button/captions-button-data-attrs.ts\nconst CaptionsButtonDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because no caption tracks are present. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CaptionsButtonDataAttrs };\n\n//# sourceMappingURL=captions-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { captionsText, offText, subtitlesText } from \"../../../i18n/text/menu.js\";\nimport { createState } from \"@videojs/store\";\nimport { isCaptionOrSubtitleTrack } from \"@videojs/utils/dom\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/captions-radio-group/captions-radio-group-core.ts\nconst CAPTIONS_OFF_VALUE = \"off\";\nfunction formatTrackLabel(track) {\n\tif (track.label) return track.label;\n\tif (track.language) return track.language;\n\treturn track.kind === \"captions\" ? captionsText : subtitlesText;\n}\nfunction sortCaptionTracks(a, b) {\n\treturn a.kind > b.kind ? 1 : a.kind < b.kind ? -1 : 0;\n}\nfunction getCaptionTracks(textTrackList) {\n\treturn textTrackList.filter(isCaptionOrSubtitleTrack).sort(sortCaptionTracks);\n}\nvar CaptionsRadioGroupCore = class CaptionsRadioGroupCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tformatTrack: formatTrackLabel,\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\toptions: [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}],\n\t\tvalue: \"off\",\n\t\tsubtitlesShowing: false,\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tavailability: \"unavailable\",\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CaptionsRadioGroupCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CaptionsRadioGroupCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn captionsText;\n\t}\n\tgetTrackLabel(track) {\n\t\treturn this.#props.formatTrack(track);\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tconst showingIndex = captionTracks.findIndex((track) => track.mode === \"showing\");\n\t\tconst options = [{\n\t\t\tvalue: \"off\",\n\t\t\tlabel: offText,\n\t\t\tdisabled: false\n\t\t}, ...captionTracks.map((track, index) => ({\n\t\t\tvalue: track.id || String(index),\n\t\t\tlabel: this.getTrackLabel(track),\n\t\t\tdisabled: false\n\t\t}))];\n\t\tconst availability = captionTracks.length > 0 ? \"available\" : \"unavailable\";\n\t\tthis.state.patch({\n\t\t\toptions,\n\t\t\tvalue: showingIndex === -1 ? \"off\" : captionTracks[showingIndex].id || String(showingIndex),\n\t\t\tsubtitlesShowing: media.subtitlesShowing,\n\t\t\tdisabled: this.#props.disabled || captionTracks.length === 0,\n\t\t\thidden: availability === \"unavailable\",\n\t\t\tavailability\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tselect(media, value) {\n\t\tif (this.#props.disabled) return;\n\t\tconst captionTracks = getCaptionTracks(media.textTrackList);\n\t\tif (!captionTracks.length) return;\n\t\tif (value === \"off\") {\n\t\t\tmedia.selectSubtitlesTrack(\"off\");\n\t\t\treturn;\n\t\t}\n\t\tif (!captionTracks.some((track, index) => (track.id || String(index)) === value)) return;\n\t\tmedia.selectSubtitlesTrack(value);\n\t}\n\tselectValue(media, value) {\n\t\tthis.select(media, value);\n\t}\n};\n//#endregion\nexport { CAPTIONS_OFF_VALUE, CaptionsRadioGroupCore };\n\n//# sourceMappingURL=captions-radio-group-core.js.map","//#region src/core/ui/captions-radio-group/captions-radio-group-data-attrs.ts\nconst CaptionsRadioGroupDataAttrs = {\n\t/** Present when captions are enabled. */\n\tsubtitlesShowing: \"data-active\",\n\t/** Present when track selection is disabled. */\n\tdisabled: \"data-disabled\",\n\t/** Present when track selection is unavailable. */\n\thidden: \"data-hidden\",\n\t/** Indicates captions availability (`available` or `unavailable`). */\n\tavailability: \"data-availability\"\n};\n//#endregion\nexport { CaptionsRadioGroupDataAttrs };\n\n//# sourceMappingURL=captions-radio-group-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { connectingText, startText, stopText } from \"../../../i18n/text/cast.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/cast-button/cast-button-core.ts\nvar CastButtonCore = class CastButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tconnection: \"disconnected\",\n\t\tavailability: \"unsupported\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...CastButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, CastButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\tif (state.connection === \"connected\") return stopText;\n\t\tif (state.connection === \"connecting\") return connectingText;\n\t\treturn startText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = !!globalThis.chrome ? media.remotePlaybackAvailability : \"unsupported\";\n\t\tthis.state.patch({\n\t\t\tconnection: media.remotePlaybackState,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability === \"unsupported\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.toggleRemotePlayback();\n\t}\n};\n//#endregion\nexport { CastButtonCore };\n\n//# sourceMappingURL=cast-button-core.js.map","//#region src/core/ui/cast-button/cast-button-data-attrs.ts\nconst CastButtonDataAttrs = {\n\t/**\n\t* Current remote playback connection state.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback/state\n\t*/\n\tconnection: \"data-cast-state\",\n\t/**\n\t* Whether remote playback can be requested on this platform.\n\t*\n\t* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback\n\t*/\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because the feature is unsupported. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { CastButtonDataAttrs };\n\n//# sourceMappingURL=cast-button-data-attrs.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/fullscreen.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/fullscreen-button/fullscreen-button-core.ts\nvar FullscreenButtonCore = class FullscreenButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tfullscreen: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...FullscreenButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, FullscreenButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.fullscreen ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.fullscreenAvailability;\n\t\tthis.state.patch({\n\t\t\tfullscreen: media.fullscreen,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.fullscreen ? media.exitFullscreen() : media.requestFullscreen();\n\t}\n};\n//#endregion\nexport { FullscreenButtonCore };\n\n//# sourceMappingURL=fullscreen-button-core.js.map","//#region src/core/ui/fullscreen-button/fullscreen-button-data-attrs.ts\nconst FullscreenButtonDataAttrs = {\n\t/** Present when fullscreen mode is active. */\n\tfullscreen: \"data-fullscreen\",\n\t/** Indicates fullscreen availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because fullscreen is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { FullscreenButtonDataAttrs };\n\n//# sourceMappingURL=fullscreen-button-data-attrs.js.map","//#region src/core/i18n/text/pip.ts\nconst prefix = \"pip.\";\nconst enterText = {\n\tkey: `${prefix}enter`,\n\ttext: \"Enter picture-in-picture\"\n};\nconst exitText = {\n\tkey: `${prefix}exit`,\n\ttext: \"Exit picture-in-picture\"\n};\n//#endregion\nexport { enterText, exitText };\n\n//# sourceMappingURL=pip.js.map","import { resolveText } from \"../../i18n/resolve-text.js\";\nimport { resolveLabel } from \"../utils/resolve-label.js\";\nimport { enterText, exitText } from \"../../../i18n/text/pip.js\";\nimport { createState } from \"@videojs/store\";\nimport { defaults } from \"@videojs/utils/object\";\n//#region src/core/ui/pip-button/pip-button-core.ts\nvar PiPButtonCore = class PiPButtonCore {\n\tstatic defaultProps = {\n\t\tlabel: \"\",\n\t\tdisabled: false\n\t};\n\tstate = createState({\n\t\tpip: false,\n\t\tavailability: \"unavailable\",\n\t\tdisabled: true,\n\t\thidden: true,\n\t\tlabel: \"\"\n\t});\n\t#props = { ...PiPButtonCore.defaultProps };\n\t#media = null;\n\tconstructor(props) {\n\t\tif (props) this.setProps(props);\n\t}\n\tsetProps(props) {\n\t\tthis.#props = defaults(props, PiPButtonCore.defaultProps);\n\t}\n\tgetLabel(state) {\n\t\tconst label = resolveLabel(this.#props.label, state);\n\t\tif (label) return label;\n\t\treturn state.pip ? exitText : enterText;\n\t}\n\tgetAttrs(state) {\n\t\treturn {\n\t\t\t\"aria-label\": this.getLabel(state),\n\t\t\t\"aria-disabled\": state.disabled ? \"true\" : void 0,\n\t\t\thidden: state.hidden ? \"\" : void 0\n\t\t};\n\t}\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\tgetState() {\n\t\tconst media = this.#media;\n\t\tconst availability = media.pipAvailability;\n\t\tthis.state.patch({\n\t\t\tpip: media.pip,\n\t\t\tavailability,\n\t\t\tdisabled: this.#props.disabled || availability !== \"available\",\n\t\t\thidden: availability !== \"available\"\n\t\t});\n\t\tthis.state.patch({ label: resolveText(this.getLabel(this.state.current)) });\n\t\treturn this.state.current;\n\t}\n\tasync toggle(media) {\n\t\tthis.setMedia(media);\n\t\tif (this.getState().disabled) return;\n\t\treturn media.pip ? media.exitPictureInPicture() : media.requestPictureInPicture();\n\t}\n};\n//#endregion\nexport { PiPButtonCore };\n\n//# sourceMappingURL=pip-button-core.js.map","//#region src/core/ui/pip-button/pip-button-data-attrs.ts\nconst PiPButtonDataAttrs = {\n\t/** Present when picture-in-picture mode is active. */\n\tpip: \"data-pip\",\n\t/** Indicates picture-in-picture availability (`available`, `unavailable`, `unsupported`). */\n\tavailability: \"data-availability\",\n\t/** Present when the button is non-interactive (mirrors `aria-disabled`). */\n\tdisabled: \"data-disabled\",\n\t/** Present when the button is hidden because picture-in-picture is not available. */\n\thidden: \"data-hidden\"\n};\n//#endregion\nexport { PiPButtonDataAttrs };\n\n//# sourceMappingURL=pip-button-data-attrs.js.map","//#region src/core/ui/poster/poster-core.ts\n/**\n* Turns playback and metadata into poster presentation state.\n*\n* Owns no image of its own: a binding finds one, supplies how it is faring\n* through {@link PosterCore.setImageLoadState}, and paints the result.\n*/\nvar PosterCore = class {\n\t#media = null;\n\t#loadState = \"none\";\n\t/** Supply the latest player state. Call before reading {@link PosterCore.getState}. */\n\tsetMedia(media) {\n\t\tthis.#media = media;\n\t}\n\t/** Supply how the binding's image is faring. */\n\tsetImageLoadState(loadState) {\n\t\tthis.#loadState = loadState;\n\t}\n\t/** Derive the presentation state to paint. */\n\tgetState() {\n\t\tconst media = this.#media;\n\t\treturn {\n\t\t\tvisible: !media.started,\n\t\t\tsrc: media.poster,\n\t\t\tloading: this.#loadState === \"loading\",\n\t\t\tloaded: this.#loadState === \"loaded\",\n\t\t\terror: this.#loadState === \"error\"\n\t\t};\n\t}\n};\n//#endregion\nexport { PosterCore };\n\n//# sourceMappingURL=poster-core.js.map","//#region src/core/ui/poster/poster-data-attrs.ts\nconst PosterDataAttrs = {\n\t/** Present until playback starts. */\n\tvisible: \"data-visible\",\n\t/** Present while the poster image is fetching. */\n\tloading: \"data-loading\",\n\t/** Present once the poster image has decoded. */\n\tloaded: \"data-loaded\",\n\t/** Present when the poster image failed. */\n\terror: \"data-error\"\n};\n//#endregion\nexport { PosterDataAttrs };\n\n//# sourceMappingURL=poster-data-attrs.js.map","import { AirPlayButtonCore, AirPlayButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class AirPlayButtonElement extends MediaButtonElement<AirPlayButtonCore> {\n static readonly tagName = 'media-airplay-button';\n\n protected readonly core = new AirPlayButtonCore();\n protected readonly stateAttrMap = AirPlayButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): void {\n this.core.toggle(state);\n }\n}\n","/** Toggle a popup host linked via `commandfor` (menu, popover, etc.). */\nexport function toggleCommandTarget(host: HTMLElement, commandfor: string): void {\n const root = host.getRootNode() as Document | ShadowRoot;\n const target =\n ('getElementById' in root ? root.getElementById(commandfor) : null) ??\n root.querySelector<HTMLElement>(`#${CSS.escape(commandfor)}`);\n\n if (!target || !('open' in target)) return;\n\n const popup = target as { open: boolean };\n popup.open = !popup.open;\n}\n","import { CaptionsButtonCore, CaptionsButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, selectTextTrack, type UIEvent } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaTextTrackState } from '@videojs/media';\nimport { isCaptionOrSubtitleTrack } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { toggleCommandTarget } from '../command-for';\nimport { MediaButtonElement } from '../media-button-element';\n\nfunction getCaptionTrackCount(state: MediaTextTrackState): number {\n return state.textTrackList.filter(isCaptionOrSubtitleTrack).length;\n}\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n commandfor: { type: String },\n menuFor: { type: String, attribute: 'menu-for' },\n } satisfies PropertyDeclarationMap<'label' | 'disabled' | 'commandfor' | 'menuFor'>;\n\n commandfor: string | undefined = undefined;\n menuFor: string | undefined = undefined;\n #defaultCommandfor: string | undefined = undefined;\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n protected override readonly hotkeyAction = 'toggleSubtitles';\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.commandfor && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n }\n\n protected activate(state: MediaTextTrackState, event?: UIEvent): void {\n if (this.menuFor && getCaptionTrackCount(state) > 1) {\n if (event instanceof KeyboardEvent) {\n toggleCommandTarget(this, this.menuFor);\n }\n return;\n }\n\n this.core.toggle(state);\n }\n\n protected override getIsButtonDisabled(): boolean {\n const media = this.mediaState.value;\n if (super.getIsButtonDisabled()) return true;\n if (media && getCaptionTrackCount(media) === 0) return true;\n return false;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n if (changed.has('commandfor') && this.commandfor !== this.menuFor) {\n this.#defaultCommandfor = this.commandfor;\n }\n\n if (changed.has('commandfor') || changed.has('menuFor')) {\n this.#syncCommandFor();\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n if (!media) return;\n\n this.#syncCommandFor(media);\n\n if (this.menuFor && getCaptionTrackCount(media) > 1) {\n applyElementProps(this, {\n 'aria-disabled': this.getIsButtonDisabled() ? 'true' : undefined,\n });\n }\n }\n\n #syncCommandFor(media?: MediaTextTrackState): void {\n const state = media ?? this.mediaState.value;\n const target = state && this.menuFor && getCaptionTrackCount(state) > 1 ? this.menuFor : this.#defaultCommandfor;\n\n if (target) {\n this.setAttribute('commandfor', target);\n } else {\n this.removeAttribute('commandfor');\n }\n }\n}\n\nexport namespace CaptionsButtonElement {\n export type State = CaptionsButtonCore.State;\n}\n","import { CaptionsRadioGroupCore, CaptionsRadioGroupDataAttrs, type CaptionsRadioGroupOption } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectTextTrack } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MenuRadioGroupElement } from '../menu/menu-radio-group-element';\nimport { RadioOptionsController } from '../radio-options/radio-options-controller';\n\nexport class CaptionsRadioGroupElement extends MenuRadioGroupElement {\n static override readonly tagName = 'media-captions-radio-group';\n\n static override properties = {\n ...MenuRadioGroupElement.properties,\n disabled: { type: Boolean },\n label: { type: String },\n } satisfies PropertyDeclarationMap<'value' | 'label' | 'disabled'>;\n\n disabled = false;\n label: Text | string = '';\n formatTrack = CaptionsRadioGroupCore.defaultProps.formatTrack;\n\n readonly #core = new CaptionsRadioGroupCore();\n readonly #i18n = new I18nController(this, i18nContext);\n readonly #mediaState = new PlayerController(this, playerContext, selectTextTrack);\n readonly #options = new RadioOptionsController<CaptionsRadioGroupOption>(this, {\n setItemAttributes: (item, option) => item.setAttribute('data-track', option.value),\n onValueChange: (value) => {\n const media = this.#mediaState.value;\n if (media) this.#core.selectValue(media, value);\n },\n });\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n const media = this.#mediaState.value;\n let state: CaptionsRadioGroupCore.State | null = null;\n\n if (media) {\n this.#core.setProps({ formatTrack: this.formatTrack, disabled: this.disabled, label: this.label });\n this.#core.setMedia(media);\n state = this.#core.getState();\n\n this.applyDefaultAriaLabel(translateText(this.#core.getLabel(state), this.#i18n.value));\n this.#options.sync(state, this.#i18n.value, this.#i18n.locale);\n this.publishMenuTriggerState(state.disabled, state.availability);\n }\n\n super.update(changed);\n\n if (state) applyStateDataAttrs(this, state, CaptionsRadioGroupDataAttrs);\n }\n}\n\nexport namespace CaptionsRadioGroupElement {\n export type State = CaptionsRadioGroupCore.State;\n}\n","import { CastButtonCore, CastButtonDataAttrs } from '@videojs/core';\nimport { selectRemotePlayback } from '@videojs/core/dom';\nimport type { MediaRemotePlaybackState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CastButtonElement extends MediaButtonElement<CastButtonCore> {\n static readonly tagName = 'media-cast-button';\n\n protected readonly core = new CastButtonCore();\n protected readonly stateAttrMap = CastButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectRemotePlayback);\n\n protected activate(state: MediaRemotePlaybackState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { FullscreenButtonCore, FullscreenButtonDataAttrs } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\nimport type { MediaFullscreenState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n protected override readonly hotkeyAction = 'toggleFullscreen';\n\n protected activate(state: MediaFullscreenState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\nimport type { MediaPictureInPictureState } from '@videojs/media';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n protected override readonly hotkeyAction = 'togglePictureInPicture';\n\n protected activate(state: MediaPictureInPictureState): Promise<void> {\n return this.core.toggle(state);\n }\n}\n","import { PosterCore, PosterDataAttrs, type PosterImageLoadState } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectMetadata, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\n/** What an element composes: whatever fills a slot, or the element's own children. */\nfunction composedChildren(element: Element): Element[] {\n if (element instanceof HTMLSlotElement) {\n const assigned = element.assignedElements();\n if (assigned.length > 0) return assigned;\n }\n\n return [...element.children];\n}\n\n/**\n * The first image an element composes. A skin forwards its own\n * `<slot name=\"poster\">` in, so the image is a slot or two down and may be\n * wrapped in a `<picture>` or a framework image component.\n */\nfunction findImage(element: Element): HTMLImageElement | null {\n for (const child of composedChildren(element)) {\n if (child instanceof HTMLImageElement) return child;\n\n const nested = findImage(child);\n if (nested) return nested;\n }\n\n return null;\n}\n\n/**\n * Whether anything already points this image somewhere, which answers both\n * whether the author owns the source and whether there is a download to wait\n * for. A `<source>` counts: inside a `<picture>` it can win over the `src`.\n */\nfunction hasSource(img: HTMLImageElement): boolean {\n if (img.hasAttribute('src') || img.hasAttribute('srcset')) return true;\n\n const parent = img.parentElement;\n return parent?.localName === 'picture' && parent.querySelector('source') !== null;\n}\n\n/**\n * Whether `complete` on this image describes a request. It is also true for one\n * that omits both `src` and `srcset`, whatever a parent `<picture>` is fetching\n * on its behalf, so only an image sourced from its own attributes can be read.\n */\nfunction hasOwnSource(img: HTMLImageElement): boolean {\n return !!img.getAttribute('src') || img.hasAttribute('srcset');\n}\n\n/** How the current source is faring. */\ntype ImageLoadState = 'pending' | 'loaded' | 'error';\n\n/**\n * `<media-poster>` — sets `src` on a poster image it does not own.\n *\n * The image is a child, as in `<picture>`, but sourcing runs the other way\n * around: `<picture>` treats the `src` on its `<img>` as the fallback, while\n * here an image with no source of its own is the one this element fills in.\n * Give the child a `src`, a `srcset`, or `<source>` candidates and it is yours,\n * left alone.\n *\n * Renders no image of its own, so include one:\n * `<media-poster><img alt=\"\"></media-poster>`. Inside a skin, an\n * `<img slot=\"poster\">` of yours replaces the one the skin carries.\n */\nexport class PosterElement extends MediaElement {\n static readonly tagName = 'media-poster';\n\n readonly #core = new PosterCore();\n readonly #children = new MutationObserver(() => this.requestUpdate());\n\n readonly #playback = new PlayerController(this, playerContext, selectPlayback);\n readonly #metadata = new PlayerController(this, playerContext, selectMetadata);\n\n #image: HTMLImageElement | null = null;\n /** Whether `#image` had no source of its own when it became active. */\n #owned = false;\n #imageLoadState: ImageLoadState = 'pending';\n\n #imageEvents: AbortController | null = null;\n #disconnect: AbortController | null = null;\n #warnedMissingImage = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.destroyed) return;\n\n this.#disconnect = new AbortController();\n const { signal } = this.#disconnect;\n\n // Two ways the image can change: a skin's forwarding slot fills or empties,\n // which bubbles here, or a child is added or removed, which announces nothing.\n this.addEventListener('slotchange', () => this.requestUpdate(), { signal });\n this.#children.observe(this, { childList: true, subtree: true });\n\n if (__DEV__ && !this.#playback.value) {\n logMissingFeature(this.localName, this.#playback.displayName ?? 'playback');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.#adopt(null);\n this.#children.disconnect();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n get #loadState(): PosterImageLoadState {\n if (!this.#image || !hasSource(this.#image)) return 'none';\n return this.#imageLoadState === 'pending' ? 'loading' : this.#imageLoadState;\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const playback = this.#playback.value;\n if (!playback) return;\n\n // `metadata` is optional: without it nothing resolves a URL, and this stays\n // a visibility wrapper around whatever the author supplied.\n this.#core.setMedia({\n started: playback.started,\n poster: this.#metadata.value?.poster ?? '',\n });\n\n const { src } = this.#core.getState();\n\n this.#adopt(findImage(this));\n this.#applySource(src);\n\n this.#core.setImageLoadState(this.#loadState);\n applyStateDataAttrs(this, this.#core.getState(), PosterDataAttrs);\n }\n\n /**\n * Ownership is settled once, when an image becomes active: after the first fill\n * the `src` we set would itself look authored. Re-slot an image with a source\n * to hand it back, the way React decides a field is controlled at mount.\n */\n #adopt(next: HTMLImageElement | null): void {\n if (next === this.#image) return;\n\n // An image that steps aside keeps downloading whatever we pointed it at.\n if (this.#owned) this.#image?.removeAttribute('src');\n this.#imageEvents?.abort();\n this.#imageEvents = null;\n\n this.#image = next;\n this.#owned = next !== null && !hasSource(next);\n this.#imageLoadState = 'pending';\n\n if (!next) return;\n\n // An image that finished before we started listening never fires again, so\n // its load state has to be read off it. Decoded pixels stand on their own;\n // the absence of them only means failure once `complete` can be trusted.\n if (next.naturalWidth > 0) this.#imageLoadState = 'loaded';\n else if (next.complete && hasOwnSource(next)) this.#imageLoadState = 'error';\n\n this.#imageEvents = new AbortController();\n const { signal } = this.#imageEvents;\n const settle = (loadState: ImageLoadState) => () => {\n this.#imageLoadState = loadState;\n this.requestUpdate();\n };\n\n next.addEventListener('load', settle('loaded'), { signal });\n next.addEventListener('error', settle('error'), { signal });\n }\n\n #applySource(src: string): void {\n const img = this.#image;\n\n if (!img) {\n if (__DEV__ && src && !this.#warnedMissingImage) {\n this.#warnedMissingImage = true;\n console.warn(\n `<${this.localName}> resolved a poster but has no image to put it in. ` +\n `Add one as a child: <${this.localName}><img alt=\"\"></${this.localName}>`\n );\n }\n return;\n }\n\n if (!this.#owned) return;\n\n if (!src) {\n this.#imageLoadState = 'pending';\n img.removeAttribute('src');\n } else if (img.getAttribute('src') !== src) {\n // Reset before the write, not after: how the last source fared says\n // nothing about this one, and the write itself can settle it.\n this.#imageLoadState = 'pending';\n img.setAttribute('src', src);\n }\n }\n}\n"],"mappings":"qiBACA,MAAMA,EAAS,WACTC,EAAY,CACjB,IAAK,GAAGD,EAAO,OACf,KAAM,eACP,EACME,EAAW,CAChB,IAAK,GAAGF,EAAO,MACf,KAAM,cACP,ECRMG,EAAS,QACT,EAAY,CACjB,IAAK,GAAGA,EAAO,OACf,KAAM,eACP,EACM,EAAW,CAChB,IAAK,GAAGA,EAAO,MACf,KAAM,cACP,EACM,EAAiB,CACtB,IAAK,GAAGA,EAAO,YACf,KAAM,YACP,ECLA,IAAI,EAAoB,MAAM,CAAkB,CAC/C,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,MAAO,eACP,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAkB,YAAa,EAC7C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAkB,YAAY,CAC7D,CACA,SAAS,EAAO,CAKf,OAJc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACA,EAAM,QAAU,YAAoBC,EACpC,EAAM,QAAU,aAAqB,EAClCC,EACR,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,GAAsB,EAAI,EAAM,2BAA6B,cAQlF,OAPA,KAAK,MAAM,MAAM,CAChB,MAAO,EAAM,oBACb,eACA,SAAU,KAAKH,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOI,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,GAAI,CACH,MAAM,EAAM,qBAAqB,CAClC,MAAQ,CAAC,CACV,CACD,EC/DA,MAAM,EAAyB,CAM9B,MAAO,qBAMP,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECjBMC,EAAS,YACT,EAAa,CAClB,IAAK,GAAGA,EAAO,QACf,KAAM,iBACP,EACM,EAAc,CACnB,IAAK,GAAGA,EAAO,SACf,KAAM,kBACP,ECFA,IAAI,EAAqB,MAAM,CAAmB,CACjD,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,GACV,YAAa,EACd,EACA,MAAQ,EAAY,CACnB,iBAAkB,GAClB,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAmB,YAAa,EAC9C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAmB,YAAY,CAC9D,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,iBAAmB,EAAc,EAC/C,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,cAAc,KAAK,CAAwB,EAAI,YAAc,cAQxF,OAPA,KAAK,MAAM,MAAM,CAChB,iBAAkB,EAAM,iBACxB,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,aAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,OAAO,EAAO,CACb,KAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,WAChB,KAAKF,GAAO,aAAeG,EAAqB,CAAK,EAAI,GAC7D,EAAM,gBAAgB,EACvB,CACD,EACA,SAASA,EAAqB,EAAO,CACpC,OAAO,EAAM,cAAc,OAAO,CAAwB,CAAC,CAAC,MAC7D,CC/DA,MAAM,EAA0B,CAE/B,iBAAkB,cAElB,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECFA,SAAS,EAAiB,EAAO,CAGhC,OAFI,EAAM,MAAc,EAAM,MAC1B,EAAM,SAAiB,EAAM,SAC1B,EAAM,OAAS,WAAa,EAAe,CACnD,CACA,SAAS,EAAkB,EAAG,EAAG,CAChC,OAAO,EAAE,KAAO,EAAE,KAAO,EAAI,EAAE,KAAO,EAAE,KAAO,GAAK,CACrD,CACA,SAAS,EAAiB,EAAe,CACxC,OAAO,EAAc,OAAO,CAAwB,CAAC,CAAC,KAAK,CAAiB,CAC7E,CACA,IAAI,EAAyB,MAAM,CAAuB,CACzD,OAAO,aAAe,CACrB,MAAO,GACP,YAAa,EACb,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,QAAS,CAAC,CACT,MAAO,MACP,MAAO,EACP,SAAU,EACX,CAAC,EACD,MAAO,MACP,iBAAkB,GAClB,SAAU,GACV,OAAQ,GACR,aAAc,cACd,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAuB,YAAa,EAClD,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAuB,YAAY,CAClE,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,GACG,CACR,CACA,cAAc,EAAO,CACpB,OAAO,KAAKA,GAAO,YAAY,CAAK,CACrC,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAgB,EAAiB,EAAM,aAAa,EACpD,EAAe,EAAc,UAAW,GAAU,EAAM,OAAS,SAAS,EAC1E,EAAU,CAAC,CAChB,MAAO,MACP,MAAO,EACP,SAAU,EACX,EAAG,GAAG,EAAc,KAAK,EAAO,KAAW,CAC1C,MAAO,EAAM,IAAM,OAAO,CAAK,EAC/B,MAAO,KAAK,cAAc,CAAK,EAC/B,SAAU,EACX,EAAE,CAAC,EACG,EAAe,EAAc,OAAS,EAAI,YAAc,cAU9D,OATA,KAAK,MAAM,MAAM,CAChB,UACA,MAAO,IAAiB,GAAK,MAAQ,EAAc,EAAa,CAAC,IAAM,OAAO,CAAY,EAC1F,iBAAkB,EAAM,iBACxB,SAAU,KAAKD,GAAO,UAAY,EAAc,SAAW,EAC3D,OAAQ,IAAiB,cACzB,cACD,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,OAAO,EAAO,EAAO,CACpB,GAAI,KAAKF,GAAO,SAAU,OAC1B,IAAM,EAAgB,EAAiB,EAAM,aAAa,EACrD,KAAc,OACnB,IAAI,IAAU,MAAO,CACpB,EAAM,qBAAqB,KAAK,EAChC,MACD,CACK,EAAc,MAAM,EAAO,KAAW,EAAM,IAAM,OAAO,CAAK,KAAO,CAAK,GAC/E,EAAM,qBAAqB,CAAK,CAFhC,CAGD,CACA,YAAY,EAAO,EAAO,CACzB,KAAK,OAAO,EAAO,CAAK,CACzB,CACD,ECtGA,MAAM,EAA8B,CAEnC,iBAAkB,cAElB,SAAU,gBAEV,OAAQ,cAER,aAAc,mBACf,ECJA,IAAI,GAAiB,MAAM,CAAe,CACzC,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,WAAY,eACZ,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAe,YAAa,EAC1C,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKG,GAAS,EAAS,EAAO,EAAe,YAAY,CAC1D,CACA,SAAS,EAAO,CAKf,OAJc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACA,EAAM,aAAe,YAAoB,EACzC,EAAM,aAAe,aAAqB,EACvC,EACR,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAiB,WAAW,OAAS,EAAM,2BAA6B,cAQ9E,OAPA,KAAK,MAAM,MAAM,CAChB,WAAY,EAAM,oBAClB,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,aAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,qBAAqB,CACnC,CACD,EC3DA,MAAM,EAAsB,CAM3B,WAAY,kBAMZ,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECZA,IAAI,EAAuB,MAAM,CAAqB,CACrD,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,WAAY,GACZ,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAqB,YAAa,EAChD,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAqB,YAAY,CAChE,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,WAAaC,GAAWC,EACtC,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,uBAQ3B,OAPA,KAAK,MAAM,MAAM,CAChB,WAAY,EAAM,WAClB,eACA,SAAU,KAAKH,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOI,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,WAAa,EAAM,eAAe,EAAI,EAAM,kBAAkB,CAC5E,CACD,ECzDA,MAAM,EAA4B,CAEjC,WAAY,kBAEZ,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECTM,EAAS,OACT,EAAY,CACjB,IAAK,GAAG,EAAO,OACf,KAAM,0BACP,EACM,EAAW,CAChB,IAAK,GAAG,EAAO,MACf,KAAM,yBACP,ECHA,IAAI,GAAgB,MAAM,CAAc,CACvC,OAAO,aAAe,CACrB,MAAO,GACP,SAAU,EACX,EACA,MAAQ,EAAY,CACnB,IAAK,GACL,aAAc,cACd,SAAU,GACV,OAAQ,GACR,MAAO,EACR,CAAC,EACD,GAAS,CAAE,GAAG,EAAc,YAAa,EACzC,GAAS,KACT,YAAY,EAAO,CACd,GAAO,KAAK,SAAS,CAAK,CAC/B,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,EAAS,EAAO,EAAc,YAAY,CACzD,CACA,SAAS,EAAO,CAGf,OAFc,EAAa,KAAKA,GAAO,MAAO,CAC1C,IACG,EAAM,IAAM,EAAW,EAC/B,CACA,SAAS,EAAO,CACf,MAAO,CACN,aAAc,KAAK,SAAS,CAAK,EACjC,gBAAiB,EAAM,SAAW,OAAS,IAAK,GAChD,OAAQ,EAAM,OAAS,GAAK,IAAK,EAClC,CACD,CACA,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CACA,UAAW,CACV,IAAM,EAAQ,KAAKA,GACb,EAAe,EAAM,gBAQ3B,OAPA,KAAK,MAAM,MAAM,CAChB,IAAK,EAAM,IACX,eACA,SAAU,KAAKD,GAAO,UAAY,IAAiB,YACnD,OAAQ,IAAiB,WAC1B,CAAC,EACD,KAAK,MAAM,MAAM,CAAE,MAAOE,EAAY,KAAK,SAAS,KAAK,MAAM,OAAO,CAAC,CAAE,CAAC,EACnE,KAAK,MAAM,OACnB,CACA,MAAM,OAAO,EAAO,CACnB,QAAK,SAAS,CAAK,EACf,MAAK,SAAS,CAAC,CAAC,SACpB,OAAO,EAAM,IAAM,EAAM,qBAAqB,EAAI,EAAM,wBAAwB,CACjF,CACD,ECzDA,MAAM,GAAqB,CAE1B,IAAK,WAEL,aAAc,oBAEd,SAAU,gBAEV,OAAQ,aACT,ECHA,IAAI,GAAa,KAAM,CACtB,GAAS,KACT,GAAa,OAEb,SAAS,EAAO,CACf,KAAKC,GAAS,CACf,CAEA,kBAAkB,EAAW,CAC5B,KAAKC,GAAa,CACnB,CAEA,UAAW,CACV,IAAM,EAAQ,KAAKD,GACnB,MAAO,CACN,QAAS,CAAC,EAAM,QAChB,IAAK,EAAM,OACX,QAAS,KAAKC,KAAe,UAC7B,OAAQ,KAAKA,KAAe,SAC5B,MAAO,KAAKA,KAAe,OAC5B,CACD,CACD,EC5BA,MAAM,GAAkB,CAEvB,QAAS,eAET,QAAS,eAET,OAAQ,cAER,MAAO,YACR,ECFA,IAAa,GAAb,cAA0C,CAAsC,+BAGpD,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAoB,SAJpE,KAAA,QAAA,uBAM1B,SAAmB,EAAuC,CACxD,KAAK,KAAK,OAAO,CAAK,CACxB,CACF,ECjBA,SAAgB,GAAoB,EAAmB,EAA0B,CAC/E,IAAM,EAAO,EAAK,YAAY,EACxB,GACH,mBAAoB,EAAO,EAAK,eAAe,CAAU,EAAI,OAC9D,EAAK,cAA2B,IAAI,IAAI,OAAO,CAAU,GAAG,EAE9D,GAAI,CAAC,GAAU,EAAE,SAAU,GAAS,OAEpC,IAAM,EAAQ,EACd,EAAM,KAAO,CAAC,EAAM,IACtB,CCAA,SAAS,EAAqB,EAAoC,CAChE,OAAO,EAAM,cAAc,OAAO,CAAwB,CAAC,CAAC,MAC9D,CAEA,IAAa,GAAb,cAA2C,CAAuC,+BAU/C,KAAA,WAAA,IAAA,GACH,KAAA,QAAA,IAAA,GACW,KAAA,GAAA,IAAA,GAEf,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAe,EAC9C,KAAA,aAAA,yBAhBjB,KAAA,QAAA,+BAEG,KAAA,WAAA,CAC3B,MAAO,CAAE,KAAM,MAAO,EACtB,SAAU,CAAE,KAAM,OAAQ,EAC1B,WAAY,CAAE,KAAM,MAAO,EAC3B,QAAS,CAAE,KAAM,OAAQ,UAAW,UAAW,CACjD,EAIA,GAOA,mBAAmC,CACjC,MAAM,kBAAkB,EACpB,KAAK,YAAc,KAAK,aAAe,KAAK,UAC9C,KAAKC,GAAqB,KAAK,WAEnC,CAEA,SAAmB,EAA4B,EAAuB,CACpE,GAAI,KAAK,SAAW,EAAqB,CAAK,EAAI,EAAG,CAC/C,aAAiB,eACnB,GAAoB,KAAM,KAAK,OAAO,EAExC,MACF,CAEA,KAAK,KAAK,OAAO,CAAK,CACxB,CAEA,qBAAkD,CAChD,IAAM,EAAQ,KAAK,WAAW,MAG9B,MADA,GADI,MAAM,oBAAoB,GAC1B,GAAS,EAAqB,CAAK,IAAM,EAE/C,CAEA,WAA8B,EAA+B,CAC3D,MAAM,WAAW,CAAO,EAEpB,EAAQ,IAAI,YAAY,GAAK,KAAK,aAAe,KAAK,UACxD,KAAKA,GAAqB,KAAK,aAG7B,EAAQ,IAAI,YAAY,GAAK,EAAQ,IAAI,SAAS,IACpD,KAAKC,GAAgB,CAEzB,CAEA,OAA0B,EAA+B,CACvD,MAAM,OAAO,CAAO,EAEpB,IAAM,EAAQ,KAAK,WAAW,MACzB,IAEL,KAAKA,GAAgB,CAAK,EAEtB,KAAK,SAAW,EAAqB,CAAK,EAAI,GAChD,GAAkB,KAAM,CACtB,gBAAiB,KAAK,oBAAoB,EAAI,OAAS,IAAA,EACzD,CAAC,EAEL,CAEA,GAAgB,EAAmC,CACjD,IAAM,EAAQ,GAAS,KAAK,WAAW,MACjC,EAAS,GAAS,KAAK,SAAW,EAAqB,CAAK,EAAI,EAAI,KAAK,QAAU,KAAKD,GAE1F,EACF,KAAK,aAAa,aAAc,CAAM,EAEtC,KAAK,gBAAgB,YAAY,CAErC,CACF,ECrFa,GAAb,cAA+C,CAAsB,+BASxD,KAAA,SAAA,GACY,KAAA,MAAA,GACT,KAAA,YAAA,EAAuB,aAAa,YAEjC,KAAA,GAAA,IAAI,EACJ,KAAA,GAAA,IAAI,EAAe,KAAM,CAAW,EAC9B,KAAA,GAAA,IAAI,EAAiB,KAAM,EAAe,CAAe,EAC5D,KAAA,GAAA,IAAI,EAAiD,KAAM,CAC7E,mBAAoB,EAAM,IAAW,EAAK,aAAa,aAAc,EAAO,KAAK,EACjF,cAAgB,GAAU,CACxB,IAAM,EAAQ,KAAKE,GAAY,MAC3B,GAAO,KAAKC,GAAM,YAAY,EAAO,CAAK,CAChD,CACF,CAAC,SArBkC,KAAA,QAAA,oCAEN,KAAA,WAAA,CAC3B,GAAG,EAAsB,WACzB,SAAU,CAAE,KAAM,OAAQ,EAC1B,MAAO,CAAE,KAAM,MAAO,CACxB,EAMA,GACA,GACA,GACA,GAQA,mBAAmC,CACjC,MAAM,kBAAkB,EACpB,KAAK,SAKX,CAEA,OAA0B,EAA+B,CACvD,IAAM,EAAQ,KAAKD,GAAY,MAC3B,EAA6C,KAE7C,IACF,KAAKC,GAAM,SAAS,CAAE,YAAa,KAAK,YAAa,SAAU,KAAK,SAAU,MAAO,KAAK,KAAM,CAAC,EACjG,KAAKA,GAAM,SAAS,CAAK,EACzB,EAAQ,KAAKA,GAAM,SAAS,EAE5B,KAAK,sBAAsB,GAAc,KAAKA,GAAM,SAAS,CAAK,EAAG,KAAKC,GAAM,KAAK,CAAC,EACtF,KAAKC,GAAS,KAAK,EAAO,KAAKD,GAAM,MAAO,KAAKA,GAAM,MAAM,EAC7D,KAAK,wBAAwB,EAAM,SAAU,EAAM,YAAY,GAGjE,MAAM,OAAO,CAAO,EAEhB,GAAO,EAAoB,KAAM,EAAO,CAA2B,CACzE,CACF,ECtDa,GAAb,cAAuC,CAAmC,+BAG9C,KAAA,KAAA,IAAI,GACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAoB,SAJpE,KAAA,QAAA,oBAM1B,SAAmB,EAAgD,CACjE,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECVa,GAAb,cAA6C,CAAyC,+BAG1D,KAAA,KAAA,IAAI,EACI,KAAA,aAAA,EACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAgB,EAC/C,KAAA,aAAA,0BALjB,KAAA,QAAA,0BAO1B,SAAmB,EAA4C,CAC7D,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECXa,GAAb,cAAsC,CAAkC,+BAG5C,KAAA,KAAA,IAAI,GACI,KAAA,aAAA,GACF,KAAA,WAAA,IAAI,EAAiB,KAAM,EAAe,CAAS,EACxC,KAAA,aAAA,gCALjB,KAAA,QAAA,mBAO1B,SAAmB,EAAkD,CACnE,OAAO,KAAK,KAAK,OAAO,CAAK,CAC/B,CACF,ECVA,SAAS,EAAiB,EAA6B,CACrD,GAAI,aAAmB,gBAAiB,CACtC,IAAM,EAAW,EAAQ,iBAAiB,EAC1C,GAAI,EAAS,OAAS,EAAG,OAAO,CAClC,CAEA,MAAO,CAAC,GAAG,EAAQ,QAAQ,CAC7B,CAOA,SAAS,EAAU,EAA2C,CAC5D,IAAK,IAAM,KAAS,EAAiB,CAAO,EAAG,CAC7C,GAAI,aAAiB,iBAAkB,OAAO,EAE9C,IAAM,EAAS,EAAU,CAAK,EAC9B,GAAI,EAAQ,OAAO,CACrB,CAEA,OAAO,IACT,CAOA,SAAS,EAAU,EAAgC,CACjD,GAAI,EAAI,aAAa,KAAK,GAAK,EAAI,aAAa,QAAQ,EAAG,MAAO,GAElE,IAAM,EAAS,EAAI,cACnB,OAAO,GAAQ,YAAc,WAAa,EAAO,cAAc,QAAQ,IAAM,IAC/E,CAOA,SAAS,GAAa,EAAgC,CACpD,MAAO,CAAC,CAAC,EAAI,aAAa,KAAK,GAAK,EAAI,aAAa,QAAQ,CAC/D,CAkBA,IAAa,GAAb,cAAmC,CAAa,QACpB,KAAA,QAAA,eAE1B,GAAiB,IAAI,GACrB,GAAqB,IAAI,qBAAuB,KAAK,cAAc,CAAC,EAEpE,GAAqB,IAAI,EAAiB,KAAM,EAAe,CAAc,EAC7E,GAAqB,IAAI,EAAiB,KAAM,EAAe,CAAc,EAE7E,GAAkC,KAElC,GAAS,GACT,GAAkC,UAElC,GAAuC,KACvC,GAAsC,KAGtC,mBAAmC,CAEjC,GADA,MAAM,kBAAkB,EACpB,KAAK,UAAW,OAEpB,KAAKM,GAAc,IAAI,gBACvB,GAAM,CAAE,UAAW,KAAKA,GAIxB,KAAK,iBAAiB,iBAAoB,KAAK,cAAc,EAAG,CAAE,QAAO,CAAC,EAC1E,KAAKH,GAAU,QAAQ,KAAM,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,CAKjE,CAEA,sBAAsC,CACpC,MAAM,qBAAqB,EAE3B,KAAKI,GAAO,IAAI,EAChB,KAAKJ,GAAU,WAAW,EAC1B,KAAKG,IAAa,MAAM,EACxB,KAAKA,GAAc,IACrB,CAEA,GAAIE,IAAmC,CAErC,MADI,CAAC,KAAKC,IAAU,CAAC,EAAU,KAAKA,EAAM,EAAU,OAC7C,KAAKC,KAAoB,UAAY,UAAY,KAAKA,EAC/D,CAEA,OAA0B,EAA+B,CACvD,MAAM,OAAO,CAAO,EAEpB,IAAM,EAAW,KAAKN,GAAU,MAChC,GAAI,CAAC,EAAU,OAIf,KAAKF,GAAM,SAAS,CAClB,QAAS,EAAS,QAClB,OAAQ,KAAKG,GAAU,OAAO,QAAU,EAC1C,CAAC,EAED,GAAM,CAAE,OAAQ,KAAKH,GAAM,SAAS,EAEpC,KAAKK,GAAO,EAAU,IAAI,CAAC,EAC3B,KAAKI,GAAa,CAAG,EAErB,KAAKT,GAAM,kBAAkB,KAAKM,EAAU,EAC5C,EAAoB,KAAM,KAAKN,GAAM,SAAS,EAAG,EAAe,CAClE,CAOA,GAAO,EAAqC,CAY1C,GAXI,IAAS,KAAKO,KAGd,KAAKG,IAAQ,KAAKH,IAAQ,gBAAgB,KAAK,EACnD,KAAKI,IAAc,MAAM,EACzB,KAAKA,GAAe,KAEpB,KAAKJ,GAAS,EACd,KAAKG,GAAS,IAAS,MAAQ,CAAC,EAAU,CAAI,EAC9C,KAAKF,GAAkB,UAEnB,CAAC,GAAM,OAKP,EAAK,aAAe,EAAG,KAAKA,GAAkB,SACzC,EAAK,UAAY,GAAa,CAAI,IAAG,KAAKA,GAAkB,SAErE,KAAKG,GAAe,IAAI,gBACxB,GAAM,CAAE,UAAW,KAAKA,GAClB,EAAU,OAAoC,CAClD,KAAKH,GAAkB,EACvB,KAAK,cAAc,CACrB,EAEA,EAAK,iBAAiB,OAAQ,EAAO,QAAQ,EAAG,CAAE,QAAO,CAAC,EAC1D,EAAK,iBAAiB,QAAS,EAAO,OAAO,EAAG,CAAE,QAAO,CAAC,CAC5D,CAEA,GAAa,EAAmB,CAC9B,IAAM,EAAM,KAAKD,GAEZ,GAWA,KAAKG,KAEL,EAGM,EAAI,aAAa,KAAK,IAAM,IAGrC,KAAKF,GAAkB,UACvB,EAAI,aAAa,MAAO,CAAG,IAN3B,KAAKA,GAAkB,UACvB,EAAI,gBAAgB,KAAK,GAO7B,CACF"}
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-w6R9maHv.js";
1
+ import { n as __exportAll } from "./rolldown-runtime-KW3qVizi.js";
2
2
 
3
3
  //#region ../core/dist/dev/i18n/locales/pt-BR.js
4
4
  var pt_BR_exports = /* @__PURE__ */ __exportAll({ default: () => pt_BR_default });
@@ -105,4 +105,4 @@ var pt_BR_default = {
105
105
 
106
106
  //#endregion
107
107
  export { pt_BR_exports as n, pt_BR_default as t };
108
- //# sourceMappingURL=pt-BR-Dx0zZKM6.js.map
108
+ //# sourceMappingURL=pt-BR-Cfv1ox9K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-BR-Dx0zZKM6.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt-BR.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-BR.ts\nvar pt_BR_default = {\n\tbuttons: {\n\t\tplay: \"Tocar\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Tocar novamente\",\n\t\tmute: \"Mudo\",\n\t\tunmute: \"Ativar o som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Retroceder {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Tela Cheia\",\n\t\texit: \"Sair da tela cheia\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Picture-in-Picture\",\n\t\texit: \"Sair de Picture-in-Picture\"\n\t},\n\tlive: {\n\t\tplaying: \"Reproduzindo ao vivo\",\n\t\tseekToEdge: \"Ir para o ao vivo\",\n\t\tbadge: \"Ao vivo\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"Conectando\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Buscar\" },\n\ttime: {\n\t\tcurrent: \"Tempo\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, silenciado\",\n\t\tmuted: \"Silenciado\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativadas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Pausado\",\n\t\tplaying: \"Reproduzindo\",\n\t\tfullscreen: \"Tela cheia\",\n\t\tpip: \"Picture-in-picture\",\n\t\texitPip: \"Sair do picture-in-picture\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor de mídia\" },\n\terrors: {\n\t\taborted: \"Você parou a execução do vídeo.\",\n\t\tnetwork: \"Um erro na rede causou falha durante o download da mídia.\",\n\t\tdecode: \"A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.\",\n\t\tsource: \"A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.\",\n\t\tencrypted: \"A mídia está criptografada e não temos as chaves para descriptografar.\",\n\t\tunplayable: \"Esta mídia não é suportada pelo reprodutor.\",\n\t\ttitle: \"Algo deu errado.\",\n\t\tunexpected: \"Ocorreu um erro. Tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Configurações\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Padrão\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_BR_default as default };\n\n//# sourceMappingURL=pt-BR.js.map"],"mappings":";;;;AACA,IAAI,gBAAgB;CACnB,SAAS;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;CACA,MAAM;EACL,SAAS;EACT,UAAU;CACX;CACA,YAAY;EACX,OAAO;EACP,MAAM;CACP;CACA,UAAU;EACT,QAAQ;EACR,SAAS;CACV;CACA,KAAK;EACJ,OAAO;EACP,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,YAAY;EACZ,OAAO;CACR;CACA,MAAM;EACL,OAAO;EACP,MAAM;EACN,YAAY;CACb;CACA,SAAS;EACR,OAAO;EACP,MAAM;CACP;CACA,QAAQ,EAAE,MAAM,SAAS;CACzB,MAAM;EACL,SAAS;EACT,UAAU;EACV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,UAAU;CACX;CACA,UAAU,EAAE,MAAM,oBAAoB;CACtC,QAAQ;EACP,YAAY;EACZ,OAAO;EACP,OAAO;EACP,OAAO;CACR;CACA,QAAQ;EACP,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;CACX;CACA,WAAW,EAAE,OAAO,sBAAsB;CAC1C,QAAQ;EACP,SAAS;EACT,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;CACb;CACA,QAAQ;EACP,OAAO;EACP,IAAI;CACL;CACA,MAAM;EACL,UAAU;EACV,SAAS;EACT,OAAO;EACP,SAAS;EACT,OAAO;EACP,UAAU;EACV,cAAc;EACd,MAAM;EACN,KAAK;EACL,MAAM;EACN,eAAe;EACf,WAAW;CACZ;AACD"}
1
+ {"version":3,"file":"pt-BR-Cfv1ox9K.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt-BR.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-BR.ts\nvar pt_BR_default = {\n\tbuttons: {\n\t\tplay: \"Tocar\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Tocar novamente\",\n\t\tmute: \"Mudo\",\n\t\tunmute: \"Ativar o som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Retroceder {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Tela Cheia\",\n\t\texit: \"Sair da tela cheia\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Picture-in-Picture\",\n\t\texit: \"Sair de Picture-in-Picture\"\n\t},\n\tlive: {\n\t\tplaying: \"Reproduzindo ao vivo\",\n\t\tseekToEdge: \"Ir para o ao vivo\",\n\t\tbadge: \"Ao vivo\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"Conectando\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Buscar\" },\n\ttime: {\n\t\tcurrent: \"Tempo\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, silenciado\",\n\t\tmuted: \"Silenciado\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativadas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Pausado\",\n\t\tplaying: \"Reproduzindo\",\n\t\tfullscreen: \"Tela cheia\",\n\t\tpip: \"Picture-in-picture\",\n\t\texitPip: \"Sair do picture-in-picture\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor de mídia\" },\n\terrors: {\n\t\taborted: \"Você parou a execução do vídeo.\",\n\t\tnetwork: \"Um erro na rede causou falha durante o download da mídia.\",\n\t\tdecode: \"A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.\",\n\t\tsource: \"A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.\",\n\t\tencrypted: \"A mídia está criptografada e não temos as chaves para descriptografar.\",\n\t\tunplayable: \"Esta mídia não é suportada pelo reprodutor.\",\n\t\ttitle: \"Algo deu errado.\",\n\t\tunexpected: \"Ocorreu um erro. Tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Configurações\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Padrão\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_BR_default as default };\n\n//# sourceMappingURL=pt-BR.js.map"],"mappings":";;;;AACA,IAAI,gBAAgB;CACnB,SAAS;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;CACA,MAAM;EACL,SAAS;EACT,UAAU;CACX;CACA,YAAY;EACX,OAAO;EACP,MAAM;CACP;CACA,UAAU;EACT,QAAQ;EACR,SAAS;CACV;CACA,KAAK;EACJ,OAAO;EACP,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,YAAY;EACZ,OAAO;CACR;CACA,MAAM;EACL,OAAO;EACP,MAAM;EACN,YAAY;CACb;CACA,SAAS;EACR,OAAO;EACP,MAAM;CACP;CACA,QAAQ,EAAE,MAAM,SAAS;CACzB,MAAM;EACL,SAAS;EACT,UAAU;EACV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,UAAU;CACX;CACA,UAAU,EAAE,MAAM,oBAAoB;CACtC,QAAQ;EACP,YAAY;EACZ,OAAO;EACP,OAAO;EACP,OAAO;CACR;CACA,QAAQ;EACP,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;CACX;CACA,WAAW,EAAE,OAAO,sBAAsB;CAC1C,QAAQ;EACP,SAAS;EACT,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;CACb;CACA,QAAQ;EACP,OAAO;EACP,IAAI;CACL;CACA,MAAM;EACL,UAAU;EACV,SAAS;EACT,OAAO;EACP,SAAS;EACT,OAAO;EACP,UAAU;EACV,cAAc;EACd,MAAM;EACN,KAAK;EACL,MAAM;EACN,eAAe;EACf,WAAW;CACZ;AACD"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";var t=e({default:()=>n}),n={buttons:{play:`Tocar`,pause:`Pausar`,replay:`Tocar novamente`,mute:`Mudo`,unmute:`Ativar o som`},seek:{forward:`Avançar {seconds} segundos`,backward:`Retroceder {seconds} segundos`},fullscreen:{enter:`Tela Cheia`,exit:`Sair da tela cheia`},captions:{enable:`Ativar legendas`,disable:`Desativar legendas`},pip:{enter:`Picture-in-Picture`,exit:`Sair de Picture-in-Picture`},live:{playing:`Reproduzindo ao vivo`,seekToEdge:`Ir para o ao vivo`,badge:`Ao vivo`},cast:{start:`Iniciar transmissão`,stop:`Parar transmissão`,connecting:`Conectando`},airplay:{start:`Iniciar AirPlay`,stop:`Parar AirPlay`},slider:{seek:`Buscar`},time:{current:`Tempo`,duration:`Duração`,remaining:`Tempo Restante`,elapsedSuffix:`{duration} de tempo decorrido`,durationSuffix:`{duration} de duração`,remainingSuffix:`Restam {duration}`,showElapsed:`Mostrar tempo decorrido, {duration}.`,showDuration:`Mostrar duração, {duration}.`,showRemaining:`Mostrar tempo restante, {duration}.`,toggleElapsed:`Alternar entre o tempo decorrido e o tempo restante.`,toggleDuration:`Alternar entre a duração e o tempo restante.`,position:`{current} de {duration}`},playback:{rate:`Velocidade {rate}`},volume:{mutedValue:`{percent}, silenciado`,muted:`Silenciado`,label:`Nível de volume`,value:`Nível de volume {value}`},status:{captionsOn:`Legendas ativadas`,captionsOff:`Legendas desativadas`,paused:`Pausado`,playing:`Reproduzindo`,fullscreen:`Tela cheia`,pip:`Picture-in-picture`,exitPip:`Sair do picture-in-picture`,seekedTo:`Posição alterada para {time}`},container:{label:`Reprodutor de mídia`},errors:{aborted:`Você parou a execução do vídeo.`,network:`Um erro na rede causou falha durante o download da mídia.`,decode:`A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.`,source:`A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.`,encrypted:`A mídia está criptografada e não temos as chaves para descriptografar.`,unplayable:`Esta mídia não é suportada pelo reprodutor.`,title:`Algo deu errado.`,unexpected:`Ocorreu um erro. Tente novamente.`},common:{empty:``,ok:`Fechar`},menu:{settings:`Configurações`,quality:`Qualidade`,audio:`Áudio`,default:`Padrão`,speed:`Velocidade`,captions:`Legendas`,playbackRate:`Velocidade de reprodução`,back:`Voltar`,off:`Desativado`,auto:`Auto`,autoWithLabel:`Auto ({label})`,subtitles:`Legendas`}};export{t as n,n as t};
2
- //# sourceMappingURL=pt-BR-BweixWSY.js.map
1
+ import{n as e}from"./rolldown-runtime-QTnfLwEv.js";var t=e({default:()=>n}),n={buttons:{play:`Tocar`,pause:`Pausar`,replay:`Tocar novamente`,mute:`Mudo`,unmute:`Ativar o som`},seek:{forward:`Avançar {seconds} segundos`,backward:`Retroceder {seconds} segundos`},fullscreen:{enter:`Tela Cheia`,exit:`Sair da tela cheia`},captions:{enable:`Ativar legendas`,disable:`Desativar legendas`},pip:{enter:`Picture-in-Picture`,exit:`Sair de Picture-in-Picture`},live:{playing:`Reproduzindo ao vivo`,seekToEdge:`Ir para o ao vivo`,badge:`Ao vivo`},cast:{start:`Iniciar transmissão`,stop:`Parar transmissão`,connecting:`Conectando`},airplay:{start:`Iniciar AirPlay`,stop:`Parar AirPlay`},slider:{seek:`Buscar`},time:{current:`Tempo`,duration:`Duração`,remaining:`Tempo Restante`,elapsedSuffix:`{duration} de tempo decorrido`,durationSuffix:`{duration} de duração`,remainingSuffix:`Restam {duration}`,showElapsed:`Mostrar tempo decorrido, {duration}.`,showDuration:`Mostrar duração, {duration}.`,showRemaining:`Mostrar tempo restante, {duration}.`,toggleElapsed:`Alternar entre o tempo decorrido e o tempo restante.`,toggleDuration:`Alternar entre a duração e o tempo restante.`,position:`{current} de {duration}`},playback:{rate:`Velocidade {rate}`},volume:{mutedValue:`{percent}, silenciado`,muted:`Silenciado`,label:`Nível de volume`,value:`Nível de volume {value}`},status:{captionsOn:`Legendas ativadas`,captionsOff:`Legendas desativadas`,paused:`Pausado`,playing:`Reproduzindo`,fullscreen:`Tela cheia`,pip:`Picture-in-picture`,exitPip:`Sair do picture-in-picture`,seekedTo:`Posição alterada para {time}`},container:{label:`Reprodutor de mídia`},errors:{aborted:`Você parou a execução do vídeo.`,network:`Um erro na rede causou falha durante o download da mídia.`,decode:`A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.`,source:`A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.`,encrypted:`A mídia está criptografada e não temos as chaves para descriptografar.`,unplayable:`Esta mídia não é suportada pelo reprodutor.`,title:`Algo deu errado.`,unexpected:`Ocorreu um erro. Tente novamente.`},common:{empty:``,ok:`Fechar`},menu:{settings:`Configurações`,quality:`Qualidade`,audio:`Áudio`,default:`Padrão`,speed:`Velocidade`,captions:`Legendas`,playbackRate:`Velocidade de reprodução`,back:`Voltar`,off:`Desativado`,auto:`Auto`,autoWithLabel:`Auto ({label})`,subtitles:`Legendas`}};export{t as n,n as t};
2
+ //# sourceMappingURL=pt-BR-j4XWQBdJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-BR-BweixWSY.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt-BR.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-BR.ts\nvar pt_BR_default = {\n\tbuttons: {\n\t\tplay: \"Tocar\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Tocar novamente\",\n\t\tmute: \"Mudo\",\n\t\tunmute: \"Ativar o som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Retroceder {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Tela Cheia\",\n\t\texit: \"Sair da tela cheia\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Picture-in-Picture\",\n\t\texit: \"Sair de Picture-in-Picture\"\n\t},\n\tlive: {\n\t\tplaying: \"Reproduzindo ao vivo\",\n\t\tseekToEdge: \"Ir para o ao vivo\",\n\t\tbadge: \"Ao vivo\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"Conectando\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Buscar\" },\n\ttime: {\n\t\tcurrent: \"Tempo\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, silenciado\",\n\t\tmuted: \"Silenciado\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativadas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Pausado\",\n\t\tplaying: \"Reproduzindo\",\n\t\tfullscreen: \"Tela cheia\",\n\t\tpip: \"Picture-in-picture\",\n\t\texitPip: \"Sair do picture-in-picture\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor de mídia\" },\n\terrors: {\n\t\taborted: \"Você parou a execução do vídeo.\",\n\t\tnetwork: \"Um erro na rede causou falha durante o download da mídia.\",\n\t\tdecode: \"A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.\",\n\t\tsource: \"A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.\",\n\t\tencrypted: \"A mídia está criptografada e não temos as chaves para descriptografar.\",\n\t\tunplayable: \"Esta mídia não é suportada pelo reprodutor.\",\n\t\ttitle: \"Algo deu errado.\",\n\t\tunexpected: \"Ocorreu um erro. Tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Configurações\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Padrão\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_BR_default as default };\n\n//# sourceMappingURL=pt-BR.js.map"],"mappings":"4EACI,EAAgB,CACnB,QAAS,CACR,KAAM,QACN,MAAO,SACP,OAAQ,kBACR,KAAM,OACN,OAAQ,cACT,EACA,KAAM,CACL,QAAS,6BACT,SAAU,+BACX,EACA,WAAY,CACX,MAAO,aACP,KAAM,oBACP,EACA,SAAU,CACT,OAAQ,kBACR,QAAS,oBACV,EACA,IAAK,CACJ,MAAO,qBACP,KAAM,4BACP,EACA,KAAM,CACL,QAAS,uBACT,WAAY,oBACZ,MAAO,SACR,EACA,KAAM,CACL,MAAO,sBACP,KAAM,oBACN,WAAY,YACb,EACA,QAAS,CACR,MAAO,kBACP,KAAM,eACP,EACA,OAAQ,CAAE,KAAM,QAAS,EACzB,KAAM,CACL,QAAS,QACT,SAAU,UACV,UAAW,iBACX,cAAe,gCACf,eAAgB,wBAChB,gBAAiB,oBACjB,YAAa,uCACb,aAAc,+BACd,cAAe,sCACf,cAAe,uDACf,eAAgB,+CAChB,SAAU,yBACX,EACA,SAAU,CAAE,KAAM,mBAAoB,EACtC,OAAQ,CACP,WAAY,wBACZ,MAAO,aACP,MAAO,kBACP,MAAO,yBACR,EACA,OAAQ,CACP,WAAY,oBACZ,YAAa,uBACb,OAAQ,UACR,QAAS,eACT,WAAY,aACZ,IAAK,qBACL,QAAS,6BACT,SAAU,8BACX,EACA,UAAW,CAAE,MAAO,qBAAsB,EAC1C,OAAQ,CACP,QAAS,kCACT,QAAS,4DACT,OAAQ,0IACR,OAAQ,kGACR,UAAW,yEACX,WAAY,8CACZ,MAAO,mBACP,WAAY,mCACb,EACA,OAAQ,CACP,MAAO,GACP,GAAI,QACL,EACA,KAAM,CACL,SAAU,gBACV,QAAS,YACT,MAAO,QACP,QAAS,SACT,MAAO,aACP,SAAU,WACV,aAAc,2BACd,KAAM,SACN,IAAK,aACL,KAAM,OACN,cAAe,iBACf,UAAW,UACZ,CACD"}
1
+ {"version":3,"file":"pt-BR-j4XWQBdJ.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt-BR.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-BR.ts\nvar pt_BR_default = {\n\tbuttons: {\n\t\tplay: \"Tocar\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Tocar novamente\",\n\t\tmute: \"Mudo\",\n\t\tunmute: \"Ativar o som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Retroceder {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Tela Cheia\",\n\t\texit: \"Sair da tela cheia\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Picture-in-Picture\",\n\t\texit: \"Sair de Picture-in-Picture\"\n\t},\n\tlive: {\n\t\tplaying: \"Reproduzindo ao vivo\",\n\t\tseekToEdge: \"Ir para o ao vivo\",\n\t\tbadge: \"Ao vivo\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"Conectando\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Buscar\" },\n\ttime: {\n\t\tcurrent: \"Tempo\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, silenciado\",\n\t\tmuted: \"Silenciado\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativadas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Pausado\",\n\t\tplaying: \"Reproduzindo\",\n\t\tfullscreen: \"Tela cheia\",\n\t\tpip: \"Picture-in-picture\",\n\t\texitPip: \"Sair do picture-in-picture\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor de mídia\" },\n\terrors: {\n\t\taborted: \"Você parou a execução do vídeo.\",\n\t\tnetwork: \"Um erro na rede causou falha durante o download da mídia.\",\n\t\tdecode: \"A reprodução foi interrompida devido à um problema de mídia corrompida ou porque a mídia utiliza funções que seu navegador não suporta.\",\n\t\tsource: \"A mídia não pode ser carregada, por uma falha de rede ou servidor ou o formato não é suportado.\",\n\t\tencrypted: \"A mídia está criptografada e não temos as chaves para descriptografar.\",\n\t\tunplayable: \"Esta mídia não é suportada pelo reprodutor.\",\n\t\ttitle: \"Algo deu errado.\",\n\t\tunexpected: \"Ocorreu um erro. Tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Configurações\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Padrão\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_BR_default as default };\n\n//# sourceMappingURL=pt-BR.js.map"],"mappings":"4EACI,EAAgB,CACnB,QAAS,CACR,KAAM,QACN,MAAO,SACP,OAAQ,kBACR,KAAM,OACN,OAAQ,cACT,EACA,KAAM,CACL,QAAS,6BACT,SAAU,+BACX,EACA,WAAY,CACX,MAAO,aACP,KAAM,oBACP,EACA,SAAU,CACT,OAAQ,kBACR,QAAS,oBACV,EACA,IAAK,CACJ,MAAO,qBACP,KAAM,4BACP,EACA,KAAM,CACL,QAAS,uBACT,WAAY,oBACZ,MAAO,SACR,EACA,KAAM,CACL,MAAO,sBACP,KAAM,oBACN,WAAY,YACb,EACA,QAAS,CACR,MAAO,kBACP,KAAM,eACP,EACA,OAAQ,CAAE,KAAM,QAAS,EACzB,KAAM,CACL,QAAS,QACT,SAAU,UACV,UAAW,iBACX,cAAe,gCACf,eAAgB,wBAChB,gBAAiB,oBACjB,YAAa,uCACb,aAAc,+BACd,cAAe,sCACf,cAAe,uDACf,eAAgB,+CAChB,SAAU,yBACX,EACA,SAAU,CAAE,KAAM,mBAAoB,EACtC,OAAQ,CACP,WAAY,wBACZ,MAAO,aACP,MAAO,kBACP,MAAO,yBACR,EACA,OAAQ,CACP,WAAY,oBACZ,YAAa,uBACb,OAAQ,UACR,QAAS,eACT,WAAY,aACZ,IAAK,qBACL,QAAS,6BACT,SAAU,8BACX,EACA,UAAW,CAAE,MAAO,qBAAsB,EAC1C,OAAQ,CACP,QAAS,kCACT,QAAS,4DACT,OAAQ,0IACR,OAAQ,kGACR,UAAW,yEACX,WAAY,8CACZ,MAAO,mBACP,WAAY,mCACb,EACA,OAAQ,CACP,MAAO,GACP,GAAI,QACL,EACA,KAAM,CACL,SAAU,gBACV,QAAS,YACT,MAAO,QACP,QAAS,SACT,MAAO,aACP,SAAU,WACV,aAAc,2BACd,KAAM,SACN,IAAK,aACL,KAAM,OACN,cAAe,iBACf,UAAW,UACZ,CACD"}
@@ -1,9 +1,9 @@
1
- import { t as __exportAll } from "./rolldown-runtime-w6R9maHv.js";
2
- import { t as pt_BR_default } from "./pt-BR-Dx0zZKM6.js";
1
+ import { n as __exportAll } from "./rolldown-runtime-KW3qVizi.js";
2
+ import { t as pt_BR_default } from "./pt-BR-Cfv1ox9K.js";
3
3
 
4
4
  //#region ../core/dist/dev/i18n/locales/pt.js
5
5
  var pt_exports = /* @__PURE__ */ __exportAll({ default: () => pt_BR_default });
6
6
 
7
7
  //#endregion
8
8
  export { pt_exports as t };
9
- //# sourceMappingURL=pt-C0Z9dXhV.js.map
9
+ //# sourceMappingURL=pt-BUBSLaBp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-C0Z9dXhV.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt.js"],"sourcesContent":["import pt_BR_default from \"./pt-BR.js\";\nexport { pt_BR_default as default };\n"],"mappings":""}
1
+ {"version":3,"file":"pt-BUBSLaBp.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt.js"],"sourcesContent":["import pt_BR_default from \"./pt-BR.js\";\nexport { pt_BR_default as default };\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";var t=e({default:()=>n}),n={buttons:{play:`Reproduzir`,pause:`Pausar`,replay:`Reiniciar`,mute:`Desativar som`,unmute:`Ativar som`},seek:{forward:`Avançar {seconds} segundos`,backward:`Recuar {seconds} segundos`},fullscreen:{enter:`Ecrã inteiro`,exit:`Sair de ecrã inteiro`},captions:{enable:`Ativar legendas`,disable:`Desativar legendas`},pip:{enter:`Imagem em imagem`,exit:`Sair de imagem em imagem`},live:{playing:`A reproduzir em direto`,seekToEdge:`Ir para o em direto`,badge:`Em direto`},cast:{start:`Iniciar transmissão`,stop:`Parar transmissão`,connecting:`A ligar`},airplay:{start:`Iniciar AirPlay`,stop:`Parar AirPlay`},slider:{seek:`Procurar`},time:{current:`Tempo Atual`,duration:`Duração`,remaining:`Tempo Restante`,elapsedSuffix:`{duration} de tempo decorrido`,durationSuffix:`{duration} de duração`,remainingSuffix:`Restam {duration}`,showElapsed:`Mostrar tempo decorrido, {duration}.`,showDuration:`Mostrar duração, {duration}.`,showRemaining:`Mostrar tempo restante, {duration}.`,toggleElapsed:`Alternar entre o tempo decorrido e o tempo restante.`,toggleDuration:`Alternar entre a duração e o tempo restante.`,position:`{current} de {duration}`},playback:{rate:`Velocidade de reprodução {rate}`},volume:{mutedValue:`{percent}, sem som`,muted:`Sem som`,label:`Nível de volume`,value:`Nível de volume {value}`},status:{captionsOn:`Legendas ativas`,captionsOff:`Legendas desativadas`,paused:`Em pausa`,playing:`A reproduzir`,fullscreen:`Ecrã inteiro`,pip:`Imagem em imagem`,exitPip:`Sair de imagem em imagem`,seekedTo:`Posição alterada para {time}`},container:{label:`Reprodutor multimédia`},errors:{aborted:`Parou a reprodução do vídeo.`,network:`Um erro na rede fez o vídeo falhar parcialmente.`,decode:`A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.`,source:`O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.`,encrypted:`O vídeo está encriptado e não há uma chave para o desencriptar.`,unplayable:`Este conteúdo multimédia não é suportado pelo reprodutor.`,title:`Algo correu mal.`,unexpected:`Ocorreu um erro. Por favor tente novamente.`},common:{empty:``,ok:`Fechar`},menu:{settings:`Definições`,quality:`Qualidade`,audio:`Áudio`,default:`Predefinição`,speed:`Velocidade`,captions:`Legendas`,playbackRate:`Velocidade de reprodução`,back:`Voltar`,off:`Desativado`,auto:`Auto`,autoWithLabel:`Auto ({label})`,subtitles:`Legendas`}};export{t as n,n as t};
2
- //# sourceMappingURL=pt-PT-Di4o8ntw.js.map
1
+ import{n as e}from"./rolldown-runtime-QTnfLwEv.js";var t=e({default:()=>n}),n={buttons:{play:`Reproduzir`,pause:`Pausar`,replay:`Reiniciar`,mute:`Desativar som`,unmute:`Ativar som`},seek:{forward:`Avançar {seconds} segundos`,backward:`Recuar {seconds} segundos`},fullscreen:{enter:`Ecrã inteiro`,exit:`Sair de ecrã inteiro`},captions:{enable:`Ativar legendas`,disable:`Desativar legendas`},pip:{enter:`Imagem em imagem`,exit:`Sair de imagem em imagem`},live:{playing:`A reproduzir em direto`,seekToEdge:`Ir para o em direto`,badge:`Em direto`},cast:{start:`Iniciar transmissão`,stop:`Parar transmissão`,connecting:`A ligar`},airplay:{start:`Iniciar AirPlay`,stop:`Parar AirPlay`},slider:{seek:`Procurar`},time:{current:`Tempo Atual`,duration:`Duração`,remaining:`Tempo Restante`,elapsedSuffix:`{duration} de tempo decorrido`,durationSuffix:`{duration} de duração`,remainingSuffix:`Restam {duration}`,showElapsed:`Mostrar tempo decorrido, {duration}.`,showDuration:`Mostrar duração, {duration}.`,showRemaining:`Mostrar tempo restante, {duration}.`,toggleElapsed:`Alternar entre o tempo decorrido e o tempo restante.`,toggleDuration:`Alternar entre a duração e o tempo restante.`,position:`{current} de {duration}`},playback:{rate:`Velocidade de reprodução {rate}`},volume:{mutedValue:`{percent}, sem som`,muted:`Sem som`,label:`Nível de volume`,value:`Nível de volume {value}`},status:{captionsOn:`Legendas ativas`,captionsOff:`Legendas desativadas`,paused:`Em pausa`,playing:`A reproduzir`,fullscreen:`Ecrã inteiro`,pip:`Imagem em imagem`,exitPip:`Sair de imagem em imagem`,seekedTo:`Posição alterada para {time}`},container:{label:`Reprodutor multimédia`},errors:{aborted:`Parou a reprodução do vídeo.`,network:`Um erro na rede fez o vídeo falhar parcialmente.`,decode:`A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.`,source:`O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.`,encrypted:`O vídeo está encriptado e não há uma chave para o desencriptar.`,unplayable:`Este conteúdo multimédia não é suportado pelo reprodutor.`,title:`Algo correu mal.`,unexpected:`Ocorreu um erro. Por favor tente novamente.`},common:{empty:``,ok:`Fechar`},menu:{settings:`Definições`,quality:`Qualidade`,audio:`Áudio`,default:`Predefinição`,speed:`Velocidade`,captions:`Legendas`,playbackRate:`Velocidade de reprodução`,back:`Voltar`,off:`Desativado`,auto:`Auto`,autoWithLabel:`Auto ({label})`,subtitles:`Legendas`}};export{t as n,n as t};
2
+ //# sourceMappingURL=pt-PT-DQ0otVWH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-PT-Di4o8ntw.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt-PT.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-PT.ts\nvar pt_PT_default = {\n\tbuttons: {\n\t\tplay: \"Reproduzir\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Reiniciar\",\n\t\tmute: \"Desativar som\",\n\t\tunmute: \"Ativar som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Recuar {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Ecrã inteiro\",\n\t\texit: \"Sair de ecrã inteiro\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Imagem em imagem\",\n\t\texit: \"Sair de imagem em imagem\"\n\t},\n\tlive: {\n\t\tplaying: \"A reproduzir em direto\",\n\t\tseekToEdge: \"Ir para o em direto\",\n\t\tbadge: \"Em direto\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"A ligar\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Procurar\" },\n\ttime: {\n\t\tcurrent: \"Tempo Atual\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade de reprodução {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, sem som\",\n\t\tmuted: \"Sem som\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Em pausa\",\n\t\tplaying: \"A reproduzir\",\n\t\tfullscreen: \"Ecrã inteiro\",\n\t\tpip: \"Imagem em imagem\",\n\t\texitPip: \"Sair de imagem em imagem\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor multimédia\" },\n\terrors: {\n\t\taborted: \"Parou a reprodução do vídeo.\",\n\t\tnetwork: \"Um erro na rede fez o vídeo falhar parcialmente.\",\n\t\tdecode: \"A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.\",\n\t\tsource: \"O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.\",\n\t\tencrypted: \"O vídeo está encriptado e não há uma chave para o desencriptar.\",\n\t\tunplayable: \"Este conteúdo multimédia não é suportado pelo reprodutor.\",\n\t\ttitle: \"Algo correu mal.\",\n\t\tunexpected: \"Ocorreu um erro. Por favor tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Definições\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Predefinição\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_PT_default as default };\n\n//# sourceMappingURL=pt-PT.js.map"],"mappings":"4EACI,EAAgB,CACnB,QAAS,CACR,KAAM,aACN,MAAO,SACP,OAAQ,YACR,KAAM,gBACN,OAAQ,YACT,EACA,KAAM,CACL,QAAS,6BACT,SAAU,2BACX,EACA,WAAY,CACX,MAAO,eACP,KAAM,sBACP,EACA,SAAU,CACT,OAAQ,kBACR,QAAS,oBACV,EACA,IAAK,CACJ,MAAO,mBACP,KAAM,0BACP,EACA,KAAM,CACL,QAAS,yBACT,WAAY,sBACZ,MAAO,WACR,EACA,KAAM,CACL,MAAO,sBACP,KAAM,oBACN,WAAY,SACb,EACA,QAAS,CACR,MAAO,kBACP,KAAM,eACP,EACA,OAAQ,CAAE,KAAM,UAAW,EAC3B,KAAM,CACL,QAAS,cACT,SAAU,UACV,UAAW,iBACX,cAAe,gCACf,eAAgB,wBAChB,gBAAiB,oBACjB,YAAa,uCACb,aAAc,+BACd,cAAe,sCACf,cAAe,uDACf,eAAgB,+CAChB,SAAU,yBACX,EACA,SAAU,CAAE,KAAM,iCAAkC,EACpD,OAAQ,CACP,WAAY,qBACZ,MAAO,UACP,MAAO,kBACP,MAAO,yBACR,EACA,OAAQ,CACP,WAAY,kBACZ,YAAa,uBACb,OAAQ,WACR,QAAS,eACT,WAAY,eACZ,IAAK,mBACL,QAAS,2BACT,SAAU,8BACX,EACA,UAAW,CAAE,MAAO,uBAAwB,EAC5C,OAAQ,CACP,QAAS,+BACT,QAAS,mDACT,OAAQ,sHACR,OAAQ,qIACR,UAAW,kEACX,WAAY,4DACZ,MAAO,mBACP,WAAY,6CACb,EACA,OAAQ,CACP,MAAO,GACP,GAAI,QACL,EACA,KAAM,CACL,SAAU,aACV,QAAS,YACT,MAAO,QACP,QAAS,eACT,MAAO,aACP,SAAU,WACV,aAAc,2BACd,KAAM,SACN,IAAK,aACL,KAAM,OACN,cAAe,iBACf,UAAW,UACZ,CACD"}
1
+ {"version":3,"file":"pt-PT-DQ0otVWH.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt-PT.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-PT.ts\nvar pt_PT_default = {\n\tbuttons: {\n\t\tplay: \"Reproduzir\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Reiniciar\",\n\t\tmute: \"Desativar som\",\n\t\tunmute: \"Ativar som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Recuar {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Ecrã inteiro\",\n\t\texit: \"Sair de ecrã inteiro\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Imagem em imagem\",\n\t\texit: \"Sair de imagem em imagem\"\n\t},\n\tlive: {\n\t\tplaying: \"A reproduzir em direto\",\n\t\tseekToEdge: \"Ir para o em direto\",\n\t\tbadge: \"Em direto\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"A ligar\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Procurar\" },\n\ttime: {\n\t\tcurrent: \"Tempo Atual\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade de reprodução {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, sem som\",\n\t\tmuted: \"Sem som\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Em pausa\",\n\t\tplaying: \"A reproduzir\",\n\t\tfullscreen: \"Ecrã inteiro\",\n\t\tpip: \"Imagem em imagem\",\n\t\texitPip: \"Sair de imagem em imagem\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor multimédia\" },\n\terrors: {\n\t\taborted: \"Parou a reprodução do vídeo.\",\n\t\tnetwork: \"Um erro na rede fez o vídeo falhar parcialmente.\",\n\t\tdecode: \"A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.\",\n\t\tsource: \"O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.\",\n\t\tencrypted: \"O vídeo está encriptado e não há uma chave para o desencriptar.\",\n\t\tunplayable: \"Este conteúdo multimédia não é suportado pelo reprodutor.\",\n\t\ttitle: \"Algo correu mal.\",\n\t\tunexpected: \"Ocorreu um erro. Por favor tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Definições\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Predefinição\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_PT_default as default };\n\n//# sourceMappingURL=pt-PT.js.map"],"mappings":"4EACI,EAAgB,CACnB,QAAS,CACR,KAAM,aACN,MAAO,SACP,OAAQ,YACR,KAAM,gBACN,OAAQ,YACT,EACA,KAAM,CACL,QAAS,6BACT,SAAU,2BACX,EACA,WAAY,CACX,MAAO,eACP,KAAM,sBACP,EACA,SAAU,CACT,OAAQ,kBACR,QAAS,oBACV,EACA,IAAK,CACJ,MAAO,mBACP,KAAM,0BACP,EACA,KAAM,CACL,QAAS,yBACT,WAAY,sBACZ,MAAO,WACR,EACA,KAAM,CACL,MAAO,sBACP,KAAM,oBACN,WAAY,SACb,EACA,QAAS,CACR,MAAO,kBACP,KAAM,eACP,EACA,OAAQ,CAAE,KAAM,UAAW,EAC3B,KAAM,CACL,QAAS,cACT,SAAU,UACV,UAAW,iBACX,cAAe,gCACf,eAAgB,wBAChB,gBAAiB,oBACjB,YAAa,uCACb,aAAc,+BACd,cAAe,sCACf,cAAe,uDACf,eAAgB,+CAChB,SAAU,yBACX,EACA,SAAU,CAAE,KAAM,iCAAkC,EACpD,OAAQ,CACP,WAAY,qBACZ,MAAO,UACP,MAAO,kBACP,MAAO,yBACR,EACA,OAAQ,CACP,WAAY,kBACZ,YAAa,uBACb,OAAQ,WACR,QAAS,eACT,WAAY,eACZ,IAAK,mBACL,QAAS,2BACT,SAAU,8BACX,EACA,UAAW,CAAE,MAAO,uBAAwB,EAC5C,OAAQ,CACP,QAAS,+BACT,QAAS,mDACT,OAAQ,sHACR,OAAQ,qIACR,UAAW,kEACX,WAAY,4DACZ,MAAO,mBACP,WAAY,6CACb,EACA,OAAQ,CACP,MAAO,GACP,GAAI,QACL,EACA,KAAM,CACL,SAAU,aACV,QAAS,YACT,MAAO,QACP,QAAS,eACT,MAAO,aACP,SAAU,WACV,aAAc,2BACd,KAAM,SACN,IAAK,aACL,KAAM,OACN,cAAe,iBACf,UAAW,UACZ,CACD"}
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-w6R9maHv.js";
1
+ import { n as __exportAll } from "./rolldown-runtime-KW3qVizi.js";
2
2
 
3
3
  //#region ../core/dist/dev/i18n/locales/pt-PT.js
4
4
  var pt_PT_exports = /* @__PURE__ */ __exportAll({ default: () => pt_PT_default });
@@ -105,4 +105,4 @@ var pt_PT_default = {
105
105
 
106
106
  //#endregion
107
107
  export { pt_PT_exports as n, pt_PT_default as t };
108
- //# sourceMappingURL=pt-PT-DlHt57Eg.js.map
108
+ //# sourceMappingURL=pt-PT-DdJVXfMB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-PT-DlHt57Eg.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt-PT.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-PT.ts\nvar pt_PT_default = {\n\tbuttons: {\n\t\tplay: \"Reproduzir\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Reiniciar\",\n\t\tmute: \"Desativar som\",\n\t\tunmute: \"Ativar som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Recuar {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Ecrã inteiro\",\n\t\texit: \"Sair de ecrã inteiro\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Imagem em imagem\",\n\t\texit: \"Sair de imagem em imagem\"\n\t},\n\tlive: {\n\t\tplaying: \"A reproduzir em direto\",\n\t\tseekToEdge: \"Ir para o em direto\",\n\t\tbadge: \"Em direto\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"A ligar\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Procurar\" },\n\ttime: {\n\t\tcurrent: \"Tempo Atual\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade de reprodução {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, sem som\",\n\t\tmuted: \"Sem som\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Em pausa\",\n\t\tplaying: \"A reproduzir\",\n\t\tfullscreen: \"Ecrã inteiro\",\n\t\tpip: \"Imagem em imagem\",\n\t\texitPip: \"Sair de imagem em imagem\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor multimédia\" },\n\terrors: {\n\t\taborted: \"Parou a reprodução do vídeo.\",\n\t\tnetwork: \"Um erro na rede fez o vídeo falhar parcialmente.\",\n\t\tdecode: \"A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.\",\n\t\tsource: \"O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.\",\n\t\tencrypted: \"O vídeo está encriptado e não há uma chave para o desencriptar.\",\n\t\tunplayable: \"Este conteúdo multimédia não é suportado pelo reprodutor.\",\n\t\ttitle: \"Algo correu mal.\",\n\t\tunexpected: \"Ocorreu um erro. Por favor tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Definições\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Predefinição\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_PT_default as default };\n\n//# sourceMappingURL=pt-PT.js.map"],"mappings":";;;;AACA,IAAI,gBAAgB;CACnB,SAAS;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;CACA,MAAM;EACL,SAAS;EACT,UAAU;CACX;CACA,YAAY;EACX,OAAO;EACP,MAAM;CACP;CACA,UAAU;EACT,QAAQ;EACR,SAAS;CACV;CACA,KAAK;EACJ,OAAO;EACP,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,YAAY;EACZ,OAAO;CACR;CACA,MAAM;EACL,OAAO;EACP,MAAM;EACN,YAAY;CACb;CACA,SAAS;EACR,OAAO;EACP,MAAM;CACP;CACA,QAAQ,EAAE,MAAM,WAAW;CAC3B,MAAM;EACL,SAAS;EACT,UAAU;EACV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,UAAU;CACX;CACA,UAAU,EAAE,MAAM,kCAAkC;CACpD,QAAQ;EACP,YAAY;EACZ,OAAO;EACP,OAAO;EACP,OAAO;CACR;CACA,QAAQ;EACP,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;CACX;CACA,WAAW,EAAE,OAAO,wBAAwB;CAC5C,QAAQ;EACP,SAAS;EACT,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;CACb;CACA,QAAQ;EACP,OAAO;EACP,IAAI;CACL;CACA,MAAM;EACL,UAAU;EACV,SAAS;EACT,OAAO;EACP,SAAS;EACT,OAAO;EACP,UAAU;EACV,cAAc;EACd,MAAM;EACN,KAAK;EACL,MAAM;EACN,eAAe;EACf,WAAW;CACZ;AACD"}
1
+ {"version":3,"file":"pt-PT-DdJVXfMB.js","names":[],"sources":["../../core/dist/dev/i18n/locales/pt-PT.js"],"sourcesContent":["//#region src/core/i18n/locales/pt-PT.ts\nvar pt_PT_default = {\n\tbuttons: {\n\t\tplay: \"Reproduzir\",\n\t\tpause: \"Pausar\",\n\t\treplay: \"Reiniciar\",\n\t\tmute: \"Desativar som\",\n\t\tunmute: \"Ativar som\"\n\t},\n\tseek: {\n\t\tforward: \"Avançar {seconds} segundos\",\n\t\tbackward: \"Recuar {seconds} segundos\"\n\t},\n\tfullscreen: {\n\t\tenter: \"Ecrã inteiro\",\n\t\texit: \"Sair de ecrã inteiro\"\n\t},\n\tcaptions: {\n\t\tenable: \"Ativar legendas\",\n\t\tdisable: \"Desativar legendas\"\n\t},\n\tpip: {\n\t\tenter: \"Imagem em imagem\",\n\t\texit: \"Sair de imagem em imagem\"\n\t},\n\tlive: {\n\t\tplaying: \"A reproduzir em direto\",\n\t\tseekToEdge: \"Ir para o em direto\",\n\t\tbadge: \"Em direto\"\n\t},\n\tcast: {\n\t\tstart: \"Iniciar transmissão\",\n\t\tstop: \"Parar transmissão\",\n\t\tconnecting: \"A ligar\"\n\t},\n\tairplay: {\n\t\tstart: \"Iniciar AirPlay\",\n\t\tstop: \"Parar AirPlay\"\n\t},\n\tslider: { seek: \"Procurar\" },\n\ttime: {\n\t\tcurrent: \"Tempo Atual\",\n\t\tduration: \"Duração\",\n\t\tremaining: \"Tempo Restante\",\n\t\telapsedSuffix: \"{duration} de tempo decorrido\",\n\t\tdurationSuffix: \"{duration} de duração\",\n\t\tremainingSuffix: \"Restam {duration}\",\n\t\tshowElapsed: \"Mostrar tempo decorrido, {duration}.\",\n\t\tshowDuration: \"Mostrar duração, {duration}.\",\n\t\tshowRemaining: \"Mostrar tempo restante, {duration}.\",\n\t\ttoggleElapsed: \"Alternar entre o tempo decorrido e o tempo restante.\",\n\t\ttoggleDuration: \"Alternar entre a duração e o tempo restante.\",\n\t\tposition: \"{current} de {duration}\"\n\t},\n\tplayback: { rate: \"Velocidade de reprodução {rate}\" },\n\tvolume: {\n\t\tmutedValue: \"{percent}, sem som\",\n\t\tmuted: \"Sem som\",\n\t\tlabel: \"Nível de volume\",\n\t\tvalue: \"Nível de volume {value}\"\n\t},\n\tstatus: {\n\t\tcaptionsOn: \"Legendas ativas\",\n\t\tcaptionsOff: \"Legendas desativadas\",\n\t\tpaused: \"Em pausa\",\n\t\tplaying: \"A reproduzir\",\n\t\tfullscreen: \"Ecrã inteiro\",\n\t\tpip: \"Imagem em imagem\",\n\t\texitPip: \"Sair de imagem em imagem\",\n\t\tseekedTo: \"Posição alterada para {time}\"\n\t},\n\tcontainer: { label: \"Reprodutor multimédia\" },\n\terrors: {\n\t\taborted: \"Parou a reprodução do vídeo.\",\n\t\tnetwork: \"Um erro na rede fez o vídeo falhar parcialmente.\",\n\t\tdecode: \"A reprodução foi interrompida por um problema com o vídeo ou porque o formato não é compatível com o seu navegador.\",\n\t\tsource: \"O vídeo não pode ser carregado, ou porque houve um problema na rede ou no servidor, ou porque o formato do vídeo não é compatível.\",\n\t\tencrypted: \"O vídeo está encriptado e não há uma chave para o desencriptar.\",\n\t\tunplayable: \"Este conteúdo multimédia não é suportado pelo reprodutor.\",\n\t\ttitle: \"Algo correu mal.\",\n\t\tunexpected: \"Ocorreu um erro. Por favor tente novamente.\"\n\t},\n\tcommon: {\n\t\tempty: \"\",\n\t\tok: \"Fechar\"\n\t},\n\tmenu: {\n\t\tsettings: \"Definições\",\n\t\tquality: \"Qualidade\",\n\t\taudio: \"Áudio\",\n\t\tdefault: \"Predefinição\",\n\t\tspeed: \"Velocidade\",\n\t\tcaptions: \"Legendas\",\n\t\tplaybackRate: \"Velocidade de reprodução\",\n\t\tback: \"Voltar\",\n\t\toff: \"Desativado\",\n\t\tauto: \"Auto\",\n\t\tautoWithLabel: \"Auto ({label})\",\n\t\tsubtitles: \"Legendas\"\n\t}\n};\n//#endregion\nexport { pt_PT_default as default };\n\n//# sourceMappingURL=pt-PT.js.map"],"mappings":";;;;AACA,IAAI,gBAAgB;CACnB,SAAS;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;CACA,MAAM;EACL,SAAS;EACT,UAAU;CACX;CACA,YAAY;EACX,OAAO;EACP,MAAM;CACP;CACA,UAAU;EACT,QAAQ;EACR,SAAS;CACV;CACA,KAAK;EACJ,OAAO;EACP,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,YAAY;EACZ,OAAO;CACR;CACA,MAAM;EACL,OAAO;EACP,MAAM;EACN,YAAY;CACb;CACA,SAAS;EACR,OAAO;EACP,MAAM;CACP;CACA,QAAQ,EAAE,MAAM,WAAW;CAC3B,MAAM;EACL,SAAS;EACT,UAAU;EACV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,UAAU;CACX;CACA,UAAU,EAAE,MAAM,kCAAkC;CACpD,QAAQ;EACP,YAAY;EACZ,OAAO;EACP,OAAO;EACP,OAAO;CACR;CACA,QAAQ;EACP,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;CACX;CACA,WAAW,EAAE,OAAO,wBAAwB;CAC5C,QAAQ;EACP,SAAS;EACT,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,OAAO;EACP,YAAY;CACb;CACA,QAAQ;EACP,OAAO;EACP,IAAI;CACL;CACA,MAAM;EACL,UAAU;EACV,SAAS;EACT,OAAO;EACP,SAAS;EACT,OAAO;EACP,UAAU;EACV,cAAc;EACd,MAAM;EACN,KAAK;EACL,MAAM;EACN,eAAe;EACf,WAAW;CACZ;AACD"}
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./pt-BR-j4XWQBdJ.js";var n=e({default:()=>t});export{n as t};
2
+ //# sourceMappingURL=pt-akbpk7gG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pt-ohZp6iM5.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt.js"],"sourcesContent":["import pt_BR_default from \"./pt-BR.js\";\nexport { pt_BR_default as default };\n"],"mappings":""}
1
+ {"version":3,"file":"pt-akbpk7gG.js","names":[],"sources":["../../core/dist/default/i18n/locales/pt.js"],"sourcesContent":["import pt_BR_default from \"./pt-BR.js\";\nexport { pt_BR_default as default };\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{u as e}from"./predicate-LbFu-fPH.js";import{t}from"./listen-4VrUltMW.js";import{t as n}from"./webkit-DljEkldb.js";import{$ as r,B as i,C as a,I as o,L as s,N as c,O as l,P as u,R as d,_ as f,_t as p,at as m,d as h,dt as g,et as _,f as ee,ft as v,g as te,gt as ne,ht as y,k as b,l as re,m as x,ot as S,pt as C,st as w,u as ie,v as ae,xt as T}from"./error-surface-CK9nYgD5.js";function oe(e,t,n){return!t||!e?.url?`preconditions-unmet`:n?`load-active`:`monitoring`}function se({state:e,context:n}){let r=v(()=>oe(e.presentation.get(),n.mediaElement.get(),e.loadActivated.get())),i=v(()=>e.presentation.get()?.url);return w({initial:`preconditions-unmet`,monitor:()=>r.get(),states:{"preconditions-unmet":{},monitoring:{effects:()=>{let r=n.mediaElement.get(),i=()=>e.loadActivated.set(!0);if(r.autoplay||!r.paused||r.seeking){i();return}let a=t(r,`play`,i),o=t(r,`seeking`,i);return()=>{a(),o()}}},"load-active":{effects:()=>(n.mediaElement.get(),i.get(),()=>e.loadActivated.set(!1))}}})}const ce=g({stateKeys:[`loadActivated`,`presentation`],contextKeys:[`mediaElement`],setup:se});function le(e){let{timescale:t,baseMediaDecodeTime:n,segmentStartTime:r}=e??{};return t!=null&&n!=null&&r!=null?n/t-r:void 0}function ue(e){return e<1?0:e}const E=(e,t)=>{let n=[];t.selectedVideoTrackId!=null&&n.push(`video`),t.selectedAudioTrackId!=null&&n.push(`audio`);let r=(n.length>0?n:Object.keys(e)).map(t=>le(e[t]));if(r.length===0||r.some(e=>e===void 0))return{};let i=ue(Math.min(...r)),a={};for(let t of Object.keys(e))a[t]=i;return a};function D(e){return e.selectedVideoTrackId??e.selectedAudioTrackId}const de=(e,t,n)=>{let i=D(t);if(i===void 0||i===n)return!0;if(!m(e))return!1;let a=r(e,i);return a?S(a)?a.startDate===void 0||r(e,n)?.startDate!==void 0:!1:!0};function fe(e,t){let n=!1,r=e.selectionSets.map(e=>({...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>e.startDate===void 0?(n=!0,{...e,startDate:t}):e)}))}));return n?{...e,selectionSets:r}:e}function pe(e,t){let n=!1,r=e.selectionSets.map(e=>({...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>{let r=t[e.type];return r===void 0||e.startMediaTime===r?e:(n=!0,{...e,startMediaTime:r})})}))}));return n?{...e,selectionSets:r}:e}function me({state:e,config:t={}}){let n=t.deriveStartMediaTime??E,i=()=>({selectedVideoTrackId:e.selectedVideoTrackId?.get(),selectedAudioTrackId:e.selectedAudioTrackId?.get()}),a=()=>{let t=e.presentation.get();if(!m(t))return!1;let n=[e.selectedVideoTrackId?.get(),e.selectedAudioTrackId?.get()].filter(e=>e!==void 0);return n.length>0&&n.every(e=>r(t,e)?.startMediaTime!==void 0)};return w({initial:`inactive`,monitor:()=>m(e.presentation.get())?a()?`established`:`monitoring`:`inactive`,states:{inactive:{entry:()=>e.mediaContainerData.set(void 0)},monitoring:{effects:[()=>{let t=e.presentation.get();if(!m(t))return;let n=D(i()),a=n===void 0?void 0:r(t,n);if(!a||!S(a))return;let o=a.startDate;o!==void 0&&y(e.presentation,e=>fe(e,o))},()=>{let t=e.mediaContainerData.get();if(!t)return;let r=n(t,i());y(e.presentation,e=>pe(e,r))}]},established:{}}})}const he={stateKeys:[`presentation`,`mediaContainerData`],contextKeys:[],setup:me},ge=(e,t)=>!!e&&e.length===t.length&&e.every((e,n)=>e===t[n]),_e=g({stateKeys:[`presentation`,`cdnPriority`],contextKeys:[],setup:({state:e,config:t={}})=>{let n=t.getCdnId??s,r=v(()=>m(e.presentation.get())?`presentation-resolved`:`presentation-unresolved`);return w({initial:`presentation-unresolved`,monitor:()=>r.get(),states:{"presentation-unresolved":{},"presentation-resolved":{entry:()=>()=>e.cdnPriority.set(void 0),effects:[()=>{let t=e.presentation.get();if(!m(t))return;let r=d(t,n);ge(C(e.cdnPriority),r)||e.cdnPriority.set(r)}]}}})}});function ve(e,t){return!e||!n(e)||t?`preconditions-unmet`:`airplay-capable`}function ye({state:e,context:n}){let r=v(()=>ve(n.mediaElement.get(),e.disableRemotePlayback.get()));return w({initial:`preconditions-unmet`,monitor:()=>r.get(),states:{"preconditions-unmet":{},"airplay-capable":{entry:()=>{let r=n.mediaElement.get(),i=()=>!!r.webkitCurrentPlaybackTargetIsWireless,a,o,s,c,l=!1,u=()=>{i()?(clearTimeout(a),a=void 0,C(e.loadingSuspended)||(o=C(e.presentation)?.url),e.loadingSuspended.set(!0)):C(e.loadingSuspended)?a??=setTimeout(()=>{a=void 0;let t=i();if(!t){let t=o;o=void 0,C(e.presentation)?.url===t&&(s={position:r.currentTime,wasPlaying:!r.paused,presentationUrl:t})}e.loadingSuspended.set(t)},1e3):e.loadingSuspended.set(!1)},d=new AbortController;t(r,`webkitcurrentplaybacktargetiswirelesschanged`,u,{signal:d.signal}),t(r,`emptied`,()=>{if(!s)return;let{position:t,wasPlaying:n,presentationUrl:r}=s;s=void 0,C(e.presentation)?.url===r&&(e.startPosition.set(t),c=r,l=n)},{signal:d.signal});let f=T(()=>{let t=e.presentation.get()?.url;!C(e.loadingSuspended)||t===o||(o=void 0,clearTimeout(a),a=void 0,e.loadingSuspended.set(!1))}),p=T(()=>{let t=e.presentation.get()?.url,n=e.startPosition.get();if(c){if(t!==c){c=void 0,l=!1,n!==void 0&&e.startPosition.set(void 0);return}n===void 0&&(c=void 0,l&&(l=!1,r.play().catch(e=>{console.warn(`[setupAirPlay] session-end resume play() rejected — staying paused:`,e)})))}}),m=null,h=T(()=>{let t=!!n.mediaSource.get(),i=!!e.loadingSuspended.get(),a=e.presentation.get()?.url??``;!t&&!i?(m?.remove(),m=null):t&&(!m||m.parentNode!==r)&&(m=document.createElement(`source`),m.type=`application/x-mpegURL`,r.append(m),r.disableRemotePlayback=!1),m&&(m.src=a)});return u(),()=>{h(),f(),p(),d.abort(),clearTimeout(a),m?.remove(),m=null,r.disableRemotePlayback=!0,e.loadingSuspended.set(!1),c&&(c=void 0,l=!1,C(e.startPosition)!==void 0&&e.startPosition.set(void 0))}}}}})}const be=g({stateKeys:[`presentation`,`disableRemotePlayback`,`loadingSuspended`,`startPosition`],contextKeys:[`mediaElement`,`mediaSource`],setup:ye});function xe(t,n,r){return!n||!m(t)||e(r)?`preconditions-unmet`:`position-pending`}function O({state:e,context:n}){let r=v(()=>xe(e.presentation.get(),n.mediaElement.get(),e.startPosition.get()));return w({initial:`preconditions-unmet`,monitor:()=>r.get(),states:{"preconditions-unmet":{},"position-pending":{entry:()=>{let r=n.mediaElement.get(),i=e.startPosition.get();e.currentTime.set(i);let a=()=>{r.currentTime=i,e.startPosition.set(void 0)};if(r.readyState>=HTMLMediaElement.HAVE_METADATA){a();return}return t(r,`loadedmetadata`,a,{once:!0})}}}})}const k=g({stateKeys:[`presentation`,`startPosition`,`currentTime`],contextKeys:[`mediaElement`],setup:O});function A(e,t){let{msEnded:n,durationFinite:r,paused:i,seeking:a,ended:o,currentTime:s,bufferedEnd:c}=e;if(!n||!r||i||a||o||c===void 0)return!1;let l=c-s;return l>=0&&l<t}function j({context:e,config:n}){let r=n?.endStallNudgeWindow??.2;return T(()=>{let n=e.mediaElement.get();return n?t(n,`waiting`,()=>{let t=e.mediaSource.get();A({msEnded:t?.readyState===`ended`,durationFinite:Number.isFinite(n.duration),paused:n.paused,seeking:n.seeking,ended:n.ended,currentTime:n.currentTime,bufferedEnd:t?o(t.sourceBuffers):void 0},r)&&(n.currentTime=n.duration)}):void 0})}const M=g({stateKeys:[],contextKeys:[`mediaElement`,`mediaSource`],setup:j}),Se={cooldownMs:3e5},Ce=g({stateKeys:[`presentation`,`failedCdns`],contextKeys:[],setup:({state:e,config:t={}})=>{let n=t.failover?.cooldownMs??Se.cooldownMs,r=new Map,i=v(()=>m(e.presentation.get())?`presentation-resolved`:`presentation-unresolved`);return w({initial:`presentation-unresolved`,monitor:()=>i.get(),states:{"presentation-unresolved":{},"presentation-resolved":{entry:()=>()=>{r.forEach(e=>clearTimeout(e)),r.clear(),e.failedCdns.set(void 0)},effects:[()=>{(e.failedCdns.get()??[]).forEach(t=>{if(r.has(t))return;let i=setTimeout(()=>{r.delete(t),y(e.failedCdns,e=>e?.filter(e=>e!==t))},n);r.set(t,i)})}]}}})}});function we({state:e,context:t,config:n}){let r=n?.defaultPreload??`metadata`,i=v(()=>e.presentation.get()?.url),o=T(()=>{i.get();let n=t.mediaElement.get(),o=C(e.preload);if(o!==void 0&&!a(o))return;let s=n&&a(n.preload)?n.preload:o===void 0?r:void 0;s!==void 0&&s!==o&&e.preload.set(s)}),s=T(()=>{let n=e.preload.get(),r=t.mediaElement.get();r&&a(n)&&r.preload!==n&&(r.preload=n)});return()=>{o(),s()}}const Te=g({stateKeys:[`preload`,`presentation`],contextKeys:[`mediaElement`],setup:we}),N={safetyMargin:.85,upgradeMargin:1.15};function P(e){return(e.width??0)*(e.height??0)}function F(e,{state:t,config:n}){let r=n.userSelectionKey;if(!r)return e;let i=t[r]?.get();return i?e.filter(e=>x(e,i)):e}function Ee(e,{state:t}){let n=t.playerResolution?.get();return n?ae(e,f(e,n.width*n.height)):e}function I(e,{state:t,config:n}){let r=t.failedCdns?.get();if(!r?.length)return e;let i=n.getCdnId??s,a=new Set(r);return e.filter(e=>!a.has(i(e.url)))}function L(e,{state:t,config:n}){let r=t.cdnPriority?.get();if(!r?.length)return e;let i=n.getCdnId??s;for(let t of r){let n=e.filter(e=>i(e.url)===t);if(n.length)return n}return e}function R(e,{state:t,config:n}){let r=n.quality?.safetyMargin??N.safetyMargin,i=n.quality?.upgradeMargin??N.upgradeMargin,a=n.initialBandwidth??5e6,o={...c,...n.bandwidth};t.bandwidthState||console.debug(`[track-switching] rankByBandwidth: no bandwidthState signal in composition; ranking on initialBandwidth`);let s=u(t.bandwidthState?.get(),a,o)*r,l=t[n.selectionKey].get(),d=e=>e.bandwidth??0,f=e=>e.id===l?d(e)*i:d(e),p=e.filter(e=>d(e)<=s).sort((e,t)=>f(t)-f(e)||P(t)-P(e)),m=e.filter(e=>d(e)>s).sort((e,t)=>d(e)-d(t)||P(t)-P(e));return[...p,...m]}function De(e){return e[0].id}function Oe(e,{state:t,config:n}){let r=t.userTextTrackSelection?.get();if(r!==`off`){if(r){let t=e.filter(e=>x(e,r));if(t.length)return t[0].id}return te(e,n)}}function z(e){let{state:t,config:n}=e,{selectionKey:r,getTracks:a,rules:o,resolveSelection:s=De,noSupportedTrackCode:c}=n,l=v(()=>m(t.presentation.get())?`presentation-resolved`:`presentation-unresolved`),u=v(()=>{let r=t.presentation.get();return m(r)?re(n.constraints??[],a(r),e):[]},{equals:ee});return w({initial:`presentation-unresolved`,monitor:()=>l.get(),states:{"presentation-unresolved":{},"presentation-resolved":{entry:()=>()=>t[r].set(void 0),effects:[()=>{let n=u.get();if(!n.length){let e=C(t.presentation);m(e)&&a(e).length>0&&(c!==void 0&&i(t,{code:c,data:{selectionKey:r}}),t[r].set(void 0));return}let l=ie(o,n,e);if(!l.length){console.error(`[track-switching] applyRules returned no candidates`);return}t[r].set(s(l,e))}]}}})}const ke=g({stateKeys:[`presentation`,`selectedVideoTrackId`],contextKeys:[],setup:({state:e,config:t,...n})=>z({...n,state:e,config:{...t,selectionKey:`selectedVideoTrackId`,userSelectionKey:`userVideoTrackSelection`,getTracks:e=>_(e,`video`),constraints:[I,h],rules:[F,L,Ee,R],noSupportedTrackCode:p}})}),Ae=g({stateKeys:[`presentation`,`selectedAudioTrackId`],contextKeys:[],setup:({state:e,config:t,...n})=>z({...n,state:e,config:{...t,selectionKey:`selectedAudioTrackId`,userSelectionKey:`userAudioTrackSelection`,getTracks:e=>_(e,`audio`),constraints:[I,h],rules:[F,L,R],noSupportedTrackCode:ne}})}),je=g({stateKeys:[`presentation`,`selectedTextTrackId`],contextKeys:[],setup:({state:e,config:t,...n})=>z({...n,state:e,config:{...t,selectionKey:`selectedTextTrackId`,getTracks:e=>_(e,`text`),constraints:[I],rules:[L],resolveSelection:Oe}})});function Me(e){let t=e.split(/\r\n|\r|\n/).find(e=>e.startsWith(`X-TIMESTAMP-MAP=`));return t?Pe(t.slice(16)):void 0}const Ne={LOCAL:Ie,MPEGTS:e=>+e};function Pe(e){return Object.fromEntries(e.split(`,`).map(e=>{let[t,n]=e.split(/:(.*)/).map(e=>e.trim());return[t?.toLowerCase(),Ne[t](n)]}))}const Fe=[3600,60,1,.001];function Ie(e){let t=e.split(/[:.]/);return t.reduce((e,n,r)=>e+ +n*(Fe[r+4-t.length]??0),0)}async function Le(e){return{timestampMap:Me(await fetch(e).then(e=>e.text()))}}function B(e){return e.config}const Re=async(e,t,n)=>{let r=await B(n).resolveSegment(e.op.segment.url);t.aborted||(e.cues=r)},V=(e,t,n)=>{let{op:r}=e;B(n).textTracksActor.send({type:`add-cues`,meta:{trackId:r.trackId,id:r.segment.id,startTime:r.segment.startTime,duration:r.segment.duration},cues:e.cues??[]})},ze=()=>[Re,V];function H(e){return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e)}function U(e,t){return String.fromCharCode(e.getUint8(t),e.getUint8(t+1),e.getUint8(t+2),e.getUint8(t+3))}function*W(e,t=0,n=e.byteLength){let r=t;for(;r+8<=n;){let t=e.getUint32(r),i=U(e,r+4),a=r+8;if(t===1?(t=Number(e.getBigUint64(r+8)),a=r+16):t===0&&(t=n-r),t<a-r)return;yield{type:i,start:r,dataStart:a,end:r+t},r+=t}}function*G(e,t,n=0,r=e.byteLength){for(let i of W(e,n,r))i.type===t&&(yield i)}function K(e,t,n=0,r=e.byteLength){let[i,...a]=t;for(let t of W(e,n,r)){if(t.type!==i)continue;if(a.length===0)return t;let n=K(e,a,t.dataStart,t.end);if(n)return n}}function q(e,t){return e.getUint8(t)}function Be(e,t){let n=H(e),r=K(n,[`moov`]);if(r)for(let e of G(n,`trak`,r.dataStart,r.end)){if(We(n,e)!==t)continue;let r=K(n,[`tkhd`],e.dataStart,e.end),i=K(n,[`mdia`,`mdhd`],e.dataStart,e.end);return!r||!i?void 0:{trackId:n.getUint32(r.dataStart+4+(q(n,r.dataStart)===1?16:8)),timescale:He(n,i)}}}function Ve(e,t){let n=H(e),r=K(n,[`moof`]);if(r)for(let e of G(n,`traf`,r.dataStart,r.end)){if(Ge(n,e)!==t)continue;let r=K(n,[`tfdt`],e.dataStart,e.end);return r?Ue(n,r):void 0}}function He(e,t){return e.getUint32(t.dataStart+4+(q(e,t.dataStart)===1?16:8))}function Ue(e,t){let n=t.dataStart+4;return q(e,t.dataStart)===1?Number(e.getBigUint64(n)):e.getUint32(n)}function We(e,t){let n=K(e,[`mdia`,`hdlr`],t.dataStart,t.end);return n?U(e,n.dataStart+8):void 0}function Ge(e,t){let n=K(e,[`tfhd`],t.dataStart,t.end);return n?e.getUint32(n.dataStart+4):void 0}function Ke(e){if(e.length===1)return e[0];let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}async function*J(e,t){yield*e;for(let e=await t.next();!e.done;e=await t.next())yield e.value}async function Y(e,t){let n=e[Symbol.asyncIterator](),r=[];for(let e=await n.next();!e.done&&(r.push(e.value),!t(Ke(r)));e=await n.next());return J(r,n)}function X(e){return e.state}function Z(e){return X(e).mediaContainerData}function Q(e,t,n){y(e,e=>({...e,[t]:{...e?.[t],...n}}))}function $(e){return new Promise(t=>{let n;n=T(()=>{let r=e();r!==void 0&&(n?.(),t(r))})})}function qe(e,t){let n=e===`video`?`vide`:`soun`,r=async(t,r,i)=>{let{op:a}=t;if(a.type!==`append-init`||!t.data)return;let o=Z(i);C(o)?.[e]?.timescale===void 0&&(t.data=await Y(t.data,t=>{let r=Be(t,n);return r===void 0?!1:(Q(o,e,{trackId:r.trackId,timescale:r.timescale}),!0)}))},i=async(t,n,r)=>{let{op:i}=t;if(i.type!==`append-segment`||!t.data)return;let a=Z(r),o=C(a)?.[e];if(o?.baseMediaDecodeTime!==void 0)return;let{trackId:s}=o??{};if(s===void 0)return;let c=i.meta.startTime;t.data=await Y(t.data,t=>{let n=Ve(t,s);return n===void 0?!1:(Q(a,e,{baseMediaDecodeTime:n,segmentStartTime:c}),!0)})},a=async(n,r,i)=>{if(n.op.type!==`append-segment`)return;let a=X(i),o=C(a.mediaContainerData)?.[e];if(o?.timescale===void 0||o.baseMediaDecodeTime===void 0||o.segmentStartTime===void 0)return;let s=await $(()=>{let n=a.mediaContainerData.get();if(n)return t(n,{selectedVideoTrackId:a.selectedVideoTrackId?.get(),selectedAudioTrackId:a.selectedAudioTrackId?.get()})[e]});r.aborted||s===0||(n.meta={...n.meta??n.op.meta,timestampOffset:-s})};return()=>({remove:[l],"append-init":[b,r,l],"append-segment":[b,i,a,l]})}const Je=async(e,t,n)=>{let[r,i]=await Promise.all([B(n).resolveSegment(e.op.segment.url),Le(e.op.segment.url)]);t.aborted||(e.cues=r,e.metadata=i)},Ye=async(e,t,n)=>{if(!e.cues?.length)return;let i=n.state,a=await $(()=>{let e=i.presentation.get();if(!e)return;let t=i.selectedVideoTrackId.get()??i.selectedAudioTrackId.get();return t===void 0?_(e,`video`).length>0||_(e,`audio`).length>0?void 0:0:r(e,t)?.startMediaTime});if(t.aborted)return;let{timestampMap:o}=e.metadata??{},s=(o?o.mpegts/9e4-o.local:0)-a;if(s!==0)for(let t of e.cues)t.startTime+=s,t.endTime+=s},Xe=()=>[Je,Ye,V];export{je as a,Ce as c,be as d,_e as f,ce as g,de as h,Ae as i,M as l,he as m,qe as n,ke as o,E as p,ze as r,Te as s,Xe as t,k as u};
2
+ //# sourceMappingURL=relocation-pipelines-CBzRuD_s.js.map