tmg-media-player 0.0.1

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 (1861) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/chunk-25AZZYCL.js +85 -0
  4. package/dist/chunk-25AZZYCL.js.map +1 -0
  5. package/dist/chunk-25IKIKAB.js +60 -0
  6. package/dist/chunk-25IKIKAB.js.map +1 -0
  7. package/dist/chunk-25ZZLGZ6.js +45 -0
  8. package/dist/chunk-25ZZLGZ6.js.map +1 -0
  9. package/dist/chunk-274C5J22.js +12 -0
  10. package/dist/chunk-274C5J22.js.map +1 -0
  11. package/dist/chunk-27FHLV4M.js +12 -0
  12. package/dist/chunk-27FHLV4M.js.map +1 -0
  13. package/dist/chunk-27MVVVJ7.js +405 -0
  14. package/dist/chunk-27MVVVJ7.js.map +1 -0
  15. package/dist/chunk-27SBY2N7.js +50 -0
  16. package/dist/chunk-27SBY2N7.js.map +1 -0
  17. package/dist/chunk-2J3FJY73.js +9 -0
  18. package/dist/chunk-2J3FJY73.js.map +1 -0
  19. package/dist/chunk-2JW4RYM4.js +170 -0
  20. package/dist/chunk-2JW4RYM4.js.map +1 -0
  21. package/dist/chunk-2PA7FU47.js +185 -0
  22. package/dist/chunk-2PA7FU47.js.map +1 -0
  23. package/dist/chunk-2VOAIUTU.js +9 -0
  24. package/dist/chunk-2VOAIUTU.js.map +1 -0
  25. package/dist/chunk-2W5XWGGE.js +7 -0
  26. package/dist/chunk-2W5XWGGE.js.map +1 -0
  27. package/dist/chunk-3C3GK24X.js +88 -0
  28. package/dist/chunk-3C3GK24X.js.map +1 -0
  29. package/dist/chunk-3KD22Z7D.js +9 -0
  30. package/dist/chunk-3KD22Z7D.js.map +1 -0
  31. package/dist/chunk-3OLEZVYI.js +196 -0
  32. package/dist/chunk-3OLEZVYI.js.map +1 -0
  33. package/dist/chunk-3OZEBWCF.js +12 -0
  34. package/dist/chunk-3OZEBWCF.js.map +1 -0
  35. package/dist/chunk-3T5CFCYB.js +45 -0
  36. package/dist/chunk-3T5CFCYB.js.map +1 -0
  37. package/dist/chunk-3VCTHGL6.js +86 -0
  38. package/dist/chunk-3VCTHGL6.js.map +1 -0
  39. package/dist/chunk-3WHPH6Q5.js +9 -0
  40. package/dist/chunk-3WHPH6Q5.js.map +1 -0
  41. package/dist/chunk-43MLKGCT.js +45 -0
  42. package/dist/chunk-43MLKGCT.js.map +1 -0
  43. package/dist/chunk-46QVDU2K.js +25 -0
  44. package/dist/chunk-46QVDU2K.js.map +1 -0
  45. package/dist/chunk-474PEQ33.js +78 -0
  46. package/dist/chunk-474PEQ33.js.map +1 -0
  47. package/dist/chunk-4FCGFO2J.js +9 -0
  48. package/dist/chunk-4FCGFO2J.js.map +1 -0
  49. package/dist/chunk-4JOPUUAL.js +185 -0
  50. package/dist/chunk-4JOPUUAL.js.map +1 -0
  51. package/dist/chunk-4QQXED6P.js +11 -0
  52. package/dist/chunk-4QQXED6P.js.map +1 -0
  53. package/dist/chunk-4VG5KHDO.js +52 -0
  54. package/dist/chunk-4VG5KHDO.js.map +1 -0
  55. package/dist/chunk-4W6H5CZF.js +1 -0
  56. package/dist/chunk-4W6H5CZF.js.map +1 -0
  57. package/dist/chunk-56CRICX7.js +154 -0
  58. package/dist/chunk-56CRICX7.js.map +1 -0
  59. package/dist/chunk-57L2PE3B.js +9 -0
  60. package/dist/chunk-57L2PE3B.js.map +1 -0
  61. package/dist/chunk-5CLVIO4N.js +33 -0
  62. package/dist/chunk-5CLVIO4N.js.map +1 -0
  63. package/dist/chunk-5GX67WSG.js +7 -0
  64. package/dist/chunk-5GX67WSG.js.map +1 -0
  65. package/dist/chunk-5SGNTRPL.js +47 -0
  66. package/dist/chunk-5SGNTRPL.js.map +1 -0
  67. package/dist/chunk-5TJURBKV.js +9 -0
  68. package/dist/chunk-5TJURBKV.js.map +1 -0
  69. package/dist/chunk-63E6JXTT.js +162 -0
  70. package/dist/chunk-63E6JXTT.js.map +1 -0
  71. package/dist/chunk-66HGOYPR.js +180 -0
  72. package/dist/chunk-66HGOYPR.js.map +1 -0
  73. package/dist/chunk-6IFGKHVM.js +9 -0
  74. package/dist/chunk-6IFGKHVM.js.map +1 -0
  75. package/dist/chunk-6K4HCMUL.js +32 -0
  76. package/dist/chunk-6K4HCMUL.js.map +1 -0
  77. package/dist/chunk-6KYXFWBF.js +32 -0
  78. package/dist/chunk-6KYXFWBF.js.map +1 -0
  79. package/dist/chunk-6R5BZZM6.js +95 -0
  80. package/dist/chunk-6R5BZZM6.js.map +1 -0
  81. package/dist/chunk-6S5BMP4A.js +9 -0
  82. package/dist/chunk-6S5BMP4A.js.map +1 -0
  83. package/dist/chunk-6SHHKTGD.js +73 -0
  84. package/dist/chunk-6SHHKTGD.js.map +1 -0
  85. package/dist/chunk-6U3M7V32.js +46 -0
  86. package/dist/chunk-6U3M7V32.js.map +1 -0
  87. package/dist/chunk-73XT2QVM.js +47 -0
  88. package/dist/chunk-73XT2QVM.js.map +1 -0
  89. package/dist/chunk-7FB3XGXR.js +471 -0
  90. package/dist/chunk-7FB3XGXR.js.map +1 -0
  91. package/dist/chunk-7HRR4LG4.js +115 -0
  92. package/dist/chunk-7HRR4LG4.js.map +1 -0
  93. package/dist/chunk-7I6DRKIN.js +58 -0
  94. package/dist/chunk-7I6DRKIN.js.map +1 -0
  95. package/dist/chunk-7MOZI57I.js +59 -0
  96. package/dist/chunk-7MOZI57I.js.map +1 -0
  97. package/dist/chunk-7PHLWSKV.js +95 -0
  98. package/dist/chunk-7PHLWSKV.js.map +1 -0
  99. package/dist/chunk-7Y4LQ5ED.js +45 -0
  100. package/dist/chunk-7Y4LQ5ED.js.map +1 -0
  101. package/dist/chunk-7YDZDHZH.js +19 -0
  102. package/dist/chunk-7YDZDHZH.js.map +1 -0
  103. package/dist/chunk-A7EG6K2X.js +54 -0
  104. package/dist/chunk-A7EG6K2X.js.map +1 -0
  105. package/dist/chunk-ABRBZ4IH.js +108 -0
  106. package/dist/chunk-ABRBZ4IH.js.map +1 -0
  107. package/dist/chunk-ACF6B245.js +17 -0
  108. package/dist/chunk-ACF6B245.js.map +1 -0
  109. package/dist/chunk-ACUUGJUG.js +53 -0
  110. package/dist/chunk-ACUUGJUG.js.map +1 -0
  111. package/dist/chunk-AIYSHJLG.js +42 -0
  112. package/dist/chunk-AIYSHJLG.js.map +1 -0
  113. package/dist/chunk-AKHJD2A3.js +50 -0
  114. package/dist/chunk-AKHJD2A3.js.map +1 -0
  115. package/dist/chunk-ATE4NMIF.js +22 -0
  116. package/dist/chunk-ATE4NMIF.js.map +1 -0
  117. package/dist/chunk-AZTSMVMN.js +138 -0
  118. package/dist/chunk-AZTSMVMN.js.map +1 -0
  119. package/dist/chunk-BFFQZMZX.js +108 -0
  120. package/dist/chunk-BFFQZMZX.js.map +1 -0
  121. package/dist/chunk-BKJRLSXA.js +329 -0
  122. package/dist/chunk-BKJRLSXA.js.map +1 -0
  123. package/dist/chunk-BLJDDFX2.js +228 -0
  124. package/dist/chunk-BLJDDFX2.js.map +1 -0
  125. package/dist/chunk-BROAUWON.js +123 -0
  126. package/dist/chunk-BROAUWON.js.map +1 -0
  127. package/dist/chunk-BU4AX4DA.js +49 -0
  128. package/dist/chunk-BU4AX4DA.js.map +1 -0
  129. package/dist/chunk-C2TANFKK.js +167 -0
  130. package/dist/chunk-C2TANFKK.js.map +1 -0
  131. package/dist/chunk-CAIDFMLB.js +164 -0
  132. package/dist/chunk-CAIDFMLB.js.map +1 -0
  133. package/dist/chunk-CCD3ZXIT.js +54 -0
  134. package/dist/chunk-CCD3ZXIT.js.map +1 -0
  135. package/dist/chunk-CEEX3HQ2.js +44 -0
  136. package/dist/chunk-CEEX3HQ2.js.map +1 -0
  137. package/dist/chunk-CIN7HWLH.js +26 -0
  138. package/dist/chunk-CIN7HWLH.js.map +1 -0
  139. package/dist/chunk-CL24QYM6.js +48 -0
  140. package/dist/chunk-CL24QYM6.js.map +1 -0
  141. package/dist/chunk-CTSPKWKN.js +9 -0
  142. package/dist/chunk-CTSPKWKN.js.map +1 -0
  143. package/dist/chunk-CYUYF57A.js +139 -0
  144. package/dist/chunk-CYUYF57A.js.map +1 -0
  145. package/dist/chunk-D5XNDZ4S.js +21 -0
  146. package/dist/chunk-D5XNDZ4S.js.map +1 -0
  147. package/dist/chunk-D7JQDN74.js +9 -0
  148. package/dist/chunk-D7JQDN74.js.map +1 -0
  149. package/dist/chunk-DKS7SZFN.js +165 -0
  150. package/dist/chunk-DKS7SZFN.js.map +1 -0
  151. package/dist/chunk-DM4ZIS4L.js +50 -0
  152. package/dist/chunk-DM4ZIS4L.js.map +1 -0
  153. package/dist/chunk-DNY72SCR.js +9 -0
  154. package/dist/chunk-DNY72SCR.js.map +1 -0
  155. package/dist/chunk-DQLWWVM3.js +25 -0
  156. package/dist/chunk-DQLWWVM3.js.map +1 -0
  157. package/dist/chunk-E56H3EOR.js +1 -0
  158. package/dist/chunk-E56H3EOR.js.map +1 -0
  159. package/dist/chunk-E56PSUT2.js +435 -0
  160. package/dist/chunk-E56PSUT2.js.map +1 -0
  161. package/dist/chunk-EF7RQIJK.js +9 -0
  162. package/dist/chunk-EF7RQIJK.js.map +1 -0
  163. package/dist/chunk-EHQJNRJV.js +449 -0
  164. package/dist/chunk-EHQJNRJV.js.map +1 -0
  165. package/dist/chunk-EIT6CZXJ.js +50 -0
  166. package/dist/chunk-EIT6CZXJ.js.map +1 -0
  167. package/dist/chunk-ERPQNMED.js +292 -0
  168. package/dist/chunk-ERPQNMED.js.map +1 -0
  169. package/dist/chunk-ESAOH6X5.js +15 -0
  170. package/dist/chunk-ESAOH6X5.js.map +1 -0
  171. package/dist/chunk-ESNKONBW.js +80 -0
  172. package/dist/chunk-ESNKONBW.js.map +1 -0
  173. package/dist/chunk-EUQ7SC5J.js +33 -0
  174. package/dist/chunk-EUQ7SC5J.js.map +1 -0
  175. package/dist/chunk-EUX3RZ3L.js +66 -0
  176. package/dist/chunk-EUX3RZ3L.js.map +1 -0
  177. package/dist/chunk-EVUTNLHC.js +7 -0
  178. package/dist/chunk-EVUTNLHC.js.map +1 -0
  179. package/dist/chunk-EY7PB3LA.js +59 -0
  180. package/dist/chunk-EY7PB3LA.js.map +1 -0
  181. package/dist/chunk-FCQDAU2C.js +7 -0
  182. package/dist/chunk-FCQDAU2C.js.map +1 -0
  183. package/dist/chunk-FHL5Z6MX.js +13 -0
  184. package/dist/chunk-FHL5Z6MX.js.map +1 -0
  185. package/dist/chunk-FIUVWAAQ.js +35 -0
  186. package/dist/chunk-FIUVWAAQ.js.map +1 -0
  187. package/dist/chunk-FN32KVQT.js +188 -0
  188. package/dist/chunk-FN32KVQT.js.map +1 -0
  189. package/dist/chunk-FX3UTAZK.js +31 -0
  190. package/dist/chunk-FX3UTAZK.js.map +1 -0
  191. package/dist/chunk-FXIL7BGP.js +43 -0
  192. package/dist/chunk-FXIL7BGP.js.map +1 -0
  193. package/dist/chunk-G7KANQFO.js +131 -0
  194. package/dist/chunk-G7KANQFO.js.map +1 -0
  195. package/dist/chunk-GDC7I2CJ.js +66 -0
  196. package/dist/chunk-GDC7I2CJ.js.map +1 -0
  197. package/dist/chunk-GM7YMURS.js +14 -0
  198. package/dist/chunk-GM7YMURS.js.map +1 -0
  199. package/dist/chunk-GQ7ITX5B.js +7 -0
  200. package/dist/chunk-GQ7ITX5B.js.map +1 -0
  201. package/dist/chunk-GSKI4IRL.js +34 -0
  202. package/dist/chunk-GSKI4IRL.js.map +1 -0
  203. package/dist/chunk-GUIBL2MZ.js +1 -0
  204. package/dist/chunk-GUIBL2MZ.js.map +1 -0
  205. package/dist/chunk-H24E5FRE.js +9 -0
  206. package/dist/chunk-H24E5FRE.js.map +1 -0
  207. package/dist/chunk-HA2GK6KH.js +9 -0
  208. package/dist/chunk-HA2GK6KH.js.map +1 -0
  209. package/dist/chunk-HCSCY6DU.js +458 -0
  210. package/dist/chunk-HCSCY6DU.js.map +1 -0
  211. package/dist/chunk-HGXGXW2U.js +26 -0
  212. package/dist/chunk-HGXGXW2U.js.map +1 -0
  213. package/dist/chunk-HH7PMFLU.js +33 -0
  214. package/dist/chunk-HH7PMFLU.js.map +1 -0
  215. package/dist/chunk-HJORMYPQ.js +66 -0
  216. package/dist/chunk-HJORMYPQ.js.map +1 -0
  217. package/dist/chunk-HN2UT66M.js +9 -0
  218. package/dist/chunk-HN2UT66M.js.map +1 -0
  219. package/dist/chunk-HNPBSC2A.js +132 -0
  220. package/dist/chunk-HNPBSC2A.js.map +1 -0
  221. package/dist/chunk-HNTARWVL.js +57 -0
  222. package/dist/chunk-HNTARWVL.js.map +1 -0
  223. package/dist/chunk-HPPHGUTD.js +1 -0
  224. package/dist/chunk-HPPHGUTD.js.map +1 -0
  225. package/dist/chunk-HPWORM77.js +199 -0
  226. package/dist/chunk-HPWORM77.js.map +1 -0
  227. package/dist/chunk-HYG6W442.js +66 -0
  228. package/dist/chunk-HYG6W442.js.map +1 -0
  229. package/dist/chunk-I3LBJOUW.js +249 -0
  230. package/dist/chunk-I3LBJOUW.js.map +1 -0
  231. package/dist/chunk-I47VPMZS.js +40 -0
  232. package/dist/chunk-I47VPMZS.js.map +1 -0
  233. package/dist/chunk-ID72UAJE.js +7 -0
  234. package/dist/chunk-ID72UAJE.js.map +1 -0
  235. package/dist/chunk-IENUYESB.js +33 -0
  236. package/dist/chunk-IENUYESB.js.map +1 -0
  237. package/dist/chunk-IFYBKLFH.js +15 -0
  238. package/dist/chunk-IFYBKLFH.js.map +1 -0
  239. package/dist/chunk-IJJ4F6HI.js +105 -0
  240. package/dist/chunk-IJJ4F6HI.js.map +1 -0
  241. package/dist/chunk-IKKQYZNA.js +43 -0
  242. package/dist/chunk-IKKQYZNA.js.map +1 -0
  243. package/dist/chunk-IUS3FRXS.js +446 -0
  244. package/dist/chunk-IUS3FRXS.js.map +1 -0
  245. package/dist/chunk-IVA7LFT2.js +12 -0
  246. package/dist/chunk-IVA7LFT2.js.map +1 -0
  247. package/dist/chunk-IXLSSEE7.js +39 -0
  248. package/dist/chunk-IXLSSEE7.js.map +1 -0
  249. package/dist/chunk-J2SIL62L.js +142 -0
  250. package/dist/chunk-J2SIL62L.js.map +1 -0
  251. package/dist/chunk-J54J2AED.js +117 -0
  252. package/dist/chunk-J54J2AED.js.map +1 -0
  253. package/dist/chunk-JFWYJV3J.js +61 -0
  254. package/dist/chunk-JFWYJV3J.js.map +1 -0
  255. package/dist/chunk-JP5X5JDL.js +10 -0
  256. package/dist/chunk-JP5X5JDL.js.map +1 -0
  257. package/dist/chunk-JPWNE7JO.js +11 -0
  258. package/dist/chunk-JPWNE7JO.js.map +1 -0
  259. package/dist/chunk-JRWYWTTT.js +9 -0
  260. package/dist/chunk-JRWYWTTT.js.map +1 -0
  261. package/dist/chunk-JZXJAJNW.js +316 -0
  262. package/dist/chunk-JZXJAJNW.js.map +1 -0
  263. package/dist/chunk-K4UHBEDT.js +9 -0
  264. package/dist/chunk-K4UHBEDT.js.map +1 -0
  265. package/dist/chunk-K7AAKFQF.js +12 -0
  266. package/dist/chunk-K7AAKFQF.js.map +1 -0
  267. package/dist/chunk-KD3OBG25.js +15 -0
  268. package/dist/chunk-KD3OBG25.js.map +1 -0
  269. package/dist/chunk-KJ74PGBI.js +45 -0
  270. package/dist/chunk-KJ74PGBI.js.map +1 -0
  271. package/dist/chunk-KLAI7YSD.js +7 -0
  272. package/dist/chunk-KLAI7YSD.js.map +1 -0
  273. package/dist/chunk-KMENKVHP.js +110 -0
  274. package/dist/chunk-KMENKVHP.js.map +1 -0
  275. package/dist/chunk-KOAHN3L5.js +9 -0
  276. package/dist/chunk-KOAHN3L5.js.map +1 -0
  277. package/dist/chunk-KQXT3GDF.js +16 -0
  278. package/dist/chunk-KQXT3GDF.js.map +1 -0
  279. package/dist/chunk-L6J66EOL.js +44 -0
  280. package/dist/chunk-L6J66EOL.js.map +1 -0
  281. package/dist/chunk-LNUYM3ZX.js +26 -0
  282. package/dist/chunk-LNUYM3ZX.js.map +1 -0
  283. package/dist/chunk-LSKNTXY2.js +57 -0
  284. package/dist/chunk-LSKNTXY2.js.map +1 -0
  285. package/dist/chunk-LTEL7NEG.js +219 -0
  286. package/dist/chunk-LTEL7NEG.js.map +1 -0
  287. package/dist/chunk-LTVS74EO.js +45 -0
  288. package/dist/chunk-LTVS74EO.js.map +1 -0
  289. package/dist/chunk-LVDP2QOX.js +99 -0
  290. package/dist/chunk-LVDP2QOX.js.map +1 -0
  291. package/dist/chunk-LWLNQS3O.js +569 -0
  292. package/dist/chunk-LWLNQS3O.js.map +1 -0
  293. package/dist/chunk-LYKZAKVN.js +19 -0
  294. package/dist/chunk-LYKZAKVN.js.map +1 -0
  295. package/dist/chunk-M2NVOKGL.js +97 -0
  296. package/dist/chunk-M2NVOKGL.js.map +1 -0
  297. package/dist/chunk-M3UOD7TX.js +427 -0
  298. package/dist/chunk-M3UOD7TX.js.map +1 -0
  299. package/dist/chunk-M5C4XQO2.js +45 -0
  300. package/dist/chunk-M5C4XQO2.js.map +1 -0
  301. package/dist/chunk-M5DFGJF7.js +10 -0
  302. package/dist/chunk-M5DFGJF7.js.map +1 -0
  303. package/dist/chunk-MAXX5M6N.js +9 -0
  304. package/dist/chunk-MAXX5M6N.js.map +1 -0
  305. package/dist/chunk-MEAGFRLE.js +37 -0
  306. package/dist/chunk-MEAGFRLE.js.map +1 -0
  307. package/dist/chunk-MFYNCWAO.js +25 -0
  308. package/dist/chunk-MFYNCWAO.js.map +1 -0
  309. package/dist/chunk-MJ26PFRF.js +12 -0
  310. package/dist/chunk-MJ26PFRF.js.map +1 -0
  311. package/dist/chunk-MP2GRDUX.js +10 -0
  312. package/dist/chunk-MP2GRDUX.js.map +1 -0
  313. package/dist/chunk-MTQLUS5O.js +51 -0
  314. package/dist/chunk-MTQLUS5O.js.map +1 -0
  315. package/dist/chunk-MUDO3ZPJ.js +10 -0
  316. package/dist/chunk-MUDO3ZPJ.js.map +1 -0
  317. package/dist/chunk-N2Q3TZXW.js +9 -0
  318. package/dist/chunk-N2Q3TZXW.js.map +1 -0
  319. package/dist/chunk-N52KK6K5.js +48 -0
  320. package/dist/chunk-N52KK6K5.js.map +1 -0
  321. package/dist/chunk-N5F2YHLD.js +28 -0
  322. package/dist/chunk-N5F2YHLD.js.map +1 -0
  323. package/dist/chunk-NGX5YDCB.js +7 -0
  324. package/dist/chunk-NGX5YDCB.js.map +1 -0
  325. package/dist/chunk-NHDRXRXA.js +33 -0
  326. package/dist/chunk-NHDRXRXA.js.map +1 -0
  327. package/dist/chunk-NPK5ITEG.js +7 -0
  328. package/dist/chunk-NPK5ITEG.js.map +1 -0
  329. package/dist/chunk-NPTM6BGC.js +15 -0
  330. package/dist/chunk-NPTM6BGC.js.map +1 -0
  331. package/dist/chunk-NTNVW4BG.js +7 -0
  332. package/dist/chunk-NTNVW4BG.js.map +1 -0
  333. package/dist/chunk-OBASYXH2.js +26 -0
  334. package/dist/chunk-OBASYXH2.js.map +1 -0
  335. package/dist/chunk-OBQNTU5F.js +7 -0
  336. package/dist/chunk-OBQNTU5F.js.map +1 -0
  337. package/dist/chunk-OEHNS7YX.js +7 -0
  338. package/dist/chunk-OEHNS7YX.js.map +1 -0
  339. package/dist/chunk-OJAUFHEW.js +107 -0
  340. package/dist/chunk-OJAUFHEW.js.map +1 -0
  341. package/dist/chunk-ONW4BD2Z.js +38 -0
  342. package/dist/chunk-ONW4BD2Z.js.map +1 -0
  343. package/dist/chunk-OOXUZMZ7.js +9 -0
  344. package/dist/chunk-OOXUZMZ7.js.map +1 -0
  345. package/dist/chunk-OP3PIADD.js +45 -0
  346. package/dist/chunk-OP3PIADD.js.map +1 -0
  347. package/dist/chunk-OSDM6ZVT.js +7 -0
  348. package/dist/chunk-OSDM6ZVT.js.map +1 -0
  349. package/dist/chunk-OZEEIRCS.js +9 -0
  350. package/dist/chunk-OZEEIRCS.js.map +1 -0
  351. package/dist/chunk-PGSBJUJ4.js +9 -0
  352. package/dist/chunk-PGSBJUJ4.js.map +1 -0
  353. package/dist/chunk-PPIDZONA.js +38 -0
  354. package/dist/chunk-PPIDZONA.js.map +1 -0
  355. package/dist/chunk-PTMZQ7E3.js +7 -0
  356. package/dist/chunk-PTMZQ7E3.js.map +1 -0
  357. package/dist/chunk-PV24XKW2.js +11 -0
  358. package/dist/chunk-PV24XKW2.js.map +1 -0
  359. package/dist/chunk-PXU563OY.js +26 -0
  360. package/dist/chunk-PXU563OY.js.map +1 -0
  361. package/dist/chunk-Q2XYS26I.js +11 -0
  362. package/dist/chunk-Q2XYS26I.js.map +1 -0
  363. package/dist/chunk-Q5NG3DY7.js +31 -0
  364. package/dist/chunk-Q5NG3DY7.js.map +1 -0
  365. package/dist/chunk-QADXAWA6.js +71 -0
  366. package/dist/chunk-QADXAWA6.js.map +1 -0
  367. package/dist/chunk-QG2FZCJ6.js +7 -0
  368. package/dist/chunk-QG2FZCJ6.js.map +1 -0
  369. package/dist/chunk-QMLGJPHC.js +7 -0
  370. package/dist/chunk-QMLGJPHC.js.map +1 -0
  371. package/dist/chunk-QQKXAEXW.js +50 -0
  372. package/dist/chunk-QQKXAEXW.js.map +1 -0
  373. package/dist/chunk-QS3C4KCF.js +95 -0
  374. package/dist/chunk-QS3C4KCF.js.map +1 -0
  375. package/dist/chunk-R4HNE7TL.js +7 -0
  376. package/dist/chunk-R4HNE7TL.js.map +1 -0
  377. package/dist/chunk-R5PBXGKK.js +10 -0
  378. package/dist/chunk-R5PBXGKK.js.map +1 -0
  379. package/dist/chunk-RFQXCN62.js +13 -0
  380. package/dist/chunk-RFQXCN62.js.map +1 -0
  381. package/dist/chunk-RGPGW4ZJ.js +9 -0
  382. package/dist/chunk-RGPGW4ZJ.js.map +1 -0
  383. package/dist/chunk-RKBRRJY6.js +9 -0
  384. package/dist/chunk-RKBRRJY6.js.map +1 -0
  385. package/dist/chunk-RM6NFJ7V.js +32 -0
  386. package/dist/chunk-RM6NFJ7V.js.map +1 -0
  387. package/dist/chunk-RRYAXULQ.js +48 -0
  388. package/dist/chunk-RRYAXULQ.js.map +1 -0
  389. package/dist/chunk-RS4W2FAL.js +89 -0
  390. package/dist/chunk-RS4W2FAL.js.map +1 -0
  391. package/dist/chunk-RSUFDTAH.js +110 -0
  392. package/dist/chunk-RSUFDTAH.js.map +1 -0
  393. package/dist/chunk-S2XKXJNC.js +30 -0
  394. package/dist/chunk-S2XKXJNC.js.map +1 -0
  395. package/dist/chunk-S4NKJDRC.js +79 -0
  396. package/dist/chunk-S4NKJDRC.js.map +1 -0
  397. package/dist/chunk-S7QGB2FC.js +27 -0
  398. package/dist/chunk-S7QGB2FC.js.map +1 -0
  399. package/dist/chunk-SCL4FW6F.js +425 -0
  400. package/dist/chunk-SCL4FW6F.js.map +1 -0
  401. package/dist/chunk-SITF6GNM.js +7 -0
  402. package/dist/chunk-SITF6GNM.js.map +1 -0
  403. package/dist/chunk-SPCINICO.js +5 -0
  404. package/dist/chunk-SPCINICO.js.map +1 -0
  405. package/dist/chunk-SPOTTHMN.js +24 -0
  406. package/dist/chunk-SPOTTHMN.js.map +1 -0
  407. package/dist/chunk-SWYNIQHD.js +77 -0
  408. package/dist/chunk-SWYNIQHD.js.map +1 -0
  409. package/dist/chunk-SXXITYPP.js +69 -0
  410. package/dist/chunk-SXXITYPP.js.map +1 -0
  411. package/dist/chunk-T4YZKI3Y.js +133 -0
  412. package/dist/chunk-T4YZKI3Y.js.map +1 -0
  413. package/dist/chunk-T7AIKZ6A.js +44 -0
  414. package/dist/chunk-T7AIKZ6A.js.map +1 -0
  415. package/dist/chunk-T7EX6RI2.js +34 -0
  416. package/dist/chunk-T7EX6RI2.js.map +1 -0
  417. package/dist/chunk-TB3GE2MH.js +93 -0
  418. package/dist/chunk-TB3GE2MH.js.map +1 -0
  419. package/dist/chunk-TE4JFCHB.js +52 -0
  420. package/dist/chunk-TE4JFCHB.js.map +1 -0
  421. package/dist/chunk-TGQYCEFL.js +37 -0
  422. package/dist/chunk-TGQYCEFL.js.map +1 -0
  423. package/dist/chunk-TMTWPBFD.js +10 -0
  424. package/dist/chunk-TMTWPBFD.js.map +1 -0
  425. package/dist/chunk-TSAEQFDM.js +65 -0
  426. package/dist/chunk-TSAEQFDM.js.map +1 -0
  427. package/dist/chunk-U3FX24C6.js +1 -0
  428. package/dist/chunk-U3FX24C6.js.map +1 -0
  429. package/dist/chunk-U776U22S.js +45 -0
  430. package/dist/chunk-U776U22S.js.map +1 -0
  431. package/dist/chunk-UCBDCGYX.js +9 -0
  432. package/dist/chunk-UCBDCGYX.js.map +1 -0
  433. package/dist/chunk-UGNYASFC.js +59 -0
  434. package/dist/chunk-UGNYASFC.js.map +1 -0
  435. package/dist/chunk-UJTVBENE.js +7 -0
  436. package/dist/chunk-UJTVBENE.js.map +1 -0
  437. package/dist/chunk-UKVFVAOO.js +75 -0
  438. package/dist/chunk-UKVFVAOO.js.map +1 -0
  439. package/dist/chunk-URKWHZXA.js +25 -0
  440. package/dist/chunk-URKWHZXA.js.map +1 -0
  441. package/dist/chunk-UVKRO5ER.js +13 -0
  442. package/dist/chunk-UVKRO5ER.js.map +1 -0
  443. package/dist/chunk-V3D7FBSR.js +14 -0
  444. package/dist/chunk-V3D7FBSR.js.map +1 -0
  445. package/dist/chunk-VCVMCKZI.js +10 -0
  446. package/dist/chunk-VCVMCKZI.js.map +1 -0
  447. package/dist/chunk-VNGMGQF5.js +1 -0
  448. package/dist/chunk-VNGMGQF5.js.map +1 -0
  449. package/dist/chunk-VSK7766S.js +163 -0
  450. package/dist/chunk-VSK7766S.js.map +1 -0
  451. package/dist/chunk-VZLDFZC7.js +241 -0
  452. package/dist/chunk-VZLDFZC7.js.map +1 -0
  453. package/dist/chunk-W2KUESDN.js +25 -0
  454. package/dist/chunk-W2KUESDN.js.map +1 -0
  455. package/dist/chunk-W2SHHRYX.js +420 -0
  456. package/dist/chunk-W2SHHRYX.js.map +1 -0
  457. package/dist/chunk-WBLZ5GBM.js +158 -0
  458. package/dist/chunk-WBLZ5GBM.js.map +1 -0
  459. package/dist/chunk-WODJ2VQH.js +41 -0
  460. package/dist/chunk-WODJ2VQH.js.map +1 -0
  461. package/dist/chunk-WQXLL5IV.js +9 -0
  462. package/dist/chunk-WQXLL5IV.js.map +1 -0
  463. package/dist/chunk-WR3327CL.js +89 -0
  464. package/dist/chunk-WR3327CL.js.map +1 -0
  465. package/dist/chunk-WSBH5QD6.js +309 -0
  466. package/dist/chunk-WSBH5QD6.js.map +1 -0
  467. package/dist/chunk-WTHHXWQM.js +7 -0
  468. package/dist/chunk-WTHHXWQM.js.map +1 -0
  469. package/dist/chunk-WW56NFQS.js +7 -0
  470. package/dist/chunk-WW56NFQS.js.map +1 -0
  471. package/dist/chunk-WYVXNXZI.js +73 -0
  472. package/dist/chunk-WYVXNXZI.js.map +1 -0
  473. package/dist/chunk-X3MYMAS2.js +56 -0
  474. package/dist/chunk-X3MYMAS2.js.map +1 -0
  475. package/dist/chunk-X7CDYCQF.js +22 -0
  476. package/dist/chunk-X7CDYCQF.js.map +1 -0
  477. package/dist/chunk-XGVDXMS3.js +90 -0
  478. package/dist/chunk-XGVDXMS3.js.map +1 -0
  479. package/dist/chunk-XHXIXEGS.js +7 -0
  480. package/dist/chunk-XHXIXEGS.js.map +1 -0
  481. package/dist/chunk-XJ6HO3WP.js +46 -0
  482. package/dist/chunk-XJ6HO3WP.js.map +1 -0
  483. package/dist/chunk-XMR6HHTA.js +59 -0
  484. package/dist/chunk-XMR6HHTA.js.map +1 -0
  485. package/dist/chunk-XR2KBJIP.js +54 -0
  486. package/dist/chunk-XR2KBJIP.js.map +1 -0
  487. package/dist/chunk-XVN5W3A7.js +50 -0
  488. package/dist/chunk-XVN5W3A7.js.map +1 -0
  489. package/dist/chunk-XXYOJDOZ.js +11 -0
  490. package/dist/chunk-XXYOJDOZ.js.map +1 -0
  491. package/dist/chunk-XZROR7RJ.js +25 -0
  492. package/dist/chunk-XZROR7RJ.js.map +1 -0
  493. package/dist/chunk-YF3LWJL4.js +7 -0
  494. package/dist/chunk-YF3LWJL4.js.map +1 -0
  495. package/dist/chunk-YFM4P3Z3.js +309 -0
  496. package/dist/chunk-YFM4P3Z3.js.map +1 -0
  497. package/dist/chunk-YFVOBSKP.js +52 -0
  498. package/dist/chunk-YFVOBSKP.js.map +1 -0
  499. package/dist/chunk-YFZW72PC.js +45 -0
  500. package/dist/chunk-YFZW72PC.js.map +1 -0
  501. package/dist/chunk-YHTCXXEG.js +9 -0
  502. package/dist/chunk-YHTCXXEG.js.map +1 -0
  503. package/dist/chunk-YJVUJ6AA.js +93 -0
  504. package/dist/chunk-YJVUJ6AA.js.map +1 -0
  505. package/dist/chunk-YKB67FZ5.js +46 -0
  506. package/dist/chunk-YKB67FZ5.js.map +1 -0
  507. package/dist/chunk-YS2PK7QA.js +35 -0
  508. package/dist/chunk-YS2PK7QA.js.map +1 -0
  509. package/dist/chunk-YURDFQ6X.js +33 -0
  510. package/dist/chunk-YURDFQ6X.js.map +1 -0
  511. package/dist/chunk-YVCKIDL5.js +61 -0
  512. package/dist/chunk-YVCKIDL5.js.map +1 -0
  513. package/dist/chunk-YXO6NQ4E.js +49 -0
  514. package/dist/chunk-YXO6NQ4E.js.map +1 -0
  515. package/dist/chunk-Z2AEG3J7.js +53 -0
  516. package/dist/chunk-Z2AEG3J7.js.map +1 -0
  517. package/dist/chunk-Z4I2MQ7B.js +26 -0
  518. package/dist/chunk-Z4I2MQ7B.js.map +1 -0
  519. package/dist/chunk-ZBPKZKIJ.js +25 -0
  520. package/dist/chunk-ZBPKZKIJ.js.map +1 -0
  521. package/dist/chunk-ZCMJVQ6P.js +10 -0
  522. package/dist/chunk-ZCMJVQ6P.js.map +1 -0
  523. package/dist/chunk-ZCQ5UWVE.js +27 -0
  524. package/dist/chunk-ZCQ5UWVE.js.map +1 -0
  525. package/dist/chunk-ZFCTBLWX.js +12 -0
  526. package/dist/chunk-ZFCTBLWX.js.map +1 -0
  527. package/dist/chunk-ZJ6KVLUS.js +296 -0
  528. package/dist/chunk-ZJ6KVLUS.js.map +1 -0
  529. package/dist/chunk-ZRCFHUS4.js +37 -0
  530. package/dist/chunk-ZRCFHUS4.js.map +1 -0
  531. package/dist/chunk-ZSB6HGB5.js +50 -0
  532. package/dist/chunk-ZSB6HGB5.js.map +1 -0
  533. package/dist/chunk-ZSG6ROJA.js +45 -0
  534. package/dist/chunk-ZSG6ROJA.js.map +1 -0
  535. package/dist/chunk-ZSQIEOQO.js +61 -0
  536. package/dist/chunk-ZSQIEOQO.js.map +1 -0
  537. package/dist/chunk-ZTMXXISI.js +158 -0
  538. package/dist/chunk-ZTMXXISI.js.map +1 -0
  539. package/dist/chunk-ZUMPSWHW.js +138 -0
  540. package/dist/chunk-ZUMPSWHW.js.map +1 -0
  541. package/dist/chunk-ZUYSQ37E.js +88 -0
  542. package/dist/chunk-ZUYSQ37E.js.map +1 -0
  543. package/dist/components/base/index.cjs +156 -0
  544. package/dist/components/base/index.cjs.map +1 -0
  545. package/dist/components/base/index.js +15 -0
  546. package/dist/components/base/index.js.map +1 -0
  547. package/dist/components/base/types.cjs +19 -0
  548. package/dist/components/base/types.cjs.map +1 -0
  549. package/dist/components/base/types.js +1 -0
  550. package/dist/components/base/types.js.map +1 -0
  551. package/dist/components/buffer.cjs +184 -0
  552. package/dist/components/buffer.cjs.map +1 -0
  553. package/dist/components/buffer.js +18 -0
  554. package/dist/components/buffer.js.map +1 -0
  555. package/dist/components/captionsview.cjs +378 -0
  556. package/dist/components/captionsview.cjs.map +1 -0
  557. package/dist/components/captionsview.js +22 -0
  558. package/dist/components/captionsview.js.map +1 -0
  559. package/dist/components/controls/airplay.cjs +441 -0
  560. package/dist/components/controls/airplay.cjs.map +1 -0
  561. package/dist/components/controls/airplay.js +21 -0
  562. package/dist/components/controls/airplay.js.map +1 -0
  563. package/dist/components/controls/backward10.cjs +427 -0
  564. package/dist/components/controls/backward10.cjs.map +1 -0
  565. package/dist/components/controls/backward10.js +21 -0
  566. package/dist/components/controls/backward10.js.map +1 -0
  567. package/dist/components/controls/bignext.cjs +448 -0
  568. package/dist/components/controls/bignext.cjs.map +1 -0
  569. package/dist/components/controls/bignext.js +21 -0
  570. package/dist/components/controls/bignext.js.map +1 -0
  571. package/dist/components/controls/bigplaypause.cjs +440 -0
  572. package/dist/components/controls/bigplaypause.cjs.map +1 -0
  573. package/dist/components/controls/bigplaypause.js +21 -0
  574. package/dist/components/controls/bigplaypause.js.map +1 -0
  575. package/dist/components/controls/bigprev.cjs +448 -0
  576. package/dist/components/controls/bigprev.cjs.map +1 -0
  577. package/dist/components/controls/bigprev.js +21 -0
  578. package/dist/components/controls/bigprev.js.map +1 -0
  579. package/dist/components/controls/brightness/index.cjs +767 -0
  580. package/dist/components/controls/brightness/index.cjs.map +1 -0
  581. package/dist/components/controls/brightness/index.js +25 -0
  582. package/dist/components/controls/brightness/index.js.map +1 -0
  583. package/dist/components/controls/brightness/slider.cjs +460 -0
  584. package/dist/components/controls/brightness/slider.cjs.map +1 -0
  585. package/dist/components/controls/brightness/slider.js +21 -0
  586. package/dist/components/controls/brightness/slider.js.map +1 -0
  587. package/dist/components/controls/captions.cjs +452 -0
  588. package/dist/components/controls/captions.cjs.map +1 -0
  589. package/dist/components/controls/captions.js +21 -0
  590. package/dist/components/controls/captions.js.map +1 -0
  591. package/dist/components/controls/capture.cjs +455 -0
  592. package/dist/components/controls/capture.cjs.map +1 -0
  593. package/dist/components/controls/capture.js +21 -0
  594. package/dist/components/controls/capture.js.map +1 -0
  595. package/dist/components/controls/cast.cjs +441 -0
  596. package/dist/components/controls/cast.cjs.map +1 -0
  597. package/dist/components/controls/cast.js +21 -0
  598. package/dist/components/controls/cast.js.map +1 -0
  599. package/dist/components/controls/chapter.cjs +213 -0
  600. package/dist/components/controls/chapter.cjs.map +1 -0
  601. package/dist/components/controls/chapter.js +18 -0
  602. package/dist/components/controls/chapter.js.map +1 -0
  603. package/dist/components/controls/duration.cjs +217 -0
  604. package/dist/components/controls/duration.cjs.map +1 -0
  605. package/dist/components/controls/duration.js +18 -0
  606. package/dist/components/controls/duration.js.map +1 -0
  607. package/dist/components/controls/expandminiplayer.cjs +430 -0
  608. package/dist/components/controls/expandminiplayer.cjs.map +1 -0
  609. package/dist/components/controls/expandminiplayer.js +21 -0
  610. package/dist/components/controls/expandminiplayer.js.map +1 -0
  611. package/dist/components/controls/forward10.cjs +427 -0
  612. package/dist/components/controls/forward10.cjs.map +1 -0
  613. package/dist/components/controls/forward10.js +21 -0
  614. package/dist/components/controls/forward10.js.map +1 -0
  615. package/dist/components/controls/fullscreen.cjs +441 -0
  616. package/dist/components/controls/fullscreen.cjs.map +1 -0
  617. package/dist/components/controls/fullscreen.js +21 -0
  618. package/dist/components/controls/fullscreen.js.map +1 -0
  619. package/dist/components/controls/fullscreenlock.cjs +433 -0
  620. package/dist/components/controls/fullscreenlock.cjs.map +1 -0
  621. package/dist/components/controls/fullscreenlock.js +21 -0
  622. package/dist/components/controls/fullscreenlock.js.map +1 -0
  623. package/dist/components/controls/fullscreenorientation.cjs +436 -0
  624. package/dist/components/controls/fullscreenorientation.cjs.map +1 -0
  625. package/dist/components/controls/fullscreenorientation.js +21 -0
  626. package/dist/components/controls/fullscreenorientation.js.map +1 -0
  627. package/dist/components/controls/meta.cjs +298 -0
  628. package/dist/components/controls/meta.cjs.map +1 -0
  629. package/dist/components/controls/meta.js +18 -0
  630. package/dist/components/controls/meta.js.map +1 -0
  631. package/dist/components/controls/next.cjs +444 -0
  632. package/dist/components/controls/next.cjs.map +1 -0
  633. package/dist/components/controls/next.js +21 -0
  634. package/dist/components/controls/next.js.map +1 -0
  635. package/dist/components/controls/objectfit.cjs +444 -0
  636. package/dist/components/controls/objectfit.cjs.map +1 -0
  637. package/dist/components/controls/objectfit.js +21 -0
  638. package/dist/components/controls/objectfit.js.map +1 -0
  639. package/dist/components/controls/pictureinpicture.cjs +441 -0
  640. package/dist/components/controls/pictureinpicture.cjs.map +1 -0
  641. package/dist/components/controls/pictureinpicture.js +21 -0
  642. package/dist/components/controls/pictureinpicture.js.map +1 -0
  643. package/dist/components/controls/playpause.cjs +441 -0
  644. package/dist/components/controls/playpause.cjs.map +1 -0
  645. package/dist/components/controls/playpause.js +21 -0
  646. package/dist/components/controls/playpause.js.map +1 -0
  647. package/dist/components/controls/prev.cjs +444 -0
  648. package/dist/components/controls/prev.cjs.map +1 -0
  649. package/dist/components/controls/prev.js +21 -0
  650. package/dist/components/controls/prev.js.map +1 -0
  651. package/dist/components/controls/removeminiplayer.cjs +432 -0
  652. package/dist/components/controls/removeminiplayer.cjs.map +1 -0
  653. package/dist/components/controls/removeminiplayer.js +21 -0
  654. package/dist/components/controls/removeminiplayer.js.map +1 -0
  655. package/dist/components/controls/settings.cjs +443 -0
  656. package/dist/components/controls/settings.cjs.map +1 -0
  657. package/dist/components/controls/settings.js +21 -0
  658. package/dist/components/controls/settings.js.map +1 -0
  659. package/dist/components/controls/theater.cjs +441 -0
  660. package/dist/components/controls/theater.cjs.map +1 -0
  661. package/dist/components/controls/theater.js +21 -0
  662. package/dist/components/controls/theater.js.map +1 -0
  663. package/dist/components/controls/time.cjs +230 -0
  664. package/dist/components/controls/time.cjs.map +1 -0
  665. package/dist/components/controls/time.js +18 -0
  666. package/dist/components/controls/time.js.map +1 -0
  667. package/dist/components/controls/timeandduration.cjs +251 -0
  668. package/dist/components/controls/timeandduration.cjs.map +1 -0
  669. package/dist/components/controls/timeandduration.js +18 -0
  670. package/dist/components/controls/timeandduration.js.map +1 -0
  671. package/dist/components/controls/timeline/index.cjs +713 -0
  672. package/dist/components/controls/timeline/index.cjs.map +1 -0
  673. package/dist/components/controls/timeline/index.js +25 -0
  674. package/dist/components/controls/timeline/index.js.map +1 -0
  675. package/dist/components/controls/timeline/types.cjs +19 -0
  676. package/dist/components/controls/timeline/types.cjs.map +1 -0
  677. package/dist/components/controls/timeline/types.js +1 -0
  678. package/dist/components/controls/timeline/types.js.map +1 -0
  679. package/dist/components/controls/volume/index.cjs +767 -0
  680. package/dist/components/controls/volume/index.cjs.map +1 -0
  681. package/dist/components/controls/volume/index.js +25 -0
  682. package/dist/components/controls/volume/index.js.map +1 -0
  683. package/dist/components/controls/volume/slider.cjs +460 -0
  684. package/dist/components/controls/volume/slider.cjs.map +1 -0
  685. package/dist/components/controls/volume/slider.js +21 -0
  686. package/dist/components/controls/volume/slider.js.map +1 -0
  687. package/dist/components/holders/airplayplaceholder.cjs +446 -0
  688. package/dist/components/holders/airplayplaceholder.cjs.map +1 -0
  689. package/dist/components/holders/airplayplaceholder.js +21 -0
  690. package/dist/components/holders/airplayplaceholder.js.map +1 -0
  691. package/dist/components/holders/castplaceholder.cjs +446 -0
  692. package/dist/components/holders/castplaceholder.cjs.map +1 -0
  693. package/dist/components/holders/castplaceholder.js +21 -0
  694. package/dist/components/holders/castplaceholder.js.map +1 -0
  695. package/dist/components/holders/pipplaceholder.cjs +446 -0
  696. package/dist/components/holders/pipplaceholder.cjs.map +1 -0
  697. package/dist/components/holders/pipplaceholder.js +30 -0
  698. package/dist/components/holders/pipplaceholder.js.map +1 -0
  699. package/dist/components/icons/add.cjs +27 -0
  700. package/dist/components/icons/add.cjs.map +1 -0
  701. package/dist/components/icons/add.js +8 -0
  702. package/dist/components/icons/add.js.map +1 -0
  703. package/dist/components/icons/airplay.cjs +30 -0
  704. package/dist/components/icons/airplay.cjs.map +1 -0
  705. package/dist/components/icons/airplay.js +8 -0
  706. package/dist/components/icons/airplay.js.map +1 -0
  707. package/dist/components/icons/airplayplaceholder.cjs +39 -0
  708. package/dist/components/icons/airplayplaceholder.cjs.map +1 -0
  709. package/dist/components/icons/airplayplaceholder.js +8 -0
  710. package/dist/components/icons/airplayplaceholder.js.map +1 -0
  711. package/dist/components/icons/ambience.cjs +27 -0
  712. package/dist/components/icons/ambience.cjs.map +1 -0
  713. package/dist/components/icons/ambience.js +8 -0
  714. package/dist/components/icons/ambience.js.map +1 -0
  715. package/dist/components/icons/audiotrack.cjs +27 -0
  716. package/dist/components/icons/audiotrack.cjs.map +1 -0
  717. package/dist/components/icons/audiotrack.js +8 -0
  718. package/dist/components/icons/audiotrack.js.map +1 -0
  719. package/dist/components/icons/autoplay.cjs +27 -0
  720. package/dist/components/icons/autoplay.cjs.map +1 -0
  721. package/dist/components/icons/autoplay.js +8 -0
  722. package/dist/components/icons/autoplay.js.map +1 -0
  723. package/dist/components/icons/backward10.cjs +29 -0
  724. package/dist/components/icons/backward10.cjs.map +1 -0
  725. package/dist/components/icons/backward10.js +8 -0
  726. package/dist/components/icons/backward10.js.map +1 -0
  727. package/dist/components/icons/brightnessdark.cjs +29 -0
  728. package/dist/components/icons/brightnessdark.cjs.map +1 -0
  729. package/dist/components/icons/brightnessdark.js +8 -0
  730. package/dist/components/icons/brightnessdark.js.map +1 -0
  731. package/dist/components/icons/brightnesshigh.cjs +29 -0
  732. package/dist/components/icons/brightnesshigh.cjs.map +1 -0
  733. package/dist/components/icons/brightnesshigh.js +8 -0
  734. package/dist/components/icons/brightnesshigh.js.map +1 -0
  735. package/dist/components/icons/brightnesslow.cjs +29 -0
  736. package/dist/components/icons/brightnesslow.cjs.map +1 -0
  737. package/dist/components/icons/brightnesslow.js +8 -0
  738. package/dist/components/icons/brightnesslow.js.map +1 -0
  739. package/dist/components/icons/bwd.cjs +31 -0
  740. package/dist/components/icons/bwd.cjs.map +1 -0
  741. package/dist/components/icons/bwd.js +8 -0
  742. package/dist/components/icons/bwd.js.map +1 -0
  743. package/dist/components/icons/captions.cjs +29 -0
  744. package/dist/components/icons/captions.cjs.map +1 -0
  745. package/dist/components/icons/captions.js +8 -0
  746. package/dist/components/icons/captions.js.map +1 -0
  747. package/dist/components/icons/capture.cjs +29 -0
  748. package/dist/components/icons/capture.cjs.map +1 -0
  749. package/dist/components/icons/capture.js +8 -0
  750. package/dist/components/icons/capture.js.map +1 -0
  751. package/dist/components/icons/cast.cjs +29 -0
  752. package/dist/components/icons/cast.cjs.map +1 -0
  753. package/dist/components/icons/cast.js +8 -0
  754. package/dist/components/icons/cast.js.map +1 -0
  755. package/dist/components/icons/castplaceholder.cjs +42 -0
  756. package/dist/components/icons/castplaceholder.cjs.map +1 -0
  757. package/dist/components/icons/castplaceholder.js +8 -0
  758. package/dist/components/icons/castplaceholder.js.map +1 -0
  759. package/dist/components/icons/chapters.cjs +27 -0
  760. package/dist/components/icons/chapters.cjs.map +1 -0
  761. package/dist/components/icons/chapters.js +8 -0
  762. package/dist/components/icons/chapters.js.map +1 -0
  763. package/dist/components/icons/configure.cjs +27 -0
  764. package/dist/components/icons/configure.cjs.map +1 -0
  765. package/dist/components/icons/configure.js +8 -0
  766. package/dist/components/icons/configure.js.map +1 -0
  767. package/dist/components/icons/deleteicon.cjs +27 -0
  768. package/dist/components/icons/deleteicon.cjs.map +1 -0
  769. package/dist/components/icons/deleteicon.js +8 -0
  770. package/dist/components/icons/deleteicon.js.map +1 -0
  771. package/dist/components/icons/doubletriangleleft.cjs +27 -0
  772. package/dist/components/icons/doubletriangleleft.cjs.map +1 -0
  773. package/dist/components/icons/doubletriangleleft.js +8 -0
  774. package/dist/components/icons/doubletriangleleft.js.map +1 -0
  775. package/dist/components/icons/doubletriangleright.cjs +27 -0
  776. package/dist/components/icons/doubletriangleright.cjs.map +1 -0
  777. package/dist/components/icons/doubletriangleright.js +8 -0
  778. package/dist/components/icons/doubletriangleright.js.map +1 -0
  779. package/dist/components/icons/dragindicator.cjs +27 -0
  780. package/dist/components/icons/dragindicator.cjs.map +1 -0
  781. package/dist/components/icons/dragindicator.js +8 -0
  782. package/dist/components/icons/dragindicator.js.map +1 -0
  783. package/dist/components/icons/edit.cjs +27 -0
  784. package/dist/components/icons/edit.cjs.map +1 -0
  785. package/dist/components/icons/edit.js +8 -0
  786. package/dist/components/icons/edit.js.map +1 -0
  787. package/dist/components/icons/enterfullscreen.cjs +32 -0
  788. package/dist/components/icons/enterfullscreen.cjs.map +1 -0
  789. package/dist/components/icons/enterfullscreen.js +8 -0
  790. package/dist/components/icons/enterfullscreen.js.map +1 -0
  791. package/dist/components/icons/enterpip.cjs +29 -0
  792. package/dist/components/icons/enterpip.cjs.map +1 -0
  793. package/dist/components/icons/enterpip.js +8 -0
  794. package/dist/components/icons/enterpip.js.map +1 -0
  795. package/dist/components/icons/entertheater.cjs +29 -0
  796. package/dist/components/icons/entertheater.cjs.map +1 -0
  797. package/dist/components/icons/entertheater.js +8 -0
  798. package/dist/components/icons/entertheater.js.map +1 -0
  799. package/dist/components/icons/expandminiplayer.cjs +29 -0
  800. package/dist/components/icons/expandminiplayer.cjs.map +1 -0
  801. package/dist/components/icons/expandminiplayer.js +8 -0
  802. package/dist/components/icons/expandminiplayer.js.map +1 -0
  803. package/dist/components/icons/forward10.cjs +29 -0
  804. package/dist/components/icons/forward10.cjs.map +1 -0
  805. package/dist/components/icons/forward10.js +8 -0
  806. package/dist/components/icons/forward10.js.map +1 -0
  807. package/dist/components/icons/fullscreenorientation.cjs +30 -0
  808. package/dist/components/icons/fullscreenorientation.cjs.map +1 -0
  809. package/dist/components/icons/fullscreenorientation.js +8 -0
  810. package/dist/components/icons/fullscreenorientation.js.map +1 -0
  811. package/dist/components/icons/fwd.cjs +31 -0
  812. package/dist/components/icons/fwd.cjs.map +1 -0
  813. package/dist/components/icons/fwd.js +8 -0
  814. package/dist/components/icons/fwd.js.map +1 -0
  815. package/dist/components/icons/leavefullscreen.cjs +32 -0
  816. package/dist/components/icons/leavefullscreen.cjs.map +1 -0
  817. package/dist/components/icons/leavefullscreen.js +8 -0
  818. package/dist/components/icons/leavefullscreen.js.map +1 -0
  819. package/dist/components/icons/leavepip.cjs +29 -0
  820. package/dist/components/icons/leavepip.cjs.map +1 -0
  821. package/dist/components/icons/leavepip.js +8 -0
  822. package/dist/components/icons/leavepip.js.map +1 -0
  823. package/dist/components/icons/leavetheater.cjs +29 -0
  824. package/dist/components/icons/leavetheater.cjs.map +1 -0
  825. package/dist/components/icons/leavetheater.js +8 -0
  826. package/dist/components/icons/leavetheater.js.map +1 -0
  827. package/dist/components/icons/lock.cjs +30 -0
  828. package/dist/components/icons/lock.cjs.map +1 -0
  829. package/dist/components/icons/lock.js +8 -0
  830. package/dist/components/icons/lock.js.map +1 -0
  831. package/dist/components/icons/loop.cjs +27 -0
  832. package/dist/components/icons/loop.cjs.map +1 -0
  833. package/dist/components/icons/loop.js +8 -0
  834. package/dist/components/icons/loop.js.map +1 -0
  835. package/dist/components/icons/next.cjs +30 -0
  836. package/dist/components/icons/next.cjs.map +1 -0
  837. package/dist/components/icons/next.js +8 -0
  838. package/dist/components/icons/next.js.map +1 -0
  839. package/dist/components/icons/objectfitcontain.cjs +32 -0
  840. package/dist/components/icons/objectfitcontain.cjs.map +1 -0
  841. package/dist/components/icons/objectfitcontain.js +8 -0
  842. package/dist/components/icons/objectfitcontain.js.map +1 -0
  843. package/dist/components/icons/objectfitcover.cjs +32 -0
  844. package/dist/components/icons/objectfitcover.cjs.map +1 -0
  845. package/dist/components/icons/objectfitcover.js +8 -0
  846. package/dist/components/icons/objectfitcover.js.map +1 -0
  847. package/dist/components/icons/objectfitfill.cjs +32 -0
  848. package/dist/components/icons/objectfitfill.cjs.map +1 -0
  849. package/dist/components/icons/objectfitfill.js +8 -0
  850. package/dist/components/icons/objectfitfill.js.map +1 -0
  851. package/dist/components/icons/pause.cjs +29 -0
  852. package/dist/components/icons/pause.cjs.map +1 -0
  853. package/dist/components/icons/pause.js +8 -0
  854. package/dist/components/icons/pause.js.map +1 -0
  855. package/dist/components/icons/pipplaceholder.cjs +50 -0
  856. package/dist/components/icons/pipplaceholder.cjs.map +1 -0
  857. package/dist/components/icons/pipplaceholder.js +8 -0
  858. package/dist/components/icons/pipplaceholder.js.map +1 -0
  859. package/dist/components/icons/play.cjs +29 -0
  860. package/dist/components/icons/play.cjs.map +1 -0
  861. package/dist/components/icons/play.js +8 -0
  862. package/dist/components/icons/play.js.map +1 -0
  863. package/dist/components/icons/playbackrate.cjs +27 -0
  864. package/dist/components/icons/playbackrate.cjs.map +1 -0
  865. package/dist/components/icons/playbackrate.js +8 -0
  866. package/dist/components/icons/playbackrate.js.map +1 -0
  867. package/dist/components/icons/playlist.cjs +27 -0
  868. package/dist/components/icons/playlist.cjs.map +1 -0
  869. package/dist/components/icons/playlist.js +8 -0
  870. package/dist/components/icons/playlist.js.map +1 -0
  871. package/dist/components/icons/prev.cjs +30 -0
  872. package/dist/components/icons/prev.cjs.map +1 -0
  873. package/dist/components/icons/prev.js +8 -0
  874. package/dist/components/icons/prev.js.map +1 -0
  875. package/dist/components/icons/quality.cjs +27 -0
  876. package/dist/components/icons/quality.cjs.map +1 -0
  877. package/dist/components/icons/quality.js +8 -0
  878. package/dist/components/icons/quality.js.map +1 -0
  879. package/dist/components/icons/removeminiplayer.cjs +29 -0
  880. package/dist/components/icons/removeminiplayer.cjs.map +1 -0
  881. package/dist/components/icons/removeminiplayer.js +8 -0
  882. package/dist/components/icons/removeminiplayer.js.map +1 -0
  883. package/dist/components/icons/replay.cjs +29 -0
  884. package/dist/components/icons/replay.cjs.map +1 -0
  885. package/dist/components/icons/replay.js +8 -0
  886. package/dist/components/icons/replay.js.map +1 -0
  887. package/dist/components/icons/returnback.cjs +30 -0
  888. package/dist/components/icons/returnback.cjs.map +1 -0
  889. package/dist/components/icons/returnback.js +8 -0
  890. package/dist/components/icons/returnback.js.map +1 -0
  891. package/dist/components/icons/settings.cjs +29 -0
  892. package/dist/components/icons/settings.cjs.map +1 -0
  893. package/dist/components/icons/settings.js +8 -0
  894. package/dist/components/icons/settings.js.map +1 -0
  895. package/dist/components/icons/shuffle.cjs +27 -0
  896. package/dist/components/icons/shuffle.cjs.map +1 -0
  897. package/dist/components/icons/shuffle.js +8 -0
  898. package/dist/components/icons/shuffle.js.map +1 -0
  899. package/dist/components/icons/subtitles.cjs +29 -0
  900. package/dist/components/icons/subtitles.cjs.map +1 -0
  901. package/dist/components/icons/subtitles.js +8 -0
  902. package/dist/components/icons/subtitles.js.map +1 -0
  903. package/dist/components/icons/timer.cjs +27 -0
  904. package/dist/components/icons/timer.cjs.map +1 -0
  905. package/dist/components/icons/timer.js +8 -0
  906. package/dist/components/icons/timer.js.map +1 -0
  907. package/dist/components/icons/triangleleft.cjs +29 -0
  908. package/dist/components/icons/triangleleft.cjs.map +1 -0
  909. package/dist/components/icons/triangleleft.js +8 -0
  910. package/dist/components/icons/triangleleft.js.map +1 -0
  911. package/dist/components/icons/tripletriangleleft.cjs +27 -0
  912. package/dist/components/icons/tripletriangleleft.cjs.map +1 -0
  913. package/dist/components/icons/tripletriangleleft.js +8 -0
  914. package/dist/components/icons/tripletriangleleft.js.map +1 -0
  915. package/dist/components/icons/tripletriangleright.cjs +27 -0
  916. package/dist/components/icons/tripletriangleright.cjs.map +1 -0
  917. package/dist/components/icons/tripletriangleright.js +8 -0
  918. package/dist/components/icons/tripletriangleright.js.map +1 -0
  919. package/dist/components/icons/unlock.cjs +30 -0
  920. package/dist/components/icons/unlock.cjs.map +1 -0
  921. package/dist/components/icons/unlock.js +8 -0
  922. package/dist/components/icons/unlock.js.map +1 -0
  923. package/dist/components/icons/videotrack.cjs +27 -0
  924. package/dist/components/icons/videotrack.cjs.map +1 -0
  925. package/dist/components/icons/videotrack.js +8 -0
  926. package/dist/components/icons/videotrack.js.map +1 -0
  927. package/dist/components/icons/volumehigh.cjs +29 -0
  928. package/dist/components/icons/volumehigh.cjs.map +1 -0
  929. package/dist/components/icons/volumehigh.js +8 -0
  930. package/dist/components/icons/volumehigh.js.map +1 -0
  931. package/dist/components/icons/volumelow.cjs +29 -0
  932. package/dist/components/icons/volumelow.cjs.map +1 -0
  933. package/dist/components/icons/volumelow.js +8 -0
  934. package/dist/components/icons/volumelow.js.map +1 -0
  935. package/dist/components/icons/volumemuted.cjs +29 -0
  936. package/dist/components/icons/volumemuted.cjs.map +1 -0
  937. package/dist/components/icons/volumemuted.js +8 -0
  938. package/dist/components/icons/volumemuted.js.map +1 -0
  939. package/dist/components/icons/z-register.cjs +633 -0
  940. package/dist/components/icons/z-register.cjs.map +1 -0
  941. package/dist/components/icons/z-register.js +66 -0
  942. package/dist/components/icons/z-register.js.map +1 -0
  943. package/dist/components/notifiers/airplay.cjs +450 -0
  944. package/dist/components/notifiers/airplay.cjs.map +1 -0
  945. package/dist/components/notifiers/airplay.js +22 -0
  946. package/dist/components/notifiers/airplay.js.map +1 -0
  947. package/dist/components/notifiers/base.cjs +191 -0
  948. package/dist/components/notifiers/base.cjs.map +1 -0
  949. package/dist/components/notifiers/base.js +16 -0
  950. package/dist/components/notifiers/base.js.map +1 -0
  951. package/dist/components/notifiers/brightness.cjs +469 -0
  952. package/dist/components/notifiers/brightness.cjs.map +1 -0
  953. package/dist/components/notifiers/brightness.js +22 -0
  954. package/dist/components/notifiers/brightness.js.map +1 -0
  955. package/dist/components/notifiers/cancelscrub.cjs +216 -0
  956. package/dist/components/notifiers/cancelscrub.cjs.map +1 -0
  957. package/dist/components/notifiers/cancelscrub.js +19 -0
  958. package/dist/components/notifiers/cancelscrub.js.map +1 -0
  959. package/dist/components/notifiers/captions.cjs +450 -0
  960. package/dist/components/notifiers/captions.cjs.map +1 -0
  961. package/dist/components/notifiers/captions.js +22 -0
  962. package/dist/components/notifiers/captions.js.map +1 -0
  963. package/dist/components/notifiers/capture.cjs +450 -0
  964. package/dist/components/notifiers/capture.cjs.map +1 -0
  965. package/dist/components/notifiers/capture.js +22 -0
  966. package/dist/components/notifiers/capture.js.map +1 -0
  967. package/dist/components/notifiers/cast.cjs +450 -0
  968. package/dist/components/notifiers/cast.cjs.map +1 -0
  969. package/dist/components/notifiers/cast.js +22 -0
  970. package/dist/components/notifiers/cast.js.map +1 -0
  971. package/dist/components/notifiers/chapter.cjs +225 -0
  972. package/dist/components/notifiers/chapter.cjs.map +1 -0
  973. package/dist/components/notifiers/chapter.js +19 -0
  974. package/dist/components/notifiers/chapter.js.map +1 -0
  975. package/dist/components/notifiers/fastplay.cjs +467 -0
  976. package/dist/components/notifiers/fastplay.cjs.map +1 -0
  977. package/dist/components/notifiers/fastplay.js +22 -0
  978. package/dist/components/notifiers/fastplay.js.map +1 -0
  979. package/dist/components/notifiers/fwdbwd.cjs +457 -0
  980. package/dist/components/notifiers/fwdbwd.cjs.map +1 -0
  981. package/dist/components/notifiers/fwdbwd.js +22 -0
  982. package/dist/components/notifiers/fwdbwd.js.map +1 -0
  983. package/dist/components/notifiers/objectfit.cjs +468 -0
  984. package/dist/components/notifiers/objectfit.cjs.map +1 -0
  985. package/dist/components/notifiers/objectfit.js +22 -0
  986. package/dist/components/notifiers/objectfit.js.map +1 -0
  987. package/dist/components/notifiers/playbackrate.cjs +466 -0
  988. package/dist/components/notifiers/playbackrate.cjs.map +1 -0
  989. package/dist/components/notifiers/playbackrate.js +22 -0
  990. package/dist/components/notifiers/playbackrate.js.map +1 -0
  991. package/dist/components/notifiers/playpause.cjs +457 -0
  992. package/dist/components/notifiers/playpause.cjs.map +1 -0
  993. package/dist/components/notifiers/playpause.js +22 -0
  994. package/dist/components/notifiers/playpause.js.map +1 -0
  995. package/dist/components/notifiers/prevnext.cjs +457 -0
  996. package/dist/components/notifiers/prevnext.cjs.map +1 -0
  997. package/dist/components/notifiers/prevnext.js +22 -0
  998. package/dist/components/notifiers/prevnext.js.map +1 -0
  999. package/dist/components/notifiers/scrub.cjs +449 -0
  1000. package/dist/components/notifiers/scrub.cjs.map +1 -0
  1001. package/dist/components/notifiers/scrub.js +22 -0
  1002. package/dist/components/notifiers/scrub.js.map +1 -0
  1003. package/dist/components/notifiers/timer.cjs +451 -0
  1004. package/dist/components/notifiers/timer.cjs.map +1 -0
  1005. package/dist/components/notifiers/timer.js +22 -0
  1006. package/dist/components/notifiers/timer.js.map +1 -0
  1007. package/dist/components/notifiers/touchbrightness.cjs +474 -0
  1008. package/dist/components/notifiers/touchbrightness.cjs.map +1 -0
  1009. package/dist/components/notifiers/touchbrightness.js +22 -0
  1010. package/dist/components/notifiers/touchbrightness.js.map +1 -0
  1011. package/dist/components/notifiers/touchtimeline.cjs +218 -0
  1012. package/dist/components/notifiers/touchtimeline.cjs.map +1 -0
  1013. package/dist/components/notifiers/touchtimeline.js +21 -0
  1014. package/dist/components/notifiers/touchtimeline.js.map +1 -0
  1015. package/dist/components/notifiers/touchvolume.cjs +474 -0
  1016. package/dist/components/notifiers/touchvolume.cjs.map +1 -0
  1017. package/dist/components/notifiers/touchvolume.js +22 -0
  1018. package/dist/components/notifiers/touchvolume.js.map +1 -0
  1019. package/dist/components/notifiers/volume.cjs +469 -0
  1020. package/dist/components/notifiers/volume.cjs.map +1 -0
  1021. package/dist/components/notifiers/volume.js +22 -0
  1022. package/dist/components/notifiers/volume.js.map +1 -0
  1023. package/dist/components/notifiers/z-register.cjs +778 -0
  1024. package/dist/components/notifiers/z-register.cjs.map +1 -0
  1025. package/dist/components/notifiers/z-register.js +36 -0
  1026. package/dist/components/notifiers/z-register.js.map +1 -0
  1027. package/dist/components/rangeinput/build.cjs +52 -0
  1028. package/dist/components/rangeinput/build.cjs.map +1 -0
  1029. package/dist/components/rangeinput/build.js +8 -0
  1030. package/dist/components/rangeinput/build.js.map +1 -0
  1031. package/dist/components/rangeinput/index.cjs +433 -0
  1032. package/dist/components/rangeinput/index.cjs.map +1 -0
  1033. package/dist/components/rangeinput/index.js +20 -0
  1034. package/dist/components/rangeinput/index.js.map +1 -0
  1035. package/dist/components/rangeinput/types.cjs +19 -0
  1036. package/dist/components/rangeinput/types.cjs.map +1 -0
  1037. package/dist/components/rangeinput/types.js +1 -0
  1038. package/dist/components/rangeinput/types.js.map +1 -0
  1039. package/dist/components/screenlock.cjs +438 -0
  1040. package/dist/components/screenlock.cjs.map +1 -0
  1041. package/dist/components/screenlock.js +21 -0
  1042. package/dist/components/screenlock.js.map +1 -0
  1043. package/dist/components/z-register.cjs +2345 -0
  1044. package/dist/components/z-register.cjs.map +1 -0
  1045. package/dist/components/z-register.js +64 -0
  1046. package/dist/components/z-register.js.map +1 -0
  1047. package/dist/consts/actions.cjs +79 -0
  1048. package/dist/consts/actions.cjs.map +1 -0
  1049. package/dist/consts/actions.js +8 -0
  1050. package/dist/consts/actions.js.map +1 -0
  1051. package/dist/consts/config.cjs +105 -0
  1052. package/dist/consts/config.cjs.map +1 -0
  1053. package/dist/consts/config.js +9 -0
  1054. package/dist/consts/config.js.map +1 -0
  1055. package/dist/consts/generics.cjs +29 -0
  1056. package/dist/consts/generics.cjs.map +1 -0
  1057. package/dist/consts/generics.js +10 -0
  1058. package/dist/consts/generics.js.map +1 -0
  1059. package/dist/consts/media.cjs +201 -0
  1060. package/dist/consts/media.cjs.map +1 -0
  1061. package/dist/consts/media.js +16 -0
  1062. package/dist/consts/media.js.map +1 -0
  1063. package/dist/core/controllable.cjs +91 -0
  1064. package/dist/core/controllable.cjs.map +1 -0
  1065. package/dist/core/controllable.js +13 -0
  1066. package/dist/core/controllable.js.map +1 -0
  1067. package/dist/core/controller.cjs +1664 -0
  1068. package/dist/core/controller.cjs.map +1 -0
  1069. package/dist/core/controller.js +27 -0
  1070. package/dist/core/controller.js.map +1 -0
  1071. package/dist/core/registries.cjs +268 -0
  1072. package/dist/core/registries.cjs.map +1 -0
  1073. package/dist/core/registries.js +24 -0
  1074. package/dist/core/registries.js.map +1 -0
  1075. package/dist/index.cjs +1934 -0
  1076. package/dist/index.cjs.map +1 -0
  1077. package/dist/index.css +3148 -0
  1078. package/dist/index.css.map +1 -0
  1079. package/dist/index.js +75 -0
  1080. package/dist/index.js.map +1 -0
  1081. package/dist/init.cjs +1890 -0
  1082. package/dist/init.cjs.map +1 -0
  1083. package/dist/init.js +24 -0
  1084. package/dist/init.js.map +1 -0
  1085. package/dist/plugs/base/index.cjs +407 -0
  1086. package/dist/plugs/base/index.cjs.map +1 -0
  1087. package/dist/plugs/base/index.js +19 -0
  1088. package/dist/plugs/base/index.js.map +1 -0
  1089. package/dist/plugs/base/slider.cjs +458 -0
  1090. package/dist/plugs/base/slider.cjs.map +1 -0
  1091. package/dist/plugs/base/slider.js +18 -0
  1092. package/dist/plugs/base/slider.js.map +1 -0
  1093. package/dist/plugs/base/types.cjs +19 -0
  1094. package/dist/plugs/base/types.cjs.map +1 -0
  1095. package/dist/plugs/base/types.js +1 -0
  1096. package/dist/plugs/base/types.js.map +1 -0
  1097. package/dist/plugs/main/disabled/build.cjs +27 -0
  1098. package/dist/plugs/main/disabled/build.cjs.map +1 -0
  1099. package/dist/plugs/main/disabled/build.js +8 -0
  1100. package/dist/plugs/main/disabled/build.js.map +1 -0
  1101. package/dist/plugs/main/disabled/index.cjs +421 -0
  1102. package/dist/plugs/main/disabled/index.cjs.map +1 -0
  1103. package/dist/plugs/main/disabled/index.js +22 -0
  1104. package/dist/plugs/main/disabled/index.js.map +1 -0
  1105. package/dist/plugs/main/disabled/types.cjs +19 -0
  1106. package/dist/plugs/main/disabled/types.cjs.map +1 -0
  1107. package/dist/plugs/main/disabled/types.js +1 -0
  1108. package/dist/plugs/main/disabled/types.js.map +1 -0
  1109. package/dist/plugs/main/lightState/build.cjs +34 -0
  1110. package/dist/plugs/main/lightState/build.cjs.map +1 -0
  1111. package/dist/plugs/main/lightState/build.js +8 -0
  1112. package/dist/plugs/main/lightState/build.js.map +1 -0
  1113. package/dist/plugs/main/lightState/index.cjs +458 -0
  1114. package/dist/plugs/main/lightState/index.cjs.map +1 -0
  1115. package/dist/plugs/main/lightState/index.js +22 -0
  1116. package/dist/plugs/main/lightState/index.js.map +1 -0
  1117. package/dist/plugs/main/lightState/types.cjs +19 -0
  1118. package/dist/plugs/main/lightState/types.cjs.map +1 -0
  1119. package/dist/plugs/main/lightState/types.js +1 -0
  1120. package/dist/plugs/main/lightState/types.js.map +1 -0
  1121. package/dist/plugs/main/playlist/build.cjs +59 -0
  1122. package/dist/plugs/main/playlist/build.cjs.map +1 -0
  1123. package/dist/plugs/main/playlist/build.js +10 -0
  1124. package/dist/plugs/main/playlist/build.js.map +1 -0
  1125. package/dist/plugs/main/playlist/index.cjs +511 -0
  1126. package/dist/plugs/main/playlist/index.cjs.map +1 -0
  1127. package/dist/plugs/main/playlist/index.js +25 -0
  1128. package/dist/plugs/main/playlist/index.js.map +1 -0
  1129. package/dist/plugs/main/playlist/types.cjs +19 -0
  1130. package/dist/plugs/main/playlist/types.cjs.map +1 -0
  1131. package/dist/plugs/main/playlist/types.js +1 -0
  1132. package/dist/plugs/main/playlist/types.js.map +1 -0
  1133. package/dist/plugs/main/skeleton/build.cjs +29 -0
  1134. package/dist/plugs/main/skeleton/build.cjs.map +1 -0
  1135. package/dist/plugs/main/skeleton/build.js +8 -0
  1136. package/dist/plugs/main/skeleton/build.js.map +1 -0
  1137. package/dist/plugs/main/skeleton/index.cjs +539 -0
  1138. package/dist/plugs/main/skeleton/index.cjs.map +1 -0
  1139. package/dist/plugs/main/skeleton/index.js +25 -0
  1140. package/dist/plugs/main/skeleton/index.js.map +1 -0
  1141. package/dist/plugs/main/skeleton/types.cjs +19 -0
  1142. package/dist/plugs/main/skeleton/types.cjs.map +1 -0
  1143. package/dist/plugs/main/skeleton/types.js +1 -0
  1144. package/dist/plugs/main/skeleton/types.js.map +1 -0
  1145. package/dist/plugs/menus/main/playlist.cjs +98 -0
  1146. package/dist/plugs/menus/main/playlist.cjs.map +1 -0
  1147. package/dist/plugs/menus/main/playlist.js +9 -0
  1148. package/dist/plugs/menus/main/playlist.js.map +1 -0
  1149. package/dist/plugs/menus/main/skeleton.cjs +34 -0
  1150. package/dist/plugs/menus/main/skeleton.cjs.map +1 -0
  1151. package/dist/plugs/menus/main/skeleton.js +8 -0
  1152. package/dist/plugs/menus/main/skeleton.js.map +1 -0
  1153. package/dist/plugs/menus/settings/actions.cjs +492 -0
  1154. package/dist/plugs/menus/settings/actions.cjs.map +1 -0
  1155. package/dist/plugs/menus/settings/actions.js +15 -0
  1156. package/dist/plugs/menus/settings/actions.js.map +1 -0
  1157. package/dist/plugs/menus/settings/ambience.cjs +35 -0
  1158. package/dist/plugs/menus/settings/ambience.cjs.map +1 -0
  1159. package/dist/plugs/menus/settings/ambience.js +8 -0
  1160. package/dist/plugs/menus/settings/ambience.js.map +1 -0
  1161. package/dist/plugs/menus/settings/auto.cjs +153 -0
  1162. package/dist/plugs/menus/settings/auto.cjs.map +1 -0
  1163. package/dist/plugs/menus/settings/auto.js +12 -0
  1164. package/dist/plugs/menus/settings/auto.js.map +1 -0
  1165. package/dist/plugs/menus/settings/brightness.cjs +45 -0
  1166. package/dist/plugs/menus/settings/brightness.cjs.map +1 -0
  1167. package/dist/plugs/menus/settings/brightness.js +8 -0
  1168. package/dist/plugs/menus/settings/brightness.js.map +1 -0
  1169. package/dist/plugs/menus/settings/captions.cjs +437 -0
  1170. package/dist/plugs/menus/settings/captions.cjs.map +1 -0
  1171. package/dist/plugs/menus/settings/captions.js +13 -0
  1172. package/dist/plugs/menus/settings/captions.js.map +1 -0
  1173. package/dist/plugs/menus/settings/controlPanel.cjs +442 -0
  1174. package/dist/plugs/menus/settings/controlPanel.cjs.map +1 -0
  1175. package/dist/plugs/menus/settings/controlPanel.js +14 -0
  1176. package/dist/plugs/menus/settings/controlPanel.js.map +1 -0
  1177. package/dist/plugs/menus/settings/fastPlay.cjs +166 -0
  1178. package/dist/plugs/menus/settings/fastPlay.cjs.map +1 -0
  1179. package/dist/plugs/menus/settings/fastPlay.js +12 -0
  1180. package/dist/plugs/menus/settings/fastPlay.js.map +1 -0
  1181. package/dist/plugs/menus/settings/frame.cjs +90 -0
  1182. package/dist/plugs/menus/settings/frame.cjs.map +1 -0
  1183. package/dist/plugs/menus/settings/frame.js +12 -0
  1184. package/dist/plugs/menus/settings/frame.js.map +1 -0
  1185. package/dist/plugs/menus/settings/gesture.cjs +255 -0
  1186. package/dist/plugs/menus/settings/gesture.cjs.map +1 -0
  1187. package/dist/plugs/menus/settings/gesture.js +17 -0
  1188. package/dist/plugs/menus/settings/gesture.js.map +1 -0
  1189. package/dist/plugs/menus/settings/keys.cjs +173 -0
  1190. package/dist/plugs/menus/settings/keys.cjs.map +1 -0
  1191. package/dist/plugs/menus/settings/keys.js +12 -0
  1192. package/dist/plugs/menus/settings/keys.js.map +1 -0
  1193. package/dist/plugs/menus/settings/locked.cjs +53 -0
  1194. package/dist/plugs/menus/settings/locked.cjs.map +1 -0
  1195. package/dist/plugs/menus/settings/locked.js +8 -0
  1196. package/dist/plugs/menus/settings/locked.js.map +1 -0
  1197. package/dist/plugs/menus/settings/metadata.cjs +202 -0
  1198. package/dist/plugs/menus/settings/metadata.cjs.map +1 -0
  1199. package/dist/plugs/menus/settings/metadata.js +13 -0
  1200. package/dist/plugs/menus/settings/metadata.js.map +1 -0
  1201. package/dist/plugs/menus/settings/modes.cjs +238 -0
  1202. package/dist/plugs/menus/settings/modes.cjs.map +1 -0
  1203. package/dist/plugs/menus/settings/modes.js +12 -0
  1204. package/dist/plugs/menus/settings/modes.js.map +1 -0
  1205. package/dist/plugs/menus/settings/objectFit.cjs +45 -0
  1206. package/dist/plugs/menus/settings/objectFit.cjs.map +1 -0
  1207. package/dist/plugs/menus/settings/objectFit.js +8 -0
  1208. package/dist/plugs/menus/settings/objectFit.js.map +1 -0
  1209. package/dist/plugs/menus/settings/overlay.cjs +112 -0
  1210. package/dist/plugs/menus/settings/overlay.cjs.map +1 -0
  1211. package/dist/plugs/menus/settings/overlay.js +12 -0
  1212. package/dist/plugs/menus/settings/overlay.js.map +1 -0
  1213. package/dist/plugs/menus/settings/persist.cjs +73 -0
  1214. package/dist/plugs/menus/settings/persist.cjs.map +1 -0
  1215. package/dist/plugs/menus/settings/persist.js +8 -0
  1216. package/dist/plugs/menus/settings/persist.js.map +1 -0
  1217. package/dist/plugs/menus/settings/playbackRate.cjs +119 -0
  1218. package/dist/plugs/menus/settings/playbackRate.cjs.map +1 -0
  1219. package/dist/plugs/menus/settings/playbackRate.js +12 -0
  1220. package/dist/plugs/menus/settings/playbackRate.js.map +1 -0
  1221. package/dist/plugs/menus/settings/poster.cjs +53 -0
  1222. package/dist/plugs/menus/settings/poster.cjs.map +1 -0
  1223. package/dist/plugs/menus/settings/poster.js +8 -0
  1224. package/dist/plugs/menus/settings/poster.js.map +1 -0
  1225. package/dist/plugs/menus/settings/settingsView.cjs +79 -0
  1226. package/dist/plugs/menus/settings/settingsView.cjs.map +1 -0
  1227. package/dist/plugs/menus/settings/settingsView.js +8 -0
  1228. package/dist/plugs/menus/settings/settingsView.js.map +1 -0
  1229. package/dist/plugs/menus/settings/sleepTimer.cjs +89 -0
  1230. package/dist/plugs/menus/settings/sleepTimer.cjs.map +1 -0
  1231. package/dist/plugs/menus/settings/sleepTimer.js +10 -0
  1232. package/dist/plugs/menus/settings/sleepTimer.js.map +1 -0
  1233. package/dist/plugs/menus/settings/time.cjs +48 -0
  1234. package/dist/plugs/menus/settings/time.cjs.map +1 -0
  1235. package/dist/plugs/menus/settings/time.js +8 -0
  1236. package/dist/plugs/menus/settings/time.js.map +1 -0
  1237. package/dist/plugs/menus/settings/timeTravel.cjs +133 -0
  1238. package/dist/plugs/menus/settings/timeTravel.cjs.map +1 -0
  1239. package/dist/plugs/menus/settings/timeTravel.js +11 -0
  1240. package/dist/plugs/menus/settings/timeTravel.js.map +1 -0
  1241. package/dist/plugs/menus/settings/toasts.cjs +232 -0
  1242. package/dist/plugs/menus/settings/toasts.cjs.map +1 -0
  1243. package/dist/plugs/menus/settings/toasts.js +18 -0
  1244. package/dist/plugs/menus/settings/toasts.js.map +1 -0
  1245. package/dist/plugs/menus/settings/voice.cjs +216 -0
  1246. package/dist/plugs/menus/settings/voice.cjs.map +1 -0
  1247. package/dist/plugs/menus/settings/voice.js +12 -0
  1248. package/dist/plugs/menus/settings/voice.js.map +1 -0
  1249. package/dist/plugs/menus/settings/volume.cjs +45 -0
  1250. package/dist/plugs/menus/settings/volume.cjs.map +1 -0
  1251. package/dist/plugs/menus/settings/volume.js +8 -0
  1252. package/dist/plugs/menus/settings/volume.js.map +1 -0
  1253. package/dist/plugs/menus/z-register.cjs +3212 -0
  1254. package/dist/plugs/menus/z-register.cjs.map +1 -0
  1255. package/dist/plugs/menus/z-register.js +48 -0
  1256. package/dist/plugs/menus/z-register.js.map +1 -0
  1257. package/dist/plugs/settings/airplay/build.cjs +27 -0
  1258. package/dist/plugs/settings/airplay/build.cjs.map +1 -0
  1259. package/dist/plugs/settings/airplay/build.js +8 -0
  1260. package/dist/plugs/settings/airplay/build.js.map +1 -0
  1261. package/dist/plugs/settings/airplay/index.cjs +416 -0
  1262. package/dist/plugs/settings/airplay/index.cjs.map +1 -0
  1263. package/dist/plugs/settings/airplay/index.js +19 -0
  1264. package/dist/plugs/settings/airplay/index.js.map +1 -0
  1265. package/dist/plugs/settings/ambience/build.cjs +33 -0
  1266. package/dist/plugs/settings/ambience/build.cjs.map +1 -0
  1267. package/dist/plugs/settings/ambience/build.js +8 -0
  1268. package/dist/plugs/settings/ambience/build.js.map +1 -0
  1269. package/dist/plugs/settings/ambience/index.cjs +464 -0
  1270. package/dist/plugs/settings/ambience/index.cjs.map +1 -0
  1271. package/dist/plugs/settings/ambience/index.js +24 -0
  1272. package/dist/plugs/settings/ambience/index.js.map +1 -0
  1273. package/dist/plugs/settings/ambience/types.cjs +19 -0
  1274. package/dist/plugs/settings/ambience/types.cjs.map +1 -0
  1275. package/dist/plugs/settings/ambience/types.js +1 -0
  1276. package/dist/plugs/settings/ambience/types.js.map +1 -0
  1277. package/dist/plugs/settings/auto/build.cjs +76 -0
  1278. package/dist/plugs/settings/auto/build.cjs.map +1 -0
  1279. package/dist/plugs/settings/auto/build.js +13 -0
  1280. package/dist/plugs/settings/auto/build.js.map +1 -0
  1281. package/dist/plugs/settings/auto/index.cjs +533 -0
  1282. package/dist/plugs/settings/auto/index.cjs.map +1 -0
  1283. package/dist/plugs/settings/auto/index.js +30 -0
  1284. package/dist/plugs/settings/auto/index.js.map +1 -0
  1285. package/dist/plugs/settings/auto/types.cjs +19 -0
  1286. package/dist/plugs/settings/auto/types.cjs.map +1 -0
  1287. package/dist/plugs/settings/auto/types.js +1 -0
  1288. package/dist/plugs/settings/auto/types.js.map +1 -0
  1289. package/dist/plugs/settings/brightness/build.cjs +31 -0
  1290. package/dist/plugs/settings/brightness/build.cjs.map +1 -0
  1291. package/dist/plugs/settings/brightness/build.js +8 -0
  1292. package/dist/plugs/settings/brightness/build.js.map +1 -0
  1293. package/dist/plugs/settings/brightness/index.cjs +522 -0
  1294. package/dist/plugs/settings/brightness/index.cjs.map +1 -0
  1295. package/dist/plugs/settings/brightness/index.js +24 -0
  1296. package/dist/plugs/settings/brightness/index.js.map +1 -0
  1297. package/dist/plugs/settings/brightness/types.cjs +19 -0
  1298. package/dist/plugs/settings/brightness/types.cjs.map +1 -0
  1299. package/dist/plugs/settings/brightness/types.js +1 -0
  1300. package/dist/plugs/settings/brightness/types.js.map +1 -0
  1301. package/dist/plugs/settings/captions/build.cjs +184 -0
  1302. package/dist/plugs/settings/captions/build.cjs.map +1 -0
  1303. package/dist/plugs/settings/captions/build.js +12 -0
  1304. package/dist/plugs/settings/captions/build.js.map +1 -0
  1305. package/dist/plugs/settings/captions/index.cjs +793 -0
  1306. package/dist/plugs/settings/captions/index.cjs.map +1 -0
  1307. package/dist/plugs/settings/captions/index.js +32 -0
  1308. package/dist/plugs/settings/captions/index.js.map +1 -0
  1309. package/dist/plugs/settings/captions/types.cjs +19 -0
  1310. package/dist/plugs/settings/captions/types.cjs.map +1 -0
  1311. package/dist/plugs/settings/captions/types.js +1 -0
  1312. package/dist/plugs/settings/captions/types.js.map +1 -0
  1313. package/dist/plugs/settings/cast/build.cjs +27 -0
  1314. package/dist/plugs/settings/cast/build.cjs.map +1 -0
  1315. package/dist/plugs/settings/cast/build.js +8 -0
  1316. package/dist/plugs/settings/cast/build.js.map +1 -0
  1317. package/dist/plugs/settings/cast/index.cjs +644 -0
  1318. package/dist/plugs/settings/cast/index.cjs.map +1 -0
  1319. package/dist/plugs/settings/cast/index.js +24 -0
  1320. package/dist/plugs/settings/cast/index.js.map +1 -0
  1321. package/dist/plugs/settings/cast/types.cjs +19 -0
  1322. package/dist/plugs/settings/cast/types.cjs.map +1 -0
  1323. package/dist/plugs/settings/cast/types.js +1 -0
  1324. package/dist/plugs/settings/cast/types.js.map +1 -0
  1325. package/dist/plugs/settings/controlPanel/build.cjs +144 -0
  1326. package/dist/plugs/settings/controlPanel/build.cjs.map +1 -0
  1327. package/dist/plugs/settings/controlPanel/build.js +17 -0
  1328. package/dist/plugs/settings/controlPanel/build.js.map +1 -0
  1329. package/dist/plugs/settings/controlPanel/draggable.cjs +1021 -0
  1330. package/dist/plugs/settings/controlPanel/draggable.cjs.map +1 -0
  1331. package/dist/plugs/settings/controlPanel/draggable.js +24 -0
  1332. package/dist/plugs/settings/controlPanel/draggable.js.map +1 -0
  1333. package/dist/plugs/settings/controlPanel/index.cjs +1031 -0
  1334. package/dist/plugs/settings/controlPanel/index.cjs.map +1 -0
  1335. package/dist/plugs/settings/controlPanel/index.js +37 -0
  1336. package/dist/plugs/settings/controlPanel/index.js.map +1 -0
  1337. package/dist/plugs/settings/controlPanel/types.cjs +19 -0
  1338. package/dist/plugs/settings/controlPanel/types.cjs.map +1 -0
  1339. package/dist/plugs/settings/controlPanel/types.js +1 -0
  1340. package/dist/plugs/settings/controlPanel/types.js.map +1 -0
  1341. package/dist/plugs/settings/css/build.cjs +29 -0
  1342. package/dist/plugs/settings/css/build.cjs.map +1 -0
  1343. package/dist/plugs/settings/css/build.js +8 -0
  1344. package/dist/plugs/settings/css/build.js.map +1 -0
  1345. package/dist/plugs/settings/css/index.cjs +444 -0
  1346. package/dist/plugs/settings/css/index.cjs.map +1 -0
  1347. package/dist/plugs/settings/css/index.js +22 -0
  1348. package/dist/plugs/settings/css/index.js.map +1 -0
  1349. package/dist/plugs/settings/css/types.cjs +19 -0
  1350. package/dist/plugs/settings/css/types.cjs.map +1 -0
  1351. package/dist/plugs/settings/css/types.js +1 -0
  1352. package/dist/plugs/settings/css/types.js.map +1 -0
  1353. package/dist/plugs/settings/errors/build.cjs +45 -0
  1354. package/dist/plugs/settings/errors/build.cjs.map +1 -0
  1355. package/dist/plugs/settings/errors/build.js +10 -0
  1356. package/dist/plugs/settings/errors/build.js.map +1 -0
  1357. package/dist/plugs/settings/errors/index.cjs +417 -0
  1358. package/dist/plugs/settings/errors/index.cjs.map +1 -0
  1359. package/dist/plugs/settings/errors/index.js +24 -0
  1360. package/dist/plugs/settings/errors/index.js.map +1 -0
  1361. package/dist/plugs/settings/errors/types.cjs +19 -0
  1362. package/dist/plugs/settings/errors/types.cjs.map +1 -0
  1363. package/dist/plugs/settings/errors/types.js +1 -0
  1364. package/dist/plugs/settings/errors/types.js.map +1 -0
  1365. package/dist/plugs/settings/fastPlay/build.cjs +46 -0
  1366. package/dist/plugs/settings/fastPlay/build.cjs.map +1 -0
  1367. package/dist/plugs/settings/fastPlay/build.js +8 -0
  1368. package/dist/plugs/settings/fastPlay/build.js.map +1 -0
  1369. package/dist/plugs/settings/fastPlay/index.cjs +510 -0
  1370. package/dist/plugs/settings/fastPlay/index.cjs.map +1 -0
  1371. package/dist/plugs/settings/fastPlay/index.js +23 -0
  1372. package/dist/plugs/settings/fastPlay/index.js.map +1 -0
  1373. package/dist/plugs/settings/fastPlay/types.cjs +19 -0
  1374. package/dist/plugs/settings/fastPlay/types.cjs.map +1 -0
  1375. package/dist/plugs/settings/fastPlay/types.js +1 -0
  1376. package/dist/plugs/settings/fastPlay/types.js.map +1 -0
  1377. package/dist/plugs/settings/frame/build.cjs +31 -0
  1378. package/dist/plugs/settings/frame/build.cjs.map +1 -0
  1379. package/dist/plugs/settings/frame/build.js +8 -0
  1380. package/dist/plugs/settings/frame/build.js.map +1 -0
  1381. package/dist/plugs/settings/frame/index.cjs +542 -0
  1382. package/dist/plugs/settings/frame/index.cjs.map +1 -0
  1383. package/dist/plugs/settings/frame/index.js +29 -0
  1384. package/dist/plugs/settings/frame/index.js.map +1 -0
  1385. package/dist/plugs/settings/frame/types.cjs +19 -0
  1386. package/dist/plugs/settings/frame/types.cjs.map +1 -0
  1387. package/dist/plugs/settings/frame/types.js +1 -0
  1388. package/dist/plugs/settings/frame/types.js.map +1 -0
  1389. package/dist/plugs/settings/gesture/base.cjs +187 -0
  1390. package/dist/plugs/settings/gesture/base.cjs.map +1 -0
  1391. package/dist/plugs/settings/gesture/base.js +24 -0
  1392. package/dist/plugs/settings/gesture/base.js.map +1 -0
  1393. package/dist/plugs/settings/gesture/build.cjs +116 -0
  1394. package/dist/plugs/settings/gesture/build.cjs.map +1 -0
  1395. package/dist/plugs/settings/gesture/build.js +13 -0
  1396. package/dist/plugs/settings/gesture/build.js.map +1 -0
  1397. package/dist/plugs/settings/gesture/index.cjs +877 -0
  1398. package/dist/plugs/settings/gesture/index.cjs.map +1 -0
  1399. package/dist/plugs/settings/gesture/index.js +38 -0
  1400. package/dist/plugs/settings/gesture/index.js.map +1 -0
  1401. package/dist/plugs/settings/gesture/touch.cjs +784 -0
  1402. package/dist/plugs/settings/gesture/touch.cjs.map +1 -0
  1403. package/dist/plugs/settings/gesture/touch.js +27 -0
  1404. package/dist/plugs/settings/gesture/touch.js.map +1 -0
  1405. package/dist/plugs/settings/gesture/types.cjs +19 -0
  1406. package/dist/plugs/settings/gesture/types.cjs.map +1 -0
  1407. package/dist/plugs/settings/gesture/types.js +1 -0
  1408. package/dist/plugs/settings/gesture/types.js.map +1 -0
  1409. package/dist/plugs/settings/gesture/wheel.cjs +757 -0
  1410. package/dist/plugs/settings/gesture/wheel.cjs.map +1 -0
  1411. package/dist/plugs/settings/gesture/wheel.js +27 -0
  1412. package/dist/plugs/settings/gesture/wheel.js.map +1 -0
  1413. package/dist/plugs/settings/keys/build.cjs +117 -0
  1414. package/dist/plugs/settings/keys/build.cjs.map +1 -0
  1415. package/dist/plugs/settings/keys/build.js +13 -0
  1416. package/dist/plugs/settings/keys/build.js.map +1 -0
  1417. package/dist/plugs/settings/keys/index.cjs +612 -0
  1418. package/dist/plugs/settings/keys/index.cjs.map +1 -0
  1419. package/dist/plugs/settings/keys/index.js +34 -0
  1420. package/dist/plugs/settings/keys/index.js.map +1 -0
  1421. package/dist/plugs/settings/keys/types.cjs +19 -0
  1422. package/dist/plugs/settings/keys/types.cjs.map +1 -0
  1423. package/dist/plugs/settings/keys/types.js +1 -0
  1424. package/dist/plugs/settings/keys/types.js.map +1 -0
  1425. package/dist/plugs/settings/locked/build.cjs +92 -0
  1426. package/dist/plugs/settings/locked/build.cjs.map +1 -0
  1427. package/dist/plugs/settings/locked/build.js +9 -0
  1428. package/dist/plugs/settings/locked/build.js.map +1 -0
  1429. package/dist/plugs/settings/locked/index.cjs +532 -0
  1430. package/dist/plugs/settings/locked/index.cjs.map +1 -0
  1431. package/dist/plugs/settings/locked/index.js +25 -0
  1432. package/dist/plugs/settings/locked/index.js.map +1 -0
  1433. package/dist/plugs/settings/locked/types.cjs +19 -0
  1434. package/dist/plugs/settings/locked/types.cjs.map +1 -0
  1435. package/dist/plugs/settings/locked/types.js +1 -0
  1436. package/dist/plugs/settings/locked/types.js.map +1 -0
  1437. package/dist/plugs/settings/metadata/build.cjs +29 -0
  1438. package/dist/plugs/settings/metadata/build.cjs.map +1 -0
  1439. package/dist/plugs/settings/metadata/build.js +8 -0
  1440. package/dist/plugs/settings/metadata/build.js.map +1 -0
  1441. package/dist/plugs/settings/metadata/index.cjs +455 -0
  1442. package/dist/plugs/settings/metadata/index.cjs.map +1 -0
  1443. package/dist/plugs/settings/metadata/index.js +24 -0
  1444. package/dist/plugs/settings/metadata/index.js.map +1 -0
  1445. package/dist/plugs/settings/metadata/types.cjs +19 -0
  1446. package/dist/plugs/settings/metadata/types.cjs.map +1 -0
  1447. package/dist/plugs/settings/metadata/types.js +1 -0
  1448. package/dist/plugs/settings/metadata/types.js.map +1 -0
  1449. package/dist/plugs/settings/modes/build.cjs +162 -0
  1450. package/dist/plugs/settings/modes/build.cjs.map +1 -0
  1451. package/dist/plugs/settings/modes/build.js +22 -0
  1452. package/dist/plugs/settings/modes/build.js.map +1 -0
  1453. package/dist/plugs/settings/modes/fullscreen.cjs +625 -0
  1454. package/dist/plugs/settings/modes/fullscreen.cjs.map +1 -0
  1455. package/dist/plugs/settings/modes/fullscreen.js +30 -0
  1456. package/dist/plugs/settings/modes/fullscreen.js.map +1 -0
  1457. package/dist/plugs/settings/modes/index.cjs +1031 -0
  1458. package/dist/plugs/settings/modes/index.cjs.map +1 -0
  1459. package/dist/plugs/settings/modes/index.js +51 -0
  1460. package/dist/plugs/settings/modes/index.js.map +1 -0
  1461. package/dist/plugs/settings/modes/miniplayer.cjs +618 -0
  1462. package/dist/plugs/settings/modes/miniplayer.cjs.map +1 -0
  1463. package/dist/plugs/settings/modes/miniplayer.js +30 -0
  1464. package/dist/plugs/settings/modes/miniplayer.js.map +1 -0
  1465. package/dist/plugs/settings/modes/pictureInPicture.cjs +704 -0
  1466. package/dist/plugs/settings/modes/pictureInPicture.cjs.map +1 -0
  1467. package/dist/plugs/settings/modes/pictureInPicture.js +30 -0
  1468. package/dist/plugs/settings/modes/pictureInPicture.js.map +1 -0
  1469. package/dist/plugs/settings/modes/theater.cjs +557 -0
  1470. package/dist/plugs/settings/modes/theater.cjs.map +1 -0
  1471. package/dist/plugs/settings/modes/theater.js +30 -0
  1472. package/dist/plugs/settings/modes/theater.js.map +1 -0
  1473. package/dist/plugs/settings/modes/types.cjs +19 -0
  1474. package/dist/plugs/settings/modes/types.cjs.map +1 -0
  1475. package/dist/plugs/settings/modes/types.js +1 -0
  1476. package/dist/plugs/settings/modes/types.js.map +1 -0
  1477. package/dist/plugs/settings/notifiers/build.cjs +30 -0
  1478. package/dist/plugs/settings/notifiers/build.cjs.map +1 -0
  1479. package/dist/plugs/settings/notifiers/build.js +8 -0
  1480. package/dist/plugs/settings/notifiers/build.js.map +1 -0
  1481. package/dist/plugs/settings/notifiers/index.cjs +451 -0
  1482. package/dist/plugs/settings/notifiers/index.cjs.map +1 -0
  1483. package/dist/plugs/settings/notifiers/index.js +24 -0
  1484. package/dist/plugs/settings/notifiers/index.js.map +1 -0
  1485. package/dist/plugs/settings/notifiers/types.cjs +19 -0
  1486. package/dist/plugs/settings/notifiers/types.cjs.map +1 -0
  1487. package/dist/plugs/settings/notifiers/types.js +1 -0
  1488. package/dist/plugs/settings/notifiers/types.js.map +1 -0
  1489. package/dist/plugs/settings/objectFit/build.cjs +35 -0
  1490. package/dist/plugs/settings/objectFit/build.cjs.map +1 -0
  1491. package/dist/plugs/settings/objectFit/build.js +10 -0
  1492. package/dist/plugs/settings/objectFit/build.js.map +1 -0
  1493. package/dist/plugs/settings/objectFit/index.cjs +514 -0
  1494. package/dist/plugs/settings/objectFit/index.cjs.map +1 -0
  1495. package/dist/plugs/settings/objectFit/index.js +30 -0
  1496. package/dist/plugs/settings/objectFit/index.js.map +1 -0
  1497. package/dist/plugs/settings/objectFit/types.cjs +19 -0
  1498. package/dist/plugs/settings/objectFit/types.cjs.map +1 -0
  1499. package/dist/plugs/settings/objectFit/types.js +1 -0
  1500. package/dist/plugs/settings/objectFit/types.js.map +1 -0
  1501. package/dist/plugs/settings/overlay/build.cjs +46 -0
  1502. package/dist/plugs/settings/overlay/build.cjs.map +1 -0
  1503. package/dist/plugs/settings/overlay/build.js +8 -0
  1504. package/dist/plugs/settings/overlay/build.js.map +1 -0
  1505. package/dist/plugs/settings/overlay/index.cjs +502 -0
  1506. package/dist/plugs/settings/overlay/index.cjs.map +1 -0
  1507. package/dist/plugs/settings/overlay/index.js +24 -0
  1508. package/dist/plugs/settings/overlay/index.js.map +1 -0
  1509. package/dist/plugs/settings/overlay/types.cjs +19 -0
  1510. package/dist/plugs/settings/overlay/types.cjs.map +1 -0
  1511. package/dist/plugs/settings/overlay/types.js +1 -0
  1512. package/dist/plugs/settings/overlay/types.js.map +1 -0
  1513. package/dist/plugs/settings/persist/build.cjs +41 -0
  1514. package/dist/plugs/settings/persist/build.cjs.map +1 -0
  1515. package/dist/plugs/settings/persist/build.js +8 -0
  1516. package/dist/plugs/settings/persist/build.js.map +1 -0
  1517. package/dist/plugs/settings/persist/index.cjs +413 -0
  1518. package/dist/plugs/settings/persist/index.cjs.map +1 -0
  1519. package/dist/plugs/settings/persist/index.js +22 -0
  1520. package/dist/plugs/settings/persist/index.js.map +1 -0
  1521. package/dist/plugs/settings/persist/types.cjs +19 -0
  1522. package/dist/plugs/settings/persist/types.cjs.map +1 -0
  1523. package/dist/plugs/settings/persist/types.js +1 -0
  1524. package/dist/plugs/settings/persist/types.js.map +1 -0
  1525. package/dist/plugs/settings/playbackRate/build.cjs +32 -0
  1526. package/dist/plugs/settings/playbackRate/build.cjs.map +1 -0
  1527. package/dist/plugs/settings/playbackRate/build.js +8 -0
  1528. package/dist/plugs/settings/playbackRate/build.js.map +1 -0
  1529. package/dist/plugs/settings/playbackRate/index.cjs +448 -0
  1530. package/dist/plugs/settings/playbackRate/index.cjs.map +1 -0
  1531. package/dist/plugs/settings/playbackRate/index.js +23 -0
  1532. package/dist/plugs/settings/playbackRate/index.js.map +1 -0
  1533. package/dist/plugs/settings/playbackRate/types.cjs +19 -0
  1534. package/dist/plugs/settings/playbackRate/types.cjs.map +1 -0
  1535. package/dist/plugs/settings/playbackRate/types.js +1 -0
  1536. package/dist/plugs/settings/playbackRate/types.js.map +1 -0
  1537. package/dist/plugs/settings/poster/build.cjs +29 -0
  1538. package/dist/plugs/settings/poster/build.cjs.map +1 -0
  1539. package/dist/plugs/settings/poster/build.js +8 -0
  1540. package/dist/plugs/settings/poster/build.js.map +1 -0
  1541. package/dist/plugs/settings/poster/index.cjs +435 -0
  1542. package/dist/plugs/settings/poster/index.cjs.map +1 -0
  1543. package/dist/plugs/settings/poster/index.js +24 -0
  1544. package/dist/plugs/settings/poster/index.js.map +1 -0
  1545. package/dist/plugs/settings/poster/types.cjs +19 -0
  1546. package/dist/plugs/settings/poster/types.cjs.map +1 -0
  1547. package/dist/plugs/settings/poster/types.js +1 -0
  1548. package/dist/plugs/settings/poster/types.js.map +1 -0
  1549. package/dist/plugs/settings/settingsView/build.cjs +35 -0
  1550. package/dist/plugs/settings/settingsView/build.cjs.map +1 -0
  1551. package/dist/plugs/settings/settingsView/build.js +8 -0
  1552. package/dist/plugs/settings/settingsView/build.js.map +1 -0
  1553. package/dist/plugs/settings/settingsView/index.cjs +1369 -0
  1554. package/dist/plugs/settings/settingsView/index.cjs.map +1 -0
  1555. package/dist/plugs/settings/settingsView/index.js +42 -0
  1556. package/dist/plugs/settings/settingsView/index.js.map +1 -0
  1557. package/dist/plugs/settings/settingsView/menu/index.cjs +1164 -0
  1558. package/dist/plugs/settings/settingsView/menu/index.cjs.map +1 -0
  1559. package/dist/plugs/settings/settingsView/menu/index.js +36 -0
  1560. package/dist/plugs/settings/settingsView/menu/index.js.map +1 -0
  1561. package/dist/plugs/settings/settingsView/menu/panel/index.cjs +144 -0
  1562. package/dist/plugs/settings/settingsView/menu/panel/index.cjs.map +1 -0
  1563. package/dist/plugs/settings/settingsView/menu/panel/index.js +16 -0
  1564. package/dist/plugs/settings/settingsView/menu/panel/index.js.map +1 -0
  1565. package/dist/plugs/settings/settingsView/menu/panel/main.cjs +524 -0
  1566. package/dist/plugs/settings/settingsView/menu/panel/main.cjs.map +1 -0
  1567. package/dist/plugs/settings/settingsView/menu/panel/main.js +33 -0
  1568. package/dist/plugs/settings/settingsView/menu/panel/main.js.map +1 -0
  1569. package/dist/plugs/settings/settingsView/menu/panel/sub.cjs +617 -0
  1570. package/dist/plugs/settings/settingsView/menu/panel/sub.cjs.map +1 -0
  1571. package/dist/plugs/settings/settingsView/menu/panel/sub.js +33 -0
  1572. package/dist/plugs/settings/settingsView/menu/panel/sub.js.map +1 -0
  1573. package/dist/plugs/settings/settingsView/menu/widgets/base.cjs +357 -0
  1574. package/dist/plugs/settings/settingsView/menu/widgets/base.cjs.map +1 -0
  1575. package/dist/plugs/settings/settingsView/menu/widgets/base.js +19 -0
  1576. package/dist/plugs/settings/settingsView/menu/widgets/base.js.map +1 -0
  1577. package/dist/plugs/settings/settingsView/menu/widgets/button.cjs +392 -0
  1578. package/dist/plugs/settings/settingsView/menu/widgets/button.cjs.map +1 -0
  1579. package/dist/plugs/settings/settingsView/menu/widgets/button.js +20 -0
  1580. package/dist/plugs/settings/settingsView/menu/widgets/button.js.map +1 -0
  1581. package/dist/plugs/settings/settingsView/menu/widgets/color.cjs +498 -0
  1582. package/dist/plugs/settings/settingsView/menu/widgets/color.cjs.map +1 -0
  1583. package/dist/plugs/settings/settingsView/menu/widgets/color.js +31 -0
  1584. package/dist/plugs/settings/settingsView/menu/widgets/color.js.map +1 -0
  1585. package/dist/plugs/settings/settingsView/menu/widgets/dragselect.cjs +563 -0
  1586. package/dist/plugs/settings/settingsView/menu/widgets/dragselect.cjs.map +1 -0
  1587. package/dist/plugs/settings/settingsView/menu/widgets/dragselect.js +31 -0
  1588. package/dist/plugs/settings/settingsView/menu/widgets/dragselect.js.map +1 -0
  1589. package/dist/plugs/settings/settingsView/menu/widgets/group.cjs +500 -0
  1590. package/dist/plugs/settings/settingsView/menu/widgets/group.cjs.map +1 -0
  1591. package/dist/plugs/settings/settingsView/menu/widgets/group.js +31 -0
  1592. package/dist/plugs/settings/settingsView/menu/widgets/group.js.map +1 -0
  1593. package/dist/plugs/settings/settingsView/menu/widgets/index.cjs +912 -0
  1594. package/dist/plugs/settings/settingsView/menu/widgets/index.cjs.map +1 -0
  1595. package/dist/plugs/settings/settingsView/menu/widgets/index.js +53 -0
  1596. package/dist/plugs/settings/settingsView/menu/widgets/index.js.map +1 -0
  1597. package/dist/plugs/settings/settingsView/menu/widgets/input.cjs +409 -0
  1598. package/dist/plugs/settings/settingsView/menu/widgets/input.cjs.map +1 -0
  1599. package/dist/plugs/settings/settingsView/menu/widgets/input.js +31 -0
  1600. package/dist/plugs/settings/settingsView/menu/widgets/input.js.map +1 -0
  1601. package/dist/plugs/settings/settingsView/menu/widgets/limits.cjs +411 -0
  1602. package/dist/plugs/settings/settingsView/menu/widgets/limits.cjs.map +1 -0
  1603. package/dist/plugs/settings/settingsView/menu/widgets/limits.js +31 -0
  1604. package/dist/plugs/settings/settingsView/menu/widgets/limits.js.map +1 -0
  1605. package/dist/plugs/settings/settingsView/menu/widgets/range.cjs +420 -0
  1606. package/dist/plugs/settings/settingsView/menu/widgets/range.cjs.map +1 -0
  1607. package/dist/plugs/settings/settingsView/menu/widgets/range.js +31 -0
  1608. package/dist/plugs/settings/settingsView/menu/widgets/range.js.map +1 -0
  1609. package/dist/plugs/settings/settingsView/menu/widgets/select.cjs +490 -0
  1610. package/dist/plugs/settings/settingsView/menu/widgets/select.cjs.map +1 -0
  1611. package/dist/plugs/settings/settingsView/menu/widgets/select.js +31 -0
  1612. package/dist/plugs/settings/settingsView/menu/widgets/select.js.map +1 -0
  1613. package/dist/plugs/settings/settingsView/menu/widgets/toggle.cjs +401 -0
  1614. package/dist/plugs/settings/settingsView/menu/widgets/toggle.cjs.map +1 -0
  1615. package/dist/plugs/settings/settingsView/menu/widgets/toggle.js +31 -0
  1616. package/dist/plugs/settings/settingsView/menu/widgets/toggle.js.map +1 -0
  1617. package/dist/plugs/settings/settingsView/types.cjs +19 -0
  1618. package/dist/plugs/settings/settingsView/types.cjs.map +1 -0
  1619. package/dist/plugs/settings/settingsView/types.js +1 -0
  1620. package/dist/plugs/settings/settingsView/types.js.map +1 -0
  1621. package/dist/plugs/settings/sleepTimer/build.cjs +29 -0
  1622. package/dist/plugs/settings/sleepTimer/build.cjs.map +1 -0
  1623. package/dist/plugs/settings/sleepTimer/build.js +8 -0
  1624. package/dist/plugs/settings/sleepTimer/build.js.map +1 -0
  1625. package/dist/plugs/settings/sleepTimer/index.cjs +431 -0
  1626. package/dist/plugs/settings/sleepTimer/index.cjs.map +1 -0
  1627. package/dist/plugs/settings/sleepTimer/index.js +24 -0
  1628. package/dist/plugs/settings/sleepTimer/index.js.map +1 -0
  1629. package/dist/plugs/settings/sleepTimer/types.cjs +19 -0
  1630. package/dist/plugs/settings/sleepTimer/types.cjs.map +1 -0
  1631. package/dist/plugs/settings/sleepTimer/types.js +2 -0
  1632. package/dist/plugs/settings/sleepTimer/types.js.map +1 -0
  1633. package/dist/plugs/settings/time/build.cjs +32 -0
  1634. package/dist/plugs/settings/time/build.cjs.map +1 -0
  1635. package/dist/plugs/settings/time/build.js +8 -0
  1636. package/dist/plugs/settings/time/build.js.map +1 -0
  1637. package/dist/plugs/settings/time/index.cjs +604 -0
  1638. package/dist/plugs/settings/time/index.cjs.map +1 -0
  1639. package/dist/plugs/settings/time/index.js +29 -0
  1640. package/dist/plugs/settings/time/index.js.map +1 -0
  1641. package/dist/plugs/settings/time/types.cjs +19 -0
  1642. package/dist/plugs/settings/time/types.cjs.map +1 -0
  1643. package/dist/plugs/settings/time/types.js +1 -0
  1644. package/dist/plugs/settings/time/types.js.map +1 -0
  1645. package/dist/plugs/settings/timeTravel/build.cjs +36 -0
  1646. package/dist/plugs/settings/timeTravel/build.cjs.map +1 -0
  1647. package/dist/plugs/settings/timeTravel/build.js +8 -0
  1648. package/dist/plugs/settings/timeTravel/build.js.map +1 -0
  1649. package/dist/plugs/settings/timeTravel/index.cjs +461 -0
  1650. package/dist/plugs/settings/timeTravel/index.cjs.map +1 -0
  1651. package/dist/plugs/settings/timeTravel/index.js +33 -0
  1652. package/dist/plugs/settings/timeTravel/index.js.map +1 -0
  1653. package/dist/plugs/settings/timeTravel/types.cjs +19 -0
  1654. package/dist/plugs/settings/timeTravel/types.cjs.map +1 -0
  1655. package/dist/plugs/settings/timeTravel/types.js +1 -0
  1656. package/dist/plugs/settings/timeTravel/types.js.map +1 -0
  1657. package/dist/plugs/settings/toasts/build.cjs +35 -0
  1658. package/dist/plugs/settings/toasts/build.cjs.map +1 -0
  1659. package/dist/plugs/settings/toasts/build.js +8 -0
  1660. package/dist/plugs/settings/toasts/build.js.map +1 -0
  1661. package/dist/plugs/settings/toasts/index.cjs +450 -0
  1662. package/dist/plugs/settings/toasts/index.cjs.map +1 -0
  1663. package/dist/plugs/settings/toasts/index.js +26 -0
  1664. package/dist/plugs/settings/toasts/index.js.map +1 -0
  1665. package/dist/plugs/settings/toasts/types.cjs +19 -0
  1666. package/dist/plugs/settings/toasts/types.cjs.map +1 -0
  1667. package/dist/plugs/settings/toasts/types.js +1 -0
  1668. package/dist/plugs/settings/toasts/types.js.map +1 -0
  1669. package/dist/plugs/settings/voice/build.cjs +81 -0
  1670. package/dist/plugs/settings/voice/build.cjs.map +1 -0
  1671. package/dist/plugs/settings/voice/build.js +8 -0
  1672. package/dist/plugs/settings/voice/build.js.map +1 -0
  1673. package/dist/plugs/settings/voice/index.cjs +757 -0
  1674. package/dist/plugs/settings/voice/index.cjs.map +1 -0
  1675. package/dist/plugs/settings/voice/index.js +26 -0
  1676. package/dist/plugs/settings/voice/index.js.map +1 -0
  1677. package/dist/plugs/settings/voice/types.cjs +19 -0
  1678. package/dist/plugs/settings/voice/types.cjs.map +1 -0
  1679. package/dist/plugs/settings/voice/types.js +1 -0
  1680. package/dist/plugs/settings/voice/types.js.map +1 -0
  1681. package/dist/plugs/settings/volume/build.cjs +31 -0
  1682. package/dist/plugs/settings/volume/build.cjs.map +1 -0
  1683. package/dist/plugs/settings/volume/build.js +8 -0
  1684. package/dist/plugs/settings/volume/build.js.map +1 -0
  1685. package/dist/plugs/settings/volume/index.cjs +592 -0
  1686. package/dist/plugs/settings/volume/index.cjs.map +1 -0
  1687. package/dist/plugs/settings/volume/index.js +34 -0
  1688. package/dist/plugs/settings/volume/index.js.map +1 -0
  1689. package/dist/plugs/settings/volume/types.cjs +19 -0
  1690. package/dist/plugs/settings/volume/types.cjs.map +1 -0
  1691. package/dist/plugs/settings/volume/types.js +1 -0
  1692. package/dist/plugs/settings/volume/types.js.map +1 -0
  1693. package/dist/plugs/z-register.cjs +5901 -0
  1694. package/dist/plugs/z-register.cjs.map +1 -0
  1695. package/dist/plugs/z-register.js +105 -0
  1696. package/dist/plugs/z-register.js.map +1 -0
  1697. package/dist/super/components/icons.cjs +630 -0
  1698. package/dist/super/components/icons.cjs.map +1 -0
  1699. package/dist/super/components/icons.js +248 -0
  1700. package/dist/super/components/icons.js.map +1 -0
  1701. package/dist/super/components/index.cjs +3111 -0
  1702. package/dist/super/components/index.cjs.map +1 -0
  1703. package/dist/super/components/index.js +498 -0
  1704. package/dist/super/components/index.js.map +1 -0
  1705. package/dist/super/components/notifiers.cjs +784 -0
  1706. package/dist/super/components/notifiers.cjs.map +1 -0
  1707. package/dist/super/components/notifiers.js +96 -0
  1708. package/dist/super/components/notifiers.js.map +1 -0
  1709. package/dist/super/consts.cjs +289 -0
  1710. package/dist/super/consts.cjs.map +1 -0
  1711. package/dist/super/consts.js +28 -0
  1712. package/dist/super/consts.js.map +1 -0
  1713. package/dist/super/plugs/index.cjs +5988 -0
  1714. package/dist/super/plugs/index.cjs.map +1 -0
  1715. package/dist/super/plugs/index.js +388 -0
  1716. package/dist/super/plugs/index.js.map +1 -0
  1717. package/dist/super/plugs/menus.cjs +2572 -0
  1718. package/dist/super/plugs/menus.cjs.map +1 -0
  1719. package/dist/super/plugs/menus.js +132 -0
  1720. package/dist/super/plugs/menus.js.map +1 -0
  1721. package/dist/super/techs.cjs +256 -0
  1722. package/dist/super/techs.cjs.map +1 -0
  1723. package/dist/super/techs.js +32 -0
  1724. package/dist/super/techs.js.map +1 -0
  1725. package/dist/super/utils.cjs +1379 -0
  1726. package/dist/super/utils.cjs.map +1 -0
  1727. package/dist/super/utils.js +400 -0
  1728. package/dist/super/utils.js.map +1 -0
  1729. package/dist/super.cjs +10191 -0
  1730. package/dist/super.cjs.map +1 -0
  1731. package/dist/super.css +3148 -0
  1732. package/dist/super.css.map +1 -0
  1733. package/dist/super.global.js +12460 -0
  1734. package/dist/super.global.js.map +1 -0
  1735. package/dist/super.js +380 -0
  1736. package/dist/super.js.map +1 -0
  1737. package/dist/techs/base.cjs +256 -0
  1738. package/dist/techs/base.cjs.map +1 -0
  1739. package/dist/techs/base.js +19 -0
  1740. package/dist/techs/base.js.map +1 -0
  1741. package/dist/techs/dash.cjs +1160 -0
  1742. package/dist/techs/dash.cjs.map +1 -0
  1743. package/dist/techs/dash.js +24 -0
  1744. package/dist/techs/dash.js.map +1 -0
  1745. package/dist/techs/hls.cjs +1164 -0
  1746. package/dist/techs/hls.cjs.map +1 -0
  1747. package/dist/techs/hls.js +24 -0
  1748. package/dist/techs/hls.js.map +1 -0
  1749. package/dist/techs/html5.cjs +988 -0
  1750. package/dist/techs/html5.cjs.map +1 -0
  1751. package/dist/techs/html5.js +23 -0
  1752. package/dist/techs/html5.js.map +1 -0
  1753. package/dist/techs/shaka.cjs +1183 -0
  1754. package/dist/techs/shaka.cjs.map +1 -0
  1755. package/dist/techs/shaka.js +197 -0
  1756. package/dist/techs/shaka.js.map +1 -0
  1757. package/dist/techs/vimeo.cjs +731 -0
  1758. package/dist/techs/vimeo.cjs.map +1 -0
  1759. package/dist/techs/vimeo.js +24 -0
  1760. package/dist/techs/vimeo.js.map +1 -0
  1761. package/dist/techs/youtube.cjs +730 -0
  1762. package/dist/techs/youtube.cjs.map +1 -0
  1763. package/dist/techs/youtube.js +22 -0
  1764. package/dist/techs/youtube.js.map +1 -0
  1765. package/dist/techs/z-register.cjs +2354 -0
  1766. package/dist/techs/z-register.cjs.map +1 -0
  1767. package/dist/techs/z-register.js +26 -0
  1768. package/dist/techs/z-register.js.map +1 -0
  1769. package/dist/tools/player.cjs +1804 -0
  1770. package/dist/tools/player.cjs.map +1 -0
  1771. package/dist/tools/player.js +29 -0
  1772. package/dist/tools/player.js.map +1 -0
  1773. package/dist/tools/queue.cjs +63 -0
  1774. package/dist/tools/queue.cjs.map +1 -0
  1775. package/dist/tools/queue.js +8 -0
  1776. package/dist/tools/queue.js.map +1 -0
  1777. package/dist/tools/runtime.cjs +1919 -0
  1778. package/dist/tools/runtime.cjs.map +1 -0
  1779. package/dist/tools/runtime.js +49 -0
  1780. package/dist/tools/runtime.js.map +1 -0
  1781. package/dist/types/UIOptions.d.cjs +19 -0
  1782. package/dist/types/UIOptions.d.cjs.map +1 -0
  1783. package/dist/types/UIOptions.d.js +1 -0
  1784. package/dist/types/UIOptions.d.js.map +1 -0
  1785. package/dist/types/actions.d.cjs +19 -0
  1786. package/dist/types/actions.d.cjs.map +1 -0
  1787. package/dist/types/actions.d.js +1 -0
  1788. package/dist/types/actions.d.js.map +1 -0
  1789. package/dist/types/config.d.cjs +19 -0
  1790. package/dist/types/config.d.cjs.map +1 -0
  1791. package/dist/types/config.d.js +1 -0
  1792. package/dist/types/config.d.js.map +1 -0
  1793. package/dist/types/contract.d.cjs +19 -0
  1794. package/dist/types/contract.d.cjs.map +1 -0
  1795. package/dist/types/contract.d.js +1 -0
  1796. package/dist/types/contract.d.js.map +1 -0
  1797. package/dist/types/generics.d.cjs +19 -0
  1798. package/dist/types/generics.d.cjs.map +1 -0
  1799. package/dist/types/generics.d.js +1 -0
  1800. package/dist/types/generics.d.js.map +1 -0
  1801. package/dist/types/global.d.cjs +22 -0
  1802. package/dist/types/global.d.cjs.map +1 -0
  1803. package/dist/types/global.d.js +2 -0
  1804. package/dist/types/global.d.js.map +1 -0
  1805. package/dist/types/registries.d.cjs +19 -0
  1806. package/dist/types/registries.d.cjs.map +1 -0
  1807. package/dist/types/registries.d.js +1 -0
  1808. package/dist/types/registries.d.js.map +1 -0
  1809. package/dist/utils/color.cjs +111 -0
  1810. package/dist/utils/color.cjs.map +1 -0
  1811. package/dist/utils/color.js +21 -0
  1812. package/dist/utils/color.js.map +1 -0
  1813. package/dist/utils/dom.cjs +269 -0
  1814. package/dist/utils/dom.cjs.map +1 -0
  1815. package/dist/utils/dom.js +58 -0
  1816. package/dist/utils/dom.js.map +1 -0
  1817. package/dist/utils/env.cjs +110 -0
  1818. package/dist/utils/env.cjs.map +1 -0
  1819. package/dist/utils/env.js +56 -0
  1820. package/dist/utils/env.js.map +1 -0
  1821. package/dist/utils/file.cjs +176 -0
  1822. package/dist/utils/file.cjs.map +1 -0
  1823. package/dist/utils/file.js +20 -0
  1824. package/dist/utils/file.js.map +1 -0
  1825. package/dist/utils/fn.cjs +133 -0
  1826. package/dist/utils/fn.cjs.map +1 -0
  1827. package/dist/utils/fn.js +41 -0
  1828. package/dist/utils/fn.js.map +1 -0
  1829. package/dist/utils/keys.cjs +66 -0
  1830. package/dist/utils/keys.cjs.map +1 -0
  1831. package/dist/utils/keys.js +28 -0
  1832. package/dist/utils/keys.js.map +1 -0
  1833. package/dist/utils/match.cjs +119 -0
  1834. package/dist/utils/match.cjs.map +1 -0
  1835. package/dist/utils/match.js +30 -0
  1836. package/dist/utils/match.js.map +1 -0
  1837. package/dist/utils/media.cjs +546 -0
  1838. package/dist/utils/media.cjs.map +1 -0
  1839. package/dist/utils/media.js +84 -0
  1840. package/dist/utils/media.js.map +1 -0
  1841. package/dist/utils/methd.cjs +50 -0
  1842. package/dist/utils/methd.cjs.map +1 -0
  1843. package/dist/utils/methd.js +15 -0
  1844. package/dist/utils/methd.js.map +1 -0
  1845. package/dist/utils/num.cjs +92 -0
  1846. package/dist/utils/num.cjs.map +1 -0
  1847. package/dist/utils/num.js +22 -0
  1848. package/dist/utils/num.js.map +1 -0
  1849. package/dist/utils/obj.cjs +204 -0
  1850. package/dist/utils/obj.cjs.map +1 -0
  1851. package/dist/utils/obj.js +58 -0
  1852. package/dist/utils/obj.js.map +1 -0
  1853. package/dist/utils/str.cjs +134 -0
  1854. package/dist/utils/str.cjs.map +1 -0
  1855. package/dist/utils/str.js +35 -0
  1856. package/dist/utils/str.js.map +1 -0
  1857. package/dist/utils/time.cjs +103 -0
  1858. package/dist/utils/time.cjs.map +1 -0
  1859. package/dist/utils/time.js +11 -0
  1860. package/dist/utils/time.js.map +1 -0
  1861. package/package.json +124 -0
@@ -0,0 +1,2345 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+
6
+ // src/ts/consts/config.ts
7
+ var import_sia_reactor = require("sia-reactor");
8
+
9
+ // src/ts/consts/actions.ts
10
+ var ACTIONS_BUILD = {
11
+ // --- Keyboard-only actions (no default voice triggers; path router covers voice) ---
12
+ playPause: { label: "Play / Pause" },
13
+ skipFwd: { label: "Skip Forward", notify: "fwd" },
14
+ skipBwd: { label: "Skip Back", notify: "bwd" },
15
+ volumeUp: { label: "Volume Up", notify: "volumeup" },
16
+ volumeDown: { label: "Volume Down", notify: "volumedown" },
17
+ brightnessUp: { label: "Brightness Up", notify: "brightnessup" },
18
+ brightnessDown: { label: "Brightness Down", notify: "brightnessdown" },
19
+ playbackRateUp: { label: "Playback Rate Up", notify: "playbackrateup" },
20
+ playbackRateDown: { label: "Playback Rate Down", notify: "playbackratedown" },
21
+ stepFwd: { label: "Step Forward", notify: "fwd" },
22
+ stepBwd: { label: "Step Back", notify: "bwd" },
23
+ prev: { label: "Previous", notify: "mediaprev" },
24
+ next: { label: "Next", notify: "medianext" },
25
+ captions: { label: "Captions", notify: "captions" },
26
+ captionsFontSizeUp: { label: "Captions: Font Size Up" },
27
+ captionsFontSizeDown: { label: "Captions: Font Size Down" },
28
+ captionsFontFamily: { label: "Captions: Font Family" },
29
+ captionsFontWeight: { label: "Captions: Font Weight" },
30
+ captionsFontVariant: { label: "Captions: Font Variant" },
31
+ captionsFontOpacity: { label: "Captions: Font Opacity" },
32
+ captionsBackgroundOpacity: { label: "Captions: Background Opacity" },
33
+ captionsWindowOpacity: { label: "Captions: Window Opacity" },
34
+ captionsCharacterEdgeStyle: { label: "Captions: Character Edge" },
35
+ captionsTextAlignment: { label: "Captions: Text Alignment" },
36
+ objectFit: { label: "Object Fit" },
37
+ capture: { label: "Capture Frame", notify: "capture" },
38
+ cast: { label: "Cast", notify: "cast" },
39
+ airplay: { label: "AirPlay", notify: "airplay" },
40
+ dark: { label: "Dark Mode" },
41
+ settings: { label: "Settings", zen: true },
42
+ // --- Logic-expressible actions (logic[] + keyboard, no default voice triggers) ---
43
+ mute: { label: "Mute", notify: "volumemuted" },
44
+ fullscreen: { label: "Fullscreen", notify: "fullscreen", logic: [{ path: "media.intent.fullscreen", op: "toggle" }] },
45
+ theater: { label: "Theater", notify: "theater", logic: [{ path: "media.intent.theater", op: "toggle" }] },
46
+ pictureInPicture: { label: "Picture in Picture", notify: "pictureinpicture", logic: [{ path: "media.intent.pictureInPicture", op: "toggle" }] },
47
+ timeFormat: { label: "Time Format" },
48
+ timeMode: { label: "Time Mode" },
49
+ // --- Compound (voice|time)-only actions (voice engine meta, path router can't reach these) ---
50
+ timeTravelUndo: { label: "Time Travel: Undo", zen: true },
51
+ timeTravelRedo: { label: "Time Travel: Redo", zen: true },
52
+ voiceQuit: { label: "Voice: Quit", zen: true },
53
+ voiceSleep: { label: "Voice: Sleep", zen: true },
54
+ voiceSubmit: { label: "Voice: Submit", zen: true },
55
+ voiceHistoryFirst: { label: "Voice: Go to Root", zen: true },
56
+ voiceHistoryPrev: { label: "Voice: Go Back", zen: true },
57
+ voiceHistoryNext: { label: "Voice: Go Forward", zen: true },
58
+ voiceHistoryLast: { label: "Voice: Go to Leaf", zen: true },
59
+ voiceHistoryClear: { label: "Voice: Clear History", zen: true },
60
+ voiceToggleOn: { label: "Voice: Toggle On", zen: true },
61
+ voiceToggleOff: { label: "Voice: Toggle Off", zen: true }
62
+ };
63
+
64
+ // src/ts/consts/config.ts
65
+ var CONFIG_BUILD = {
66
+ mediaType: "video",
67
+ mediaPlayer: "TMG",
68
+ media: { intent: { playsInline: true, textVisible: true, brightness: 100 } },
69
+ actions: Object.fromEntries(Object.entries(ACTIONS_BUILD).map(([k, v]) => [k, { id: k, ...v }])),
70
+ logicPathBlacklist: ["media.state", "media.status", "media.tech", "media.features", "media.type", "media.element", "media.pseudoElement", "media.container", "media.pseudoContainer"],
71
+ settings: {
72
+ // techOrder: [
73
+ // "youtube", // 1. Black-box (Regex must catch these URLs instantly)
74
+ // "vimeo", // 2. Black-box (Regex must catch these URLs instantly)
75
+ // "shaka", // 3. THE APEX PREDATOR (Catches .mpd and .m3u8 first)
76
+ // "hls", // 4. Fallback (Catches .m3u8 ONLY if Shaka is disabled/fails)
77
+ // "dash", // 5. Fallback (Catches .mpd ONLY if Shaka is disabled/fails)
78
+ // "html5", // 6. The Native Floor (Catches raw .mp4, .webm, .mp3, etc.)
79
+ // ],
80
+ },
81
+ debug: true,
82
+ devMode: import_sia_reactor.CTX.isDevEnv,
83
+ noPlugList: []
84
+ // dev: "settings.persist"
85
+ };
86
+
87
+ // src/ts/core/registries.ts
88
+ var import_utils = require("sia-reactor/utils");
89
+ var BaseRegistry = class {
90
+ constructor() {
91
+ __publicField(this, "items", []);
92
+ }
93
+ register(name, value, config) {
94
+ return this.unregister(name), this.items.push({ name, value, config }), this;
95
+ }
96
+ unregister(name, idx = this.items.findIndex((i) => i.name === name)) {
97
+ return idx !== -1 && this.items.splice(idx, 1), this;
98
+ }
99
+ get(name) {
100
+ return this.items.find((i) => i.name === name)?.value;
101
+ }
102
+ getAll(order) {
103
+ if (!order) return this.items.map((i) => i.value);
104
+ return this.items.sort((a, b, ai = order.indexOf(a.name), bi = order.indexOf(b.name)) => ai === -1 && bi === -1 ? 0 : ai === -1 ? 1 : bi === -1 ? -1 : ai - bi).map((i) => i.value);
105
+ }
106
+ clear() {
107
+ return this.items = [], this;
108
+ }
109
+ };
110
+ var OrderedRegistry = class extends BaseRegistry {
111
+ registerFirst(name, value, config) {
112
+ return this.unregister(name), this.items.unshift({ name, value, config }), this;
113
+ }
114
+ registerBefore(key, name, value, config) {
115
+ this.unregister(name);
116
+ const idx = this.items.findIndex((i) => i.name === key);
117
+ return idx !== -1 ? (this.items.splice(idx, 0, { name, value, config }), this) : this.register(name, value, config);
118
+ }
119
+ registerAfter(key, name, value, config) {
120
+ this.unregister(name);
121
+ const idx = this.items.findIndex((i) => i.name === key);
122
+ return idx !== -1 ? (this.items.splice(idx + 1, 0, { name, value, config }), this) : this.register(name, value, config);
123
+ }
124
+ };
125
+ var _TechRegistry = class _TechRegistry extends OrderedRegistry {
126
+ static get(name) {
127
+ return this.instance.get(name);
128
+ }
129
+ static register(Tech) {
130
+ this.instance.register(Tech.techName, Tech);
131
+ }
132
+ static unregister(name) {
133
+ this.instance.unregister(name);
134
+ }
135
+ static registerBefore(key, Tech) {
136
+ this.instance.registerBefore(key, Tech.techName, Tech);
137
+ }
138
+ static registerAfter(key, Tech) {
139
+ this.instance.registerAfter(key, Tech.techName, Tech);
140
+ }
141
+ static pick(src, techOrder) {
142
+ return this.instance.getAll(techOrder).find((Tech) => Tech.canPlaySource(src)) || null;
143
+ }
144
+ };
145
+ __publicField(_TechRegistry, "instance", new _TechRegistry());
146
+ var TechRegistry = _TechRegistry;
147
+ var _PlugRegistry = class _PlugRegistry extends OrderedRegistry {
148
+ static get(name) {
149
+ return this.instance.get(name);
150
+ }
151
+ static register(Plug, editBuild = Plug.BUILD !== void 0) {
152
+ this.instance.register(Plug.fullName, Plug);
153
+ editBuild && (0, import_utils.setPath)(CONFIG_BUILD, Plug.fullName, Plug.BUILD);
154
+ }
155
+ static unregister(fullName, editBuild = true) {
156
+ this.instance.unregister(fullName);
157
+ editBuild && (0, import_utils.deletePath)(CONFIG_BUILD, fullName);
158
+ }
159
+ static registerBefore(key, Plug) {
160
+ this.instance.registerBefore(key, Plug.fullName, Plug);
161
+ }
162
+ static registerAfter(key, Plug) {
163
+ this.instance.registerAfter(key, Plug.fullName, Plug);
164
+ }
165
+ static getOrdered() {
166
+ return this.instance.getAll();
167
+ }
168
+ };
169
+ __publicField(_PlugRegistry, "instance", new _PlugRegistry());
170
+ var PlugRegistry = _PlugRegistry;
171
+ var _PinRegistry = class _PinRegistry extends BaseRegistry {
172
+ static get(name) {
173
+ return this.instance.get(name);
174
+ }
175
+ static register(Pin, editBuild = Pin.BUILD !== void 0) {
176
+ this.instance.register(Pin.fullName, Pin);
177
+ editBuild && (0, import_utils.setPath)(CONFIG_BUILD, Pin.Plug.fullName + "." + Pin.pinName, Pin.BUILD);
178
+ }
179
+ static unregister(fullName, editBuild = true) {
180
+ this.instance.unregister(fullName);
181
+ editBuild && (0, import_utils.deletePath)(fullName.slice(0, fullName.indexOf(".")) in CONFIG_BUILD ? CONFIG_BUILD : CONFIG_BUILD.settings, fullName);
182
+ }
183
+ };
184
+ __publicField(_PinRegistry, "instance", new _PinRegistry());
185
+ var PinRegistry = _PinRegistry;
186
+ var _MenuRegistry = class _MenuRegistry extends BaseRegistry {
187
+ static get(name) {
188
+ return this.instance.get(name);
189
+ }
190
+ static register(name, factory) {
191
+ this.instance.register(name, factory);
192
+ }
193
+ static unregister(name) {
194
+ this.instance.unregister(name);
195
+ }
196
+ };
197
+ __publicField(_MenuRegistry, "instance", new _MenuRegistry());
198
+ var MenuRegistry = _MenuRegistry;
199
+ var _ComponentRegistry = class _ComponentRegistry extends BaseRegistry {
200
+ static get(name) {
201
+ return this.instance.get(name);
202
+ }
203
+ static register(Comp) {
204
+ this.instance.register(Comp.componentName, Comp);
205
+ }
206
+ static unregister(name) {
207
+ this.instance.unregister(name);
208
+ }
209
+ static init(name, ctlr, config = {}) {
210
+ const Comp = this.instance.get(name);
211
+ if (!Comp) return null;
212
+ const instance = new Comp(ctlr, config);
213
+ return instance.create(), instance.setup();
214
+ }
215
+ static getAll() {
216
+ return this.instance.getAll();
217
+ }
218
+ };
219
+ __publicField(_ComponentRegistry, "instance", new _ComponentRegistry());
220
+ var ComponentRegistry = _ComponentRegistry;
221
+ var _IconRegistry = class _IconRegistry extends BaseRegistry {
222
+ static get(name, raw = false, token = /\btmg-media-[^\s"']+\s*/g) {
223
+ return (raw ? this.instance.get(name)?.replace(token, "") : this.instance.get(name)) || `<svg></svg>`;
224
+ }
225
+ static register(name, svg) {
226
+ this.instance.register(name, svg);
227
+ }
228
+ static unregister(name) {
229
+ this.instance.unregister(name);
230
+ }
231
+ // Bulk register a map of icons { play: "<svg...>", pause: "<svg...>" }
232
+ static registerAll(icons) {
233
+ for (const k of Object.keys(icons)) this.instance.register(k, icons[k]);
234
+ }
235
+ };
236
+ __publicField(_IconRegistry, "instance", new _IconRegistry());
237
+ var IconRegistry = _IconRegistry;
238
+
239
+ // src/ts/core/controllable.ts
240
+ var import_sia_reactor4 = require("sia-reactor");
241
+ var import_utils14 = require("sia-reactor/utils");
242
+
243
+ // ../t007-tools/packages/utils/dist/chunk-ZALPHCSJ.js
244
+ var import_utils2 = require("sia-reactor/utils");
245
+ var import_utils3 = require("sia-reactor/utils");
246
+ var import_sia_reactor2 = require("sia-reactor");
247
+ var import_sia_reactor3 = require("sia-reactor");
248
+ var import_utils4 = require("sia-reactor/utils");
249
+ var import_utils5 = require("sia-reactor/utils");
250
+ var import_utils6 = require("sia-reactor/utils");
251
+ var import_utils7 = require("sia-reactor/utils");
252
+ var import_utils8 = require("sia-reactor/utils");
253
+ var INTERACTIVE_SELECTOR = ":is(button,[href],input:not([type='hidden']),select,textarea,details>summary,[contenteditable],iframe,audio[controls],video[controls],[tabindex]):not([disabled],[tabindex='-1'],[data-focus-guard],[inert],[inert] *)";
254
+ var VIRTUAL_RESOURCE = /* @__PURE__ */ Symbol.for("T007_VIRTUAL_RESOURCE");
255
+ function getWindow(el = window) {
256
+ return el?.ownerDocument?.defaultView ?? el?.defaultView ?? window;
257
+ }
258
+ function isDef(val) {
259
+ return "undefined" !== typeof val;
260
+ }
261
+ function isBool(val) {
262
+ return "boolean" === typeof val;
263
+ }
264
+ function isNum(val) {
265
+ return "number" === typeof val;
266
+ }
267
+ function isStr(val) {
268
+ return "string" === typeof val;
269
+ }
270
+ function isFunc(val) {
271
+ return "function" === typeof val;
272
+ }
273
+ function capitalize(word = "") {
274
+ return word.replace(/^(\s*)([a-z])/i, (_, s, l) => s + l.toUpperCase());
275
+ }
276
+ function bindCleanupToSignal(cleanup, signal) {
277
+ signal?.aborted ? cleanup() : signal?.addEventListener("abort", cleanup, { once: true });
278
+ if (signal && !signal.aborted) cleanup = (() => (signal.removeEventListener("abort", cleanup), cleanup()));
279
+ return cleanup;
280
+ }
281
+ if ("undefined" !== typeof window) {
282
+ (window.t007 ?? (window.t007 = {})).VIRTUAL_RESOURCE = VIRTUAL_RESOURCE;
283
+ window.T007_TOAST_JS_SRC ?? (window.T007_TOAST_JS_SRC = `https://cdn.jsdelivr.net/npm/@t007/toast@latest`);
284
+ window.T007_INPUT_JS_SRC ?? (window.T007_INPUT_JS_SRC = `https://cdn.jsdelivr.net/npm/@t007/input@latest`);
285
+ window.T007_DIALOG_JS_SRC ?? (window.T007_DIALOG_JS_SRC = `https://cdn.jsdelivr.net/npm/@t007/dialog@latest`);
286
+ window.T007_TOAST_CSS_SRC ?? (window.T007_TOAST_CSS_SRC = `https://cdn.jsdelivr.net/npm/@t007/toast@latest/dist/index.min.css`);
287
+ window.T007_INPUT_CSS_SRC ?? (window.T007_INPUT_CSS_SRC = `https://cdn.jsdelivr.net/npm/@t007/input@latest/dist/index.min.css`);
288
+ window.T007_DIALOG_CSS_SRC ?? (window.T007_DIALOG_CSS_SRC = `https://cdn.jsdelivr.net/npm/@t007/dialog@latest/dist/index.min.css`);
289
+ }
290
+
291
+ // src/ts/utils/obj.ts
292
+ var import_utils11 = require("sia-reactor/utils");
293
+
294
+ // src/ts/core/controllable.ts
295
+ var Controllable = class {
296
+ // for easy reach, better devx
297
+ constructor(ctlr, config, state) {
298
+ __publicField(this, "ac", new AbortController());
299
+ __publicField(this, "signal", this.ac.signal);
300
+ __publicField(this, "ctlr");
301
+ __publicField(this, "media");
302
+ __publicField(this, "state");
303
+ // for reactivity needs of those who pass it up
304
+ __publicField(this, "config");
305
+ (0, import_utils8.guardAllMethods)(this, ctlr.guard);
306
+ this.signal = AbortSignal.any([this.signal, ctlr.signal]);
307
+ this.ctlr = ctlr;
308
+ this.media = ctlr.media;
309
+ this.state = (0, import_utils4.isObj)(state) ? (0, import_sia_reactor4.reactive)(state) : state;
310
+ this.config = config;
311
+ }
312
+ // may be a reactive obj node or the obj itself
313
+ get settings() {
314
+ return this.ctlr.settings;
315
+ }
316
+ setup() {
317
+ return this.onSetup(), this;
318
+ }
319
+ destroy() {
320
+ !this.signal.aborted && this.ac.abort(`[TMG Controllable] Instance is being destroyed`);
321
+ this.onDestroy(), this.state?.destroy?.(), this.config !== this.media && isFunc(this.config?.destroy) && this.config?.destroy?.();
322
+ (0, import_utils14.nuke)(this);
323
+ }
324
+ onDestroy() {
325
+ }
326
+ };
327
+
328
+ // src/ts/utils/keys.ts
329
+ function formatActionForDisplay(keyShortcut, voiceCmd) {
330
+ const kArr = Array.isArray(keyShortcut) ? keyShortcut : keyShortcut ? [keyShortcut] : [];
331
+ return [kArr.length ? `\u2328\uFE0F ${kArr.map((c) => (0, import_utils7.cleanKeyCombo)(c).replace(" ", "space")).join(" or ")}` : "", voiceCmd?.length ? `\u{1F399}\uFE0F "${voiceCmd[0]}"` : ""].filter(Boolean).join(" \xB7 ");
332
+ }
333
+ function formatKeyForDisplay2(keyShortcut, voiceCmd) {
334
+ const combined = formatActionForDisplay(keyShortcut, voiceCmd);
335
+ return combined ? ` ( ${combined} )` : "";
336
+ }
337
+
338
+ // src/ts/components/base/index.ts
339
+ var BaseComponent = class extends Controllable {
340
+ constructor(ctlr, config, state) {
341
+ super(ctlr, config, { label: "", cmd: "", active: false, disabled: false, hidden: false, ...state });
342
+ __publicField(this, "element");
343
+ }
344
+ get name() {
345
+ return this.constructor.componentName;
346
+ }
347
+ get el() {
348
+ return this.element;
349
+ }
350
+ onSetup() {
351
+ this.mount?.();
352
+ this.ctlr.state.readyState ? this.wire?.() : this.wire && this.ctlr.state.wonce("readyState", this.wire, { signal: this.signal });
353
+ }
354
+ onDestroy() {
355
+ this.unmount();
356
+ }
357
+ // Must assign to this.element before returning
358
+ mount() {
359
+ }
360
+ unmount() {
361
+ this.el.remove();
362
+ }
363
+ wire() {
364
+ }
365
+ // auto unwiring
366
+ active() {
367
+ this.el.classList.toggle("tmg-media-control-active", this.state.active = true);
368
+ }
369
+ inactive() {
370
+ this.el.classList.toggle("tmg-media-control-active", this.state.active = false);
371
+ }
372
+ disable() {
373
+ this.el.classList.toggle("tmg-media-control-disabled", this.state.disabled = true);
374
+ }
375
+ enable() {
376
+ this.el.classList.toggle("tmg-media-control-disabled", this.state.disabled = false);
377
+ }
378
+ hide() {
379
+ this.el.classList.toggle("tmg-media-control-hidden", this.state.hidden = true);
380
+ }
381
+ show() {
382
+ this.el.classList.toggle("tmg-media-control-hidden", this.state.hidden = false);
383
+ }
384
+ gate(e) {
385
+ !e.value ? this.hide() : this.canShow && this.show();
386
+ }
387
+ get canShow() {
388
+ return true;
389
+ }
390
+ // override to make gating smarter
391
+ setBtnARIA(dblAction, target = this.el) {
392
+ this.state.label && target.setAttribute("aria-label", this.state.label);
393
+ this.state.cmd && target.setAttribute("aria-keyshortcuts", (0, import_utils7.parseForARIAKS)(this.state.cmd));
394
+ if (dblAction) target.setAttribute("aria-description", `Double-press to ${dblAction}`);
395
+ else if (target.hasAttribute("aria-description")) target.removeAttribute("aria-description");
396
+ }
397
+ };
398
+ __publicField(BaseComponent, "componentName");
399
+ __publicField(BaseComponent, "isControl", false);
400
+
401
+ // src/ts/components/rangeinput/build.ts
402
+ var RANGE_INPUT_BUILD = {
403
+ label: "Range Slider",
404
+ min: 0,
405
+ max: 100,
406
+ value: 0,
407
+ previewValue: 50,
408
+ step: 1,
409
+ scrub: {
410
+ sync: true,
411
+ relative: true,
412
+ cancel: {
413
+ delta: 5,
414
+ timeout: 1500
415
+ }
416
+ },
417
+ wheel: {
418
+ disabled: false,
419
+ axisRatio: 6
420
+ },
421
+ preview: true,
422
+ tooltip: true,
423
+ readonly: false,
424
+ disabled: false,
425
+ divs: [],
426
+ marks: []
427
+ };
428
+
429
+ // src/ts/components/rangeinput/index.ts
430
+ var import_sia_reactor8 = require("sia-reactor");
431
+ var import_utils22 = require("sia-reactor/utils");
432
+
433
+ // src/ts/utils/dom.ts
434
+ var import_sia_reactor7 = require("sia-reactor");
435
+
436
+ // ../t007-tools/packages/utils/dist/hooks/vanilla.js
437
+ var import_sia_reactor5 = require("sia-reactor");
438
+ var import_sia_reactor6 = require("sia-reactor");
439
+ function initScrollAssist(el, { pxPerSecond = 80, assistClassName = "t007-scroll-assist", vertical = true, horizontal = true } = import_sia_reactor5.NIL) {
440
+ const parent = el?.parentElement, existing = (t007._scrollers ?? (t007._scrollers = /* @__PURE__ */ new WeakMap())).get(el);
441
+ if (!parent || existing) return existing ? existing : void 0;
442
+ t007._scrollers_r_observer ?? (t007._scrollers_r_observer = new ResizeObserver((entries) => {
443
+ for (const { target } of entries) t007._scrollers.get(target)?.update();
444
+ }));
445
+ t007._scrollers_m_observer ?? (t007._scrollers_m_observer = new MutationObserver((entries) => {
446
+ const els = /* @__PURE__ */ new Set();
447
+ for (const entry of entries) {
448
+ let node = entry.target instanceof Element ? entry.target : null;
449
+ while (node && !t007._scrollers.has(node)) node = node.parentElement;
450
+ if (node) els.add(node);
451
+ }
452
+ for (const el2 of els) t007._scrollers.get(el2)?.update();
453
+ }));
454
+ const assist = {};
455
+ let scrollId = null, last = performance.now(), assistWidth = 20, assistHeight = 20;
456
+ const update = () => {
457
+ const hasInteractive = !!parent.querySelector(INTERACTIVE_SELECTOR);
458
+ if (horizontal) {
459
+ const w = assist.left?.offsetWidth || assistWidth, check = hasInteractive ? el.clientWidth < w * 2 : false;
460
+ assist.left.style.display = check ? "none" : el.scrollLeft > 0 ? "block" : "none";
461
+ assist.right.style.display = check ? "none" : el.scrollLeft + el.clientWidth < el.scrollWidth - 1 ? "block" : "none";
462
+ assistWidth = w;
463
+ }
464
+ if (vertical) {
465
+ const h = assist.up?.offsetHeight || assistHeight, check = hasInteractive ? el.clientHeight < h * 2 : false;
466
+ assist.up.style.display = check ? "none" : el.scrollTop > 0 ? "block" : "none";
467
+ assist.down.style.display = check ? "none" : el.scrollTop + el.clientHeight < el.scrollHeight - 1 ? "block" : "none";
468
+ assistHeight = h;
469
+ }
470
+ };
471
+ const scroll = (dir) => {
472
+ const frame = () => {
473
+ const now = performance.now(), dt = now - last;
474
+ last = now;
475
+ const d = pxPerSecond * dt / 1e3;
476
+ if (dir === "left") el.scrollLeft = Math.max(0, el.scrollLeft - d);
477
+ if (dir === "right") el.scrollLeft = Math.min(el.scrollWidth - el.clientWidth, el.scrollLeft + d);
478
+ if (dir === "up") el.scrollTop = Math.max(0, el.scrollTop - d);
479
+ if (dir === "down") el.scrollTop = Math.min(el.scrollHeight - el.clientHeight, el.scrollTop + d);
480
+ scrollId = requestAnimationFrame(frame);
481
+ };
482
+ last = performance.now();
483
+ frame();
484
+ };
485
+ const stop = () => (cancelAnimationFrame(scrollId ?? 0), scrollId = null);
486
+ const addAssist = (dir) => {
487
+ const div = (0, import_utils2.createEl)("div", { className: assistClassName }, { scrollDirection: dir }, { display: "none" });
488
+ if (!div) return;
489
+ for (const evt of ["pointerenter", "dragenter"]) div.addEventListener(evt, () => scroll(dir));
490
+ for (const evt of ["pointerleave", "pointerup", "pointercancel", "dragleave", "dragend"]) div.addEventListener(evt, stop);
491
+ dir === "left" || dir === "up" ? parent.insertBefore(div, el) : parent.append(div);
492
+ assist[dir] = div;
493
+ };
494
+ if (horizontal) for (const dir of ["left", "right"]) addAssist(dir);
495
+ if (vertical) for (const dir of ["up", "down"]) addAssist(dir);
496
+ const handle = {
497
+ update,
498
+ destroy() {
499
+ stop(), el.removeEventListener("scroll", update);
500
+ t007._scrollers_r_observer.unobserve(el), t007._scrollers.delete(el);
501
+ for (const a of Object.values(assist)) a.remove();
502
+ }
503
+ };
504
+ update(), el.addEventListener("scroll", update);
505
+ t007._scrollers_r_observer.observe(el), t007._scrollers_m_observer.observe(el, { childList: true, subtree: true, characterData: true });
506
+ return t007._scrollers.set(el, handle), handle;
507
+ }
508
+ var removeScrollAssist = (el) => t007._scrollers.get(el)?.destroy();
509
+
510
+ // src/ts/utils/dom.ts
511
+ var win = "undefined" !== typeof window ? window : void 0;
512
+ function addSafeClicks(el, onClick = import_sia_reactor7.NOOP, onDblClick = import_sia_reactor7.NOOP, options) {
513
+ el && removeSafeClicks(el);
514
+ el?.addEventListener("click", el._clickHandler = (e) => (clearTimeout(el._clickTimeoutId), el._clickTimeoutId = setTimeout(() => onClick(e), 300)), options);
515
+ el?.addEventListener("dblclick", el._dblClickHandler = (e) => (clearTimeout(el._clickTimeoutId), onDblClick(e)), options);
516
+ }
517
+ function removeSafeClicks(el) {
518
+ el?.removeEventListener("click", el._clickHandler);
519
+ el?.removeEventListener("dblclick", el._dblClickHandler);
520
+ }
521
+ var intersectionObserver = win ? new IntersectionObserver(
522
+ (entries) => {
523
+ for (const entry of entries) if (entry.target._intersectCbs) for (const cb of entry.target._intersectCbs) cb(entry);
524
+ },
525
+ { root: null, rootMargin: "0px", threshold: 0.3 }
526
+ ) : null;
527
+ var resizeObserver = win ? new ResizeObserver((entries) => {
528
+ for (const entry of entries) if (entry.target._resizeCbs) for (const cb of entry.target._resizeCbs) cb(entry);
529
+ }) : null;
530
+ var mutationObserver = win ? new MutationObserver((mutations) => {
531
+ const target = mutations[0].target;
532
+ if (target._mutationCbs) for (const cb of target._mutationCbs) cb(mutations);
533
+ }) : null;
534
+ function observeResize(el, cb, sig) {
535
+ (el._resizeCbs ?? (el._resizeCbs = /* @__PURE__ */ new Set())).add(cb);
536
+ resizeObserver?.observe(el);
537
+ return bindCleanupToSignal(() => (el._resizeCbs?.delete(cb), !el._resizeCbs?.size && resizeObserver?.unobserve(el)), sig);
538
+ }
539
+
540
+ // src/ts/utils/num.ts
541
+ function isSafeNum(val) {
542
+ return isNum(val) && !isNaN(val ?? NaN) && val !== Infinity;
543
+ }
544
+ function safeNum(number, fallback = 0) {
545
+ return isSafeNum(number) ? number : fallback;
546
+ }
547
+ function parseIfPercent(percent, amount, autocap = 0.25) {
548
+ const val = percent?.endsWith?.("%") ? safeNum(parseFloat(percent) / 100 * amount) : percent;
549
+ return val && amount && autocap && amount <= val ? amount * autocap : val;
550
+ }
551
+ function stepNum(v = 0, { min, max, step }) {
552
+ const s = step ? Math.round((safeNum(v) - (min || 0)) / step) * step + (min || 0) : safeNum(v);
553
+ return (0, import_utils5.clamp)(min, +s.toFixed(10), max);
554
+ }
555
+
556
+ // src/ts/components/rangeinput/index.ts
557
+ var import_modules = require("sia-reactor/modules");
558
+ var RangeInput = class extends BaseComponent {
559
+ constructor(ctlr, config, state) {
560
+ super(ctlr, (0, import_sia_reactor8.reactive)((0, import_utils22.mergeObjs)(structuredClone(RANGE_INPUT_BUILD), config), { scrubbing: false, previewing: false, cancelScrub: false, ...state }));
561
+ __publicField(this, "barsWrapper");
562
+ __publicField(this, "marksWrapper");
563
+ __publicField(this, "chunks", []);
564
+ __publicField(this, "thumbEl");
565
+ __publicField(this, "tooltipEl");
566
+ __publicField(this, "isVertical", false);
567
+ __publicField(this, "isRTL", false);
568
+ __publicField(this, "rect");
569
+ __publicField(this, "lastPtrPos", 0);
570
+ __publicField(this, "lastThumbPos", 0);
571
+ __publicField(this, "currentThumbPos", 0);
572
+ __publicField(this, "stallCancelScrub", false);
573
+ __publicField(this, "cancelScrubTimeoutId", null);
574
+ __publicField(this, "tx", null);
575
+ __publicField(this, "prevEX");
576
+ __publicField(this, "prevEY");
577
+ }
578
+ create() {
579
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-range-container", tabIndex: 0, role: "slider" });
580
+ this.barsWrapper = (0, import_utils2.createEl)("div", { className: "tmg-media-range-bars-wrapper" });
581
+ this.marksWrapper = (0, import_utils2.createEl)("div", { className: "tmg-media-range-marks-wrapper" });
582
+ this.thumbEl = (0, import_utils2.createEl)("div", { className: "tmg-media-range-thumb" });
583
+ this.tooltipEl = (0, import_utils2.createEl)("div", { className: "tmg-media-range-tooltip" });
584
+ return this.el.append(this.barsWrapper, this.marksWrapper, this.thumbEl, this.tooltipEl), this.el;
585
+ }
586
+ wire() {
587
+ this.rect = this.el.getBoundingClientRect();
588
+ this.el.addEventListener("pointerdown", this.handlePointerDown, { signal: this.signal });
589
+ this.el.addEventListener("keydown", this.handleKeyDown, { signal: this.signal });
590
+ this.el.addEventListener("wheel", this.handleWheel, { passive: false, signal: this.signal });
591
+ this.el.addEventListener("mouseover", () => this.rect = this.el.getBoundingClientRect(), { signal: this.signal });
592
+ this.el.addEventListener("mousemove", this.handleInput, { signal: this.signal });
593
+ for (const e of ["mouseleave", "touchend", "touchcancel"]) this.el.addEventListener(e, this.stopPreviewing, { signal: this.signal });
594
+ this.state.watch("scrubbing", (value) => value ? this.tx = (0, import_modules.startTx)(`${this.config.label} Scrub`) : this.tx && this.config.stall(() => ((0, import_modules.endTx)(this.tx), this.tx = null)), { signal: this.signal });
595
+ this.state.on("previewing", ({ value }) => this.el.classList.toggle("tmg-media-control-previewing", !!value), { signal: this.signal });
596
+ this.state.on("scrubbing", ({ value }) => this.el.classList.toggle("tmg-media-control-scrubbing", !!value), { signal: this.signal });
597
+ this.state.on("cancelScrub", ({ value }) => this.el.classList.toggle("tmg-media-control-cancel-scrub", !!value), { signal: this.signal });
598
+ this.config.set("value", (value) => stepNum(value, this.config), { signal: this.signal });
599
+ this.config.on("label", ({ value }) => this.el.ariaLabel = value, { init: true, signal: this.signal });
600
+ this.config.on("min", ({ value }) => this.el.ariaValueMin = String(value), { init: true, signal: this.signal });
601
+ this.config.on("max", ({ value }) => this.el.ariaValueMax = String(value), { init: true, signal: this.signal });
602
+ this.config.watch("value", this.onValue, { init: true, signal: this.signal });
603
+ this.config.watch("previewValue", this.onPreviewValue, { init: true, signal: this.signal });
604
+ this.config.on("tooltip", ({ value }) => this.el.toggleAttribute("data-tooltip", !!value), { init: true, signal: this.signal });
605
+ this.config.on("readonly", ({ value }) => this.el.toggleAttribute("readonly", !!value), { init: true, signal: this.signal });
606
+ this.config.on("disabled", ({ value }) => this.el.toggleAttribute("disabled", !!value), { init: true, signal: this.signal });
607
+ this.config.on("divs", ({ currentTarget: { value } }) => this.syncDivs(value), { init: true, signal: this.signal });
608
+ this.config.on("marks", ({ currentTarget: { value } }) => this.syncMarks(value), { init: true, signal: this.signal });
609
+ observeResize(this.el, () => this.ctlr.throttle(`${this.config.label}Resizing`, this.handleResize, 30, false), this.signal);
610
+ }
611
+ scrub(value, bypass = false) {
612
+ return this.canScrub ? (!bypass ? this.config.value = value : this.onValue(value), true) : false;
613
+ }
614
+ get canScrub() {
615
+ return !this.config.readonly && !this.config.disabled;
616
+ }
617
+ onValue(value) {
618
+ this.syncElPos(this.thumbEl, this.getValuePos(value), false, "auto"), this.syncChunks("value", value);
619
+ if (!this.state.scrubbing) this.el.ariaValueNow = String(value);
620
+ }
621
+ onPreviewValue(value) {
622
+ this.syncChunks("preview", value), this.config.tooltip && (this.syncElPos(this.tooltipEl, this.getValuePos(value), false, !(this.state.previewing && !this.state.scrubbing) ? "auto" : false, this.thumbEl), this.tooltipEl.innerHTML = (this.config.formatTooltip ? String(this.config.formatTooltip(value)) : `${Math.round(value)}`) + ` ${this.getValueChunk(value)?.label || ""}`.trim());
623
+ }
624
+ handlePointerDown(e) {
625
+ if (this.state.scrubbing || this.config.readonly || this.config.disabled) return;
626
+ this.state.scrubbing = true;
627
+ this.el.setPointerCapture(e.pointerId);
628
+ const s = getWindow(this.el).getComputedStyle(this.el);
629
+ this.isVertical = s.writingMode.includes("vertical"), this.isRTL = s.direction === "rtl";
630
+ this.rect = this.el.getBoundingClientRect(), this.lastPtrPos = this.getPos(e), this.lastThumbPos = this.currentThumbPos = this.getValuePos();
631
+ getWindow(this.el).addEventListener("pointermove", this.handleInput, { signal: this.signal }), this.handleInput(e);
632
+ getWindow(this.el).addEventListener("pointerup", this.stopScrubbing, { signal: this.signal }), getWindow(this.el).addEventListener("pointercancel", this.stopScrubbing, { signal: this.signal });
633
+ }
634
+ stopScrubbing() {
635
+ if (!this.state.scrubbing) return;
636
+ this.state.scrubbing = this.state.previewing = false;
637
+ this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);
638
+ this.scrub(this.getPosValue(this.state.cancelScrub ? this.lastThumbPos : this.currentThumbPos), this.state.cancelScrub);
639
+ this.allowScrubbing(), this.stopPreviewing();
640
+ this.stallCancelScrub = true;
641
+ getWindow(this.el).removeEventListener("pointermove", this.handleInput);
642
+ getWindow(this.el).removeEventListener("pointerup", this.stopScrubbing), getWindow(this.el).removeEventListener("pointercancel", this.stopScrubbing);
643
+ }
644
+ stopPreviewing() {
645
+ if (!this.state.previewing) return;
646
+ this.state.previewing = false;
647
+ !this.state.scrubbing && this.ctlr.cancelRAFLoop(`${this.config.label}Inputing`);
648
+ }
649
+ cancelScrubbing() {
650
+ if (this.stallCancelScrub || this.state.cancelScrub || this.cancelScrubTimeoutId) return;
651
+ this.state.cancelScrub = true;
652
+ this.cancelScrubTimeoutId = (0, import_utils6.setTimeout)(() => this.allowScrubbing(false), this.config.scrub.cancel.timeout, this.signal);
653
+ }
654
+ allowScrubbing(reset = true) {
655
+ this.stallCancelScrub = this.state.cancelScrub = false;
656
+ clearTimeout(this.cancelScrubTimeoutId);
657
+ if (reset) this.cancelScrubTimeoutId = null;
658
+ }
659
+ handleInput(e) {
660
+ if (this.config.readonly || this.config.disabled) return;
661
+ this.ctlr.RAFLoop(`${this.config.label}Inputing`, () => {
662
+ var _a;
663
+ if (this.prevEX === e.clientX && this.prevEY === e.clientY) return;
664
+ this.prevEX = e.clientX, this.prevEY = e.clientY;
665
+ (_a = this.state).previewing || (_a.previewing = true);
666
+ const dimension = this.isVertical ? this.rect.height : this.rect.width, progress = this.getPos(e), pos = this.currentThumbPos = (0, import_utils5.clamp)(0, !this.state.scrubbing || this.config.scrub.relative ? progress : this.lastThumbPos + progress - this.lastPtrPos, 1), value = this.getPosValue(pos);
667
+ this.config.previewValue = value;
668
+ if (this.state.scrubbing) {
669
+ !this.config.scrub.sync ? this.syncElPos(this.thumbEl, pos, false, "auto") : this.scrub(value);
670
+ Math.abs(pos - this.lastThumbPos) < this.config.scrub.cancel.delta / dimension ? this.cancelScrubbing() : this.allowScrubbing();
671
+ }
672
+ this.onInput(e, pos);
673
+ });
674
+ }
675
+ onInput(_e, _pos) {
676
+ }
677
+ // override to safely add preview logic (timeline preview image, etc.)
678
+ handleWheel(e) {
679
+ if (this.config.wheel.disabled) return;
680
+ e.preventDefault(), e.stopImmediatePropagation();
681
+ const dimension = this.isVertical ? getWindow(this.el).innerHeight : getWindow(this.el).innerWidth, pos = (0, import_utils5.clamp)(0, Math.abs(-e.deltaY), dimension * this.config.wheel.axisRatio) / (dimension * this.config.wheel.axisRatio), value = this.config.value + (-e.deltaY >= 0 ? pos : -pos) * (this.config.max - this.config.min);
682
+ this.scrub(value);
683
+ }
684
+ handleKeyDown(e) {
685
+ const key = e.key?.toLowerCase();
686
+ if (["arrowleft", "arrowdown", "arrowright", "arrowup"].includes(key)) {
687
+ e.preventDefault(), e.stopImmediatePropagation();
688
+ const delta = e.shiftKey ? 2 : 1, direction = ["arrowleft", "arrowdown"].includes(key) ? -1 : 1;
689
+ this.scrub(this.config.value + direction * delta * this.config.step);
690
+ }
691
+ }
692
+ handleResize() {
693
+ this.rect = this.el.getBoundingClientRect();
694
+ const pos = this.getValuePos();
695
+ this.syncElPos(this.thumbEl, pos, false, "auto"), this.syncChunks("value", this.config.value), this.config.tooltip && this.syncElPos(this.tooltipEl, pos, false, "auto", this.thumbEl);
696
+ }
697
+ getValuePos(value = this.config.value, range = this.config.max - this.config.min) {
698
+ return range ? (value - this.config.min) / range : 0;
699
+ }
700
+ getPosValue(pos) {
701
+ return pos * (this.config.max - this.config.min) + this.config.min;
702
+ }
703
+ getValueChunk(value = this.config.value) {
704
+ for (let i = 0, len = this.chunks.length; i < len; i++) {
705
+ const c = this.chunks[i];
706
+ if (value >= c.start && value <= c.end) return c;
707
+ }
708
+ }
709
+ getPos(e) {
710
+ const p = this.isVertical ? (e.clientY - this.rect.top) / this.rect.height : (e.clientX - this.rect.left) / this.rect.width;
711
+ return (0, import_utils5.clamp)(0, this.isRTL ? 1 - p : p, 1);
712
+ }
713
+ syncElPos(el, pos, isSize = false, inBounds = false, bounds = el) {
714
+ const dim = this.isVertical ? this.rect?.height : this.rect?.width, min = inBounds && dim ? (this.isVertical ? bounds.offsetHeight : bounds.offsetWidth) / 2 / dim : 0;
715
+ pos = inBounds === "auto" ? min + pos * (1 - min * 2) : pos;
716
+ const value = pos || !isSize && pos === 0 ? `${(0, import_utils5.clamp)(min, pos, 1 - min) * 100}%` : "";
717
+ if (isSize) this.isVertical ? (el.style.blockSize = value, el.style.inlineSize = "") : (el.style.inlineSize = value, el.style.blockSize = "");
718
+ else this.isVertical ? (el.style.insetBlockEnd = value, el.style.insetInlineStart = "") : (el.style.insetInlineStart = value, el.style.insetBlockEnd = "");
719
+ }
720
+ syncChunks(key, value) {
721
+ for (let i = 0, len = this.chunks.length; i < len; i++) {
722
+ const c = this.chunks[i];
723
+ this.syncElPos(c[key], (0, import_utils5.clamp)(0, (value - c.start) / c.size, 1) || 0, true), c[key].style.setProperty("--tmg-media-current-range-pos", String(this.getValuePos(value)));
724
+ c.el.classList.toggle(`tmg-media-chunk-${key}-active`, value >= c.start && value <= c.end);
725
+ }
726
+ }
727
+ syncDivs(divs = this.config.divs) {
728
+ this.barsWrapper.innerHTML = "";
729
+ this.chunks = [];
730
+ const range = this.config.max - this.config.min, stops = divs.toSorted((a, b) => a.value - b.value);
731
+ if (stops.length && stops[0].value > this.config.min && stops[0].value <= this.config.min + Math.min(0.02 * range, range * 0.25)) stops[0].value = this.config.min;
732
+ else if (!stops.length || stops[0].value > this.config.min) stops.unshift({ value: this.config.min, label: "" });
733
+ if (stops[stops.length - 1].value < this.config.max) stops.push({ value: this.config.max, label: "" });
734
+ const fragment = document.createDocumentFragment();
735
+ for (let i = 0, len = stops.length; i < len - 1; i++) {
736
+ const start = stops[i], end = stops[i + 1], size = end.value - start.value;
737
+ if (size <= 0) continue;
738
+ const el = (0, import_utils2.createEl)("div", { className: "tmg-media-range-chunk" }, void 0, { cssText: `--tmg-media-current-chunk-st: ${(start.value - this.config.min) / range};` }), chunk = { base: (0, import_utils2.createEl)("div", { className: "tmg-media-range-bar tmg-media-range-base-bar" }), preview: (0, import_utils2.createEl)("div", { className: "tmg-media-range-bar tmg-media-range-preview-bar" }), value: (0, import_utils2.createEl)("div", { className: "tmg-media-range-bar tmg-media-range-value-bar" }) };
739
+ this.syncElPos(el, size / range, true), fragment.append((el.append(chunk.base, chunk.preview, chunk.value), el)), this.chunks.push({ start: start.value, end: end.value, label: start.label, size, el, ...chunk });
740
+ }
741
+ this.barsWrapper.append(fragment), this.onValue(this.config.value), this.onPreviewValue(this.config.previewValue);
742
+ }
743
+ syncMarks(marks = this.config.marks) {
744
+ this.marksWrapper.innerHTML = "";
745
+ const els = [], range = this.config.max - this.config.min;
746
+ if (range <= 0) return;
747
+ for (let i = 0, len = marks.length; i < len; i++) {
748
+ const m = marks[i], el = (0, import_utils2.createEl)("div", { className: `tmg-media-range-mark tmg-media-range-${marks[i].type || "base"}-mark`, title: marks[i].label || `${m.start}${m.end && m.end > m.start + 1 ? ` - ${m.end}` : ""} Mark` }, void 0);
749
+ this.syncElPos(el, (m.start - this.config.min) / range, false), this.syncElPos(el, m.end ? (m.end - m.start) / range : 0, true), els.push(el);
750
+ }
751
+ this.marksWrapper.append(...els);
752
+ }
753
+ };
754
+ __publicField(RangeInput, "componentName", "rangeinput");
755
+
756
+ // src/ts/components/buffer.ts
757
+ var Buffer2 = class extends BaseComponent {
758
+ create() {
759
+ return this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-buffer", innerHTML: `<div class="tmg-media-buffer-accent"></div><div class="tmg-media-buffer-eclipse"><div class="tmg-media-buffer-left"><div class="tmg-media-buffer-circle"></div></div><div class="tmg-media-buffer-right"><div class="tmg-media-buffer-circle"></div></div></div>` });
760
+ }
761
+ mount() {
762
+ this.ctlr.DOM.controlsContainer?.prepend(this.element);
763
+ }
764
+ };
765
+ __publicField(Buffer2, "componentName", "buffer");
766
+
767
+ // src/ts/components/controls/meta.ts
768
+ var Meta = class extends BaseComponent {
769
+ constructor() {
770
+ super(...arguments);
771
+ __publicField(this, "profile");
772
+ __publicField(this, "title");
773
+ __publicField(this, "artist");
774
+ __publicField(this, "scrollers", []);
775
+ }
776
+ create() {
777
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-meta-wrapper" }, { draggableControl: "", dragId: "wrapper", controlId: this.name });
778
+ const textsCover = (0, import_utils2.createEl)("div", { className: "tmg-media-meta-text-wrapper-cover" }), profileLink = (0, import_utils2.createEl)("a", { className: "tmg-media-profile-link" }), titleWrapper = (0, import_utils2.createEl)("div", { className: "tmg-media-title-wrapper" }), artistWrapper = (0, import_utils2.createEl)("div", { className: "tmg-media-artist-wrapper" });
779
+ this.ctlr.DOM.mediaProfile = this.profile = this.ctlr.syncImgLoadState((0, import_utils2.createEl)("img", { alt: "Profile", className: "tmg-media-profile" }));
780
+ this.ctlr.DOM.mediaTitle = this.title = (0, import_utils2.createEl)("a", { className: "tmg-media-title tmg-media-meta-text" });
781
+ this.ctlr.DOM.mediaArtist = this.artist = (0, import_utils2.createEl)("a", { className: "tmg-media-artist tmg-media-meta-text" });
782
+ profileLink.append(this.profile), titleWrapper.append(this.title), artistWrapper.append(this.artist), textsCover.append(titleWrapper, artistWrapper);
783
+ return this.el.append(profileLink, textsCover), this.element;
784
+ }
785
+ wire() {
786
+ this.ctlr.config.on("settings.controlPanel.profile", this.syncProfile, { init: true, signal: this.signal });
787
+ this.ctlr.config.on("settings.controlPanel.title", this.syncTitle, { init: true, signal: this.signal });
788
+ this.ctlr.config.on("settings.controlPanel.artist", this.syncArtist, { init: true, signal: this.signal });
789
+ this.scrollers.push((initScrollAssist(this.title, { pxPerSecond: 60 }), this.title));
790
+ this.scrollers.push((initScrollAssist(this.artist, { pxPerSecond: 30 }), this.artist));
791
+ }
792
+ syncUI() {
793
+ this.syncProfile(), this.syncTitle(), this.syncArtist();
794
+ }
795
+ syncProfile() {
796
+ const profile = this.settings.controlPanel.profile;
797
+ if (profile !== true) this.profile.dataset.loaded = "false", this.profile.dataset.mediaProfile = this.profile.src = profile || "";
798
+ }
799
+ syncTitle() {
800
+ const title = this.settings.controlPanel.title;
801
+ if (title !== true) this.title.dataset.mediaTitle = this.title.textContent = title || "";
802
+ }
803
+ syncArtist() {
804
+ const artist = this.settings.controlPanel.artist;
805
+ if (artist !== true) this.artist.dataset.mediaArtist = this.artist.textContent = artist || "";
806
+ }
807
+ onDestroy() {
808
+ for (const el of this.scrollers) removeScrollAssist(el);
809
+ super.onDestroy();
810
+ }
811
+ };
812
+ __publicField(Meta, "componentName", "meta");
813
+ __publicField(Meta, "isControl", true);
814
+
815
+ // src/ts/components/controls/bignext.ts
816
+ var BigNextButton = class extends BaseComponent {
817
+ get plug() {
818
+ return this.ctlr.plug("playlist");
819
+ }
820
+ create() {
821
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-big-next-btn", type: "button", innerHTML: IconRegistry.get("next") }, { draggableControl: "", dragId: "big", controlId: this.name });
822
+ return this.disable(), this.element;
823
+ }
824
+ wire() {
825
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
826
+ this.plug?.state.on("currentIndex", () => this[this.plug.atLast ? "disable" : "enable"](), { init: true, signal: this.signal });
827
+ this.ctlr.config.on("playlist", this.syncUI, { signal: this.signal, init: true, depth: 1 });
828
+ this.ctlr.config.on("settings.keys.shortcuts.next", this.syncARIA, { init: true, signal: this.signal });
829
+ this.ctlr.config.on("settings.voice.commands.next", this.syncARIA, { signal: this.signal });
830
+ }
831
+ handleClick() {
832
+ this.plug?.next();
833
+ }
834
+ syncUI() {
835
+ this[this.ctlr.config.playlist.content && this.ctlr.config.playlist.content.length > 1 ? "show" : "hide"]();
836
+ }
837
+ syncARIA() {
838
+ this.state.label = "Next";
839
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.next, this.settings.voice.commands.next);
840
+ this.el.title = this.state.label + this.state.cmd;
841
+ this.setBtnARIA();
842
+ }
843
+ };
844
+ __publicField(BigNextButton, "componentName", "bignext");
845
+ __publicField(BigNextButton, "isControl", true);
846
+
847
+ // src/ts/components/controls/bigplaypause.ts
848
+ var BigPlayPauseButton = class extends BaseComponent {
849
+ create() {
850
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-big-play-pause-btn", type: "button", innerHTML: IconRegistry.get("play") + IconRegistry.get("pause") + IconRegistry.get("replay") }, { draggableControl: "", dragId: "big", controlId: this.name });
851
+ }
852
+ wire() {
853
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
854
+ this.media.on("state.paused", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
855
+ this.media.on("status.ended", this.syncARIA, { signal: this.signal });
856
+ this.ctlr.config.on("settings.keys.shortcuts.playPause", this.syncARIA, { signal: this.signal });
857
+ }
858
+ handleClick() {
859
+ this.media.intent.paused = !this.media.state.paused;
860
+ }
861
+ syncARIA() {
862
+ this.state.label = this.media.status.ended ? "Replay" : this.media.state.paused ? "Play" : "Pause";
863
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.playPause, this.settings.voice.commands.playPause);
864
+ this.el.title = this.state.label + this.state.cmd;
865
+ this.setBtnARIA();
866
+ }
867
+ };
868
+ __publicField(BigPlayPauseButton, "componentName", "bigplaypause");
869
+ __publicField(BigPlayPauseButton, "isControl", true);
870
+
871
+ // src/ts/components/controls/bigprev.ts
872
+ var BigPrevButton = class extends BaseComponent {
873
+ get plug() {
874
+ return this.ctlr.plug("playlist");
875
+ }
876
+ create() {
877
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-big-prev-btn", type: "button", innerHTML: IconRegistry.get("prev") }, { draggableControl: "", dragId: "big", controlId: this.name });
878
+ return this.disable(), this.element;
879
+ }
880
+ wire() {
881
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
882
+ this.plug?.state.on("currentIndex", () => this[this.plug.atFirst ? "disable" : "enable"](), { init: true, signal: this.signal });
883
+ this.ctlr.config.on("playlist", this.syncUI, { signal: this.signal, init: true, depth: 1 });
884
+ this.ctlr.config.on("settings.keys.shortcuts.prev", this.syncARIA, { init: true, signal: this.signal });
885
+ this.ctlr.config.on("settings.voice.commands.prev", this.syncARIA, { signal: this.signal });
886
+ }
887
+ handleClick() {
888
+ this.plug?.previous();
889
+ }
890
+ syncUI() {
891
+ this[this.ctlr.config.playlist.content && this.ctlr.config.playlist.content.length > 1 ? "show" : "hide"]();
892
+ }
893
+ syncARIA() {
894
+ this.state.label = "Previous";
895
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.prev, this.settings.voice.commands.prev);
896
+ this.el.title = this.state.label + this.state.cmd;
897
+ this.setBtnARIA();
898
+ }
899
+ };
900
+ __publicField(BigPrevButton, "componentName", "bigprev");
901
+ __publicField(BigPrevButton, "isControl", true);
902
+
903
+ // src/ts/components/controls/prev.ts
904
+ var PrevButton = class extends BaseComponent {
905
+ get plug() {
906
+ return this.ctlr.plug("playlist");
907
+ }
908
+ create() {
909
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-prev-btn", type: "button", innerHTML: IconRegistry.get("prev") }, { draggableControl: "", controlId: this.name });
910
+ return this.hide(), this.element;
911
+ }
912
+ wire() {
913
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
914
+ this.plug?.state.on("currentIndex", () => this[this.plug.atFirst ? "hide" : "show"](), { init: true, signal: this.signal });
915
+ this.ctlr.config.on("settings.keys.shortcuts.prev", this.syncARIA, { init: true, signal: this.signal });
916
+ this.ctlr.config.on("settings.voice.commands.prev", this.syncARIA, { signal: this.signal });
917
+ }
918
+ handleClick() {
919
+ this.plug?.previous();
920
+ }
921
+ syncARIA() {
922
+ this.state.label = "Previous";
923
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.prev, this.settings.voice.commands.prev);
924
+ this.el.title = this.state.label + this.state.cmd;
925
+ this.setBtnARIA();
926
+ }
927
+ };
928
+ __publicField(PrevButton, "componentName", "prev");
929
+ __publicField(PrevButton, "isControl", true);
930
+
931
+ // src/ts/components/controls/playpause.ts
932
+ var PlayPauseButton = class extends BaseComponent {
933
+ create() {
934
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-play-pause-btn", innerHTML: IconRegistry.get("play") + IconRegistry.get("pause") + IconRegistry.get("replay") }, { draggableControl: "", controlId: this.name });
935
+ }
936
+ wire() {
937
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
938
+ this.media.on("state.paused", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
939
+ this.media.on("status.ended", this.syncARIA, { signal: this.signal });
940
+ this.ctlr.config.on("settings.keys.shortcuts.playPause", this.syncARIA, { signal: this.signal });
941
+ this.ctlr.config.on("settings.voice.commands.playPause", this.syncARIA, { signal: this.signal });
942
+ }
943
+ handleClick() {
944
+ this.media.intent.paused = !this.media.state.paused;
945
+ }
946
+ syncARIA() {
947
+ this.state.label = this.media.status.ended ? "Replay" : this.media.state.paused ? "Play" : "Pause";
948
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.playPause, this.settings.voice.commands.playPause);
949
+ this.el.title = this.state.label + this.state.cmd;
950
+ this.setBtnARIA();
951
+ }
952
+ };
953
+ __publicField(PlayPauseButton, "componentName", "playpause");
954
+ __publicField(PlayPauseButton, "isControl", true);
955
+
956
+ // src/ts/components/controls/next.ts
957
+ var NextButton = class extends BaseComponent {
958
+ get plug() {
959
+ return this.ctlr.plug("playlist");
960
+ }
961
+ create() {
962
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-next-btn", type: "button", innerHTML: IconRegistry.get("next") }, { draggableControl: "", controlId: this.name });
963
+ return this.hide(), this.element;
964
+ }
965
+ wire() {
966
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
967
+ this.plug?.state.on("currentIndex", () => this[this.plug.atLast ? "hide" : "show"](), { init: true, signal: this.signal });
968
+ this.ctlr.config.on("settings.keys.shortcuts.next", this.syncARIA, { init: true, signal: this.signal });
969
+ this.ctlr.config.on("settings.voice.commands.next", this.syncARIA, { signal: this.signal });
970
+ }
971
+ handleClick() {
972
+ this.plug?.next();
973
+ }
974
+ syncARIA() {
975
+ this.state.label = "Next";
976
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.next, this.settings.voice.commands.next);
977
+ this.el.title = this.state.label + this.state.cmd;
978
+ this.setBtnARIA();
979
+ }
980
+ };
981
+ __publicField(NextButton, "componentName", "next");
982
+ __publicField(NextButton, "isControl", true);
983
+
984
+ // src/ts/components/controls/forward10.ts
985
+ var Forward10Button = class extends BaseComponent {
986
+ create() {
987
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-forward10-btn", type: "button", innerHTML: IconRegistry.get("forward10") }, { draggableControl: "", controlId: this.name });
988
+ }
989
+ wire() {
990
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
991
+ this.syncARIA();
992
+ }
993
+ handleClick() {
994
+ this.media.intent.currentTime += 10;
995
+ }
996
+ syncARIA() {
997
+ this.state.label = "Forward 10s";
998
+ this.el.title = this.state.label + this.state.cmd;
999
+ this.setBtnARIA();
1000
+ }
1001
+ };
1002
+ __publicField(Forward10Button, "componentName", "forward10");
1003
+ __publicField(Forward10Button, "isControl", true);
1004
+
1005
+ // src/ts/components/controls/backward10.ts
1006
+ var Backward10Button = class extends BaseComponent {
1007
+ create() {
1008
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-backward10-btn", type: "button", innerHTML: IconRegistry.get("backward10") }, { draggableControl: "", controlId: this.name });
1009
+ }
1010
+ wire() {
1011
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1012
+ this.syncARIA();
1013
+ }
1014
+ handleClick() {
1015
+ this.media.intent.currentTime -= 10;
1016
+ }
1017
+ syncARIA() {
1018
+ this.state.label = "Backward 10s";
1019
+ this.el.title = this.state.label + this.state.cmd;
1020
+ this.setBtnARIA();
1021
+ }
1022
+ };
1023
+ __publicField(Backward10Button, "componentName", "backward10");
1024
+ __publicField(Backward10Button, "isControl", true);
1025
+
1026
+ // src/ts/components/controls/time.ts
1027
+ var TimeButton = class extends BaseComponent {
1028
+ get plug() {
1029
+ return this.ctlr.plug("settings.time");
1030
+ }
1031
+ create() {
1032
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-time-btn tmg-media-control-text-btn", textContent: "-:--" }, { draggableControl: "", controlId: this.name });
1033
+ }
1034
+ wire() {
1035
+ this.media.on("features.live", (e) => this[e.value ? "hide" : "show"](), { init: this.ctlr.payload.wired, signal: this.signal });
1036
+ addSafeClicks(this.element, this.handleClick, this.handleDblClick, { signal: this.signal });
1037
+ this.media.on("state.currentTime", this.syncUI, { signal: this.signal });
1038
+ this.ctlr.config.on("settings.time.mode", this.syncUI, { init: true, signal: this.signal });
1039
+ this.ctlr.config.on("settings.time.format", this.syncUI, { signal: this.signal });
1040
+ this.ctlr.config.on("settings.keys.shortcuts.timeMode", this.syncARIA, { init: true, signal: this.signal });
1041
+ this.ctlr.config.on("settings.voice.commands.timeMode", this.syncARIA, { signal: this.signal });
1042
+ this.ctlr.config.on("settings.keys.shortcuts.timeFormat", this.syncARIA, { signal: this.signal });
1043
+ }
1044
+ handleClick() {
1045
+ this.plug?.toggleMode();
1046
+ }
1047
+ handleDblClick() {
1048
+ this.plug?.rotateFormat();
1049
+ }
1050
+ syncUI() {
1051
+ this.el.textContent = this.plug?.toTimeText(this.media.state.currentTime, true) || "-:--";
1052
+ this.syncARIA();
1053
+ }
1054
+ syncARIA() {
1055
+ this.state.label = `Show ${this.plug?.nextMode} time`;
1056
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.timeMode, this.settings.voice.commands.timeMode);
1057
+ this.el.title = `Switch (mode${this.state.cmd} / DblClick\u2192format${formatKeyForDisplay2(this.settings.keys.shortcuts.timeFormat, this.settings.voice.commands.timeFormat)})`;
1058
+ this.setBtnARIA("Switch time format");
1059
+ }
1060
+ };
1061
+ __publicField(TimeButton, "componentName", "time");
1062
+ __publicField(TimeButton, "isControl", true);
1063
+
1064
+ // src/ts/components/controls/duration.ts
1065
+ var import_modules2 = require("sia-reactor/modules");
1066
+ var DurationButton = class extends BaseComponent {
1067
+ get plug() {
1068
+ return this.ctlr.plug("settings.time");
1069
+ }
1070
+ create() {
1071
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-duration-btn tmg-media-control-text-btn", textContent: "-:--" }, { draggableControl: "", controlId: this.name });
1072
+ }
1073
+ wire() {
1074
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1075
+ this.media.on("status.duration", this.syncUI, { signal: this.signal });
1076
+ this.media.on("state.live", (e) => (this.el.classList.toggle("tmg-media-control-live", e.value), this.el.classList.toggle("tmg-media-live-badge", e.value), this.syncARIA()), { signal: this.signal });
1077
+ this.media.on("status.isLive", (e) => (this.media.container.classList.toggle("tmg-media-is-live", e.value), this.syncARIA()), { signal: this.signal });
1078
+ this.ctlr.config.on("settings.time.format", this.syncUI, { init: true, signal: this.signal });
1079
+ this.ctlr.config.on("settings.keys.shortcuts.timeFormat", this.syncARIA, { init: true, signal: this.signal });
1080
+ this.ctlr.config.on("settings.voice.commands.timeFormat", this.syncARIA, { signal: this.signal });
1081
+ }
1082
+ handleClick() {
1083
+ !this.media.status.isLive || this.media.state.live ? this.plug?.rotateFormat() : (0, import_modules2.silence)(() => this.media.intent.live = true);
1084
+ }
1085
+ syncUI() {
1086
+ this.el.textContent = !this.media.status.isLive ? this.plug?.toTimeText(this.media.status.duration) || "-:--" : "Live";
1087
+ }
1088
+ syncARIA() {
1089
+ this.state.label = "Switch time format";
1090
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.timeFormat, this.settings.voice.commands.timeFormat);
1091
+ this.el.title = !this.media.status.isLive || this.media.state.live ? this.state.label + this.state.cmd : "Skip ahead to live broadcast";
1092
+ this.setBtnARIA();
1093
+ }
1094
+ };
1095
+ __publicField(DurationButton, "componentName", "duration");
1096
+ __publicField(DurationButton, "isControl", true);
1097
+
1098
+ // src/ts/components/controls/timeandduration.ts
1099
+ var import_modules3 = require("sia-reactor/modules");
1100
+ var TimeAndDurationButton = class extends BaseComponent {
1101
+ constructor() {
1102
+ super(...arguments);
1103
+ __publicField(this, "time");
1104
+ __publicField(this, "bridge");
1105
+ __publicField(this, "duration");
1106
+ __publicField(this, "liveBadge");
1107
+ }
1108
+ get plug() {
1109
+ return this.ctlr.plug("settings.time");
1110
+ }
1111
+ create() {
1112
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-time-and-duration-btn tmg-media-control-text-btn" }, { draggableControl: "", controlId: this.name });
1113
+ this.time = (0, import_utils2.createEl)("span", { className: "tmg-media-current-time", textContent: "-:--" });
1114
+ this.bridge = (0, import_utils2.createEl)("span", { className: "tmg-media-time-bridge", textContent: "/" });
1115
+ this.duration = (0, import_utils2.createEl)("span", { className: "tmg-media-duration-time", textContent: "-:--" });
1116
+ this.liveBadge = (0, import_utils2.createEl)("span", { className: "tmg-media-live-badge", textContent: "Live" });
1117
+ return this.el.append(this.time, this.bridge, this.duration, this.liveBadge), this.element;
1118
+ }
1119
+ wire() {
1120
+ addSafeClicks(this.element, this.handleClick, this.handleDblClick, { signal: this.signal });
1121
+ this.media.on("state.currentTime", this.syncTime, { signal: this.signal });
1122
+ this.media.on("state.live", (e) => (this.liveBadge.classList.toggle("tmg-media-control-live", e.value), this.syncARIA()), { signal: this.signal });
1123
+ this.media.on("status.duration", this.syncDuration, { signal: this.signal });
1124
+ this.media.on("status.isLive", (e) => (this.media.container.classList.toggle("tmg-media-is-live", e.value), this.syncARIA()), { signal: this.signal });
1125
+ this.ctlr.config.on("settings.time.format", this.syncUI, { init: true, signal: this.signal });
1126
+ this.ctlr.config.on("settings.time.mode", this.syncTime, { signal: this.signal });
1127
+ this.ctlr.config.on("settings.keys.shortcuts.timeMode", this.syncARIA, { init: true, signal: this.signal });
1128
+ this.ctlr.config.on("settings.voice.commands.timeMode", this.syncARIA, { signal: this.signal });
1129
+ this.ctlr.config.on("settings.keys.shortcuts.timeFormat", this.syncARIA, { signal: this.signal });
1130
+ }
1131
+ handleClick() {
1132
+ !this.media.status.isLive || this.media.state.live ? this.plug?.toggleMode() : (0, import_modules3.silence)(() => this.media.intent.live = true);
1133
+ }
1134
+ handleDblClick() {
1135
+ this.plug?.rotateFormat();
1136
+ }
1137
+ syncUI() {
1138
+ this.bridge.textContent = { digital: "/", human: "of", "human-long": "out of" }[this.settings.time.format] || "/";
1139
+ this.syncTime(), this.syncDuration();
1140
+ }
1141
+ syncTime() {
1142
+ this.time.textContent = this.plug?.toTimeText(this.media.state.currentTime, true) || "-:--";
1143
+ }
1144
+ syncDuration() {
1145
+ this.duration.textContent = this.plug?.toTimeText(this.media.status.duration) || "-:--";
1146
+ }
1147
+ syncARIA() {
1148
+ this.state.label = `Show ${this.plug?.nextMode} time`;
1149
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.timeMode, this.settings.voice.commands.timeMode);
1150
+ this.el.title = !this.media.status.isLive || this.media.state.live ? `Switch (mode${this.state.cmd} / DblClick\u2192format${formatKeyForDisplay2(this.settings.keys.shortcuts.timeFormat, this.settings.voice.commands.timeFormat)})` : "Skip ahead to live broadcast";
1151
+ this.setBtnARIA("Switch time format");
1152
+ }
1153
+ };
1154
+ __publicField(TimeAndDurationButton, "componentName", "timeandduration");
1155
+ __publicField(TimeAndDurationButton, "isControl", true);
1156
+
1157
+ // src/ts/components/controls/settings.ts
1158
+ var SettingsButton = class extends BaseComponent {
1159
+ get plug() {
1160
+ return this.ctlr.plug("settings.settingsView");
1161
+ }
1162
+ create() {
1163
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-settings-btn", type: "button", innerHTML: IconRegistry.get("settings") }, { draggableControl: "", controlId: this.name });
1164
+ }
1165
+ wire() {
1166
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1167
+ this.ctlr.config.on("settings.keys.shortcuts.settings", this.syncARIA, { init: true, signal: this.signal });
1168
+ this.ctlr.config.on("settings.voice.commands.settings", this.syncARIA, { signal: this.signal });
1169
+ }
1170
+ handleClick() {
1171
+ const menu = this.plug?.menu;
1172
+ menu ? menu.toggle(this.el) : this.plug?.toggleView();
1173
+ }
1174
+ syncARIA() {
1175
+ this.state.label = "Settings";
1176
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.settings, this.settings.voice.commands.settings);
1177
+ this.el.title = this.state.label + this.state.cmd;
1178
+ this.setBtnARIA();
1179
+ }
1180
+ };
1181
+ __publicField(SettingsButton, "componentName", "settings");
1182
+ __publicField(SettingsButton, "isControl", true);
1183
+
1184
+ // src/ts/components/controls/objectfit.ts
1185
+ var ObjectFitButton = class extends BaseComponent {
1186
+ get plug() {
1187
+ return this.ctlr.plug("settings.objectFit");
1188
+ }
1189
+ create() {
1190
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-object-fit-btn", type: "button", innerHTML: IconRegistry.get("objectfitcontain") + IconRegistry.get("objectfitcover") + IconRegistry.get("objectfitfill") }, { draggableControl: "", controlId: this.name });
1191
+ }
1192
+ wire() {
1193
+ this.media.on("features.objectFit", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1194
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1195
+ this.media.on("state.objectFit", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1196
+ this.ctlr.config.on("settings.keys.shortcuts.objectFit", this.syncARIA, { init: true, signal: this.signal });
1197
+ this.ctlr.config.on("settings.voice.commands.objectFit", this.syncARIA, { signal: this.signal });
1198
+ }
1199
+ handleClick() {
1200
+ this.plug?.rotateFit();
1201
+ }
1202
+ syncARIA() {
1203
+ this.state.label = this.plug?.toLabel(this.plug?.nextFit) || "";
1204
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.objectFit, this.settings.voice.commands.objectFit);
1205
+ this.el.title = this.state.label + this.state.cmd;
1206
+ this.setBtnARIA();
1207
+ }
1208
+ };
1209
+ __publicField(ObjectFitButton, "componentName", "objectfit");
1210
+ __publicField(ObjectFitButton, "isControl", true);
1211
+
1212
+ // src/ts/components/controls/pictureinpicture.ts
1213
+ var PictureInPictureButton = class extends BaseComponent {
1214
+ create() {
1215
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-picture-in-picture-btn", type: "button", innerHTML: IconRegistry.get("enterpip") + IconRegistry.get("leavepip") }, { draggableControl: "", controlId: this.name });
1216
+ }
1217
+ wire() {
1218
+ this.media.on("features.pictureInPicture", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1219
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1220
+ this.media.on("state.pictureInPicture", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1221
+ this.ctlr.config.on("settings.keys.shortcuts.pictureInPicture", this.syncARIA, { init: true, signal: this.signal });
1222
+ this.ctlr.config.on("settings.voice.commands.pictureInPicture", this.syncARIA, { signal: this.signal });
1223
+ }
1224
+ handleClick() {
1225
+ this.media.intent.pictureInPicture = !this.media.state.pictureInPicture;
1226
+ }
1227
+ syncARIA() {
1228
+ this.state.label = this.media.state.pictureInPicture ? "Exit picture in picture" : "Picture in picture";
1229
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.pictureInPicture, this.settings.voice.commands.pictureInPicture);
1230
+ this.el.title = this.state.label + this.state.cmd;
1231
+ this.setBtnARIA();
1232
+ }
1233
+ };
1234
+ __publicField(PictureInPictureButton, "componentName", "pictureinpicture");
1235
+ __publicField(PictureInPictureButton, "isControl", true);
1236
+
1237
+ // src/ts/components/controls/theater.ts
1238
+ var TheaterButton = class extends BaseComponent {
1239
+ create() {
1240
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-theater-btn", type: "button", innerHTML: IconRegistry.get("entertheater") + IconRegistry.get("leavetheater") }, { draggableControl: "", controlId: this.name });
1241
+ }
1242
+ wire() {
1243
+ this.media.on("features.theater", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1244
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1245
+ this.media.on("state.theater", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1246
+ this.ctlr.config.on("settings.keys.shortcuts.theater", this.syncARIA, { init: true, signal: this.signal });
1247
+ this.ctlr.config.on("settings.voice.commands.theater", this.syncARIA, { signal: this.signal });
1248
+ }
1249
+ handleClick() {
1250
+ this.media.intent.theater = !this.media.state.theater;
1251
+ }
1252
+ syncARIA() {
1253
+ this.state.label = this.media.state.theater ? "Default view" : "Cinema mode";
1254
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.theater, this.settings.voice.commands.theater);
1255
+ this.el.title = this.state.label + this.state.cmd;
1256
+ this.setBtnARIA();
1257
+ }
1258
+ };
1259
+ __publicField(TheaterButton, "componentName", "theater");
1260
+ __publicField(TheaterButton, "isControl", true);
1261
+
1262
+ // src/ts/components/controls/capture.ts
1263
+ var CaptureButton = class extends BaseComponent {
1264
+ get plug() {
1265
+ return this.ctlr.plug("settings.frame");
1266
+ }
1267
+ create() {
1268
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-capture-btn", type: "button", innerHTML: IconRegistry.get("capture") }, { draggableControl: "", controlId: this.name });
1269
+ }
1270
+ wire() {
1271
+ this.media.on("features.frameCapture", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1272
+ addSafeClicks(this.el, this.handleClick, this.handleDblClick, { signal: this.signal });
1273
+ this.ctlr.config.on("settings.keys.shortcuts.capture", this.syncARIA, { init: true, signal: this.signal });
1274
+ this.ctlr.config.on("settings.voice.commands.capture", this.syncARIA, { signal: this.signal });
1275
+ }
1276
+ handleClick() {
1277
+ this.plug?.capture();
1278
+ }
1279
+ handleDblClick() {
1280
+ this.plug?.capture("monochrome");
1281
+ }
1282
+ syncARIA() {
1283
+ this.state.label = "Capture frame";
1284
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.capture, this.settings.voice.commands.capture);
1285
+ this.el.title = `Capture${this.state.cmd} \u2194 DblClick\u2192B&W (+alt)`;
1286
+ this.setBtnARIA("Capture monochrome frame");
1287
+ }
1288
+ };
1289
+ __publicField(CaptureButton, "componentName", "capture");
1290
+ __publicField(CaptureButton, "isControl", true);
1291
+
1292
+ // src/ts/components/controls/fullscreen.ts
1293
+ var FullscreenButton = class extends BaseComponent {
1294
+ create() {
1295
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-fullscreen-btn", type: "button", innerHTML: IconRegistry.get("enterfullscreen") + IconRegistry.get("leavefullscreen") }, { draggableControl: "", controlId: this.name });
1296
+ }
1297
+ wire() {
1298
+ this.media.on("features.fullscreen", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1299
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1300
+ this.media.on("state.fullscreen", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1301
+ this.ctlr.config.on("settings.keys.shortcuts.fullscreen", this.syncARIA, { init: true, signal: this.signal });
1302
+ this.ctlr.config.on("settings.voice.commands.fullscreen", this.syncARIA, { signal: this.signal });
1303
+ }
1304
+ handleClick() {
1305
+ this.media.intent.fullscreen = !this.media.state.fullscreen;
1306
+ }
1307
+ syncARIA() {
1308
+ this.state.label = this.media.state.fullscreen ? "Exit full screen" : "Full screen";
1309
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.fullscreen, this.settings.voice.commands.fullscreen);
1310
+ this.el.title = this.state.label + this.state.cmd;
1311
+ this.setBtnARIA();
1312
+ }
1313
+ };
1314
+ __publicField(FullscreenButton, "componentName", "fullscreen");
1315
+ __publicField(FullscreenButton, "isControl", true);
1316
+
1317
+ // src/ts/components/controls/fullscreenlock.ts
1318
+ var FullscreenLockButton = class extends BaseComponent {
1319
+ create() {
1320
+ this.element = (0, import_utils2.createEl)("button", { type: "button", className: "tmg-media-fullscreen-locked-btn", innerHTML: IconRegistry.get("lock") }, { draggableControl: "", controlId: this.name });
1321
+ return this.hide(), this.element;
1322
+ }
1323
+ wire() {
1324
+ this.media.on("features.fullscreen", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1325
+ this.media.on("features.locked", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1326
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1327
+ this.media.on("state.fullscreen", () => this[this.canShow ? "show" : "hide"](), { init: this.ctlr.payload.wired, signal: this.signal });
1328
+ this.syncARIA();
1329
+ }
1330
+ handleClick() {
1331
+ this.media.intent.locked = true;
1332
+ }
1333
+ syncARIA() {
1334
+ this.el.title = this.state.label = "Lock Screen";
1335
+ this.setBtnARIA();
1336
+ }
1337
+ get canShow() {
1338
+ return this.media.state.fullscreen && !!this.media.features.fullscreen && !!this.media.features.locked;
1339
+ }
1340
+ };
1341
+ __publicField(FullscreenLockButton, "componentName", "fullscreenlock");
1342
+ __publicField(FullscreenLockButton, "isControl", true);
1343
+
1344
+ // src/ts/components/controls/fullscreenorientation.ts
1345
+ var FullscreenOrientationButton = class extends BaseComponent {
1346
+ get pin() {
1347
+ return this.ctlr.plug("settings.modes")?.fullscreen;
1348
+ }
1349
+ create() {
1350
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-fullscreen-orientation-btn", type: "button", innerHTML: IconRegistry.get("fullscreenorientation") }, { draggableControl: "", controlId: this.name });
1351
+ return this.hide(), this.element;
1352
+ }
1353
+ wire() {
1354
+ this.media.on("features.fullscreen", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1355
+ this.media.on("features.fullscreenOrientation", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1356
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1357
+ this.media.on("state.fullscreen", () => this[this.canShow ? "show" : "hide"](), { init: this.ctlr.payload.wired, signal: this.signal });
1358
+ this.syncARIA();
1359
+ }
1360
+ handleClick() {
1361
+ this.pin?.changeScreenOrientation();
1362
+ }
1363
+ syncARIA() {
1364
+ this.el.title = this.state.label = "Change orientation";
1365
+ this.setBtnARIA();
1366
+ }
1367
+ get canShow() {
1368
+ return this.media.state.fullscreen && !!this.media.features.fullscreen && !!this.media.features.fullscreenOrientation;
1369
+ }
1370
+ };
1371
+ __publicField(FullscreenOrientationButton, "componentName", "fullscreenorientation");
1372
+ __publicField(FullscreenOrientationButton, "isControl", true);
1373
+
1374
+ // src/ts/components/controls/removeminiplayer.ts
1375
+ var RemoveMiniplayerButton = class extends BaseComponent {
1376
+ get pin() {
1377
+ return this.ctlr.plug("settings.modes")?.miniplayer;
1378
+ }
1379
+ create() {
1380
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-miniplayer-remove-btn", type: "button", innerHTML: IconRegistry.get("removeminiplayer") }, { draggableControl: "", controlId: this.name });
1381
+ }
1382
+ wire() {
1383
+ this.media.on("features.miniplayer", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1384
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1385
+ this.syncARIA();
1386
+ }
1387
+ handleClick() {
1388
+ this.pin?.remove();
1389
+ }
1390
+ syncARIA() {
1391
+ this.state.label = "Remove miniplayer";
1392
+ this.state.cmd = " (Escape)";
1393
+ this.el.title = this.state.label + this.state.cmd;
1394
+ this.setBtnARIA();
1395
+ }
1396
+ };
1397
+ __publicField(RemoveMiniplayerButton, "componentName", "removeminiplayer");
1398
+ __publicField(RemoveMiniplayerButton, "isControl", true);
1399
+
1400
+ // src/ts/components/controls/expandminiplayer.ts
1401
+ var ExpandMiniplayerButton = class extends BaseComponent {
1402
+ get pin() {
1403
+ return this.ctlr.plug("settings.modes")?.miniplayer;
1404
+ }
1405
+ create() {
1406
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-miniplayer-expand-btn", type: "button", innerHTML: IconRegistry.get("expandminiplayer") }, { draggableControl: "", controlId: this.name });
1407
+ }
1408
+ wire() {
1409
+ this.media.on("features.miniplayer", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1410
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
1411
+ this.syncARIA();
1412
+ }
1413
+ handleClick() {
1414
+ this.pin?.expand();
1415
+ }
1416
+ syncARIA() {
1417
+ this.el.title = this.state.label = "Expand miniplayer";
1418
+ this.setBtnARIA();
1419
+ }
1420
+ };
1421
+ __publicField(ExpandMiniplayerButton, "componentName", "expandminiplayer");
1422
+ __publicField(ExpandMiniplayerButton, "isControl", true);
1423
+
1424
+ // src/ts/utils/time.ts
1425
+ function formatMediaTime({ time, format = "digital", elapsed = true, showMs = false, casing = "normal" } = { time: 0 }) {
1426
+ const long = format.endsWith("long"), sx = (n = 0) => n == 1 ? "" : "s", cs = (str) => casing === "upper" ? str.toUpperCase() : casing === "title" ? str.replace(/^([a-z])/i, (m2) => m2.toUpperCase()) : str.toLowerCase(), wrd = (n = 0) => ({ d: cs(long ? " day" + sx(n) + " " : "d"), h: cs(long ? " hour" + sx(n) + " " : "h"), m: cs(long ? " minute" + sx(n) + " " : "m"), s: cs(long ? " second" + sx(n) + " " : "s"), ms: cs(long ? " millisecond" + sx(n) + " " : "ms") }), pad = (v, n = 2, f) => long && !f ? v : String(v).padStart(n, isNum(+n) ? "0" : "-");
1427
+ if (isNaN(time ?? NaN) || time === Infinity) return format !== "digital" ? ("-" + wrd().h + pad("-") + wrd().m + (!elapsed ? "left" : "")).trim() : !elapsed ? "-:--" : "-:--";
1428
+ const s = Math.floor(Math.abs(time) % 60), m = Math.floor(Math.abs(time) / 60) % 60, h = Math.floor(Math.abs(time) / 3600) % 24, d = Math.floor(Math.abs(time) / 86400), ms = Math.floor(Math.abs(time) % 1 * 1e3);
1429
+ if (format === "digital") {
1430
+ const base2 = d ? d + ":" + pad(h, 2, true) + ":" + pad(m, 2, true) + ":" + pad(s, 2, true) : h ? h + ":" + pad(m, 2, true) + ":" + pad(s, 2, true) : m + ":" + pad(s, 2, true);
1431
+ return !elapsed ? "-" + base2 : base2;
1432
+ }
1433
+ const base = d ? d + wrd(d).d + pad(h) + wrd(h).h + pad(m) + wrd(m).m + pad(s) + wrd(s).s : h ? h + wrd(h).h + pad(m) + wrd(m).m + pad(s) + wrd(s).s : m + wrd(m).m + pad(s) + wrd(s).s, msPart = showMs && ms ? pad(ms, 3) + wrd(ms).ms : "";
1434
+ return (base + msPart + (!long ? " " : "") + (!elapsed ? "left" : "")).trim();
1435
+ }
1436
+
1437
+ // src/ts/utils/env.ts
1438
+ var win2 = "undefined" !== typeof window ? window : void 0;
1439
+ var nav = win2?.navigator;
1440
+ var ua = nav?.userAgent || "";
1441
+ var uaData = nav?.userAgentData;
1442
+ var IS_ANDROID = false;
1443
+ var IS_WINDOWS = false;
1444
+ var IS_FIREFOX = false;
1445
+ var IS_EDGE = false;
1446
+ var IS_CHROME = false;
1447
+ var IS_CHROMIUM = false;
1448
+ var IS_SAFARI = false;
1449
+ var IS_IE = false;
1450
+ var IS_TIZEN = false;
1451
+ var IS_WEBOS = false;
1452
+ var IS_IPOD = false;
1453
+ var IS_IPAD = false;
1454
+ var IS_IPHONE = false;
1455
+ var IOS_VERSION = null;
1456
+ var ANDROID_VERSION = null;
1457
+ var CHROME_VERSION = null;
1458
+ var CHROMIUM_VERSION = null;
1459
+ var IE_VERSION = null;
1460
+ var IS_IOS = false;
1461
+ var IS_MOBILE = false;
1462
+ var IS_SMART_TV = false;
1463
+ var IS_CHROMECAST_RECEIVER = Boolean(win2?.cast?.framework?.CastReceiverContext);
1464
+ var MSE_ENABLED = Boolean(win2 && ("MediaSource" in win2 || "webkitMediaSource" in win2));
1465
+ var TOUCH_ENABLED = Boolean(win2 && ("ontouchstart" in win2 || nav?.maxTouchPoints || win2.DocumentTouch && win2.document instanceof win2.DocumentTouch));
1466
+ if (uaData?.platform && uaData?.brands) {
1467
+ const pickVersion = (brands, needle) => brands.find((b) => b.brand === needle && b.version)?.version || null;
1468
+ IS_ANDROID = uaData.platform === "Android";
1469
+ IS_WINDOWS = uaData.platform === "Windows";
1470
+ IS_EDGE = uaData.brands.some((b) => b.brand === "Microsoft Edge");
1471
+ IS_CHROMIUM = uaData.brands.some((b) => b.brand === "Chromium" || b.brand === "Google Chrome");
1472
+ IS_CHROME = IS_CHROMIUM && !IS_EDGE;
1473
+ CHROMIUM_VERSION = CHROME_VERSION = pickVersion(uaData.brands, "Chromium") || pickVersion(uaData.brands, "Google Chrome");
1474
+ }
1475
+ if (true) {
1476
+ IS_ANDROID || (IS_ANDROID = /Android/i.test(ua));
1477
+ IS_WINDOWS || (IS_WINDOWS = /Windows/i.test(ua));
1478
+ IS_FIREFOX = /Firefox|FxiOS/i.test(ua);
1479
+ IS_EDGE || (IS_EDGE = /Edg|EdgiOS/i.test(ua));
1480
+ IS_CHROMIUM || (IS_CHROMIUM = /Chrome|CriOS/i.test(ua));
1481
+ IS_CHROME = IS_CHROMIUM && !IS_EDGE;
1482
+ IS_SAFARI = /Safari/i.test(ua) && !IS_CHROME && !IS_FIREFOX && !IS_EDGE;
1483
+ IS_IE = /MSIE|(Trident\/7.0)|(rv:11.0)/i.test(ua);
1484
+ IS_TIZEN = /Tizen/i.test(ua);
1485
+ IS_WEBOS = /Web0S/i.test(ua);
1486
+ IS_IPOD = /iPod/i.test(ua);
1487
+ IS_IPAD = /iPad/i.test(ua) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(ua);
1488
+ IS_IPHONE = /iPhone/i.test(ua) && !IS_IPAD;
1489
+ IOS_VERSION = ua.match(/OS (\d+)_/i)?.[1] ?? null;
1490
+ ANDROID_VERSION = ua.match(/Android\s(\d+(?:\.\d+)+)/i)?.[1] ?? null;
1491
+ CHROMIUM_VERSION = CHROME_VERSION = ua.match(/(?:Chrome|CriOS)\/(\d+)/)?.[1] ?? CHROMIUM_VERSION;
1492
+ IE_VERSION = ua.match(/MSIE\s(\d+)\.\d/)?.[1] || (/Trident\/7.0/i.test(ua) && /rv:11.0/.test(ua) ? "11.0" : null);
1493
+ }
1494
+ IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;
1495
+ IS_MOBILE = Boolean(IS_ANDROID || IS_IPHONE || IS_IPOD || IS_IPAD);
1496
+ IS_SMART_TV = IS_TIZEN || IS_WEBOS;
1497
+
1498
+ // src/ts/utils/media.ts
1499
+ var import_utils24 = require("sia-reactor/utils");
1500
+ function getMediaProgress({ state: s, status: st }, time = s.currentTime) {
1501
+ if (st.isLive) {
1502
+ if (!st.seekable.length || s.live) return 1;
1503
+ const min = st.seekable.start(0), dvr = st.seekable.end(st.seekable.length - 1) - min;
1504
+ return dvr > 0 ? (time - min) / dvr : 1;
1505
+ } else return time / st.duration;
1506
+ }
1507
+ var getMediaTime = (media, percent, _min = getMediaMin(media)) => media.status.isLive ? _min + percent * (getMediaMax(media) - _min) : percent * media.status.duration;
1508
+ var getMediaMin = ({ status: st, state: s }) => st.isLive ? st.seekable.length ? st.canSeekLive ? st.seekable.start(0) : st.seekable.end(st.seekable.length - 1) : s.currentTime : 0;
1509
+ var getMediaMax = ({ status: st, state: s }) => st.isLive ? st.seekable.length ? st.seekable.end(st.seekable.length - 1) : s.currentTime : st.duration;
1510
+ var DUMMY_VID = (0, import_utils2.createEl)("video");
1511
+ var DUMMY_AUD = (0, import_utils2.createEl)("audio");
1512
+ var stripTags = (text) => text.replace(/<(\/)?([a-z0-9.:]+)([^>]*)>/gi, "");
1513
+ function parseVttText(text) {
1514
+ const state = { tag: /<(\/)?([a-z0-9.:]+)([^>]*)>/gi, o: "", l: 0, p: null, c: "" }, esc = (s) => s.replace(/[&<>"']/g, (c) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[c]);
1515
+ let m;
1516
+ while (m = state.tag.exec(text)) {
1517
+ const chunk = text.slice(state.l, m.index);
1518
+ if (chunk) state.c += esc(chunk);
1519
+ const [_, cls, tag_n, rest] = m, low = tag_n.toLowerCase();
1520
+ if (/^[0-9]/.test(tag_n)) {
1521
+ state.o += state.p ? `<span data-part="timed" data-time="${state.p}">${state.c}</span>` : state.c;
1522
+ state.p = tag_n;
1523
+ state.c = "";
1524
+ } else if (cls) state.c += ["c", "v", "lang"].includes(low) ? "</span>" : `</${low}>`;
1525
+ else if (["b", "i", "u", "ruby", "rt"].includes(low)) state.c += `<${low}>`;
1526
+ else if (low === "c") state.c += `<span class="vtt-c ${rest.replace(/\.([a-z0-9_-]+)/gi, "$1 ").trim()}">`;
1527
+ else if (low === "v") state.c += `<span data-part="voice"${rest.trim() ? ` title="${esc(rest.trim())}"` : ""}>`;
1528
+ else if (low === "lang") state.c += `<span lang="${esc(rest.trim())}">`;
1529
+ state.l = state.tag.lastIndex;
1530
+ }
1531
+ const lChunk = text.slice(state.l);
1532
+ if (lChunk) state.c += esc(lChunk);
1533
+ return state.o + (state.p ? `<span data-part="timed" data-time="${state.p}">${state.c}</span>` : state.c);
1534
+ }
1535
+ function formatVttLine(p, maxChars) {
1536
+ const state = { tokens: p.match(/<[^>]+>|\S+/g) || [], stack: [], parts: [], line: "", len: 0, openStr: "", closeStr: "", timeTag: "", lastWasTag: false }, updateTags = () => (state.openStr = state.stack.map((n) => `<${n}>`).join(""), state.closeStr = state.stack.reduceRight((a, n) => a + `</${n}>`, "")), flush = () => state.line && (state.parts.push(state.line + state.closeStr), state.line = (state.timeTag || "") + state.openStr, state.len = 0, state.lastWasTag = true);
1537
+ for (const tok of state.tokens) {
1538
+ const tag = tok[0] === "<", closeTag = tag && tok[1] === "/";
1539
+ if (tag) {
1540
+ if (state.line && !state.lastWasTag && !closeTag) state.line += " ";
1541
+ const m = tok.match(/^<\/?\s*([a-z0-9._:-]+)/i), n = m?.[1] || "", timing = /^\d/.test(n);
1542
+ if (timing) {
1543
+ state.timeTag = tok, state.line += tok, state.lastWasTag = true;
1544
+ continue;
1545
+ }
1546
+ if (!closeTag && !tok.endsWith("/>") && n) state.stack.push(n), updateTags();
1547
+ if (closeTag && state.stack.length) state.stack.pop(), updateTags();
1548
+ state.lastWasTag = true, state.line += tok;
1549
+ continue;
1550
+ }
1551
+ const len = stripTags(tok).length, needSpace = state.line && !state.lastWasTag;
1552
+ if (state.len + (needSpace ? 1 : 0) + len > maxChars) flush();
1553
+ if (needSpace) state.line += " ", state.len += 1;
1554
+ state.line += tok, state.len += len, state.lastWasTag = false;
1555
+ }
1556
+ return flush(), state.parts;
1557
+ }
1558
+
1559
+ // src/ts/components/controls/timeline/index.ts
1560
+ var import_modules4 = require("sia-reactor/modules");
1561
+ var Timeline = class extends RangeInput {
1562
+ constructor(ctlr, config) {
1563
+ super(ctlr, config);
1564
+ __publicField(this, "chaptersWrapper");
1565
+ __publicField(this, "previewContainer");
1566
+ __publicField(this, "previewImg");
1567
+ __publicField(this, "previewCanvas");
1568
+ __publicField(this, "thumbnailImg");
1569
+ __publicField(this, "thumbnailCanvas");
1570
+ __publicField(this, "previewContext", null);
1571
+ __publicField(this, "thumbnailContext", null);
1572
+ __publicField(this, "wasPaused", false);
1573
+ __publicField(this, "scrubbingId", -1);
1574
+ }
1575
+ get plug() {
1576
+ return this.ctlr.plug("settings.time");
1577
+ }
1578
+ getProgress(time) {
1579
+ return getMediaProgress(this.media, time);
1580
+ }
1581
+ getTime(percent) {
1582
+ return getMediaTime(this.media, percent);
1583
+ }
1584
+ create() {
1585
+ this.element = super.create();
1586
+ this.el.dataset.controlId = this.name;
1587
+ this.previewContainer = (0, import_utils2.createEl)("div", { className: "tmg-media-preview-container" });
1588
+ this.previewImg = (0, import_utils2.createEl)("div", { className: "tmg-media-preview" });
1589
+ this.previewCanvas = (0, import_utils2.createEl)("canvas", { className: "tmg-media-preview" });
1590
+ this.previewContext = this.previewCanvas.getContext("2d", { alpha: false });
1591
+ this.thumbnailImg = (0, import_utils2.createEl)("div", { className: "tmg-media-thumbnail tmg-media-filtered tmg-media-object" });
1592
+ this.thumbnailCanvas = (0, import_utils2.createEl)("canvas", { className: "tmg-media-thumbnail tmg-media-filtered tmg-media-object" });
1593
+ this.thumbnailContext = this.thumbnailCanvas.getContext("2d", { alpha: false });
1594
+ this.el.classList.add("tmg-media-timeline-container"), this.barsWrapper.classList.add("tmg-media-timeline-bars-wrapper", "tmg-media-timeline"), this.thumbEl.classList.add("tmg-media-timeline-thumb");
1595
+ this.previewContainer.append(this.previewImg, this.previewCanvas);
1596
+ return this.el.append(this.previewContainer), this.el;
1597
+ }
1598
+ mount() {
1599
+ this.ctlr.DOM.controlsContainer?.prepend(this.thumbnailImg, this.thumbnailCanvas);
1600
+ }
1601
+ wire() {
1602
+ super.wire();
1603
+ this.media.pseudoElement.addEventListener("timeupdate", this.syncCanvasPreviews, { signal: this.signal });
1604
+ this.state.on("scrubbing", this.handleScrubbing, { signal: this.signal });
1605
+ this.state.on("previewing", ({ value }) => value ? (this.media.container.classList.add("tmg-media-previewing"), this.clearCanvasPreviews()) : (0, import_utils6.setTimeout)(() => this.media.container.classList.remove("tmg-media-previewing"), 0, this.signal), { signal: this.signal });
1606
+ this.state.on("cancelScrub", ({ value }) => this.ctlr.plug("settings.notifiers")?.comp("cancelscrubnotifier")?.el.classList.toggle("tmg-media-control-active", value), { signal: this.signal });
1607
+ this.config.on("previewValue", this.syncPreviewText, { init: true, signal: this.signal });
1608
+ this.config.on("previews", this.handlePreviews, { init: true, signal: this.signal });
1609
+ this.config.on("autopause", ({ value }) => [this.thumbnailCanvas, this.thumbnailImg].forEach((el) => el.classList.toggle("tmg-media-control-hidden", !value)), { init: true, signal: this.signal });
1610
+ this.config.on("compact", ({ value }) => this.el.classList.toggle("tmg-media-control-compact", value), { init: true, signal: this.signal });
1611
+ this.config.on("bufferMarks", () => this.syncMarks(this.config.marks, true), { init: true, signal: this.signal });
1612
+ this.config.on("playedMarks", () => this.syncMarks(this.config.marks, true), { init: true, signal: this.signal });
1613
+ this.media.on("state.paused", ({ value }) => !value ? this.ctlr.RAFLoop(`${this.config.label}Updating`, this.syncValue, this.signal) : this.ctlr.cancelRAFLoop(`${this.config.label}Updating`), { init: this.ctlr.payload.wired, signal: this.signal });
1614
+ this.media.on("state.currentTime", this.handleCurrentTime, { init: this.ctlr.payload.wired, signal: this.signal });
1615
+ this.media.on("intent.currentTime", this.handleCurrentTime, { signal: this.signal });
1616
+ this.media.on("status.buffered", this.handleBufferedStatus, { init: this.ctlr.payload.wired, signal: this.signal });
1617
+ this.media.on("status.played", () => this.config.playedMarks && this.syncMarks(this.config.marks, true), { init: this.ctlr.payload.wired, signal: this.signal });
1618
+ this.media.on("status.duration", ({ value }) => this.el.ariaValueMax = String(Math.floor(value)), { init: this.ctlr.payload.wired, signal: this.signal });
1619
+ this.media.on("status.error", ({ value }) => value && this.syncChunks("buffer", 0), { init: this.ctlr.payload.wired, signal: this.signal });
1620
+ this.media.on("status.isLive", ({ value }) => this.config.readonly = value && !this.media.status.canSeekLive, { init: this.ctlr.payload.wired, signal: this.signal });
1621
+ this.media.on("status.canSeekLive", ({ value }) => this.config.readonly = !value && !!this.media.status.isLive, { init: this.ctlr.payload.wired, signal: this.signal });
1622
+ this.media.on("settings.metadata.chapterInfo", this.handleMetadataChapterInfoSetting, { init: this.ctlr.payload.wired, signal: this.signal });
1623
+ this.ctlr.config.on("settings.time.format", this.syncPreviewText, { init: true, signal: this.signal });
1624
+ this.ctlr.config.on("settings.time.mode", this.syncPreviewText, { signal: this.signal });
1625
+ this.ctlr.config.on("settings.css.currentObjectWidth", ({ value }) => this.thumbnailCanvas.width = parseInt(value), { init: true, signal: this.signal });
1626
+ this.ctlr.config.on("settings.css.currentObjectHeight", ({ value }) => this.thumbnailCanvas.height = parseInt(value), { init: true, signal: this.signal });
1627
+ }
1628
+ scrub(value, bypass) {
1629
+ return super.scrub(value, bypass) ? (!bypass && (this.media.intent.currentTime = safeNum(this.getTime(value / 100))), true) : false;
1630
+ }
1631
+ handleCurrentTime({ target, rejectable, resolved }) {
1632
+ if (this.state.scrubbing || rejectable && !resolved) return;
1633
+ if (this.media.state.paused) this.syncValue(false, target.value);
1634
+ this.el.ariaValueText = `${formatMediaTime({ time: target.value, format: "human-long" })} of ${formatMediaTime({ time: this.media.status.duration, format: "human-long" })}`;
1635
+ }
1636
+ // !a full embodiment for near native range perf but close enough
1637
+ handleBufferedStatus({ value }) {
1638
+ this.config.bufferMarks && this.syncMarks(this.config.marks, true);
1639
+ for (let i = 0; i < value.length; i++) if (value.start(value.length - 1 - i) < this.media.state.currentTime) return void this.syncChunks("buffer", this.getPosValue(safeNum(value.end(value.length - 1 - i) / getMediaMax(this.media))));
1640
+ }
1641
+ syncValue(auto = true, value = this.media.state.currentTime) {
1642
+ if (auto && !this.ctlr.state.mediaIntersecting) return;
1643
+ if (!this.state.scrubbing) this.config.value = safeNum(this.getProgress(value)) * 100;
1644
+ }
1645
+ handleScrubbing({ value }) {
1646
+ this.media.container.classList.toggle("tmg-media-scrubbing", value);
1647
+ if (!value) {
1648
+ this.config.autopause && (0, import_modules4.silence)(() => this.media.intent.paused = this.wasPaused);
1649
+ cancelAnimationFrame(this.scrubbingId);
1650
+ this.ctlr.plug("settings.notifiers")?.comp("scrubnotifier")?.inactive();
1651
+ } else {
1652
+ this.wasPaused = this.media.state.paused;
1653
+ this.scrubbingId = (0, import_utils6.requestAnimationFrame)(() => {
1654
+ this.config.autopause && (0, import_modules4.silence)(() => this.media.intent.paused = true);
1655
+ IS_MOBILE && this.ctlr.plug("settings.notifiers")?.comp("scrubnotifier")?.active();
1656
+ }, this.signal);
1657
+ this.clearCanvasPreviews();
1658
+ }
1659
+ }
1660
+ handlePreviews({ target }) {
1661
+ const value = target.value === true ? {} : target.value;
1662
+ this.media.container.classList.toggle("tmg-media-no-previews", !value || this.media.type !== "video");
1663
+ if (!value || this.media.type !== "video") return void (this.media.container.dataset.previewType = "none");
1664
+ const manual = value.address && (value.spf || value.cols && value.rows), type = manual ? value.cols && value.rows ? "sprite" : "image" : "canvas";
1665
+ this.media.container.dataset.previewType = type;
1666
+ if (type === "sprite" && value.address) this.settings.css.currentPreviewUrl = this.settings.css.currentThumbnailUrl = `url(${value.address})`;
1667
+ else this.settings.css.currentPreviewPosition = this.settings.css.currentThumbnailPosition = "center";
1668
+ }
1669
+ handleMetadataChapterInfoSetting({ value }) {
1670
+ if (!value || value.length < 2) return void (this.config.divs = []);
1671
+ const divs = [];
1672
+ for (let i = 0, len = value.length; i < len; i++) divs.push({ value: value[i].startTime / getMediaMax(this.media) * 100, label: value[i].title });
1673
+ this.config.divs = divs;
1674
+ }
1675
+ stopScrubbing() {
1676
+ if (!this.state.scrubbing) return;
1677
+ if (!this.state.cancelScrub) this.media.intent.currentTime = this.getTime(this.config.value / 100);
1678
+ super.stopScrubbing();
1679
+ }
1680
+ onInput(_e, pos) {
1681
+ this.ctlr.throttle(
1682
+ `${this.config.label}Previewing`,
1683
+ () => {
1684
+ this.syncElPos(this.previewContainer, !this.config.compact ? pos : 0.5, false, true);
1685
+ const previews = this.config.previews, type = this.media.container.dataset.previewType;
1686
+ if (type === "sprite" && previews && !isBool(previews) && previews.cols && previews.rows) {
1687
+ const frameIndex = Math.floor(pos * getMediaMax(this.media) / (previews.spf || 1)) || 1, { cols, rows } = previews, clampedI = Math.min(frameIndex, cols * rows - 1), xPercent = clampedI % cols * 100 / (cols - 1 || 1), yPercent = Math.floor(clampedI / cols) * 100 / (rows - 1 || 1);
1688
+ if (!this.config.compact) this.settings.css.currentPreviewPosition = `${xPercent}% ${yPercent}%`;
1689
+ if (this.state.scrubbing && this.config.autopause) this.settings.css.currentThumbnailPosition = `${xPercent}% ${yPercent}%`;
1690
+ } else if (type === "image" && previews && !isBool(previews) && previews.address) {
1691
+ const frameIndex = Math.floor(pos * getMediaMax(this.media) / (previews.spf || 1)) || 1, url = `url(${previews.address.replace("$", String(frameIndex))})`;
1692
+ if (!this.config.compact) this.settings.css.currentPreviewUrl = url;
1693
+ if (this.state.scrubbing && this.config.autopause) this.settings.css.currentThumbnailUrl = url;
1694
+ } else if (previews && !this.ctlr.state.frameReadyPromise) this.media.pseudoElement.currentTime = safeNum(this.getTime(pos));
1695
+ },
1696
+ 30
1697
+ );
1698
+ }
1699
+ syncPreviewText() {
1700
+ if (this.plug) this.previewContainer.dataset.previewText = `${this.plug.toTimeText(this.getTime(this.config.previewValue / 100), true)} ${this.getValueChunk(this.config.previewValue)?.label || ""}`.trim();
1701
+ }
1702
+ syncCanvasPreviews() {
1703
+ if (!this.previewContext || !this.thumbnailContext || !this.media.status.loadedData || this.ctlr.state.frameReadyPromise || this.media.pseudoElement.readyState < 2) return;
1704
+ this.ctlr.throttle(
1705
+ "canvasPreviewSync",
1706
+ () => {
1707
+ this.previewCanvas.width = this.previewCanvas.clientWidth || this.previewCanvas.width;
1708
+ this.previewCanvas.height = this.previewCanvas.clientHeight || this.previewCanvas.height;
1709
+ if (!this.config.compact) this.previewContext.drawImage(this.media.pseudoElement, 0, 0, this.previewCanvas.width, this.previewCanvas.height);
1710
+ if (this.state.scrubbing && this.config.autopause) this.thumbnailContext.drawImage(this.media.pseudoElement, 0, 0, this.thumbnailCanvas.width, this.thumbnailCanvas.height);
1711
+ },
1712
+ 33
1713
+ );
1714
+ }
1715
+ clearCanvasPreviews(bool = this.media.container.dataset.previewType === "canvas" && this.media.pseudoElement.readyState < 2) {
1716
+ bool && (this.ctlr.setCanvasFallback(this.previewCanvas, this.previewContext), this.ctlr.setCanvasFallback(this.thumbnailCanvas, this.thumbnailContext));
1717
+ }
1718
+ syncDivs(divs = this.config.divs) {
1719
+ super.syncDivs(divs);
1720
+ for (let i = 0, len = this.chunks.length; i < len; i++) {
1721
+ const c = this.chunks[i];
1722
+ c.el.classList.add("tmg-media-timeline-chapter"), c.base.classList.add("tmg-media-timeline-base-bar", "tmg-media-timeline-bar"), c.preview.classList.add("tmg-media-timeline-preview-bar", "tmg-media-timeline-bar"), c.value.classList.add("tmg-media-timeline-played-bar", "tmg-media-timeline-bar");
1723
+ c.el.insertBefore(c.buffer = (0, import_utils2.createEl)("div", { className: "tmg-media-range-bar tmg-media-buffered-bar tmg-media-timeline-buffered-bar tmg-media-timeline-bar" }), c.value);
1724
+ }
1725
+ this.handleBufferedStatus({ value: this.media.status.buffered });
1726
+ }
1727
+ syncMarks(marks = this.config.marks, extras = false) {
1728
+ if (extras && !this.ctlr.payload.wired) return;
1729
+ const agg = [...marks], buf = this.media.status.buffered, ply = this.media.status.played, max = getMediaMax(this.media) || 1;
1730
+ if (this.config.bufferMarks)
1731
+ for (let i = 0, len = buf.length; i < len; i++) {
1732
+ const start = buf.start(i), end = buf.end(i);
1733
+ agg.push({ start: start / max * 100, end: end / max * 100, label: `${formatMediaTime({ time: start })}${end > start + 1 ? ` - ${formatMediaTime({ time: end })}` : ""} Loaded`, type: "buffered" });
1734
+ }
1735
+ if (this.config.playedMarks)
1736
+ for (let i = 0, len = ply.length; i < len; i++) {
1737
+ const start = ply.start(i), end = ply.end(i);
1738
+ agg.push({ start: start / max * 100, end: end / max * 100, label: `${formatMediaTime({ time: start })}${end > start + 1 ? ` - ${formatMediaTime({ time: end })}` : ""} Played`, type: "played" });
1739
+ }
1740
+ super.syncMarks(agg);
1741
+ }
1742
+ };
1743
+ __publicField(Timeline, "componentName", "timeline");
1744
+ // enforced name
1745
+ __publicField(Timeline, "isControl", true);
1746
+
1747
+ // src/ts/components/controls/volume/slider.ts
1748
+ var VolumeSlider = class extends RangeInput {
1749
+ get plug() {
1750
+ return this.ctlr.plug("settings.volume");
1751
+ }
1752
+ constructor(ctlr, config) {
1753
+ super(ctlr, { label: "Volume Slider", ...config });
1754
+ }
1755
+ wire() {
1756
+ super.wire();
1757
+ this.config.set("value", (v) => Math.max(this.plug?.shouldToggle ? 0 : this.settings.volume.min, v), { signal: this.signal });
1758
+ this.config.set("previewValue", (v) => Math.max(this.plug?.shouldToggle ? 0 : this.settings.volume.min, v), { signal: this.signal });
1759
+ this.media.on("state.volume", this.handleVolumeState, { init: this.ctlr.payload.wired, signal: this.signal });
1760
+ this.ctlr.config.on("settings.volume.max", this.handleVolumeMax, { init: true, signal: this.signal });
1761
+ }
1762
+ scrub(value, bypass) {
1763
+ return super.scrub(value, bypass) ? (this.plug?.handleSliderInput(value), true) : false;
1764
+ }
1765
+ handleVolumeState({ value }) {
1766
+ if (!this.state.scrubbing) this.config.previewValue = this.config.value = value;
1767
+ }
1768
+ handleVolumeMax({ value }) {
1769
+ this.config.max = value;
1770
+ this.config.divs = value > 100 ? [{ value: 0, label: "" }, { value: 100, label: `<strong style="color: var(--tmg-media-range-track-boost-color, red); vertical-align: 4%;">\u2191</strong>` }] : [];
1771
+ }
1772
+ };
1773
+
1774
+ // src/ts/components/controls/volume/index.ts
1775
+ var VolumeControl = class extends BaseComponent {
1776
+ constructor() {
1777
+ super(...arguments);
1778
+ __publicField(this, "slider");
1779
+ __publicField(this, "button");
1780
+ __publicField(this, "sliderWrapper");
1781
+ __publicField(this, "delayActiveId");
1782
+ }
1783
+ get plug() {
1784
+ return this.ctlr.plug("settings.volume");
1785
+ }
1786
+ create() {
1787
+ this.slider = new VolumeSlider(this.ctlr, this.config);
1788
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-volume-container tmg-media-vb-container" }, { draggableControl: "", controlId: this.name });
1789
+ this.button = (0, import_utils2.createEl)("button", { className: "tmg-media-mute-btn tmg-media-vb-btn", type: "button", innerHTML: IconRegistry.get("volumehigh") + IconRegistry.get("volumelow") + IconRegistry.get("volumemuted") });
1790
+ this.sliderWrapper = (0, import_utils2.createEl)("span", { className: "tmg-media-volume-slider-wrapper tmg-media-vb-slider-wrapper" });
1791
+ const sliderEl = this.slider.create();
1792
+ sliderEl.classList.add("tmg-media-vb-slider", "tmg-media-volume-slider");
1793
+ this.sliderWrapper.append(sliderEl);
1794
+ return this.el.append(this.button, this.sliderWrapper), this.el;
1795
+ }
1796
+ mount() {
1797
+ this.slider.setup();
1798
+ }
1799
+ wire() {
1800
+ this.media.on("features.volume", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1801
+ this.button.addEventListener("click", this.handleClick, { signal: this.signal });
1802
+ this.el.addEventListener("mousemove", this.startActive, { signal: this.signal });
1803
+ this.el.addEventListener("mouseleave", this.stopActive, { signal: this.signal });
1804
+ this.slider.config.on("value", this.delayActive, { signal: this.signal });
1805
+ this.media.on("state.volume", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1806
+ this.media.on("state.muted", this.syncARIA, { signal: this.signal });
1807
+ this.ctlr.config.on("settings.keys.shortcuts.mute", this.syncARIA, { signal: this.signal });
1808
+ }
1809
+ handleClick() {
1810
+ this.plug?.toggle("auto");
1811
+ }
1812
+ startActive() {
1813
+ this.slider.active(), this.delayActive();
1814
+ }
1815
+ delayActive() {
1816
+ this.ctlr.plug("settings.overlay")?.delay();
1817
+ clearTimeout(this.delayActiveId);
1818
+ this.delayActiveId = (0, import_utils6.setTimeout)(() => this.stopActive(), this.settings.overlay.delay, this.signal);
1819
+ }
1820
+ stopActive() {
1821
+ if (this.slider.el.matches(":active")) return this.delayActive();
1822
+ clearTimeout(this.delayActiveId), this.slider.inactive();
1823
+ this.slider.config.previewValue = this.slider.config.value;
1824
+ }
1825
+ syncARIA() {
1826
+ this.state.label = this.media.state.muted || this.media.state.volume === 0 ? "Unmute" : "Mute";
1827
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.mute, this.settings.voice.commands.mute);
1828
+ this.button.title = this.state.label + this.state.cmd;
1829
+ this.setBtnARIA(void 0, this.button);
1830
+ }
1831
+ onDestroy() {
1832
+ this.slider.destroy(), super.onDestroy();
1833
+ }
1834
+ };
1835
+ __publicField(VolumeControl, "componentName", "volume");
1836
+ __publicField(VolumeControl, "isControl", true);
1837
+
1838
+ // src/ts/components/controls/brightness/slider.ts
1839
+ var BrightnessSlider = class extends RangeInput {
1840
+ get plug() {
1841
+ return this.ctlr.plug("settings.brightness");
1842
+ }
1843
+ constructor(ctlr, config) {
1844
+ super(ctlr, { label: "Brightness Slider", ...config });
1845
+ }
1846
+ wire() {
1847
+ super.wire();
1848
+ this.config.set("value", (v) => Math.max(this.plug?.shouldToggle ? 0 : this.settings.brightness.min, v), { signal: this.signal });
1849
+ this.config.set("previewValue", (v) => Math.max(this.plug?.shouldToggle ? 0 : this.settings.brightness.min, v), { signal: this.signal });
1850
+ this.media.on("state.brightness", this.handleBrightnessState, { init: this.ctlr.payload.wired, signal: this.signal });
1851
+ this.ctlr.config.on("settings.brightness.max", this.handleBrightnessMax, { init: true, signal: this.signal });
1852
+ }
1853
+ scrub(value, bypass) {
1854
+ return super.scrub(value, bypass) ? (this.plug?.handleSliderInput(value), true) : false;
1855
+ }
1856
+ handleBrightnessState({ value }) {
1857
+ if (!this.state.scrubbing) this.config.previewValue = this.config.value = value;
1858
+ }
1859
+ handleBrightnessMax({ value }) {
1860
+ this.config.max = value;
1861
+ this.config.divs = value > 100 ? [{ value: 0, label: "" }, { value: 100, label: `<strong style="color: var(--tmg-media-range-track-boost-color, red); vertical-align: 4%;">\u2191</strong>` }] : [];
1862
+ }
1863
+ };
1864
+
1865
+ // src/ts/components/controls/brightness/index.ts
1866
+ var BrightnessControl = class extends BaseComponent {
1867
+ constructor() {
1868
+ super(...arguments);
1869
+ __publicField(this, "slider");
1870
+ __publicField(this, "button");
1871
+ __publicField(this, "sliderWrapper");
1872
+ __publicField(this, "delayActiveId");
1873
+ __publicField(this, "stopActive", () => {
1874
+ if (this.slider.el.matches(":active")) return this.delayActive();
1875
+ clearTimeout(this.delayActiveId), this.slider.inactive();
1876
+ this.slider.config.previewValue = this.slider.config.value;
1877
+ });
1878
+ }
1879
+ get plug() {
1880
+ return this.ctlr.plug("settings.brightness");
1881
+ }
1882
+ create() {
1883
+ this.slider = new BrightnessSlider(this.ctlr, this.config);
1884
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-brightness-container tmg-media-vb-container" }, { draggableControl: "", controlId: this.name });
1885
+ this.button = (0, import_utils2.createEl)("button", { className: "tmg-media-dark-btn tmg-media-vb-btn", type: "button", innerHTML: IconRegistry.get("brightnesshigh") + IconRegistry.get("brightnesslow") + IconRegistry.get("brightnessdark") });
1886
+ this.sliderWrapper = (0, import_utils2.createEl)("span", { className: "tmg-media-brightness-slider-wrapper tmg-media-vb-slider-wrapper" });
1887
+ const sliderEl = this.slider.create();
1888
+ sliderEl.classList.add("tmg-media-vb-slider", "tmg-media-brightness-slider");
1889
+ this.sliderWrapper.append(sliderEl);
1890
+ return this.el.append(this.button, this.sliderWrapper), this.el;
1891
+ }
1892
+ mount() {
1893
+ this.slider.setup();
1894
+ }
1895
+ wire() {
1896
+ this.button.addEventListener("click", this.handleClick, { signal: this.signal });
1897
+ this.el.addEventListener("mousemove", this.startActive, { signal: this.signal });
1898
+ this.el.addEventListener("mouseleave", this.stopActive, { signal: this.signal });
1899
+ this.slider.config.on("value", this.delayActive, { signal: this.signal });
1900
+ this.media.on("state.brightness", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
1901
+ this.media.on("state.dark", this.syncARIA, { signal: this.signal });
1902
+ this.ctlr.config.on("settings.keys.shortcuts.dark", this.syncARIA, { signal: this.signal });
1903
+ this.media.on("features.brightness", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
1904
+ }
1905
+ handleClick() {
1906
+ this.plug?.toggle("auto");
1907
+ }
1908
+ startActive() {
1909
+ this.slider.active(), this.delayActive();
1910
+ }
1911
+ delayActive() {
1912
+ this.ctlr.plug("settings.overlay")?.delay();
1913
+ clearTimeout(this.delayActiveId);
1914
+ this.delayActiveId = (0, import_utils6.setTimeout)(() => this.stopActive(), this.settings.overlay.delay, this.signal);
1915
+ }
1916
+ syncARIA() {
1917
+ this.state.label = this.media.state.dark || this.media.state.brightness === 0 ? "Brighten" : "Darken";
1918
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.dark, this.settings.voice.commands.dark);
1919
+ this.button.title = this.state.label + this.state.cmd;
1920
+ this.setBtnARIA(void 0, this.button);
1921
+ }
1922
+ onDestroy() {
1923
+ this.slider.destroy(), super.onDestroy();
1924
+ }
1925
+ };
1926
+ __publicField(BrightnessControl, "componentName", "brightness");
1927
+ __publicField(BrightnessControl, "isControl", true);
1928
+
1929
+ // src/ts/components/captionsview.ts
1930
+ var CaptionsView = class extends BaseComponent {
1931
+ constructor() {
1932
+ super(...arguments);
1933
+ __publicField(this, "isMain", false);
1934
+ __publicField(this, "prevCue", null);
1935
+ __publicField(this, "karaokeNodes", null);
1936
+ __publicField(this, "lastPreview", "");
1937
+ __publicField(this, "timeoutId", -1);
1938
+ __publicField(this, "charW", 0);
1939
+ __publicField(this, "lineHPx", 0);
1940
+ __publicField(this, "lastPosX", 0);
1941
+ __publicField(this, "lastPosY", 0);
1942
+ __publicField(this, "lastPtrX", 0);
1943
+ __publicField(this, "lastPtrY", 0);
1944
+ __publicField(this, "dragX");
1945
+ __publicField(this, "dragY");
1946
+ __publicField(this, "prevEX");
1947
+ __publicField(this, "prevEY");
1948
+ }
1949
+ create() {
1950
+ return this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-captions-container" }, { part: "region" });
1951
+ }
1952
+ mount() {
1953
+ this.ctlr.DOM.controlsContainer?.prepend(this.element);
1954
+ }
1955
+ wire() {
1956
+ if (!(this.isMain = this.element === this.ctlr.DOM.captionsContainer)) this.dragY = `calc((var(--tmg-media-current-captions-container-height) * ${this.config.secondaryOrder ?? 1}) + (var(--tmg-media-current-captions-container-height) / 2) + (var(--tmg-media-current-unit) / 2))`;
1957
+ this.el.addEventListener("pointerdown", this.handleDragStart, { signal: this.signal });
1958
+ this.ctlr.state.watch("dimensions.container.width", () => (this.syncSize(), this.preview("")), { init: true, signal: this.signal });
1959
+ }
1960
+ syncSize() {
1961
+ this.el.style.setProperty("display", "block", "important");
1962
+ const measurer = (0, import_utils2.createEl)("span", { className: "tmg-media-captions-text", innerHTML: "abcdefghijklmnopqrstuvwxyz".repeat(2) }, {}, { visibility: "hidden" });
1963
+ this.el.append(measurer);
1964
+ this.charW = measurer.offsetWidth / 52;
1965
+ const { lineHeight, fontSize } = getComputedStyle(measurer);
1966
+ this.lineHPx = !safeNum(parseFloat(lineHeight), 0) ? safeNum(parseFloat(fontSize), 16) * 1.2 : parseFloat(lineHeight);
1967
+ measurer.remove(), this.el.style.removeProperty("display");
1968
+ }
1969
+ preview(cue = `${capitalize(this.media.container.dataset.trackKind || "captions")} look like this`, flush = this.isPreviewing()) {
1970
+ const text = isStr(cue) ? cue : cue.text || "", should = flush || !this.ctlr.isUIActive("captions") || !this.el.textContent;
1971
+ should && this.media.container.classList.add("tmg-media-captions-preview");
1972
+ this.render(should ? (0, import_utils4.isObj)(cue) ? cue : { text: cue } : this.prevCue);
1973
+ clearTimeout(this.timeoutId);
1974
+ this.timeoutId = (0, import_utils6.setTimeout)((flush2 = this.isPreviewing(text)) => (this.media.container.classList.remove("tmg-media-captions-preview"), flush2 && (this.el.innerHTML = "")), this.settings.captions.previewTimeout, this.signal);
1975
+ this.lastPreview = text;
1976
+ }
1977
+ isPreviewing(text = this.lastPreview) {
1978
+ return !!this.el.innerHTML && this.el.textContent.replace(/\s/g, "") === text?.replace(/\s/g, "");
1979
+ }
1980
+ render(cue) {
1981
+ const existing = this.el.querySelector(".tmg-media-captions-wrapper");
1982
+ if (!cue) return existing?.remove();
1983
+ const wrapper = existing ?? (0, import_utils2.createEl)("div", { className: "tmg-media-captions-wrapper", ariaLive: "Off", ariaAtomic: "true" }, { part: "cue-display" }), { offsetWidth: vCWidth, offsetHeight: vCHeight } = this.media.container, allowOverride = this.settings.captions.allowOverride || !this.isMain;
1984
+ for (const attr of ["style", "data-active", "data-scroll"]) this.el.removeAttribute(attr);
1985
+ if (!this.isMain) this.dragX && this.el.style.setProperty("--tmg-media-current-captions-x", this.dragX), this.dragY && this.el.style.setProperty("--tmg-media-current-captions-y", this.dragY);
1986
+ wrapper.innerHTML = "", cue.text || (cue.text = ""), this.prevCue = cue;
1987
+ const lines = cue.text.replace(/(<br\s*\/>)|\\N/gi, "\n").split(/\n/);
1988
+ for (const p of lines) for (const l of formatVttLine(p, Math.floor(vCWidth / this.charW))) wrapper.append((0, import_utils2.createEl)("div", { className: "tmg-media-captions-line" }, cue.id ? { part: "cue", id: cue.id } : { part: "cue" }, allowOverride && cue.align ? { textAlign: cue.align } : void 0).appendChild((0, import_utils2.createEl)("span", { className: "tmg-media-captions-text", innerHTML: parseVttText(l) })).parentElement);
1989
+ !existing && this.el.append(wrapper);
1990
+ const { offsetWidth: cWidth, offsetHeight: cHeight } = this.element;
1991
+ this.isMain ? this.settings.css.currentCaptionsContainerHeight = `${cHeight}px` : this.el.style.setProperty("--tmg-media-current-captions-container-height", `${cHeight}px`);
1992
+ this.isMain ? this.settings.css.currentCaptionsContainerWidth = `${cWidth}px` : this.el.style.setProperty("--tmg-media-current-captions-container-width", `${cWidth}px`);
1993
+ if (allowOverride) {
1994
+ if (cue.region) {
1995
+ this.el.setAttribute("data-active", "");
1996
+ const { width, lines: regionLines, viewportAnchorX: vpAnX, viewportAnchorY: vpAnY, scroll } = cue.region;
1997
+ if (isDef(vpAnX)) this.el.style.setProperty("--tmg-media-current-captions-x", `${vpAnX}%`);
1998
+ if (isDef(vpAnY)) this.el.style.setProperty("--tmg-media-current-captions-y", `${100 - Number(vpAnY)}%`);
1999
+ if (isDef(width)) this.el.style.maxWidth = `${width}%`;
2000
+ if (isDef(regionLines)) this.el.style.maxHeight = `${Number(regionLines) * (this.lineHPx / vCHeight * 100)}%`;
2001
+ if (scroll === "up") {
2002
+ this.el.style.maxHeight = `${regionLines * (this.lineHPx / vCHeight * 100)}%`;
2003
+ this.el.dataset.scroll = scroll;
2004
+ this.ctlr.config.stall(() => this.el.scrollTop = wrapper.scrollHeight);
2005
+ }
2006
+ } else {
2007
+ if (isDef(cue.position) && cue.position !== "auto") {
2008
+ const elHalfWPct = cWidth / vCWidth * 100 / 2, posOffset = cue.positionAlign === "line-left" ? 0 : cue.positionAlign === "line-right" ? -2 * elHalfWPct : -elHalfWPct;
2009
+ this.el.style.setProperty("--tmg-media-current-captions-x", `calc(${cue.position}% + ${posOffset}% + ${elHalfWPct}%)`);
2010
+ }
2011
+ if (isDef(cue.line) && cue.line !== "auto") {
2012
+ const line = parseIfPercent(cue.line, 100), lhPct = this.lineHPx / vCHeight * 100, elHalfHPct = cHeight / vCHeight * 100 / 2, lAlign = cue.lineAlign && cue.lineAlign !== "auto" ? cue.lineAlign : line < 0 ? "end" : "start", lineOffset = lAlign === "start" ? -2 * elHalfHPct : lAlign === "end" ? 0 : -elHalfHPct, bottomVal = cue.snapToLines ? line < 0 ? (Math.abs(line) - 1) * lhPct : 100 - line * lhPct : 100 - line;
2013
+ this.el.style.setProperty("--tmg-media-current-captions-y", `calc(${bottomVal}% + ${lineOffset}% + ${elHalfHPct}%)`);
2014
+ }
2015
+ if (isDef(cue.size) && cue.size !== 100) this.el.style.maxWidth = `${cue.size}%`;
2016
+ }
2017
+ if (cue.vertical) this.el.style.writingMode = cue.vertical === "lr" ? "vertical-lr" : "vertical-rl";
2018
+ }
2019
+ this.karaokeNodes = Array.from(wrapper.querySelectorAll("[data-part='timed']")).map((el) => {
2020
+ const [, m, s, ms] = (el.dataset.time || "").match(/(\d+):(\d+)\.(\d+)/) || [];
2021
+ return { el, time: m ? +m * 60 + +s + +ms / 1e3 : 0 };
2022
+ });
2023
+ this.syncKaraoke();
2024
+ }
2025
+ syncKaraoke() {
2026
+ if (!this.karaokeNodes) return;
2027
+ for (const { el, time } of this.karaokeNodes) {
2028
+ const isPast = safeNum(this.media.state.currentTime) > time;
2029
+ el.toggleAttribute("data-past", isPast), el.toggleAttribute("data-future", !isPast);
2030
+ }
2031
+ }
2032
+ handleDragStart(e) {
2033
+ this.el.setPointerCapture(e.pointerId);
2034
+ const { left, bottom } = getComputedStyle(this.element);
2035
+ this.lastPosX = parseFloat(left), this.lastPosY = parseFloat(bottom);
2036
+ this.lastPtrX = e.clientX, this.lastPtrY = e.clientY;
2037
+ this.el.addEventListener("pointermove", this.handleDragging, { signal: this.signal });
2038
+ this.el.addEventListener("pointerup", this.handleDragEnd, { signal: this.signal });
2039
+ }
2040
+ handleDragging(e) {
2041
+ this.media.container.classList.add("tmg-media-captions-dragging");
2042
+ this.ctlr.RAFLoop("captionsDragging", () => {
2043
+ if (e.clientX === this.prevEX && e.clientY === this.prevEY) return;
2044
+ this.prevEX = e.clientX, this.prevEY = e.clientY;
2045
+ const { offsetWidth: ww, offsetHeight: hh } = this.media.container, { offsetWidth: w, offsetHeight: h } = this.element, posX = (0, import_utils5.clamp)(w / 2, this.lastPosX + (e.clientX - this.lastPtrX), ww - w / 2), posY = (0, import_utils5.clamp)(h / 2, this.lastPosY - (e.clientY - this.lastPtrY), hh - h / 2);
2046
+ if (this.isMain) this.settings.css.currentCaptionsX = `${posX / ww * 100}%`, this.settings.css.currentCaptionsY = `${posY / hh * 100}%`;
2047
+ else this.el.style.setProperty("--tmg-media-current-captions-x", this.dragX = `${posX / ww * 100}%`), this.el.style.setProperty("--tmg-media-current-captions-y", this.dragY = `${posY / hh * 100}%`);
2048
+ });
2049
+ }
2050
+ handleDragEnd() {
2051
+ this.ctlr.cancelRAFLoop("captionsDragging");
2052
+ this.media.container.classList.remove("tmg-media-captions-dragging");
2053
+ this.el.removeEventListener("pointermove", this.handleDragging);
2054
+ this.el.removeEventListener("pointerup", this.handleDragEnd);
2055
+ }
2056
+ };
2057
+ __publicField(CaptionsView, "componentName", "captionsview");
2058
+
2059
+ // src/ts/components/controls/captions.ts
2060
+ var CaptionsButton = class extends BaseComponent {
2061
+ get plug() {
2062
+ return this.ctlr.plug("settings.captions");
2063
+ }
2064
+ create() {
2065
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-captions-btn", type: "button", innerHTML: IconRegistry.get("subtitles") + IconRegistry.get("captions") }, { draggableControl: "", controlId: this.name });
2066
+ }
2067
+ wire() {
2068
+ this.media.on("features.textVisible", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
2069
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
2070
+ this.media.on("state.currentTextTrack", this.syncUI, { init: this.ctlr.payload.wired, signal: this.signal });
2071
+ this.media.on("status.textTracks", this.syncUI, { signal: this.signal });
2072
+ this.ctlr.config.on("settings.keys.shortcuts.captions", this.syncARIA, { init: true, signal: this.signal });
2073
+ this.ctlr.config.on("settings.voice.commands.captions", this.syncARIA, { signal: this.signal });
2074
+ }
2075
+ handleClick() {
2076
+ this.plug?.toggleVisible();
2077
+ }
2078
+ syncUI() {
2079
+ this[!this.plug?.canVisible ? "disable" : "enable"]();
2080
+ this.syncARIA();
2081
+ }
2082
+ syncARIA() {
2083
+ this.state.label = capitalize(this.plug?.getTrackKind()) || "Captions";
2084
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.captions, this.settings.voice.commands.captions);
2085
+ this.el.title = this.state.label + this.state.cmd;
2086
+ this.setBtnARIA();
2087
+ }
2088
+ };
2089
+ __publicField(CaptionsButton, "componentName", "captions");
2090
+ __publicField(CaptionsButton, "isControl", true);
2091
+
2092
+ // src/ts/components/screenlock.ts
2093
+ var ScreenLockButton = class extends BaseComponent {
2094
+ get plug() {
2095
+ return this.ctlr.plug("settings.locked");
2096
+ }
2097
+ create() {
2098
+ return this.element = (0, import_utils2.createEl)("button", { type: "button", className: "tmg-media-screen-locked-btn", tabIndex: -1, innerHTML: `${IconRegistry.get("lock")}${IconRegistry.get("unlock")}<p>Unlock controls?</p>` });
2099
+ }
2100
+ mount() {
2101
+ this.plug?.wrapper.prepend(this.el);
2102
+ }
2103
+ wire() {
2104
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
2105
+ this.plug?.state.on("visible", this.syncUI, { init: true, signal: this.signal });
2106
+ this.syncARIA();
2107
+ }
2108
+ handleClick(e) {
2109
+ e.stopPropagation();
2110
+ this.plug?.delayOverlay();
2111
+ if (this.el.classList.contains("tmg-media-control-unlock")) this.media.intent.locked = false;
2112
+ else this.el.classList.add("tmg-media-control-unlock");
2113
+ }
2114
+ syncUI() {
2115
+ !this.plug?.state.visible && this.el.classList.remove("tmg-media-control-unlock");
2116
+ }
2117
+ syncARIA() {
2118
+ this.el.title = this.state.label = "Unlock Screen";
2119
+ this.setBtnARIA();
2120
+ }
2121
+ };
2122
+ __publicField(ScreenLockButton, "componentName", "screenlock");
2123
+
2124
+ // src/ts/components/controls/chapter.ts
2125
+ var ChapterButton = class extends BaseComponent {
2126
+ constructor() {
2127
+ super(...arguments);
2128
+ __publicField(this, "textEl");
2129
+ __publicField(this, "iconEl");
2130
+ }
2131
+ create() {
2132
+ this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-chapter-btn tmg-media-control-text-btn", type: "button" }, { draggableControl: "", controlId: this.name });
2133
+ this.iconEl = (0, import_utils2.createEl)("span", { className: "tmg-media-chapter-icon" });
2134
+ this.textEl = (0, import_utils2.createEl)("span", { className: "tmg-media-chapter-text" });
2135
+ return this.element.append(this.textEl, this.iconEl), this.el;
2136
+ }
2137
+ wire() {
2138
+ this.media.on("features.currentChapter", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
2139
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
2140
+ this.media.on("state.currentChapter", this.syncUI, { init: this.ctlr.payload.wired, signal: this.signal });
2141
+ this.media.on("settings.metadata.chapterInfo", this.syncUI, { init: this.ctlr.payload.wired, signal: this.signal });
2142
+ this.syncARIA();
2143
+ }
2144
+ async handleClick() {
2145
+ const view = this.ctlr.plug("settings.settingsView");
2146
+ if (view) {
2147
+ view.menu.open(this.el);
2148
+ view.menu.goTo("chapters");
2149
+ }
2150
+ }
2151
+ syncUI() {
2152
+ const idx = this.media.state.currentChapter, chapters = this.media.settings.metadata.chapterInfo;
2153
+ if (idx === -1 || !chapters || !chapters[idx]) return void (this.textEl.textContent = "", this.hide());
2154
+ this.textEl.textContent = chapters[idx].title || `Chapter ${idx + 1}`, this.show();
2155
+ }
2156
+ syncARIA() {
2157
+ this.el.title = this.state.label = "View Chapter";
2158
+ this.setBtnARIA();
2159
+ }
2160
+ };
2161
+ __publicField(ChapterButton, "componentName", "chapter");
2162
+ __publicField(ChapterButton, "isControl", true);
2163
+
2164
+ // src/ts/components/controls/cast.ts
2165
+ var CastButton = class extends BaseComponent {
2166
+ create() {
2167
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-cast-btn", type: "button", innerHTML: IconRegistry.get("cast") }, { draggableControl: "", controlId: this.name });
2168
+ }
2169
+ wire() {
2170
+ this.media.on("features.cast", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
2171
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
2172
+ this.media.on("state.cast", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
2173
+ this.ctlr.config.on("settings.keys.shortcuts.cast", this.syncARIA, { init: true, signal: this.signal });
2174
+ this.ctlr.config.on("settings.voice.commands.cast", this.syncARIA, { signal: this.signal });
2175
+ }
2176
+ handleClick() {
2177
+ this.media.intent.cast = !this.media.state.cast;
2178
+ }
2179
+ syncARIA() {
2180
+ this.state.label = this.media.state.cast ? "Stop casting" : "Cast to TV";
2181
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.cast, this.settings.voice.commands.cast);
2182
+ this.el.title = this.state.label + this.state.cmd;
2183
+ this.setBtnARIA();
2184
+ }
2185
+ };
2186
+ __publicField(CastButton, "componentName", "cast");
2187
+ __publicField(CastButton, "isControl", true);
2188
+
2189
+ // src/ts/components/controls/airplay.ts
2190
+ var AirPlayButton = class extends BaseComponent {
2191
+ create() {
2192
+ return this.element = (0, import_utils2.createEl)("button", { className: "tmg-media-airplay-btn", type: "button", innerHTML: IconRegistry.get("airplay") }, { draggableControl: "", controlId: this.name });
2193
+ }
2194
+ wire() {
2195
+ this.media.on("features.airplay", this.gate, { init: this.ctlr.payload.wired, signal: this.signal });
2196
+ this.el.addEventListener("click", this.handleClick, { signal: this.signal });
2197
+ this.media.on("state.airplay", this.syncARIA, { init: this.ctlr.payload.wired, signal: this.signal });
2198
+ this.ctlr.config.on("settings.keys.shortcuts.airplay", this.syncARIA, { init: true, signal: this.signal });
2199
+ this.ctlr.config.on("settings.voice.commands.airplay", this.syncARIA, { signal: this.signal });
2200
+ }
2201
+ handleClick() {
2202
+ if (!this.media.state.airplay) this.media.intent.airplay = true;
2203
+ }
2204
+ syncARIA() {
2205
+ this.state.label = this.media.state.airplay ? "AirPlay Active" : "AirPlay";
2206
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.airplay, this.settings.voice.commands.airplay);
2207
+ this.el.title = this.state.label + this.state.cmd;
2208
+ this.setBtnARIA();
2209
+ }
2210
+ };
2211
+ __publicField(AirPlayButton, "componentName", "airplay");
2212
+ __publicField(AirPlayButton, "isControl", true);
2213
+
2214
+ // src/ts/components/holders/pipplaceholder.ts
2215
+ var PiPPlaceholder = class extends BaseComponent {
2216
+ constructor() {
2217
+ super(...arguments);
2218
+ __publicField(this, "iconBtn");
2219
+ }
2220
+ create() {
2221
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-placeholder tmg-media-picture-in-picture-placeholder", innerHTML: `<p>Playing in picture-in-picture</p>` });
2222
+ this.iconBtn = (0, import_utils2.createEl)("button", { className: "tmg-media-placeholder-icon-btn tmg-media-picture-in-picture-icon-btn", innerHTML: IconRegistry.get("pipplaceholder") });
2223
+ return this.el.prepend(this.iconBtn), this.el;
2224
+ }
2225
+ mount() {
2226
+ this.ctlr.DOM.controlsContainer?.prepend(this.el);
2227
+ }
2228
+ wire() {
2229
+ this.iconBtn.addEventListener("click", this.handleClick, { signal: this.signal });
2230
+ this.ctlr.config.on("settings.keys.shortcuts.pictureInPicture", this.syncARIA, { init: true, signal: this.signal });
2231
+ }
2232
+ handleClick() {
2233
+ this.media.intent.pictureInPicture = !this.media.state.pictureInPicture;
2234
+ }
2235
+ syncARIA() {
2236
+ this.state.label = this.media.state.pictureInPicture ? "Exit picture in picture" : "Picture in picture";
2237
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.pictureInPicture);
2238
+ this.iconBtn.title = this.state.label + this.state.cmd;
2239
+ this.setBtnARIA("", this.iconBtn);
2240
+ }
2241
+ };
2242
+ __publicField(PiPPlaceholder, "componentName", "pipplaceholder");
2243
+
2244
+ // src/ts/components/holders/castplaceholder.ts
2245
+ var CastPlaceholder = class extends BaseComponent {
2246
+ constructor() {
2247
+ super(...arguments);
2248
+ __publicField(this, "iconBtn");
2249
+ }
2250
+ create() {
2251
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-placeholder tmg-media-cast-placeholder", innerHTML: `<p>Casting to External Display</p>` });
2252
+ this.iconBtn = (0, import_utils2.createEl)("button", { className: "tmg-media-placeholder-icon-btn tmg-media-cast-icon-btn", innerHTML: IconRegistry.get("castplaceholder") });
2253
+ return this.el.prepend(this.iconBtn), this.el;
2254
+ }
2255
+ mount() {
2256
+ this.ctlr.DOM.controlsContainer?.prepend(this.el);
2257
+ }
2258
+ wire() {
2259
+ this.iconBtn.addEventListener("click", this.handleClick, { signal: this.signal });
2260
+ this.ctlr.config.on("settings.keys.shortcuts.cast", this.syncARIA, { init: true, signal: this.signal });
2261
+ }
2262
+ handleClick() {
2263
+ this.media.intent.cast = !this.media.state.cast;
2264
+ }
2265
+ syncARIA() {
2266
+ this.state.label = this.media.state.cast ? "Stop casting" : "Cast to Display";
2267
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.cast);
2268
+ this.iconBtn.title = this.state.label + this.state.cmd;
2269
+ this.setBtnARIA("", this.iconBtn);
2270
+ }
2271
+ };
2272
+ __publicField(CastPlaceholder, "componentName", "castplaceholder");
2273
+
2274
+ // src/ts/components/holders/airplayplaceholder.ts
2275
+ var AirPlayPlaceholder = class extends BaseComponent {
2276
+ constructor() {
2277
+ super(...arguments);
2278
+ __publicField(this, "iconBtn");
2279
+ }
2280
+ create() {
2281
+ this.element = (0, import_utils2.createEl)("div", { className: "tmg-media-placeholder tmg-media-airplay-placeholder", innerHTML: `<p>Streaming to AirPlay Display</p>` });
2282
+ this.iconBtn = (0, import_utils2.createEl)("button", { className: "tmg-media-placeholder-icon-btn tmg-media-airplay-icon-btn", innerHTML: IconRegistry.get("airplayplaceholder") });
2283
+ return this.el.prepend(this.iconBtn), this.el;
2284
+ }
2285
+ mount() {
2286
+ this.ctlr.DOM.controlsContainer?.prepend(this.el);
2287
+ }
2288
+ wire() {
2289
+ this.iconBtn.addEventListener("click", this.handleClick, { signal: this.signal });
2290
+ this.ctlr.config.on("settings.keys.shortcuts.airplay", this.syncARIA, { init: true, signal: this.signal });
2291
+ }
2292
+ handleClick() {
2293
+ this.media.intent.airplay = !this.media.state.airplay;
2294
+ }
2295
+ syncARIA() {
2296
+ this.state.label = this.media.state.airplay ? "Stop airplaying" : "AirPlay to Display";
2297
+ this.state.cmd = formatKeyForDisplay2(this.settings.keys.shortcuts.airplay);
2298
+ this.iconBtn.title = this.state.label + this.state.cmd;
2299
+ this.setBtnARIA("", this.iconBtn);
2300
+ }
2301
+ };
2302
+ __publicField(AirPlayPlaceholder, "componentName", "airplayplaceholder");
2303
+
2304
+ // src/ts/components/z-register.ts
2305
+ for (const Comp of [
2306
+ // Random Order
2307
+ RangeInput,
2308
+ Buffer2,
2309
+ Meta,
2310
+ BigNextButton,
2311
+ BigPlayPauseButton,
2312
+ BigPrevButton,
2313
+ PrevButton,
2314
+ PlayPauseButton,
2315
+ NextButton,
2316
+ Forward10Button,
2317
+ Backward10Button,
2318
+ TimeButton,
2319
+ DurationButton,
2320
+ TimeAndDurationButton,
2321
+ SettingsButton,
2322
+ ObjectFitButton,
2323
+ PictureInPictureButton,
2324
+ TheaterButton,
2325
+ CaptureButton,
2326
+ FullscreenButton,
2327
+ FullscreenLockButton,
2328
+ FullscreenOrientationButton,
2329
+ RemoveMiniplayerButton,
2330
+ ExpandMiniplayerButton,
2331
+ Timeline,
2332
+ VolumeControl,
2333
+ BrightnessControl,
2334
+ CaptionsView,
2335
+ CaptionsButton,
2336
+ ScreenLockButton,
2337
+ ChapterButton,
2338
+ CastButton,
2339
+ AirPlayButton,
2340
+ PiPPlaceholder,
2341
+ CastPlaceholder,
2342
+ AirPlayPlaceholder
2343
+ ])
2344
+ ComponentRegistry.register(Comp);
2345
+ //# sourceMappingURL=z-register.cjs.map