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.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/chunk-25AZZYCL.js +85 -0
- package/dist/chunk-25AZZYCL.js.map +1 -0
- package/dist/chunk-25IKIKAB.js +60 -0
- package/dist/chunk-25IKIKAB.js.map +1 -0
- package/dist/chunk-25ZZLGZ6.js +45 -0
- package/dist/chunk-25ZZLGZ6.js.map +1 -0
- package/dist/chunk-274C5J22.js +12 -0
- package/dist/chunk-274C5J22.js.map +1 -0
- package/dist/chunk-27FHLV4M.js +12 -0
- package/dist/chunk-27FHLV4M.js.map +1 -0
- package/dist/chunk-27MVVVJ7.js +405 -0
- package/dist/chunk-27MVVVJ7.js.map +1 -0
- package/dist/chunk-27SBY2N7.js +50 -0
- package/dist/chunk-27SBY2N7.js.map +1 -0
- package/dist/chunk-2J3FJY73.js +9 -0
- package/dist/chunk-2J3FJY73.js.map +1 -0
- package/dist/chunk-2JW4RYM4.js +170 -0
- package/dist/chunk-2JW4RYM4.js.map +1 -0
- package/dist/chunk-2PA7FU47.js +185 -0
- package/dist/chunk-2PA7FU47.js.map +1 -0
- package/dist/chunk-2VOAIUTU.js +9 -0
- package/dist/chunk-2VOAIUTU.js.map +1 -0
- package/dist/chunk-2W5XWGGE.js +7 -0
- package/dist/chunk-2W5XWGGE.js.map +1 -0
- package/dist/chunk-3C3GK24X.js +88 -0
- package/dist/chunk-3C3GK24X.js.map +1 -0
- package/dist/chunk-3KD22Z7D.js +9 -0
- package/dist/chunk-3KD22Z7D.js.map +1 -0
- package/dist/chunk-3OLEZVYI.js +196 -0
- package/dist/chunk-3OLEZVYI.js.map +1 -0
- package/dist/chunk-3OZEBWCF.js +12 -0
- package/dist/chunk-3OZEBWCF.js.map +1 -0
- package/dist/chunk-3T5CFCYB.js +45 -0
- package/dist/chunk-3T5CFCYB.js.map +1 -0
- package/dist/chunk-3VCTHGL6.js +86 -0
- package/dist/chunk-3VCTHGL6.js.map +1 -0
- package/dist/chunk-3WHPH6Q5.js +9 -0
- package/dist/chunk-3WHPH6Q5.js.map +1 -0
- package/dist/chunk-43MLKGCT.js +45 -0
- package/dist/chunk-43MLKGCT.js.map +1 -0
- package/dist/chunk-46QVDU2K.js +25 -0
- package/dist/chunk-46QVDU2K.js.map +1 -0
- package/dist/chunk-474PEQ33.js +78 -0
- package/dist/chunk-474PEQ33.js.map +1 -0
- package/dist/chunk-4FCGFO2J.js +9 -0
- package/dist/chunk-4FCGFO2J.js.map +1 -0
- package/dist/chunk-4JOPUUAL.js +185 -0
- package/dist/chunk-4JOPUUAL.js.map +1 -0
- package/dist/chunk-4QQXED6P.js +11 -0
- package/dist/chunk-4QQXED6P.js.map +1 -0
- package/dist/chunk-4VG5KHDO.js +52 -0
- package/dist/chunk-4VG5KHDO.js.map +1 -0
- package/dist/chunk-4W6H5CZF.js +1 -0
- package/dist/chunk-4W6H5CZF.js.map +1 -0
- package/dist/chunk-56CRICX7.js +154 -0
- package/dist/chunk-56CRICX7.js.map +1 -0
- package/dist/chunk-57L2PE3B.js +9 -0
- package/dist/chunk-57L2PE3B.js.map +1 -0
- package/dist/chunk-5CLVIO4N.js +33 -0
- package/dist/chunk-5CLVIO4N.js.map +1 -0
- package/dist/chunk-5GX67WSG.js +7 -0
- package/dist/chunk-5GX67WSG.js.map +1 -0
- package/dist/chunk-5SGNTRPL.js +47 -0
- package/dist/chunk-5SGNTRPL.js.map +1 -0
- package/dist/chunk-5TJURBKV.js +9 -0
- package/dist/chunk-5TJURBKV.js.map +1 -0
- package/dist/chunk-63E6JXTT.js +162 -0
- package/dist/chunk-63E6JXTT.js.map +1 -0
- package/dist/chunk-66HGOYPR.js +180 -0
- package/dist/chunk-66HGOYPR.js.map +1 -0
- package/dist/chunk-6IFGKHVM.js +9 -0
- package/dist/chunk-6IFGKHVM.js.map +1 -0
- package/dist/chunk-6K4HCMUL.js +32 -0
- package/dist/chunk-6K4HCMUL.js.map +1 -0
- package/dist/chunk-6KYXFWBF.js +32 -0
- package/dist/chunk-6KYXFWBF.js.map +1 -0
- package/dist/chunk-6R5BZZM6.js +95 -0
- package/dist/chunk-6R5BZZM6.js.map +1 -0
- package/dist/chunk-6S5BMP4A.js +9 -0
- package/dist/chunk-6S5BMP4A.js.map +1 -0
- package/dist/chunk-6SHHKTGD.js +73 -0
- package/dist/chunk-6SHHKTGD.js.map +1 -0
- package/dist/chunk-6U3M7V32.js +46 -0
- package/dist/chunk-6U3M7V32.js.map +1 -0
- package/dist/chunk-73XT2QVM.js +47 -0
- package/dist/chunk-73XT2QVM.js.map +1 -0
- package/dist/chunk-7FB3XGXR.js +471 -0
- package/dist/chunk-7FB3XGXR.js.map +1 -0
- package/dist/chunk-7HRR4LG4.js +115 -0
- package/dist/chunk-7HRR4LG4.js.map +1 -0
- package/dist/chunk-7I6DRKIN.js +58 -0
- package/dist/chunk-7I6DRKIN.js.map +1 -0
- package/dist/chunk-7MOZI57I.js +59 -0
- package/dist/chunk-7MOZI57I.js.map +1 -0
- package/dist/chunk-7PHLWSKV.js +95 -0
- package/dist/chunk-7PHLWSKV.js.map +1 -0
- package/dist/chunk-7Y4LQ5ED.js +45 -0
- package/dist/chunk-7Y4LQ5ED.js.map +1 -0
- package/dist/chunk-7YDZDHZH.js +19 -0
- package/dist/chunk-7YDZDHZH.js.map +1 -0
- package/dist/chunk-A7EG6K2X.js +54 -0
- package/dist/chunk-A7EG6K2X.js.map +1 -0
- package/dist/chunk-ABRBZ4IH.js +108 -0
- package/dist/chunk-ABRBZ4IH.js.map +1 -0
- package/dist/chunk-ACF6B245.js +17 -0
- package/dist/chunk-ACF6B245.js.map +1 -0
- package/dist/chunk-ACUUGJUG.js +53 -0
- package/dist/chunk-ACUUGJUG.js.map +1 -0
- package/dist/chunk-AIYSHJLG.js +42 -0
- package/dist/chunk-AIYSHJLG.js.map +1 -0
- package/dist/chunk-AKHJD2A3.js +50 -0
- package/dist/chunk-AKHJD2A3.js.map +1 -0
- package/dist/chunk-ATE4NMIF.js +22 -0
- package/dist/chunk-ATE4NMIF.js.map +1 -0
- package/dist/chunk-AZTSMVMN.js +138 -0
- package/dist/chunk-AZTSMVMN.js.map +1 -0
- package/dist/chunk-BFFQZMZX.js +108 -0
- package/dist/chunk-BFFQZMZX.js.map +1 -0
- package/dist/chunk-BKJRLSXA.js +329 -0
- package/dist/chunk-BKJRLSXA.js.map +1 -0
- package/dist/chunk-BLJDDFX2.js +228 -0
- package/dist/chunk-BLJDDFX2.js.map +1 -0
- package/dist/chunk-BROAUWON.js +123 -0
- package/dist/chunk-BROAUWON.js.map +1 -0
- package/dist/chunk-BU4AX4DA.js +49 -0
- package/dist/chunk-BU4AX4DA.js.map +1 -0
- package/dist/chunk-C2TANFKK.js +167 -0
- package/dist/chunk-C2TANFKK.js.map +1 -0
- package/dist/chunk-CAIDFMLB.js +164 -0
- package/dist/chunk-CAIDFMLB.js.map +1 -0
- package/dist/chunk-CCD3ZXIT.js +54 -0
- package/dist/chunk-CCD3ZXIT.js.map +1 -0
- package/dist/chunk-CEEX3HQ2.js +44 -0
- package/dist/chunk-CEEX3HQ2.js.map +1 -0
- package/dist/chunk-CIN7HWLH.js +26 -0
- package/dist/chunk-CIN7HWLH.js.map +1 -0
- package/dist/chunk-CL24QYM6.js +48 -0
- package/dist/chunk-CL24QYM6.js.map +1 -0
- package/dist/chunk-CTSPKWKN.js +9 -0
- package/dist/chunk-CTSPKWKN.js.map +1 -0
- package/dist/chunk-CYUYF57A.js +139 -0
- package/dist/chunk-CYUYF57A.js.map +1 -0
- package/dist/chunk-D5XNDZ4S.js +21 -0
- package/dist/chunk-D5XNDZ4S.js.map +1 -0
- package/dist/chunk-D7JQDN74.js +9 -0
- package/dist/chunk-D7JQDN74.js.map +1 -0
- package/dist/chunk-DKS7SZFN.js +165 -0
- package/dist/chunk-DKS7SZFN.js.map +1 -0
- package/dist/chunk-DM4ZIS4L.js +50 -0
- package/dist/chunk-DM4ZIS4L.js.map +1 -0
- package/dist/chunk-DNY72SCR.js +9 -0
- package/dist/chunk-DNY72SCR.js.map +1 -0
- package/dist/chunk-DQLWWVM3.js +25 -0
- package/dist/chunk-DQLWWVM3.js.map +1 -0
- package/dist/chunk-E56H3EOR.js +1 -0
- package/dist/chunk-E56H3EOR.js.map +1 -0
- package/dist/chunk-E56PSUT2.js +435 -0
- package/dist/chunk-E56PSUT2.js.map +1 -0
- package/dist/chunk-EF7RQIJK.js +9 -0
- package/dist/chunk-EF7RQIJK.js.map +1 -0
- package/dist/chunk-EHQJNRJV.js +449 -0
- package/dist/chunk-EHQJNRJV.js.map +1 -0
- package/dist/chunk-EIT6CZXJ.js +50 -0
- package/dist/chunk-EIT6CZXJ.js.map +1 -0
- package/dist/chunk-ERPQNMED.js +292 -0
- package/dist/chunk-ERPQNMED.js.map +1 -0
- package/dist/chunk-ESAOH6X5.js +15 -0
- package/dist/chunk-ESAOH6X5.js.map +1 -0
- package/dist/chunk-ESNKONBW.js +80 -0
- package/dist/chunk-ESNKONBW.js.map +1 -0
- package/dist/chunk-EUQ7SC5J.js +33 -0
- package/dist/chunk-EUQ7SC5J.js.map +1 -0
- package/dist/chunk-EUX3RZ3L.js +66 -0
- package/dist/chunk-EUX3RZ3L.js.map +1 -0
- package/dist/chunk-EVUTNLHC.js +7 -0
- package/dist/chunk-EVUTNLHC.js.map +1 -0
- package/dist/chunk-EY7PB3LA.js +59 -0
- package/dist/chunk-EY7PB3LA.js.map +1 -0
- package/dist/chunk-FCQDAU2C.js +7 -0
- package/dist/chunk-FCQDAU2C.js.map +1 -0
- package/dist/chunk-FHL5Z6MX.js +13 -0
- package/dist/chunk-FHL5Z6MX.js.map +1 -0
- package/dist/chunk-FIUVWAAQ.js +35 -0
- package/dist/chunk-FIUVWAAQ.js.map +1 -0
- package/dist/chunk-FN32KVQT.js +188 -0
- package/dist/chunk-FN32KVQT.js.map +1 -0
- package/dist/chunk-FX3UTAZK.js +31 -0
- package/dist/chunk-FX3UTAZK.js.map +1 -0
- package/dist/chunk-FXIL7BGP.js +43 -0
- package/dist/chunk-FXIL7BGP.js.map +1 -0
- package/dist/chunk-G7KANQFO.js +131 -0
- package/dist/chunk-G7KANQFO.js.map +1 -0
- package/dist/chunk-GDC7I2CJ.js +66 -0
- package/dist/chunk-GDC7I2CJ.js.map +1 -0
- package/dist/chunk-GM7YMURS.js +14 -0
- package/dist/chunk-GM7YMURS.js.map +1 -0
- package/dist/chunk-GQ7ITX5B.js +7 -0
- package/dist/chunk-GQ7ITX5B.js.map +1 -0
- package/dist/chunk-GSKI4IRL.js +34 -0
- package/dist/chunk-GSKI4IRL.js.map +1 -0
- package/dist/chunk-GUIBL2MZ.js +1 -0
- package/dist/chunk-GUIBL2MZ.js.map +1 -0
- package/dist/chunk-H24E5FRE.js +9 -0
- package/dist/chunk-H24E5FRE.js.map +1 -0
- package/dist/chunk-HA2GK6KH.js +9 -0
- package/dist/chunk-HA2GK6KH.js.map +1 -0
- package/dist/chunk-HCSCY6DU.js +458 -0
- package/dist/chunk-HCSCY6DU.js.map +1 -0
- package/dist/chunk-HGXGXW2U.js +26 -0
- package/dist/chunk-HGXGXW2U.js.map +1 -0
- package/dist/chunk-HH7PMFLU.js +33 -0
- package/dist/chunk-HH7PMFLU.js.map +1 -0
- package/dist/chunk-HJORMYPQ.js +66 -0
- package/dist/chunk-HJORMYPQ.js.map +1 -0
- package/dist/chunk-HN2UT66M.js +9 -0
- package/dist/chunk-HN2UT66M.js.map +1 -0
- package/dist/chunk-HNPBSC2A.js +132 -0
- package/dist/chunk-HNPBSC2A.js.map +1 -0
- package/dist/chunk-HNTARWVL.js +57 -0
- package/dist/chunk-HNTARWVL.js.map +1 -0
- package/dist/chunk-HPPHGUTD.js +1 -0
- package/dist/chunk-HPPHGUTD.js.map +1 -0
- package/dist/chunk-HPWORM77.js +199 -0
- package/dist/chunk-HPWORM77.js.map +1 -0
- package/dist/chunk-HYG6W442.js +66 -0
- package/dist/chunk-HYG6W442.js.map +1 -0
- package/dist/chunk-I3LBJOUW.js +249 -0
- package/dist/chunk-I3LBJOUW.js.map +1 -0
- package/dist/chunk-I47VPMZS.js +40 -0
- package/dist/chunk-I47VPMZS.js.map +1 -0
- package/dist/chunk-ID72UAJE.js +7 -0
- package/dist/chunk-ID72UAJE.js.map +1 -0
- package/dist/chunk-IENUYESB.js +33 -0
- package/dist/chunk-IENUYESB.js.map +1 -0
- package/dist/chunk-IFYBKLFH.js +15 -0
- package/dist/chunk-IFYBKLFH.js.map +1 -0
- package/dist/chunk-IJJ4F6HI.js +105 -0
- package/dist/chunk-IJJ4F6HI.js.map +1 -0
- package/dist/chunk-IKKQYZNA.js +43 -0
- package/dist/chunk-IKKQYZNA.js.map +1 -0
- package/dist/chunk-IUS3FRXS.js +446 -0
- package/dist/chunk-IUS3FRXS.js.map +1 -0
- package/dist/chunk-IVA7LFT2.js +12 -0
- package/dist/chunk-IVA7LFT2.js.map +1 -0
- package/dist/chunk-IXLSSEE7.js +39 -0
- package/dist/chunk-IXLSSEE7.js.map +1 -0
- package/dist/chunk-J2SIL62L.js +142 -0
- package/dist/chunk-J2SIL62L.js.map +1 -0
- package/dist/chunk-J54J2AED.js +117 -0
- package/dist/chunk-J54J2AED.js.map +1 -0
- package/dist/chunk-JFWYJV3J.js +61 -0
- package/dist/chunk-JFWYJV3J.js.map +1 -0
- package/dist/chunk-JP5X5JDL.js +10 -0
- package/dist/chunk-JP5X5JDL.js.map +1 -0
- package/dist/chunk-JPWNE7JO.js +11 -0
- package/dist/chunk-JPWNE7JO.js.map +1 -0
- package/dist/chunk-JRWYWTTT.js +9 -0
- package/dist/chunk-JRWYWTTT.js.map +1 -0
- package/dist/chunk-JZXJAJNW.js +316 -0
- package/dist/chunk-JZXJAJNW.js.map +1 -0
- package/dist/chunk-K4UHBEDT.js +9 -0
- package/dist/chunk-K4UHBEDT.js.map +1 -0
- package/dist/chunk-K7AAKFQF.js +12 -0
- package/dist/chunk-K7AAKFQF.js.map +1 -0
- package/dist/chunk-KD3OBG25.js +15 -0
- package/dist/chunk-KD3OBG25.js.map +1 -0
- package/dist/chunk-KJ74PGBI.js +45 -0
- package/dist/chunk-KJ74PGBI.js.map +1 -0
- package/dist/chunk-KLAI7YSD.js +7 -0
- package/dist/chunk-KLAI7YSD.js.map +1 -0
- package/dist/chunk-KMENKVHP.js +110 -0
- package/dist/chunk-KMENKVHP.js.map +1 -0
- package/dist/chunk-KOAHN3L5.js +9 -0
- package/dist/chunk-KOAHN3L5.js.map +1 -0
- package/dist/chunk-KQXT3GDF.js +16 -0
- package/dist/chunk-KQXT3GDF.js.map +1 -0
- package/dist/chunk-L6J66EOL.js +44 -0
- package/dist/chunk-L6J66EOL.js.map +1 -0
- package/dist/chunk-LNUYM3ZX.js +26 -0
- package/dist/chunk-LNUYM3ZX.js.map +1 -0
- package/dist/chunk-LSKNTXY2.js +57 -0
- package/dist/chunk-LSKNTXY2.js.map +1 -0
- package/dist/chunk-LTEL7NEG.js +219 -0
- package/dist/chunk-LTEL7NEG.js.map +1 -0
- package/dist/chunk-LTVS74EO.js +45 -0
- package/dist/chunk-LTVS74EO.js.map +1 -0
- package/dist/chunk-LVDP2QOX.js +99 -0
- package/dist/chunk-LVDP2QOX.js.map +1 -0
- package/dist/chunk-LWLNQS3O.js +569 -0
- package/dist/chunk-LWLNQS3O.js.map +1 -0
- package/dist/chunk-LYKZAKVN.js +19 -0
- package/dist/chunk-LYKZAKVN.js.map +1 -0
- package/dist/chunk-M2NVOKGL.js +97 -0
- package/dist/chunk-M2NVOKGL.js.map +1 -0
- package/dist/chunk-M3UOD7TX.js +427 -0
- package/dist/chunk-M3UOD7TX.js.map +1 -0
- package/dist/chunk-M5C4XQO2.js +45 -0
- package/dist/chunk-M5C4XQO2.js.map +1 -0
- package/dist/chunk-M5DFGJF7.js +10 -0
- package/dist/chunk-M5DFGJF7.js.map +1 -0
- package/dist/chunk-MAXX5M6N.js +9 -0
- package/dist/chunk-MAXX5M6N.js.map +1 -0
- package/dist/chunk-MEAGFRLE.js +37 -0
- package/dist/chunk-MEAGFRLE.js.map +1 -0
- package/dist/chunk-MFYNCWAO.js +25 -0
- package/dist/chunk-MFYNCWAO.js.map +1 -0
- package/dist/chunk-MJ26PFRF.js +12 -0
- package/dist/chunk-MJ26PFRF.js.map +1 -0
- package/dist/chunk-MP2GRDUX.js +10 -0
- package/dist/chunk-MP2GRDUX.js.map +1 -0
- package/dist/chunk-MTQLUS5O.js +51 -0
- package/dist/chunk-MTQLUS5O.js.map +1 -0
- package/dist/chunk-MUDO3ZPJ.js +10 -0
- package/dist/chunk-MUDO3ZPJ.js.map +1 -0
- package/dist/chunk-N2Q3TZXW.js +9 -0
- package/dist/chunk-N2Q3TZXW.js.map +1 -0
- package/dist/chunk-N52KK6K5.js +48 -0
- package/dist/chunk-N52KK6K5.js.map +1 -0
- package/dist/chunk-N5F2YHLD.js +28 -0
- package/dist/chunk-N5F2YHLD.js.map +1 -0
- package/dist/chunk-NGX5YDCB.js +7 -0
- package/dist/chunk-NGX5YDCB.js.map +1 -0
- package/dist/chunk-NHDRXRXA.js +33 -0
- package/dist/chunk-NHDRXRXA.js.map +1 -0
- package/dist/chunk-NPK5ITEG.js +7 -0
- package/dist/chunk-NPK5ITEG.js.map +1 -0
- package/dist/chunk-NPTM6BGC.js +15 -0
- package/dist/chunk-NPTM6BGC.js.map +1 -0
- package/dist/chunk-NTNVW4BG.js +7 -0
- package/dist/chunk-NTNVW4BG.js.map +1 -0
- package/dist/chunk-OBASYXH2.js +26 -0
- package/dist/chunk-OBASYXH2.js.map +1 -0
- package/dist/chunk-OBQNTU5F.js +7 -0
- package/dist/chunk-OBQNTU5F.js.map +1 -0
- package/dist/chunk-OEHNS7YX.js +7 -0
- package/dist/chunk-OEHNS7YX.js.map +1 -0
- package/dist/chunk-OJAUFHEW.js +107 -0
- package/dist/chunk-OJAUFHEW.js.map +1 -0
- package/dist/chunk-ONW4BD2Z.js +38 -0
- package/dist/chunk-ONW4BD2Z.js.map +1 -0
- package/dist/chunk-OOXUZMZ7.js +9 -0
- package/dist/chunk-OOXUZMZ7.js.map +1 -0
- package/dist/chunk-OP3PIADD.js +45 -0
- package/dist/chunk-OP3PIADD.js.map +1 -0
- package/dist/chunk-OSDM6ZVT.js +7 -0
- package/dist/chunk-OSDM6ZVT.js.map +1 -0
- package/dist/chunk-OZEEIRCS.js +9 -0
- package/dist/chunk-OZEEIRCS.js.map +1 -0
- package/dist/chunk-PGSBJUJ4.js +9 -0
- package/dist/chunk-PGSBJUJ4.js.map +1 -0
- package/dist/chunk-PPIDZONA.js +38 -0
- package/dist/chunk-PPIDZONA.js.map +1 -0
- package/dist/chunk-PTMZQ7E3.js +7 -0
- package/dist/chunk-PTMZQ7E3.js.map +1 -0
- package/dist/chunk-PV24XKW2.js +11 -0
- package/dist/chunk-PV24XKW2.js.map +1 -0
- package/dist/chunk-PXU563OY.js +26 -0
- package/dist/chunk-PXU563OY.js.map +1 -0
- package/dist/chunk-Q2XYS26I.js +11 -0
- package/dist/chunk-Q2XYS26I.js.map +1 -0
- package/dist/chunk-Q5NG3DY7.js +31 -0
- package/dist/chunk-Q5NG3DY7.js.map +1 -0
- package/dist/chunk-QADXAWA6.js +71 -0
- package/dist/chunk-QADXAWA6.js.map +1 -0
- package/dist/chunk-QG2FZCJ6.js +7 -0
- package/dist/chunk-QG2FZCJ6.js.map +1 -0
- package/dist/chunk-QMLGJPHC.js +7 -0
- package/dist/chunk-QMLGJPHC.js.map +1 -0
- package/dist/chunk-QQKXAEXW.js +50 -0
- package/dist/chunk-QQKXAEXW.js.map +1 -0
- package/dist/chunk-QS3C4KCF.js +95 -0
- package/dist/chunk-QS3C4KCF.js.map +1 -0
- package/dist/chunk-R4HNE7TL.js +7 -0
- package/dist/chunk-R4HNE7TL.js.map +1 -0
- package/dist/chunk-R5PBXGKK.js +10 -0
- package/dist/chunk-R5PBXGKK.js.map +1 -0
- package/dist/chunk-RFQXCN62.js +13 -0
- package/dist/chunk-RFQXCN62.js.map +1 -0
- package/dist/chunk-RGPGW4ZJ.js +9 -0
- package/dist/chunk-RGPGW4ZJ.js.map +1 -0
- package/dist/chunk-RKBRRJY6.js +9 -0
- package/dist/chunk-RKBRRJY6.js.map +1 -0
- package/dist/chunk-RM6NFJ7V.js +32 -0
- package/dist/chunk-RM6NFJ7V.js.map +1 -0
- package/dist/chunk-RRYAXULQ.js +48 -0
- package/dist/chunk-RRYAXULQ.js.map +1 -0
- package/dist/chunk-RS4W2FAL.js +89 -0
- package/dist/chunk-RS4W2FAL.js.map +1 -0
- package/dist/chunk-RSUFDTAH.js +110 -0
- package/dist/chunk-RSUFDTAH.js.map +1 -0
- package/dist/chunk-S2XKXJNC.js +30 -0
- package/dist/chunk-S2XKXJNC.js.map +1 -0
- package/dist/chunk-S4NKJDRC.js +79 -0
- package/dist/chunk-S4NKJDRC.js.map +1 -0
- package/dist/chunk-S7QGB2FC.js +27 -0
- package/dist/chunk-S7QGB2FC.js.map +1 -0
- package/dist/chunk-SCL4FW6F.js +425 -0
- package/dist/chunk-SCL4FW6F.js.map +1 -0
- package/dist/chunk-SITF6GNM.js +7 -0
- package/dist/chunk-SITF6GNM.js.map +1 -0
- package/dist/chunk-SPCINICO.js +5 -0
- package/dist/chunk-SPCINICO.js.map +1 -0
- package/dist/chunk-SPOTTHMN.js +24 -0
- package/dist/chunk-SPOTTHMN.js.map +1 -0
- package/dist/chunk-SWYNIQHD.js +77 -0
- package/dist/chunk-SWYNIQHD.js.map +1 -0
- package/dist/chunk-SXXITYPP.js +69 -0
- package/dist/chunk-SXXITYPP.js.map +1 -0
- package/dist/chunk-T4YZKI3Y.js +133 -0
- package/dist/chunk-T4YZKI3Y.js.map +1 -0
- package/dist/chunk-T7AIKZ6A.js +44 -0
- package/dist/chunk-T7AIKZ6A.js.map +1 -0
- package/dist/chunk-T7EX6RI2.js +34 -0
- package/dist/chunk-T7EX6RI2.js.map +1 -0
- package/dist/chunk-TB3GE2MH.js +93 -0
- package/dist/chunk-TB3GE2MH.js.map +1 -0
- package/dist/chunk-TE4JFCHB.js +52 -0
- package/dist/chunk-TE4JFCHB.js.map +1 -0
- package/dist/chunk-TGQYCEFL.js +37 -0
- package/dist/chunk-TGQYCEFL.js.map +1 -0
- package/dist/chunk-TMTWPBFD.js +10 -0
- package/dist/chunk-TMTWPBFD.js.map +1 -0
- package/dist/chunk-TSAEQFDM.js +65 -0
- package/dist/chunk-TSAEQFDM.js.map +1 -0
- package/dist/chunk-U3FX24C6.js +1 -0
- package/dist/chunk-U3FX24C6.js.map +1 -0
- package/dist/chunk-U776U22S.js +45 -0
- package/dist/chunk-U776U22S.js.map +1 -0
- package/dist/chunk-UCBDCGYX.js +9 -0
- package/dist/chunk-UCBDCGYX.js.map +1 -0
- package/dist/chunk-UGNYASFC.js +59 -0
- package/dist/chunk-UGNYASFC.js.map +1 -0
- package/dist/chunk-UJTVBENE.js +7 -0
- package/dist/chunk-UJTVBENE.js.map +1 -0
- package/dist/chunk-UKVFVAOO.js +75 -0
- package/dist/chunk-UKVFVAOO.js.map +1 -0
- package/dist/chunk-URKWHZXA.js +25 -0
- package/dist/chunk-URKWHZXA.js.map +1 -0
- package/dist/chunk-UVKRO5ER.js +13 -0
- package/dist/chunk-UVKRO5ER.js.map +1 -0
- package/dist/chunk-V3D7FBSR.js +14 -0
- package/dist/chunk-V3D7FBSR.js.map +1 -0
- package/dist/chunk-VCVMCKZI.js +10 -0
- package/dist/chunk-VCVMCKZI.js.map +1 -0
- package/dist/chunk-VNGMGQF5.js +1 -0
- package/dist/chunk-VNGMGQF5.js.map +1 -0
- package/dist/chunk-VSK7766S.js +163 -0
- package/dist/chunk-VSK7766S.js.map +1 -0
- package/dist/chunk-VZLDFZC7.js +241 -0
- package/dist/chunk-VZLDFZC7.js.map +1 -0
- package/dist/chunk-W2KUESDN.js +25 -0
- package/dist/chunk-W2KUESDN.js.map +1 -0
- package/dist/chunk-W2SHHRYX.js +420 -0
- package/dist/chunk-W2SHHRYX.js.map +1 -0
- package/dist/chunk-WBLZ5GBM.js +158 -0
- package/dist/chunk-WBLZ5GBM.js.map +1 -0
- package/dist/chunk-WODJ2VQH.js +41 -0
- package/dist/chunk-WODJ2VQH.js.map +1 -0
- package/dist/chunk-WQXLL5IV.js +9 -0
- package/dist/chunk-WQXLL5IV.js.map +1 -0
- package/dist/chunk-WR3327CL.js +89 -0
- package/dist/chunk-WR3327CL.js.map +1 -0
- package/dist/chunk-WSBH5QD6.js +309 -0
- package/dist/chunk-WSBH5QD6.js.map +1 -0
- package/dist/chunk-WTHHXWQM.js +7 -0
- package/dist/chunk-WTHHXWQM.js.map +1 -0
- package/dist/chunk-WW56NFQS.js +7 -0
- package/dist/chunk-WW56NFQS.js.map +1 -0
- package/dist/chunk-WYVXNXZI.js +73 -0
- package/dist/chunk-WYVXNXZI.js.map +1 -0
- package/dist/chunk-X3MYMAS2.js +56 -0
- package/dist/chunk-X3MYMAS2.js.map +1 -0
- package/dist/chunk-X7CDYCQF.js +22 -0
- package/dist/chunk-X7CDYCQF.js.map +1 -0
- package/dist/chunk-XGVDXMS3.js +90 -0
- package/dist/chunk-XGVDXMS3.js.map +1 -0
- package/dist/chunk-XHXIXEGS.js +7 -0
- package/dist/chunk-XHXIXEGS.js.map +1 -0
- package/dist/chunk-XJ6HO3WP.js +46 -0
- package/dist/chunk-XJ6HO3WP.js.map +1 -0
- package/dist/chunk-XMR6HHTA.js +59 -0
- package/dist/chunk-XMR6HHTA.js.map +1 -0
- package/dist/chunk-XR2KBJIP.js +54 -0
- package/dist/chunk-XR2KBJIP.js.map +1 -0
- package/dist/chunk-XVN5W3A7.js +50 -0
- package/dist/chunk-XVN5W3A7.js.map +1 -0
- package/dist/chunk-XXYOJDOZ.js +11 -0
- package/dist/chunk-XXYOJDOZ.js.map +1 -0
- package/dist/chunk-XZROR7RJ.js +25 -0
- package/dist/chunk-XZROR7RJ.js.map +1 -0
- package/dist/chunk-YF3LWJL4.js +7 -0
- package/dist/chunk-YF3LWJL4.js.map +1 -0
- package/dist/chunk-YFM4P3Z3.js +309 -0
- package/dist/chunk-YFM4P3Z3.js.map +1 -0
- package/dist/chunk-YFVOBSKP.js +52 -0
- package/dist/chunk-YFVOBSKP.js.map +1 -0
- package/dist/chunk-YFZW72PC.js +45 -0
- package/dist/chunk-YFZW72PC.js.map +1 -0
- package/dist/chunk-YHTCXXEG.js +9 -0
- package/dist/chunk-YHTCXXEG.js.map +1 -0
- package/dist/chunk-YJVUJ6AA.js +93 -0
- package/dist/chunk-YJVUJ6AA.js.map +1 -0
- package/dist/chunk-YKB67FZ5.js +46 -0
- package/dist/chunk-YKB67FZ5.js.map +1 -0
- package/dist/chunk-YS2PK7QA.js +35 -0
- package/dist/chunk-YS2PK7QA.js.map +1 -0
- package/dist/chunk-YURDFQ6X.js +33 -0
- package/dist/chunk-YURDFQ6X.js.map +1 -0
- package/dist/chunk-YVCKIDL5.js +61 -0
- package/dist/chunk-YVCKIDL5.js.map +1 -0
- package/dist/chunk-YXO6NQ4E.js +49 -0
- package/dist/chunk-YXO6NQ4E.js.map +1 -0
- package/dist/chunk-Z2AEG3J7.js +53 -0
- package/dist/chunk-Z2AEG3J7.js.map +1 -0
- package/dist/chunk-Z4I2MQ7B.js +26 -0
- package/dist/chunk-Z4I2MQ7B.js.map +1 -0
- package/dist/chunk-ZBPKZKIJ.js +25 -0
- package/dist/chunk-ZBPKZKIJ.js.map +1 -0
- package/dist/chunk-ZCMJVQ6P.js +10 -0
- package/dist/chunk-ZCMJVQ6P.js.map +1 -0
- package/dist/chunk-ZCQ5UWVE.js +27 -0
- package/dist/chunk-ZCQ5UWVE.js.map +1 -0
- package/dist/chunk-ZFCTBLWX.js +12 -0
- package/dist/chunk-ZFCTBLWX.js.map +1 -0
- package/dist/chunk-ZJ6KVLUS.js +296 -0
- package/dist/chunk-ZJ6KVLUS.js.map +1 -0
- package/dist/chunk-ZRCFHUS4.js +37 -0
- package/dist/chunk-ZRCFHUS4.js.map +1 -0
- package/dist/chunk-ZSB6HGB5.js +50 -0
- package/dist/chunk-ZSB6HGB5.js.map +1 -0
- package/dist/chunk-ZSG6ROJA.js +45 -0
- package/dist/chunk-ZSG6ROJA.js.map +1 -0
- package/dist/chunk-ZSQIEOQO.js +61 -0
- package/dist/chunk-ZSQIEOQO.js.map +1 -0
- package/dist/chunk-ZTMXXISI.js +158 -0
- package/dist/chunk-ZTMXXISI.js.map +1 -0
- package/dist/chunk-ZUMPSWHW.js +138 -0
- package/dist/chunk-ZUMPSWHW.js.map +1 -0
- package/dist/chunk-ZUYSQ37E.js +88 -0
- package/dist/chunk-ZUYSQ37E.js.map +1 -0
- package/dist/components/base/index.cjs +156 -0
- package/dist/components/base/index.cjs.map +1 -0
- package/dist/components/base/index.js +15 -0
- package/dist/components/base/index.js.map +1 -0
- package/dist/components/base/types.cjs +19 -0
- package/dist/components/base/types.cjs.map +1 -0
- package/dist/components/base/types.js +1 -0
- package/dist/components/base/types.js.map +1 -0
- package/dist/components/buffer.cjs +184 -0
- package/dist/components/buffer.cjs.map +1 -0
- package/dist/components/buffer.js +18 -0
- package/dist/components/buffer.js.map +1 -0
- package/dist/components/captionsview.cjs +378 -0
- package/dist/components/captionsview.cjs.map +1 -0
- package/dist/components/captionsview.js +22 -0
- package/dist/components/captionsview.js.map +1 -0
- package/dist/components/controls/airplay.cjs +441 -0
- package/dist/components/controls/airplay.cjs.map +1 -0
- package/dist/components/controls/airplay.js +21 -0
- package/dist/components/controls/airplay.js.map +1 -0
- package/dist/components/controls/backward10.cjs +427 -0
- package/dist/components/controls/backward10.cjs.map +1 -0
- package/dist/components/controls/backward10.js +21 -0
- package/dist/components/controls/backward10.js.map +1 -0
- package/dist/components/controls/bignext.cjs +448 -0
- package/dist/components/controls/bignext.cjs.map +1 -0
- package/dist/components/controls/bignext.js +21 -0
- package/dist/components/controls/bignext.js.map +1 -0
- package/dist/components/controls/bigplaypause.cjs +440 -0
- package/dist/components/controls/bigplaypause.cjs.map +1 -0
- package/dist/components/controls/bigplaypause.js +21 -0
- package/dist/components/controls/bigplaypause.js.map +1 -0
- package/dist/components/controls/bigprev.cjs +448 -0
- package/dist/components/controls/bigprev.cjs.map +1 -0
- package/dist/components/controls/bigprev.js +21 -0
- package/dist/components/controls/bigprev.js.map +1 -0
- package/dist/components/controls/brightness/index.cjs +767 -0
- package/dist/components/controls/brightness/index.cjs.map +1 -0
- package/dist/components/controls/brightness/index.js +25 -0
- package/dist/components/controls/brightness/index.js.map +1 -0
- package/dist/components/controls/brightness/slider.cjs +460 -0
- package/dist/components/controls/brightness/slider.cjs.map +1 -0
- package/dist/components/controls/brightness/slider.js +21 -0
- package/dist/components/controls/brightness/slider.js.map +1 -0
- package/dist/components/controls/captions.cjs +452 -0
- package/dist/components/controls/captions.cjs.map +1 -0
- package/dist/components/controls/captions.js +21 -0
- package/dist/components/controls/captions.js.map +1 -0
- package/dist/components/controls/capture.cjs +455 -0
- package/dist/components/controls/capture.cjs.map +1 -0
- package/dist/components/controls/capture.js +21 -0
- package/dist/components/controls/capture.js.map +1 -0
- package/dist/components/controls/cast.cjs +441 -0
- package/dist/components/controls/cast.cjs.map +1 -0
- package/dist/components/controls/cast.js +21 -0
- package/dist/components/controls/cast.js.map +1 -0
- package/dist/components/controls/chapter.cjs +213 -0
- package/dist/components/controls/chapter.cjs.map +1 -0
- package/dist/components/controls/chapter.js +18 -0
- package/dist/components/controls/chapter.js.map +1 -0
- package/dist/components/controls/duration.cjs +217 -0
- package/dist/components/controls/duration.cjs.map +1 -0
- package/dist/components/controls/duration.js +18 -0
- package/dist/components/controls/duration.js.map +1 -0
- package/dist/components/controls/expandminiplayer.cjs +430 -0
- package/dist/components/controls/expandminiplayer.cjs.map +1 -0
- package/dist/components/controls/expandminiplayer.js +21 -0
- package/dist/components/controls/expandminiplayer.js.map +1 -0
- package/dist/components/controls/forward10.cjs +427 -0
- package/dist/components/controls/forward10.cjs.map +1 -0
- package/dist/components/controls/forward10.js +21 -0
- package/dist/components/controls/forward10.js.map +1 -0
- package/dist/components/controls/fullscreen.cjs +441 -0
- package/dist/components/controls/fullscreen.cjs.map +1 -0
- package/dist/components/controls/fullscreen.js +21 -0
- package/dist/components/controls/fullscreen.js.map +1 -0
- package/dist/components/controls/fullscreenlock.cjs +433 -0
- package/dist/components/controls/fullscreenlock.cjs.map +1 -0
- package/dist/components/controls/fullscreenlock.js +21 -0
- package/dist/components/controls/fullscreenlock.js.map +1 -0
- package/dist/components/controls/fullscreenorientation.cjs +436 -0
- package/dist/components/controls/fullscreenorientation.cjs.map +1 -0
- package/dist/components/controls/fullscreenorientation.js +21 -0
- package/dist/components/controls/fullscreenorientation.js.map +1 -0
- package/dist/components/controls/meta.cjs +298 -0
- package/dist/components/controls/meta.cjs.map +1 -0
- package/dist/components/controls/meta.js +18 -0
- package/dist/components/controls/meta.js.map +1 -0
- package/dist/components/controls/next.cjs +444 -0
- package/dist/components/controls/next.cjs.map +1 -0
- package/dist/components/controls/next.js +21 -0
- package/dist/components/controls/next.js.map +1 -0
- package/dist/components/controls/objectfit.cjs +444 -0
- package/dist/components/controls/objectfit.cjs.map +1 -0
- package/dist/components/controls/objectfit.js +21 -0
- package/dist/components/controls/objectfit.js.map +1 -0
- package/dist/components/controls/pictureinpicture.cjs +441 -0
- package/dist/components/controls/pictureinpicture.cjs.map +1 -0
- package/dist/components/controls/pictureinpicture.js +21 -0
- package/dist/components/controls/pictureinpicture.js.map +1 -0
- package/dist/components/controls/playpause.cjs +441 -0
- package/dist/components/controls/playpause.cjs.map +1 -0
- package/dist/components/controls/playpause.js +21 -0
- package/dist/components/controls/playpause.js.map +1 -0
- package/dist/components/controls/prev.cjs +444 -0
- package/dist/components/controls/prev.cjs.map +1 -0
- package/dist/components/controls/prev.js +21 -0
- package/dist/components/controls/prev.js.map +1 -0
- package/dist/components/controls/removeminiplayer.cjs +432 -0
- package/dist/components/controls/removeminiplayer.cjs.map +1 -0
- package/dist/components/controls/removeminiplayer.js +21 -0
- package/dist/components/controls/removeminiplayer.js.map +1 -0
- package/dist/components/controls/settings.cjs +443 -0
- package/dist/components/controls/settings.cjs.map +1 -0
- package/dist/components/controls/settings.js +21 -0
- package/dist/components/controls/settings.js.map +1 -0
- package/dist/components/controls/theater.cjs +441 -0
- package/dist/components/controls/theater.cjs.map +1 -0
- package/dist/components/controls/theater.js +21 -0
- package/dist/components/controls/theater.js.map +1 -0
- package/dist/components/controls/time.cjs +230 -0
- package/dist/components/controls/time.cjs.map +1 -0
- package/dist/components/controls/time.js +18 -0
- package/dist/components/controls/time.js.map +1 -0
- package/dist/components/controls/timeandduration.cjs +251 -0
- package/dist/components/controls/timeandduration.cjs.map +1 -0
- package/dist/components/controls/timeandduration.js +18 -0
- package/dist/components/controls/timeandduration.js.map +1 -0
- package/dist/components/controls/timeline/index.cjs +713 -0
- package/dist/components/controls/timeline/index.cjs.map +1 -0
- package/dist/components/controls/timeline/index.js +25 -0
- package/dist/components/controls/timeline/index.js.map +1 -0
- package/dist/components/controls/timeline/types.cjs +19 -0
- package/dist/components/controls/timeline/types.cjs.map +1 -0
- package/dist/components/controls/timeline/types.js +1 -0
- package/dist/components/controls/timeline/types.js.map +1 -0
- package/dist/components/controls/volume/index.cjs +767 -0
- package/dist/components/controls/volume/index.cjs.map +1 -0
- package/dist/components/controls/volume/index.js +25 -0
- package/dist/components/controls/volume/index.js.map +1 -0
- package/dist/components/controls/volume/slider.cjs +460 -0
- package/dist/components/controls/volume/slider.cjs.map +1 -0
- package/dist/components/controls/volume/slider.js +21 -0
- package/dist/components/controls/volume/slider.js.map +1 -0
- package/dist/components/holders/airplayplaceholder.cjs +446 -0
- package/dist/components/holders/airplayplaceholder.cjs.map +1 -0
- package/dist/components/holders/airplayplaceholder.js +21 -0
- package/dist/components/holders/airplayplaceholder.js.map +1 -0
- package/dist/components/holders/castplaceholder.cjs +446 -0
- package/dist/components/holders/castplaceholder.cjs.map +1 -0
- package/dist/components/holders/castplaceholder.js +21 -0
- package/dist/components/holders/castplaceholder.js.map +1 -0
- package/dist/components/holders/pipplaceholder.cjs +446 -0
- package/dist/components/holders/pipplaceholder.cjs.map +1 -0
- package/dist/components/holders/pipplaceholder.js +30 -0
- package/dist/components/holders/pipplaceholder.js.map +1 -0
- package/dist/components/icons/add.cjs +27 -0
- package/dist/components/icons/add.cjs.map +1 -0
- package/dist/components/icons/add.js +8 -0
- package/dist/components/icons/add.js.map +1 -0
- package/dist/components/icons/airplay.cjs +30 -0
- package/dist/components/icons/airplay.cjs.map +1 -0
- package/dist/components/icons/airplay.js +8 -0
- package/dist/components/icons/airplay.js.map +1 -0
- package/dist/components/icons/airplayplaceholder.cjs +39 -0
- package/dist/components/icons/airplayplaceholder.cjs.map +1 -0
- package/dist/components/icons/airplayplaceholder.js +8 -0
- package/dist/components/icons/airplayplaceholder.js.map +1 -0
- package/dist/components/icons/ambience.cjs +27 -0
- package/dist/components/icons/ambience.cjs.map +1 -0
- package/dist/components/icons/ambience.js +8 -0
- package/dist/components/icons/ambience.js.map +1 -0
- package/dist/components/icons/audiotrack.cjs +27 -0
- package/dist/components/icons/audiotrack.cjs.map +1 -0
- package/dist/components/icons/audiotrack.js +8 -0
- package/dist/components/icons/audiotrack.js.map +1 -0
- package/dist/components/icons/autoplay.cjs +27 -0
- package/dist/components/icons/autoplay.cjs.map +1 -0
- package/dist/components/icons/autoplay.js +8 -0
- package/dist/components/icons/autoplay.js.map +1 -0
- package/dist/components/icons/backward10.cjs +29 -0
- package/dist/components/icons/backward10.cjs.map +1 -0
- package/dist/components/icons/backward10.js +8 -0
- package/dist/components/icons/backward10.js.map +1 -0
- package/dist/components/icons/brightnessdark.cjs +29 -0
- package/dist/components/icons/brightnessdark.cjs.map +1 -0
- package/dist/components/icons/brightnessdark.js +8 -0
- package/dist/components/icons/brightnessdark.js.map +1 -0
- package/dist/components/icons/brightnesshigh.cjs +29 -0
- package/dist/components/icons/brightnesshigh.cjs.map +1 -0
- package/dist/components/icons/brightnesshigh.js +8 -0
- package/dist/components/icons/brightnesshigh.js.map +1 -0
- package/dist/components/icons/brightnesslow.cjs +29 -0
- package/dist/components/icons/brightnesslow.cjs.map +1 -0
- package/dist/components/icons/brightnesslow.js +8 -0
- package/dist/components/icons/brightnesslow.js.map +1 -0
- package/dist/components/icons/bwd.cjs +31 -0
- package/dist/components/icons/bwd.cjs.map +1 -0
- package/dist/components/icons/bwd.js +8 -0
- package/dist/components/icons/bwd.js.map +1 -0
- package/dist/components/icons/captions.cjs +29 -0
- package/dist/components/icons/captions.cjs.map +1 -0
- package/dist/components/icons/captions.js +8 -0
- package/dist/components/icons/captions.js.map +1 -0
- package/dist/components/icons/capture.cjs +29 -0
- package/dist/components/icons/capture.cjs.map +1 -0
- package/dist/components/icons/capture.js +8 -0
- package/dist/components/icons/capture.js.map +1 -0
- package/dist/components/icons/cast.cjs +29 -0
- package/dist/components/icons/cast.cjs.map +1 -0
- package/dist/components/icons/cast.js +8 -0
- package/dist/components/icons/cast.js.map +1 -0
- package/dist/components/icons/castplaceholder.cjs +42 -0
- package/dist/components/icons/castplaceholder.cjs.map +1 -0
- package/dist/components/icons/castplaceholder.js +8 -0
- package/dist/components/icons/castplaceholder.js.map +1 -0
- package/dist/components/icons/chapters.cjs +27 -0
- package/dist/components/icons/chapters.cjs.map +1 -0
- package/dist/components/icons/chapters.js +8 -0
- package/dist/components/icons/chapters.js.map +1 -0
- package/dist/components/icons/configure.cjs +27 -0
- package/dist/components/icons/configure.cjs.map +1 -0
- package/dist/components/icons/configure.js +8 -0
- package/dist/components/icons/configure.js.map +1 -0
- package/dist/components/icons/deleteicon.cjs +27 -0
- package/dist/components/icons/deleteicon.cjs.map +1 -0
- package/dist/components/icons/deleteicon.js +8 -0
- package/dist/components/icons/deleteicon.js.map +1 -0
- package/dist/components/icons/doubletriangleleft.cjs +27 -0
- package/dist/components/icons/doubletriangleleft.cjs.map +1 -0
- package/dist/components/icons/doubletriangleleft.js +8 -0
- package/dist/components/icons/doubletriangleleft.js.map +1 -0
- package/dist/components/icons/doubletriangleright.cjs +27 -0
- package/dist/components/icons/doubletriangleright.cjs.map +1 -0
- package/dist/components/icons/doubletriangleright.js +8 -0
- package/dist/components/icons/doubletriangleright.js.map +1 -0
- package/dist/components/icons/dragindicator.cjs +27 -0
- package/dist/components/icons/dragindicator.cjs.map +1 -0
- package/dist/components/icons/dragindicator.js +8 -0
- package/dist/components/icons/dragindicator.js.map +1 -0
- package/dist/components/icons/edit.cjs +27 -0
- package/dist/components/icons/edit.cjs.map +1 -0
- package/dist/components/icons/edit.js +8 -0
- package/dist/components/icons/edit.js.map +1 -0
- package/dist/components/icons/enterfullscreen.cjs +32 -0
- package/dist/components/icons/enterfullscreen.cjs.map +1 -0
- package/dist/components/icons/enterfullscreen.js +8 -0
- package/dist/components/icons/enterfullscreen.js.map +1 -0
- package/dist/components/icons/enterpip.cjs +29 -0
- package/dist/components/icons/enterpip.cjs.map +1 -0
- package/dist/components/icons/enterpip.js +8 -0
- package/dist/components/icons/enterpip.js.map +1 -0
- package/dist/components/icons/entertheater.cjs +29 -0
- package/dist/components/icons/entertheater.cjs.map +1 -0
- package/dist/components/icons/entertheater.js +8 -0
- package/dist/components/icons/entertheater.js.map +1 -0
- package/dist/components/icons/expandminiplayer.cjs +29 -0
- package/dist/components/icons/expandminiplayer.cjs.map +1 -0
- package/dist/components/icons/expandminiplayer.js +8 -0
- package/dist/components/icons/expandminiplayer.js.map +1 -0
- package/dist/components/icons/forward10.cjs +29 -0
- package/dist/components/icons/forward10.cjs.map +1 -0
- package/dist/components/icons/forward10.js +8 -0
- package/dist/components/icons/forward10.js.map +1 -0
- package/dist/components/icons/fullscreenorientation.cjs +30 -0
- package/dist/components/icons/fullscreenorientation.cjs.map +1 -0
- package/dist/components/icons/fullscreenorientation.js +8 -0
- package/dist/components/icons/fullscreenorientation.js.map +1 -0
- package/dist/components/icons/fwd.cjs +31 -0
- package/dist/components/icons/fwd.cjs.map +1 -0
- package/dist/components/icons/fwd.js +8 -0
- package/dist/components/icons/fwd.js.map +1 -0
- package/dist/components/icons/leavefullscreen.cjs +32 -0
- package/dist/components/icons/leavefullscreen.cjs.map +1 -0
- package/dist/components/icons/leavefullscreen.js +8 -0
- package/dist/components/icons/leavefullscreen.js.map +1 -0
- package/dist/components/icons/leavepip.cjs +29 -0
- package/dist/components/icons/leavepip.cjs.map +1 -0
- package/dist/components/icons/leavepip.js +8 -0
- package/dist/components/icons/leavepip.js.map +1 -0
- package/dist/components/icons/leavetheater.cjs +29 -0
- package/dist/components/icons/leavetheater.cjs.map +1 -0
- package/dist/components/icons/leavetheater.js +8 -0
- package/dist/components/icons/leavetheater.js.map +1 -0
- package/dist/components/icons/lock.cjs +30 -0
- package/dist/components/icons/lock.cjs.map +1 -0
- package/dist/components/icons/lock.js +8 -0
- package/dist/components/icons/lock.js.map +1 -0
- package/dist/components/icons/loop.cjs +27 -0
- package/dist/components/icons/loop.cjs.map +1 -0
- package/dist/components/icons/loop.js +8 -0
- package/dist/components/icons/loop.js.map +1 -0
- package/dist/components/icons/next.cjs +30 -0
- package/dist/components/icons/next.cjs.map +1 -0
- package/dist/components/icons/next.js +8 -0
- package/dist/components/icons/next.js.map +1 -0
- package/dist/components/icons/objectfitcontain.cjs +32 -0
- package/dist/components/icons/objectfitcontain.cjs.map +1 -0
- package/dist/components/icons/objectfitcontain.js +8 -0
- package/dist/components/icons/objectfitcontain.js.map +1 -0
- package/dist/components/icons/objectfitcover.cjs +32 -0
- package/dist/components/icons/objectfitcover.cjs.map +1 -0
- package/dist/components/icons/objectfitcover.js +8 -0
- package/dist/components/icons/objectfitcover.js.map +1 -0
- package/dist/components/icons/objectfitfill.cjs +32 -0
- package/dist/components/icons/objectfitfill.cjs.map +1 -0
- package/dist/components/icons/objectfitfill.js +8 -0
- package/dist/components/icons/objectfitfill.js.map +1 -0
- package/dist/components/icons/pause.cjs +29 -0
- package/dist/components/icons/pause.cjs.map +1 -0
- package/dist/components/icons/pause.js +8 -0
- package/dist/components/icons/pause.js.map +1 -0
- package/dist/components/icons/pipplaceholder.cjs +50 -0
- package/dist/components/icons/pipplaceholder.cjs.map +1 -0
- package/dist/components/icons/pipplaceholder.js +8 -0
- package/dist/components/icons/pipplaceholder.js.map +1 -0
- package/dist/components/icons/play.cjs +29 -0
- package/dist/components/icons/play.cjs.map +1 -0
- package/dist/components/icons/play.js +8 -0
- package/dist/components/icons/play.js.map +1 -0
- package/dist/components/icons/playbackrate.cjs +27 -0
- package/dist/components/icons/playbackrate.cjs.map +1 -0
- package/dist/components/icons/playbackrate.js +8 -0
- package/dist/components/icons/playbackrate.js.map +1 -0
- package/dist/components/icons/playlist.cjs +27 -0
- package/dist/components/icons/playlist.cjs.map +1 -0
- package/dist/components/icons/playlist.js +8 -0
- package/dist/components/icons/playlist.js.map +1 -0
- package/dist/components/icons/prev.cjs +30 -0
- package/dist/components/icons/prev.cjs.map +1 -0
- package/dist/components/icons/prev.js +8 -0
- package/dist/components/icons/prev.js.map +1 -0
- package/dist/components/icons/quality.cjs +27 -0
- package/dist/components/icons/quality.cjs.map +1 -0
- package/dist/components/icons/quality.js +8 -0
- package/dist/components/icons/quality.js.map +1 -0
- package/dist/components/icons/removeminiplayer.cjs +29 -0
- package/dist/components/icons/removeminiplayer.cjs.map +1 -0
- package/dist/components/icons/removeminiplayer.js +8 -0
- package/dist/components/icons/removeminiplayer.js.map +1 -0
- package/dist/components/icons/replay.cjs +29 -0
- package/dist/components/icons/replay.cjs.map +1 -0
- package/dist/components/icons/replay.js +8 -0
- package/dist/components/icons/replay.js.map +1 -0
- package/dist/components/icons/returnback.cjs +30 -0
- package/dist/components/icons/returnback.cjs.map +1 -0
- package/dist/components/icons/returnback.js +8 -0
- package/dist/components/icons/returnback.js.map +1 -0
- package/dist/components/icons/settings.cjs +29 -0
- package/dist/components/icons/settings.cjs.map +1 -0
- package/dist/components/icons/settings.js +8 -0
- package/dist/components/icons/settings.js.map +1 -0
- package/dist/components/icons/shuffle.cjs +27 -0
- package/dist/components/icons/shuffle.cjs.map +1 -0
- package/dist/components/icons/shuffle.js +8 -0
- package/dist/components/icons/shuffle.js.map +1 -0
- package/dist/components/icons/subtitles.cjs +29 -0
- package/dist/components/icons/subtitles.cjs.map +1 -0
- package/dist/components/icons/subtitles.js +8 -0
- package/dist/components/icons/subtitles.js.map +1 -0
- package/dist/components/icons/timer.cjs +27 -0
- package/dist/components/icons/timer.cjs.map +1 -0
- package/dist/components/icons/timer.js +8 -0
- package/dist/components/icons/timer.js.map +1 -0
- package/dist/components/icons/triangleleft.cjs +29 -0
- package/dist/components/icons/triangleleft.cjs.map +1 -0
- package/dist/components/icons/triangleleft.js +8 -0
- package/dist/components/icons/triangleleft.js.map +1 -0
- package/dist/components/icons/tripletriangleleft.cjs +27 -0
- package/dist/components/icons/tripletriangleleft.cjs.map +1 -0
- package/dist/components/icons/tripletriangleleft.js +8 -0
- package/dist/components/icons/tripletriangleleft.js.map +1 -0
- package/dist/components/icons/tripletriangleright.cjs +27 -0
- package/dist/components/icons/tripletriangleright.cjs.map +1 -0
- package/dist/components/icons/tripletriangleright.js +8 -0
- package/dist/components/icons/tripletriangleright.js.map +1 -0
- package/dist/components/icons/unlock.cjs +30 -0
- package/dist/components/icons/unlock.cjs.map +1 -0
- package/dist/components/icons/unlock.js +8 -0
- package/dist/components/icons/unlock.js.map +1 -0
- package/dist/components/icons/videotrack.cjs +27 -0
- package/dist/components/icons/videotrack.cjs.map +1 -0
- package/dist/components/icons/videotrack.js +8 -0
- package/dist/components/icons/videotrack.js.map +1 -0
- package/dist/components/icons/volumehigh.cjs +29 -0
- package/dist/components/icons/volumehigh.cjs.map +1 -0
- package/dist/components/icons/volumehigh.js +8 -0
- package/dist/components/icons/volumehigh.js.map +1 -0
- package/dist/components/icons/volumelow.cjs +29 -0
- package/dist/components/icons/volumelow.cjs.map +1 -0
- package/dist/components/icons/volumelow.js +8 -0
- package/dist/components/icons/volumelow.js.map +1 -0
- package/dist/components/icons/volumemuted.cjs +29 -0
- package/dist/components/icons/volumemuted.cjs.map +1 -0
- package/dist/components/icons/volumemuted.js +8 -0
- package/dist/components/icons/volumemuted.js.map +1 -0
- package/dist/components/icons/z-register.cjs +633 -0
- package/dist/components/icons/z-register.cjs.map +1 -0
- package/dist/components/icons/z-register.js +66 -0
- package/dist/components/icons/z-register.js.map +1 -0
- package/dist/components/notifiers/airplay.cjs +450 -0
- package/dist/components/notifiers/airplay.cjs.map +1 -0
- package/dist/components/notifiers/airplay.js +22 -0
- package/dist/components/notifiers/airplay.js.map +1 -0
- package/dist/components/notifiers/base.cjs +191 -0
- package/dist/components/notifiers/base.cjs.map +1 -0
- package/dist/components/notifiers/base.js +16 -0
- package/dist/components/notifiers/base.js.map +1 -0
- package/dist/components/notifiers/brightness.cjs +469 -0
- package/dist/components/notifiers/brightness.cjs.map +1 -0
- package/dist/components/notifiers/brightness.js +22 -0
- package/dist/components/notifiers/brightness.js.map +1 -0
- package/dist/components/notifiers/cancelscrub.cjs +216 -0
- package/dist/components/notifiers/cancelscrub.cjs.map +1 -0
- package/dist/components/notifiers/cancelscrub.js +19 -0
- package/dist/components/notifiers/cancelscrub.js.map +1 -0
- package/dist/components/notifiers/captions.cjs +450 -0
- package/dist/components/notifiers/captions.cjs.map +1 -0
- package/dist/components/notifiers/captions.js +22 -0
- package/dist/components/notifiers/captions.js.map +1 -0
- package/dist/components/notifiers/capture.cjs +450 -0
- package/dist/components/notifiers/capture.cjs.map +1 -0
- package/dist/components/notifiers/capture.js +22 -0
- package/dist/components/notifiers/capture.js.map +1 -0
- package/dist/components/notifiers/cast.cjs +450 -0
- package/dist/components/notifiers/cast.cjs.map +1 -0
- package/dist/components/notifiers/cast.js +22 -0
- package/dist/components/notifiers/cast.js.map +1 -0
- package/dist/components/notifiers/chapter.cjs +225 -0
- package/dist/components/notifiers/chapter.cjs.map +1 -0
- package/dist/components/notifiers/chapter.js +19 -0
- package/dist/components/notifiers/chapter.js.map +1 -0
- package/dist/components/notifiers/fastplay.cjs +467 -0
- package/dist/components/notifiers/fastplay.cjs.map +1 -0
- package/dist/components/notifiers/fastplay.js +22 -0
- package/dist/components/notifiers/fastplay.js.map +1 -0
- package/dist/components/notifiers/fwdbwd.cjs +457 -0
- package/dist/components/notifiers/fwdbwd.cjs.map +1 -0
- package/dist/components/notifiers/fwdbwd.js +22 -0
- package/dist/components/notifiers/fwdbwd.js.map +1 -0
- package/dist/components/notifiers/objectfit.cjs +468 -0
- package/dist/components/notifiers/objectfit.cjs.map +1 -0
- package/dist/components/notifiers/objectfit.js +22 -0
- package/dist/components/notifiers/objectfit.js.map +1 -0
- package/dist/components/notifiers/playbackrate.cjs +466 -0
- package/dist/components/notifiers/playbackrate.cjs.map +1 -0
- package/dist/components/notifiers/playbackrate.js +22 -0
- package/dist/components/notifiers/playbackrate.js.map +1 -0
- package/dist/components/notifiers/playpause.cjs +457 -0
- package/dist/components/notifiers/playpause.cjs.map +1 -0
- package/dist/components/notifiers/playpause.js +22 -0
- package/dist/components/notifiers/playpause.js.map +1 -0
- package/dist/components/notifiers/prevnext.cjs +457 -0
- package/dist/components/notifiers/prevnext.cjs.map +1 -0
- package/dist/components/notifiers/prevnext.js +22 -0
- package/dist/components/notifiers/prevnext.js.map +1 -0
- package/dist/components/notifiers/scrub.cjs +449 -0
- package/dist/components/notifiers/scrub.cjs.map +1 -0
- package/dist/components/notifiers/scrub.js +22 -0
- package/dist/components/notifiers/scrub.js.map +1 -0
- package/dist/components/notifiers/timer.cjs +451 -0
- package/dist/components/notifiers/timer.cjs.map +1 -0
- package/dist/components/notifiers/timer.js +22 -0
- package/dist/components/notifiers/timer.js.map +1 -0
- package/dist/components/notifiers/touchbrightness.cjs +474 -0
- package/dist/components/notifiers/touchbrightness.cjs.map +1 -0
- package/dist/components/notifiers/touchbrightness.js +22 -0
- package/dist/components/notifiers/touchbrightness.js.map +1 -0
- package/dist/components/notifiers/touchtimeline.cjs +218 -0
- package/dist/components/notifiers/touchtimeline.cjs.map +1 -0
- package/dist/components/notifiers/touchtimeline.js +21 -0
- package/dist/components/notifiers/touchtimeline.js.map +1 -0
- package/dist/components/notifiers/touchvolume.cjs +474 -0
- package/dist/components/notifiers/touchvolume.cjs.map +1 -0
- package/dist/components/notifiers/touchvolume.js +22 -0
- package/dist/components/notifiers/touchvolume.js.map +1 -0
- package/dist/components/notifiers/volume.cjs +469 -0
- package/dist/components/notifiers/volume.cjs.map +1 -0
- package/dist/components/notifiers/volume.js +22 -0
- package/dist/components/notifiers/volume.js.map +1 -0
- package/dist/components/notifiers/z-register.cjs +778 -0
- package/dist/components/notifiers/z-register.cjs.map +1 -0
- package/dist/components/notifiers/z-register.js +36 -0
- package/dist/components/notifiers/z-register.js.map +1 -0
- package/dist/components/rangeinput/build.cjs +52 -0
- package/dist/components/rangeinput/build.cjs.map +1 -0
- package/dist/components/rangeinput/build.js +8 -0
- package/dist/components/rangeinput/build.js.map +1 -0
- package/dist/components/rangeinput/index.cjs +433 -0
- package/dist/components/rangeinput/index.cjs.map +1 -0
- package/dist/components/rangeinput/index.js +20 -0
- package/dist/components/rangeinput/index.js.map +1 -0
- package/dist/components/rangeinput/types.cjs +19 -0
- package/dist/components/rangeinput/types.cjs.map +1 -0
- package/dist/components/rangeinput/types.js +1 -0
- package/dist/components/rangeinput/types.js.map +1 -0
- package/dist/components/screenlock.cjs +438 -0
- package/dist/components/screenlock.cjs.map +1 -0
- package/dist/components/screenlock.js +21 -0
- package/dist/components/screenlock.js.map +1 -0
- package/dist/components/z-register.cjs +2345 -0
- package/dist/components/z-register.cjs.map +1 -0
- package/dist/components/z-register.js +64 -0
- package/dist/components/z-register.js.map +1 -0
- package/dist/consts/actions.cjs +79 -0
- package/dist/consts/actions.cjs.map +1 -0
- package/dist/consts/actions.js +8 -0
- package/dist/consts/actions.js.map +1 -0
- package/dist/consts/config.cjs +105 -0
- package/dist/consts/config.cjs.map +1 -0
- package/dist/consts/config.js +9 -0
- package/dist/consts/config.js.map +1 -0
- package/dist/consts/generics.cjs +29 -0
- package/dist/consts/generics.cjs.map +1 -0
- package/dist/consts/generics.js +10 -0
- package/dist/consts/generics.js.map +1 -0
- package/dist/consts/media.cjs +201 -0
- package/dist/consts/media.cjs.map +1 -0
- package/dist/consts/media.js +16 -0
- package/dist/consts/media.js.map +1 -0
- package/dist/core/controllable.cjs +91 -0
- package/dist/core/controllable.cjs.map +1 -0
- package/dist/core/controllable.js +13 -0
- package/dist/core/controllable.js.map +1 -0
- package/dist/core/controller.cjs +1664 -0
- package/dist/core/controller.cjs.map +1 -0
- package/dist/core/controller.js +27 -0
- package/dist/core/controller.js.map +1 -0
- package/dist/core/registries.cjs +268 -0
- package/dist/core/registries.cjs.map +1 -0
- package/dist/core/registries.js +24 -0
- package/dist/core/registries.js.map +1 -0
- package/dist/index.cjs +1934 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +3148 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/init.cjs +1890 -0
- package/dist/init.cjs.map +1 -0
- package/dist/init.js +24 -0
- package/dist/init.js.map +1 -0
- package/dist/plugs/base/index.cjs +407 -0
- package/dist/plugs/base/index.cjs.map +1 -0
- package/dist/plugs/base/index.js +19 -0
- package/dist/plugs/base/index.js.map +1 -0
- package/dist/plugs/base/slider.cjs +458 -0
- package/dist/plugs/base/slider.cjs.map +1 -0
- package/dist/plugs/base/slider.js +18 -0
- package/dist/plugs/base/slider.js.map +1 -0
- package/dist/plugs/base/types.cjs +19 -0
- package/dist/plugs/base/types.cjs.map +1 -0
- package/dist/plugs/base/types.js +1 -0
- package/dist/plugs/base/types.js.map +1 -0
- package/dist/plugs/main/disabled/build.cjs +27 -0
- package/dist/plugs/main/disabled/build.cjs.map +1 -0
- package/dist/plugs/main/disabled/build.js +8 -0
- package/dist/plugs/main/disabled/build.js.map +1 -0
- package/dist/plugs/main/disabled/index.cjs +421 -0
- package/dist/plugs/main/disabled/index.cjs.map +1 -0
- package/dist/plugs/main/disabled/index.js +22 -0
- package/dist/plugs/main/disabled/index.js.map +1 -0
- package/dist/plugs/main/disabled/types.cjs +19 -0
- package/dist/plugs/main/disabled/types.cjs.map +1 -0
- package/dist/plugs/main/disabled/types.js +1 -0
- package/dist/plugs/main/disabled/types.js.map +1 -0
- package/dist/plugs/main/lightState/build.cjs +34 -0
- package/dist/plugs/main/lightState/build.cjs.map +1 -0
- package/dist/plugs/main/lightState/build.js +8 -0
- package/dist/plugs/main/lightState/build.js.map +1 -0
- package/dist/plugs/main/lightState/index.cjs +458 -0
- package/dist/plugs/main/lightState/index.cjs.map +1 -0
- package/dist/plugs/main/lightState/index.js +22 -0
- package/dist/plugs/main/lightState/index.js.map +1 -0
- package/dist/plugs/main/lightState/types.cjs +19 -0
- package/dist/plugs/main/lightState/types.cjs.map +1 -0
- package/dist/plugs/main/lightState/types.js +1 -0
- package/dist/plugs/main/lightState/types.js.map +1 -0
- package/dist/plugs/main/playlist/build.cjs +59 -0
- package/dist/plugs/main/playlist/build.cjs.map +1 -0
- package/dist/plugs/main/playlist/build.js +10 -0
- package/dist/plugs/main/playlist/build.js.map +1 -0
- package/dist/plugs/main/playlist/index.cjs +511 -0
- package/dist/plugs/main/playlist/index.cjs.map +1 -0
- package/dist/plugs/main/playlist/index.js +25 -0
- package/dist/plugs/main/playlist/index.js.map +1 -0
- package/dist/plugs/main/playlist/types.cjs +19 -0
- package/dist/plugs/main/playlist/types.cjs.map +1 -0
- package/dist/plugs/main/playlist/types.js +1 -0
- package/dist/plugs/main/playlist/types.js.map +1 -0
- package/dist/plugs/main/skeleton/build.cjs +29 -0
- package/dist/plugs/main/skeleton/build.cjs.map +1 -0
- package/dist/plugs/main/skeleton/build.js +8 -0
- package/dist/plugs/main/skeleton/build.js.map +1 -0
- package/dist/plugs/main/skeleton/index.cjs +539 -0
- package/dist/plugs/main/skeleton/index.cjs.map +1 -0
- package/dist/plugs/main/skeleton/index.js +25 -0
- package/dist/plugs/main/skeleton/index.js.map +1 -0
- package/dist/plugs/main/skeleton/types.cjs +19 -0
- package/dist/plugs/main/skeleton/types.cjs.map +1 -0
- package/dist/plugs/main/skeleton/types.js +1 -0
- package/dist/plugs/main/skeleton/types.js.map +1 -0
- package/dist/plugs/menus/main/playlist.cjs +98 -0
- package/dist/plugs/menus/main/playlist.cjs.map +1 -0
- package/dist/plugs/menus/main/playlist.js +9 -0
- package/dist/plugs/menus/main/playlist.js.map +1 -0
- package/dist/plugs/menus/main/skeleton.cjs +34 -0
- package/dist/plugs/menus/main/skeleton.cjs.map +1 -0
- package/dist/plugs/menus/main/skeleton.js +8 -0
- package/dist/plugs/menus/main/skeleton.js.map +1 -0
- package/dist/plugs/menus/settings/actions.cjs +492 -0
- package/dist/plugs/menus/settings/actions.cjs.map +1 -0
- package/dist/plugs/menus/settings/actions.js +15 -0
- package/dist/plugs/menus/settings/actions.js.map +1 -0
- package/dist/plugs/menus/settings/ambience.cjs +35 -0
- package/dist/plugs/menus/settings/ambience.cjs.map +1 -0
- package/dist/plugs/menus/settings/ambience.js +8 -0
- package/dist/plugs/menus/settings/ambience.js.map +1 -0
- package/dist/plugs/menus/settings/auto.cjs +153 -0
- package/dist/plugs/menus/settings/auto.cjs.map +1 -0
- package/dist/plugs/menus/settings/auto.js +12 -0
- package/dist/plugs/menus/settings/auto.js.map +1 -0
- package/dist/plugs/menus/settings/brightness.cjs +45 -0
- package/dist/plugs/menus/settings/brightness.cjs.map +1 -0
- package/dist/plugs/menus/settings/brightness.js +8 -0
- package/dist/plugs/menus/settings/brightness.js.map +1 -0
- package/dist/plugs/menus/settings/captions.cjs +437 -0
- package/dist/plugs/menus/settings/captions.cjs.map +1 -0
- package/dist/plugs/menus/settings/captions.js +13 -0
- package/dist/plugs/menus/settings/captions.js.map +1 -0
- package/dist/plugs/menus/settings/controlPanel.cjs +442 -0
- package/dist/plugs/menus/settings/controlPanel.cjs.map +1 -0
- package/dist/plugs/menus/settings/controlPanel.js +14 -0
- package/dist/plugs/menus/settings/controlPanel.js.map +1 -0
- package/dist/plugs/menus/settings/fastPlay.cjs +166 -0
- package/dist/plugs/menus/settings/fastPlay.cjs.map +1 -0
- package/dist/plugs/menus/settings/fastPlay.js +12 -0
- package/dist/plugs/menus/settings/fastPlay.js.map +1 -0
- package/dist/plugs/menus/settings/frame.cjs +90 -0
- package/dist/plugs/menus/settings/frame.cjs.map +1 -0
- package/dist/plugs/menus/settings/frame.js +12 -0
- package/dist/plugs/menus/settings/frame.js.map +1 -0
- package/dist/plugs/menus/settings/gesture.cjs +255 -0
- package/dist/plugs/menus/settings/gesture.cjs.map +1 -0
- package/dist/plugs/menus/settings/gesture.js +17 -0
- package/dist/plugs/menus/settings/gesture.js.map +1 -0
- package/dist/plugs/menus/settings/keys.cjs +173 -0
- package/dist/plugs/menus/settings/keys.cjs.map +1 -0
- package/dist/plugs/menus/settings/keys.js +12 -0
- package/dist/plugs/menus/settings/keys.js.map +1 -0
- package/dist/plugs/menus/settings/locked.cjs +53 -0
- package/dist/plugs/menus/settings/locked.cjs.map +1 -0
- package/dist/plugs/menus/settings/locked.js +8 -0
- package/dist/plugs/menus/settings/locked.js.map +1 -0
- package/dist/plugs/menus/settings/metadata.cjs +202 -0
- package/dist/plugs/menus/settings/metadata.cjs.map +1 -0
- package/dist/plugs/menus/settings/metadata.js +13 -0
- package/dist/plugs/menus/settings/metadata.js.map +1 -0
- package/dist/plugs/menus/settings/modes.cjs +238 -0
- package/dist/plugs/menus/settings/modes.cjs.map +1 -0
- package/dist/plugs/menus/settings/modes.js +12 -0
- package/dist/plugs/menus/settings/modes.js.map +1 -0
- package/dist/plugs/menus/settings/objectFit.cjs +45 -0
- package/dist/plugs/menus/settings/objectFit.cjs.map +1 -0
- package/dist/plugs/menus/settings/objectFit.js +8 -0
- package/dist/plugs/menus/settings/objectFit.js.map +1 -0
- package/dist/plugs/menus/settings/overlay.cjs +112 -0
- package/dist/plugs/menus/settings/overlay.cjs.map +1 -0
- package/dist/plugs/menus/settings/overlay.js +12 -0
- package/dist/plugs/menus/settings/overlay.js.map +1 -0
- package/dist/plugs/menus/settings/persist.cjs +73 -0
- package/dist/plugs/menus/settings/persist.cjs.map +1 -0
- package/dist/plugs/menus/settings/persist.js +8 -0
- package/dist/plugs/menus/settings/persist.js.map +1 -0
- package/dist/plugs/menus/settings/playbackRate.cjs +119 -0
- package/dist/plugs/menus/settings/playbackRate.cjs.map +1 -0
- package/dist/plugs/menus/settings/playbackRate.js +12 -0
- package/dist/plugs/menus/settings/playbackRate.js.map +1 -0
- package/dist/plugs/menus/settings/poster.cjs +53 -0
- package/dist/plugs/menus/settings/poster.cjs.map +1 -0
- package/dist/plugs/menus/settings/poster.js +8 -0
- package/dist/plugs/menus/settings/poster.js.map +1 -0
- package/dist/plugs/menus/settings/settingsView.cjs +79 -0
- package/dist/plugs/menus/settings/settingsView.cjs.map +1 -0
- package/dist/plugs/menus/settings/settingsView.js +8 -0
- package/dist/plugs/menus/settings/settingsView.js.map +1 -0
- package/dist/plugs/menus/settings/sleepTimer.cjs +89 -0
- package/dist/plugs/menus/settings/sleepTimer.cjs.map +1 -0
- package/dist/plugs/menus/settings/sleepTimer.js +10 -0
- package/dist/plugs/menus/settings/sleepTimer.js.map +1 -0
- package/dist/plugs/menus/settings/time.cjs +48 -0
- package/dist/plugs/menus/settings/time.cjs.map +1 -0
- package/dist/plugs/menus/settings/time.js +8 -0
- package/dist/plugs/menus/settings/time.js.map +1 -0
- package/dist/plugs/menus/settings/timeTravel.cjs +133 -0
- package/dist/plugs/menus/settings/timeTravel.cjs.map +1 -0
- package/dist/plugs/menus/settings/timeTravel.js +11 -0
- package/dist/plugs/menus/settings/timeTravel.js.map +1 -0
- package/dist/plugs/menus/settings/toasts.cjs +232 -0
- package/dist/plugs/menus/settings/toasts.cjs.map +1 -0
- package/dist/plugs/menus/settings/toasts.js +18 -0
- package/dist/plugs/menus/settings/toasts.js.map +1 -0
- package/dist/plugs/menus/settings/voice.cjs +216 -0
- package/dist/plugs/menus/settings/voice.cjs.map +1 -0
- package/dist/plugs/menus/settings/voice.js +12 -0
- package/dist/plugs/menus/settings/voice.js.map +1 -0
- package/dist/plugs/menus/settings/volume.cjs +45 -0
- package/dist/plugs/menus/settings/volume.cjs.map +1 -0
- package/dist/plugs/menus/settings/volume.js +8 -0
- package/dist/plugs/menus/settings/volume.js.map +1 -0
- package/dist/plugs/menus/z-register.cjs +3212 -0
- package/dist/plugs/menus/z-register.cjs.map +1 -0
- package/dist/plugs/menus/z-register.js +48 -0
- package/dist/plugs/menus/z-register.js.map +1 -0
- package/dist/plugs/settings/airplay/build.cjs +27 -0
- package/dist/plugs/settings/airplay/build.cjs.map +1 -0
- package/dist/plugs/settings/airplay/build.js +8 -0
- package/dist/plugs/settings/airplay/build.js.map +1 -0
- package/dist/plugs/settings/airplay/index.cjs +416 -0
- package/dist/plugs/settings/airplay/index.cjs.map +1 -0
- package/dist/plugs/settings/airplay/index.js +19 -0
- package/dist/plugs/settings/airplay/index.js.map +1 -0
- package/dist/plugs/settings/ambience/build.cjs +33 -0
- package/dist/plugs/settings/ambience/build.cjs.map +1 -0
- package/dist/plugs/settings/ambience/build.js +8 -0
- package/dist/plugs/settings/ambience/build.js.map +1 -0
- package/dist/plugs/settings/ambience/index.cjs +464 -0
- package/dist/plugs/settings/ambience/index.cjs.map +1 -0
- package/dist/plugs/settings/ambience/index.js +24 -0
- package/dist/plugs/settings/ambience/index.js.map +1 -0
- package/dist/plugs/settings/ambience/types.cjs +19 -0
- package/dist/plugs/settings/ambience/types.cjs.map +1 -0
- package/dist/plugs/settings/ambience/types.js +1 -0
- package/dist/plugs/settings/ambience/types.js.map +1 -0
- package/dist/plugs/settings/auto/build.cjs +76 -0
- package/dist/plugs/settings/auto/build.cjs.map +1 -0
- package/dist/plugs/settings/auto/build.js +13 -0
- package/dist/plugs/settings/auto/build.js.map +1 -0
- package/dist/plugs/settings/auto/index.cjs +533 -0
- package/dist/plugs/settings/auto/index.cjs.map +1 -0
- package/dist/plugs/settings/auto/index.js +30 -0
- package/dist/plugs/settings/auto/index.js.map +1 -0
- package/dist/plugs/settings/auto/types.cjs +19 -0
- package/dist/plugs/settings/auto/types.cjs.map +1 -0
- package/dist/plugs/settings/auto/types.js +1 -0
- package/dist/plugs/settings/auto/types.js.map +1 -0
- package/dist/plugs/settings/brightness/build.cjs +31 -0
- package/dist/plugs/settings/brightness/build.cjs.map +1 -0
- package/dist/plugs/settings/brightness/build.js +8 -0
- package/dist/plugs/settings/brightness/build.js.map +1 -0
- package/dist/plugs/settings/brightness/index.cjs +522 -0
- package/dist/plugs/settings/brightness/index.cjs.map +1 -0
- package/dist/plugs/settings/brightness/index.js +24 -0
- package/dist/plugs/settings/brightness/index.js.map +1 -0
- package/dist/plugs/settings/brightness/types.cjs +19 -0
- package/dist/plugs/settings/brightness/types.cjs.map +1 -0
- package/dist/plugs/settings/brightness/types.js +1 -0
- package/dist/plugs/settings/brightness/types.js.map +1 -0
- package/dist/plugs/settings/captions/build.cjs +184 -0
- package/dist/plugs/settings/captions/build.cjs.map +1 -0
- package/dist/plugs/settings/captions/build.js +12 -0
- package/dist/plugs/settings/captions/build.js.map +1 -0
- package/dist/plugs/settings/captions/index.cjs +793 -0
- package/dist/plugs/settings/captions/index.cjs.map +1 -0
- package/dist/plugs/settings/captions/index.js +32 -0
- package/dist/plugs/settings/captions/index.js.map +1 -0
- package/dist/plugs/settings/captions/types.cjs +19 -0
- package/dist/plugs/settings/captions/types.cjs.map +1 -0
- package/dist/plugs/settings/captions/types.js +1 -0
- package/dist/plugs/settings/captions/types.js.map +1 -0
- package/dist/plugs/settings/cast/build.cjs +27 -0
- package/dist/plugs/settings/cast/build.cjs.map +1 -0
- package/dist/plugs/settings/cast/build.js +8 -0
- package/dist/plugs/settings/cast/build.js.map +1 -0
- package/dist/plugs/settings/cast/index.cjs +644 -0
- package/dist/plugs/settings/cast/index.cjs.map +1 -0
- package/dist/plugs/settings/cast/index.js +24 -0
- package/dist/plugs/settings/cast/index.js.map +1 -0
- package/dist/plugs/settings/cast/types.cjs +19 -0
- package/dist/plugs/settings/cast/types.cjs.map +1 -0
- package/dist/plugs/settings/cast/types.js +1 -0
- package/dist/plugs/settings/cast/types.js.map +1 -0
- package/dist/plugs/settings/controlPanel/build.cjs +144 -0
- package/dist/plugs/settings/controlPanel/build.cjs.map +1 -0
- package/dist/plugs/settings/controlPanel/build.js +17 -0
- package/dist/plugs/settings/controlPanel/build.js.map +1 -0
- package/dist/plugs/settings/controlPanel/draggable.cjs +1021 -0
- package/dist/plugs/settings/controlPanel/draggable.cjs.map +1 -0
- package/dist/plugs/settings/controlPanel/draggable.js +24 -0
- package/dist/plugs/settings/controlPanel/draggable.js.map +1 -0
- package/dist/plugs/settings/controlPanel/index.cjs +1031 -0
- package/dist/plugs/settings/controlPanel/index.cjs.map +1 -0
- package/dist/plugs/settings/controlPanel/index.js +37 -0
- package/dist/plugs/settings/controlPanel/index.js.map +1 -0
- package/dist/plugs/settings/controlPanel/types.cjs +19 -0
- package/dist/plugs/settings/controlPanel/types.cjs.map +1 -0
- package/dist/plugs/settings/controlPanel/types.js +1 -0
- package/dist/plugs/settings/controlPanel/types.js.map +1 -0
- package/dist/plugs/settings/css/build.cjs +29 -0
- package/dist/plugs/settings/css/build.cjs.map +1 -0
- package/dist/plugs/settings/css/build.js +8 -0
- package/dist/plugs/settings/css/build.js.map +1 -0
- package/dist/plugs/settings/css/index.cjs +444 -0
- package/dist/plugs/settings/css/index.cjs.map +1 -0
- package/dist/plugs/settings/css/index.js +22 -0
- package/dist/plugs/settings/css/index.js.map +1 -0
- package/dist/plugs/settings/css/types.cjs +19 -0
- package/dist/plugs/settings/css/types.cjs.map +1 -0
- package/dist/plugs/settings/css/types.js +1 -0
- package/dist/plugs/settings/css/types.js.map +1 -0
- package/dist/plugs/settings/errors/build.cjs +45 -0
- package/dist/plugs/settings/errors/build.cjs.map +1 -0
- package/dist/plugs/settings/errors/build.js +10 -0
- package/dist/plugs/settings/errors/build.js.map +1 -0
- package/dist/plugs/settings/errors/index.cjs +417 -0
- package/dist/plugs/settings/errors/index.cjs.map +1 -0
- package/dist/plugs/settings/errors/index.js +24 -0
- package/dist/plugs/settings/errors/index.js.map +1 -0
- package/dist/plugs/settings/errors/types.cjs +19 -0
- package/dist/plugs/settings/errors/types.cjs.map +1 -0
- package/dist/plugs/settings/errors/types.js +1 -0
- package/dist/plugs/settings/errors/types.js.map +1 -0
- package/dist/plugs/settings/fastPlay/build.cjs +46 -0
- package/dist/plugs/settings/fastPlay/build.cjs.map +1 -0
- package/dist/plugs/settings/fastPlay/build.js +8 -0
- package/dist/plugs/settings/fastPlay/build.js.map +1 -0
- package/dist/plugs/settings/fastPlay/index.cjs +510 -0
- package/dist/plugs/settings/fastPlay/index.cjs.map +1 -0
- package/dist/plugs/settings/fastPlay/index.js +23 -0
- package/dist/plugs/settings/fastPlay/index.js.map +1 -0
- package/dist/plugs/settings/fastPlay/types.cjs +19 -0
- package/dist/plugs/settings/fastPlay/types.cjs.map +1 -0
- package/dist/plugs/settings/fastPlay/types.js +1 -0
- package/dist/plugs/settings/fastPlay/types.js.map +1 -0
- package/dist/plugs/settings/frame/build.cjs +31 -0
- package/dist/plugs/settings/frame/build.cjs.map +1 -0
- package/dist/plugs/settings/frame/build.js +8 -0
- package/dist/plugs/settings/frame/build.js.map +1 -0
- package/dist/plugs/settings/frame/index.cjs +542 -0
- package/dist/plugs/settings/frame/index.cjs.map +1 -0
- package/dist/plugs/settings/frame/index.js +29 -0
- package/dist/plugs/settings/frame/index.js.map +1 -0
- package/dist/plugs/settings/frame/types.cjs +19 -0
- package/dist/plugs/settings/frame/types.cjs.map +1 -0
- package/dist/plugs/settings/frame/types.js +1 -0
- package/dist/plugs/settings/frame/types.js.map +1 -0
- package/dist/plugs/settings/gesture/base.cjs +187 -0
- package/dist/plugs/settings/gesture/base.cjs.map +1 -0
- package/dist/plugs/settings/gesture/base.js +24 -0
- package/dist/plugs/settings/gesture/base.js.map +1 -0
- package/dist/plugs/settings/gesture/build.cjs +116 -0
- package/dist/plugs/settings/gesture/build.cjs.map +1 -0
- package/dist/plugs/settings/gesture/build.js +13 -0
- package/dist/plugs/settings/gesture/build.js.map +1 -0
- package/dist/plugs/settings/gesture/index.cjs +877 -0
- package/dist/plugs/settings/gesture/index.cjs.map +1 -0
- package/dist/plugs/settings/gesture/index.js +38 -0
- package/dist/plugs/settings/gesture/index.js.map +1 -0
- package/dist/plugs/settings/gesture/touch.cjs +784 -0
- package/dist/plugs/settings/gesture/touch.cjs.map +1 -0
- package/dist/plugs/settings/gesture/touch.js +27 -0
- package/dist/plugs/settings/gesture/touch.js.map +1 -0
- package/dist/plugs/settings/gesture/types.cjs +19 -0
- package/dist/plugs/settings/gesture/types.cjs.map +1 -0
- package/dist/plugs/settings/gesture/types.js +1 -0
- package/dist/plugs/settings/gesture/types.js.map +1 -0
- package/dist/plugs/settings/gesture/wheel.cjs +757 -0
- package/dist/plugs/settings/gesture/wheel.cjs.map +1 -0
- package/dist/plugs/settings/gesture/wheel.js +27 -0
- package/dist/plugs/settings/gesture/wheel.js.map +1 -0
- package/dist/plugs/settings/keys/build.cjs +117 -0
- package/dist/plugs/settings/keys/build.cjs.map +1 -0
- package/dist/plugs/settings/keys/build.js +13 -0
- package/dist/plugs/settings/keys/build.js.map +1 -0
- package/dist/plugs/settings/keys/index.cjs +612 -0
- package/dist/plugs/settings/keys/index.cjs.map +1 -0
- package/dist/plugs/settings/keys/index.js +34 -0
- package/dist/plugs/settings/keys/index.js.map +1 -0
- package/dist/plugs/settings/keys/types.cjs +19 -0
- package/dist/plugs/settings/keys/types.cjs.map +1 -0
- package/dist/plugs/settings/keys/types.js +1 -0
- package/dist/plugs/settings/keys/types.js.map +1 -0
- package/dist/plugs/settings/locked/build.cjs +92 -0
- package/dist/plugs/settings/locked/build.cjs.map +1 -0
- package/dist/plugs/settings/locked/build.js +9 -0
- package/dist/plugs/settings/locked/build.js.map +1 -0
- package/dist/plugs/settings/locked/index.cjs +532 -0
- package/dist/plugs/settings/locked/index.cjs.map +1 -0
- package/dist/plugs/settings/locked/index.js +25 -0
- package/dist/plugs/settings/locked/index.js.map +1 -0
- package/dist/plugs/settings/locked/types.cjs +19 -0
- package/dist/plugs/settings/locked/types.cjs.map +1 -0
- package/dist/plugs/settings/locked/types.js +1 -0
- package/dist/plugs/settings/locked/types.js.map +1 -0
- package/dist/plugs/settings/metadata/build.cjs +29 -0
- package/dist/plugs/settings/metadata/build.cjs.map +1 -0
- package/dist/plugs/settings/metadata/build.js +8 -0
- package/dist/plugs/settings/metadata/build.js.map +1 -0
- package/dist/plugs/settings/metadata/index.cjs +455 -0
- package/dist/plugs/settings/metadata/index.cjs.map +1 -0
- package/dist/plugs/settings/metadata/index.js +24 -0
- package/dist/plugs/settings/metadata/index.js.map +1 -0
- package/dist/plugs/settings/metadata/types.cjs +19 -0
- package/dist/plugs/settings/metadata/types.cjs.map +1 -0
- package/dist/plugs/settings/metadata/types.js +1 -0
- package/dist/plugs/settings/metadata/types.js.map +1 -0
- package/dist/plugs/settings/modes/build.cjs +162 -0
- package/dist/plugs/settings/modes/build.cjs.map +1 -0
- package/dist/plugs/settings/modes/build.js +22 -0
- package/dist/plugs/settings/modes/build.js.map +1 -0
- package/dist/plugs/settings/modes/fullscreen.cjs +625 -0
- package/dist/plugs/settings/modes/fullscreen.cjs.map +1 -0
- package/dist/plugs/settings/modes/fullscreen.js +30 -0
- package/dist/plugs/settings/modes/fullscreen.js.map +1 -0
- package/dist/plugs/settings/modes/index.cjs +1031 -0
- package/dist/plugs/settings/modes/index.cjs.map +1 -0
- package/dist/plugs/settings/modes/index.js +51 -0
- package/dist/plugs/settings/modes/index.js.map +1 -0
- package/dist/plugs/settings/modes/miniplayer.cjs +618 -0
- package/dist/plugs/settings/modes/miniplayer.cjs.map +1 -0
- package/dist/plugs/settings/modes/miniplayer.js +30 -0
- package/dist/plugs/settings/modes/miniplayer.js.map +1 -0
- package/dist/plugs/settings/modes/pictureInPicture.cjs +704 -0
- package/dist/plugs/settings/modes/pictureInPicture.cjs.map +1 -0
- package/dist/plugs/settings/modes/pictureInPicture.js +30 -0
- package/dist/plugs/settings/modes/pictureInPicture.js.map +1 -0
- package/dist/plugs/settings/modes/theater.cjs +557 -0
- package/dist/plugs/settings/modes/theater.cjs.map +1 -0
- package/dist/plugs/settings/modes/theater.js +30 -0
- package/dist/plugs/settings/modes/theater.js.map +1 -0
- package/dist/plugs/settings/modes/types.cjs +19 -0
- package/dist/plugs/settings/modes/types.cjs.map +1 -0
- package/dist/plugs/settings/modes/types.js +1 -0
- package/dist/plugs/settings/modes/types.js.map +1 -0
- package/dist/plugs/settings/notifiers/build.cjs +30 -0
- package/dist/plugs/settings/notifiers/build.cjs.map +1 -0
- package/dist/plugs/settings/notifiers/build.js +8 -0
- package/dist/plugs/settings/notifiers/build.js.map +1 -0
- package/dist/plugs/settings/notifiers/index.cjs +451 -0
- package/dist/plugs/settings/notifiers/index.cjs.map +1 -0
- package/dist/plugs/settings/notifiers/index.js +24 -0
- package/dist/plugs/settings/notifiers/index.js.map +1 -0
- package/dist/plugs/settings/notifiers/types.cjs +19 -0
- package/dist/plugs/settings/notifiers/types.cjs.map +1 -0
- package/dist/plugs/settings/notifiers/types.js +1 -0
- package/dist/plugs/settings/notifiers/types.js.map +1 -0
- package/dist/plugs/settings/objectFit/build.cjs +35 -0
- package/dist/plugs/settings/objectFit/build.cjs.map +1 -0
- package/dist/plugs/settings/objectFit/build.js +10 -0
- package/dist/plugs/settings/objectFit/build.js.map +1 -0
- package/dist/plugs/settings/objectFit/index.cjs +514 -0
- package/dist/plugs/settings/objectFit/index.cjs.map +1 -0
- package/dist/plugs/settings/objectFit/index.js +30 -0
- package/dist/plugs/settings/objectFit/index.js.map +1 -0
- package/dist/plugs/settings/objectFit/types.cjs +19 -0
- package/dist/plugs/settings/objectFit/types.cjs.map +1 -0
- package/dist/plugs/settings/objectFit/types.js +1 -0
- package/dist/plugs/settings/objectFit/types.js.map +1 -0
- package/dist/plugs/settings/overlay/build.cjs +46 -0
- package/dist/plugs/settings/overlay/build.cjs.map +1 -0
- package/dist/plugs/settings/overlay/build.js +8 -0
- package/dist/plugs/settings/overlay/build.js.map +1 -0
- package/dist/plugs/settings/overlay/index.cjs +502 -0
- package/dist/plugs/settings/overlay/index.cjs.map +1 -0
- package/dist/plugs/settings/overlay/index.js +24 -0
- package/dist/plugs/settings/overlay/index.js.map +1 -0
- package/dist/plugs/settings/overlay/types.cjs +19 -0
- package/dist/plugs/settings/overlay/types.cjs.map +1 -0
- package/dist/plugs/settings/overlay/types.js +1 -0
- package/dist/plugs/settings/overlay/types.js.map +1 -0
- package/dist/plugs/settings/persist/build.cjs +41 -0
- package/dist/plugs/settings/persist/build.cjs.map +1 -0
- package/dist/plugs/settings/persist/build.js +8 -0
- package/dist/plugs/settings/persist/build.js.map +1 -0
- package/dist/plugs/settings/persist/index.cjs +413 -0
- package/dist/plugs/settings/persist/index.cjs.map +1 -0
- package/dist/plugs/settings/persist/index.js +22 -0
- package/dist/plugs/settings/persist/index.js.map +1 -0
- package/dist/plugs/settings/persist/types.cjs +19 -0
- package/dist/plugs/settings/persist/types.cjs.map +1 -0
- package/dist/plugs/settings/persist/types.js +1 -0
- package/dist/plugs/settings/persist/types.js.map +1 -0
- package/dist/plugs/settings/playbackRate/build.cjs +32 -0
- package/dist/plugs/settings/playbackRate/build.cjs.map +1 -0
- package/dist/plugs/settings/playbackRate/build.js +8 -0
- package/dist/plugs/settings/playbackRate/build.js.map +1 -0
- package/dist/plugs/settings/playbackRate/index.cjs +448 -0
- package/dist/plugs/settings/playbackRate/index.cjs.map +1 -0
- package/dist/plugs/settings/playbackRate/index.js +23 -0
- package/dist/plugs/settings/playbackRate/index.js.map +1 -0
- package/dist/plugs/settings/playbackRate/types.cjs +19 -0
- package/dist/plugs/settings/playbackRate/types.cjs.map +1 -0
- package/dist/plugs/settings/playbackRate/types.js +1 -0
- package/dist/plugs/settings/playbackRate/types.js.map +1 -0
- package/dist/plugs/settings/poster/build.cjs +29 -0
- package/dist/plugs/settings/poster/build.cjs.map +1 -0
- package/dist/plugs/settings/poster/build.js +8 -0
- package/dist/plugs/settings/poster/build.js.map +1 -0
- package/dist/plugs/settings/poster/index.cjs +435 -0
- package/dist/plugs/settings/poster/index.cjs.map +1 -0
- package/dist/plugs/settings/poster/index.js +24 -0
- package/dist/plugs/settings/poster/index.js.map +1 -0
- package/dist/plugs/settings/poster/types.cjs +19 -0
- package/dist/plugs/settings/poster/types.cjs.map +1 -0
- package/dist/plugs/settings/poster/types.js +1 -0
- package/dist/plugs/settings/poster/types.js.map +1 -0
- package/dist/plugs/settings/settingsView/build.cjs +35 -0
- package/dist/plugs/settings/settingsView/build.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/build.js +8 -0
- package/dist/plugs/settings/settingsView/build.js.map +1 -0
- package/dist/plugs/settings/settingsView/index.cjs +1369 -0
- package/dist/plugs/settings/settingsView/index.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/index.js +42 -0
- package/dist/plugs/settings/settingsView/index.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/index.cjs +1164 -0
- package/dist/plugs/settings/settingsView/menu/index.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/index.js +36 -0
- package/dist/plugs/settings/settingsView/menu/index.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/index.cjs +144 -0
- package/dist/plugs/settings/settingsView/menu/panel/index.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/index.js +16 -0
- package/dist/plugs/settings/settingsView/menu/panel/index.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/main.cjs +524 -0
- package/dist/plugs/settings/settingsView/menu/panel/main.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/main.js +33 -0
- package/dist/plugs/settings/settingsView/menu/panel/main.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/sub.cjs +617 -0
- package/dist/plugs/settings/settingsView/menu/panel/sub.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/panel/sub.js +33 -0
- package/dist/plugs/settings/settingsView/menu/panel/sub.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/base.cjs +357 -0
- package/dist/plugs/settings/settingsView/menu/widgets/base.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/base.js +19 -0
- package/dist/plugs/settings/settingsView/menu/widgets/base.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/button.cjs +392 -0
- package/dist/plugs/settings/settingsView/menu/widgets/button.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/button.js +20 -0
- package/dist/plugs/settings/settingsView/menu/widgets/button.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/color.cjs +498 -0
- package/dist/plugs/settings/settingsView/menu/widgets/color.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/color.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/color.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/dragselect.cjs +563 -0
- package/dist/plugs/settings/settingsView/menu/widgets/dragselect.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/dragselect.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/dragselect.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/group.cjs +500 -0
- package/dist/plugs/settings/settingsView/menu/widgets/group.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/group.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/group.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/index.cjs +912 -0
- package/dist/plugs/settings/settingsView/menu/widgets/index.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/index.js +53 -0
- package/dist/plugs/settings/settingsView/menu/widgets/index.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/input.cjs +409 -0
- package/dist/plugs/settings/settingsView/menu/widgets/input.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/input.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/input.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/limits.cjs +411 -0
- package/dist/plugs/settings/settingsView/menu/widgets/limits.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/limits.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/limits.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/range.cjs +420 -0
- package/dist/plugs/settings/settingsView/menu/widgets/range.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/range.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/range.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/select.cjs +490 -0
- package/dist/plugs/settings/settingsView/menu/widgets/select.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/select.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/select.js.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/toggle.cjs +401 -0
- package/dist/plugs/settings/settingsView/menu/widgets/toggle.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/menu/widgets/toggle.js +31 -0
- package/dist/plugs/settings/settingsView/menu/widgets/toggle.js.map +1 -0
- package/dist/plugs/settings/settingsView/types.cjs +19 -0
- package/dist/plugs/settings/settingsView/types.cjs.map +1 -0
- package/dist/plugs/settings/settingsView/types.js +1 -0
- package/dist/plugs/settings/settingsView/types.js.map +1 -0
- package/dist/plugs/settings/sleepTimer/build.cjs +29 -0
- package/dist/plugs/settings/sleepTimer/build.cjs.map +1 -0
- package/dist/plugs/settings/sleepTimer/build.js +8 -0
- package/dist/plugs/settings/sleepTimer/build.js.map +1 -0
- package/dist/plugs/settings/sleepTimer/index.cjs +431 -0
- package/dist/plugs/settings/sleepTimer/index.cjs.map +1 -0
- package/dist/plugs/settings/sleepTimer/index.js +24 -0
- package/dist/plugs/settings/sleepTimer/index.js.map +1 -0
- package/dist/plugs/settings/sleepTimer/types.cjs +19 -0
- package/dist/plugs/settings/sleepTimer/types.cjs.map +1 -0
- package/dist/plugs/settings/sleepTimer/types.js +2 -0
- package/dist/plugs/settings/sleepTimer/types.js.map +1 -0
- package/dist/plugs/settings/time/build.cjs +32 -0
- package/dist/plugs/settings/time/build.cjs.map +1 -0
- package/dist/plugs/settings/time/build.js +8 -0
- package/dist/plugs/settings/time/build.js.map +1 -0
- package/dist/plugs/settings/time/index.cjs +604 -0
- package/dist/plugs/settings/time/index.cjs.map +1 -0
- package/dist/plugs/settings/time/index.js +29 -0
- package/dist/plugs/settings/time/index.js.map +1 -0
- package/dist/plugs/settings/time/types.cjs +19 -0
- package/dist/plugs/settings/time/types.cjs.map +1 -0
- package/dist/plugs/settings/time/types.js +1 -0
- package/dist/plugs/settings/time/types.js.map +1 -0
- package/dist/plugs/settings/timeTravel/build.cjs +36 -0
- package/dist/plugs/settings/timeTravel/build.cjs.map +1 -0
- package/dist/plugs/settings/timeTravel/build.js +8 -0
- package/dist/plugs/settings/timeTravel/build.js.map +1 -0
- package/dist/plugs/settings/timeTravel/index.cjs +461 -0
- package/dist/plugs/settings/timeTravel/index.cjs.map +1 -0
- package/dist/plugs/settings/timeTravel/index.js +33 -0
- package/dist/plugs/settings/timeTravel/index.js.map +1 -0
- package/dist/plugs/settings/timeTravel/types.cjs +19 -0
- package/dist/plugs/settings/timeTravel/types.cjs.map +1 -0
- package/dist/plugs/settings/timeTravel/types.js +1 -0
- package/dist/plugs/settings/timeTravel/types.js.map +1 -0
- package/dist/plugs/settings/toasts/build.cjs +35 -0
- package/dist/plugs/settings/toasts/build.cjs.map +1 -0
- package/dist/plugs/settings/toasts/build.js +8 -0
- package/dist/plugs/settings/toasts/build.js.map +1 -0
- package/dist/plugs/settings/toasts/index.cjs +450 -0
- package/dist/plugs/settings/toasts/index.cjs.map +1 -0
- package/dist/plugs/settings/toasts/index.js +26 -0
- package/dist/plugs/settings/toasts/index.js.map +1 -0
- package/dist/plugs/settings/toasts/types.cjs +19 -0
- package/dist/plugs/settings/toasts/types.cjs.map +1 -0
- package/dist/plugs/settings/toasts/types.js +1 -0
- package/dist/plugs/settings/toasts/types.js.map +1 -0
- package/dist/plugs/settings/voice/build.cjs +81 -0
- package/dist/plugs/settings/voice/build.cjs.map +1 -0
- package/dist/plugs/settings/voice/build.js +8 -0
- package/dist/plugs/settings/voice/build.js.map +1 -0
- package/dist/plugs/settings/voice/index.cjs +757 -0
- package/dist/plugs/settings/voice/index.cjs.map +1 -0
- package/dist/plugs/settings/voice/index.js +26 -0
- package/dist/plugs/settings/voice/index.js.map +1 -0
- package/dist/plugs/settings/voice/types.cjs +19 -0
- package/dist/plugs/settings/voice/types.cjs.map +1 -0
- package/dist/plugs/settings/voice/types.js +1 -0
- package/dist/plugs/settings/voice/types.js.map +1 -0
- package/dist/plugs/settings/volume/build.cjs +31 -0
- package/dist/plugs/settings/volume/build.cjs.map +1 -0
- package/dist/plugs/settings/volume/build.js +8 -0
- package/dist/plugs/settings/volume/build.js.map +1 -0
- package/dist/plugs/settings/volume/index.cjs +592 -0
- package/dist/plugs/settings/volume/index.cjs.map +1 -0
- package/dist/plugs/settings/volume/index.js +34 -0
- package/dist/plugs/settings/volume/index.js.map +1 -0
- package/dist/plugs/settings/volume/types.cjs +19 -0
- package/dist/plugs/settings/volume/types.cjs.map +1 -0
- package/dist/plugs/settings/volume/types.js +1 -0
- package/dist/plugs/settings/volume/types.js.map +1 -0
- package/dist/plugs/z-register.cjs +5901 -0
- package/dist/plugs/z-register.cjs.map +1 -0
- package/dist/plugs/z-register.js +105 -0
- package/dist/plugs/z-register.js.map +1 -0
- package/dist/super/components/icons.cjs +630 -0
- package/dist/super/components/icons.cjs.map +1 -0
- package/dist/super/components/icons.js +248 -0
- package/dist/super/components/icons.js.map +1 -0
- package/dist/super/components/index.cjs +3111 -0
- package/dist/super/components/index.cjs.map +1 -0
- package/dist/super/components/index.js +498 -0
- package/dist/super/components/index.js.map +1 -0
- package/dist/super/components/notifiers.cjs +784 -0
- package/dist/super/components/notifiers.cjs.map +1 -0
- package/dist/super/components/notifiers.js +96 -0
- package/dist/super/components/notifiers.js.map +1 -0
- package/dist/super/consts.cjs +289 -0
- package/dist/super/consts.cjs.map +1 -0
- package/dist/super/consts.js +28 -0
- package/dist/super/consts.js.map +1 -0
- package/dist/super/plugs/index.cjs +5988 -0
- package/dist/super/plugs/index.cjs.map +1 -0
- package/dist/super/plugs/index.js +388 -0
- package/dist/super/plugs/index.js.map +1 -0
- package/dist/super/plugs/menus.cjs +2572 -0
- package/dist/super/plugs/menus.cjs.map +1 -0
- package/dist/super/plugs/menus.js +132 -0
- package/dist/super/plugs/menus.js.map +1 -0
- package/dist/super/techs.cjs +256 -0
- package/dist/super/techs.cjs.map +1 -0
- package/dist/super/techs.js +32 -0
- package/dist/super/techs.js.map +1 -0
- package/dist/super/utils.cjs +1379 -0
- package/dist/super/utils.cjs.map +1 -0
- package/dist/super/utils.js +400 -0
- package/dist/super/utils.js.map +1 -0
- package/dist/super.cjs +10191 -0
- package/dist/super.cjs.map +1 -0
- package/dist/super.css +3148 -0
- package/dist/super.css.map +1 -0
- package/dist/super.global.js +12460 -0
- package/dist/super.global.js.map +1 -0
- package/dist/super.js +380 -0
- package/dist/super.js.map +1 -0
- package/dist/techs/base.cjs +256 -0
- package/dist/techs/base.cjs.map +1 -0
- package/dist/techs/base.js +19 -0
- package/dist/techs/base.js.map +1 -0
- package/dist/techs/dash.cjs +1160 -0
- package/dist/techs/dash.cjs.map +1 -0
- package/dist/techs/dash.js +24 -0
- package/dist/techs/dash.js.map +1 -0
- package/dist/techs/hls.cjs +1164 -0
- package/dist/techs/hls.cjs.map +1 -0
- package/dist/techs/hls.js +24 -0
- package/dist/techs/hls.js.map +1 -0
- package/dist/techs/html5.cjs +988 -0
- package/dist/techs/html5.cjs.map +1 -0
- package/dist/techs/html5.js +23 -0
- package/dist/techs/html5.js.map +1 -0
- package/dist/techs/shaka.cjs +1183 -0
- package/dist/techs/shaka.cjs.map +1 -0
- package/dist/techs/shaka.js +197 -0
- package/dist/techs/shaka.js.map +1 -0
- package/dist/techs/vimeo.cjs +731 -0
- package/dist/techs/vimeo.cjs.map +1 -0
- package/dist/techs/vimeo.js +24 -0
- package/dist/techs/vimeo.js.map +1 -0
- package/dist/techs/youtube.cjs +730 -0
- package/dist/techs/youtube.cjs.map +1 -0
- package/dist/techs/youtube.js +22 -0
- package/dist/techs/youtube.js.map +1 -0
- package/dist/techs/z-register.cjs +2354 -0
- package/dist/techs/z-register.cjs.map +1 -0
- package/dist/techs/z-register.js +26 -0
- package/dist/techs/z-register.js.map +1 -0
- package/dist/tools/player.cjs +1804 -0
- package/dist/tools/player.cjs.map +1 -0
- package/dist/tools/player.js +29 -0
- package/dist/tools/player.js.map +1 -0
- package/dist/tools/queue.cjs +63 -0
- package/dist/tools/queue.cjs.map +1 -0
- package/dist/tools/queue.js +8 -0
- package/dist/tools/queue.js.map +1 -0
- package/dist/tools/runtime.cjs +1919 -0
- package/dist/tools/runtime.cjs.map +1 -0
- package/dist/tools/runtime.js +49 -0
- package/dist/tools/runtime.js.map +1 -0
- package/dist/types/UIOptions.d.cjs +19 -0
- package/dist/types/UIOptions.d.cjs.map +1 -0
- package/dist/types/UIOptions.d.js +1 -0
- package/dist/types/UIOptions.d.js.map +1 -0
- package/dist/types/actions.d.cjs +19 -0
- package/dist/types/actions.d.cjs.map +1 -0
- package/dist/types/actions.d.js +1 -0
- package/dist/types/actions.d.js.map +1 -0
- package/dist/types/config.d.cjs +19 -0
- package/dist/types/config.d.cjs.map +1 -0
- package/dist/types/config.d.js +1 -0
- package/dist/types/config.d.js.map +1 -0
- package/dist/types/contract.d.cjs +19 -0
- package/dist/types/contract.d.cjs.map +1 -0
- package/dist/types/contract.d.js +1 -0
- package/dist/types/contract.d.js.map +1 -0
- package/dist/types/generics.d.cjs +19 -0
- package/dist/types/generics.d.cjs.map +1 -0
- package/dist/types/generics.d.js +1 -0
- package/dist/types/generics.d.js.map +1 -0
- package/dist/types/global.d.cjs +22 -0
- package/dist/types/global.d.cjs.map +1 -0
- package/dist/types/global.d.js +2 -0
- package/dist/types/global.d.js.map +1 -0
- package/dist/types/registries.d.cjs +19 -0
- package/dist/types/registries.d.cjs.map +1 -0
- package/dist/types/registries.d.js +1 -0
- package/dist/types/registries.d.js.map +1 -0
- package/dist/utils/color.cjs +111 -0
- package/dist/utils/color.cjs.map +1 -0
- package/dist/utils/color.js +21 -0
- package/dist/utils/color.js.map +1 -0
- package/dist/utils/dom.cjs +269 -0
- package/dist/utils/dom.cjs.map +1 -0
- package/dist/utils/dom.js +58 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/env.cjs +110 -0
- package/dist/utils/env.cjs.map +1 -0
- package/dist/utils/env.js +56 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/file.cjs +176 -0
- package/dist/utils/file.cjs.map +1 -0
- package/dist/utils/file.js +20 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/fn.cjs +133 -0
- package/dist/utils/fn.cjs.map +1 -0
- package/dist/utils/fn.js +41 -0
- package/dist/utils/fn.js.map +1 -0
- package/dist/utils/keys.cjs +66 -0
- package/dist/utils/keys.cjs.map +1 -0
- package/dist/utils/keys.js +28 -0
- package/dist/utils/keys.js.map +1 -0
- package/dist/utils/match.cjs +119 -0
- package/dist/utils/match.cjs.map +1 -0
- package/dist/utils/match.js +30 -0
- package/dist/utils/match.js.map +1 -0
- package/dist/utils/media.cjs +546 -0
- package/dist/utils/media.cjs.map +1 -0
- package/dist/utils/media.js +84 -0
- package/dist/utils/media.js.map +1 -0
- package/dist/utils/methd.cjs +50 -0
- package/dist/utils/methd.cjs.map +1 -0
- package/dist/utils/methd.js +15 -0
- package/dist/utils/methd.js.map +1 -0
- package/dist/utils/num.cjs +92 -0
- package/dist/utils/num.cjs.map +1 -0
- package/dist/utils/num.js +22 -0
- package/dist/utils/num.js.map +1 -0
- package/dist/utils/obj.cjs +204 -0
- package/dist/utils/obj.cjs.map +1 -0
- package/dist/utils/obj.js +58 -0
- package/dist/utils/obj.js.map +1 -0
- package/dist/utils/str.cjs +134 -0
- package/dist/utils/str.cjs.map +1 -0
- package/dist/utils/str.js +35 -0
- package/dist/utils/str.js.map +1 -0
- package/dist/utils/time.cjs +103 -0
- package/dist/utils/time.cjs.map +1 -0
- package/dist/utils/time.js +11 -0
- package/dist/utils/time.js.map +1 -0
- 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) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[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
|