@popcraft/kit 0.31.0 → 0.32.0
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/dist/chunks/agent-LNZDZLDR.js +44 -0
- package/dist/chunks/api-SHU5H2PY.js +29 -0
- package/dist/chunks/build-AKMRSWRB.js +59 -0
- package/dist/chunks/builtin-KY56DU2Y.js +115 -0
- package/dist/chunks/check-template-OYCBJNDF.js +2277 -0
- package/dist/chunks/chunk-234GVJYA.js +109 -0
- package/dist/chunks/chunk-244VQ54U.js +358 -0
- package/dist/chunks/chunk-24VZDMPK.js +209 -0
- package/dist/chunks/chunk-26OQHOZI.js +123 -0
- package/dist/chunks/chunk-27GSJ5G5.js +278 -0
- package/dist/chunks/chunk-27X4OPQ3.js +44 -0
- package/dist/chunks/chunk-2BEHQ34I.js +270 -0
- package/dist/chunks/chunk-2BJFBFXK.js +33 -0
- package/dist/chunks/chunk-2BMJ4UG4.js +138 -0
- package/dist/chunks/chunk-2BVGM5PJ.js +33 -0
- package/dist/chunks/chunk-2CNLFCXM.js +60 -0
- package/dist/chunks/chunk-2DH2LPXQ.js +106 -0
- package/dist/chunks/chunk-2DLJ34AZ.js +77 -0
- package/dist/chunks/chunk-2DOWEP23.js +106 -0
- package/dist/chunks/chunk-2EJRSW3B.js +45 -0
- package/dist/chunks/chunk-2ETNHQDU.js +45 -0
- package/dist/chunks/chunk-2FCK73ME.js +163 -0
- package/dist/chunks/chunk-2FGU5OPW.js +33 -0
- package/dist/chunks/chunk-2HRRUKE4.js +90 -0
- package/dist/chunks/chunk-2J3PCCBE.js +33 -0
- package/dist/chunks/chunk-2J4DQY7Q.js +331 -0
- package/dist/chunks/chunk-2KEE23HU.js +152 -0
- package/dist/chunks/chunk-2KJTKSF7.js +305 -0
- package/dist/chunks/chunk-2P7ISWIA.js +1266 -0
- package/dist/chunks/chunk-2PEG56PC.js +11820 -0
- package/dist/chunks/chunk-2PYBOHPP.js +129 -0
- package/dist/chunks/chunk-2T3RXEHR.js +375 -0
- package/dist/chunks/chunk-2TIRUYXL.js +180 -0
- package/dist/chunks/chunk-2Y4IIPOE.js +228 -0
- package/dist/chunks/chunk-2ZOSBENB.js +36 -0
- package/dist/chunks/chunk-357MX4XC.js +155 -0
- package/dist/chunks/chunk-35EWVHEY.js +23 -0
- package/dist/chunks/chunk-37PXUEWP.js +150 -0
- package/dist/chunks/chunk-3A7TOUVA.js +60 -0
- package/dist/chunks/chunk-3AUXRA3F.js +149 -0
- package/dist/chunks/chunk-3BBLD65X.js +83 -0
- package/dist/chunks/chunk-3CB5FZ2F.js +399 -0
- package/dist/chunks/chunk-3DEPF3MD.js +68 -0
- package/dist/chunks/chunk-3FGWRSN5.js +178 -0
- package/dist/chunks/chunk-3G2SLNZD.js +206 -0
- package/dist/chunks/chunk-3HKODMVI.js +80 -0
- package/dist/chunks/chunk-3HSI3NPQ.js +100 -0
- package/dist/chunks/chunk-3N3DDMPA.js +88 -0
- package/dist/chunks/chunk-3N6BLOQT.js +777 -0
- package/dist/chunks/chunk-3NI5OGFT.js +558 -0
- package/dist/chunks/chunk-3OYPMUGF.js +85 -0
- package/dist/chunks/chunk-3OZNX2RW.js +362 -0
- package/dist/chunks/chunk-3QW2ZRSC.js +226 -0
- package/dist/chunks/chunk-3RR2AZWF.js +166 -0
- package/dist/chunks/chunk-3TXRGZEU.js +230 -0
- package/dist/chunks/chunk-3W3WQN2W.js +136 -0
- package/dist/chunks/chunk-3Z2ZGFT5.js +99 -0
- package/dist/chunks/chunk-3ZO43HDI.js +118 -0
- package/dist/chunks/chunk-42LFGCDX.js +42 -0
- package/dist/chunks/chunk-44NLGWX7.js +23 -0
- package/dist/chunks/chunk-46OKOUVF.js +110 -0
- package/dist/chunks/chunk-4AACDHFM.js +100 -0
- package/dist/chunks/chunk-4BGLN3US.js +23 -0
- package/dist/chunks/chunk-4CREVURI.js +1307 -0
- package/dist/chunks/chunk-4DWK6EEF.js +23 -0
- package/dist/chunks/chunk-4GG3UHQY.js +336 -0
- package/dist/chunks/chunk-4GGB33NY.js +898 -0
- package/dist/chunks/chunk-4GRUOQBH.js +685 -0
- package/dist/chunks/chunk-4H6F4SX6.js +59 -0
- package/dist/chunks/chunk-4K7VZEWL.js +45 -0
- package/dist/chunks/chunk-4S3URS6Z.js +172 -0
- package/dist/chunks/chunk-4S5TWA54.js +30 -0
- package/dist/chunks/chunk-4SPJ75RY.js +170 -0
- package/dist/chunks/chunk-4URHIHLG.js +728 -0
- package/dist/chunks/chunk-4WOXDZWL.js +152 -0
- package/dist/chunks/chunk-4X5G4QPZ.js +88 -0
- package/dist/chunks/chunk-4ZBHIQI3.js +71 -0
- package/dist/chunks/chunk-4ZI3MY6Q.js +100 -0
- package/dist/chunks/chunk-4ZWSOGLF.js +95 -0
- package/dist/chunks/chunk-52UK4HIK.js +168 -0
- package/dist/chunks/chunk-53IGZPFI.js +149 -0
- package/dist/chunks/chunk-53JDPAP4.js +263 -0
- package/dist/chunks/chunk-54K4BWHP.js +346 -0
- package/dist/chunks/chunk-55GSGQ22.js +209 -0
- package/dist/chunks/chunk-5AJJN4SZ.js +33 -0
- package/dist/chunks/chunk-5DV2UDUS.js +143 -0
- package/dist/chunks/chunk-5EHU4XFD.js +106 -0
- package/dist/chunks/chunk-5FD2PC5J.js +156 -0
- package/dist/chunks/chunk-5FPICOLV.js +89 -0
- package/dist/chunks/chunk-5FWRLBAW.js +138 -0
- package/dist/chunks/chunk-5GSRWIV2.js +33 -0
- package/dist/chunks/chunk-5ILC6R3Y.js +304 -0
- package/dist/chunks/chunk-5KR2J2CR.js +164 -0
- package/dist/chunks/chunk-5LQX4ILP.js +177 -0
- package/dist/chunks/chunk-5MEGWX5C.js +153 -0
- package/dist/chunks/chunk-5MEUN7SZ.js +303 -0
- package/dist/chunks/chunk-5NGWNEKU.js +33 -0
- package/dist/chunks/chunk-5OJA47IZ.js +99 -0
- package/dist/chunks/chunk-5PCFMR56.js +104 -0
- package/dist/chunks/chunk-5RRW5HGT.js +107 -0
- package/dist/chunks/chunk-5RWSY543.js +179 -0
- package/dist/chunks/chunk-5S23X3BA.js +163 -0
- package/dist/chunks/chunk-5SXABPXH.js +23 -0
- package/dist/chunks/chunk-5TJ6OREK.js +182 -0
- package/dist/chunks/chunk-5W3C5KDZ.js +106 -0
- package/dist/chunks/chunk-5X6DMD5A.js +503 -0
- package/dist/chunks/chunk-62MVOYLK.js +91 -0
- package/dist/chunks/chunk-62SM2ZMI.js +160 -0
- package/dist/chunks/chunk-645PFVD4.js +155 -0
- package/dist/chunks/chunk-6476X44H.js +342 -0
- package/dist/chunks/chunk-65RVTQRR.js +80 -0
- package/dist/chunks/chunk-675XJCZ4.js +261 -0
- package/dist/chunks/chunk-6AGJUNGT.js +155 -0
- package/dist/chunks/chunk-6AJHHLO6.js +185 -0
- package/dist/chunks/chunk-6CRT7IDI.js +877 -0
- package/dist/chunks/chunk-6DA3BPDG.js +119 -0
- package/dist/chunks/chunk-6EDUIURU.js +209 -0
- package/dist/chunks/chunk-6EFQ2GI6.js +117 -0
- package/dist/chunks/chunk-6EVUK5HU.js +87 -0
- package/dist/chunks/chunk-6FGA5DPZ.js +97 -0
- package/dist/chunks/chunk-6GMHLK2Q.js +80 -0
- package/dist/chunks/chunk-6HG4LBLO.js +23 -0
- package/dist/chunks/chunk-6IL7LJLA.js +136 -0
- package/dist/chunks/chunk-6KXNC2TP.js +77 -0
- package/dist/chunks/chunk-6QXJBXDE.js +200 -0
- package/dist/chunks/chunk-6REEUYWW.js +154 -0
- package/dist/chunks/chunk-6TWK3D4X.js +130 -0
- package/dist/chunks/chunk-6UEQFBWY.js +111 -0
- package/dist/chunks/chunk-6YOSXWZP.js +122 -0
- package/dist/chunks/chunk-6ZC5NWJX.js +165 -0
- package/dist/chunks/chunk-73WGEKAV.js +92 -0
- package/dist/chunks/chunk-73ZTTYZR.js +257 -0
- package/dist/chunks/chunk-74JAKKEI.js +145 -0
- package/dist/chunks/chunk-7A3MIEOO.js +33 -0
- package/dist/chunks/chunk-7A5X3MPD.js +139 -0
- package/dist/chunks/chunk-7CMEZLFV.js +23 -0
- package/dist/chunks/chunk-7CTL7VOX.js +108 -0
- package/dist/chunks/chunk-7D46BJKY.js +115 -0
- package/dist/chunks/chunk-7DIFO56V.js +82 -0
- package/dist/chunks/chunk-7DKGI65Y.js +305 -0
- package/dist/chunks/chunk-7EDUMRSP.js +63 -0
- package/dist/chunks/chunk-7IGLOKC3.js +33 -0
- package/dist/chunks/chunk-7KFQX6N5.js +33 -0
- package/dist/chunks/chunk-7L5NR427.js +117 -0
- package/dist/chunks/chunk-7RNNXZVW.js +197 -0
- package/dist/chunks/chunk-7TXYSS7Y.js +137 -0
- package/dist/chunks/chunk-7UZPG5OF.js +261 -0
- package/dist/chunks/chunk-7VKFRZUS.js +92 -0
- package/dist/chunks/chunk-7VONQLIJ.js +77 -0
- package/dist/chunks/chunk-7WZKZLHC.js +79 -0
- package/dist/chunks/chunk-7YKXBYPW.js +87 -0
- package/dist/chunks/chunk-7YWNU2LK.js +84 -0
- package/dist/chunks/chunk-A2YCZXKT.js +112 -0
- package/dist/chunks/chunk-A3VN4RGK.js +103 -0
- package/dist/chunks/chunk-A6A2JBPP.js +39 -0
- package/dist/chunks/chunk-A6W7TCYN.js +131 -0
- package/dist/chunks/chunk-A6YR7NCL.js +204 -0
- package/dist/chunks/chunk-A7B7AVJ2.js +33 -0
- package/dist/chunks/chunk-ACCEORUW.js +396 -0
- package/dist/chunks/chunk-ADBWFQST.js +140 -0
- package/dist/chunks/chunk-AE6OPGVT.js +497 -0
- package/dist/chunks/chunk-AFZSHMSN.js +247 -0
- package/dist/chunks/chunk-AIB22SFX.js +81 -0
- package/dist/chunks/chunk-AIOGZZNH.js +33 -0
- package/dist/chunks/chunk-ALGPGOMJ.js +117 -0
- package/dist/chunks/chunk-ALI2HZVF.js +327 -0
- package/dist/chunks/chunk-AMO2LCXI.js +206 -0
- package/dist/chunks/chunk-ANEDZH7A.js +45 -0
- package/dist/chunks/chunk-ANHFYSIK.js +23 -0
- package/dist/chunks/chunk-APBRV4W6.js +71 -0
- package/dist/chunks/chunk-APVJKUJP.js +10192 -0
- package/dist/chunks/chunk-AQZZ7NXG.js +33 -0
- package/dist/chunks/chunk-ARLI55LW.js +181 -0
- package/dist/chunks/chunk-AUDNQRAJ.js +170 -0
- package/dist/chunks/chunk-AWW5HNKW.js +298 -0
- package/dist/chunks/chunk-AWWZDFNO.js +112 -0
- package/dist/chunks/chunk-AXUQWEMX.js +86 -0
- package/dist/chunks/chunk-AYUZ47JD.js +98 -0
- package/dist/chunks/chunk-AYXXSKQH.js +23 -0
- package/dist/chunks/chunk-B4KCU67P.js +94 -0
- package/dist/chunks/chunk-B6SHLME3.js +47 -0
- package/dist/chunks/chunk-B7R4D5GQ.js +311 -0
- package/dist/chunks/chunk-BBYOVJQJ.js +98 -0
- package/dist/chunks/chunk-BC3MIZCD.js +111 -0
- package/dist/chunks/chunk-BCH6FNXB.js +50 -0
- package/dist/chunks/chunk-BDTCY5RE.js +190 -0
- package/dist/chunks/chunk-BH5MTM45.js +170 -0
- package/dist/chunks/chunk-BHT7E57Y.js +149 -0
- package/dist/chunks/chunk-BJ7KIGYV.js +170 -0
- package/dist/chunks/chunk-BJHWDQRI.js +109 -0
- package/dist/chunks/chunk-BKY75AW2.js +119 -0
- package/dist/chunks/chunk-BMWLLWMV.js +307 -0
- package/dist/chunks/chunk-BOR6OVBL.js +174 -0
- package/dist/chunks/chunk-BPQCEJLQ.js +298 -0
- package/dist/chunks/chunk-BRHNGS57.js +84 -0
- package/dist/chunks/chunk-BRLE5NZW.js +124 -0
- package/dist/chunks/chunk-BT4SHCEP.js +163 -0
- package/dist/chunks/chunk-BWB2TS4H.js +250 -0
- package/dist/chunks/chunk-BXSQ774Z.js +121 -0
- package/dist/chunks/chunk-BZFCSLR7.js +200 -0
- package/dist/chunks/chunk-C4STXVSA.js +23 -0
- package/dist/chunks/chunk-C5HM5OJJ.js +150 -0
- package/dist/chunks/chunk-C63WDV67.js +97 -0
- package/dist/chunks/chunk-C7X4DDSU.js +97 -0
- package/dist/chunks/chunk-CAL2ZF6M.js +198 -0
- package/dist/chunks/chunk-CAMZPMB7.js +209 -0
- package/dist/chunks/chunk-CCGTARBV.js +46 -0
- package/dist/chunks/chunk-CCJN5ULY.js +83 -0
- package/dist/chunks/chunk-CCPZIE73.js +161 -0
- package/dist/chunks/chunk-CEUH436H.js +105 -0
- package/dist/chunks/chunk-CGLFDWFM.js +99 -0
- package/dist/chunks/chunk-CGNNKKW7.js +70 -0
- package/dist/chunks/chunk-CHOXN3SQ.js +208 -0
- package/dist/chunks/chunk-CHWB4U2K.js +33 -0
- package/dist/chunks/chunk-CITKZJUF.js +109 -0
- package/dist/chunks/chunk-CKBPEGTH.js +260 -0
- package/dist/chunks/chunk-CL4K63NB.js +266 -0
- package/dist/chunks/chunk-CMBEGDWH.js +176 -0
- package/dist/chunks/chunk-CMOG7TOU.js +224 -0
- package/dist/chunks/chunk-CNVC6EPP.js +89 -0
- package/dist/chunks/chunk-COJM27N2.js +73 -0
- package/dist/chunks/chunk-CPRCZAB3.js +74 -0
- package/dist/chunks/chunk-CPZGUNKV.js +283 -0
- package/dist/chunks/chunk-CQYSUE36.js +324 -0
- package/dist/chunks/chunk-CR4OGLU2.js +23 -0
- package/dist/chunks/chunk-CR7Q7NTM.js +213 -0
- package/dist/chunks/chunk-CRTQZXSF.js +224 -0
- package/dist/chunks/chunk-CSS3B3N4.js +165 -0
- package/dist/chunks/chunk-CSW2CAUK.js +112 -0
- package/dist/chunks/chunk-CT35IIMQ.js +109 -0
- package/dist/chunks/chunk-CU3KVW5H.js +55 -0
- package/dist/chunks/chunk-CUMWJVNP.js +170 -0
- package/dist/chunks/chunk-CV6QBO5D.js +81 -0
- package/dist/chunks/chunk-CVB5F7FJ.js +92 -0
- package/dist/chunks/chunk-CVWKXDFH.js +102 -0
- package/dist/chunks/chunk-CX26P7IA.js +277 -0
- package/dist/chunks/chunk-CZCXFTP5.js +23 -0
- package/dist/chunks/chunk-D3U4EHJR.js +47 -0
- package/dist/chunks/chunk-D6J2AGZU.js +53 -0
- package/dist/chunks/chunk-D6VGJK6W.js +157 -0
- package/dist/chunks/chunk-DBSMVIXL.js +266 -0
- package/dist/chunks/chunk-DF5IDTZB.js +33 -0
- package/dist/chunks/chunk-DFZWVEGU.js +251 -0
- package/dist/chunks/chunk-DGK3MB6Y.js +85 -0
- package/dist/chunks/chunk-DHFFPZN7.js +193 -0
- package/dist/chunks/chunk-DHPPMW7M.js +33 -0
- package/dist/chunks/chunk-DIBT2Z4X.js +287 -0
- package/dist/chunks/chunk-DJ3F6EOL.js +86 -0
- package/dist/chunks/chunk-DJCBRATX.js +151 -0
- package/dist/chunks/chunk-DLNC4SLW.js +145 -0
- package/dist/chunks/chunk-DNH4D4JI.js +198 -0
- package/dist/chunks/chunk-DO6PZVWR.js +232 -0
- package/dist/chunks/chunk-DPH7UHGV.js +92 -0
- package/dist/chunks/chunk-DQ7AF2R5.js +217 -0
- package/dist/chunks/chunk-DQJKVQV4.js +163 -0
- package/dist/chunks/chunk-DQMCRGYD.js +589 -0
- package/dist/chunks/chunk-DRV5Z4KL.js +224 -0
- package/dist/chunks/chunk-DSTX54J4.js +330 -0
- package/dist/chunks/chunk-DUH7ZATR.js +283 -0
- package/dist/chunks/chunk-DVD56API.js +574 -0
- package/dist/chunks/chunk-DWUKOW7L.js +260 -0
- package/dist/chunks/chunk-DXR52ENL.js +122 -0
- package/dist/chunks/chunk-DYADJS4Y.js +39 -0
- package/dist/chunks/chunk-DZATVMBB.js +181 -0
- package/dist/chunks/chunk-DZIPU2Q4.js +201 -0
- package/dist/chunks/chunk-E2JZ2RZI.js +231 -0
- package/dist/chunks/chunk-E4KDI2GV.js +169 -0
- package/dist/chunks/chunk-E5IDXYQD.js +77 -0
- package/dist/chunks/chunk-EALHKOFS.js +23 -0
- package/dist/chunks/chunk-ECPRSOPE.js +80 -0
- package/dist/chunks/chunk-ECVD7DCS.js +225 -0
- package/dist/chunks/chunk-EFX2ICNU.js +100 -0
- package/dist/chunks/chunk-EJ66FNLZ.js +197 -0
- package/dist/chunks/chunk-ELVKOJH7.js +177 -0
- package/dist/chunks/chunk-EPMLMUXF.js +146 -0
- package/dist/chunks/chunk-ERIQ7JIJ.js +85 -0
- package/dist/chunks/chunk-ESBLUILZ.js +41 -0
- package/dist/chunks/chunk-ESV3AAQ4.js +103 -0
- package/dist/chunks/chunk-EWZRJTLT.js +108 -0
- package/dist/chunks/chunk-EX6OREVZ.js +141 -0
- package/dist/chunks/chunk-EXRI6KN5.js +45 -0
- package/dist/chunks/chunk-EZJNGKZ7.js +249 -0
- package/dist/chunks/chunk-F2RLM473.js +157 -0
- package/dist/chunks/chunk-F32ETZYX.js +33 -0
- package/dist/chunks/chunk-F47ZTZ2M.js +141 -0
- package/dist/chunks/chunk-F4EFW5XG.js +130 -0
- package/dist/chunks/chunk-F4UGIRWU.js +128 -0
- package/dist/chunks/chunk-F4X5MJ7O.js +204 -0
- package/dist/chunks/chunk-F5OWF2ZE.js +317 -0
- package/dist/chunks/chunk-F7SDLYHJ.js +79 -0
- package/dist/chunks/chunk-FC2FGSU2.js +564 -0
- package/dist/chunks/chunk-FCEF3YK4.js +86 -0
- package/dist/chunks/chunk-FCQR5LL4.js +134 -0
- package/dist/chunks/chunk-FFD46KYF.js +209 -0
- package/dist/chunks/chunk-FGJRVCXO.js +303 -0
- package/dist/chunks/chunk-FGKE26E7.js +196 -0
- package/dist/chunks/chunk-FGOZMT45.js +305 -0
- package/dist/chunks/chunk-FGWPOJZU.js +93 -0
- package/dist/chunks/chunk-FIBQTDOW.js +135 -0
- package/dist/chunks/chunk-FIE7F2FK.js +174 -0
- package/dist/chunks/chunk-FIHCLHSP.js +333 -0
- package/dist/chunks/chunk-FIYHEMRZ.js +282 -0
- package/dist/chunks/chunk-FLGMO3U4.js +142 -0
- package/dist/chunks/chunk-FM2YY4RI.js +33 -0
- package/dist/chunks/chunk-FMOZ3GG5.js +85 -0
- package/dist/chunks/chunk-FOBKKGOO.js +290 -0
- package/dist/chunks/chunk-FPG2DJ7G.js +55 -0
- package/dist/chunks/chunk-FPIWEYRR.js +55 -0
- package/dist/chunks/chunk-FPXJR73J.js +171 -0
- package/dist/chunks/chunk-FRAUSF6D.js +161 -0
- package/dist/chunks/chunk-FSFVNV3M.js +360 -0
- package/dist/chunks/chunk-FSHYNBWP.js +142 -0
- package/dist/chunks/chunk-FSMMRN2T.js +256 -0
- package/dist/chunks/chunk-FTJEGDDE.js +119 -0
- package/dist/chunks/chunk-FTLNZSGG.js +214 -0
- package/dist/chunks/chunk-FYWRH6KA.js +1417 -0
- package/dist/chunks/chunk-G2COC3YD.js +86 -0
- package/dist/chunks/chunk-G3FXK7V4.js +114 -0
- package/dist/chunks/chunk-G3ZJPXTX.js +69 -0
- package/dist/chunks/chunk-G7O24N7X.js +166 -0
- package/dist/chunks/chunk-GAZ57RX2.js +90 -0
- package/dist/chunks/chunk-GBR2VR7S.js +152 -0
- package/dist/chunks/chunk-GDJSAXPF.js +140 -0
- package/dist/chunks/chunk-GDSNX2LF.js +196 -0
- package/dist/chunks/chunk-GF6N47NL.js +199 -0
- package/dist/chunks/chunk-GFOGKCPL.js +129 -0
- package/dist/chunks/chunk-GG5FVHP3.js +23 -0
- package/dist/chunks/chunk-GHUS6F5D.js +94 -0
- package/dist/chunks/chunk-GIQH7FWT.js +153 -0
- package/dist/chunks/chunk-GIVNETXM.js +166 -0
- package/dist/chunks/chunk-GJXNZPEF.js +190 -0
- package/dist/chunks/chunk-GKEINFGS.js +178 -0
- package/dist/chunks/chunk-GLNDN2NE.js +172 -0
- package/dist/chunks/chunk-GMIR2QGA.js +171 -0
- package/dist/chunks/chunk-GN5W7TJD.js +90 -0
- package/dist/chunks/chunk-GOCBCU3X.js +284 -0
- package/dist/chunks/chunk-GPBPXMHK.js +78 -0
- package/dist/chunks/chunk-GQWCRSGC.js +79 -0
- package/dist/chunks/chunk-GRCLKQKE.js +188 -0
- package/dist/chunks/chunk-GU66LHPX.js +106 -0
- package/dist/chunks/chunk-GUVLFC76.js +169 -0
- package/dist/chunks/chunk-GVD3F2P2.js +102 -0
- package/dist/chunks/chunk-GWBJN7TJ.js +181 -0
- package/dist/chunks/chunk-GWFXO7P2.js +270 -0
- package/dist/chunks/chunk-GWSEQROS.js +1403 -0
- package/dist/chunks/chunk-GWSUQG2Q.js +158 -0
- package/dist/chunks/chunk-GY4NONBY.js +336 -0
- package/dist/chunks/chunk-H2EE57GO.js +1469 -0
- package/dist/chunks/chunk-H2M6VLML.js +78 -0
- package/dist/chunks/chunk-H4NDCUJZ.js +191 -0
- package/dist/chunks/chunk-H7NBNZMI.js +103 -0
- package/dist/chunks/chunk-H7RWKOFN.js +101 -0
- package/dist/chunks/chunk-HBPURYPZ.js +28 -0
- package/dist/chunks/chunk-HFHT5TR5.js +121 -0
- package/dist/chunks/chunk-HFTJ567N.js +115 -0
- package/dist/chunks/chunk-HIGV7NIT.js +344 -0
- package/dist/chunks/chunk-HIJBW52G.js +107 -0
- package/dist/chunks/chunk-HJCFC5IM.js +140 -0
- package/dist/chunks/chunk-HLOF7XSN.js +226 -0
- package/dist/chunks/chunk-HN2A65AT.js +75 -0
- package/dist/chunks/chunk-HRGTYCSS.js +79 -0
- package/dist/chunks/chunk-HRHP22IQ.js +195 -0
- package/dist/chunks/chunk-HUF4ZI5K.js +106 -0
- package/dist/chunks/chunk-HUOXOEYM.js +178 -0
- package/dist/chunks/chunk-HUSCHQZF.js +131 -0
- package/dist/chunks/chunk-HVWYS2FD.js +151 -0
- package/dist/chunks/chunk-HXWUGNFG.js +90 -0
- package/dist/chunks/chunk-HY7R464Y.js +164 -0
- package/dist/chunks/chunk-HYRSOXJU.js +114 -0
- package/dist/chunks/chunk-HZ4ATNWF.js +172 -0
- package/dist/chunks/chunk-I26ADZE5.js +234 -0
- package/dist/chunks/chunk-I4YJJX24.js +81 -0
- package/dist/chunks/chunk-I56YVBSU.js +149 -0
- package/dist/chunks/chunk-I6GZB3SS.js +76 -0
- package/dist/chunks/chunk-I6PRN3UI.js +351 -0
- package/dist/chunks/chunk-ICGYGLXG.js +30 -0
- package/dist/chunks/chunk-ICON2DHX.js +53 -0
- package/dist/chunks/chunk-IDYGA6JB.js +84 -0
- package/dist/chunks/chunk-IEWXITI5.js +60 -0
- package/dist/chunks/chunk-IEYDZGFE.js +81 -0
- package/dist/chunks/chunk-IFKULHJ3.js +80 -0
- package/dist/chunks/chunk-IJ7FBOET.js +84 -0
- package/dist/chunks/chunk-ILV22EPF.js +261 -0
- package/dist/chunks/chunk-INNLMWHT.js +100 -0
- package/dist/chunks/chunk-INREWU77.js +155 -0
- package/dist/chunks/chunk-IOX6VN3U.js +118 -0
- package/dist/chunks/chunk-IOXWI4IK.js +105 -0
- package/dist/chunks/chunk-IPMPNYBF.js +261 -0
- package/dist/chunks/chunk-IPRJUV2O.js +45 -0
- package/dist/chunks/chunk-IRET5WGV.js +78 -0
- package/dist/chunks/chunk-IROY6E3L.js +141 -0
- package/dist/chunks/chunk-IRTOBVAO.js +41 -0
- package/dist/chunks/chunk-ITYA32ZG.js +115 -0
- package/dist/chunks/chunk-IW5CQX6Y.js +378 -0
- package/dist/chunks/chunk-J3KDXPZA.js +358 -0
- package/dist/chunks/chunk-J3YVD5F6.js +133 -0
- package/dist/chunks/chunk-J4OWTFYV.js +123 -0
- package/dist/chunks/chunk-J7PAXPJN.js +1845 -0
- package/dist/chunks/chunk-J7YPJUR5.js +105 -0
- package/dist/chunks/chunk-JEGKI2RV.js +55 -0
- package/dist/chunks/chunk-JF2CGUPE.js +122 -0
- package/dist/chunks/chunk-JF5DTC5Z.js +152 -0
- package/dist/chunks/chunk-JFP52GVM.js +122 -0
- package/dist/chunks/chunk-JGOE6KRX.js +149 -0
- package/dist/chunks/chunk-JGQO3EKK.js +390 -0
- package/dist/chunks/chunk-JGZIQ3UI.js +70 -0
- package/dist/chunks/chunk-JHNVXMSM.js +331 -0
- package/dist/chunks/chunk-JIBAJIHB.js +218 -0
- package/dist/chunks/chunk-JIXBDRKL.js +320 -0
- package/dist/chunks/chunk-JJEXCQFJ.js +159 -0
- package/dist/chunks/chunk-JJTSI5Q5.js +108 -0
- package/dist/chunks/chunk-JNWUYMQ5.js +92 -0
- package/dist/chunks/chunk-JP3ATO2V.js +127 -0
- package/dist/chunks/chunk-JR5B76ZO.js +82 -0
- package/dist/chunks/chunk-JRQ4ZPRK.js +199 -0
- package/dist/chunks/chunk-JSM2H22F.js +95 -0
- package/dist/chunks/chunk-JTFFE573.js +97 -0
- package/dist/chunks/chunk-JTLL324P.js +66 -0
- package/dist/chunks/chunk-JW2VRSZ2.js +73 -0
- package/dist/chunks/chunk-JW37DZWL.js +23 -0
- package/dist/chunks/chunk-JXWHUS7L.js +189 -0
- package/dist/chunks/chunk-K36YCZO2.js +135 -0
- package/dist/chunks/chunk-K3QP3IUF.js +43 -0
- package/dist/chunks/chunk-K3ZYALMC.js +297 -0
- package/dist/chunks/chunk-K4QJ4SKU.js +231 -0
- package/dist/chunks/chunk-K5R3TTQD.js +173 -0
- package/dist/chunks/chunk-K65XPQAM.js +104 -0
- package/dist/chunks/chunk-K74MZQA2.js +161 -0
- package/dist/chunks/chunk-KCHDGEZ5.js +123 -0
- package/dist/chunks/chunk-KD2IEKAU.js +134 -0
- package/dist/chunks/chunk-KF3BSBC5.js +91 -0
- package/dist/chunks/chunk-KGCLVD34.js +104 -0
- package/dist/chunks/chunk-KIC5TSOB.js +83 -0
- package/dist/chunks/chunk-KKVSPEJA.js +62 -0
- package/dist/chunks/chunk-KLITWGKP.js +179 -0
- package/dist/chunks/chunk-KMTMJ264.js +156 -0
- package/dist/chunks/chunk-KMWE5QZ3.js +125 -0
- package/dist/chunks/chunk-KMYTBU7F.js +217 -0
- package/dist/chunks/chunk-KNXHE7SX.js +36 -0
- package/dist/chunks/chunk-KO5UAPHF.js +152 -0
- package/dist/chunks/chunk-KOEQLLOE.js +238 -0
- package/dist/chunks/chunk-KQ3JSNMU.js +96 -0
- package/dist/chunks/chunk-KRIM23HE.js +87 -0
- package/dist/chunks/chunk-KVFMQFQS.js +44 -0
- package/dist/chunks/chunk-KWH46HMO.js +140 -0
- package/dist/chunks/chunk-KWXWK2LA.js +36 -0
- package/dist/chunks/chunk-L3443FVX.js +147 -0
- package/dist/chunks/chunk-L3IYFCO4.js +130 -0
- package/dist/chunks/chunk-L4SKFLWD.js +192 -0
- package/dist/chunks/chunk-L6NNGCPO.js +50 -0
- package/dist/chunks/chunk-L6P7VDPV.js +71 -0
- package/dist/chunks/chunk-LBYNGWDZ.js +225 -0
- package/dist/chunks/chunk-LCPMHFRA.js +33 -0
- package/dist/chunks/chunk-LDQHBHU6.js +220 -0
- package/dist/chunks/chunk-LDXVA6PI.js +118 -0
- package/dist/chunks/chunk-LFBA5NUC.js +172 -0
- package/dist/chunks/chunk-LFQHGS2U.js +80 -0
- package/dist/chunks/chunk-LGDMAOXC.js +112 -0
- package/dist/chunks/chunk-LGDPZSDI.js +231 -0
- package/dist/chunks/chunk-LJF5M45X.js +210 -0
- package/dist/chunks/chunk-LOP6LDGQ.js +23 -0
- package/dist/chunks/chunk-LOQNCZFE.js +33 -0
- package/dist/chunks/chunk-LOTIIDDC.js +150 -0
- package/dist/chunks/chunk-LOUPBPQV.js +38 -0
- package/dist/chunks/chunk-LOZFDMQ2.js +82 -0
- package/dist/chunks/chunk-LPLI7CZR.js +110 -0
- package/dist/chunks/chunk-LPTGYYJP.js +169 -0
- package/dist/chunks/chunk-LQXV2SMI.js +250 -0
- package/dist/chunks/chunk-LS2DJ73W.js +23 -0
- package/dist/chunks/chunk-LT4ZFOAZ.js +206 -0
- package/dist/chunks/chunk-LVPOJ7EN.js +1309 -0
- package/dist/chunks/chunk-LX7EN665.js +23 -0
- package/dist/chunks/chunk-M2LWLS56.js +65 -0
- package/dist/chunks/chunk-M4FLYVZW.js +262 -0
- package/dist/chunks/chunk-M55GTXRW.js +166 -0
- package/dist/chunks/chunk-M6EOYUH3.js +315 -0
- package/dist/chunks/chunk-M7MIEQQJ.js +184 -0
- package/dist/chunks/chunk-MC4TU2YF.js +23 -0
- package/dist/chunks/chunk-MCD4ANE7.js +147 -0
- package/dist/chunks/chunk-MDVFISSB.js +139 -0
- package/dist/chunks/chunk-MEZ4SJUC.js +123 -0
- package/dist/chunks/chunk-MFPMMKHP.js +471 -0
- package/dist/chunks/chunk-MIZALSOT.js +222 -0
- package/dist/chunks/chunk-MJAYRERD.js +187 -0
- package/dist/chunks/chunk-MJSGJ6I4.js +65 -0
- package/dist/chunks/chunk-MNN76UQS.js +45 -0
- package/dist/chunks/chunk-MNVIAHOR.js +632 -0
- package/dist/chunks/chunk-MO7SQVMT.js +607 -0
- package/dist/chunks/chunk-MOVYLHBM.js +166 -0
- package/dist/chunks/chunk-MQJCN4M2.js +107 -0
- package/dist/chunks/chunk-MQOEQ4PC.js +23 -0
- package/dist/chunks/chunk-MSZ56S57.js +100 -0
- package/dist/chunks/chunk-MTMYLQWH.js +77 -0
- package/dist/chunks/chunk-MTVWZHE7.js +213 -0
- package/dist/chunks/chunk-MVCG76O6.js +33 -0
- package/dist/chunks/chunk-MVFUNXDH.js +191 -0
- package/dist/chunks/chunk-MVXFBGSB.js +23 -0
- package/dist/chunks/chunk-MXA2ETB3.js +36 -0
- package/dist/chunks/chunk-MYOJ2OUX.js +197 -0
- package/dist/chunks/chunk-MYTNLU6I.js +198 -0
- package/dist/chunks/chunk-MYZZPQU7.js +83 -0
- package/dist/chunks/chunk-MZSHZR4Y.js +207 -0
- package/dist/chunks/chunk-N2GXKXLR.js +160 -0
- package/dist/chunks/chunk-N2RBQBUE.js +11335 -0
- package/dist/chunks/chunk-N3SFUPHB.js +50 -0
- package/dist/chunks/chunk-N4APWKFW.js +287 -0
- package/dist/chunks/chunk-N6AWPVJ5.js +95 -0
- package/dist/chunks/chunk-N6MHOOB4.js +366 -0
- package/dist/chunks/chunk-NAHYH77A.js +93 -0
- package/dist/chunks/chunk-NB7EFSGY.js +94 -0
- package/dist/chunks/chunk-NE3UFFDY.js +1574 -0
- package/dist/chunks/chunk-NF3NXIQX.js +23 -0
- package/dist/chunks/chunk-NGVIYWK2.js +23 -0
- package/dist/chunks/chunk-NIKVFWDD.js +115 -0
- package/dist/chunks/chunk-NKGRJ4YD.js +112 -0
- package/dist/chunks/chunk-NOUWP3JK.js +158 -0
- package/dist/chunks/chunk-NTK3OXDK.js +226 -0
- package/dist/chunks/chunk-NTLYUEUQ.js +181 -0
- package/dist/chunks/chunk-NTWARAQQ.js +101 -0
- package/dist/chunks/chunk-NVBXTTEP.js +167 -0
- package/dist/chunks/chunk-NVPOIW4X.js +33 -0
- package/dist/chunks/chunk-NVY6SKE7.js +23 -0
- package/dist/chunks/chunk-NWFJLNAB.js +258 -0
- package/dist/chunks/chunk-NXBJDJKI.js +23 -0
- package/dist/chunks/chunk-NXNYN5TK.js +168 -0
- package/dist/chunks/chunk-NZB7XVRQ.js +105 -0
- package/dist/chunks/chunk-O2PKNDJG.js +139 -0
- package/dist/chunks/chunk-O2YIXIIW.js +135 -0
- package/dist/chunks/chunk-O3DCF2UM.js +244 -0
- package/dist/chunks/chunk-O3IVQ2F2.js +55 -0
- package/dist/chunks/chunk-O3UIIR6C.js +139 -0
- package/dist/chunks/chunk-O3W7HYS7.js +173 -0
- package/dist/chunks/chunk-O57R5OPE.js +104 -0
- package/dist/chunks/chunk-O6GMQ677.js +98 -0
- package/dist/chunks/chunk-O7QM4M5E.js +93 -0
- package/dist/chunks/chunk-OBTEVYZG.js +462 -0
- package/dist/chunks/chunk-OGDQ45BC.js +177 -0
- package/dist/chunks/chunk-OGZJE5X2.js +103 -0
- package/dist/chunks/chunk-OJSQNIHS.js +180 -0
- package/dist/chunks/chunk-OKLEUGZK.js +177 -0
- package/dist/chunks/chunk-OMWE4ML4.js +104 -0
- package/dist/chunks/chunk-OO27NDKX.js +161 -0
- package/dist/chunks/chunk-OPY6APVX.js +121 -0
- package/dist/chunks/chunk-OQLS4TOY.js +124 -0
- package/dist/chunks/chunk-OR4XXQMG.js +128 -0
- package/dist/chunks/chunk-ORTGNUHE.js +128 -0
- package/dist/chunks/chunk-OSLU6VYJ.js +194 -0
- package/dist/chunks/chunk-OSWMUR34.js +163 -0
- package/dist/chunks/chunk-OT5B7QDA.js +150 -0
- package/dist/chunks/chunk-OTE6EUWP.js +122 -0
- package/dist/chunks/chunk-OU52A4YW.js +165 -0
- package/dist/chunks/chunk-OVBTNR7U.js +23 -0
- package/dist/chunks/chunk-OXI222BA.js +54 -0
- package/dist/chunks/chunk-OYTQYBKJ.js +120 -0
- package/dist/chunks/chunk-P23KECK3.js +57 -0
- package/dist/chunks/chunk-P2OKKR5E.js +320 -0
- package/dist/chunks/chunk-P373HJEQ.js +153 -0
- package/dist/chunks/chunk-P5M5QCAJ.js +95 -0
- package/dist/chunks/chunk-PASNOILA.js +150 -0
- package/dist/chunks/chunk-PC4CRN7J.js +23 -0
- package/dist/chunks/chunk-PCSLYXTW.js +163 -0
- package/dist/chunks/chunk-PEDQKANG.js +33 -0
- package/dist/chunks/chunk-PFRPEJQ7.js +45 -0
- package/dist/chunks/chunk-PGC3HCFT.js +147 -0
- package/dist/chunks/chunk-PJY3DG52.js +317 -0
- package/dist/chunks/chunk-PKNRS7V7.js +94 -0
- package/dist/chunks/chunk-PLJJVVVO.js +201 -0
- package/dist/chunks/chunk-PNLEEGKA.js +33 -0
- package/dist/chunks/chunk-POZOGQG7.js +424 -0
- package/dist/chunks/chunk-PP45QTQ6.js +108 -0
- package/dist/chunks/chunk-PPRSMIGM.js +152 -0
- package/dist/chunks/chunk-PTRN7H4N.js +42 -0
- package/dist/chunks/chunk-PVMSTID2.js +23 -0
- package/dist/chunks/chunk-PWZ5TPBQ.js +100 -0
- package/dist/chunks/chunk-PYXHPAZX.js +738 -0
- package/dist/chunks/chunk-Q2ASEGWN.js +41 -0
- package/dist/chunks/chunk-Q3B5SHXG.js +45 -0
- package/dist/chunks/chunk-Q4DPRHT2.js +106 -0
- package/dist/chunks/chunk-Q63RQCF6.js +144 -0
- package/dist/chunks/chunk-Q7KAXGAK.js +120 -0
- package/dist/chunks/chunk-QBGTS5T7.js +138 -0
- package/dist/chunks/chunk-QCDV2YDY.js +217 -0
- package/dist/chunks/chunk-QF7A6T4H.js +279 -0
- package/dist/chunks/chunk-QGE2XW66.js +1649 -0
- package/dist/chunks/chunk-QHX6GEAS.js +150 -0
- package/dist/chunks/chunk-QMJCMJ4H.js +146 -0
- package/dist/chunks/chunk-QOR3X7UR.js +54 -0
- package/dist/chunks/chunk-QP7AFE5R.js +97 -0
- package/dist/chunks/chunk-QPL45ZDN.js +183 -0
- package/dist/chunks/chunk-QPUNDLA4.js +301 -0
- package/dist/chunks/chunk-QQL5ADGN.js +283 -0
- package/dist/chunks/chunk-QQMSM7EK.js +36 -0
- package/dist/chunks/chunk-QRSB6IKM.js +358 -0
- package/dist/chunks/chunk-QU2265DN.js +97 -0
- package/dist/chunks/chunk-QV5G6ISE.js +159 -0
- package/dist/chunks/chunk-QY5U725A.js +47 -0
- package/dist/chunks/chunk-QYBYPMVF.js +182 -0
- package/dist/chunks/chunk-R4KIPVK4.js +326 -0
- package/dist/chunks/chunk-R4Q47A2J.js +108 -0
- package/dist/chunks/chunk-R6FAPIVP.js +33 -0
- package/dist/chunks/chunk-R7VJXBUC.js +23 -0
- package/dist/chunks/chunk-RBS4AOLB.js +90 -0
- package/dist/chunks/chunk-RCAHZSQD.js +151 -0
- package/dist/chunks/chunk-RD2D2IIU.js +36 -0
- package/dist/chunks/chunk-REFDALWU.js +23 -0
- package/dist/chunks/chunk-RF3GVBXN.js +220 -0
- package/dist/chunks/chunk-RFA7INNF.js +45 -0
- package/dist/chunks/chunk-RFPREMKF.js +237 -0
- package/dist/chunks/chunk-RG563GJX.js +127 -0
- package/dist/chunks/chunk-RGG5GUS6.js +162 -0
- package/dist/chunks/chunk-RH7SANM5.js +180 -0
- package/dist/chunks/chunk-RHVN4HHJ.js +169 -0
- package/dist/chunks/chunk-RI6O4MTA.js +111 -0
- package/dist/chunks/chunk-RLAWIZTT.js +153 -0
- package/dist/chunks/chunk-RLTRN3YR.js +163 -0
- package/dist/chunks/chunk-RNCZVDXJ.js +102 -0
- package/dist/chunks/chunk-RNDHDUNJ.js +183 -0
- package/dist/chunks/chunk-ROIB32SA.js +87 -0
- package/dist/chunks/chunk-RPCYL3NK.js +260 -0
- package/dist/chunks/chunk-RTAG5GOL.js +184 -0
- package/dist/chunks/chunk-RWPOBQP7.js +33 -0
- package/dist/chunks/chunk-RX5SBRA2.js +1393 -0
- package/dist/chunks/chunk-RXJJAE3K.js +273 -0
- package/dist/chunks/chunk-RYUI74FY.js +101 -0
- package/dist/chunks/chunk-RZODBL5L.js +329 -0
- package/dist/chunks/chunk-S25774X3.js +242 -0
- package/dist/chunks/chunk-S45ZJFU2.js +104 -0
- package/dist/chunks/chunk-S4P43PZI.js +97 -0
- package/dist/chunks/chunk-S4Y3VMQH.js +887 -0
- package/dist/chunks/chunk-S57NBFBJ.js +152 -0
- package/dist/chunks/chunk-S6FNCLMU.js +108 -0
- package/dist/chunks/chunk-SBEKJIPH.js +162 -0
- package/dist/chunks/chunk-SC5RIAEC.js +362 -0
- package/dist/chunks/chunk-SDQESNSE.js +23 -0
- package/dist/chunks/chunk-SE3U4XYH.js +173 -0
- package/dist/chunks/chunk-SFRBQ2PK.js +95 -0
- package/dist/chunks/chunk-SGQ6HMGV.js +90 -0
- package/dist/chunks/chunk-SHP6NA5E.js +195 -0
- package/dist/chunks/chunk-SI3ZOUV3.js +50 -0
- package/dist/chunks/chunk-SKXTP74D.js +112 -0
- package/dist/chunks/chunk-SLC4C6NW.js +327 -0
- package/dist/chunks/chunk-SLFNBUMG.js +95 -0
- package/dist/chunks/chunk-SLHKGUXQ.js +106 -0
- package/dist/chunks/chunk-SMAOJZT3.js +97 -0
- package/dist/chunks/chunk-SNIXUPKT.js +145 -0
- package/dist/chunks/chunk-SNLKRCRD.js +89 -0
- package/dist/chunks/chunk-SOZ24MX4.js +106 -0
- package/dist/chunks/chunk-SPGXS7V6.js +239 -0
- package/dist/chunks/chunk-SRSUY2WG.js +265 -0
- package/dist/chunks/chunk-SSWFRDJZ.js +122 -0
- package/dist/chunks/chunk-ST4K264N.js +252 -0
- package/dist/chunks/chunk-SURNQA2T.js +110 -0
- package/dist/chunks/chunk-SX3BZRNE.js +45 -0
- package/dist/chunks/chunk-SXAEFH2P.js +260 -0
- package/dist/chunks/chunk-SXBITE3O.js +111 -0
- package/dist/chunks/chunk-SZXW5SHY.js +117 -0
- package/dist/chunks/chunk-T324DBIE.js +52 -0
- package/dist/chunks/chunk-T5EL32RC.js +133 -0
- package/dist/chunks/chunk-T6LDAWRN.js +23 -0
- package/dist/chunks/chunk-T6QWDC3F.js +49 -0
- package/dist/chunks/chunk-T6T6C5WX.js +215 -0
- package/dist/chunks/chunk-T6YFBUX5.js +179 -0
- package/dist/chunks/chunk-T7OCDXH3.js +84 -0
- package/dist/chunks/chunk-TASIFSPI.js +237 -0
- package/dist/chunks/chunk-TBIZI5NH.js +33 -0
- package/dist/chunks/chunk-TBVBI4EN.js +41 -0
- package/dist/chunks/chunk-TEEIKA7J.js +88 -0
- package/dist/chunks/chunk-TFWGUTYX.js +272 -0
- package/dist/chunks/chunk-TGEZ6XE4.js +81 -0
- package/dist/chunks/chunk-TI24GNCW.js +53 -0
- package/dist/chunks/chunk-TKYYND5Y.js +51 -0
- package/dist/chunks/chunk-TLUNM2TF.js +125 -0
- package/dist/chunks/chunk-TM5RDBI3.js +119 -0
- package/dist/chunks/chunk-TO2G6M5V.js +86 -0
- package/dist/chunks/chunk-TOP6QIZY.js +146 -0
- package/dist/chunks/chunk-TOZ7ELK3.js +192 -0
- package/dist/chunks/chunk-TQGA2XPO.js +174 -0
- package/dist/chunks/chunk-TRDR2HTF.js +192 -0
- package/dist/chunks/chunk-TTFJSFYE.js +45 -0
- package/dist/chunks/chunk-TTV6D6WE.js +80 -0
- package/dist/chunks/chunk-TUAADYK6.js +198 -0
- package/dist/chunks/chunk-TUGJBNNZ.js +122 -0
- package/dist/chunks/chunk-TUNKWS22.js +167 -0
- package/dist/chunks/chunk-TUTKS5P3.js +45 -0
- package/dist/chunks/chunk-TVEKOSL6.js +84 -0
- package/dist/chunks/chunk-TW2YBHAS.js +175 -0
- package/dist/chunks/chunk-TYBWMK2R.js +194 -0
- package/dist/chunks/chunk-TYDS5EEV.js +187 -0
- package/dist/chunks/chunk-TYZPQWCO.js +382 -0
- package/dist/chunks/chunk-U2USBF33.js +77 -0
- package/dist/chunks/chunk-UALZ77YU.js +101 -0
- package/dist/chunks/chunk-UBT4DZYW.js +304 -0
- package/dist/chunks/chunk-UCCRKS3X.js +102 -0
- package/dist/chunks/chunk-UD57CHXN.js +204 -0
- package/dist/chunks/chunk-UDKGYTJF.js +23 -0
- package/dist/chunks/chunk-UENEUEO4.js +78 -0
- package/dist/chunks/chunk-UFM7YDUK.js +72 -0
- package/dist/chunks/chunk-UFRPKZMD.js +33 -0
- package/dist/chunks/chunk-UGFV3A35.js +315 -0
- package/dist/chunks/chunk-UHQ6VJHC.js +215 -0
- package/dist/chunks/chunk-UJCH2M3Y.js +91 -0
- package/dist/chunks/chunk-UJTTWR5P.js +71 -0
- package/dist/chunks/chunk-UKJMBB65.js +304 -0
- package/dist/chunks/chunk-ULNC47JX.js +78 -0
- package/dist/chunks/chunk-ULOS6YOR.js +36 -0
- package/dist/chunks/chunk-UMGBNVBJ.js +97 -0
- package/dist/chunks/chunk-UMQJM2ZI.js +61 -0
- package/dist/chunks/chunk-UNAAYJKD.js +218 -0
- package/dist/chunks/chunk-UNP33F6D.js +23 -0
- package/dist/chunks/chunk-UNTH3AOH.js +176 -0
- package/dist/chunks/chunk-UP6M77DM.js +77 -0
- package/dist/chunks/chunk-UPJ5IXGA.js +293 -0
- package/dist/chunks/chunk-UPUIW6WL.js +240 -0
- package/dist/chunks/chunk-URCFHJXT.js +94 -0
- package/dist/chunks/chunk-URXKBGNG.js +304 -0
- package/dist/chunks/chunk-USOSAINL.js +94 -0
- package/dist/chunks/chunk-UTFC2DI3.js +49 -0
- package/dist/chunks/chunk-UVAM6572.js +23 -0
- package/dist/chunks/chunk-UWAMU3QI.js +345 -0
- package/dist/chunks/chunk-UWP5NEDG.js +267 -0
- package/dist/chunks/chunk-UWVAGRTP.js +113 -0
- package/dist/chunks/chunk-UXG3CC3X.js +103 -0
- package/dist/chunks/chunk-UYGTT3GT.js +157 -0
- package/dist/chunks/chunk-UYRIP57W.js +95 -0
- package/dist/chunks/chunk-V26DPHXS.js +93 -0
- package/dist/chunks/chunk-V2KZMUUV.js +52 -0
- package/dist/chunks/chunk-V4LR6DUQ.js +75 -0
- package/dist/chunks/chunk-V5OW4YFE.js +165 -0
- package/dist/chunks/chunk-V75VJKG5.js +299 -0
- package/dist/chunks/chunk-V7CW4BMC.js +105 -0
- package/dist/chunks/chunk-VD3VUBIQ.js +363 -0
- package/dist/chunks/chunk-VDZROQIV.js +102 -0
- package/dist/chunks/chunk-VEI66U2U.js +261 -0
- package/dist/chunks/chunk-VF4FO65C.js +102 -0
- package/dist/chunks/chunk-VIDB76SW.js +133 -0
- package/dist/chunks/chunk-VKC33NBX.js +33 -0
- package/dist/chunks/chunk-VM244NG3.js +76 -0
- package/dist/chunks/chunk-VMVVBNLQ.js +160 -0
- package/dist/chunks/chunk-VPI2II5W.js +161 -0
- package/dist/chunks/chunk-VRAGG32Y.js +49 -0
- package/dist/chunks/chunk-VS357YGY.js +176 -0
- package/dist/chunks/chunk-VS7JIEBJ.js +126 -0
- package/dist/chunks/chunk-VU4PV747.js +146 -0
- package/dist/chunks/chunk-VUBEGZJN.js +221 -0
- package/dist/chunks/chunk-VX7BKOHM.js +133 -0
- package/dist/chunks/chunk-VXZUNEFN.js +277 -0
- package/dist/chunks/chunk-VZJWTDTS.js +23 -0
- package/dist/chunks/chunk-VZTZJTPP.js +961 -0
- package/dist/chunks/chunk-W4LZGH6W.js +94 -0
- package/dist/chunks/chunk-W4NW4MP5.js +235 -0
- package/dist/chunks/chunk-W6CK5MYV.js +276 -0
- package/dist/chunks/chunk-WBK2DOWJ.js +23 -0
- package/dist/chunks/chunk-WBNQ7HAG.js +147 -0
- package/dist/chunks/chunk-WCHHYVVZ.js +141 -0
- package/dist/chunks/chunk-WCIXWIIL.js +93 -0
- package/dist/chunks/chunk-WCJZKLEY.js +23 -0
- package/dist/chunks/chunk-WDDXAXMY.js +45 -0
- package/dist/chunks/chunk-WDQAG2RE.js +100 -0
- package/dist/chunks/chunk-WDTBZJGD.js +198 -0
- package/dist/chunks/chunk-WDTDVTAN.js +45 -0
- package/dist/chunks/chunk-WEG6EAC7.js +23 -0
- package/dist/chunks/chunk-WGWVKCBU.js +84 -0
- package/dist/chunks/chunk-WJCJNPOX.js +159 -0
- package/dist/chunks/chunk-WJR5S6MQ.js +147 -0
- package/dist/chunks/chunk-WKKHCEXN.js +10429 -0
- package/dist/chunks/chunk-WLLGREOU.js +202 -0
- package/dist/chunks/chunk-WLMST5BF.js +93 -0
- package/dist/chunks/chunk-WM6ZEBNM.js +120 -0
- package/dist/chunks/chunk-WQBUPC5U.js +312 -0
- package/dist/chunks/chunk-WQD3M4SM.js +77 -0
- package/dist/chunks/chunk-WR75D2J2.js +274 -0
- package/dist/chunks/chunk-WSGRGT5E.js +145 -0
- package/dist/chunks/chunk-WT5F3ZNI.js +182 -0
- package/dist/chunks/chunk-WUSKZV2W.js +115 -0
- package/dist/chunks/chunk-WYNTEDM3.js +172 -0
- package/dist/chunks/chunk-X22CGIKE.js +75 -0
- package/dist/chunks/chunk-X2BAGHES.js +112 -0
- package/dist/chunks/chunk-X2BEN4S5.js +136 -0
- package/dist/chunks/chunk-X4EJUV3X.js +91 -0
- package/dist/chunks/chunk-X4HN5LP7.js +118 -0
- package/dist/chunks/chunk-X4UI5JKC.js +74 -0
- package/dist/chunks/chunk-X7SXUJNU.js +255 -0
- package/dist/chunks/chunk-XBOSHQH2.js +95 -0
- package/dist/chunks/chunk-XDK3FCKJ.js +215 -0
- package/dist/chunks/chunk-XE3WNWN6.js +30 -0
- package/dist/chunks/chunk-XE5PHXFW.js +36 -0
- package/dist/chunks/chunk-XID46XN3.js +45 -0
- package/dist/chunks/chunk-XIIFQUWN.js +48 -0
- package/dist/chunks/chunk-XIOZFBZ5.js +304 -0
- package/dist/chunks/chunk-XIRI5JXO.js +123 -0
- package/dist/chunks/chunk-XJUSSPSN.js +66 -0
- package/dist/chunks/chunk-XJYGS6YQ.js +131 -0
- package/dist/chunks/chunk-XL2QEXIR.js +83 -0
- package/dist/chunks/chunk-XLH3LH35.js +84 -0
- package/dist/chunks/chunk-XMBY4GQC.js +120 -0
- package/dist/chunks/chunk-XNCBJGF3.js +214 -0
- package/dist/chunks/chunk-XNIGSGRA.js +137 -0
- package/dist/chunks/chunk-XNMDDRTY.js +48 -0
- package/dist/chunks/chunk-XNXQIO3C.js +415 -0
- package/dist/chunks/chunk-XQJ2VVC6.js +69 -0
- package/dist/chunks/chunk-XS6WFGSH.js +110 -0
- package/dist/chunks/chunk-XTFV46GB.js +115 -0
- package/dist/chunks/chunk-XUZP6ZDB.js +113 -0
- package/dist/chunks/chunk-XW2CG5WK.js +122 -0
- package/dist/chunks/chunk-XY2UVFSV.js +33 -0
- package/dist/chunks/chunk-Y2JQPDHW.js +242 -0
- package/dist/chunks/chunk-Y3MKKFJV.js +97 -0
- package/dist/chunks/chunk-Y46TF5JZ.js +66 -0
- package/dist/chunks/chunk-Y4ZOHJT2.js +1136 -0
- package/dist/chunks/chunk-Y6DHN37V.js +98 -0
- package/dist/chunks/chunk-Y7F6GN5L.js +126 -0
- package/dist/chunks/chunk-YAKOWHWE.js +361 -0
- package/dist/chunks/chunk-YB6MELXO.js +196 -0
- package/dist/chunks/chunk-YDC5K6NX.js +130 -0
- package/dist/chunks/chunk-YDHKVZ4N.js +115 -0
- package/dist/chunks/chunk-YDNHZZGU.js +74 -0
- package/dist/chunks/chunk-YFWLU5WW.js +23 -0
- package/dist/chunks/chunk-YHMT5KEW.js +212 -0
- package/dist/chunks/chunk-YHTLNVXJ.js +23 -0
- package/dist/chunks/chunk-YI7HCLNY.js +200 -0
- package/dist/chunks/chunk-YIEUMY43.js +262 -0
- package/dist/chunks/chunk-YIMHLXXF.js +146 -0
- package/dist/chunks/chunk-YJSCKSNY.js +366 -0
- package/dist/chunks/chunk-YJYGAWBS.js +391 -0
- package/dist/chunks/chunk-YMVKPMZO.js +368 -0
- package/dist/chunks/chunk-YNAICOB2.js +187 -0
- package/dist/chunks/chunk-YOUKVCGZ.js +127 -0
- package/dist/chunks/chunk-YOYWFBRJ.js +651 -0
- package/dist/chunks/chunk-YPBD7EUC.js +146 -0
- package/dist/chunks/chunk-YPFYJKMM.js +118 -0
- package/dist/chunks/chunk-YPHNGRQP.js +175 -0
- package/dist/chunks/chunk-YPLJSTUA.js +97 -0
- package/dist/chunks/chunk-YQEP6YFO.js +78 -0
- package/dist/chunks/chunk-YRRB5QDQ.js +229 -0
- package/dist/chunks/chunk-YRZJ4QPG.js +626 -0
- package/dist/chunks/chunk-YSEL45TN.js +135 -0
- package/dist/chunks/chunk-YTS6PXTH.js +197 -0
- package/dist/chunks/chunk-YWNLZHPX.js +164 -0
- package/dist/chunks/chunk-YX2HWYPO.js +135 -0
- package/dist/chunks/chunk-YZVCBFAG.js +23 -0
- package/dist/chunks/chunk-Z257MZVJ.js +49 -0
- package/dist/chunks/chunk-Z2YHJW5G.js +221 -0
- package/dist/chunks/chunk-Z2ZTQOKM.js +78 -0
- package/dist/chunks/chunk-ZAYVCDGB.js +163 -0
- package/dist/chunks/chunk-ZBFR7DBR.js +70 -0
- package/dist/chunks/chunk-ZCLJADSE.js +154 -0
- package/dist/chunks/chunk-ZFUNZPIN.js +156 -0
- package/dist/chunks/chunk-ZGLXMJRC.js +290 -0
- package/dist/chunks/chunk-ZHMHZSPX.js +255 -0
- package/dist/chunks/chunk-ZJ2SB5ZT.js +33 -0
- package/dist/chunks/chunk-ZJS37D5Z.js +337 -0
- package/dist/chunks/chunk-ZLVYZPUR.js +87 -0
- package/dist/chunks/chunk-ZN7FO3G7.js +79 -0
- package/dist/chunks/chunk-ZOEQCG3C.js +147 -0
- package/dist/chunks/chunk-ZOGSIPQC.js +156 -0
- package/dist/chunks/chunk-ZOY44347.js +96 -0
- package/dist/chunks/chunk-ZPXL7YPT.js +282 -0
- package/dist/chunks/chunk-ZRN2UMCM.js +95 -0
- package/dist/chunks/chunk-ZSEPLVD5.js +105 -0
- package/dist/chunks/chunk-ZSJLSN7C.js +130 -0
- package/dist/chunks/chunk-ZU2EO2TX.js +172 -0
- package/dist/chunks/chunk-ZUQGVYN3.js +151 -0
- package/dist/chunks/chunk-ZVTRB4ZH.js +251 -0
- package/dist/chunks/chunk-ZW5QQB3F.js +100 -0
- package/dist/chunks/chunk-ZW7KTUDU.js +157 -0
- package/dist/chunks/chunk-ZY3DR3P6.js +63 -0
- package/dist/chunks/chunk-ZYNF7B6N.js +70 -0
- package/dist/chunks/client-ORABD53R.js +167 -0
- package/dist/chunks/client-YF3PYAFZ.js +44 -0
- package/dist/chunks/client-YOSPARZX.js +31 -0
- package/dist/chunks/client-actions-LYJHQ4IE.js +160 -0
- package/dist/chunks/dangerous-VCZB63L6.js +117 -0
- package/dist/chunks/editor-seams-4PF6BD4R.js +161 -0
- package/dist/chunks/editor-store-UAEROYSB.js +139 -0
- package/dist/chunks/export-QMP2HMKB.js +67 -0
- package/dist/chunks/export-watermark-2N7ALJXN.js +146 -0
- package/dist/chunks/eyedropper-3P75IZGM.js +349 -0
- package/dist/chunks/generate-media-DYXU4BZL.js +253 -0
- package/dist/chunks/host-J4QG5WB7.js +171 -0
- package/dist/chunks/integrations-KGJ2HE6V.js +115 -0
- package/dist/chunks/kit-modules-4HQU5EI2.js +18 -0
- package/dist/chunks/libraries-NIRTR2IA.js +302 -0
- package/dist/chunks/library-previews-IXWFHUTJ.js +199 -0
- package/dist/chunks/live-XZKNAJ2I.js +312 -0
- package/dist/chunks/lottie-DXGDMMEK.js +86 -0
- package/dist/chunks/media-tool-YFIYMYI5.js +332 -0
- package/dist/chunks/new-file-RNWHN4S6.js +129 -0
- package/dist/chunks/page-thumbnails-QUBYIFNT.js +137 -0
- package/dist/chunks/pdf-EM7WHNE5.js +1217 -0
- package/dist/chunks/player-check-PKCQDTMR.js +114 -0
- package/dist/chunks/plugin-AN5GLVH5.js +124 -0
- package/dist/chunks/plugin-import-J5ZNYSIY.js +666 -0
- package/dist/chunks/presence-YNSLRFAM.js +127 -0
- package/dist/chunks/preview-media-TOIQAI26.js +122 -0
- package/dist/chunks/project-HSN7DOPK.js +1653 -0
- package/dist/chunks/publish-site-T2C4IDD2.js +158 -0
- package/dist/chunks/publish-store-I2FOGDDF.js +93 -0
- package/dist/chunks/raster-actions-IVIGDYQU.js +229 -0
- package/dist/chunks/reference-images-GBFOIOAM.js +62 -0
- package/dist/chunks/resolvers-ONCAKSTL.js +139 -0
- package/dist/chunks/runner-IOXTGHBT.js +1233 -0
- package/dist/chunks/runtime-ZFSHTK76.js +32 -0
- package/dist/chunks/shader-preview-ZYBQBOJQ.js +518 -0
- package/dist/chunks/sites-XV7IK35R.js +33 -0
- package/dist/chunks/store-ZVOK3773.js +224 -0
- package/dist/chunks/storefront-MZM2W5DF.js +329 -0
- package/dist/chunks/storefront-prepare-WKX3DJCF.js +33 -0
- package/dist/chunks/svg-export-FP7NTL2M.js +81 -0
- package/dist/chunks/sync-XT2ZCTVE.js +153 -0
- package/dist/chunks/tabs-RIIW7KNI.js +311 -0
- package/dist/chunks/team-KM3FZ6AU.js +44 -0
- package/dist/chunks/team-client-2EXJKRDB.js +157 -0
- package/dist/chunks/templates-IIOLUAAI.js +181 -0
- package/dist/chunks/tools-5ISIPPXP.js +35 -0
- package/dist/chunks/ui-commands-GYCIF7UQ.js +269 -0
- package/dist/chunks/versions-JCQTXXUB.js +311 -0
- package/dist/chunks/video-GRV7TEX4.js +75 -0
- package/dist/fonts/chars.txt +1 -1
- package/dist/index.js +16 -16
- package/dist/lib/fonts/runtime.js +1 -1
- package/dist/lib/templates/capabilities.js +2 -2
- package/dist/lib/templates/finish.js +2 -2
- package/dist/lib/templates/upload.js +2 -2
- package/dist/lib/templates/vocabulary.js +2 -2
- package/dist/migrations/brand-media.js +6 -6
- package/dist/migrations/categories.js +2 -2
- package/dist/migrations/index.js +17 -17
- package/dist/migrations/timeline-facets.js +2 -2
- package/dist/seed/files.json +1 -1
- package/dist/seed/popcraft.comic-nested.json.gz +0 -0
- package/dist/seed/popcraft.comic-pinup.json.gz +0 -0
- package/dist/templates/anime/character.js +9 -9
- package/dist/templates/anime/duel.js +12 -12
- package/dist/templates/anime/morning.js +12 -12
- package/dist/templates/anime/rain.js +12 -12
- package/dist/templates/anime/shared.js +10 -10
- package/dist/templates/anime/starlight.js +12 -12
- package/dist/templates/anime/titan.js +12 -12
- package/dist/templates/app/festival-presale-electronic-ticket.js +11 -11
- package/dist/templates/app/festival-presale-family-ticket.js +11 -11
- package/dist/templates/app/festival-presale-folk-ticket.js +11 -11
- package/dist/templates/app/festival-presale-food-ticket.js +11 -11
- package/dist/templates/app/festival-presale-jazz-ticket.js +11 -11
- package/dist/templates/app/festival-presale-street-ticket.js +11 -11
- package/dist/templates/app/music/build.js +6 -6
- package/dist/templates/app/music-grove.js +9 -9
- package/dist/templates/app/music-nightline.js +9 -9
- package/dist/templates/app/music-orbit.js +9 -9
- package/dist/templates/app/music-undertow.js +9 -9
- package/dist/templates/app/onboarding-carousel.js +8 -8
- package/dist/templates/app/saas-store-paywall.js +8 -8
- package/dist/templates/app/splash.js +8 -8
- package/dist/templates/app/success-confetti.js +8 -8
- package/dist/templates/app/tour-tickets-june-ticket.js +8 -8
- package/dist/templates/app/tour-tickets-tide-ticket.js +8 -8
- package/dist/templates/app/tour-tickets-wreck-ticket.js +8 -8
- package/dist/templates/build.js +2 -2
- package/dist/templates/cards/index.js +10 -10
- package/dist/templates/cards/shared.js +8 -8
- package/dist/templates/cards/themes.js +9 -9
- package/dist/templates/count.js +3 -3
- package/dist/templates/data/bars.js +8 -8
- package/dist/templates/data/countdown-story.js +8 -8
- package/dist/templates/data/counters.js +8 -8
- package/dist/templates/data/donut.js +8 -8
- package/dist/templates/data/line.js +8 -8
- package/dist/templates/data/year-in-review.js +8 -8
- package/dist/templates/effects/glass-intro.js +8 -8
- package/dist/templates/effects/glass-promo.js +8 -8
- package/dist/templates/effects/grain-story.js +8 -8
- package/dist/templates/effects/grid-intro.js +8 -8
- package/dist/templates/effects/halftone-story.js +8 -8
- package/dist/templates/effects/mesh-story.js +8 -8
- package/dist/templates/effects/shader-title.js +8 -8
- package/dist/templates/email/april-fools-header.js +10 -10
- package/dist/templates/email/art-deco-invitation.js +9 -9
- package/dist/templates/email/autumn-harvest-header.js +9 -9
- package/dist/templates/email/back-to-school-header.js +9 -9
- package/dist/templates/email/black-friday-coupons-header.js +9 -9
- package/dist/templates/email/black-friday-header.js +9 -9
- package/dist/templates/email/black-friday-neon-header.js +9 -9
- package/dist/templates/email/black-friday-scratch-header.js +9 -9
- package/dist/templates/email/black-friday-ticker-header.js +9 -9
- package/dist/templates/email/broadsheet-weekly-edition-header.js +9 -9
- package/dist/templates/email/claymation-header.js +9 -9
- package/dist/templates/email/countdown-gif.js +9 -9
- package/dist/templates/email/cyberpunk-header.js +9 -9
- package/dist/templates/email/diwali-header.js +9 -9
- package/dist/templates/email/earth-day-header.js +9 -9
- package/dist/templates/email/festival-presale-electronic-header.js +11 -11
- package/dist/templates/email/festival-presale-family-header.js +11 -11
- package/dist/templates/email/festival-presale-folk-header.js +11 -11
- package/dist/templates/email/festival-presale-food-header.js +11 -11
- package/dist/templates/email/festival-presale-jazz-header.js +11 -11
- package/dist/templates/email/festival-presale-street-header.js +11 -11
- package/dist/templates/email/gothic-header.js +9 -9
- package/dist/templates/email/halloween-header.js +9 -9
- package/dist/templates/email/header-launch.js +9 -9
- package/dist/templates/email/header-newsletter.js +9 -9
- package/dist/templates/email/header-sale.js +9 -9
- package/dist/templates/email/lunar-new-year-header.js +9 -9
- package/dist/templates/email/manuscript-chronicle-header.js +9 -9
- package/dist/templates/email/new-year-header.js +9 -9
- package/dist/templates/email/noir-header.js +9 -9
- package/dist/templates/email/psychedelic-header.js +9 -9
- package/dist/templates/email/riso-zine-changelog-header.js +9 -9
- package/dist/templates/email/saas-mail-changelog.js +11 -11
- package/dist/templates/email/saas-mail-day-one.js +10 -10
- package/dist/templates/email/saas-mail-day-three.js +10 -10
- package/dist/templates/email/saas-mail-launch.js +10 -10
- package/dist/templates/email/saas-mail-payment-failed.js +10 -10
- package/dist/templates/email/saas-mail-sign-in-code.js +10 -10
- package/dist/templates/email/saas-mail-trial-ending.js +10 -10
- package/dist/templates/email/saas-mail-waitlist.js +10 -10
- package/dist/templates/email/shared.js +6 -6
- package/dist/templates/email/singles-day-header.js +9 -9
- package/dist/templates/email/solarpunk-header.js +9 -9
- package/dist/templates/email/space-opera-header.js +9 -9
- package/dist/templates/email/spring-bloom-header.js +9 -9
- package/dist/templates/email/style-bento-header.js +9 -9
- package/dist/templates/email/style-brutalist-header.js +9 -9
- package/dist/templates/email/style-dark-header.js +9 -9
- package/dist/templates/email/style-data-header.js +9 -9
- package/dist/templates/email/style-editorial-header.js +9 -9
- package/dist/templates/email/style-glass-header.js +9 -9
- package/dist/templates/email/style-gradient-header.js +9 -9
- package/dist/templates/email/style-maximal-header.js +9 -9
- package/dist/templates/email/style-pastel-header.js +9 -9
- package/dist/templates/email/style-sketch-header.js +9 -9
- package/dist/templates/email/style-swiss-header.js +9 -9
- package/dist/templates/email/style-terminal-header.js +9 -9
- package/dist/templates/email/summer-heatwave-header.js +9 -9
- package/dist/templates/email/tour-tickets-june-header.js +9 -9
- package/dist/templates/email/tour-tickets-tide-header.js +9 -9
- package/dist/templates/email/tour-tickets-wreck-header.js +9 -9
- package/dist/templates/email/transit-map-service-update.js +9 -9
- package/dist/templates/email/ukiyo-e-greeting-header.js +9 -9
- package/dist/templates/email/valentines-header.js +9 -9
- package/dist/templates/email/winter-cosy-header.js +9 -9
- package/dist/templates/email/winter-holidays-header.js +9 -9
- package/dist/templates/game/blossom-bash-puzzle.js +9 -9
- package/dist/templates/game/deckbound-roguelike.js +9 -9
- package/dist/templates/game/emberfall-rpg.js +9 -9
- package/dist/templates/game/hearthmoor-farm.js +9 -9
- package/dist/templates/game/index.js +22 -22
- package/dist/templates/game/iron-lotus-fighter.js +9 -9
- package/dist/templates/game/ironroot-rts.js +9 -9
- package/dist/templates/game/mossy-hollow-platformer.js +11 -11
- package/dist/templates/game/neon-apex-racing.js +9 -9
- package/dist/templates/game/platformer.js +10 -10
- package/dist/templates/game/pulse-riot-rhythm.js +9 -9
- package/dist/templates/game/shared.js +6 -6
- package/dist/templates/game/sprout-quest-pixel-platformer.js +11 -11
- package/dist/templates/game/vanta-fps.js +9 -9
- package/dist/templates/index.js +840 -826
- package/dist/templates/index.json +340 -0
- package/dist/templates/kinetic/letters.js +8 -8
- package/dist/templates/kinetic/lines.js +8 -8
- package/dist/templates/kinetic/typewriter.js +8 -8
- package/dist/templates/kinetic/word-swap.js +8 -8
- package/dist/templates/kinetic/words.js +8 -8
- package/dist/templates/kit.js +5 -5
- package/dist/templates/libraries/audio-reactive.js +8 -8
- package/dist/templates/libraries/loaders.js +8 -8
- package/dist/templates/libraries/micro-interactions.js +8 -8
- package/dist/templates/libraries/motion-essentials.js +8 -8
- package/dist/templates/libraries/toasts.js +8 -8
- package/dist/templates/lottie/ai.js +9 -9
- package/dist/templates/lottie/climate.js +9 -9
- package/dist/templates/lottie/commerce.js +9 -9
- package/dist/templates/lottie/education.js +9 -9
- package/dist/templates/lottie/fintech.js +9 -9
- package/dist/templates/lottie/food.js +9 -9
- package/dist/templates/lottie/health.js +9 -9
- package/dist/templates/lottie/index.js +33 -33
- package/dist/templates/lottie/lottie-kit.js +8 -8
- package/dist/templates/lottie/realestate.js +9 -9
- package/dist/templates/lottie/saas-ui-checklist.js +10 -10
- package/dist/templates/lottie/saas-ui-dashboard-hero.js +10 -10
- package/dist/templates/lottie/saas-ui-empty-data.js +10 -10
- package/dist/templates/lottie/saas-ui-empty-search.js +10 -10
- package/dist/templates/lottie/saas-ui-error-retry.js +10 -10
- package/dist/templates/lottie/saas-ui-file-upload.js +10 -10
- package/dist/templates/lottie/saas-ui-streaming-answer.js +10 -10
- package/dist/templates/lottie/saas-ui-sync-connected.js +10 -10
- package/dist/templates/lottie/saas-ui-trial-timeline.js +10 -10
- package/dist/templates/lottie/saas-ui-upgrade-unlocked.js +10 -10
- package/dist/templates/lottie/saas-ui.js +20 -20
- package/dist/templates/lottie/saas.js +9 -9
- package/dist/templates/lottie/security.js +9 -9
- package/dist/templates/lottie/techniques.js +9 -9
- package/dist/templates/lottie/travel.js +9 -9
- package/dist/templates/motion/ambient-loop.js +8 -8
- package/dist/templates/motion/app-icon-sting.js +8 -8
- package/dist/templates/motion/april-fools-infomercial-reel.js +10 -10
- package/dist/templates/motion/arcade-high-score.js +8 -8
- package/dist/templates/motion/art-deco-grand-opening.js +8 -8
- package/dist/templates/motion/autumn-harvest-year-reel.js +8 -8
- package/dist/templates/motion/back-to-school-timetable-reel.js +8 -8
- package/dist/templates/motion/bauhaus-launch-reel.js +8 -8
- package/dist/templates/motion/black-friday-coupons-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-coupons-last-day.js +8 -8
- package/dist/templates/motion/black-friday-deal-drop.js +8 -8
- package/dist/templates/motion/black-friday-neon-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-neon-last-day.js +8 -8
- package/dist/templates/motion/black-friday-scratch-countdown.js +8 -8
- package/dist/templates/motion/black-friday-scratch-deal-reel.js +8 -8
- package/dist/templates/motion/black-friday-scratch-last-day.js +8 -8
- package/dist/templates/motion/black-friday-ticker-deal-drop.js +8 -8
- package/dist/templates/motion/black-friday-ticker-last-call.js +8 -8
- package/dist/templates/motion/blueprint-rev-b-reel.js +8 -8
- package/dist/templates/motion/broadsheet-launch-reel.js +8 -8
- package/dist/templates/motion/broadsheet-milestone-post.js +9 -9
- package/dist/templates/motion/claymation-launch-reel.js +8 -8
- package/dist/templates/motion/comic-book-issue-reel.js +8 -8
- package/dist/templates/motion/countdown.js +8 -8
- package/dist/templates/motion/cyberpunk-lock-on-reel.js +8 -8
- package/dist/templates/motion/departure-board-reel.js +8 -8
- package/dist/templates/motion/diwali-lamps-reel.js +8 -8
- package/dist/templates/motion/earth-day-footprint-reel.js +8 -8
- package/dist/templates/motion/earth-day-pledge-post.js +8 -8
- package/dist/templates/motion/festival-presale-electronic-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-reel.js +11 -11
- package/dist/templates/motion/festival-presale-electronic-tier.js +11 -11
- package/dist/templates/motion/festival-presale-family-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-family-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-family-reel.js +11 -11
- package/dist/templates/motion/festival-presale-family-tier.js +11 -11
- package/dist/templates/motion/festival-presale-folk-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-folk-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-folk-reel.js +11 -11
- package/dist/templates/motion/festival-presale-folk-tier.js +11 -11
- package/dist/templates/motion/festival-presale-food-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-food-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-food-reel.js +11 -11
- package/dist/templates/motion/festival-presale-food-tier.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-reel.js +11 -11
- package/dist/templates/motion/festival-presale-jazz-tier.js +11 -11
- package/dist/templates/motion/festival-presale-street-countdown.js +11 -11
- package/dist/templates/motion/festival-presale-street-lineup.js +11 -11
- package/dist/templates/motion/festival-presale-street-reel.js +11 -11
- package/dist/templates/motion/festival-presale-street-tier.js +11 -11
- package/dist/templates/motion/gothic-launch-reel.js +8 -8
- package/dist/templates/motion/halloween-graveyard-reel.js +8 -8
- package/dist/templates/motion/instagram-promo.js +8 -8
- package/dist/templates/motion/kinetic-headline.js +8 -8
- package/dist/templates/motion/landing-hero/index.js +11 -11
- package/dist/templates/motion/launch-trailer/document.js +840 -826
- package/dist/templates/motion/launch-trailer/index.js +11 -11
- package/dist/templates/motion/launch-trailer/scenes.js +10 -10
- package/dist/templates/motion/logo-reveal.js +8 -8
- package/dist/templates/motion/lower-third.js +8 -8
- package/dist/templates/motion/lunar-new-year-envelope-reel.js +8 -8
- package/dist/templates/motion/machined-trailer.js +10 -10
- package/dist/templates/motion/manuscript-launch-reel.js +8 -8
- package/dist/templates/motion/new-year-ball-drop-reel.js +8 -8
- package/dist/templates/motion/noir-case-reel.js +8 -8
- package/dist/templates/motion/pitch-title.js +8 -8
- package/dist/templates/motion/psychedelic-gig-reel.js +8 -8
- package/dist/templates/motion/riso-zine-launch-reel.js +8 -8
- package/dist/templates/motion/saas-ai-prompt.js +8 -8
- package/dist/templates/motion/saas-before-after.js +8 -8
- package/dist/templates/motion/saas-changelog-drop.js +8 -8
- package/dist/templates/motion/saas-film-webinar-opener.js +8 -8
- package/dist/templates/motion/saas-hook-features.js +8 -8
- package/dist/templates/motion/saas-mrr-milestone.js +8 -8
- package/dist/templates/motion/saas-screen-demo.js +8 -8
- package/dist/templates/motion/saas-store-install-ad.js +9 -9
- package/dist/templates/motion/saas-testimonial.js +8 -8
- package/dist/templates/motion/saas-vs-comparison.js +8 -8
- package/dist/templates/motion/singles-day-flash-post.js +8 -8
- package/dist/templates/motion/singles-day-live-reel.js +8 -8
- package/dist/templates/motion/smooth-loop.js +8 -8
- package/dist/templates/motion/solarpunk-rooftop-reel.js +8 -8
- package/dist/templates/motion/space-opera-countdown-reel.js +8 -8
- package/dist/templates/motion/spring-bloom-first-hundred-post.js +8 -8
- package/dist/templates/motion/spring-bloom-first-shoots-reel.js +8 -8
- package/dist/templates/motion/stat-pop.js +8 -8
- package/dist/templates/motion/style-bento-feature-demo.js +8 -8
- package/dist/templates/motion/style-bento-launch-reel.js +8 -8
- package/dist/templates/motion/style-brutalist-feature-demo.js +8 -8
- package/dist/templates/motion/style-brutalist-launch-reel.js +8 -8
- package/dist/templates/motion/style-dark-feature-demo.js +8 -8
- package/dist/templates/motion/style-dark-launch-reel.js +8 -8
- package/dist/templates/motion/style-data-feature-demo.js +8 -8
- package/dist/templates/motion/style-data-launch-reel.js +8 -8
- package/dist/templates/motion/style-editorial-feature-demo.js +8 -8
- package/dist/templates/motion/style-editorial-launch-reel.js +8 -8
- package/dist/templates/motion/style-glass-feature-demo.js +8 -8
- package/dist/templates/motion/style-glass-launch-reel.js +8 -8
- package/dist/templates/motion/style-gradient-feature-demo.js +8 -8
- package/dist/templates/motion/style-gradient-launch-reel.js +8 -8
- package/dist/templates/motion/style-maximal-feature-demo.js +8 -8
- package/dist/templates/motion/style-maximal-launch-reel.js +8 -8
- package/dist/templates/motion/style-pastel-feature-demo.js +8 -8
- package/dist/templates/motion/style-pastel-launch-reel.js +8 -8
- package/dist/templates/motion/style-sketch-feature-demo.js +8 -8
- package/dist/templates/motion/style-sketch-launch-reel.js +8 -8
- package/dist/templates/motion/style-swiss-feature-demo.js +8 -8
- package/dist/templates/motion/style-swiss-launch-reel.js +8 -8
- package/dist/templates/motion/style-terminal-feature-demo.js +8 -8
- package/dist/templates/motion/style-terminal-launch-reel.js +8 -8
- package/dist/templates/motion/summer-heatwave-lido-reel.js +8 -8
- package/dist/templates/motion/template-wall.js +9 -9
- package/dist/templates/motion/title-card-3d.js +8 -8
- package/dist/templates/motion/tour-tickets-june-city.js +8 -8
- package/dist/templates/motion/tour-tickets-june-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-june-final.js +8 -8
- package/dist/templates/motion/tour-tickets-june-reel.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-city.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-final.js +8 -8
- package/dist/templates/motion/tour-tickets-tide-reel.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-city.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-dates.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-final.js +8 -8
- package/dist/templates/motion/tour-tickets-wreck-reel.js +8 -8
- package/dist/templates/motion/transit-map-line-opening.js +8 -8
- package/dist/templates/motion/transit-map-milestone-post.js +8 -8
- package/dist/templates/motion/ukiyo-e-launch-reel.js +8 -8
- package/dist/templates/motion/valentines-breakup-reel.js +8 -8
- package/dist/templates/motion/vaporwave-launch-reel.js +9 -9
- package/dist/templates/motion/winter-cosy-heads-down-post.js +8 -8
- package/dist/templates/motion/winter-cosy-hibernation-reel.js +8 -8
- package/dist/templates/motion/winter-holidays-advent-reel.js +8 -8
- package/dist/templates/motion-qa.js +6 -6
- package/dist/templates/motion3d/app-store-preview.js +9 -9
- package/dist/templates/motion3d/before-after-swing.js +9 -9
- package/dist/templates/motion3d/burger-reveal.js +9 -9
- package/dist/templates/motion3d/coverflow.js +9 -9
- package/dist/templates/motion3d/exploded-ui.js +9 -9
- package/dist/templates/motion3d/feature-flip.js +9 -9
- package/dist/templates/motion3d/kinetic-reveal.js +9 -9
- package/dist/templates/motion3d/laptop-reveal.js +9 -9
- package/dist/templates/motion3d/logo-extrude.js +9 -9
- package/dist/templates/motion3d/parallax-cascade.js +9 -9
- package/dist/templates/motion3d/phone-orbit.js +9 -9
- package/dist/templates/motion3d/pricing-fan.js +9 -9
- package/dist/templates/motion3d/product-turntable.js +9 -9
- package/dist/templates/motion3d/saas-film-cinematic-trailer.js +10 -10
- package/dist/templates/motion3d/screen-wall.js +9 -9
- package/dist/templates/motion3d/stage.js +6 -6
- package/dist/templates/motion3d/vertical-promo.js +9 -9
- package/dist/templates/music/edm-drop.js +9 -9
- package/dist/templates/music/festival-lineup.js +9 -9
- package/dist/templates/music/hiphop-lyrics.js +9 -9
- package/dist/templates/music/indie-poster.js +9 -9
- package/dist/templates/music/lofi-loop.js +9 -9
- package/dist/templates/music/podcast-audiogram.js +9 -9
- package/dist/templates/music/shared.js +6 -6
- package/dist/templates/music/synthwave-tunnel.js +9 -9
- package/dist/templates/print/comic-hero-cascade.js +100 -0
- package/dist/templates/print/comic-hero-chase.js +100 -0
- package/dist/templates/print/comic-hero-cover-modern.js +100 -0
- package/dist/templates/print/comic-hero-grid-break.js +100 -0
- package/dist/templates/print/comic-hero-interrogation.js +100 -0
- package/dist/templates/print/comic-hero-issue.js +109 -0
- package/dist/templates/print/comic-hero-manga-action.js +100 -0
- package/dist/templates/print/comic-hero-nested.js +100 -0
- package/dist/templates/print/comic-hero-overlap.js +100 -0
- package/dist/templates/print/comic-hero-parallel.js +100 -0
- package/dist/templates/print/comic-hero-pinup.js +100 -0
- package/dist/templates/print/comic-hero-widescreen.js +100 -0
- package/dist/templates/print/comic-modern-action-slant.js +8 -8
- package/dist/templates/print/comic-modern-cover-pulp.js +8 -8
- package/dist/templates/print/comic-modern-flashback.js +8 -8
- package/dist/templates/print/comic-modern-issue.js +17 -17
- package/dist/templates/print/comic-modern-nine-grid.js +8 -8
- package/dist/templates/print/comic-modern-page-classic.js +8 -8
- package/dist/templates/print/comic-modern-polyptych.js +8 -8
- package/dist/templates/print/comic-modern-radial.js +8 -8
- package/dist/templates/print/comic-modern-splash.js +8 -8
- package/dist/templates/print/comic-modern-spread.js +8 -8
- package/dist/templates/print/everyday-save-the-date.js +8 -8
- package/dist/templates/print/everyday-specials-board.js +8 -8
- package/dist/templates/print/holidays-christmas-church-newsletter.js +8 -8
- package/dist/templates/print/holidays-christmas-eve-invitation.js +8 -8
- package/dist/templates/print/holidays-christmas-gift-tags.js +8 -8
- package/dist/templates/print/holidays-diwali-party-invitation.js +8 -8
- package/dist/templates/print/holidays-easter-activity-sheet.js +8 -8
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +8 -8
- package/dist/templates/print/holidays-eid-dinner-invitation.js +8 -8
- package/dist/templates/print/holidays-eid-gift-tags.js +8 -8
- package/dist/templates/print/holidays-halloween-party-invitation.js +8 -8
- package/dist/templates/print/holidays-halloween-treat-labels.js +8 -8
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +8 -8
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +8 -8
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +8 -8
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +8 -8
- package/dist/templates/print/holidays-new-years-eve-poster.js +8 -8
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +8 -8
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +8 -8
- package/dist/templates/print/holidays-valentines-dinner-menu.js +8 -8
- package/dist/templates/print/printshop-booklet-open-day.js +9 -9
- package/dist/templates/print/printshop-brochure-community.js +9 -9
- package/dist/templates/print/printshop-brochure-dental.js +9 -9
- package/dist/templates/print/printshop-brochure-gym.js +9 -9
- package/dist/templates/print/printshop-brochure-landscaping.js +9 -9
- package/dist/templates/print/printshop-brochure-travel.js +9 -9
- package/dist/templates/print/printshop-card-architect.js +9 -9
- package/dist/templates/print/printshop-card-barber.js +9 -9
- package/dist/templates/print/printshop-card-cafe.js +9 -9
- package/dist/templates/print/printshop-card-developer.js +9 -9
- package/dist/templates/print/printshop-card-florist.js +9 -9
- package/dist/templates/print/printshop-card-lawyer.js +9 -9
- package/dist/templates/print/printshop-card-photographer.js +9 -9
- package/dist/templates/print/printshop-card-plumber.js +9 -9
- package/dist/templates/print/printshop-card-realtor.js +9 -9
- package/dist/templates/print/printshop-card-yoga.js +9 -9
- package/dist/templates/print/printshop-flyer-charity-run.js +9 -9
- package/dist/templates/print/printshop-flyer-farmers-market.js +9 -9
- package/dist/templates/print/printshop-flyer-garage-sale.js +9 -9
- package/dist/templates/print/printshop-flyer-grand-opening.js +9 -9
- package/dist/templates/print/printshop-flyer-lost-pet.js +9 -9
- package/dist/templates/print/printshop-flyer-tutoring.js +9 -9
- package/dist/templates/print/printshop-flyer-yard-work.js +9 -9
- package/dist/templates/print/printshop-poster-live-music.js +9 -9
- package/dist/templates/print/studio-class-timetable-poster.js +8 -8
- package/dist/templates/print/studio-portfolio-booklet.js +8 -8
- package/dist/templates/saas/email-decks-shared.js +9 -9
- package/dist/templates/saas/email-decks.js +21 -21
- package/dist/templates/saas/index.js +194 -194
- package/dist/templates/saas/launch-kit.js +17 -17
- package/dist/templates/saas/launch-video.js +16 -16
- package/dist/templates/saas/lottie-shared.js +9 -9
- package/dist/templates/saas/stores-shared.js +6 -6
- package/dist/templates/saas/stores.js +19 -19
- package/dist/templates/saas/style-bento.js +18 -18
- package/dist/templates/saas/style-brutalist.js +18 -18
- package/dist/templates/saas/style-dark.js +18 -18
- package/dist/templates/saas/style-data.js +18 -18
- package/dist/templates/saas/style-editorial.js +18 -18
- package/dist/templates/saas/style-glass.js +18 -18
- package/dist/templates/saas/style-gradient.js +18 -18
- package/dist/templates/saas/style-maximal.js +18 -18
- package/dist/templates/saas/style-pastel.js +18 -18
- package/dist/templates/saas/style-sketch.js +18 -18
- package/dist/templates/saas/style-swiss.js +18 -18
- package/dist/templates/saas/style-terminal.js +18 -18
- package/dist/templates/saas/video.js +16 -16
- package/dist/templates/saas/web.js +20 -20
- package/dist/templates/scenes/before-after.js +8 -8
- package/dist/templates/scenes/carousel-video.js +9 -9
- package/dist/templates/scenes/saas-film-app-preview.js +9 -9
- package/dist/templates/scenes/saas-film-bright-trailer.js +9 -9
- package/dist/templates/scenes/saas-film-product-hunt-launch.js +9 -9
- package/dist/templates/scenes/saas-film-youtube-demo-kit.js +9 -9
- package/dist/templates/scenes/shared.js +6 -6
- package/dist/templates/scenes/story-ad.js +9 -9
- package/dist/templates/scenes/story-bakery.js +9 -9
- package/dist/templates/scenes/story-fitness.js +9 -9
- package/dist/templates/scenes/story-hotel.js +9 -9
- package/dist/templates/scenes/transitions-pack.js +9 -9
- package/dist/templates/scenes/web-scroll.js +9 -9
- package/dist/templates/slides/agenda.js +9 -9
- package/dist/templates/slides/deck.js +8 -8
- package/dist/templates/slides/education.js +9 -9
- package/dist/templates/slides/launch.js +9 -9
- package/dist/templates/slides/layouts.js +9 -9
- package/dist/templates/slides/pitch.js +9 -9
- package/dist/templates/slides/report.js +9 -9
- package/dist/templates/slides/saas-mail-investor-update.js +10 -10
- package/dist/templates/slides/saas-mail-seed-pitch.js +10 -10
- package/dist/templates/slides/sales.js +9 -9
- package/dist/templates/slides/section-divider.js +9 -9
- package/dist/templates/slides/title-card.js +9 -9
- package/dist/templates/slides/training.js +9 -9
- package/dist/templates/slides/webinar.js +9 -9
- package/dist/templates/slideshow/adoption.js +10 -10
- package/dist/templates/slideshow/baby.js +10 -10
- package/dist/templates/slideshow/birthday.js +10 -10
- package/dist/templates/slideshow/graduation.js +10 -10
- package/dist/templates/slideshow/holiday.js +10 -10
- package/dist/templates/slideshow/home.js +10 -10
- package/dist/templates/slideshow/index.js +17 -17
- package/dist/templates/slideshow/lease.js +10 -10
- package/dist/templates/slideshow/memorial.js +10 -10
- package/dist/templates/slideshow/portfolio.js +10 -10
- package/dist/templates/slideshow/product.js +10 -10
- package/dist/templates/slideshow/recipe.js +10 -10
- package/dist/templates/slideshow/shared.js +9 -9
- package/dist/templates/slideshow/team.js +10 -10
- package/dist/templates/slideshow/travel.js +10 -10
- package/dist/templates/slideshow/wedding.js +10 -10
- package/dist/templates/slideshow/year.js +10 -10
- package/dist/templates/social/april-fools-link-preview.js +10 -10
- package/dist/templates/social/april-fools-price-slash-post.js +10 -10
- package/dist/templates/social/arcade-boss-fight.js +8 -8
- package/dist/templates/social/arcade-level-up.js +8 -8
- package/dist/templates/social/art-deco-link-preview.js +8 -8
- package/dist/templates/social/art-deco-premiere-post.js +8 -8
- package/dist/templates/social/autumn-harvest-link-preview.js +8 -8
- package/dist/templates/social/autumn-harvest-thanks-post.js +8 -8
- package/dist/templates/social/back-to-school-link-preview.js +8 -8
- package/dist/templates/social/back-to-school-report-card-post.js +8 -8
- package/dist/templates/social/bauhaus-drift-post.js +8 -8
- package/dist/templates/social/bauhaus-link-preview.js +8 -8
- package/dist/templates/social/bauhaus-pricing-post.js +8 -8
- package/dist/templates/social/black-friday-ads.js +8 -8
- package/dist/templates/social/black-friday-countdown.js +8 -8
- package/dist/templates/social/black-friday-coupons-ads.js +8 -8
- package/dist/templates/social/black-friday-coupons-countdown.js +8 -8
- package/dist/templates/social/black-friday-neon-ads.js +8 -8
- package/dist/templates/social/black-friday-neon-countdown.js +8 -8
- package/dist/templates/social/black-friday-scratch-ads.js +8 -8
- package/dist/templates/social/black-friday-ticker-ads.js +8 -8
- package/dist/templates/social/black-friday-ticker-countdown.js +8 -8
- package/dist/templates/social/blueprint-dimension-post.js +8 -8
- package/dist/templates/social/blueprint-link-preview.js +8 -8
- package/dist/templates/social/blueprint-parts-list-post.js +8 -8
- package/dist/templates/social/broadsheet-hiring-classifieds.js +8 -8
- package/dist/templates/social/broadsheet-link-preview.js +8 -8
- package/dist/templates/social/claymation-link-preview.js +8 -8
- package/dist/templates/social/claymation-streak-post.js +8 -8
- package/dist/templates/social/comic-book-cover-preview.js +8 -8
- package/dist/templates/social/comic-book-strip-post.js +8 -8
- package/dist/templates/social/cyberpunk-implant-post.js +8 -8
- package/dist/templates/social/cyberpunk-link-preview.js +8 -8
- package/dist/templates/social/departure-board-pass-ad.js +8 -8
- package/dist/templates/social/departure-board-store-set.js +8 -8
- package/dist/templates/social/departure-board-thanks-post.js +8 -8
- package/dist/templates/social/diwali-link-preview.js +8 -8
- package/dist/templates/social/diwali-thanks-post.js +8 -8
- package/dist/templates/social/earth-day-link-preview.js +8 -8
- package/dist/templates/social/everyday-save-the-date-post.js +8 -8
- package/dist/templates/social/festival-presale-electronic-ads.js +11 -11
- package/dist/templates/social/festival-presale-family-ads.js +11 -11
- package/dist/templates/social/festival-presale-folk-ads.js +11 -11
- package/dist/templates/social/festival-presale-food-ads.js +11 -11
- package/dist/templates/social/festival-presale-jazz-ads.js +11 -11
- package/dist/templates/social/festival-presale-street-ads.js +11 -11
- package/dist/templates/social/gothic-feature-post.js +8 -8
- package/dist/templates/social/gothic-link-preview.js +8 -8
- package/dist/templates/social/halloween-link-preview.js +8 -8
- package/dist/templates/social/halloween-offer-post.js +8 -8
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +8 -8
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +8 -8
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +8 -8
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +8 -8
- package/dist/templates/social/holidays-valentines-florist-post.js +8 -8
- package/dist/templates/social/lunar-new-year-greeting-post.js +8 -8
- package/dist/templates/social/lunar-new-year-link-preview.js +8 -8
- package/dist/templates/social/machined-link-preview.js +10 -10
- package/dist/templates/social/machined-plate-post.js +10 -10
- package/dist/templates/social/manuscript-chapter-post.js +8 -8
- package/dist/templates/social/manuscript-link-preview.js +8 -8
- package/dist/templates/social/new-year-link-preview.js +8 -8
- package/dist/templates/social/new-year-resolutions-post.js +8 -8
- package/dist/templates/social/noir-case-file.js +8 -8
- package/dist/templates/social/noir-feature-post.js +8 -8
- package/dist/templates/social/post-announcement.js +8 -8
- package/dist/templates/social/post-event.js +8 -8
- package/dist/templates/social/post-podcast.js +8 -8
- package/dist/templates/social/post-quote.js +8 -8
- package/dist/templates/social/post-sale.js +8 -8
- package/dist/templates/social/post-stat.js +8 -8
- package/dist/templates/social/post-testimonial.js +8 -8
- package/dist/templates/social/promo-announcement.js +8 -8
- package/dist/templates/social/promo-beat-drop.js +8 -8
- package/dist/templates/social/promo-event.js +8 -8
- package/dist/templates/social/promo-new-product.js +8 -8
- package/dist/templates/social/promo-quote-reveal.js +8 -8
- package/dist/templates/social/promo-sale-drop.js +8 -8
- package/dist/templates/social/promo-tip-list.js +8 -8
- package/dist/templates/social/psychedelic-lineup-post.js +8 -8
- package/dist/templates/social/psychedelic-link-preview.js +8 -8
- package/dist/templates/social/riso-zine-link-preview.js +8 -8
- package/dist/templates/social/riso-zine-mrr-poster.js +8 -8
- package/dist/templates/social/saas-kit-carousel.js +8 -8
- package/dist/templates/social/saas-kit-countdown-post.js +8 -8
- package/dist/templates/social/saas-kit-feature-drop.js +8 -8
- package/dist/templates/social/saas-kit-link-preview.js +8 -8
- package/dist/templates/social/saas-kit-live-post.js +8 -8
- package/dist/templates/social/saas-kit-mrr-card.js +8 -8
- package/dist/templates/social/saas-kit-ph-gallery.js +8 -8
- package/dist/templates/social/saas-kit-ph-thumb.js +8 -8
- package/dist/templates/social/saas-kit-youtube-thumbs.js +8 -8
- package/dist/templates/social/saas-store-b2b-ads.js +9 -9
- package/dist/templates/social/saas-store-caption-set.js +9 -9
- package/dist/templates/social/saas-store-chrome-kit.js +9 -9
- package/dist/templates/social/saas-store-ipad-set.js +9 -9
- package/dist/templates/social/saas-store-panorama.js +10 -10
- package/dist/templates/social/saas-store-play-kit.js +8 -8
- package/dist/templates/social/saas-store-story.js +9 -9
- package/dist/templates/social/singles-day-link-preview.js +8 -8
- package/dist/templates/social/solarpunk-impact-post.js +8 -8
- package/dist/templates/social/solarpunk-link-preview.js +8 -8
- package/dist/templates/social/space-opera-link-preview.js +8 -8
- package/dist/templates/social/space-opera-mission-patch-post.js +8 -8
- package/dist/templates/social/spring-bloom-link-preview.js +8 -8
- package/dist/templates/social/studio-class-timetable.js +8 -8
- package/dist/templates/social/studio-podcast-cover.js +8 -8
- package/dist/templates/social/style-bento-announcement.js +8 -8
- package/dist/templates/social/style-bento-link-preview.js +8 -8
- package/dist/templates/social/style-bento-milestone.js +8 -8
- package/dist/templates/social/style-bento-testimonial.js +8 -8
- package/dist/templates/social/style-brutalist-announcement.js +8 -8
- package/dist/templates/social/style-brutalist-link-preview.js +8 -8
- package/dist/templates/social/style-brutalist-milestone.js +8 -8
- package/dist/templates/social/style-brutalist-testimonial.js +8 -8
- package/dist/templates/social/style-dark-announcement.js +8 -8
- package/dist/templates/social/style-dark-link-preview.js +8 -8
- package/dist/templates/social/style-dark-milestone.js +8 -8
- package/dist/templates/social/style-dark-testimonial.js +8 -8
- package/dist/templates/social/style-data-announcement.js +8 -8
- package/dist/templates/social/style-data-link-preview.js +8 -8
- package/dist/templates/social/style-data-milestone.js +8 -8
- package/dist/templates/social/style-data-testimonial.js +8 -8
- package/dist/templates/social/style-editorial-announcement.js +8 -8
- package/dist/templates/social/style-editorial-link-preview.js +8 -8
- package/dist/templates/social/style-editorial-milestone.js +8 -8
- package/dist/templates/social/style-editorial-testimonial.js +8 -8
- package/dist/templates/social/style-glass-announcement.js +8 -8
- package/dist/templates/social/style-glass-link-preview.js +8 -8
- package/dist/templates/social/style-glass-milestone.js +8 -8
- package/dist/templates/social/style-glass-testimonial.js +8 -8
- package/dist/templates/social/style-gradient-announcement.js +8 -8
- package/dist/templates/social/style-gradient-link-preview.js +8 -8
- package/dist/templates/social/style-gradient-milestone.js +8 -8
- package/dist/templates/social/style-gradient-testimonial.js +8 -8
- package/dist/templates/social/style-maximal-announcement.js +8 -8
- package/dist/templates/social/style-maximal-link-preview.js +8 -8
- package/dist/templates/social/style-maximal-milestone.js +8 -8
- package/dist/templates/social/style-maximal-testimonial.js +8 -8
- package/dist/templates/social/style-pastel-announcement.js +8 -8
- package/dist/templates/social/style-pastel-link-preview.js +8 -8
- package/dist/templates/social/style-pastel-milestone.js +8 -8
- package/dist/templates/social/style-pastel-testimonial.js +8 -8
- package/dist/templates/social/style-sketch-announcement.js +8 -8
- package/dist/templates/social/style-sketch-link-preview.js +8 -8
- package/dist/templates/social/style-sketch-milestone.js +8 -8
- package/dist/templates/social/style-sketch-testimonial.js +8 -8
- package/dist/templates/social/style-swiss-announcement.js +8 -8
- package/dist/templates/social/style-swiss-link-preview.js +8 -8
- package/dist/templates/social/style-swiss-milestone.js +8 -8
- package/dist/templates/social/style-swiss-testimonial.js +8 -8
- package/dist/templates/social/style-terminal-announcement.js +8 -8
- package/dist/templates/social/style-terminal-link-preview.js +8 -8
- package/dist/templates/social/style-terminal-milestone.js +8 -8
- package/dist/templates/social/style-terminal-testimonial.js +8 -8
- package/dist/templates/social/summer-heatwave-link-preview.js +8 -8
- package/dist/templates/social/summer-heatwave-lolly-post.js +8 -8
- package/dist/templates/social/tour-tickets-june-ads.js +8 -8
- package/dist/templates/social/tour-tickets-tide-ads.js +8 -8
- package/dist/templates/social/tour-tickets-wreck-ads.js +8 -8
- package/dist/templates/social/transit-map-link-preview.js +8 -8
- package/dist/templates/social/ukiyo-e-link-preview.js +8 -8
- package/dist/templates/social/ukiyo-e-spike-post.js +8 -8
- package/dist/templates/social/valentines-link-preview.js +8 -8
- package/dist/templates/social/valentines-poem-post.js +8 -8
- package/dist/templates/social/vaporwave-feature-drop.js +8 -8
- package/dist/templates/social/vaporwave-link-preview.js +8 -8
- package/dist/templates/social/winter-cosy-link-preview.js +8 -8
- package/dist/templates/social/winter-holidays-link-preview.js +8 -8
- package/dist/templates/social/winter-holidays-thanks-post.js +8 -8
- package/dist/templates/stings/line-reveal.js +8 -8
- package/dist/templates/stings/sting-blur.js +8 -8
- package/dist/templates/stings/sting-pop.js +8 -8
- package/dist/templates/stings/sting-rise.js +8 -8
- package/dist/templates/stings/sting-shimmer.js +8 -8
- package/dist/templates/stings/word-swap.js +8 -8
- package/dist/templates/text/stat-counter.js +8 -8
- package/dist/templates/text/word-quote.js +8 -8
- package/dist/templates/themes/april-fools-shared.js +7 -7
- package/dist/templates/themes/april-fools.js +15 -15
- package/dist/templates/themes/arcade.js +12 -12
- package/dist/templates/themes/art-deco.js +14 -14
- package/dist/templates/themes/autumn-harvest.js +14 -14
- package/dist/templates/themes/back-to-school.js +14 -14
- package/dist/templates/themes/bauhaus.js +13 -13
- package/dist/templates/themes/black-friday-coupons.js +15 -15
- package/dist/templates/themes/black-friday-neon.js +15 -15
- package/dist/templates/themes/black-friday-scratch.js +15 -15
- package/dist/templates/themes/black-friday-ticker.js +15 -15
- package/dist/templates/themes/black-friday.js +14 -14
- package/dist/templates/themes/blueprint.js +13 -13
- package/dist/templates/themes/broadsheet.js +15 -15
- package/dist/templates/themes/claymation.js +14 -14
- package/dist/templates/themes/comic-book.js +22 -22
- package/dist/templates/themes/comic-hero-art.js +20 -0
- package/dist/templates/themes/comic-hero-page.js +67 -0
- package/dist/templates/themes/comic-hero.js +97 -1
- package/dist/templates/themes/comic-indie.js +8 -8
- package/dist/templates/themes/cyberpunk.js +14 -14
- package/dist/templates/themes/departure-board.js +13 -13
- package/dist/templates/themes/diwali.js +14 -14
- package/dist/templates/themes/earth-day.js +14 -14
- package/dist/templates/themes/everyday.js +15 -15
- package/dist/templates/themes/festival-presale-electronic-kit.js +10 -10
- package/dist/templates/themes/festival-presale-family-a-shared.js +9 -9
- package/dist/templates/themes/festival-presale-family-a.js +34 -34
- package/dist/templates/themes/festival-presale-family-b-shared.js +9 -9
- package/dist/templates/themes/festival-presale-family-b.js +34 -34
- package/dist/templates/themes/festival-presale-family-kit.js +10 -10
- package/dist/templates/themes/festival-presale-folk-kit.js +10 -10
- package/dist/templates/themes/festival-presale-food-kit.js +10 -10
- package/dist/templates/themes/festival-presale-jazz-kit.js +10 -10
- package/dist/templates/themes/festival-presale-street-kit.js +10 -10
- package/dist/templates/themes/festival-presale.js +14 -14
- package/dist/templates/themes/gothic.js +14 -14
- package/dist/templates/themes/halloween.js +14 -14
- package/dist/templates/themes/holidays.js +31 -31
- package/dist/templates/themes/index.js +434 -420
- package/dist/templates/themes/lunar-new-year.js +14 -14
- package/dist/templates/themes/machined-shared.js +7 -7
- package/dist/templates/themes/machined.js +14 -14
- package/dist/templates/themes/manuscript.js +14 -14
- package/dist/templates/themes/memories.js +18 -18
- package/dist/templates/themes/new-year.js +14 -14
- package/dist/templates/themes/noir.js +14 -14
- package/dist/templates/themes/printshop-shared.js +6 -6
- package/dist/templates/themes/printshop.js +33 -33
- package/dist/templates/themes/psychedelic.js +14 -14
- package/dist/templates/themes/riso-zine.js +14 -14
- package/dist/templates/themes/singles-day.js +14 -14
- package/dist/templates/themes/solarpunk.js +14 -14
- package/dist/templates/themes/space-opera.js +14 -14
- package/dist/templates/themes/spring-bloom.js +14 -14
- package/dist/templates/themes/studio.js +13 -13
- package/dist/templates/themes/summer-heatwave.js +14 -14
- package/dist/templates/themes/tour-tickets.js +33 -33
- package/dist/templates/themes/transit-map.js +14 -14
- package/dist/templates/themes/ukiyo-e.js +14 -14
- package/dist/templates/themes/valentines.js +14 -14
- package/dist/templates/themes/vaporwave.js +13 -13
- package/dist/templates/themes/winter-cosy.js +14 -14
- package/dist/templates/themes/winter-holidays.js +14 -14
- package/dist/templates/video/youtube-chapter.js +8 -8
- package/dist/templates/video/youtube-end-screen.js +8 -8
- package/dist/templates/video/youtube-intro.js +8 -8
- package/dist/templates/video/youtube-subscribe.js +8 -8
- package/dist/templates/web/app-ui.js +7 -7
- package/dist/templates/web/april-fools-landing.js +10 -10
- package/dist/templates/web/arcade-landing.js +8 -8
- package/dist/templates/web/art-deco-landing.js +8 -8
- package/dist/templates/web/autumn-harvest-landing.js +8 -8
- package/dist/templates/web/back-to-school-landing.js +8 -8
- package/dist/templates/web/bauhaus-landing.js +8 -8
- package/dist/templates/web/black-friday-coupons-landing.js +8 -8
- package/dist/templates/web/black-friday-landing.js +8 -8
- package/dist/templates/web/black-friday-neon-landing.js +8 -8
- package/dist/templates/web/black-friday-scratch-landing.js +8 -8
- package/dist/templates/web/black-friday-ticker-landing.js +8 -8
- package/dist/templates/web/blog-post.js +8 -8
- package/dist/templates/web/blueprint-landing.js +8 -8
- package/dist/templates/web/broadsheet-landing.js +8 -8
- package/dist/templates/web/claymation-landing.js +8 -8
- package/dist/templates/web/comic-book-landing.js +8 -8
- package/dist/templates/web/coming-soon-page.js +9 -9
- package/dist/templates/web/coming-soon.js +8 -8
- package/dist/templates/web/contact.js +9 -9
- package/dist/templates/web/cyberpunk-landing.js +8 -8
- package/dist/templates/web/daybreak-app.js +10 -10
- package/dist/templates/web/departure-board-download.js +8 -8
- package/dist/templates/web/diwali-landing.js +8 -8
- package/dist/templates/web/earth-day-landing.js +8 -8
- package/dist/templates/web/everyday-cafe.js +8 -8
- package/dist/templates/web/everyday-hotel.js +8 -8
- package/dist/templates/web/everyday-wedding.js +9 -9
- package/dist/templates/web/festival-presale-electronic.js +8 -8
- package/dist/templates/web/festival-presale-family.js +8 -8
- package/dist/templates/web/festival-presale-folk.js +8 -8
- package/dist/templates/web/festival-presale-food.js +8 -8
- package/dist/templates/web/festival-presale-jazz.js +8 -8
- package/dist/templates/web/festival-presale-street.js +8 -8
- package/dist/templates/web/forms.js +6 -6
- package/dist/templates/web/gothic-landing.js +8 -8
- package/dist/templates/web/halloween-landing.js +8 -8
- package/dist/templates/web/hero-animated.js +8 -8
- package/dist/templates/web/kindling-app.js +10 -10
- package/dist/templates/web/launch-waitlist.js +9 -9
- package/dist/templates/web/lunar-new-year-landing.js +8 -8
- package/dist/templates/web/machined-hero.js +10 -10
- package/dist/templates/web/manuscript-landing.js +8 -8
- package/dist/templates/web/marginalia-app.js +10 -10
- package/dist/templates/web/new-year-landing.js +8 -8
- package/dist/templates/web/noir-landing.js +8 -8
- package/dist/templates/web/page-404.js +8 -8
- package/dist/templates/web/portfolio-architect.js +9 -9
- package/dist/templates/web/portfolio-card-deck.js +9 -9
- package/dist/templates/web/portfolio-case-folio.js +9 -9
- package/dist/templates/web/portfolio-cube-gallery.js +9 -9
- package/dist/templates/web/portfolio-depth-tunnel.js +9 -9
- package/dist/templates/web/portfolio-editorial.js +9 -9
- package/dist/templates/web/portfolio-flip-wall.js +9 -9
- package/dist/templates/web/portfolio-index-list.js +9 -9
- package/dist/templates/web/portfolio-photographer.js +9 -9
- package/dist/templates/web/portfolio-reel-carousel.js +9 -9
- package/dist/templates/web/portfolio-shared.js +6 -6
- package/dist/templates/web/portfolio-sketchbook.js +9 -9
- package/dist/templates/web/portfolio-studio-grid.js +9 -9
- package/dist/templates/web/portfolio.js +8 -8
- package/dist/templates/web/portfolios.js +21 -21
- package/dist/templates/web/potluck-app.js +10 -10
- package/dist/templates/web/pricing-toggle.js +8 -8
- package/dist/templates/web/product-page.js +8 -8
- package/dist/templates/web/psychedelic-landing.js +8 -8
- package/dist/templates/web/riso-zine-landing.js +8 -8
- package/dist/templates/web/rsvp-invite.js +9 -9
- package/dist/templates/web/saas-ai-landing.js +8 -8
- package/dist/templates/web/saas-app-download.js +8 -8
- package/dist/templates/web/saas-case-study.js +8 -8
- package/dist/templates/web/saas-changelog.js +8 -8
- package/dist/templates/web/saas-comparison.js +8 -8
- package/dist/templates/web/saas-data-landing.js +8 -8
- package/dist/templates/web/saas-dev-landing.js +8 -8
- package/dist/templates/web/saas-indie-landing.js +8 -8
- package/dist/templates/web/saas-integrations.js +8 -8
- package/dist/templates/web/saas-security.js +8 -8
- package/dist/templates/web/saas-signup.js +8 -8
- package/dist/templates/web/saas-waitlist.js +8 -8
- package/dist/templates/web/saffron-app.js +10 -10
- package/dist/templates/web/shop-bloom.js +10 -10
- package/dist/templates/web/shop-circuit.js +10 -10
- package/dist/templates/web/shop-fieldwork.js +10 -10
- package/dist/templates/web/shop-greenhouse.js +10 -10
- package/dist/templates/web/shop-kiln.js +10 -10
- package/dist/templates/web/shop-marginalia.js +10 -10
- package/dist/templates/web/shop-ode.js +10 -10
- package/dist/templates/web/shop-shared.js +7 -7
- package/dist/templates/web/shop-static.js +10 -10
- package/dist/templates/web/shop-summit.js +10 -10
- package/dist/templates/web/shops.js +19 -19
- package/dist/templates/web/singles-day-landing.js +8 -8
- package/dist/templates/web/solarpunk-landing.js +8 -8
- package/dist/templates/web/space-opera-landing.js +8 -8
- package/dist/templates/web/spring-bloom-landing.js +8 -8
- package/dist/templates/web/studio-careers.js +8 -8
- package/dist/templates/web/style-bento-landing.js +8 -8
- package/dist/templates/web/style-bento-pricing.js +8 -8
- package/dist/templates/web/style-brutalist-landing.js +8 -8
- package/dist/templates/web/style-brutalist-pricing.js +8 -8
- package/dist/templates/web/style-dark-landing.js +8 -8
- package/dist/templates/web/style-dark-pricing.js +8 -8
- package/dist/templates/web/style-data-landing.js +8 -8
- package/dist/templates/web/style-data-pricing.js +8 -8
- package/dist/templates/web/style-editorial-landing.js +8 -8
- package/dist/templates/web/style-editorial-pricing.js +8 -8
- package/dist/templates/web/style-glass-landing.js +8 -8
- package/dist/templates/web/style-glass-pricing.js +8 -8
- package/dist/templates/web/style-gradient-landing.js +8 -8
- package/dist/templates/web/style-gradient-pricing.js +8 -8
- package/dist/templates/web/style-maximal-landing.js +8 -8
- package/dist/templates/web/style-maximal-pricing.js +8 -8
- package/dist/templates/web/style-pastel-landing.js +8 -8
- package/dist/templates/web/style-pastel-pricing.js +8 -8
- package/dist/templates/web/style-sketch-landing.js +8 -8
- package/dist/templates/web/style-sketch-pricing.js +8 -8
- package/dist/templates/web/style-swiss-landing.js +8 -8
- package/dist/templates/web/style-swiss-pricing.js +8 -8
- package/dist/templates/web/style-terminal-landing.js +8 -8
- package/dist/templates/web/style-terminal-pricing.js +8 -8
- package/dist/templates/web/summer-heatwave-landing.js +8 -8
- package/dist/templates/web/tempo-app.js +10 -10
- package/dist/templates/web/tour-tickets-june-landing.js +8 -8
- package/dist/templates/web/tour-tickets-tide-landing.js +8 -8
- package/dist/templates/web/tour-tickets-wreck-landing.js +8 -8
- package/dist/templates/web/transit-map-landing.js +8 -8
- package/dist/templates/web/ukiyo-e-landing.js +8 -8
- package/dist/templates/web/valentines-landing.js +8 -8
- package/dist/templates/web/vaporwave-landing.js +8 -8
- package/dist/templates/web/wayfarer-app.js +10 -10
- package/dist/templates/web/winter-cosy-landing.js +8 -8
- package/dist/templates/web/winter-holidays-landing.js +8 -8
- package/package.json +1 -1
- package/src/templates/print/comic-hero-cascade.ts +42 -0
- package/src/templates/print/comic-hero-chase.ts +42 -0
- package/src/templates/print/comic-hero-cover-modern.ts +34 -0
- package/src/templates/print/comic-hero-grid-break.ts +39 -0
- package/src/templates/print/comic-hero-interrogation.ts +41 -0
- package/src/templates/print/comic-hero-issue.ts +44 -0
- package/src/templates/print/comic-hero-manga-action.ts +38 -0
- package/src/templates/print/comic-hero-nested.ts +39 -0
- package/src/templates/print/comic-hero-overlap.ts +40 -0
- package/src/templates/print/comic-hero-parallel.ts +40 -0
- package/src/templates/print/comic-hero-pinup.ts +29 -0
- package/src/templates/print/comic-hero-widescreen.ts +35 -0
- package/src/templates/themes/comic-hero-art.ts +66 -0
- package/src/templates/themes/comic-hero-page.ts +326 -0
- package/src/templates/themes/comic-hero.ts +15 -2
- package/src/templates/themes/comic-indie.ts +51 -6
- package/types/templates/src/print/comic-hero-cascade.d.ts +5 -0
- package/types/templates/src/print/comic-hero-chase.d.ts +5 -0
- package/types/templates/src/print/comic-hero-cover-modern.d.ts +5 -0
- package/types/templates/src/print/comic-hero-grid-break.d.ts +5 -0
- package/types/templates/src/print/comic-hero-interrogation.d.ts +5 -0
- package/types/templates/src/print/comic-hero-issue.d.ts +2 -0
- package/types/templates/src/print/comic-hero-manga-action.d.ts +5 -0
- package/types/templates/src/print/comic-hero-nested.d.ts +5 -0
- package/types/templates/src/print/comic-hero-overlap.d.ts +5 -0
- package/types/templates/src/print/comic-hero-parallel.d.ts +5 -0
- package/types/templates/src/print/comic-hero-pinup.d.ts +5 -0
- package/types/templates/src/print/comic-hero-widescreen.d.ts +5 -0
- package/types/templates/src/themes/comic-hero-art.d.ts +318 -0
- package/types/templates/src/themes/comic-hero-page.d.ts +177 -0
- package/dist/chunks/agent-I67C3L25.js +0 -44
- package/dist/chunks/api-XSKQO3D7.js +0 -29
- package/dist/chunks/build-MXLGAHTQ.js +0 -59
- package/dist/chunks/builtin-FVINDQGX.js +0 -115
- package/dist/chunks/check-template-OT4C3B3V.js +0 -2277
- package/dist/chunks/chunk-22ALSAUF.js +0 -320
- package/dist/chunks/chunk-22BD4G3N.js +0 -23
- package/dist/chunks/chunk-255JUHQN.js +0 -738
- package/dist/chunks/chunk-26NYEW7U.js +0 -206
- package/dist/chunks/chunk-26TKS4S5.js +0 -94
- package/dist/chunks/chunk-272AJ6UC.js +0 -177
- package/dist/chunks/chunk-2AHLXHUM.js +0 -47
- package/dist/chunks/chunk-2AMD2WSX.js +0 -104
- package/dist/chunks/chunk-2B7LNTA5.js +0 -170
- package/dist/chunks/chunk-2DPZ5Z5H.js +0 -60
- package/dist/chunks/chunk-2FDNFAJ3.js +0 -170
- package/dist/chunks/chunk-2FGNJ4RL.js +0 -75
- package/dist/chunks/chunk-2GHHXYWJ.js +0 -187
- package/dist/chunks/chunk-2HR2MOFY.js +0 -88
- package/dist/chunks/chunk-2IOAJTVY.js +0 -89
- package/dist/chunks/chunk-2JLOWPDO.js +0 -255
- package/dist/chunks/chunk-2KLLLGJV.js +0 -60
- package/dist/chunks/chunk-2M3C7SJI.js +0 -147
- package/dist/chunks/chunk-2NDC42O2.js +0 -122
- package/dist/chunks/chunk-2O56UAP2.js +0 -73
- package/dist/chunks/chunk-2PYGZUEN.js +0 -232
- package/dist/chunks/chunk-2QSR37YI.js +0 -173
- package/dist/chunks/chunk-2UNKDIN3.js +0 -93
- package/dist/chunks/chunk-2YQ5O73Q.js +0 -224
- package/dist/chunks/chunk-2YVC6XTZ.js +0 -47
- package/dist/chunks/chunk-2ZLV775A.js +0 -298
- package/dist/chunks/chunk-2ZMOXL2T.js +0 -206
- package/dist/chunks/chunk-32DIQSFW.js +0 -102
- package/dist/chunks/chunk-32YK2WKX.js +0 -121
- package/dist/chunks/chunk-33BBMYOA.js +0 -196
- package/dist/chunks/chunk-36NHEW4G.js +0 -62
- package/dist/chunks/chunk-36OMZN2K.js +0 -139
- package/dist/chunks/chunk-37EN4AN6.js +0 -115
- package/dist/chunks/chunk-3BEYE2JO.js +0 -106
- package/dist/chunks/chunk-3E6KGWGF.js +0 -183
- package/dist/chunks/chunk-3EHNPIQT.js +0 -97
- package/dist/chunks/chunk-3ERQONC4.js +0 -152
- package/dist/chunks/chunk-3GROBTLG.js +0 -169
- package/dist/chunks/chunk-3HS2BHRT.js +0 -97
- package/dist/chunks/chunk-3KWUH3R3.js +0 -198
- package/dist/chunks/chunk-3LUFEE5M.js +0 -45
- package/dist/chunks/chunk-3MEQKW6I.js +0 -95
- package/dist/chunks/chunk-3NK4DDCZ.js +0 -215
- package/dist/chunks/chunk-3QCZYXZZ.js +0 -94
- package/dist/chunks/chunk-3QE57IDQ.js +0 -77
- package/dist/chunks/chunk-3QM22WL7.js +0 -49
- package/dist/chunks/chunk-3QQJIOTB.js +0 -262
- package/dist/chunks/chunk-3QRHKZKU.js +0 -497
- package/dist/chunks/chunk-3RT3CFL5.js +0 -195
- package/dist/chunks/chunk-3SFUI5UE.js +0 -36
- package/dist/chunks/chunk-3UWNAE5R.js +0 -209
- package/dist/chunks/chunk-3Y3BXWHH.js +0 -78
- package/dist/chunks/chunk-3YWQKJBC.js +0 -415
- package/dist/chunks/chunk-3YX4MMBD.js +0 -235
- package/dist/chunks/chunk-3ZY43WNP.js +0 -140
- package/dist/chunks/chunk-43AOMJX6.js +0 -396
- package/dist/chunks/chunk-44IVI5DJ.js +0 -326
- package/dist/chunks/chunk-45QICAHN.js +0 -180
- package/dist/chunks/chunk-4BPKUDBB.js +0 -129
- package/dist/chunks/chunk-4CYGEWXL.js +0 -23
- package/dist/chunks/chunk-4EPTPP5E.js +0 -93
- package/dist/chunks/chunk-4FDG4732.js +0 -225
- package/dist/chunks/chunk-4KAZVZFI.js +0 -174
- package/dist/chunks/chunk-4KJ6JXKZ.js +0 -95
- package/dist/chunks/chunk-4MKU3YJW.js +0 -278
- package/dist/chunks/chunk-4N7IKZHK.js +0 -79
- package/dist/chunks/chunk-4Q6IPKHH.js +0 -100
- package/dist/chunks/chunk-4UDU3LKV.js +0 -23
- package/dist/chunks/chunk-4VK6BP4B.js +0 -86
- package/dist/chunks/chunk-4WCN2SFF.js +0 -187
- package/dist/chunks/chunk-4WH454OB.js +0 -240
- package/dist/chunks/chunk-4XUDD2QY.js +0 -105
- package/dist/chunks/chunk-4XVLYGW4.js +0 -23
- package/dist/chunks/chunk-4ZCPJJVW.js +0 -94
- package/dist/chunks/chunk-4ZKXZRDC.js +0 -176
- package/dist/chunks/chunk-4ZWVLNWJ.js +0 -126
- package/dist/chunks/chunk-54SYFOSU.js +0 -120
- package/dist/chunks/chunk-56TDYGPU.js +0 -120
- package/dist/chunks/chunk-572QBW5I.js +0 -43
- package/dist/chunks/chunk-57BPIIH2.js +0 -607
- package/dist/chunks/chunk-5A3PRCRQ.js +0 -44
- package/dist/chunks/chunk-5ARBBS5L.js +0 -263
- package/dist/chunks/chunk-5BZFDLJ4.js +0 -100
- package/dist/chunks/chunk-5CK5HD6C.js +0 -283
- package/dist/chunks/chunk-5EDFBGOY.js +0 -33
- package/dist/chunks/chunk-5F36HTT3.js +0 -199
- package/dist/chunks/chunk-5HE7FX36.js +0 -66
- package/dist/chunks/chunk-5IPYX6VN.js +0 -165
- package/dist/chunks/chunk-5J4HX34C.js +0 -146
- package/dist/chunks/chunk-5K22XDQY.js +0 -115
- package/dist/chunks/chunk-5LX67OGK.js +0 -108
- package/dist/chunks/chunk-5P6B4D7H.js +0 -140
- package/dist/chunks/chunk-5QX572FE.js +0 -260
- package/dist/chunks/chunk-5RRLWHRR.js +0 -170
- package/dist/chunks/chunk-5UKXMYXO.js +0 -149
- package/dist/chunks/chunk-5WGLK2H5.js +0 -138
- package/dist/chunks/chunk-5X4YUKC4.js +0 -139
- package/dist/chunks/chunk-5XX3DRCS.js +0 -109
- package/dist/chunks/chunk-5ZDMK5WM.js +0 -284
- package/dist/chunks/chunk-5ZXGYEXW.js +0 -244
- package/dist/chunks/chunk-62LXN5HJ.js +0 -217
- package/dist/chunks/chunk-62MCZLXS.js +0 -70
- package/dist/chunks/chunk-63QVET22.js +0 -399
- package/dist/chunks/chunk-65NQ7TUS.js +0 -49
- package/dist/chunks/chunk-67G5BJT6.js +0 -33
- package/dist/chunks/chunk-6A74VDRQ.js +0 -55
- package/dist/chunks/chunk-6AB5B2ZJ.js +0 -1403
- package/dist/chunks/chunk-6AEB24YZ.js +0 -45
- package/dist/chunks/chunk-6BMMHDIR.js +0 -133
- package/dist/chunks/chunk-6CVPVVA3.js +0 -23
- package/dist/chunks/chunk-6ER5O6QK.js +0 -78
- package/dist/chunks/chunk-6I7CJJS2.js +0 -11335
- package/dist/chunks/chunk-6IPEOPJN.js +0 -23
- package/dist/chunks/chunk-6K7HYKRD.js +0 -107
- package/dist/chunks/chunk-6KUHSJ75.js +0 -84
- package/dist/chunks/chunk-6LMN4O2K.js +0 -210
- package/dist/chunks/chunk-6MQXGMKX.js +0 -728
- package/dist/chunks/chunk-6NPE5ABC.js +0 -201
- package/dist/chunks/chunk-6NTZRNPY.js +0 -276
- package/dist/chunks/chunk-6Q5QWTLH.js +0 -83
- package/dist/chunks/chunk-6QUHFY76.js +0 -95
- package/dist/chunks/chunk-6RZ4273P.js +0 -471
- package/dist/chunks/chunk-6UH7PVU4.js +0 -163
- package/dist/chunks/chunk-6WQXPIWB.js +0 -117
- package/dist/chunks/chunk-6YGEJAYA.js +0 -114
- package/dist/chunks/chunk-73FP3ZKL.js +0 -36
- package/dist/chunks/chunk-74UTAFMU.js +0 -239
- package/dist/chunks/chunk-75B6LDBT.js +0 -23
- package/dist/chunks/chunk-75C3QUPK.js +0 -23
- package/dist/chunks/chunk-75EZYRDM.js +0 -128
- package/dist/chunks/chunk-767QNG4R.js +0 -168
- package/dist/chunks/chunk-7BGQYMOU.js +0 -155
- package/dist/chunks/chunk-7C3MDH7N.js +0 -84
- package/dist/chunks/chunk-7DBVFWSZ.js +0 -178
- package/dist/chunks/chunk-7GIYVCVA.js +0 -119
- package/dist/chunks/chunk-7HHUIXQZ.js +0 -136
- package/dist/chunks/chunk-7HLD2F6B.js +0 -178
- package/dist/chunks/chunk-7LPIFDZY.js +0 -261
- package/dist/chunks/chunk-7LUOHZN5.js +0 -33
- package/dist/chunks/chunk-7MJBTQQ5.js +0 -45
- package/dist/chunks/chunk-7MKYLNPP.js +0 -77
- package/dist/chunks/chunk-7MSW2WTI.js +0 -81
- package/dist/chunks/chunk-7MZYUT7F.js +0 -125
- package/dist/chunks/chunk-7O35XSME.js +0 -38
- package/dist/chunks/chunk-7PFG5FCQ.js +0 -97
- package/dist/chunks/chunk-7PT5TCDM.js +0 -112
- package/dist/chunks/chunk-7RBFZ2ZP.js +0 -53
- package/dist/chunks/chunk-7SK2OFM6.js +0 -86
- package/dist/chunks/chunk-7VKTLJ5X.js +0 -131
- package/dist/chunks/chunk-7W4H3I72.js +0 -33
- package/dist/chunks/chunk-7XRJDJIW.js +0 -108
- package/dist/chunks/chunk-7YCOM3UJ.js +0 -231
- package/dist/chunks/chunk-7YLMIL5P.js +0 -30
- package/dist/chunks/chunk-A2OAK4IM.js +0 -163
- package/dist/chunks/chunk-A5PHXOJB.js +0 -279
- package/dist/chunks/chunk-A7ILKATD.js +0 -135
- package/dist/chunks/chunk-A7QAGGS4.js +0 -55
- package/dist/chunks/chunk-A7ZOEBUT.js +0 -360
- package/dist/chunks/chunk-ABZKL6BW.js +0 -10192
- package/dist/chunks/chunk-ACQWJWJ6.js +0 -247
- package/dist/chunks/chunk-ADLBFJRD.js +0 -78
- package/dist/chunks/chunk-AE6ROZA4.js +0 -146
- package/dist/chunks/chunk-AKQOIYDF.js +0 -162
- package/dist/chunks/chunk-ALCEPQPQ.js +0 -33
- package/dist/chunks/chunk-ALFYZCGL.js +0 -204
- package/dist/chunks/chunk-ALLNKI5W.js +0 -83
- package/dist/chunks/chunk-ANID7MDG.js +0 -179
- package/dist/chunks/chunk-APRQRJ32.js +0 -85
- package/dist/chunks/chunk-AQJM76ZK.js +0 -23
- package/dist/chunks/chunk-ARXMCHG5.js +0 -558
- package/dist/chunks/chunk-ASHATMUU.js +0 -209
- package/dist/chunks/chunk-ASTGMJ5S.js +0 -242
- package/dist/chunks/chunk-ASZTMVL4.js +0 -193
- package/dist/chunks/chunk-ATEECJLR.js +0 -18
- package/dist/chunks/chunk-AULEK4AI.js +0 -327
- package/dist/chunks/chunk-AZDLHEAY.js +0 -42
- package/dist/chunks/chunk-AZGDLYQU.js +0 -90
- package/dist/chunks/chunk-AZTLLNXL.js +0 -105
- package/dist/chunks/chunk-AZY4L6GX.js +0 -163
- package/dist/chunks/chunk-B2QYPRG7.js +0 -96
- package/dist/chunks/chunk-B3F5EMKD.js +0 -200
- package/dist/chunks/chunk-B3LQAWFG.js +0 -317
- package/dist/chunks/chunk-BAJLG3G7.js +0 -135
- package/dist/chunks/chunk-BBFJWGSR.js +0 -135
- package/dist/chunks/chunk-BBUAYMM7.js +0 -175
- package/dist/chunks/chunk-BCFEHRVZ.js +0 -48
- package/dist/chunks/chunk-BERGAM7M.js +0 -33
- package/dist/chunks/chunk-BF7ZBREJ.js +0 -133
- package/dist/chunks/chunk-BGR5WOWO.js +0 -208
- package/dist/chunks/chunk-BH5M54GQ.js +0 -84
- package/dist/chunks/chunk-BHCYTL37.js +0 -1417
- package/dist/chunks/chunk-BJ27GCLG.js +0 -220
- package/dist/chunks/chunk-BJDFFBBE.js +0 -157
- package/dist/chunks/chunk-BK6ZSMMB.js +0 -120
- package/dist/chunks/chunk-BL3RXZCH.js +0 -177
- package/dist/chunks/chunk-BPEDJCYE.js +0 -106
- package/dist/chunks/chunk-BSST5JMJ.js +0 -103
- package/dist/chunks/chunk-BUI4OOJG.js +0 -206
- package/dist/chunks/chunk-BUUZVJW2.js +0 -77
- package/dist/chunks/chunk-BUYHCJC4.js +0 -79
- package/dist/chunks/chunk-BWH22TJF.js +0 -209
- package/dist/chunks/chunk-BYKNZYGS.js +0 -777
- package/dist/chunks/chunk-BYWHR3JB.js +0 -113
- package/dist/chunks/chunk-C2MKR4VE.js +0 -136
- package/dist/chunks/chunk-C2STPWQC.js +0 -33
- package/dist/chunks/chunk-C4ZXGRKL.js +0 -105
- package/dist/chunks/chunk-C5GEQLQR.js +0 -221
- package/dist/chunks/chunk-C5PWCDGO.js +0 -178
- package/dist/chunks/chunk-C5UUYHI5.js +0 -174
- package/dist/chunks/chunk-C7UYXQXR.js +0 -72
- package/dist/chunks/chunk-CBRROZXI.js +0 -122
- package/dist/chunks/chunk-CBYUSQER.js +0 -151
- package/dist/chunks/chunk-CGAXX3QH.js +0 -95
- package/dist/chunks/chunk-CH2QQK6H.js +0 -197
- package/dist/chunks/chunk-CJZKCIYK.js +0 -366
- package/dist/chunks/chunk-CMK27OOU.js +0 -105
- package/dist/chunks/chunk-CNBIXJOG.js +0 -141
- package/dist/chunks/chunk-COIMIZHZ.js +0 -100
- package/dist/chunks/chunk-CPPJLF4P.js +0 -194
- package/dist/chunks/chunk-CR7DI7JZ.js +0 -99
- package/dist/chunks/chunk-CRMY4SRE.js +0 -172
- package/dist/chunks/chunk-CRTCG6CP.js +0 -283
- package/dist/chunks/chunk-CRTINW44.js +0 -137
- package/dist/chunks/chunk-CSMRSUJK.js +0 -221
- package/dist/chunks/chunk-CUK3ZDE3.js +0 -161
- package/dist/chunks/chunk-CV2RYQFE.js +0 -351
- package/dist/chunks/chunk-CVE65WWQ.js +0 -101
- package/dist/chunks/chunk-CWESIIOG.js +0 -242
- package/dist/chunks/chunk-CYYBMHWK.js +0 -198
- package/dist/chunks/chunk-CZVHIHKI.js +0 -503
- package/dist/chunks/chunk-D4GCZWGB.js +0 -165
- package/dist/chunks/chunk-D5NRDMOB.js +0 -122
- package/dist/chunks/chunk-D64CUY4W.js +0 -146
- package/dist/chunks/chunk-D6Y42WMC.js +0 -61
- package/dist/chunks/chunk-D7HK6GFW.js +0 -111
- package/dist/chunks/chunk-D7TGZGSI.js +0 -78
- package/dist/chunks/chunk-DCUOY7TT.js +0 -106
- package/dist/chunks/chunk-DEV4X3BC.js +0 -97
- package/dist/chunks/chunk-DFYCFAOB.js +0 -80
- package/dist/chunks/chunk-DHTO4K5U.js +0 -153
- package/dist/chunks/chunk-DIY7FEQG.js +0 -115
- package/dist/chunks/chunk-DKPNU7SW.js +0 -139
- package/dist/chunks/chunk-DMSQYZ5Y.js +0 -45
- package/dist/chunks/chunk-DMUD43OC.js +0 -23
- package/dist/chunks/chunk-DQKOYN5G.js +0 -304
- package/dist/chunks/chunk-DSGAOQAD.js +0 -23
- package/dist/chunks/chunk-DSSR7MTS.js +0 -230
- package/dist/chunks/chunk-DTPYNJKK.js +0 -122
- package/dist/chunks/chunk-DXOXBACU.js +0 -45
- package/dist/chunks/chunk-DXQIA62X.js +0 -301
- package/dist/chunks/chunk-DYSDUGRK.js +0 -36
- package/dist/chunks/chunk-DZ4GEQYH.js +0 -98
- package/dist/chunks/chunk-E2F5OVMQ.js +0 -23
- package/dist/chunks/chunk-E2NMG7YP.js +0 -228
- package/dist/chunks/chunk-E3JYQMGH.js +0 -110
- package/dist/chunks/chunk-E3KRGKDY.js +0 -36
- package/dist/chunks/chunk-E3O4RS7P.js +0 -181
- package/dist/chunks/chunk-E5MBDUQU.js +0 -109
- package/dist/chunks/chunk-E6BP7WGV.js +0 -202
- package/dist/chunks/chunk-E7SCSHJA.js +0 -23
- package/dist/chunks/chunk-EC5HOSB7.js +0 -118
- package/dist/chunks/chunk-EER3ZIOO.js +0 -140
- package/dist/chunks/chunk-EGCMRVUM.js +0 -307
- package/dist/chunks/chunk-EHFO2H5F.js +0 -94
- package/dist/chunks/chunk-EHJCAVRM.js +0 -362
- package/dist/chunks/chunk-EIUEZJNL.js +0 -100
- package/dist/chunks/chunk-EJDOCTLY.js +0 -80
- package/dist/chunks/chunk-EKHOAL4B.js +0 -362
- package/dist/chunks/chunk-EKZSZ5CT.js +0 -84
- package/dist/chunks/chunk-EL56LS7Z.js +0 -147
- package/dist/chunks/chunk-EM7RKDEK.js +0 -33
- package/dist/chunks/chunk-EMTPEXVV.js +0 -84
- package/dist/chunks/chunk-EMWDTGCM.js +0 -382
- package/dist/chunks/chunk-EO73IDCD.js +0 -287
- package/dist/chunks/chunk-EPSM6MKE.js +0 -30
- package/dist/chunks/chunk-EQ2YYW66.js +0 -23
- package/dist/chunks/chunk-ER4Q2QMN.js +0 -141
- package/dist/chunks/chunk-ESSLVDNS.js +0 -23
- package/dist/chunks/chunk-ET5REO6W.js +0 -251
- package/dist/chunks/chunk-ETTVYJPY.js +0 -45
- package/dist/chunks/chunk-EUZTWLRL.js +0 -177
- package/dist/chunks/chunk-EXLFMMUW.js +0 -358
- package/dist/chunks/chunk-F3IGXNV5.js +0 -320
- package/dist/chunks/chunk-F5VBU7WB.js +0 -172
- package/dist/chunks/chunk-F62VB44V.js +0 -1574
- package/dist/chunks/chunk-F7TQZRXN.js +0 -260
- package/dist/chunks/chunk-FCMZFHSX.js +0 -212
- package/dist/chunks/chunk-FCWRBIH6.js +0 -190
- package/dist/chunks/chunk-FDM6CL6Z.js +0 -41
- package/dist/chunks/chunk-FDMERRYK.js +0 -23
- package/dist/chunks/chunk-FE4O5TBQ.js +0 -231
- package/dist/chunks/chunk-FENNER3R.js +0 -176
- package/dist/chunks/chunk-FF2FRKH4.js +0 -143
- package/dist/chunks/chunk-FHJ6A5V7.js +0 -23
- package/dist/chunks/chunk-FK374Y3N.js +0 -23
- package/dist/chunks/chunk-FKJSFVK7.js +0 -92
- package/dist/chunks/chunk-FOE5HJTW.js +0 -165
- package/dist/chunks/chunk-FPDWP3W2.js +0 -50
- package/dist/chunks/chunk-FXIYE3XH.js +0 -49
- package/dist/chunks/chunk-FYQOQLVX.js +0 -77
- package/dist/chunks/chunk-G4GSFWV2.js +0 -33
- package/dist/chunks/chunk-G4P3BVBA.js +0 -93
- package/dist/chunks/chunk-G5TVYUEE.js +0 -156
- package/dist/chunks/chunk-G6OWNTWC.js +0 -23
- package/dist/chunks/chunk-G6WNVRXL.js +0 -81
- package/dist/chunks/chunk-G7F6PELH.js +0 -164
- package/dist/chunks/chunk-GCHL6JA4.js +0 -161
- package/dist/chunks/chunk-GE4TE7OJ.js +0 -23
- package/dist/chunks/chunk-GENWMOHR.js +0 -133
- package/dist/chunks/chunk-GEWFQS3X.js +0 -378
- package/dist/chunks/chunk-GGCHSKEM.js +0 -589
- package/dist/chunks/chunk-GGZMQ2JO.js +0 -33
- package/dist/chunks/chunk-GIDRMUUA.js +0 -151
- package/dist/chunks/chunk-GLERM3QE.js +0 -106
- package/dist/chunks/chunk-GMPIEAOG.js +0 -47
- package/dist/chunks/chunk-GO5ORWTY.js +0 -23
- package/dist/chunks/chunk-GPCMAEBF.js +0 -213
- package/dist/chunks/chunk-GS3ALS3C.js +0 -33
- package/dist/chunks/chunk-GTFBPQJR.js +0 -150
- package/dist/chunks/chunk-GTJYLWWE.js +0 -162
- package/dist/chunks/chunk-GWYBKSDL.js +0 -79
- package/dist/chunks/chunk-GX4O3SUN.js +0 -50
- package/dist/chunks/chunk-GXEQEHRJ.js +0 -10429
- package/dist/chunks/chunk-GZU76YJC.js +0 -179
- package/dist/chunks/chunk-H2JGFX3F.js +0 -82
- package/dist/chunks/chunk-H2Y2CMZE.js +0 -180
- package/dist/chunks/chunk-H4V24KD5.js +0 -23
- package/dist/chunks/chunk-H55BQLBV.js +0 -117
- package/dist/chunks/chunk-H7UQ6CTI.js +0 -77
- package/dist/chunks/chunk-HCOUABRF.js +0 -117
- package/dist/chunks/chunk-HCXYYJSM.js +0 -86
- package/dist/chunks/chunk-HEZSKMEP.js +0 -81
- package/dist/chunks/chunk-HGZTE7C4.js +0 -97
- package/dist/chunks/chunk-HHTMXVVT.js +0 -80
- package/dist/chunks/chunk-HJ73PDCK.js +0 -331
- package/dist/chunks/chunk-HO5PSVKU.js +0 -390
- package/dist/chunks/chunk-HOQMBKGN.js +0 -141
- package/dist/chunks/chunk-HQ2AXG33.js +0 -50
- package/dist/chunks/chunk-HQ7UIUGU.js +0 -115
- package/dist/chunks/chunk-HSGF2K4Y.js +0 -346
- package/dist/chunks/chunk-HTVSQBBR.js +0 -150
- package/dist/chunks/chunk-HUINZZSB.js +0 -152
- package/dist/chunks/chunk-HVC4EKRO.js +0 -90
- package/dist/chunks/chunk-HVR7N4ZR.js +0 -217
- package/dist/chunks/chunk-HVUC3FN7.js +0 -71
- package/dist/chunks/chunk-HZ67CFKH.js +0 -127
- package/dist/chunks/chunk-HZCDW57H.js +0 -33
- package/dist/chunks/chunk-HZGSIGPY.js +0 -100
- package/dist/chunks/chunk-I226Y4C5.js +0 -290
- package/dist/chunks/chunk-I22VCHUD.js +0 -191
- package/dist/chunks/chunk-I2RKRJRQ.js +0 -65
- package/dist/chunks/chunk-I3JBWNPW.js +0 -163
- package/dist/chunks/chunk-I4JKPVBJ.js +0 -177
- package/dist/chunks/chunk-I4WV5NEV.js +0 -33
- package/dist/chunks/chunk-I5ESLHYD.js +0 -23
- package/dist/chunks/chunk-I6SREAEO.js +0 -282
- package/dist/chunks/chunk-I77QGBZH.js +0 -142
- package/dist/chunks/chunk-ICHXXVUX.js +0 -33
- package/dist/chunks/chunk-IEOFIPGG.js +0 -112
- package/dist/chunks/chunk-IFEHXEH2.js +0 -1469
- package/dist/chunks/chunk-IFJPXT6P.js +0 -85
- package/dist/chunks/chunk-IGAOBELB.js +0 -305
- package/dist/chunks/chunk-IGV2RXXQ.js +0 -130
- package/dist/chunks/chunk-IIKPSUOK.js +0 -23
- package/dist/chunks/chunk-IJPF4OZ3.js +0 -66
- package/dist/chunks/chunk-IKBZNK6S.js +0 -165
- package/dist/chunks/chunk-IKT6SPCK.js +0 -130
- package/dist/chunks/chunk-IMEWW7TO.js +0 -78
- package/dist/chunks/chunk-IMWJ35FM.js +0 -144
- package/dist/chunks/chunk-IOBTRCHX.js +0 -220
- package/dist/chunks/chunk-IOIU4EUN.js +0 -192
- package/dist/chunks/chunk-IPAUCESI.js +0 -106
- package/dist/chunks/chunk-IRC4VJR6.js +0 -184
- package/dist/chunks/chunk-ISEHSZWF.js +0 -119
- package/dist/chunks/chunk-IVHFYNDB.js +0 -1309
- package/dist/chunks/chunk-IVK44RA5.js +0 -160
- package/dist/chunks/chunk-IVPTIX2T.js +0 -121
- package/dist/chunks/chunk-IXATRTYD.js +0 -266
- package/dist/chunks/chunk-IXYFMMDG.js +0 -108
- package/dist/chunks/chunk-IYF7OK2Z.js +0 -226
- package/dist/chunks/chunk-IZFT6WHR.js +0 -45
- package/dist/chunks/chunk-J2W2Y5CR.js +0 -95
- package/dist/chunks/chunk-J2XMHCOF.js +0 -80
- package/dist/chunks/chunk-J65CSSWM.js +0 -33
- package/dist/chunks/chunk-J6MFS3QB.js +0 -112
- package/dist/chunks/chunk-J7T5S6NA.js +0 -198
- package/dist/chunks/chunk-JHKF3USC.js +0 -363
- package/dist/chunks/chunk-JHKJOUUH.js +0 -59
- package/dist/chunks/chunk-JK27YT4C.js +0 -191
- package/dist/chunks/chunk-JKVRU2E2.js +0 -23
- package/dist/chunks/chunk-JMZVP5RZ.js +0 -95
- package/dist/chunks/chunk-JP6XISBO.js +0 -33
- package/dist/chunks/chunk-JSJBFBSH.js +0 -161
- package/dist/chunks/chunk-JV35MPM6.js +0 -151
- package/dist/chunks/chunk-JVISUTBJ.js +0 -195
- package/dist/chunks/chunk-JVZCIUHF.js +0 -36
- package/dist/chunks/chunk-JWP3EQP3.js +0 -23
- package/dist/chunks/chunk-JWWSURT3.js +0 -109
- package/dist/chunks/chunk-JXNWBXL5.js +0 -45
- package/dist/chunks/chunk-JYJDNJW6.js +0 -84
- package/dist/chunks/chunk-JYZIRBUJ.js +0 -337
- package/dist/chunks/chunk-K4RXT6XM.js +0 -76
- package/dist/chunks/chunk-K4UVU44T.js +0 -209
- package/dist/chunks/chunk-K5ZFL46S.js +0 -261
- package/dist/chunks/chunk-K6COXUA7.js +0 -91
- package/dist/chunks/chunk-KACSRFTX.js +0 -88
- package/dist/chunks/chunk-KCJJME3Z.js +0 -131
- package/dist/chunks/chunk-KDIAXVCT.js +0 -234
- package/dist/chunks/chunk-KEOCSWWH.js +0 -237
- package/dist/chunks/chunk-KG4YRLEE.js +0 -33
- package/dist/chunks/chunk-KGLEN7IR.js +0 -124
- package/dist/chunks/chunk-KH3VEZ5S.js +0 -111
- package/dist/chunks/chunk-KIPFMXT7.js +0 -163
- package/dist/chunks/chunk-KJYXT3SY.js +0 -110
- package/dist/chunks/chunk-KKELZHNW.js +0 -137
- package/dist/chunks/chunk-KMSKWB3P.js +0 -104
- package/dist/chunks/chunk-KNUSCXCL.js +0 -23
- package/dist/chunks/chunk-KP6JVMS5.js +0 -201
- package/dist/chunks/chunk-KPNARS52.js +0 -196
- package/dist/chunks/chunk-KQCYICKH.js +0 -54
- package/dist/chunks/chunk-KQFFHFMT.js +0 -94
- package/dist/chunks/chunk-KR6X4XRJ.js +0 -257
- package/dist/chunks/chunk-KTDUAQDZ.js +0 -78
- package/dist/chunks/chunk-KTKCNIDL.js +0 -252
- package/dist/chunks/chunk-KTOFG2ZU.js +0 -169
- package/dist/chunks/chunk-KTTVBM22.js +0 -77
- package/dist/chunks/chunk-KU3ESWYT.js +0 -107
- package/dist/chunks/chunk-KXZ47IY3.js +0 -68
- package/dist/chunks/chunk-KY2G26M7.js +0 -146
- package/dist/chunks/chunk-KY3DNVDJ.js +0 -33
- package/dist/chunks/chunk-KYEZPAWM.js +0 -214
- package/dist/chunks/chunk-KYHSYJNZ.js +0 -157
- package/dist/chunks/chunk-KYJGZOMT.js +0 -87
- package/dist/chunks/chunk-KZ3FLV7V.js +0 -23
- package/dist/chunks/chunk-KZ5D4UYS.js +0 -33
- package/dist/chunks/chunk-L36QNGUH.js +0 -366
- package/dist/chunks/chunk-L374J6OJ.js +0 -142
- package/dist/chunks/chunk-L54AIU2H.js +0 -218
- package/dist/chunks/chunk-LBHCFPLS.js +0 -462
- package/dist/chunks/chunk-LCVTXAMG.js +0 -100
- package/dist/chunks/chunk-LCVZ7WQR.js +0 -324
- package/dist/chunks/chunk-LDMLHS7Z.js +0 -92
- package/dist/chunks/chunk-LE76E2QH.js +0 -146
- package/dist/chunks/chunk-LEBE3NA6.js +0 -39
- package/dist/chunks/chunk-LFICIIA2.js +0 -163
- package/dist/chunks/chunk-LGCH5MYA.js +0 -126
- package/dist/chunks/chunk-LGECGENG.js +0 -131
- package/dist/chunks/chunk-LGUWKDUU.js +0 -170
- package/dist/chunks/chunk-LITEJCXB.js +0 -102
- package/dist/chunks/chunk-LKKQUSLN.js +0 -77
- package/dist/chunks/chunk-LN5IT5X3.js +0 -123
- package/dist/chunks/chunk-LNCOOQ5A.js +0 -181
- package/dist/chunks/chunk-LPBCRTSJ.js +0 -361
- package/dist/chunks/chunk-LQ52336V.js +0 -112
- package/dist/chunks/chunk-LRLXGUGI.js +0 -375
- package/dist/chunks/chunk-LRTDGCTH.js +0 -86
- package/dist/chunks/chunk-LSBWB5AF.js +0 -266
- package/dist/chunks/chunk-LUB6HYK4.js +0 -36
- package/dist/chunks/chunk-LUIP6W47.js +0 -197
- package/dist/chunks/chunk-LWYHZ42M.js +0 -125
- package/dist/chunks/chunk-LWZ34GVL.js +0 -98
- package/dist/chunks/chunk-LYIO5FIK.js +0 -98
- package/dist/chunks/chunk-LYNRXL5Y.js +0 -222
- package/dist/chunks/chunk-LYY4MC3U.js +0 -200
- package/dist/chunks/chunk-M2YCBFFL.js +0 -171
- package/dist/chunks/chunk-M3C4KVO4.js +0 -283
- package/dist/chunks/chunk-M3HB5J55.js +0 -344
- package/dist/chunks/chunk-M3JUL5R6.js +0 -71
- package/dist/chunks/chunk-M67PMDSR.js +0 -23
- package/dist/chunks/chunk-M75KV3IR.js +0 -277
- package/dist/chunks/chunk-MAFLNEMC.js +0 -209
- package/dist/chunks/chunk-MALIZUXA.js +0 -30
- package/dist/chunks/chunk-MC7AKFNW.js +0 -101
- package/dist/chunks/chunk-MCGYHMDT.js +0 -80
- package/dist/chunks/chunk-MCRYUK7R.js +0 -149
- package/dist/chunks/chunk-MD2UCEEA.js +0 -23
- package/dist/chunks/chunk-MD7YQEUI.js +0 -160
- package/dist/chunks/chunk-MFNFPRBF.js +0 -303
- package/dist/chunks/chunk-MHFTT634.js +0 -200
- package/dist/chunks/chunk-MHMEKZLL.js +0 -147
- package/dist/chunks/chunk-MIL6SFFD.js +0 -63
- package/dist/chunks/chunk-MJW24FUI.js +0 -169
- package/dist/chunks/chunk-MKAK6GOQ.js +0 -106
- package/dist/chunks/chunk-MLT4Y25H.js +0 -145
- package/dist/chunks/chunk-MPSB35QC.js +0 -36
- package/dist/chunks/chunk-MSHPJMZH.js +0 -111
- package/dist/chunks/chunk-MSPNPI73.js +0 -23
- package/dist/chunks/chunk-MSVXUE37.js +0 -161
- package/dist/chunks/chunk-MUB3U7J4.js +0 -149
- package/dist/chunks/chunk-MULT2WV2.js +0 -129
- package/dist/chunks/chunk-MWR2PW5Z.js +0 -564
- package/dist/chunks/chunk-MX6XBEB5.js +0 -91
- package/dist/chunks/chunk-MYP7PMFU.js +0 -261
- package/dist/chunks/chunk-MZFY26YI.js +0 -128
- package/dist/chunks/chunk-MZV6LKQK.js +0 -87
- package/dist/chunks/chunk-N2Q5S5AV.js +0 -345
- package/dist/chunks/chunk-N5DAHF7G.js +0 -103
- package/dist/chunks/chunk-N5KKULX6.js +0 -130
- package/dist/chunks/chunk-N63PUNE6.js +0 -261
- package/dist/chunks/chunk-N6YG3UHJ.js +0 -330
- package/dist/chunks/chunk-NA6AM2KB.js +0 -255
- package/dist/chunks/chunk-NAYYEK3U.js +0 -166
- package/dist/chunks/chunk-NBRSUPAS.js +0 -82
- package/dist/chunks/chunk-NCAK6G4F.js +0 -155
- package/dist/chunks/chunk-NFDVSIX2.js +0 -135
- package/dist/chunks/chunk-NIVVWPY5.js +0 -122
- package/dist/chunks/chunk-NJ2CK76F.js +0 -152
- package/dist/chunks/chunk-NK4V7T7C.js +0 -44
- package/dist/chunks/chunk-NMVAT5LP.js +0 -153
- package/dist/chunks/chunk-NNJ5IL6F.js +0 -103
- package/dist/chunks/chunk-NO2KLXDN.js +0 -108
- package/dist/chunks/chunk-NO5I5DK6.js +0 -169
- package/dist/chunks/chunk-NOTVCCCZ.js +0 -95
- package/dist/chunks/chunk-NPU7XOSG.js +0 -134
- package/dist/chunks/chunk-NQWVWH6D.js +0 -192
- package/dist/chunks/chunk-NRRHQ45H.js +0 -333
- package/dist/chunks/chunk-NSMERQO5.js +0 -78
- package/dist/chunks/chunk-NUE5VHJJ.js +0 -85
- package/dist/chunks/chunk-NUMUHHSN.js +0 -304
- package/dist/chunks/chunk-NWVBBARQ.js +0 -174
- package/dist/chunks/chunk-NZ43YYIG.js +0 -198
- package/dist/chunks/chunk-O2DQTWQA.js +0 -225
- package/dist/chunks/chunk-O3P273KX.js +0 -102
- package/dist/chunks/chunk-O4SOTKYL.js +0 -106
- package/dist/chunks/chunk-O5QPDWKV.js +0 -155
- package/dist/chunks/chunk-O7QR4CCZ.js +0 -23
- package/dist/chunks/chunk-OBPLDTUG.js +0 -55
- package/dist/chunks/chunk-OCP3CWBO.js +0 -108
- package/dist/chunks/chunk-OE4C6NC4.js +0 -145
- package/dist/chunks/chunk-OELSK4BF.js +0 -163
- package/dist/chunks/chunk-OFJD37NI.js +0 -105
- package/dist/chunks/chunk-OFO62YOH.js +0 -93
- package/dist/chunks/chunk-OGW6NFNI.js +0 -84
- package/dist/chunks/chunk-OH76T4CD.js +0 -97
- package/dist/chunks/chunk-OHZCHKLB.js +0 -157
- package/dist/chunks/chunk-OIRAGGZC.js +0 -136
- package/dist/chunks/chunk-OJ67EV4X.js +0 -189
- package/dist/chunks/chunk-OJODT4HL.js +0 -89
- package/dist/chunks/chunk-OMI4QH7F.js +0 -167
- package/dist/chunks/chunk-ONITBBLZ.js +0 -188
- package/dist/chunks/chunk-ONYSYKHQ.js +0 -119
- package/dist/chunks/chunk-OTFHMRHC.js +0 -152
- package/dist/chunks/chunk-OTTMTFU2.js +0 -173
- package/dist/chunks/chunk-OUO7SQNU.js +0 -105
- package/dist/chunks/chunk-OVDEQJP5.js +0 -139
- package/dist/chunks/chunk-OVSGK7IY.js +0 -115
- package/dist/chunks/chunk-OVUP6VYS.js +0 -305
- package/dist/chunks/chunk-OYK2PAKI.js +0 -156
- package/dist/chunks/chunk-OZJHS2NZ.js +0 -194
- package/dist/chunks/chunk-P4IAALK4.js +0 -23
- package/dist/chunks/chunk-P67IUC7G.js +0 -114
- package/dist/chunks/chunk-P6Z7STTM.js +0 -138
- package/dist/chunks/chunk-P7LCH4Q6.js +0 -149
- package/dist/chunks/chunk-P7TKHYFC.js +0 -153
- package/dist/chunks/chunk-PAN5CNMO.js +0 -23
- package/dist/chunks/chunk-PDJG3YOD.js +0 -92
- package/dist/chunks/chunk-PDREYVZ2.js +0 -336
- package/dist/chunks/chunk-PE2FC6BK.js +0 -152
- package/dist/chunks/chunk-PEXNP4OA.js +0 -130
- package/dist/chunks/chunk-PGB6AYOO.js +0 -238
- package/dist/chunks/chunk-PGSAB6S7.js +0 -110
- package/dist/chunks/chunk-PH4PSVET.js +0 -49
- package/dist/chunks/chunk-PIMXF247.js +0 -97
- package/dist/chunks/chunk-PMCXZPL3.js +0 -23
- package/dist/chunks/chunk-PNNPJM6F.js +0 -184
- package/dist/chunks/chunk-POG6FWNL.js +0 -215
- package/dist/chunks/chunk-PPC4HAMK.js +0 -23
- package/dist/chunks/chunk-PQ6IYRZK.js +0 -190
- package/dist/chunks/chunk-PQSZUHFC.js +0 -164
- package/dist/chunks/chunk-PSAGFU6Q.js +0 -198
- package/dist/chunks/chunk-PSW5LLKN.js +0 -33
- package/dist/chunks/chunk-PUIDRRR7.js +0 -218
- package/dist/chunks/chunk-PULX7G2V.js +0 -150
- package/dist/chunks/chunk-PVWIQ6SQ.js +0 -1266
- package/dist/chunks/chunk-PW7LN5MB.js +0 -87
- package/dist/chunks/chunk-PWJR5JRM.js +0 -36
- package/dist/chunks/chunk-PWNKCLF4.js +0 -127
- package/dist/chunks/chunk-PWYAIBIR.js +0 -304
- package/dist/chunks/chunk-Q22MANIU.js +0 -33
- package/dist/chunks/chunk-Q2KH47RA.js +0 -50
- package/dist/chunks/chunk-Q4ZDKXV5.js +0 -358
- package/dist/chunks/chunk-QB6JDZWT.js +0 -145
- package/dist/chunks/chunk-QCCQJ3VN.js +0 -170
- package/dist/chunks/chunk-QDRVOSDM.js +0 -77
- package/dist/chunks/chunk-QDVRQQCR.js +0 -121
- package/dist/chunks/chunk-QDVVYZKG.js +0 -100
- package/dist/chunks/chunk-QDYIYJXQ.js +0 -327
- package/dist/chunks/chunk-QEYMOYNX.js +0 -157
- package/dist/chunks/chunk-QHACWC4V.js +0 -103
- package/dist/chunks/chunk-QJPI4RLE.js +0 -187
- package/dist/chunks/chunk-QKPUTRVY.js +0 -41
- package/dist/chunks/chunk-QM6CDRKA.js +0 -66
- package/dist/chunks/chunk-QMUYUQRL.js +0 -123
- package/dist/chunks/chunk-QOMSXQJO.js +0 -1649
- package/dist/chunks/chunk-QS43QY44.js +0 -153
- package/dist/chunks/chunk-QSUBBUZY.js +0 -317
- package/dist/chunks/chunk-QSZXMQ56.js +0 -112
- package/dist/chunks/chunk-QTYYWPKH.js +0 -103
- package/dist/chunks/chunk-QUCDETJC.js +0 -159
- package/dist/chunks/chunk-QUSUWMPS.js +0 -159
- package/dist/chunks/chunk-QV7EQUQ7.js +0 -150
- package/dist/chunks/chunk-QWSMSXWV.js +0 -112
- package/dist/chunks/chunk-QXFSOKML.js +0 -23
- package/dist/chunks/chunk-QYNFD2NR.js +0 -60
- package/dist/chunks/chunk-R5OCZZID.js +0 -23
- package/dist/chunks/chunk-R5W6AP2S.js +0 -85
- package/dist/chunks/chunk-R6L6STWF.js +0 -45
- package/dist/chunks/chunk-R7IA7347.js +0 -11806
- package/dist/chunks/chunk-R7S3L5ZJ.js +0 -297
- package/dist/chunks/chunk-RAAJK3RZ.js +0 -877
- package/dist/chunks/chunk-RACVHFLU.js +0 -45
- package/dist/chunks/chunk-RBYESNG7.js +0 -119
- package/dist/chunks/chunk-RC3OQNV6.js +0 -94
- package/dist/chunks/chunk-RCCFOHQ4.js +0 -262
- package/dist/chunks/chunk-RDZB6H4S.js +0 -45
- package/dist/chunks/chunk-RF33G5J5.js +0 -213
- package/dist/chunks/chunk-RF7O6FK7.js +0 -632
- package/dist/chunks/chunk-RFOXHCIZ.js +0 -166
- package/dist/chunks/chunk-RFVDSBM4.js +0 -33
- package/dist/chunks/chunk-RGT5727A.js +0 -226
- package/dist/chunks/chunk-RJK7KNJF.js +0 -342
- package/dist/chunks/chunk-RKT3OM3G.js +0 -249
- package/dist/chunks/chunk-RM3DBF6C.js +0 -887
- package/dist/chunks/chunk-RM4VJZIY.js +0 -156
- package/dist/chunks/chunk-RMLMWFRT.js +0 -207
- package/dist/chunks/chunk-RQLZ3BGN.js +0 -45
- package/dist/chunks/chunk-RRHTIONH.js +0 -215
- package/dist/chunks/chunk-RRQHJSLU.js +0 -171
- package/dist/chunks/chunk-RRY426DS.js +0 -272
- package/dist/chunks/chunk-RXKFDGF2.js +0 -33
- package/dist/chunks/chunk-RZCO53GG.js +0 -52
- package/dist/chunks/chunk-S2BWFFVS.js +0 -80
- package/dist/chunks/chunk-S2EBZ6KM.js +0 -83
- package/dist/chunks/chunk-S2QZMHP2.js +0 -82
- package/dist/chunks/chunk-S2WM7CRJ.js +0 -45
- package/dist/chunks/chunk-S4543ASB.js +0 -172
- package/dist/chunks/chunk-S5AULSFY.js +0 -91
- package/dist/chunks/chunk-S5MG4DUD.js +0 -41
- package/dist/chunks/chunk-S6WCVASK.js +0 -87
- package/dist/chunks/chunk-SBJOCARO.js +0 -45
- package/dist/chunks/chunk-SF2SNRNO.js +0 -42
- package/dist/chunks/chunk-SFLOYGZM.js +0 -265
- package/dist/chunks/chunk-SGFDUNC3.js +0 -250
- package/dist/chunks/chunk-SICC453W.js +0 -89
- package/dist/chunks/chunk-SJDH7JPW.js +0 -96
- package/dist/chunks/chunk-SJPVRA7I.js +0 -90
- package/dist/chunks/chunk-SMJFCFGV.js +0 -55
- package/dist/chunks/chunk-SN56BMQH.js +0 -97
- package/dist/chunks/chunk-SN67AXU6.js +0 -315
- package/dist/chunks/chunk-SNFANI5V.js +0 -53
- package/dist/chunks/chunk-SOQBVZP6.js +0 -898
- package/dist/chunks/chunk-SQ3MOXRL.js +0 -273
- package/dist/chunks/chunk-SQ3WTKC2.js +0 -176
- package/dist/chunks/chunk-SRCJJKEA.js +0 -39
- package/dist/chunks/chunk-SVSI5F2F.js +0 -256
- package/dist/chunks/chunk-SXODBYHA.js +0 -159
- package/dist/chunks/chunk-SXVB5MIT.js +0 -117
- package/dist/chunks/chunk-SY2GM6S3.js +0 -90
- package/dist/chunks/chunk-SYDC3H44.js +0 -80
- package/dist/chunks/chunk-SZDHWUSZ.js +0 -88
- package/dist/chunks/chunk-SZVD5QFY.js +0 -147
- package/dist/chunks/chunk-T2AJV6J4.js +0 -83
- package/dist/chunks/chunk-T2GRHO6M.js +0 -102
- package/dist/chunks/chunk-T2HFBZWM.js +0 -311
- package/dist/chunks/chunk-T4YZFUXN.js +0 -182
- package/dist/chunks/chunk-T5F2YJOJ.js +0 -331
- package/dist/chunks/chunk-TAMGKTIJ.js +0 -164
- package/dist/chunks/chunk-TBRGDJL6.js +0 -86
- package/dist/chunks/chunk-TD6LAQBO.js +0 -154
- package/dist/chunks/chunk-TEIPZDLW.js +0 -204
- package/dist/chunks/chunk-TEUJMM3B.js +0 -368
- package/dist/chunks/chunk-TEWXAWB6.js +0 -192
- package/dist/chunks/chunk-TGURMGHP.js +0 -91
- package/dist/chunks/chunk-THNNRTQ4.js +0 -166
- package/dist/chunks/chunk-THZSTFMN.js +0 -106
- package/dist/chunks/chunk-TIEJDUHL.js +0 -185
- package/dist/chunks/chunk-TJNFPG2A.js +0 -102
- package/dist/chunks/chunk-TKASS4LY.js +0 -95
- package/dist/chunks/chunk-TLAPGPSX.js +0 -260
- package/dist/chunks/chunk-TPT2A73K.js +0 -258
- package/dist/chunks/chunk-TSBX7X3G.js +0 -303
- package/dist/chunks/chunk-TT6YVT4Z.js +0 -93
- package/dist/chunks/chunk-TXTZF6W4.js +0 -149
- package/dist/chunks/chunk-TXXICASN.js +0 -329
- package/dist/chunks/chunk-TYTX3B73.js +0 -81
- package/dist/chunks/chunk-TZVAAKYL.js +0 -46
- package/dist/chunks/chunk-TZZHMBDD.js +0 -154
- package/dist/chunks/chunk-U2ENIHUX.js +0 -76
- package/dist/chunks/chunk-U3ZT2VD4.js +0 -94
- package/dist/chunks/chunk-U4AAN7BS.js +0 -23
- package/dist/chunks/chunk-U5MC3QA3.js +0 -183
- package/dist/chunks/chunk-U6BJEIQP.js +0 -267
- package/dist/chunks/chunk-U6VHI6OH.js +0 -101
- package/dist/chunks/chunk-UBSY7DFF.js +0 -173
- package/dist/chunks/chunk-UCXVXXBG.js +0 -172
- package/dist/chunks/chunk-UDOGV76Y.js +0 -106
- package/dist/chunks/chunk-UDY3MLAZ.js +0 -124
- package/dist/chunks/chunk-UFH65KZI.js +0 -1393
- package/dist/chunks/chunk-UGVUKMNG.js +0 -274
- package/dist/chunks/chunk-UH5VSGA3.js +0 -1136
- package/dist/chunks/chunk-UIM2XET6.js +0 -260
- package/dist/chunks/chunk-UIWXIRRZ.js +0 -118
- package/dist/chunks/chunk-UIZNOAO4.js +0 -48
- package/dist/chunks/chunk-UNPW3UXC.js +0 -135
- package/dist/chunks/chunk-UPIAYACD.js +0 -53
- package/dist/chunks/chunk-UTRLOULL.js +0 -217
- package/dist/chunks/chunk-UTYCK652.js +0 -79
- package/dist/chunks/chunk-UWK4DADA.js +0 -147
- package/dist/chunks/chunk-UXC2PNCO.js +0 -55
- package/dist/chunks/chunk-UY6BUNGT.js +0 -33
- package/dist/chunks/chunk-V3N4OUHQ.js +0 -122
- package/dist/chunks/chunk-V534BI5Q.js +0 -287
- package/dist/chunks/chunk-V5CPTZAT.js +0 -100
- package/dist/chunks/chunk-V5NM5KTY.js +0 -128
- package/dist/chunks/chunk-VAIY2FY2.js +0 -134
- package/dist/chunks/chunk-VBM24EFF.js +0 -231
- package/dist/chunks/chunk-VC5RMGXC.js +0 -336
- package/dist/chunks/chunk-VCB4BNWN.js +0 -108
- package/dist/chunks/chunk-VE54GRQH.js +0 -250
- package/dist/chunks/chunk-VETXB6RM.js +0 -104
- package/dist/chunks/chunk-VFLJOFZZ.js +0 -424
- package/dist/chunks/chunk-VFM5V4Z3.js +0 -270
- package/dist/chunks/chunk-VGLBO4A4.js +0 -182
- package/dist/chunks/chunk-VGNHEFKY.js +0 -204
- package/dist/chunks/chunk-VI7W23WM.js +0 -277
- package/dist/chunks/chunk-VL7X2H7P.js +0 -172
- package/dist/chunks/chunk-VLU6TVTF.js +0 -51
- package/dist/chunks/chunk-VMTYPIUG.js +0 -104
- package/dist/chunks/chunk-VNB7JR2V.js +0 -123
- package/dist/chunks/chunk-VNGFYR6A.js +0 -391
- package/dist/chunks/chunk-VOBV7WFT.js +0 -95
- package/dist/chunks/chunk-VQHRKZZU.js +0 -100
- package/dist/chunks/chunk-VQR65YRR.js +0 -166
- package/dist/chunks/chunk-VQY2PF6O.js +0 -81
- package/dist/chunks/chunk-VS53WX7T.js +0 -101
- package/dist/chunks/chunk-VSWLSC6K.js +0 -282
- package/dist/chunks/chunk-VUFFLAWP.js +0 -172
- package/dist/chunks/chunk-VVBG4WNN.js +0 -199
- package/dist/chunks/chunk-VVS4ZQ7X.js +0 -130
- package/dist/chunks/chunk-VWDADJHC.js +0 -33
- package/dist/chunks/chunk-W3OKPZPN.js +0 -167
- package/dist/chunks/chunk-W5AHXXYK.js +0 -166
- package/dist/chunks/chunk-W5HDW2AI.js +0 -196
- package/dist/chunks/chunk-W5NLTWEG.js +0 -237
- package/dist/chunks/chunk-W5TKEG6G.js +0 -304
- package/dist/chunks/chunk-W5ZC3QXY.js +0 -1845
- package/dist/chunks/chunk-WBH7WTHV.js +0 -574
- package/dist/chunks/chunk-WC3H5XP3.js +0 -28
- package/dist/chunks/chunk-WCXDLKUP.js +0 -182
- package/dist/chunks/chunk-WD6LCUHI.js +0 -299
- package/dist/chunks/chunk-WDKS4Q4B.js +0 -122
- package/dist/chunks/chunk-WE74VG7G.js +0 -118
- package/dist/chunks/chunk-WHF5HVYJ.js +0 -145
- package/dist/chunks/chunk-WHXLS6MF.js +0 -33
- package/dist/chunks/chunk-WLVQE4VL.js +0 -158
- package/dist/chunks/chunk-WNJ43MJD.js +0 -312
- package/dist/chunks/chunk-WNKXEZVI.js +0 -151
- package/dist/chunks/chunk-WNMHTHQM.js +0 -358
- package/dist/chunks/chunk-WOWR2TVH.js +0 -298
- package/dist/chunks/chunk-WP4RX7T5.js +0 -138
- package/dist/chunks/chunk-WQVTBBXL.js +0 -251
- package/dist/chunks/chunk-WS76KAYF.js +0 -175
- package/dist/chunks/chunk-WSK2MP5Y.js +0 -197
- package/dist/chunks/chunk-WSZSCRCI.js +0 -141
- package/dist/chunks/chunk-WTQRSL65.js +0 -112
- package/dist/chunks/chunk-WUC767YJ.js +0 -127
- package/dist/chunks/chunk-WVAK7JCP.js +0 -270
- package/dist/chunks/chunk-WVJYGVES.js +0 -74
- package/dist/chunks/chunk-WVVD77J4.js +0 -179
- package/dist/chunks/chunk-WW3KMK5Z.js +0 -123
- package/dist/chunks/chunk-WYZMJSR4.js +0 -160
- package/dist/chunks/chunk-WZ7EJCW2.js +0 -104
- package/dist/chunks/chunk-X33WAEUJ.js +0 -118
- package/dist/chunks/chunk-X5AQIDE2.js +0 -156
- package/dist/chunks/chunk-XC5TR25N.js +0 -152
- package/dist/chunks/chunk-XDT4ITUB.js +0 -163
- package/dist/chunks/chunk-XG3ALKG2.js +0 -158
- package/dist/chunks/chunk-XGSBQUHC.js +0 -74
- package/dist/chunks/chunk-XH32W53D.js +0 -1307
- package/dist/chunks/chunk-XHNAOFWV.js +0 -33
- package/dist/chunks/chunk-XHRZ4JOB.js +0 -23
- package/dist/chunks/chunk-XHZQA2HB.js +0 -180
- package/dist/chunks/chunk-XI5FUBAQ.js +0 -651
- package/dist/chunks/chunk-XIJMDBQB.js +0 -79
- package/dist/chunks/chunk-XJ4IKSN2.js +0 -113
- package/dist/chunks/chunk-XJBGYILD.js +0 -99
- package/dist/chunks/chunk-XJZSDXEC.js +0 -97
- package/dist/chunks/chunk-XKFTMZO2.js +0 -155
- package/dist/chunks/chunk-XLB3EWLY.js +0 -97
- package/dist/chunks/chunk-XLUSU53J.js +0 -98
- package/dist/chunks/chunk-XM2W7YBY.js +0 -99
- package/dist/chunks/chunk-XMJESQG2.js +0 -224
- package/dist/chunks/chunk-XMRTIOEO.js +0 -33
- package/dist/chunks/chunk-XO3557DI.js +0 -152
- package/dist/chunks/chunk-XOZLK6DW.js +0 -92
- package/dist/chunks/chunk-XPRN7ZFT.js +0 -52
- package/dist/chunks/chunk-XQAZUIM3.js +0 -181
- package/dist/chunks/chunk-XT4Y4FUS.js +0 -685
- package/dist/chunks/chunk-XXGOWEOO.js +0 -120
- package/dist/chunks/chunk-Y3GGO4EO.js +0 -115
- package/dist/chunks/chunk-Y4BK2LWG.js +0 -197
- package/dist/chunks/chunk-YADEW6PA.js +0 -181
- package/dist/chunks/chunk-YBACAFRG.js +0 -23
- package/dist/chunks/chunk-YCVBO72U.js +0 -118
- package/dist/chunks/chunk-YCXTJOJ6.js +0 -33
- package/dist/chunks/chunk-YEOMPUVM.js +0 -146
- package/dist/chunks/chunk-YFYAVWRX.js +0 -261
- package/dist/chunks/chunk-YGLCZ3EJ.js +0 -260
- package/dist/chunks/chunk-YJYFWREA.js +0 -214
- package/dist/chunks/chunk-YKEIA4B6.js +0 -123
- package/dist/chunks/chunk-YL7UR6SQ.js +0 -133
- package/dist/chunks/chunk-YOG7PRIS.js +0 -90
- package/dist/chunks/chunk-YOKIINRU.js +0 -83
- package/dist/chunks/chunk-YPSMFMFY.js +0 -104
- package/dist/chunks/chunk-YPZFSYYF.js +0 -168
- package/dist/chunks/chunk-YQ6JTOJG.js +0 -293
- package/dist/chunks/chunk-YRVOJVEO.js +0 -75
- package/dist/chunks/chunk-YUVKXDSB.js +0 -93
- package/dist/chunks/chunk-YWGC64QH.js +0 -111
- package/dist/chunks/chunk-YWQVS363.js +0 -290
- package/dist/chunks/chunk-YZQV7SR5.js +0 -84
- package/dist/chunks/chunk-Z46HEUNT.js +0 -33
- package/dist/chunks/chunk-Z4UGPWPI.js +0 -229
- package/dist/chunks/chunk-Z7ALEKAF.js +0 -140
- package/dist/chunks/chunk-Z7PLG4EE.js +0 -90
- package/dist/chunks/chunk-ZAKBXIDX.js +0 -122
- package/dist/chunks/chunk-ZB5RFYBX.js +0 -115
- package/dist/chunks/chunk-ZBSFNT54.js +0 -102
- package/dist/chunks/chunk-ZDWOPCKZ.js +0 -150
- package/dist/chunks/chunk-ZEHR6WTK.js +0 -45
- package/dist/chunks/chunk-ZEJJPLNB.js +0 -69
- package/dist/chunks/chunk-ZEL3PEG5.js +0 -109
- package/dist/chunks/chunk-ZGDIS5FL.js +0 -97
- package/dist/chunks/chunk-ZHTEK2CJ.js +0 -33
- package/dist/chunks/chunk-ZJ5UMYA7.js +0 -161
- package/dist/chunks/chunk-ZJC7TOOQ.js +0 -41
- package/dist/chunks/chunk-ZJE4RQO2.js +0 -110
- package/dist/chunks/chunk-ZJH3RABK.js +0 -315
- package/dist/chunks/chunk-ZK7LWL3A.js +0 -626
- package/dist/chunks/chunk-ZMFWL54Z.js +0 -224
- package/dist/chunks/chunk-ZNCWMUQW.js +0 -87
- package/dist/chunks/chunk-ZPCWV6KC.js +0 -226
- package/dist/chunks/chunk-ZPKZRQXE.js +0 -45
- package/dist/chunks/chunk-ZPRRHPPV.js +0 -150
- package/dist/chunks/chunk-ZRSN4WGX.js +0 -147
- package/dist/chunks/chunk-ZY4NXOQ3.js +0 -961
- package/dist/chunks/chunk-ZY4RNFVT.js +0 -23
- package/dist/chunks/chunk-ZZGT53UI.js +0 -107
- package/dist/chunks/client-2HEZOM5I.js +0 -44
- package/dist/chunks/client-PM4VE3FO.js +0 -167
- package/dist/chunks/client-YZJYMQ2D.js +0 -31
- package/dist/chunks/client-actions-R5CL2RHR.js +0 -160
- package/dist/chunks/dangerous-YODZTOJG.js +0 -117
- package/dist/chunks/editor-seams-FQSYE6HQ.js +0 -161
- package/dist/chunks/editor-store-KJ3AIOPU.js +0 -139
- package/dist/chunks/export-MFXW233Y.js +0 -67
- package/dist/chunks/export-watermark-4IFE3L4K.js +0 -146
- package/dist/chunks/eyedropper-C5UHGUR7.js +0 -349
- package/dist/chunks/generate-media-KJZ7VHYQ.js +0 -253
- package/dist/chunks/host-PUTKYE2R.js +0 -171
- package/dist/chunks/integrations-AXAFDQBT.js +0 -115
- package/dist/chunks/kit-modules-6IOQJIEK.js +0 -18
- package/dist/chunks/libraries-G6WVELP7.js +0 -302
- package/dist/chunks/library-previews-2VGORSSU.js +0 -199
- package/dist/chunks/live-DXSEWNVA.js +0 -312
- package/dist/chunks/lottie-YCFQLOBY.js +0 -86
- package/dist/chunks/media-tool-K7HGCPXA.js +0 -332
- package/dist/chunks/new-file-KHJYOXLH.js +0 -129
- package/dist/chunks/page-thumbnails-NGBLARCZ.js +0 -137
- package/dist/chunks/pdf-E3BMX2WG.js +0 -1217
- package/dist/chunks/player-check-MP7S6J7X.js +0 -114
- package/dist/chunks/plugin-QW7XZQI4.js +0 -124
- package/dist/chunks/plugin-import-7FVQOCVU.js +0 -666
- package/dist/chunks/presence-NEF4UOQK.js +0 -127
- package/dist/chunks/preview-media-DU7U7PZH.js +0 -122
- package/dist/chunks/project-B3N2VRXF.js +0 -1653
- package/dist/chunks/publish-site-GWI7H5IU.js +0 -158
- package/dist/chunks/publish-store-4DJSJ6BH.js +0 -93
- package/dist/chunks/raster-actions-NFJCUMNQ.js +0 -229
- package/dist/chunks/reference-images-ZMMDYIQC.js +0 -62
- package/dist/chunks/resolvers-D4HAYQLE.js +0 -139
- package/dist/chunks/runner-CSW2Q53C.js +0 -1233
- package/dist/chunks/runtime-2S7AC64V.js +0 -32
- package/dist/chunks/shader-preview-YMF26YTT.js +0 -518
- package/dist/chunks/sites-NS663WRQ.js +0 -33
- package/dist/chunks/store-EKGSYCGL.js +0 -224
- package/dist/chunks/storefront-NCVPH27Q.js +0 -329
- package/dist/chunks/storefront-prepare-Y4SNFUE5.js +0 -33
- package/dist/chunks/svg-export-PUSTHART.js +0 -81
- package/dist/chunks/sync-WUFGCQPC.js +0 -153
- package/dist/chunks/tabs-LD5HEI5D.js +0 -311
- package/dist/chunks/team-KRB33NWX.js +0 -44
- package/dist/chunks/team-client-PD64YP6X.js +0 -157
- package/dist/chunks/templates-YFT6JJGD.js +0 -181
- package/dist/chunks/tools-MX42MEQX.js +0 -35
- package/dist/chunks/ui-commands-WFQWC656.js +0 -269
- package/dist/chunks/versions-JSAGYTWF.js +0 -311
- package/dist/chunks/video-LLS3JYU6.js +0 -75
- /package/dist/chunks/{chunk-4VAZPUKQ.js → chunk-5PSOLUKI.js} +0 -0
- /package/dist/chunks/{chunk-5RYYTRAQ.js → chunk-HENTV2KD.js} +0 -0
- /package/dist/chunks/{chunk-VCOQ4FKI.js → chunk-JIZTNKHY.js} +0 -0
|
@@ -0,0 +1,1266 @@
|
|
|
1
|
+
import { createRequire as __popcraftRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __popcraftPath } from 'node:url';
|
|
3
|
+
import { dirname as __popcraftDirname } from 'node:path';
|
|
4
|
+
const require = __popcraftRequire(import.meta.url);
|
|
5
|
+
const __filename = __popcraftPath(import.meta.url);
|
|
6
|
+
const __dirname = __popcraftDirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
settleMeasuredLayout
|
|
9
|
+
} from "./chunk-NYOQMMLT.js";
|
|
10
|
+
import {
|
|
11
|
+
templateTextMeasurer
|
|
12
|
+
} from "./chunk-ZCMFY2WG.js";
|
|
13
|
+
import {
|
|
14
|
+
magicResize,
|
|
15
|
+
resizeMotion,
|
|
16
|
+
resizeTargetFromPreset
|
|
17
|
+
} from "./chunk-NTEIT6UC.js";
|
|
18
|
+
import {
|
|
19
|
+
setDotTangent
|
|
20
|
+
} from "./chunk-5NHU4UOT.js";
|
|
21
|
+
import {
|
|
22
|
+
setKeysBinding
|
|
23
|
+
} from "./chunk-IB6HPAUP.js";
|
|
24
|
+
import {
|
|
25
|
+
applyPresetToDocument
|
|
26
|
+
} from "./chunk-74UIMI6P.js";
|
|
27
|
+
import {
|
|
28
|
+
setFontSource
|
|
29
|
+
} from "./chunk-HENTV2KD.js";
|
|
30
|
+
import {
|
|
31
|
+
interactionFor
|
|
32
|
+
} from "./chunk-VADIAWGL.js";
|
|
33
|
+
import {
|
|
34
|
+
createTextStyle,
|
|
35
|
+
resolveTextNodeStyles
|
|
36
|
+
} from "./chunk-THLMVVIT.js";
|
|
37
|
+
import {
|
|
38
|
+
foldVariant
|
|
39
|
+
} from "./chunk-EUAIH3EK.js";
|
|
40
|
+
import {
|
|
41
|
+
makePhotoFrame
|
|
42
|
+
} from "./chunk-BSCUPHM7.js";
|
|
43
|
+
import {
|
|
44
|
+
registerFaceBytes
|
|
45
|
+
} from "./chunk-SZGQEUZO.js";
|
|
46
|
+
import {
|
|
47
|
+
addDocumentFont
|
|
48
|
+
} from "./chunk-IRF7X4S4.js";
|
|
49
|
+
import {
|
|
50
|
+
hexToColor
|
|
51
|
+
} from "./chunk-OPRSPQL6.js";
|
|
52
|
+
import {
|
|
53
|
+
animate,
|
|
54
|
+
animateShaderParam,
|
|
55
|
+
behave,
|
|
56
|
+
delay,
|
|
57
|
+
ease,
|
|
58
|
+
sceneSequence,
|
|
59
|
+
stagger
|
|
60
|
+
} from "./chunk-YYQUCS6P.js";
|
|
61
|
+
import {
|
|
62
|
+
COUNTER_PATH,
|
|
63
|
+
animatorPath,
|
|
64
|
+
withAnimator,
|
|
65
|
+
withCounter
|
|
66
|
+
} from "./chunk-QZWEMMEL.js";
|
|
67
|
+
import {
|
|
68
|
+
defaultTransitionDuration,
|
|
69
|
+
is3DTransition
|
|
70
|
+
} from "./chunk-VDJPGIAE.js";
|
|
71
|
+
import {
|
|
72
|
+
addNode,
|
|
73
|
+
assignMaster,
|
|
74
|
+
createComponent,
|
|
75
|
+
createComponentSet,
|
|
76
|
+
createEllipse,
|
|
77
|
+
createFrame,
|
|
78
|
+
createGroup,
|
|
79
|
+
createImage,
|
|
80
|
+
createInstanceOf,
|
|
81
|
+
createMasterPage,
|
|
82
|
+
createPage,
|
|
83
|
+
createPixelGrid,
|
|
84
|
+
createPrintPage,
|
|
85
|
+
createRectangle,
|
|
86
|
+
createStar,
|
|
87
|
+
createText,
|
|
88
|
+
createVector,
|
|
89
|
+
documentFromPreset,
|
|
90
|
+
foldGuides,
|
|
91
|
+
init_print_pages,
|
|
92
|
+
init_scene_graph
|
|
93
|
+
} from "./chunk-MQ66HDKC.js";
|
|
94
|
+
import {
|
|
95
|
+
PAGE_PRESETS,
|
|
96
|
+
init_page_presets,
|
|
97
|
+
presetById,
|
|
98
|
+
presetPx
|
|
99
|
+
} from "./chunk-XBVMM6ZD.js";
|
|
100
|
+
import {
|
|
101
|
+
encodeCels,
|
|
102
|
+
init_cells
|
|
103
|
+
} from "./chunk-2LYY4KTS.js";
|
|
104
|
+
import {
|
|
105
|
+
componentDefinitions,
|
|
106
|
+
init_instances,
|
|
107
|
+
owningComponent
|
|
108
|
+
} from "./chunk-2YBOCBPA.js";
|
|
109
|
+
import {
|
|
110
|
+
asPath,
|
|
111
|
+
bindPath,
|
|
112
|
+
init_properties
|
|
113
|
+
} from "./chunk-4VICNBUI.js";
|
|
114
|
+
import {
|
|
115
|
+
init_time,
|
|
116
|
+
timeShift
|
|
117
|
+
} from "./chunk-RW67KLLE.js";
|
|
118
|
+
import {
|
|
119
|
+
init_shader_params,
|
|
120
|
+
reflectShader
|
|
121
|
+
} from "./chunk-TSWHCDM7.js";
|
|
122
|
+
import {
|
|
123
|
+
init_dist_node,
|
|
124
|
+
v4_default
|
|
125
|
+
} from "./chunk-VBAS5IB5.js";
|
|
126
|
+
import {
|
|
127
|
+
createSolidPaint,
|
|
128
|
+
init_types
|
|
129
|
+
} from "./chunk-CZXJDKOJ.js";
|
|
130
|
+
import {
|
|
131
|
+
presetPaint,
|
|
132
|
+
shaderPreset
|
|
133
|
+
} from "./chunk-PD6JKRYP.js";
|
|
134
|
+
import {
|
|
135
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
136
|
+
} from "./chunk-FFS4SO7R.js";
|
|
137
|
+
|
|
138
|
+
// templates/src/kit.ts
|
|
139
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
140
|
+
init_dist_node();
|
|
141
|
+
init_types();
|
|
142
|
+
init_scene_graph();
|
|
143
|
+
init_instances();
|
|
144
|
+
init_print_pages();
|
|
145
|
+
init_page_presets();
|
|
146
|
+
init_cells();
|
|
147
|
+
init_shader_params();
|
|
148
|
+
init_properties();
|
|
149
|
+
init_time();
|
|
150
|
+
var kitFontSource = null;
|
|
151
|
+
var kitFontBytes = null;
|
|
152
|
+
function setKitFontFiles(source, bytes) {
|
|
153
|
+
kitFontSource = source;
|
|
154
|
+
kitFontBytes = bytes;
|
|
155
|
+
}
|
|
156
|
+
var hex = (h, a = 1) => {
|
|
157
|
+
const c = hexToColor(h, a);
|
|
158
|
+
if (!c) throw new Error(`"${h}" is not a hex colour`);
|
|
159
|
+
return c;
|
|
160
|
+
};
|
|
161
|
+
var geom = (v) => Math.round(v * 1e3) / 1e3 + 0;
|
|
162
|
+
var quantizePoint = (p) => ({ ...p, x: geom(p.x), y: geom(p.y), ...p.handleIn ? { handleIn: { x: geom(p.handleIn.x), y: geom(p.handleIn.y) } } : {}, ...p.handleOut ? { handleOut: { x: geom(p.handleOut.x), y: geom(p.handleOut.y) } } : {} });
|
|
163
|
+
var quantizePath = (p) => ({ ...p, points: p.points.map(quantizePoint), ...p.data ? { data: p.data.map((d) => typeof d === "number" ? geom(d) : d) } : {} });
|
|
164
|
+
var NUMERIC = ["x", "y", "width", "height", "rotation", "opacity", "itemSpacing", "counterAxisSpacing", "cornerRadius", "minWidth", "maxWidth", "minHeight", "maxHeight", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft"];
|
|
165
|
+
var shown = (v) => {
|
|
166
|
+
try {
|
|
167
|
+
return JSON.stringify(v) ?? String(v);
|
|
168
|
+
} catch {
|
|
169
|
+
return String(v);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
function assertGeometry(node) {
|
|
173
|
+
const n = node;
|
|
174
|
+
const bad = (key, v) => {
|
|
175
|
+
throw new Error(`Layer "${node.name}": ${key} must be a number (got ${shown(v)})`);
|
|
176
|
+
};
|
|
177
|
+
const finite = (v) => typeof v === "number" && Number.isFinite(v);
|
|
178
|
+
for (const key of NUMERIC) {
|
|
179
|
+
const v = n[key];
|
|
180
|
+
if (v === void 0 || v === null || finite(v)) continue;
|
|
181
|
+
if (key === "cornerRadius" && Array.isArray(v) && v.length === 4 && v.every(finite)) continue;
|
|
182
|
+
bad(key, v);
|
|
183
|
+
}
|
|
184
|
+
const pad2 = n.padding;
|
|
185
|
+
if (pad2 && typeof pad2 === "object") {
|
|
186
|
+
for (const [side, v] of Object.entries(pad2)) if (!finite(v)) bad(`padding.${side}`, v);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
var placed = (at) => at ? { layoutPositioning: "ABSOLUTE", x: at.x, y: at.y } : {};
|
|
190
|
+
var masking = (o) => o.mask ? { isMask: true, maskType: "ALPHA" } : {};
|
|
191
|
+
var list = (v) => Array.isArray(v) ? [...v] : [v];
|
|
192
|
+
var pad = (p) => typeof p === "number" ? { top: p, right: p, bottom: p, left: p } : p ?? { top: 0, right: 0, bottom: 0, left: 0 };
|
|
193
|
+
var LOGO_PLACEHOLDERS = { mark: "/templates/logo-mark.svg", tile: "/templates/logo-tile.svg" };
|
|
194
|
+
function swapTimes(s) {
|
|
195
|
+
const out = [];
|
|
196
|
+
const tailOf = (word) => ((s.unit === "word" ? word.split(/\s+/).filter(Boolean).length : word.replace(/\s/g, "").length) - 1) * s.stagger;
|
|
197
|
+
let t = s.at;
|
|
198
|
+
s.words.forEach((word, i) => {
|
|
199
|
+
const tail = tailOf(word);
|
|
200
|
+
const landed = t + s.in + tail, leaves = landed + s.hold, gone = leaves + s.out + tail;
|
|
201
|
+
out.push({ word, enters: t, landed, leaves, gone });
|
|
202
|
+
const next = s.words[i + 1];
|
|
203
|
+
t = next === void 0 ? gone : Math.max(gone, leaves + s.out + tailOf(next));
|
|
204
|
+
});
|
|
205
|
+
return out;
|
|
206
|
+
}
|
|
207
|
+
var COUNT_EASE = ease.out("cubic");
|
|
208
|
+
function countKeys(c, local) {
|
|
209
|
+
const { from, to } = c.counter;
|
|
210
|
+
if (c.tick) return [{ t: local, v: from, ease: ease.linear }, { t: local + c.duration, v: to }];
|
|
211
|
+
return [{ t: local, v: from, ease: c.ease ?? COUNT_EASE }, { t: local + c.duration, v: to }];
|
|
212
|
+
}
|
|
213
|
+
function countCounter(c) {
|
|
214
|
+
if (!c.tick) return c.counter;
|
|
215
|
+
const steps = Math.max(1, Math.round(c.duration / c.tick));
|
|
216
|
+
return { ...c.counter, step: Math.abs(c.counter.to - c.counter.from) / steps };
|
|
217
|
+
}
|
|
218
|
+
var Kit = class {
|
|
219
|
+
constructor(name, preset2) {
|
|
220
|
+
this.vars = /* @__PURE__ */ new Map();
|
|
221
|
+
this.styles = /* @__PURE__ */ new Map();
|
|
222
|
+
this.components = /* @__PURE__ */ new Map();
|
|
223
|
+
this.componentsPage = null;
|
|
224
|
+
/**
|
|
225
|
+
* Hold vector geometry to a thousandth of a px, so a template drawing arcs, rings and curves with Math.sin / cos builds
|
|
226
|
+
* byte for byte the same on macOS and on Linux (V8's maths library can differ in the last bit between them). On for
|
|
227
|
+
* templates made since (the Game UI kit sets it); older sources keep their committed fixtures.
|
|
228
|
+
*/
|
|
229
|
+
this.quantizeGeometry = false;
|
|
230
|
+
// ── Prototype variables ──
|
|
231
|
+
this.collections = /* @__PURE__ */ new Map();
|
|
232
|
+
this.doc = documentFromPreset(name, preset2);
|
|
233
|
+
}
|
|
234
|
+
get pageId() {
|
|
235
|
+
return this.doc.pages[0];
|
|
236
|
+
}
|
|
237
|
+
/** The last sheet on the first canvas page: a print page for fixed-page kinds, the starter frame for web / app. */
|
|
238
|
+
get sheet() {
|
|
239
|
+
const frames = this.doc.nodes[this.pageId].childIds.filter((id) => {
|
|
240
|
+
const n = this.doc.nodes[id];
|
|
241
|
+
return n.type === "FRAME" && !n.print?.isMaster;
|
|
242
|
+
});
|
|
243
|
+
const sheets = frames.filter((id) => this.doc.nodes[id].print?.isPrintPage);
|
|
244
|
+
const list2 = sheets.length ? sheets : frames;
|
|
245
|
+
return list2[list2.length - 1];
|
|
246
|
+
}
|
|
247
|
+
node(id) {
|
|
248
|
+
return this.doc.nodes[id];
|
|
249
|
+
}
|
|
250
|
+
/** Replace one node (the kit's only mutation primitive after `add`). */
|
|
251
|
+
put(id, node) {
|
|
252
|
+
assertGeometry(node);
|
|
253
|
+
this.doc = { ...this.doc, nodes: { ...this.doc.nodes, [id]: node } };
|
|
254
|
+
}
|
|
255
|
+
patch(id, props) {
|
|
256
|
+
const p = { ...props };
|
|
257
|
+
for (const key of ["fills", "strokes", "effects"]) if (p[key] && !Array.isArray(p[key])) p[key] = [p[key]];
|
|
258
|
+
this.put(id, { ...this.doc.nodes[id], ...p });
|
|
259
|
+
}
|
|
260
|
+
// ── Brand variables ──
|
|
261
|
+
/** A "Brand" collection: colours (hex, or a colour) as `brand/<role>` COLOR variables, fields as `brand/<name>` strings. */
|
|
262
|
+
brand(colors, fields = {}) {
|
|
263
|
+
const cid = v4_default();
|
|
264
|
+
const collection = { id: cid, name: "Brand", modes: [{ id: "Mode 1", name: "Mode 1" }], defaultModeId: "Mode 1" };
|
|
265
|
+
const variables = { ...this.doc.variables };
|
|
266
|
+
for (const [role, h] of Object.entries(colors)) {
|
|
267
|
+
const id = v4_default();
|
|
268
|
+
this.vars.set(role, id);
|
|
269
|
+
variables[id] = { id, name: `brand/${role}`, type: "COLOR", variableCollectionId: cid, valuesByMode: { "Mode 1": typeof h === "string" ? hex(h) : h }, scopes: ["ALL_FILLS", "STROKE_COLOR"] };
|
|
270
|
+
}
|
|
271
|
+
for (const [name, v] of Object.entries(fields)) {
|
|
272
|
+
const id = v4_default();
|
|
273
|
+
this.vars.set(name, id);
|
|
274
|
+
variables[id] = { id, name: `brand/${name}`, type: "STRING", variableCollectionId: cid, valuesByMode: { "Mode 1": v }, scopes: ["TEXT_CONTENT"] };
|
|
275
|
+
}
|
|
276
|
+
this.doc = { ...this.doc, variables, variableCollections: { ...this.doc.variableCollections, [cid]: collection } };
|
|
277
|
+
return this;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Scenery colours: roles a template paints with that are no part of its brand (a farm's soil, a fen's water) — a
|
|
281
|
+
* "Palette" collection of `palette/<role>` COLOR variables, bound and edited like brand roles, but not offered as
|
|
282
|
+
* brand slots, so a template with a rich illustration keeps its brand to the colours a kit should swap.
|
|
283
|
+
*/
|
|
284
|
+
palette(colors) {
|
|
285
|
+
const cid = v4_default();
|
|
286
|
+
const variables = { ...this.doc.variables };
|
|
287
|
+
for (const [role, h] of Object.entries(colors)) {
|
|
288
|
+
const id = v4_default();
|
|
289
|
+
this.vars.set(role, id);
|
|
290
|
+
variables[id] = { id, name: `palette/${role}`, type: "COLOR", variableCollectionId: cid, valuesByMode: { "Mode 1": typeof h === "string" ? hex(h) : h }, scopes: ["ALL_FILLS", "STROKE_COLOR"] };
|
|
291
|
+
}
|
|
292
|
+
this.doc = { ...this.doc, variables, variableCollections: { ...this.doc.variableCollections, [cid]: { id: cid, name: "Palette", modes: [{ id: "Mode 1", name: "Mode 1" }], defaultModeId: "Mode 1" } } };
|
|
293
|
+
return this;
|
|
294
|
+
}
|
|
295
|
+
/** The literal value of a brand colour role (what a gradient stop, which cannot bind, is resolved to). */
|
|
296
|
+
color(role, a) {
|
|
297
|
+
const id = this.vars.get(role);
|
|
298
|
+
const c = id ? this.doc.variables?.[id]?.valuesByMode["Mode 1"] : void 0;
|
|
299
|
+
if (!c) throw new Error(`No brand colour "${role}"`);
|
|
300
|
+
return a === void 0 ? c : { ...c, a };
|
|
301
|
+
}
|
|
302
|
+
/** A solid paint bound to a brand colour. An unknown role is an authoring error: every solid fill binds. */
|
|
303
|
+
paint(role) {
|
|
304
|
+
const id = this.vars.get(role);
|
|
305
|
+
if (!id) throw new Error(`No brand colour "${role}"`);
|
|
306
|
+
return [{ ...createSolidPaint(this.color(role)), boundVariables: { color: id } }];
|
|
307
|
+
}
|
|
308
|
+
fillOf(c) {
|
|
309
|
+
return typeof c === "string" ? this.paint(c) : list(c);
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* A gradient between two brand colour roles. The stops are resolved to literal colours: `boundVariables`
|
|
313
|
+
* binds a SOLID paint's single colour and has nowhere to put a stop list, so a kit swap leaves gradients as
|
|
314
|
+
* they were — which is why a gradient here is always a glow over a bound solid, never the only ground.
|
|
315
|
+
*/
|
|
316
|
+
gradient(o) {
|
|
317
|
+
const rad = (o.angle ?? 90) * Math.PI / 180;
|
|
318
|
+
const dx = Math.cos(rad) / 2, dy = Math.sin(rad) / 2;
|
|
319
|
+
return {
|
|
320
|
+
type: o.kind === "RADIAL" ? "GRADIENT_RADIAL" : "GRADIENT_LINEAR",
|
|
321
|
+
gradientStops: [{ position: 0, color: this.color(o.from, o.fromOpacity) }, { position: 1, color: this.color(o.to, o.toOpacity) }],
|
|
322
|
+
gradientHandlePositions: o.handles ?? [{ x: 0.5 - dx, y: 0.5 - dy }, { x: 0.5 + dx, y: 0.5 + dy }, { x: 0.5 - dy, y: 0.5 + dx }],
|
|
323
|
+
opacity: o.opacity ?? 1,
|
|
324
|
+
visible: true
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* A live shader fill (lib/engine/shader-fill.ts): one of the presets by name (lib/engine/shader-presets.ts: a node
|
|
329
|
+
* graph, so the file can open it in the node editor), or WGSL of the template's own when `code` is given, with
|
|
330
|
+
* values for its params — a preset's by their plain names (`speed`, `colorA`) or knob fields (`mesh_speed`). The
|
|
331
|
+
* fill's id is `f1`, so its params key as `fills[@f1].shaderParams.<field>` — what `animateShader` writes and the
|
|
332
|
+
* fill panel's diamonds edit. A param the shader does not have is an authoring error, not a silent no-op. Colours
|
|
333
|
+
* cannot bind to brand variables (a param is not a paint), so pass the brand's literal colours (`k.color(role)`)
|
|
334
|
+
* and keep text on a bound ground or tint.
|
|
335
|
+
*/
|
|
336
|
+
shader(name, params, code) {
|
|
337
|
+
if (code) {
|
|
338
|
+
const declared = new Set(reflectShader(code).params.map((q) => q.name));
|
|
339
|
+
const stray = Object.keys(params).filter((q) => !declared.has(q));
|
|
340
|
+
if (stray.length) throw new Error(`shader "${name}" has no param ${stray.join(", ")}`);
|
|
341
|
+
return [{ id: "f1", type: "SHADER", shaderCode: code, shaderName: name, shaderParams: params, opacity: 1, visible: true }];
|
|
342
|
+
}
|
|
343
|
+
const preset2 = shaderPreset(name);
|
|
344
|
+
if (!preset2) throw new Error(`no shader preset "${name}"`);
|
|
345
|
+
return [presetPaint({ id: "f1", type: "SHADER", opacity: 1, visible: true }, preset2, params)];
|
|
346
|
+
}
|
|
347
|
+
/** Key a param of `id`'s shader fill (a number, or a colour / vector per component) by its name: `fills[@f1].shaderParams.<field>`. */
|
|
348
|
+
animateShader(id, param, keys) {
|
|
349
|
+
this.put(id, animateShaderParam(this.doc.nodes[id], "fills[@f1]", param, keys));
|
|
350
|
+
}
|
|
351
|
+
// ── Fonts ──
|
|
352
|
+
/**
|
|
353
|
+
* Carry a font file in the design (`Document.fonts`) as `family`, so a text style can set it: `k.font('Helvetica',
|
|
354
|
+
* media(new URL('./fonts/Helvetica.ttc', import.meta.url)), { face: 0 })`, then `k.textStyle('title', { fontFamily:
|
|
355
|
+
* 'Helvetica', … })`. `src` is the `media://` ref `media()` returns, or a file URL / path (read with `media()` where
|
|
356
|
+
* the Kit runs in Node). Register a face per weight and style (`weight` 400 and `style` normal by default); `face`
|
|
357
|
+
* picks a face of a collection (.ttc). Where the bytes can be read here (TrueType, OpenType, a collection), text is
|
|
358
|
+
* measured in the face at once, so layouts that hug their words fit it. Returns the face's id.
|
|
359
|
+
*/
|
|
360
|
+
font(family, src, o = {}) {
|
|
361
|
+
if (!family.trim()) throw new Error("k.font: name the family texts will use");
|
|
362
|
+
const href = typeof src === "string" ? src : src.href;
|
|
363
|
+
if (/^https?:/i.test(href)) throw new Error(`k.font("${family}"): download the font and pass media('./font.ttf') (a template carries its files, it does not fetch them)`);
|
|
364
|
+
const ref = href.startsWith("media://") ? href : kitFontSource ? kitFontSource(href) : null;
|
|
365
|
+
if (!ref || !/^media:\/\/[0-9a-f]{32}$/.test(ref)) throw new Error(`k.font("${family}"): pass the media:// ref media() returns for the font file`);
|
|
366
|
+
const weight = o.weight ?? 400;
|
|
367
|
+
const style = o.style ?? "normal";
|
|
368
|
+
const id = `font-${ref.slice(8, 20)}-${o.face ?? 0}-${weight}-${style === "italic" ? "i" : "n"}`;
|
|
369
|
+
this.doc = addDocumentFont(this.doc, { id, family, src: ref, weight, style, ...o.face ? { face: o.face } : {} });
|
|
370
|
+
const bytes = kitFontBytes?.(ref);
|
|
371
|
+
if (bytes) {
|
|
372
|
+
setFontSource("document", this.doc.fonts);
|
|
373
|
+
try {
|
|
374
|
+
registerFaceBytes(family, style === "italic", weight, bytes, o.face ?? 0);
|
|
375
|
+
} catch {
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return id;
|
|
379
|
+
}
|
|
380
|
+
// ── Text styles ──
|
|
381
|
+
/** A named text style; defining the same name again returns the existing style (page builders share). */
|
|
382
|
+
textStyle(name, s) {
|
|
383
|
+
const existing = this.styles.get(name);
|
|
384
|
+
if (existing) return existing;
|
|
385
|
+
const id = v4_default();
|
|
386
|
+
const { size, ...rest } = s;
|
|
387
|
+
const style = createTextStyle(id, name, { fontSize: size, ...rest });
|
|
388
|
+
this.doc = { ...this.doc, styles: { ...this.doc.styles, [id]: style } };
|
|
389
|
+
this.styles.set(name, id);
|
|
390
|
+
return id;
|
|
391
|
+
}
|
|
392
|
+
/** The name of the text style `id` (what a variant's overrides restyle by). */
|
|
393
|
+
styleName(id) {
|
|
394
|
+
for (const [name, sid] of this.styles) if (sid === id) return name;
|
|
395
|
+
return void 0;
|
|
396
|
+
}
|
|
397
|
+
styleOf(name) {
|
|
398
|
+
const id = name ? this.styles.get(name) : void 0;
|
|
399
|
+
if (name && !id) throw new Error(`No text style "${name}"`);
|
|
400
|
+
return id ? this.doc.styles?.[id] : void 0;
|
|
401
|
+
}
|
|
402
|
+
// ── Nodes ──
|
|
403
|
+
add(node, parent) {
|
|
404
|
+
assertGeometry(node);
|
|
405
|
+
this.doc = addNode(this.doc, node, parent);
|
|
406
|
+
return node;
|
|
407
|
+
}
|
|
408
|
+
width(parent, w) {
|
|
409
|
+
const p = this.doc.nodes[parent];
|
|
410
|
+
if (typeof w === "number") return w;
|
|
411
|
+
return Math.max(1, p.width - (p.padding?.left ?? 0) - (p.padding?.right ?? 0));
|
|
412
|
+
}
|
|
413
|
+
text(parent, characters, o = {}) {
|
|
414
|
+
const n = this.styled(createText({
|
|
415
|
+
name: o.name ?? (characters.split("\n")[0].replace(/\{\{.*?\}\}/g, "").trim().slice(0, 40) || "Text"),
|
|
416
|
+
x: 0,
|
|
417
|
+
y: 0,
|
|
418
|
+
width: this.width(parent, o.width),
|
|
419
|
+
characters,
|
|
420
|
+
textAlign: o.align ?? "LEFT",
|
|
421
|
+
fills: this.paint(o.color ?? "text"),
|
|
422
|
+
textAutoResize: o.autoWidth ? "WIDTH_AND_HEIGHT" : "HEIGHT",
|
|
423
|
+
...o.list ? { list: o.list } : {},
|
|
424
|
+
...o.tabStops ? { tabStops: o.tabStops } : {},
|
|
425
|
+
layoutSizingHorizontal: o.autoWidth ? "HUG" : o.width === "FILL" || o.width === void 0 ? "FILL" : "FIXED",
|
|
426
|
+
layoutSizingVertical: "HUG",
|
|
427
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
428
|
+
...placed(o.absolute)
|
|
429
|
+
}), o.style);
|
|
430
|
+
const box = templateTextMeasurer(n);
|
|
431
|
+
return this.add(box ? { ...n, width: box.width, height: box.height } : n, parent).id;
|
|
432
|
+
}
|
|
433
|
+
/** `n` set in the text style `name` (lib/document/text-styles.ts: the style's fields, as the renderer applies them). */
|
|
434
|
+
styled(n, name) {
|
|
435
|
+
const st = this.styleOf(name);
|
|
436
|
+
return st ? resolveTextNodeStyles({ ...n, textStyleId: st.id }, this.doc.styles) : n;
|
|
437
|
+
}
|
|
438
|
+
rect(parent, w, h, color, o = {}) {
|
|
439
|
+
const n = createRectangle({
|
|
440
|
+
name: o.name ?? "Shape",
|
|
441
|
+
x: 0,
|
|
442
|
+
y: 0,
|
|
443
|
+
width: this.width(parent, w),
|
|
444
|
+
height: h,
|
|
445
|
+
fills: this.fillOf(color),
|
|
446
|
+
strokes: o.stroke ? this.brandStroke(o.stroke) : [],
|
|
447
|
+
cornerRadius: o.radius ?? 0,
|
|
448
|
+
layoutSizingHorizontal: w === "FILL" ? "FILL" : "FIXED",
|
|
449
|
+
layoutSizingVertical: "FIXED",
|
|
450
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
451
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
452
|
+
...masking(o),
|
|
453
|
+
...placed(o.absolute)
|
|
454
|
+
});
|
|
455
|
+
return this.add(n, parent).id;
|
|
456
|
+
}
|
|
457
|
+
ellipse(parent, size, color, o = {}) {
|
|
458
|
+
const n = createEllipse({
|
|
459
|
+
name: o.name ?? "Ellipse",
|
|
460
|
+
x: 0,
|
|
461
|
+
y: 0,
|
|
462
|
+
width: size,
|
|
463
|
+
height: size,
|
|
464
|
+
fills: this.fillOf(color),
|
|
465
|
+
strokes: o.stroke ? this.brandStroke(o.stroke) : [],
|
|
466
|
+
layoutSizingHorizontal: "FIXED",
|
|
467
|
+
layoutSizingVertical: "FIXED",
|
|
468
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
469
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
470
|
+
...masking(o),
|
|
471
|
+
...placed(o.absolute)
|
|
472
|
+
});
|
|
473
|
+
return this.add(n, parent).id;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* A picture from the app's own public files (`/screenshots/x.png`): a shape filled with the image, cover-fit
|
|
477
|
+
* (`fit: 'FIT'` contains it), clipped to its corners — so a card's radius and shadow are the shape's own.
|
|
478
|
+
*/
|
|
479
|
+
picture(parent, url, w, h, o = {}) {
|
|
480
|
+
const fills = [{ type: "IMAGE", imageUrl: url, scaleMode: o.fit ?? "FILL", opacity: 1, visible: true }];
|
|
481
|
+
return this.rect(parent, w, h, fills, { name: "Picture", ...o });
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* A video clip from the shipped media (public/templates/media/<hash>), cover-fit (`fit: 'FIT'` contains it). It is a
|
|
485
|
+
* clip on its sheet's timeline: it plays from the sheet's start, `speed` source ms a timeline ms, from `from` ms in.
|
|
486
|
+
* The hash is what makes the clip part of the template's media (lib/storage/media-refs.ts).
|
|
487
|
+
*/
|
|
488
|
+
video(parent, hash, w, h, o = {}) {
|
|
489
|
+
const { fit, speed, from, loop, ...shape } = o;
|
|
490
|
+
const fills = [{
|
|
491
|
+
type: "VIDEO",
|
|
492
|
+
videoHash: hash,
|
|
493
|
+
scaleMode: fit ?? "FILL",
|
|
494
|
+
videoPlayback: "AUTO",
|
|
495
|
+
videoLoop: loop ?? false,
|
|
496
|
+
videoIn: from ?? 0,
|
|
497
|
+
videoSpeed: speed ?? 1,
|
|
498
|
+
videoSound: { muted: true },
|
|
499
|
+
opacity: 1,
|
|
500
|
+
visible: true
|
|
501
|
+
}];
|
|
502
|
+
return this.rect(parent, w, h, fills, { name: "Video", ...shape });
|
|
503
|
+
}
|
|
504
|
+
/** A solid paint bound to a brand colour, drawn at `opacity` (a translucent panel over what is behind it). */
|
|
505
|
+
tint(role, opacity) {
|
|
506
|
+
return [{ ...this.paint(role)[0], opacity }];
|
|
507
|
+
}
|
|
508
|
+
/** A five-point star in a brand colour (a rating mark drawn as a shape, so it needs no glyph from the font). */
|
|
509
|
+
star(parent, size, color, o = {}) {
|
|
510
|
+
const n = createStar({
|
|
511
|
+
name: o.name ?? "Star",
|
|
512
|
+
x: 0,
|
|
513
|
+
y: 0,
|
|
514
|
+
width: size,
|
|
515
|
+
height: size,
|
|
516
|
+
innerRadius: 0.45,
|
|
517
|
+
fills: this.fillOf(color),
|
|
518
|
+
strokes: [],
|
|
519
|
+
layoutSizingHorizontal: "FIXED",
|
|
520
|
+
layoutSizingVertical: "FIXED",
|
|
521
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
522
|
+
...placed(o.absolute)
|
|
523
|
+
});
|
|
524
|
+
return this.add(n, parent).id;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* A vector shape in a brand colour (a chart's line or a donut's slice): `paths` in the layer's own px, inside a
|
|
528
|
+
* `width` × `height` box. `stroke` draws the paths as lines instead of filling them.
|
|
529
|
+
*/
|
|
530
|
+
vector(parent, width, height, paths, color, o = {}) {
|
|
531
|
+
const line = o.strokeWidth !== void 0;
|
|
532
|
+
if (this.quantizeGeometry) {
|
|
533
|
+
width = geom(width);
|
|
534
|
+
height = geom(height);
|
|
535
|
+
paths = paths.map(quantizePath);
|
|
536
|
+
if (o.absolute) o = { ...o, absolute: { x: geom(o.absolute.x), y: geom(o.absolute.y) } };
|
|
537
|
+
}
|
|
538
|
+
const n = createVector({
|
|
539
|
+
name: o.name ?? "Vector",
|
|
540
|
+
x: 0,
|
|
541
|
+
y: 0,
|
|
542
|
+
width,
|
|
543
|
+
height,
|
|
544
|
+
paths,
|
|
545
|
+
fills: line ? [] : this.fillOf(color),
|
|
546
|
+
strokes: line && typeof color === "string" ? this.brandStroke({ color, width: o.strokeWidth }) : o.stroke ? this.brandStroke(o.stroke) : [],
|
|
547
|
+
layoutSizingHorizontal: "FIXED",
|
|
548
|
+
layoutSizingVertical: "FIXED",
|
|
549
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
550
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
551
|
+
...masking(o),
|
|
552
|
+
...placed(o.absolute)
|
|
553
|
+
});
|
|
554
|
+
return this.add(n, parent).id;
|
|
555
|
+
}
|
|
556
|
+
/** A stroke in a brand colour. */
|
|
557
|
+
brandStroke(stroke) {
|
|
558
|
+
const paint = this.paint(stroke.color)[0];
|
|
559
|
+
return [{ color: paint.color, width: stroke.width, alignment: stroke.align ?? "CENTER", cap: stroke.cap ?? "ROUND", join: stroke.join ?? "ROUND", dashPattern: stroke.dash ? [...stroke.dash] : [], boundVariables: paint.boundVariables }];
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* The brand logo: an IMAGE layer named `{{brand.logo}}`, which is what lib/brand/apply.ts fills from a kit
|
|
563
|
+
* and what `detectBrandSlots` advertises as the template's logo slot. Contain-fit, so any logo's aspect
|
|
564
|
+
* survives the swap.
|
|
565
|
+
*/
|
|
566
|
+
logo(parent, width, height, o = {}) {
|
|
567
|
+
const image = createImage(LOGO_PLACEHOLDERS[o.placeholder ?? "mark"], { name: "{{brand.logo}}", x: 0, y: 0, width, height, strokes: [], scaleMode: "FIT", layoutSizingHorizontal: "FIXED", layoutSizingVertical: "FIXED", ...o.opacity !== void 0 ? { opacity: o.opacity } : {}, ...placed(o.absolute) });
|
|
568
|
+
return this.add(image, parent).id;
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* A photo frame: a mask group of [shape as mask, placeholder] — what `makePhotoFrame` builds in the editor,
|
|
572
|
+
* except that the placeholder's ground is a brand colour (every solid paint in a template binds). Drop a
|
|
573
|
+
* picture on it and it fills, cover-fit to the mask. FIXED size: auto layout moves a group as a leaf.
|
|
574
|
+
*/
|
|
575
|
+
photo(parent, width, height, o = {}) {
|
|
576
|
+
const ground = this.paint(o.ground ?? "muted");
|
|
577
|
+
const shape = this.add(createRectangle({ name: "Mask", x: 0, y: 0, width, height, cornerRadius: o.radius ?? 0, fills: ground, strokes: [], layoutSizingHorizontal: "FIXED", layoutSizingVertical: "FIXED" }), parent);
|
|
578
|
+
const r = makePhotoFrame(this.doc, shape.id);
|
|
579
|
+
if (!r.id) throw new Error("photo: could not make a photo frame");
|
|
580
|
+
this.doc = r.document;
|
|
581
|
+
const placeholder = this.doc.nodes[r.id].childIds[1];
|
|
582
|
+
this.patch(placeholder, { fills: ground, layoutSizingHorizontal: "FIXED", layoutSizingVertical: "FIXED" });
|
|
583
|
+
this.patch(r.id, { name: o.name ?? "Photo frame", ...placed(o.absolute) });
|
|
584
|
+
return r.id;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* A group at a hand-picked box: a 3D scene, or a group of layers inside one (lib/document/scene3d.ts), where
|
|
588
|
+
* layers are placed in 3D (x, y, z, tilts) rather than by a layout. `absolute` inside an auto-layout parent.
|
|
589
|
+
*/
|
|
590
|
+
group(parent, box, o = {}) {
|
|
591
|
+
const g = createGroup([]);
|
|
592
|
+
Object.assign(g, { name: o.name ?? "Group", ...box, ...o.absolute ? { layoutPositioning: "ABSOLUTE" } : {} });
|
|
593
|
+
return this.add(g, parent).id;
|
|
594
|
+
}
|
|
595
|
+
/** A picture, cover-fit to its box (a template's own art: a data URL or a file in public/). */
|
|
596
|
+
image(parent, url, width, height, o = {}) {
|
|
597
|
+
return this.add(createImage(url, { name: o.name ?? "Picture", x: 0, y: 0, width, height, strokes: [], cornerRadius: o.radius ?? 0, layoutSizingHorizontal: "FIXED", layoutSizingVertical: "FIXED" }), parent).id;
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Pixel art, as a real pixel canvas (an indexed PIXEL_GRID the pixel tools edit): `frames` are drawn as rows of
|
|
601
|
+
* characters, each a colour from `key` ('.' and ' ' are transparent), every row of every frame the same width.
|
|
602
|
+
* Several frames are an animation, playing `ms` a frame wherever the file plays (lib/engine/pixel/pixel-texture.ts).
|
|
603
|
+
* `cell` is the world size of one pixel.
|
|
604
|
+
*/
|
|
605
|
+
pixels(parent, frames, key, o) {
|
|
606
|
+
const h = frames[0].length, w = frames[0][0].length;
|
|
607
|
+
const chars = Object.keys(key);
|
|
608
|
+
const palette = ["#00000000", ...chars.map((c) => (key[c].length === 7 ? `${key[c]}ff` : key[c]).toLowerCase())];
|
|
609
|
+
const index = new Map(chars.map((c, i) => [c, i + 1]));
|
|
610
|
+
const cels = frames.map((rows, f) => {
|
|
611
|
+
if (rows.length !== h || rows.some((r) => r.length !== w)) throw new Error(`pixels "${o.name ?? "Pixels"}": frame ${f + 1} is not ${w}\xD7${h}`);
|
|
612
|
+
const cells = new Uint32Array(w * h);
|
|
613
|
+
rows.forEach((row, y) => [...row].forEach((ch, x) => {
|
|
614
|
+
if (ch === "." || ch === " ") return;
|
|
615
|
+
const i = index.get(ch);
|
|
616
|
+
if (i === void 0) throw new Error(`pixels "${o.name ?? "Pixels"}": no colour for "${ch}"`);
|
|
617
|
+
cells[y * w + x] = i;
|
|
618
|
+
}));
|
|
619
|
+
return encodeCels(cells);
|
|
620
|
+
});
|
|
621
|
+
const ms = (f) => Array.isArray(o.ms) ? o.ms[f] ?? 100 : o.ms ?? 100;
|
|
622
|
+
const grid = createPixelGrid({
|
|
623
|
+
name: o.name ?? "Pixels",
|
|
624
|
+
pixelWidth: w,
|
|
625
|
+
pixelHeight: h,
|
|
626
|
+
cellSize: o.cell,
|
|
627
|
+
colorMode: "INDEXED",
|
|
628
|
+
palette,
|
|
629
|
+
transparentIndex: 0,
|
|
630
|
+
frames: cels.map((c, f) => ({ id: `${o.name ?? "px"}-${f + 1}`.replace(/\W+/g, "-"), cels: c, duration: ms(f) })),
|
|
631
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
632
|
+
layoutSizingHorizontal: "FIXED",
|
|
633
|
+
layoutSizingVertical: "FIXED",
|
|
634
|
+
...placed(o.absolute)
|
|
635
|
+
});
|
|
636
|
+
return this.add(grid, parent).id;
|
|
637
|
+
}
|
|
638
|
+
/** Make a group or frame a 3D scene: its layers are placed in 3D and seen through `scene`'s camera and lights. */
|
|
639
|
+
scene3d(id, scene) {
|
|
640
|
+
this.patch(id, { scene3d: scene });
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* A frame at a hand-picked box, placed out of its parent's flow: a world a prototype's camera flies over, a layer of
|
|
644
|
+
* it scaled about its corner, a stage for layers placed by hand. It is an auto-layout frame of a fixed size whose
|
|
645
|
+
* children are placed the same way (give each `absolute`): a layout never moves them, and the editor still offers
|
|
646
|
+
* them as a stack.
|
|
647
|
+
*/
|
|
648
|
+
frame(parent, box, o = {}) {
|
|
649
|
+
const n = createFrame({
|
|
650
|
+
name: o.name ?? "Frame",
|
|
651
|
+
...box,
|
|
652
|
+
fills: o.fill ? this.fillOf(o.fill) : [],
|
|
653
|
+
strokes: o.stroke ? this.brandStroke(o.stroke) : [],
|
|
654
|
+
clipsContent: o.clip ?? false,
|
|
655
|
+
cornerRadius: o.radius ?? 0,
|
|
656
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
657
|
+
...o.opacity !== void 0 ? { opacity: o.opacity } : {},
|
|
658
|
+
...o.visible === false ? { visible: false } : {},
|
|
659
|
+
layoutMode: "VERTICAL",
|
|
660
|
+
padding: pad(0),
|
|
661
|
+
itemSpacing: 0,
|
|
662
|
+
counterAxisSpacing: 0,
|
|
663
|
+
primaryAxisAlignItems: "MIN",
|
|
664
|
+
counterAxisAlignItems: "MIN",
|
|
665
|
+
layoutPositioning: "ABSOLUTE",
|
|
666
|
+
layoutSizingHorizontal: "FIXED",
|
|
667
|
+
layoutSizingVertical: "FIXED"
|
|
668
|
+
});
|
|
669
|
+
return this.add(n, parent).id;
|
|
670
|
+
}
|
|
671
|
+
/** An auto-layout frame. Width defaults to filling the parent; height hugs its children. */
|
|
672
|
+
stack(parent, o = {}) {
|
|
673
|
+
const dir = o.direction ?? "VERTICAL";
|
|
674
|
+
const w = o.width === "HUG" ? 1 : this.width(parent, o.width === "FILL" ? void 0 : o.width);
|
|
675
|
+
const n = createFrame({
|
|
676
|
+
name: o.name ?? (dir === "VERTICAL" ? "Stack" : "Row"),
|
|
677
|
+
x: 0,
|
|
678
|
+
y: 0,
|
|
679
|
+
width: w,
|
|
680
|
+
height: typeof o.height === "number" ? o.height : 1,
|
|
681
|
+
fills: o.fill ? this.fillOf(o.fill) : [],
|
|
682
|
+
strokes: o.stroke ? this.brandStroke(o.stroke) : [],
|
|
683
|
+
clipsContent: o.clip ?? false,
|
|
684
|
+
cornerRadius: o.radius ?? 0,
|
|
685
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
686
|
+
...placed(o.absolute),
|
|
687
|
+
layoutMode: dir,
|
|
688
|
+
padding: pad(o.padding),
|
|
689
|
+
itemSpacing: o.gap ?? 0,
|
|
690
|
+
counterAxisSpacing: o.gap ?? 0,
|
|
691
|
+
primaryAxisAlignItems: o.justify ?? "MIN",
|
|
692
|
+
counterAxisAlignItems: o.align ?? "MIN",
|
|
693
|
+
layoutSizingHorizontal: o.width === "HUG" ? "HUG" : typeof o.width === "number" ? "FIXED" : "FILL",
|
|
694
|
+
layoutSizingVertical: o.height === "FILL" ? "FILL" : typeof o.height === "number" ? "FIXED" : "HUG",
|
|
695
|
+
...o.wrap ? { layoutWrap: "WRAP" } : {}
|
|
696
|
+
});
|
|
697
|
+
return this.add(n, parent).id;
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Make the sheet itself an auto-layout column: its own fill (a brand variable, so a dark kit darkens the
|
|
701
|
+
* page), padding and spacing. `justify` spaces the sheet's children — a badge pinned top, a CTA bottom.
|
|
702
|
+
*/
|
|
703
|
+
flowSheet(sheetId, gap, padding, paper = "paper", justify = "MIN", align = "MIN") {
|
|
704
|
+
const m = this.doc.settings?.margins;
|
|
705
|
+
const p = padding !== void 0 ? pad(padding) : m ? { top: m.top, right: m.right, bottom: m.bottom, left: m.left } : pad(72);
|
|
706
|
+
this.patch(sheetId, { fills: this.paint(paper), layoutMode: "VERTICAL", padding: p, itemSpacing: gap, counterAxisSpacing: gap, primaryAxisAlignItems: justify, counterAxisAlignItems: align, layoutSizingHorizontal: "FIXED", layoutSizingVertical: "FIXED" });
|
|
707
|
+
}
|
|
708
|
+
// ── Pages and masters ──
|
|
709
|
+
addSheet(preset2, name) {
|
|
710
|
+
const f = createPrintPage(this.doc, this.pageId, { preset: preset2, ...name ? { name } : {} });
|
|
711
|
+
if (preset2 && f.print && preset2.id !== this.doc.settings?.pageSize?.presetId && PAGE_PRESETS.find((p2) => {
|
|
712
|
+
const px = presetPx(p2);
|
|
713
|
+
return px.width === f.width && px.height === f.height;
|
|
714
|
+
})?.id !== preset2.id) f.print = { ...f.print, presetId: preset2.id };
|
|
715
|
+
this.doc = addNode(this.doc, f, this.pageId);
|
|
716
|
+
const p = preset2 ?? presetById(this.doc.settings?.pageSize?.presetId);
|
|
717
|
+
const folds = p ? foldGuides(p, f.width, f.height).map((g) => ({ ...g, pos: g.pos + (g.axis === "X" ? f.x : f.y) })) : [];
|
|
718
|
+
if (folds.length) {
|
|
719
|
+
const page = this.doc.nodes[this.pageId];
|
|
720
|
+
this.patch(this.pageId, { guides: [...page.guides ?? [], ...folds] });
|
|
721
|
+
}
|
|
722
|
+
return f.id;
|
|
723
|
+
}
|
|
724
|
+
/** The page that represents the whole file in the browser (Figma's "set as thumbnail"). */
|
|
725
|
+
setCover(nodeId) {
|
|
726
|
+
this.doc = { ...this.doc, thumbnailNodeId: nodeId };
|
|
727
|
+
}
|
|
728
|
+
nameSheet(sheetId, name) {
|
|
729
|
+
this.patch(sheetId, { name });
|
|
730
|
+
}
|
|
731
|
+
/** A canvas page (web / app screens live on any page; components keep their own). */
|
|
732
|
+
addPage(name) {
|
|
733
|
+
const page = { ...createPage(name), backgroundColor: this.doc.nodes[this.pageId].backgroundColor };
|
|
734
|
+
this.doc = { ...this.doc, pages: [...this.doc.pages, page.id], nodes: { ...this.doc.nodes, [page.id]: page } };
|
|
735
|
+
return page.id;
|
|
736
|
+
}
|
|
737
|
+
/** Another screen of a web / app template: a preset-sized frame beside the last one on `page`. */
|
|
738
|
+
addScreen(name, page = this.pageId) {
|
|
739
|
+
const preset2 = presetById(this.doc.settings?.pageSize?.presetId);
|
|
740
|
+
const siblings = this.doc.nodes[page].childIds.map((id) => this.doc.nodes[id]).filter((n) => n.type === "FRAME");
|
|
741
|
+
const f = createPrintPage(this.doc, page, { preset: preset2, name });
|
|
742
|
+
delete f.print;
|
|
743
|
+
const last = siblings[siblings.length - 1];
|
|
744
|
+
f.x = last ? last.x + last.width + 120 : 0;
|
|
745
|
+
f.y = last ? last.y : 0;
|
|
746
|
+
this.doc = addNode(this.doc, f, page);
|
|
747
|
+
return f.id;
|
|
748
|
+
}
|
|
749
|
+
/** The frame a prototype starts on (shown in the flows list). */
|
|
750
|
+
flowStart(frameId, name) {
|
|
751
|
+
this.patch(frameId, { isFlowStartingPoint: true, flowName: name });
|
|
752
|
+
}
|
|
753
|
+
/** A prototype link: clicking `from` goes to `to` with `transition` (BACK returns to the previous screen). */
|
|
754
|
+
link(from, to, transition = "PUSH_FROM_RIGHT", o = {}) {
|
|
755
|
+
const ix = interactionFor(to, v4_default(), {
|
|
756
|
+
trigger: o.key ? "KEY_DOWN" : o.trigger,
|
|
757
|
+
delay: o.delay,
|
|
758
|
+
navigation: o.navigation,
|
|
759
|
+
action: o.overlay,
|
|
760
|
+
transition: {
|
|
761
|
+
type: transition,
|
|
762
|
+
duration: o.duration ?? (transition === "INSTANT" ? 0 : defaultTransitionDuration(transition)),
|
|
763
|
+
easing: o.easing ?? (transition === "SMART_ANIMATE" || is3DTransition(transition) ? "EASE_IN_OUT" : "EASE_OUT"),
|
|
764
|
+
...o.spring ? { spring: o.spring } : {},
|
|
765
|
+
...o.stagger ? { stagger: o.stagger } : {},
|
|
766
|
+
...o.origin ? { origin: o.origin } : {}
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
this.interact(from, { ...ix, ...o.direction ? { dragDirection: o.direction } : {}, ...o.key && o.key !== "*" ? { triggerKey: o.key } : {} });
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* Any prototype action on `id` (a Set variable to an expression, a Conditional, a Change to…), on `trigger`, or on
|
|
773
|
+
* the key `key` (a KEY_DOWN; `'*'` for any key). What the Prototype panel's interaction card writes.
|
|
774
|
+
*/
|
|
775
|
+
on(id, action, o = {}) {
|
|
776
|
+
const trigger = o.key ? "KEY_DOWN" : o.trigger ?? "ON_CLICK";
|
|
777
|
+
this.interact(id, { id: v4_default(), trigger, action, ...o.key && o.key !== "*" ? { triggerKey: o.key } : {}, ...o.delay !== void 0 ? { triggerDelay: o.delay } : {} });
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* A TIMELINE action on layer `id` (lib/motion/timeline-control.ts): a drag (ON_DRAG) or a scroll (ON_SCROLL) scrubs a
|
|
781
|
+
* timeline, a click plays, pauses or seeks it — the frame's, or (`target: 'INSTANCE'`) the motion instance's.
|
|
782
|
+
*/
|
|
783
|
+
timelineControl(id, trigger, timeline, o = {}) {
|
|
784
|
+
const ix = interactionFor(null, v4_default(), { trigger, navigation: "TIMELINE", transition: { type: "INSTANT", duration: 0, easing: "LINEAR" }, action: { timeline } });
|
|
785
|
+
this.interact(id, o.direction ? { ...ix, dragDirection: o.direction } : ix);
|
|
786
|
+
}
|
|
787
|
+
/** Make `id` a shared element: smart animate hands it to the layer with the same key on the other frame, wherever that sits. */
|
|
788
|
+
share(id, key) {
|
|
789
|
+
this.patch(id, { sharedElement: key });
|
|
790
|
+
}
|
|
791
|
+
/** Dragging `from` orbits `target` (a pass-through group in a 3D scene) live, by the drag (ORBIT_3D). */
|
|
792
|
+
orbit(from, target, orbit = {}) {
|
|
793
|
+
this.interact(from, interactionFor(target, v4_default(), { trigger: "ON_DRAG", navigation: "ORBIT_3D", transition: { type: "INSTANT", duration: 0, easing: "LINEAR" }, action: { orbit } }));
|
|
794
|
+
}
|
|
795
|
+
/** Add `interaction` to layer `id` (made by lib/editor/prototype-connect.ts `interactionFor`, as a drag-to-link is). */
|
|
796
|
+
interact(id, interaction) {
|
|
797
|
+
const n = this.doc.nodes[id];
|
|
798
|
+
this.patch(id, { interactions: [...n.interactions ?? [], interaction] });
|
|
799
|
+
}
|
|
800
|
+
/** A master draws only its children on the pages that use it, so it carries no fill of its own. */
|
|
801
|
+
addMaster() {
|
|
802
|
+
const m = createMasterPage(this.doc, this.pageId);
|
|
803
|
+
this.doc = addNode(this.doc, { ...m, fills: [] }, this.pageId);
|
|
804
|
+
return m.id;
|
|
805
|
+
}
|
|
806
|
+
useMaster(sheetIds, masterId) {
|
|
807
|
+
const patches = assignMaster(this.doc, sheetIds, masterId);
|
|
808
|
+
const nodes = { ...this.doc.nodes };
|
|
809
|
+
for (const id in patches) nodes[id] = { ...nodes[id], ...patches[id] };
|
|
810
|
+
this.doc = { ...this.doc, nodes };
|
|
811
|
+
}
|
|
812
|
+
// ── Components ──
|
|
813
|
+
ensureComponentsPage() {
|
|
814
|
+
this.componentsPage ??= this.addPage("Components");
|
|
815
|
+
return this.componentsPage;
|
|
816
|
+
}
|
|
817
|
+
definitions(props) {
|
|
818
|
+
return Object.fromEntries(Object.entries(props ?? {}).map(([k, v]) => {
|
|
819
|
+
if (typeof v === "string") return [k, { type: "TEXT", defaultValue: v }];
|
|
820
|
+
if ("swap" in v) return [k, { type: "INSTANCE_SWAP", defaultValue: this.componentId(v.swap) }];
|
|
821
|
+
if ("image" in v) return [k, { type: "IMAGE", defaultValue: v.image }];
|
|
822
|
+
if ("number" in v) return [k, { type: "NUMBER", defaultValue: v.number, ...v.min !== void 0 ? { min: v.min } : {}, ...v.max !== void 0 ? { max: v.max } : {}, ...v.step !== void 0 ? { step: v.step } : {} }];
|
|
823
|
+
if ("color" in v) return [k, { type: "COLOR", defaultValue: this.color(v.color) }];
|
|
824
|
+
return [k, { type: "MOTION", binds: v.motion, defaultValue: v.value }];
|
|
825
|
+
}));
|
|
826
|
+
}
|
|
827
|
+
/** A component's auto-layout box (the parts `component` and each variant of `variantSet` share). */
|
|
828
|
+
componentNode(name, o, defs, y) {
|
|
829
|
+
const dir = o.direction ?? "VERTICAL";
|
|
830
|
+
return createComponent({
|
|
831
|
+
name,
|
|
832
|
+
x: 0,
|
|
833
|
+
y,
|
|
834
|
+
width: typeof o.width === "number" ? o.width : 600,
|
|
835
|
+
height: typeof o.height === "number" ? o.height : 40,
|
|
836
|
+
fills: o.fill ? this.fillOf(o.fill) : [],
|
|
837
|
+
strokes: o.stroke ? this.brandStroke(o.stroke) : [],
|
|
838
|
+
cornerRadius: o.radius ?? 0,
|
|
839
|
+
...o.clip ? { clipsContent: true } : {},
|
|
840
|
+
...o.effects ? { effects: list(o.effects) } : {},
|
|
841
|
+
layoutMode: dir,
|
|
842
|
+
padding: pad(o.padding),
|
|
843
|
+
itemSpacing: o.gap ?? 0,
|
|
844
|
+
primaryAxisAlignItems: o.justify ?? "MIN",
|
|
845
|
+
counterAxisAlignItems: o.align ?? "MIN",
|
|
846
|
+
layoutSizingHorizontal: o.width === "HUG" ? "HUG" : "FIXED",
|
|
847
|
+
layoutSizingVertical: typeof o.height === "number" ? "FIXED" : "HUG",
|
|
848
|
+
componentPropertyDefinitions: defs,
|
|
849
|
+
...o.description ? { description: o.description } : {},
|
|
850
|
+
// A motion component: its own timeline, which every instance plays on its own clock (lib/motion/instances.ts).
|
|
851
|
+
...o.timeline ? { timeline: { fps: o.timeline.fps ?? 30, duration: o.timeline.duration, ...o.timeline.markers ? { markers: o.timeline.markers } : {} } } : {}
|
|
852
|
+
});
|
|
853
|
+
}
|
|
854
|
+
/**
|
|
855
|
+
* A component on the "Components" page; `build` adds its children. Text properties bind by name; NUMBER and
|
|
856
|
+
* COLOR inputs reach layers through `bindPath` / `bindKey`, MOTION properties set each instance's playback.
|
|
857
|
+
* With `timeline` it is a motion component: presets (`cues` on its id) and keys play on its own clock.
|
|
858
|
+
*/
|
|
859
|
+
component(name, o, build) {
|
|
860
|
+
const page = this.ensureComponentsPage();
|
|
861
|
+
const c = this.componentNode(name, o, this.definitions(o.props), this.components.size * 160);
|
|
862
|
+
this.add(c, page);
|
|
863
|
+
this.components.set(name, c.id);
|
|
864
|
+
build(c.id);
|
|
865
|
+
return c.id;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* A variant set: one component per state of `axis` (`State=Idle`, `State=Hover`…), side by side in a set that
|
|
869
|
+
* holds the properties they share. The states are animation states: `changeTo` wires how an instance moves
|
|
870
|
+
* between them (present mode glides over the layers they share by name, then plays the new state's timeline).
|
|
871
|
+
* `build` fills each state; `each` gives a state its own box options (a fill, a timeline). Named
|
|
872
|
+
* `<set>/<state>` for `instance` and `changeTo`; the set's name alone is its first state.
|
|
873
|
+
*/
|
|
874
|
+
variantSet(name, axis, states, o, build, each = () => ({})) {
|
|
875
|
+
const page = this.ensureComponentsPage();
|
|
876
|
+
const set = createComponentSet({
|
|
877
|
+
name,
|
|
878
|
+
x: 0,
|
|
879
|
+
y: this.components.size * 160,
|
|
880
|
+
layoutMode: "HORIZONTAL",
|
|
881
|
+
itemSpacing: 32,
|
|
882
|
+
padding: { top: 24, right: 24, bottom: 24, left: 24 },
|
|
883
|
+
fills: [],
|
|
884
|
+
strokes: [],
|
|
885
|
+
layoutSizingHorizontal: "HUG",
|
|
886
|
+
layoutSizingVertical: "HUG",
|
|
887
|
+
primaryAxisAlignItems: "MIN",
|
|
888
|
+
counterAxisAlignItems: "MIN",
|
|
889
|
+
componentPropertyDefinitions: { [axis]: { type: "TEXT", defaultValue: states[0] }, ...this.definitions(o.props) },
|
|
890
|
+
...o.description ? { description: o.description } : {}
|
|
891
|
+
});
|
|
892
|
+
this.add(set, page);
|
|
893
|
+
const out = {};
|
|
894
|
+
for (const state of states) {
|
|
895
|
+
const c = this.componentNode(`${axis}=${state}`, { ...o, ...each(state) }, {}, 0);
|
|
896
|
+
c.variantProperties = { [axis]: state };
|
|
897
|
+
this.add(c, set.id);
|
|
898
|
+
this.components.set(`${name}/${state}`, c.id);
|
|
899
|
+
if (!this.components.has(name)) this.components.set(name, c.id);
|
|
900
|
+
out[state] = c.id;
|
|
901
|
+
build(state, c.id);
|
|
902
|
+
}
|
|
903
|
+
return out;
|
|
904
|
+
}
|
|
905
|
+
/**
|
|
906
|
+
* An interactive component's state change: on `trigger`, an instance showing `from` shows `to` instead,
|
|
907
|
+
* gliding (smart animate) for `duration` ms. ON_HOVER / ON_PRESS last while hovered or pressed.
|
|
908
|
+
*/
|
|
909
|
+
changeTo(from, trigger, to, duration = 200, easing = "EASE_OUT", on) {
|
|
910
|
+
this.interact(on ?? this.componentId(from), interactionFor(this.componentId(to), v4_default(), { trigger, navigation: "CHANGE_TO", transition: { type: "SMART_ANIMATE", duration, easing } }));
|
|
911
|
+
}
|
|
912
|
+
/** Whether a component named `name` has been made (parts shared by several sizes are made once). */
|
|
913
|
+
hasComponent(name) {
|
|
914
|
+
return this.components.has(name);
|
|
915
|
+
}
|
|
916
|
+
/** The id of the component named `name` (a variant as `<set>/<state>`): what cues on its timeline land on. */
|
|
917
|
+
componentIdOf(name) {
|
|
918
|
+
return this.componentId(name);
|
|
919
|
+
}
|
|
920
|
+
componentId(name) {
|
|
921
|
+
const id = this.components.get(name);
|
|
922
|
+
if (!id) throw new Error(`No component "${name}"`);
|
|
923
|
+
return id;
|
|
924
|
+
}
|
|
925
|
+
/** The definitions a layer's component answers with: its set's, for a variant (lib/document/instances.ts). */
|
|
926
|
+
defsOf(id) {
|
|
927
|
+
const c = owningComponent(this.doc.nodes, id);
|
|
928
|
+
return c ? componentDefinitions(this.doc.nodes, c.id) : {};
|
|
929
|
+
}
|
|
930
|
+
/** A text inside a component whose characters come from the property `prop`. */
|
|
931
|
+
propText(parent, prop, o = {}) {
|
|
932
|
+
const def = this.defsOf(parent)[prop];
|
|
933
|
+
const id = this.text(parent, String(def?.defaultValue ?? prop), { name: prop, ...o });
|
|
934
|
+
this.patch(id, { componentPropertyReferences: { characters: prop } });
|
|
935
|
+
return id;
|
|
936
|
+
}
|
|
937
|
+
/** Whether a component named `name` has been made. */
|
|
938
|
+
has(name) {
|
|
939
|
+
return this.components.has(name);
|
|
940
|
+
}
|
|
941
|
+
/** A picture inside a component that shows the IMAGE prop `prop`: each instance's own (a product card's photo). */
|
|
942
|
+
propImage(parent, prop, width, height, o = {}) {
|
|
943
|
+
const def = this.defsOf(parent)[prop];
|
|
944
|
+
if (def?.type !== "IMAGE") throw new Error(`propImage: no IMAGE property "${prop}"`);
|
|
945
|
+
const id = this.image(parent, String(def.defaultValue), width, height, { name: o.name ?? prop, ...o });
|
|
946
|
+
this.patch(id, { componentPropertyPaths: { imageUrl: prop } });
|
|
947
|
+
return id;
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Instance `id`'s properties follow fields of the record it is about (its list's, its page's, or one picked with
|
|
951
|
+
* `record`): `bindProps(card, { Title: 'title', Image: 'image' })`, by field key.
|
|
952
|
+
*/
|
|
953
|
+
bindProps(id, fields) {
|
|
954
|
+
const n = this.doc.nodes[id];
|
|
955
|
+
this.patch(id, { boundExpressions: { ...n.boundExpressions, ...Object.fromEntries(Object.entries(fields).map(([prop, key]) => [`prop:${prop}`, `item_${key}`])) } });
|
|
956
|
+
}
|
|
957
|
+
/** A nested instance inside a component whose main component comes from the INSTANCE_SWAP prop `prop`. */
|
|
958
|
+
propInstance(parent, prop, o = {}) {
|
|
959
|
+
const def = this.defsOf(parent)[prop];
|
|
960
|
+
const name = [...this.components].find(([, cid]) => cid === String(def?.defaultValue))?.[0];
|
|
961
|
+
if (!name) throw new Error(`No swap default for "${prop}"`);
|
|
962
|
+
const id = this.instance(parent, name, {}, { name: o.name ?? prop });
|
|
963
|
+
this.patch(id, { componentPropertyReferences: { mainComponent: prop } });
|
|
964
|
+
return id;
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Layer `id` (inside a component) takes `path` from the NUMBER / COLOR property `prop`: `bindPath(bg,
|
|
968
|
+
* 'fills[#0].color', 'Accent')`. The item the path addresses gets a stable id, as a key's would.
|
|
969
|
+
*/
|
|
970
|
+
bindPath(id, path, prop) {
|
|
971
|
+
if (!this.defsOf(id)[prop]) throw new Error(`bindPath: no property "${prop}"`);
|
|
972
|
+
const bound = bindPath(this.doc.nodes[id], asPath(path));
|
|
973
|
+
if (!bound) throw new Error(`bindPath: ${this.doc.nodes[id].name} has no "${path}"`);
|
|
974
|
+
this.put(id, { ...bound.node, componentPropertyPaths: { ...bound.node.componentPropertyPaths, [bound.path]: prop } });
|
|
975
|
+
}
|
|
976
|
+
/** The key of `path` at `t` on layer `id` takes its value from a property (`value · mul + add`): "fill to Percent". */
|
|
977
|
+
bindKey(id, path, t, bind) {
|
|
978
|
+
const n = this.doc.nodes[id];
|
|
979
|
+
const bound = bindPath(n, asPath(path));
|
|
980
|
+
const key = bound && n.motion?.tracks[bound.path]?.keys.find((k) => Math.abs(k.t - t) < 1);
|
|
981
|
+
if (!bound || !key) throw new Error(`bindKey: ${n.name} has no key on ${path} at ${t}`);
|
|
982
|
+
const edit = setKeysBinding(this.doc.nodes, [{ nodeId: id, path: bound.path, keyId: key.id }], bind);
|
|
983
|
+
this.put(id, { ...n, motion: edit[id] });
|
|
984
|
+
}
|
|
985
|
+
/** An instance of a named component with property values, and (for a motion component) its own playback. */
|
|
986
|
+
instance(parent, component, props = {}, o = {}) {
|
|
987
|
+
const cid = this.componentId(component);
|
|
988
|
+
const c = this.doc.nodes[cid];
|
|
989
|
+
const n = createInstanceOf(c, {
|
|
990
|
+
name: o.name ?? component.split("/")[0],
|
|
991
|
+
x: 0,
|
|
992
|
+
y: 0,
|
|
993
|
+
width: o.width === "FILL" ? this.width(parent, void 0) : o.width ?? c.width,
|
|
994
|
+
height: c.height,
|
|
995
|
+
componentProperties: Object.fromEntries(Object.entries(props).map(([k, v]) => [k, typeof v === "object" && "swap" in v ? this.componentId(v.swap) : v])),
|
|
996
|
+
...c.clipsContent ? { clipsContent: true } : {},
|
|
997
|
+
...o.playback ? { playback: o.playback } : {},
|
|
998
|
+
layoutSizingHorizontal: o.width === "FILL" ? "FILL" : c.layoutSizingHorizontal === "HUG" ? "HUG" : "FIXED",
|
|
999
|
+
layoutSizingVertical: "FIXED",
|
|
1000
|
+
...placed(o.absolute)
|
|
1001
|
+
});
|
|
1002
|
+
return this.add(n, parent).id;
|
|
1003
|
+
}
|
|
1004
|
+
/**
|
|
1005
|
+
* A variable in the collection `collection` (created on first use, one mode) — prototype state a layer binds
|
|
1006
|
+
* to and a SET_VARIABLE interaction changes, like the pricing page's `billing/yearly`.
|
|
1007
|
+
*/
|
|
1008
|
+
variable(collection, name, type, value) {
|
|
1009
|
+
let cid = this.collections.get(collection);
|
|
1010
|
+
if (!cid) {
|
|
1011
|
+
cid = v4_default();
|
|
1012
|
+
this.collections.set(collection, cid);
|
|
1013
|
+
this.doc = { ...this.doc, variableCollections: { ...this.doc.variableCollections, [cid]: { id: cid, name: collection, modes: [{ id: "Mode 1", name: "Mode 1" }], defaultModeId: "Mode 1" } } };
|
|
1014
|
+
}
|
|
1015
|
+
const id = v4_default();
|
|
1016
|
+
this.doc = { ...this.doc, variables: { ...this.doc.variables, [id]: { id, name: `${collection.toLowerCase()}/${name}`, type, variableCollectionId: cid, valuesByMode: { "Mode 1": value } } } };
|
|
1017
|
+
return id;
|
|
1018
|
+
}
|
|
1019
|
+
/**
|
|
1020
|
+
* `prop` of layer `id` follows an expression over the variables, live (`boundExpressions`, lib/document/variables.ts):
|
|
1021
|
+
* `bindExpression(bar, 'width', 'health / maxHealth * 320')`.
|
|
1022
|
+
*/
|
|
1023
|
+
bindExpression(id, prop, expression) {
|
|
1024
|
+
const n = this.doc.nodes[id];
|
|
1025
|
+
this.patch(id, { boundExpressions: { ...n.boundExpressions, [prop]: expression } });
|
|
1026
|
+
}
|
|
1027
|
+
/** `prop` of layer `id` (`visible`, `opacity`…) reads the variable `variableId` live. */
|
|
1028
|
+
bindVariable(id, prop, variableId) {
|
|
1029
|
+
const n = this.doc.nodes[id];
|
|
1030
|
+
this.patch(id, { boundVariables: { ...n.boundVariables, [prop]: variableId } });
|
|
1031
|
+
}
|
|
1032
|
+
/** On `trigger`, `id` sets the variable (or flips a boolean one): a SET_VARIABLE action. */
|
|
1033
|
+
setVariable(id, variableId, o = {}) {
|
|
1034
|
+
this.interact(id, interactionFor(null, v4_default(), {
|
|
1035
|
+
trigger: o.trigger,
|
|
1036
|
+
navigation: "SET_VARIABLE",
|
|
1037
|
+
transition: { type: "INSTANT", duration: 0, easing: "LINEAR" },
|
|
1038
|
+
action: { variableId, ...o.toggle ? { variableToggle: true } : { variableValue: o.value } }
|
|
1039
|
+
}));
|
|
1040
|
+
}
|
|
1041
|
+
/** A Set variable action (not yet on a layer): to `value`, or to `expression` worked out when it runs, gliding over `glide` ms. */
|
|
1042
|
+
static set(variableId, v) {
|
|
1043
|
+
return {
|
|
1044
|
+
navigationType: "SET_VARIABLE",
|
|
1045
|
+
destinationId: null,
|
|
1046
|
+
variableId,
|
|
1047
|
+
transition: v.glide ? { type: "DISSOLVE", duration: v.glide, easing: v.easing ?? "EASE_OUT" } : { type: "INSTANT", duration: 0, easing: "LINEAR" },
|
|
1048
|
+
...v.toggle ? { variableToggle: true } : v.expression !== void 0 ? { variableExpression: v.expression } : { variableValue: v.value }
|
|
1049
|
+
};
|
|
1050
|
+
}
|
|
1051
|
+
/** A Conditional action: the first branch whose condition holds runs its actions (a branch with no `if` is the else). */
|
|
1052
|
+
static when(branches) {
|
|
1053
|
+
return { navigationType: "CONDITIONAL", destinationId: null, transition: { type: "INSTANT", duration: 0, easing: "LINEAR" }, branches: branches.map((b) => ({ ...b.if !== void 0 ? { condition: b.if } : {}, actions: [...b.then] })) };
|
|
1054
|
+
}
|
|
1055
|
+
/** A Navigate (or overlay, back, close) action, for a Conditional's branch. */
|
|
1056
|
+
static go(to, transition = "DISSOLVE", o = {}) {
|
|
1057
|
+
return { navigationType: o.navigation ?? "NAVIGATE", destinationId: to, transition: { type: transition, duration: o.duration ?? (transition === "INSTANT" ? 0 : defaultTransitionDuration(transition)), easing: transition === "SMART_ANIMATE" || is3DTransition(transition) ? "EASE_IN_OUT" : "EASE_OUT" }, ...o.overlay };
|
|
1058
|
+
}
|
|
1059
|
+
/** A Change to action: the instance it fires on shows the variant `to` (by name), gliding over `duration` ms. */
|
|
1060
|
+
changeAction(to, duration = 200, easing = "EASE_OUT") {
|
|
1061
|
+
return { navigationType: "CHANGE_TO", destinationId: this.componentId(to), transition: { type: "SMART_ANIMATE", duration, easing } };
|
|
1062
|
+
}
|
|
1063
|
+
// ── Motion (lib/motion/author.ts, lib/motion/presets.ts) ──
|
|
1064
|
+
/**
|
|
1065
|
+
* Apply `cues` to the layers under `sheetId`, in order, through the one preset system. The layout is baked
|
|
1066
|
+
* first, since a preset measures the layer it lands on (a rise travels half the layer's smaller side).
|
|
1067
|
+
*/
|
|
1068
|
+
cues(sheetId, cues) {
|
|
1069
|
+
this.layout();
|
|
1070
|
+
for (const c of cues) {
|
|
1071
|
+
const ids = cueLayers(this.doc, sheetId, c);
|
|
1072
|
+
if (!c.stagger && ids.length > 1) throw new Error(`cue ${c.preset}: ${ids.length} layers named "${c.layer}" and no stagger`);
|
|
1073
|
+
const r = applyPresetToDocument(this.doc, ids, c.preset, { ...c.params, at: c.at, ...c.stagger ? { stagger: c.stagger } : {}, ...c.onClick ? { onClick: true } : {} });
|
|
1074
|
+
if (r.skipped.length) throw new Error(`cue ${c.preset} on "${c.layer}": ${r.skipped.map((x) => x.reason).join("; ")}`);
|
|
1075
|
+
this.doc = r.document;
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* How present mode brings a slide on (`print.transition`: what the slide panel's Transition row sets, the show
|
|
1080
|
+
* plays, and the PPTX export writes as the slide's `<p:transition>`).
|
|
1081
|
+
*/
|
|
1082
|
+
transition(sheetId, type, duration = 400) {
|
|
1083
|
+
const f = this.doc.nodes[sheetId];
|
|
1084
|
+
if (!f.print) throw new Error(`${f.name} is not a slide`);
|
|
1085
|
+
this.patch(sheetId, { print: { ...f.print, ...type === "INSTANT" ? {} : { transition: { type, duration, easing: "EASE_IN_OUT" } } } });
|
|
1086
|
+
}
|
|
1087
|
+
/**
|
|
1088
|
+
* Make each text `counts` names count (lib/motion/text-animators.ts `withCounter`: the text rests at the
|
|
1089
|
+
* finished figure, formatted), keyed on `text.counter` in its own layer time. Layout is baked again after,
|
|
1090
|
+
* since the figure a text rests at is what it is measured with.
|
|
1091
|
+
*/
|
|
1092
|
+
counts(sheetId, counts) {
|
|
1093
|
+
for (const c of counts) {
|
|
1094
|
+
const ids = cueLayers(this.doc, sheetId, { layer: c.layer, preset: "fade-in", at: c.at });
|
|
1095
|
+
if (ids.length !== 1) throw new Error(`count on "${c.layer}": ${ids.length} layers of that name`);
|
|
1096
|
+
const n = this.doc.nodes[ids[0]];
|
|
1097
|
+
if (n.type !== "TEXT") throw new Error(`count on "${c.layer}": not a text`);
|
|
1098
|
+
const counted = withCounter(n, countCounter(c));
|
|
1099
|
+
const local = c.at - timeShift(this.doc.nodes, n.id, sheetId);
|
|
1100
|
+
this.put(n.id, animate(counted, COUNTER_PATH, countKeys(c, local)));
|
|
1101
|
+
}
|
|
1102
|
+
this.layout();
|
|
1103
|
+
const tl = this.doc.nodes[sheetId].timeline;
|
|
1104
|
+
const end = Math.max(...counts.map((c) => c.at + c.duration));
|
|
1105
|
+
if (tl && tl.duration < end) throw new Error(`a count runs to ${end} ms, past the ${tl.duration} ms timeline`);
|
|
1106
|
+
}
|
|
1107
|
+
/** Make each text `swaps` names a word swap (see `Swap`), keyed in its own layer time. */
|
|
1108
|
+
swaps(sheetId, swaps) {
|
|
1109
|
+
for (const sw of swaps) {
|
|
1110
|
+
const ids = cueLayers(this.doc, sheetId, { layer: sw.layer, preset: "fade-in", at: sw.at });
|
|
1111
|
+
const n = this.doc.nodes[ids[0]];
|
|
1112
|
+
if (ids.length !== 1 || n.type !== "TEXT") throw new Error(`swap on "${sw.layer}": one text layer of that name wanted`);
|
|
1113
|
+
const shift = timeShift(this.doc.nodes, n.id, sheetId);
|
|
1114
|
+
let t = withAnimator({ ...n, characters: sw.words[0] }, { id: "swap", name: "Word swap", unit: sw.unit ?? "letter", range: { start: 0, end: 1, offset: 0 }, amount: 0, order: "forward", stagger: sw.stagger, props: { opacity: 0, translateY: sw.rise } });
|
|
1115
|
+
const times = swapTimes(sw);
|
|
1116
|
+
t = animate(t, "text.content", times.map((w) => ({ t: w.enters - shift, v: w.word, ease: ease.hold })));
|
|
1117
|
+
t = animate(t, animatorPath("swap", "amount"), times.flatMap((w) => [
|
|
1118
|
+
{ t: w.enters - shift, v: 1, ease: ease.out("expo") },
|
|
1119
|
+
{ t: w.enters + sw.in - shift, v: 0, ease: ease.hold },
|
|
1120
|
+
{ t: w.leaves - shift, v: 0, ease: ease.named("expo", "in") },
|
|
1121
|
+
{ t: w.leaves + sw.out - shift, v: 1, ease: ease.hold }
|
|
1122
|
+
]));
|
|
1123
|
+
this.put(n.id, t);
|
|
1124
|
+
}
|
|
1125
|
+
this.layout();
|
|
1126
|
+
}
|
|
1127
|
+
/**
|
|
1128
|
+
* Sequence `sheetIds` as the scenes of one composition (id `compId`): each plays its whole timeline, and
|
|
1129
|
+
* `transitions[i]` brings in scene i + 1 (lib/motion/author.ts `sceneSequence`). Behind the scenes, `ground`.
|
|
1130
|
+
*/
|
|
1131
|
+
scenes(compId, name, sheetIds, transitions, ground) {
|
|
1132
|
+
const fps = this.doc.nodes[sheetIds[0]].timeline?.fps;
|
|
1133
|
+
if (!fps) throw new Error(`${name}: the first scene has no timeline`);
|
|
1134
|
+
const comp = sceneSequence(this.doc.nodes, { id: compId, name, frames: sheetIds, fps, transitions: transitions.map((t) => t ?? null), ...ground ? { background: this.color(ground) } : {} });
|
|
1135
|
+
this.doc = { ...this.doc, compositions: { ...this.doc.compositions, [compId]: comp } };
|
|
1136
|
+
return comp;
|
|
1137
|
+
}
|
|
1138
|
+
/** A top-level frame's timeline: duration, frame rate, markers. */
|
|
1139
|
+
timeline(sheetId, tl) {
|
|
1140
|
+
this.patch(sheetId, { timeline: tl });
|
|
1141
|
+
}
|
|
1142
|
+
/** Key `path` on `id` (see `animate` in lib/motion/author.ts). */
|
|
1143
|
+
animate(id, path, keys) {
|
|
1144
|
+
this.put(id, animate(this.doc.nodes[id], path, keys));
|
|
1145
|
+
}
|
|
1146
|
+
/**
|
|
1147
|
+
* The tangent of the motion path at the position key at `t` (px from the key, broken: the other side is left as
|
|
1148
|
+
* it is) — what dragging a dot's handle on the canvas writes (lib/motion/spatial.ts `setDotTangent`).
|
|
1149
|
+
*/
|
|
1150
|
+
pathTangent(id, t, side, vec) {
|
|
1151
|
+
const n = this.doc.nodes[id];
|
|
1152
|
+
this.put(id, { ...n, motion: setDotTangent(n, n.parentId ? this.doc.nodes[n.parentId] : void 0, t, side, vec, true) });
|
|
1153
|
+
}
|
|
1154
|
+
/** Behaviours on `path` (spin, sine, wiggle…): see `behave` in lib/motion/author.ts. */
|
|
1155
|
+
behave(id, path, modifiers) {
|
|
1156
|
+
this.put(id, behave(this.doc.nodes[id], path, modifiers));
|
|
1157
|
+
}
|
|
1158
|
+
/** Replace `id` with what `fn` makes of it (a preset from lib/motion/presets.ts, say). */
|
|
1159
|
+
apply(id, fn) {
|
|
1160
|
+
this.put(id, fn(this.doc.nodes[id]));
|
|
1161
|
+
}
|
|
1162
|
+
/** `id` and its subtree start `ms` later (a layer start). */
|
|
1163
|
+
delay(id, ms) {
|
|
1164
|
+
this.put(id, delay(this.doc.nodes[id], ms));
|
|
1165
|
+
}
|
|
1166
|
+
/** `id` staggers its children `ms` apart. */
|
|
1167
|
+
stagger(id, ms, order = "index", more = {}) {
|
|
1168
|
+
this.put(id, stagger(this.doc.nodes[id], ms, order, more));
|
|
1169
|
+
}
|
|
1170
|
+
/** `id` set in the text style `name` instead (a variant's smaller headline: same style system, another step). */
|
|
1171
|
+
restyle(id, name) {
|
|
1172
|
+
this.put(id, this.styled(this.doc.nodes[id], name));
|
|
1173
|
+
}
|
|
1174
|
+
/** The nodes under `rootId` (inclusive) named `name`, in tree order — how a variant's overrides find things. */
|
|
1175
|
+
named(rootId, name) {
|
|
1176
|
+
return layersNamed(this.doc, rootId, name);
|
|
1177
|
+
}
|
|
1178
|
+
// ── Master → variants ──
|
|
1179
|
+
/**
|
|
1180
|
+
* Lay the finished master out again at each of `specs`' sizes, beside it, through the same motion-aware
|
|
1181
|
+
* magic resize the editor offers (lib/templates/resize.ts): auto layout reflows, off-frame entrances stay
|
|
1182
|
+
* off-frame, and each copy's `adjust` then makes the per-size changes by hand. Positions are baked first,
|
|
1183
|
+
* so the copies start from what the master really looks like.
|
|
1184
|
+
*/
|
|
1185
|
+
variants(masterId, specs) {
|
|
1186
|
+
this.layout();
|
|
1187
|
+
const master = this.doc;
|
|
1188
|
+
const out = [];
|
|
1189
|
+
for (const spec of specs) {
|
|
1190
|
+
const target = resizeTargetFromPreset(spec.preset);
|
|
1191
|
+
if (!target) throw new Error(`Unknown preset ${spec.preset}`);
|
|
1192
|
+
const r = magicResize(this.doc, masterId, target, void 0, { motion: false });
|
|
1193
|
+
if (!r.id) throw new Error(`Could not resize ${masterId} to ${spec.preset}`);
|
|
1194
|
+
this.doc = r.document;
|
|
1195
|
+
const sheets = this.doc.nodes[this.pageId].childIds.filter((id) => this.doc.nodes[id].print?.isPrintPage);
|
|
1196
|
+
const src = this.doc.nodes[r.id];
|
|
1197
|
+
const last = out.length ? this.doc.nodes[out[out.length - 1]] : this.doc.nodes[masterId];
|
|
1198
|
+
this.patch(r.id, { x: last.x + last.width + 120, y: 0, ...src.print ? { print: { ...src.print, index: sheets.indexOf(r.id) } } : {} });
|
|
1199
|
+
spec.adjust?.(this, r.id);
|
|
1200
|
+
this.layout();
|
|
1201
|
+
this.doc = resizeMotion(master, masterId, this.doc, r.id, r.content, r.offset);
|
|
1202
|
+
out.push(r.id);
|
|
1203
|
+
}
|
|
1204
|
+
return out;
|
|
1205
|
+
}
|
|
1206
|
+
/**
|
|
1207
|
+
* Make `masterId` responsive from its narrower copies (see `variants`): at each breakpoint the master's layers take
|
|
1208
|
+
* what their twins in that copy set differently (lib/document/breakpoints.ts `foldVariant`), so a file made from
|
|
1209
|
+
* the widest size reflows in a narrow window and in the web preview. `copies` is breakpoint id → copy, widest first.
|
|
1210
|
+
*/
|
|
1211
|
+
responsive(masterId, copies) {
|
|
1212
|
+
this.layout();
|
|
1213
|
+
for (const [breakpoint, copy] of Object.entries(copies)) this.doc = foldVariant(this.doc, masterId, copy, breakpoint);
|
|
1214
|
+
}
|
|
1215
|
+
/** Bake auto-layout positions and settle instance sizes (lib/templates/layout.ts). */
|
|
1216
|
+
finish() {
|
|
1217
|
+
this.layout();
|
|
1218
|
+
return this.doc;
|
|
1219
|
+
}
|
|
1220
|
+
/**
|
|
1221
|
+
* Bake the layout, re-measuring text as it will read (lib/templates/layout.ts `settleMeasuredLayout`): `{{brand.x}}`
|
|
1222
|
+
* tokens stand for the brand field's words (what the canvas draws), and a text whose box width the layout changed
|
|
1223
|
+
* wraps again at that width, until no text changes size.
|
|
1224
|
+
*/
|
|
1225
|
+
layout() {
|
|
1226
|
+
this.doc = settleMeasuredLayout(this.doc);
|
|
1227
|
+
}
|
|
1228
|
+
};
|
|
1229
|
+
function cueLayers(doc, rootId, cue) {
|
|
1230
|
+
const names = typeof cue.layer === "string" ? [cue.layer] : cue.layer;
|
|
1231
|
+
return names.flatMap((name) => {
|
|
1232
|
+
const ids = layersNamed(doc, rootId, name);
|
|
1233
|
+
if (!ids.length) throw new Error(`cue ${cue.preset}: no layer "${name}"`);
|
|
1234
|
+
return ids;
|
|
1235
|
+
});
|
|
1236
|
+
}
|
|
1237
|
+
function layersNamed(doc, rootId, name) {
|
|
1238
|
+
const out = [];
|
|
1239
|
+
const walk = (id) => {
|
|
1240
|
+
const n = doc.nodes[id];
|
|
1241
|
+
if (!n) return;
|
|
1242
|
+
if (n.name === name) out.push(id);
|
|
1243
|
+
for (const c of n.childIds) walk(c);
|
|
1244
|
+
};
|
|
1245
|
+
walk(rootId);
|
|
1246
|
+
return out;
|
|
1247
|
+
}
|
|
1248
|
+
var preset = (id) => {
|
|
1249
|
+
const p = presetById(id);
|
|
1250
|
+
if (!p) throw new Error(`Unknown preset ${id}`);
|
|
1251
|
+
return p;
|
|
1252
|
+
};
|
|
1253
|
+
|
|
1254
|
+
export {
|
|
1255
|
+
setKitFontFiles,
|
|
1256
|
+
hex,
|
|
1257
|
+
LOGO_PLACEHOLDERS,
|
|
1258
|
+
swapTimes,
|
|
1259
|
+
COUNT_EASE,
|
|
1260
|
+
countKeys,
|
|
1261
|
+
countCounter,
|
|
1262
|
+
Kit,
|
|
1263
|
+
cueLayers,
|
|
1264
|
+
layersNamed,
|
|
1265
|
+
preset
|
|
1266
|
+
};
|