@popcraft/kit 0.53.3 → 0.53.5
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-BU2V7K5W.js +44 -0
- package/dist/chunks/api-2LUL2ES2.js +29 -0
- package/dist/chunks/build-MKHE7M5P.js +59 -0
- package/dist/chunks/builtin-WRS6ZSPK.js +117 -0
- package/dist/chunks/buy-credits-JBM7ETTL.js +78 -0
- package/dist/chunks/check-template-H2DYU3XJ.js +2429 -0
- package/dist/chunks/chunk-223QZEIB.js +84 -0
- package/dist/chunks/chunk-26ZR64EI.js +168 -0
- package/dist/chunks/chunk-2AFX7OQH.js +88 -0
- package/dist/chunks/chunk-2DFQ5ZIV.js +312 -0
- package/dist/chunks/chunk-2GC6SKU5.js +344 -0
- package/dist/chunks/chunk-2GULWGOJ.js +358 -0
- package/dist/chunks/chunk-2HEWU4ZD.js +45 -0
- package/dist/chunks/chunk-2LXKJUQL.js +86 -0
- package/dist/chunks/chunk-2MJKBOCU.js +198 -0
- package/dist/chunks/chunk-2NPWUYSF.js +23 -0
- package/dist/chunks/chunk-2PYB5P2X.js +415 -0
- package/dist/chunks/chunk-2QHLIR4K.js +23 -0
- package/dist/chunks/chunk-2RP2Q6IO.js +83 -0
- package/dist/chunks/chunk-2TY4VR7W.js +115 -0
- package/dist/chunks/chunk-2VD44M7L.js +23 -0
- package/dist/chunks/chunk-2VPS2VLD.js +257 -0
- package/dist/chunks/chunk-2WY4F347.js +77 -0
- package/dist/chunks/chunk-2XE7UIV2.js +112 -0
- package/dist/chunks/chunk-2XSYSVU2.js +206 -0
- package/dist/chunks/chunk-32Q7DQJY.js +55 -0
- package/dist/chunks/chunk-32SVXZNG.js +206 -0
- package/dist/chunks/chunk-34GCJIW7.js +342 -0
- package/dist/chunks/chunk-35FMT7XN.js +129 -0
- package/dist/chunks/chunk-36MKAIXY.js +23 -0
- package/dist/chunks/chunk-37P7V7RW.js +122 -0
- package/dist/chunks/chunk-37ZTHQNS.js +102 -0
- package/dist/chunks/chunk-3ALUKYXI.js +33 -0
- package/dist/chunks/chunk-3CBX6YUE.js +208 -0
- package/dist/chunks/chunk-3DMYOYNM.js +261 -0
- package/dist/chunks/chunk-3E6A5FWF.js +193 -0
- package/dist/chunks/chunk-3EFH5U36.js +147 -0
- package/dist/chunks/chunk-3FGDZ33Y.js +41 -0
- package/dist/chunks/chunk-3GGPSCZ2.js +278 -0
- package/dist/chunks/chunk-3GZOM2H7.js +93 -0
- package/dist/chunks/chunk-3H2DXJQH.js +119 -0
- package/dist/chunks/chunk-3HSJEPUA.js +80 -0
- package/dist/chunks/chunk-3JOZOZKD.js +191 -0
- package/dist/chunks/chunk-3MVD3KZ3.js +155 -0
- package/dist/chunks/chunk-3OBJ4LYI.js +121 -0
- package/dist/chunks/chunk-3OW73X2B.js +346 -0
- package/dist/chunks/chunk-3PWQH7P2.js +97 -0
- package/dist/chunks/chunk-3QYNWWEM.js +282 -0
- package/dist/chunks/chunk-3R6G4PHX.js +65 -0
- package/dist/chunks/chunk-3RWCWTIU.js +87 -0
- package/dist/chunks/chunk-3STVYZVS.js +77 -0
- package/dist/chunks/chunk-3T7YYKCJ.js +260 -0
- package/dist/chunks/chunk-3TX5C4WP.js +49 -0
- package/dist/chunks/chunk-3UGCAJZH.js +157 -0
- package/dist/chunks/chunk-445A4PL7.js +283 -0
- package/dist/chunks/chunk-46IQ3PA6.js +146 -0
- package/dist/chunks/chunk-46V5SAYA.js +165 -0
- package/dist/chunks/chunk-4BFJ5C4L.js +117 -0
- package/dist/chunks/chunk-4BZV3W4C.js +320 -0
- package/dist/chunks/chunk-4CTT5J4F.js +122 -0
- package/dist/chunks/chunk-4D6LCVCB.js +164 -0
- package/dist/chunks/chunk-4DLUQAQU.js +54 -0
- package/dist/chunks/chunk-4EA7WMPE.js +248 -0
- package/dist/chunks/chunk-4G3PPUNO.js +23 -0
- package/dist/chunks/chunk-4G7VHQUV.js +1314 -0
- package/dist/chunks/chunk-4ICW47JJ.js +126 -0
- package/dist/chunks/chunk-4IR25LCR.js +167 -0
- package/dist/chunks/chunk-4JREDUEX.js +81 -0
- package/dist/chunks/chunk-4JTHODXO.js +10257 -0
- package/dist/chunks/chunk-4K3RKAUU.js +92 -0
- package/dist/chunks/chunk-4L335KW5.js +117 -0
- package/dist/chunks/chunk-4L3OCFRL.js +55 -0
- package/dist/chunks/chunk-4NNBIWUR.js +137 -0
- package/dist/chunks/chunk-4NPFEPZC.js +85 -0
- package/dist/chunks/chunk-4SXFDB43.js +33 -0
- package/dist/chunks/chunk-4VCLQ3Z3.js +70 -0
- package/dist/chunks/chunk-4XUWGKYX.js +173 -0
- package/dist/chunks/chunk-4YU2XN5R.js +93 -0
- package/dist/chunks/chunk-4ZJXERER.js +135 -0
- package/dist/chunks/chunk-524S7NN7.js +307 -0
- package/dist/chunks/chunk-53SHIU4Q.js +215 -0
- package/dist/chunks/chunk-552R23WY.js +23 -0
- package/dist/chunks/chunk-55AORW7B.js +23 -0
- package/dist/chunks/chunk-57ZPSFB4.js +199 -0
- package/dist/chunks/chunk-5AZ263I5.js +198 -0
- package/dist/chunks/chunk-5BCZWZVC.js +185 -0
- package/dist/chunks/chunk-5CG26ML2.js +28 -0
- package/dist/chunks/chunk-5CQ3S7OX.js +96 -0
- package/dist/chunks/chunk-5EIKBTZ3.js +169 -0
- package/dist/chunks/chunk-5F5AEM7E.js +564 -0
- package/dist/chunks/chunk-5F7VIEAZ.js +277 -0
- package/dist/chunks/chunk-5FBLPDJN.js +151 -0
- package/dist/chunks/chunk-5FHY65WU.js +33 -0
- package/dist/chunks/chunk-5G7A25O3.js +127 -0
- package/dist/chunks/chunk-5HPCPA2P.js +147 -0
- package/dist/chunks/chunk-5JJQB6L3.js +46 -0
- package/dist/chunks/chunk-5LHV73DD.js +111 -0
- package/dist/chunks/chunk-5LHVNH63.js +63 -0
- package/dist/chunks/chunk-5ODGJYRE.js +33 -0
- package/dist/chunks/chunk-5P22TRJ4.js +36 -0
- package/dist/chunks/chunk-5Q6EZTW5.js +231 -0
- package/dist/chunks/chunk-5R5RCFPZ.js +97 -0
- package/dist/chunks/chunk-5RHX7374.js +186 -0
- package/dist/chunks/chunk-5RWJR4NJ.js +95 -0
- package/dist/chunks/chunk-5TRJJBJB.js +78 -0
- package/dist/chunks/chunk-5UV72HBR.js +133 -0
- package/dist/chunks/chunk-5VQ4L2PX.js +305 -0
- package/dist/chunks/chunk-5WMAOJPX.js +33 -0
- package/dist/chunks/chunk-5YOSOSTM.js +177 -0
- package/dist/chunks/chunk-5ZTS6EJA.js +68 -0
- package/dist/chunks/chunk-62EGKQUM.js +382 -0
- package/dist/chunks/chunk-62OXX7UC.js +200 -0
- package/dist/chunks/chunk-63CA6JPJ.js +23 -0
- package/dist/chunks/chunk-63LTDTDL.js +240 -0
- package/dist/chunks/chunk-642B26NR.js +238 -0
- package/dist/chunks/chunk-65NK5Z3O.js +57 -0
- package/dist/chunks/chunk-67X3ACXE.js +128 -0
- package/dist/chunks/chunk-6AVXBKXK.js +135 -0
- package/dist/chunks/chunk-6BHEELOQ.js +33 -0
- package/dist/chunks/chunk-6DCJQFYY.js +167 -0
- package/dist/chunks/chunk-6DQCOUTD.js +103 -0
- package/dist/chunks/chunk-6FBYCZXU.js +93 -0
- package/dist/chunks/chunk-6FFG7TGH.js +45 -0
- package/dist/chunks/chunk-6HSYKGSD.js +378 -0
- package/dist/chunks/chunk-6JP3U7UA.js +169 -0
- package/dist/chunks/chunk-6KM47JY7.js +217 -0
- package/dist/chunks/chunk-6KSAWNBE.js +293 -0
- package/dist/chunks/chunk-6N2DM5BF.js +147 -0
- package/dist/chunks/chunk-6OE7NM7H.js +145 -0
- package/dist/chunks/chunk-6Q75HGL6.js +81 -0
- package/dist/chunks/chunk-6RFADYKA.js +166 -0
- package/dist/chunks/chunk-6TG6QAWM.js +299 -0
- package/dist/chunks/chunk-6TND7C5Y.js +110 -0
- package/dist/chunks/chunk-6V536WIL.js +154 -0
- package/dist/chunks/chunk-6VBCBWOP.js +33 -0
- package/dist/chunks/chunk-6VD657WY.js +140 -0
- package/dist/chunks/chunk-6VPHLXC4.js +160 -0
- package/dist/chunks/chunk-6WR45U2X.js +84 -0
- package/dist/chunks/chunk-6YO6MIEQ.js +177 -0
- package/dist/chunks/chunk-6Z5VWYEH.js +53 -0
- package/dist/chunks/chunk-6ZKSH73Z.js +1309 -0
- package/dist/chunks/chunk-6ZYY4ORM.js +71 -0
- package/dist/chunks/chunk-7CCYCQBH.js +66 -0
- package/dist/chunks/chunk-7CSTSDHU.js +11574 -0
- package/dist/chunks/chunk-7D6FRUWO.js +195 -0
- package/dist/chunks/chunk-7FLY3NIO.js +153 -0
- package/dist/chunks/chunk-7HPECKEF.js +79 -0
- package/dist/chunks/chunk-7HPWLQS6.js +182 -0
- package/dist/chunks/chunk-7JURMJIE.js +396 -0
- package/dist/chunks/chunk-7JVMDWBV.js +104 -0
- package/dist/chunks/chunk-7KLOGNPA.js +150 -0
- package/dist/chunks/chunk-7M2CMPUX.js +176 -0
- package/dist/chunks/chunk-7MK4ZDHO.js +192 -0
- package/dist/chunks/chunk-7NJF3TH3.js +70 -0
- package/dist/chunks/chunk-7OENRHYS.js +101 -0
- package/dist/chunks/chunk-7ON22SGH.js +184 -0
- package/dist/chunks/chunk-7QDF2APS.js +112 -0
- package/dist/chunks/chunk-7RIGITT3.js +115 -0
- package/dist/chunks/chunk-7S5CSANP.js +95 -0
- package/dist/chunks/chunk-7TIP72RJ.js +72 -0
- package/dist/chunks/chunk-7VRUTQCW.js +155 -0
- package/dist/chunks/chunk-7WBVULSO.js +170 -0
- package/dist/chunks/chunk-7Y2PALA3.js +123 -0
- package/dist/chunks/chunk-A2RY2CAX.js +160 -0
- package/dist/chunks/chunk-A2SMSORR.js +23 -0
- package/dist/chunks/chunk-A2UJNVRU.js +135 -0
- package/dist/chunks/chunk-A3VEYO5L.js +103 -0
- package/dist/chunks/chunk-A57RYMR4.js +97 -0
- package/dist/chunks/chunk-A5IFHLBZ.js +157 -0
- package/dist/chunks/chunk-A6X2EN4W.js +86 -0
- package/dist/chunks/chunk-A7HOVMZN.js +123 -0
- package/dist/chunks/chunk-ACVVH2E5.js +45 -0
- package/dist/chunks/chunk-AK3ONWAF.js +178 -0
- package/dist/chunks/chunk-ALIBTFWF.js +366 -0
- package/dist/chunks/chunk-AO4OWAMU.js +33 -0
- package/dist/chunks/chunk-AOJAL5GD.js +230 -0
- package/dist/chunks/chunk-AR6NOFFZ.js +250 -0
- package/dist/chunks/chunk-AU3JJTGG.js +23 -0
- package/dist/chunks/chunk-AUWOLKQS.js +77 -0
- package/dist/chunks/chunk-AV2ABC5Q.js +375 -0
- package/dist/chunks/chunk-AW6UPNTX.js +232 -0
- package/dist/chunks/chunk-AYZIDCLC.js +82 -0
- package/dist/chunks/chunk-AZM3IJTO.js +330 -0
- package/dist/chunks/chunk-B2QZ54WH.js +180 -0
- package/dist/chunks/chunk-B3L2QYAM.js +49 -0
- package/dist/chunks/chunk-B4E46DWT.js +71 -0
- package/dist/chunks/chunk-B4IM43BZ.js +91 -0
- package/dist/chunks/chunk-B6R7FV65.js +165 -0
- package/dist/chunks/chunk-B77EILTA.js +220 -0
- package/dist/chunks/chunk-B7HZEBBQ.js +97 -0
- package/dist/chunks/chunk-BBVS6L4D.js +33 -0
- package/dist/chunks/chunk-BCA7FVZ7.js +161 -0
- package/dist/chunks/chunk-BCDKOEII.js +1393 -0
- package/dist/chunks/chunk-BCZ4O4LH.js +298 -0
- package/dist/chunks/chunk-BDN3NNRP.js +92 -0
- package/dist/chunks/chunk-BGSZUBU2.js +192 -0
- package/dist/chunks/chunk-BGX2UF6M.js +351 -0
- package/dist/chunks/chunk-BHBTAY7U.js +95 -0
- package/dist/chunks/chunk-BI7WO47U.js +36 -0
- package/dist/chunks/chunk-BJLV77QF.js +99 -0
- package/dist/chunks/chunk-BLQXUMJR.js +45 -0
- package/dist/chunks/chunk-BREOFOUQ.js +172 -0
- package/dist/chunks/chunk-BRZECO42.js +122 -0
- package/dist/chunks/chunk-BS7BELSS.js +274 -0
- package/dist/chunks/chunk-BTFK6FEQ.js +256 -0
- package/dist/chunks/chunk-BTMEVKMQ.js +33 -0
- package/dist/chunks/chunk-BUWIUPS6.js +130 -0
- package/dist/chunks/chunk-BVUAWNNZ.js +182 -0
- package/dist/chunks/chunk-BVWDOQZU.js +173 -0
- package/dist/chunks/chunk-BWL5Z6WW.js +23 -0
- package/dist/chunks/chunk-BXMOXDAV.js +47 -0
- package/dist/chunks/chunk-BYBWYEIK.js +80 -0
- package/dist/chunks/chunk-BZ52M3IY.js +96 -0
- package/dist/chunks/chunk-BZ6YYRFN.js +192 -0
- package/dist/chunks/chunk-C35OL4EV.js +97 -0
- package/dist/chunks/chunk-C3ACV62E.js +64 -0
- package/dist/chunks/chunk-C3CZ7PYN.js +100 -0
- package/dist/chunks/chunk-C4PEAXER.js +138 -0
- package/dist/chunks/chunk-C4ZYGQYV.js +270 -0
- package/dist/chunks/chunk-C5HQ7W5H.js +80 -0
- package/dist/chunks/chunk-C6ZWXN5D.js +112 -0
- package/dist/chunks/chunk-C743GDSN.js +210 -0
- package/dist/chunks/chunk-C7L2RLFQ.js +161 -0
- package/dist/chunks/chunk-CA4Q36W5.js +1574 -0
- package/dist/chunks/chunk-CABNYHZU.js +106 -0
- package/dist/chunks/chunk-CALFDUWH.js +217 -0
- package/dist/chunks/chunk-CBEW53ZG.js +108 -0
- package/dist/chunks/chunk-CD6MHGZT.js +462 -0
- package/dist/chunks/chunk-CDO3JRU4.js +48 -0
- package/dist/chunks/chunk-CDXBZA5D.js +45 -0
- package/dist/chunks/chunk-CELGJEUJ.js +23 -0
- package/dist/chunks/chunk-CFG5GSFD.js +191 -0
- package/dist/chunks/chunk-CGDF467Q.js +23 -0
- package/dist/chunks/chunk-CGHZG4OU.js +100 -0
- package/dist/chunks/chunk-CGSP6W3M.js +225 -0
- package/dist/chunks/chunk-CHJBZFDR.js +7929 -0
- package/dist/chunks/chunk-CI5NMQRT.js +166 -0
- package/dist/chunks/chunk-CINXFP3B.js +135 -0
- package/dist/chunks/chunk-CIU45FOH.js +158 -0
- package/dist/chunks/chunk-CJFKPWKC.js +209 -0
- package/dist/chunks/chunk-CL45UKU2.js +77 -0
- package/dist/chunks/chunk-CLBYGBDU.js +173 -0
- package/dist/chunks/chunk-CLH7EX2Z.js +93 -0
- package/dist/chunks/chunk-CMKENQIB.js +85 -0
- package/dist/chunks/chunk-CNVA6GTJ.js +104 -0
- package/dist/chunks/chunk-CPKHCQQR.js +115 -0
- package/dist/chunks/chunk-CS7U3OR6.js +305 -0
- package/dist/chunks/chunk-CSAKSOAM.js +100 -0
- package/dist/chunks/chunk-CUKZDP6X.js +777 -0
- package/dist/chunks/chunk-CV3TBL53.js +274 -0
- package/dist/chunks/chunk-CV62YROB.js +165 -0
- package/dist/chunks/chunk-CVBFKGIZ.js +124 -0
- package/dist/chunks/chunk-CVNZ5O4F.js +104 -0
- package/dist/chunks/chunk-CXC2MZKM.js +172 -0
- package/dist/chunks/chunk-D2FMQCOT.js +204 -0
- package/dist/chunks/chunk-D4V3TQJT.js +88 -0
- package/dist/chunks/chunk-D4VSMNGW.js +260 -0
- package/dist/chunks/chunk-D6QSMEUI.js +74 -0
- package/dist/chunks/chunk-D7LV7MNY.js +1136 -0
- package/dist/chunks/chunk-D7YIBOO4.js +159 -0
- package/dist/chunks/chunk-DDJ3BSWY.js +138 -0
- package/dist/chunks/chunk-DE3T5K3R.js +362 -0
- package/dist/chunks/chunk-DFPAZBOX.js +54 -0
- package/dist/chunks/chunk-DHB76WZ6.js +187 -0
- package/dist/chunks/chunk-DHKB3AKB.js +23 -0
- package/dist/chunks/chunk-DMEAB4BP.js +75 -0
- package/dist/chunks/chunk-DMO3BY3X.js +255 -0
- package/dist/chunks/chunk-DO6ZXZYS.js +33 -0
- package/dist/chunks/chunk-DQ7IA4VI.js +156 -0
- package/dist/chunks/chunk-DSPA3S74.js +145 -0
- package/dist/chunks/chunk-DVM64HXW.js +94 -0
- package/dist/chunks/chunk-DVOUGWW7.js +128 -0
- package/dist/chunks/chunk-DVQA5JVV.js +101 -0
- package/dist/chunks/chunk-DWG6FRZV.js +738 -0
- package/dist/chunks/chunk-DY3YFRAX.js +36 -0
- package/dist/chunks/chunk-DZEYU22E.js +136 -0
- package/dist/chunks/chunk-E27P3BRE.js +222 -0
- package/dist/chunks/chunk-E36IO45R.js +124 -0
- package/dist/chunks/chunk-E4JYMJDP.js +244 -0
- package/dist/chunks/chunk-EBGRNYSK.js +218 -0
- package/dist/chunks/chunk-EBN7RIWX.js +214 -0
- package/dist/chunks/chunk-ED7OCLFU.js +45 -0
- package/dist/chunks/chunk-EEUDP7GD.js +80 -0
- package/dist/chunks/chunk-EFBWTRAT.js +111 -0
- package/dist/chunks/chunk-EFDNJ5OE.js +626 -0
- package/dist/chunks/chunk-EGFAPCBJ.js +261 -0
- package/dist/chunks/chunk-EGGGRUSB.js +174 -0
- package/dist/chunks/chunk-EI7XRO7N.js +163 -0
- package/dist/chunks/chunk-EKTQ5FCW.js +154 -0
- package/dist/chunks/chunk-EL5ADY6P.js +23 -0
- package/dist/chunks/chunk-ELLCKR4C.js +23 -0
- package/dist/chunks/chunk-ENHXX3CX.js +130 -0
- package/dist/chunks/chunk-ENO5QFID.js +130 -0
- package/dist/chunks/chunk-EOBGAEYF.js +91 -0
- package/dist/chunks/chunk-EOUPFJCR.js +85 -0
- package/dist/chunks/chunk-ERI55FUX.js +94 -0
- package/dist/chunks/chunk-ESA4AFPU.js +189 -0
- package/dist/chunks/chunk-ESHOO6PC.js +170 -0
- package/dist/chunks/chunk-ESUEH4WJ.js +422 -0
- package/dist/chunks/chunk-EUYQDDZ5.js +49 -0
- package/dist/chunks/chunk-F5D27S35.js +130 -0
- package/dist/chunks/chunk-F7TRDSNK.js +181 -0
- package/dist/chunks/chunk-FAXGLXJU.js +45 -0
- package/dist/chunks/chunk-FCMARVF7.js +39 -0
- package/dist/chunks/chunk-FHNL42RK.js +102 -0
- package/dist/chunks/chunk-FIZ6KVRU.js +95 -0
- package/dist/chunks/chunk-FJRMPZOM.js +272 -0
- package/dist/chunks/chunk-FMIJQINC.js +298 -0
- package/dist/chunks/chunk-FOFVSDQA.js +301 -0
- package/dist/chunks/chunk-FRBRIDLZ.js +110 -0
- package/dist/chunks/chunk-FSUZ2XGH.js +279 -0
- package/dist/chunks/chunk-FSYUTNRN.js +180 -0
- package/dist/chunks/chunk-FVG4CTXH.js +62 -0
- package/dist/chunks/chunk-FVGZSI5Q.js +1403 -0
- package/dist/chunks/chunk-FVT6NHVM.js +79 -0
- package/dist/chunks/chunk-FVZTTSKQ.js +152 -0
- package/dist/chunks/chunk-FXFSFWZJ.js +104 -0
- package/dist/chunks/chunk-FXLNAF2O.js +30 -0
- package/dist/chunks/chunk-FXPA3GQC.js +79 -0
- package/dist/chunks/chunk-FZF7OQHL.js +90 -0
- package/dist/chunks/chunk-FZTXHKQZ.js +107 -0
- package/dist/chunks/chunk-FZVETRE3.js +187 -0
- package/dist/chunks/chunk-G27HUNKQ.js +198 -0
- package/dist/chunks/chunk-G2R7YEPR.js +282 -0
- package/dist/chunks/chunk-G2UEWEN2.js +361 -0
- package/dist/chunks/chunk-G3SUQ3V3.js +43 -0
- package/dist/chunks/chunk-G4DEJFDU.js +51 -0
- package/dist/chunks/chunk-G53FIV7D.js +55 -0
- package/dist/chunks/chunk-G7RI3ATT.js +85 -0
- package/dist/chunks/chunk-GAH5PZR7.js +45 -0
- package/dist/chunks/chunk-GBDVY5BW.js +196 -0
- package/dist/chunks/chunk-GCOX6QEL.js +179 -0
- package/dist/chunks/chunk-GCP5MFLQ.js +110 -0
- package/dist/chunks/chunk-GFS6Q4RO.js +226 -0
- package/dist/chunks/chunk-GGMN3MWT.js +117 -0
- package/dist/chunks/chunk-GMI2HF52.js +129 -0
- package/dist/chunks/chunk-GMI4GEU6.js +23 -0
- package/dist/chunks/chunk-GMVZIXR5.js +284 -0
- package/dist/chunks/chunk-GNRHJYDT.js +92 -0
- package/dist/chunks/chunk-GQL3WJ3S.js +171 -0
- package/dist/chunks/chunk-GQXBYTFD.js +71 -0
- package/dist/chunks/chunk-GSP7V7GB.js +127 -0
- package/dist/chunks/chunk-GU7YU5P4.js +118 -0
- package/dist/chunks/chunk-GUGLMJLH.js +80 -0
- package/dist/chunks/chunk-GVCNGEA6.js +23 -0
- package/dist/chunks/chunk-GWTVSL3N.js +106 -0
- package/dist/chunks/chunk-GXWBEOY2.js +103 -0
- package/dist/chunks/chunk-GYFPCSIH.js +180 -0
- package/dist/chunks/chunk-H4SDO7BT.js +162 -0
- package/dist/chunks/chunk-H4YRARFP.js +224 -0
- package/dist/chunks/chunk-HAMGDDIU.js +261 -0
- package/dist/chunks/chunk-HBHT5CKU.js +215 -0
- package/dist/chunks/chunk-HDYZNS2U.js +184 -0
- package/dist/chunks/chunk-HEG7XNMY.js +84 -0
- package/dist/chunks/chunk-HEN7BMQC.js +99 -0
- package/dist/chunks/chunk-HF3GQO2C.js +70 -0
- package/dist/chunks/chunk-HGONHZ3Q.js +113 -0
- package/dist/chunks/chunk-HHPOL5IR.js +164 -0
- package/dist/chunks/chunk-HI4U7NL3.js +277 -0
- package/dist/chunks/chunk-HKW5QFDH.js +204 -0
- package/dist/chunks/chunk-HL4BM2AW.js +55 -0
- package/dist/chunks/chunk-HM2VG5OO.js +97 -0
- package/dist/chunks/chunk-HO4MGZEX.js +23 -0
- package/dist/chunks/chunk-HP6TQZSZ.js +140 -0
- package/dist/chunks/chunk-HPX6ZG4G.js +197 -0
- package/dist/chunks/chunk-HQHQBZDR.js +146 -0
- package/dist/chunks/chunk-HQIYIZ37.js +225 -0
- package/dist/chunks/chunk-HS4JOMNE.js +23 -0
- package/dist/chunks/chunk-HSPT7NQI.js +163 -0
- package/dist/chunks/chunk-HTAY44UJ.js +125 -0
- package/dist/chunks/chunk-HUPTGVQJ.js +163 -0
- package/dist/chunks/chunk-HWKS7RW2.js +152 -0
- package/dist/chunks/chunk-HX5XUKLP.js +589 -0
- package/dist/chunks/chunk-HZ3C272Q.js +567 -0
- package/dist/chunks/chunk-I2BUIYVD.js +118 -0
- package/dist/chunks/chunk-I3CDG5WH.js +81 -0
- package/dist/chunks/chunk-I6COFDEH.js +282 -0
- package/dist/chunks/chunk-I6CYAYSR.js +108 -0
- package/dist/chunks/chunk-IC3VEUTZ.js +197 -0
- package/dist/chunks/chunk-IDS3CV4V.js +334 -0
- package/dist/chunks/chunk-IDSIBKTL.js +121 -0
- package/dist/chunks/chunk-IDTIMCT5.js +270 -0
- package/dist/chunks/chunk-IDWU62UQ.js +149 -0
- package/dist/chunks/chunk-IE3RSRGB.js +159 -0
- package/dist/chunks/chunk-IEBF37LI.js +287 -0
- package/dist/chunks/chunk-IEH3UJPI.js +224 -0
- package/dist/chunks/chunk-IESOL5FJ.js +152 -0
- package/dist/chunks/chunk-IF3WU5O6.js +47 -0
- package/dist/chunks/chunk-IGDDIDGK.js +33 -0
- package/dist/chunks/chunk-IH2IIANW.js +181 -0
- package/dist/chunks/chunk-IH2L5IJV.js +213 -0
- package/dist/chunks/chunk-IIRQUZWG.js +36 -0
- package/dist/chunks/chunk-ILIQT73O.js +150 -0
- package/dist/chunks/chunk-IM65O52D.js +23 -0
- package/dist/chunks/chunk-IMYIO6IV.js +153 -0
- package/dist/chunks/chunk-IMZQPZ64.js +84 -0
- package/dist/chunks/chunk-INT6WBRI.js +45 -0
- package/dist/chunks/chunk-IO33RNWF.js +79 -0
- package/dist/chunks/chunk-IORY5R5R.js +261 -0
- package/dist/chunks/chunk-IP3WLXLC.js +176 -0
- package/dist/chunks/chunk-IQO332AR.js +209 -0
- package/dist/chunks/chunk-IUSFK5PQ.js +30 -0
- package/dist/chunks/chunk-IW4IU3KA.js +74 -0
- package/dist/chunks/chunk-IXMTB4O4.js +166 -0
- package/dist/chunks/chunk-IXNRZNII.js +70 -0
- package/dist/chunks/chunk-J2CAIU23.js +156 -0
- package/dist/chunks/chunk-J5TIMX4T.js +204 -0
- package/dist/chunks/chunk-J6Z2RBVT.js +33 -0
- package/dist/chunks/chunk-JATD6CVG.js +175 -0
- package/dist/chunks/chunk-JBLUNTQ5.js +304 -0
- package/dist/chunks/chunk-JCGSTIA7.js +151 -0
- package/dist/chunks/chunk-JCTGQT4L.js +358 -0
- package/dist/chunks/chunk-JFXOAA4Z.js +172 -0
- package/dist/chunks/chunk-JHG3V54T.js +251 -0
- package/dist/chunks/chunk-JHH3L6NP.js +360 -0
- package/dist/chunks/chunk-JISID25N.js +497 -0
- package/dist/chunks/chunk-JL63EF5K.js +189 -0
- package/dist/chunks/chunk-JNRLNV3T.js +23 -0
- package/dist/chunks/chunk-JPZNEZ2G.js +106 -0
- package/dist/chunks/chunk-JQ7NWUIJ.js +156 -0
- package/dist/chunks/chunk-JRKHG2OJ.js +48 -0
- package/dist/chunks/chunk-JTMLQA5Z.js +53 -0
- package/dist/chunks/chunk-JU52A3P6.js +255 -0
- package/dist/chunks/chunk-JUG2KEVH.js +249 -0
- package/dist/chunks/chunk-JVA3FMHI.js +100 -0
- package/dist/chunks/chunk-K3FGLDPE.js +239 -0
- package/dist/chunks/chunk-K5PDCAYR.js +60 -0
- package/dist/chunks/chunk-K65QFCH4.js +300 -0
- package/dist/chunks/chunk-K7KP4ZHJ.js +100 -0
- package/dist/chunks/chunk-KB3C37J7.js +195 -0
- package/dist/chunks/chunk-KC7CTHIZ.js +108 -0
- package/dist/chunks/chunk-KCOQJABJ.js +82 -0
- package/dist/chunks/chunk-KESEK3WN.js +45 -0
- package/dist/chunks/chunk-KFWJTI3V.js +361 -0
- package/dist/chunks/chunk-KG3SKMP2.js +276 -0
- package/dist/chunks/chunk-KHYVU4EN.js +149 -0
- package/dist/chunks/chunk-KITTANEK.js +100 -0
- package/dist/chunks/chunk-KKSAY7EB.js +76 -0
- package/dist/chunks/chunk-KKT6D3BZ.js +155 -0
- package/dist/chunks/chunk-KMDQPNBK.js +38 -0
- package/dist/chunks/chunk-KN4C524L.js +898 -0
- package/dist/chunks/chunk-KNFOTI5L.js +198 -0
- package/dist/chunks/chunk-KNJKEYCO.js +100 -0
- package/dist/chunks/chunk-KQHST2CP.js +206 -0
- package/dist/chunks/chunk-KQKWP5IH.js +143 -0
- package/dist/chunks/chunk-KRKIUNKW.js +52 -0
- package/dist/chunks/chunk-KRSZOTQM.js +103 -0
- package/dist/chunks/chunk-KRZEOWRO.js +23 -0
- package/dist/chunks/chunk-KT74PCIN.js +198 -0
- package/dist/chunks/chunk-KTG5TWSK.js +93 -0
- package/dist/chunks/chunk-KTKPPFAZ.js +63 -0
- package/dist/chunks/chunk-KU6DQNNP.js +106 -0
- package/dist/chunks/chunk-KWM67UU5.js +266 -0
- package/dist/chunks/chunk-KXAG5KLT.js +197 -0
- package/dist/chunks/chunk-KXZ2MJLL.js +187 -0
- package/dist/chunks/chunk-L2CJCB3D.js +98 -0
- package/dist/chunks/chunk-L2HNYQK3.js +83 -0
- package/dist/chunks/chunk-L4O3RZLD.js +137 -0
- package/dist/chunks/chunk-L4SXAE47.js +101 -0
- package/dist/chunks/chunk-L5C7CA4N.js +262 -0
- package/dist/chunks/chunk-L6HFT6SI.js +198 -0
- package/dist/chunks/chunk-LA44ZNPJ.js +287 -0
- package/dist/chunks/chunk-LEODQIGC.js +226 -0
- package/dist/chunks/chunk-LFCWZCL4.js +237 -0
- package/dist/chunks/chunk-LGNJ44SO.js +122 -0
- package/dist/chunks/chunk-LGPRILVA.js +200 -0
- package/dist/chunks/chunk-LH4EF7WS.js +177 -0
- package/dist/chunks/chunk-LHZXBPGT.js +69 -0
- package/dist/chunks/chunk-LIQOD3OU.js +290 -0
- package/dist/chunks/chunk-LJ576S2V.js +135 -0
- package/dist/chunks/chunk-LKNIPL2H.js +261 -0
- package/dist/chunks/chunk-LLIWJP5S.js +115 -0
- package/dist/chunks/chunk-LM6B56PY.js +338 -0
- package/dist/chunks/chunk-LNJLKT7A.js +78 -0
- package/dist/chunks/chunk-LNZI24IA.js +178 -0
- package/dist/chunks/chunk-LOQZBYNB.js +805 -0
- package/dist/chunks/chunk-LR5VYYFU.js +49 -0
- package/dist/chunks/chunk-LS646CVT.js +183 -0
- package/dist/chunks/chunk-LTDW3KUU.js +97 -0
- package/dist/chunks/chunk-LVQFK5RJ.js +127 -0
- package/dist/chunks/chunk-LXJQFATF.js +33 -0
- package/dist/chunks/chunk-LY7RXVY3.js +218 -0
- package/dist/chunks/chunk-LYVYGEQQ.js +45 -0
- package/dist/chunks/chunk-M665OREL.js +559 -0
- package/dist/chunks/chunk-M6QMVB75.js +141 -0
- package/dist/chunks/chunk-M6SCBXLP.js +33 -0
- package/dist/chunks/chunk-M6VKCW7E.js +66 -0
- package/dist/chunks/chunk-M7B2D2I7.js +247 -0
- package/dist/chunks/chunk-MALFH4QS.js +178 -0
- package/dist/chunks/chunk-MAQIBVYC.js +138 -0
- package/dist/chunks/chunk-MCZE6PKY.js +109 -0
- package/dist/chunks/chunk-MGEYWWBR.js +91 -0
- package/dist/chunks/chunk-MJI67VHI.js +36 -0
- package/dist/chunks/chunk-MJNO34KG.js +118 -0
- package/dist/chunks/chunk-ML6LA6PU.js +41 -0
- package/dist/chunks/chunk-MMKXVDYY.js +114 -0
- package/dist/chunks/chunk-MMUF7LA3.js +131 -0
- package/dist/chunks/chunk-MMXDFAMM.js +33 -0
- package/dist/chunks/chunk-MNHNA7PV.js +175 -0
- package/dist/chunks/chunk-MPFGNP5M.js +106 -0
- package/dist/chunks/chunk-MPY2EL63.js +142 -0
- package/dist/chunks/chunk-MRP64N63.js +95 -0
- package/dist/chunks/chunk-MUTQIBRF.js +115 -0
- package/dist/chunks/chunk-MUZYQBCR.js +162 -0
- package/dist/chunks/chunk-MVLHTIKA.js +326 -0
- package/dist/chunks/chunk-MVPRP5UI.js +366 -0
- package/dist/chunks/chunk-MWHTKTIT.js +368 -0
- package/dist/chunks/chunk-MWKRLGPZ.js +170 -0
- package/dist/chunks/chunk-MXIJUG2C.js +260 -0
- package/dist/chunks/chunk-MYQVQJUH.js +33 -0
- package/dist/chunks/chunk-N3F5XANE.js +75 -0
- package/dist/chunks/chunk-N55E3GBY.js +252 -0
- package/dist/chunks/chunk-N66KJT2M.js +157 -0
- package/dist/chunks/chunk-N6ROVGBO.js +73 -0
- package/dist/chunks/chunk-N76TBBCV.js +331 -0
- package/dist/chunks/chunk-NA6Y5LCL.js +202 -0
- package/dist/chunks/chunk-NAZCMVPG.js +172 -0
- package/dist/chunks/chunk-NBDNXK7L.js +150 -0
- package/dist/chunks/chunk-NBKVTXXK.js +112 -0
- package/dist/chunks/chunk-NCVQD23A.js +102 -0
- package/dist/chunks/chunk-NEHBWMHD.js +94 -0
- package/dist/chunks/chunk-NEMISXGQ.js +196 -0
- package/dist/chunks/chunk-NESMFHUI.js +97 -0
- package/dist/chunks/chunk-NGKWTRGC.js +89 -0
- package/dist/chunks/chunk-NGYWHBRO.js +10426 -0
- package/dist/chunks/chunk-NJ6DY74T.js +23 -0
- package/dist/chunks/chunk-NJAXL5ZL.js +23 -0
- package/dist/chunks/chunk-NL2C3DKL.js +130 -0
- package/dist/chunks/chunk-NLFJPE25.js +209 -0
- package/dist/chunks/chunk-NLTZB2YB.js +111 -0
- package/dist/chunks/chunk-NM7ITLQ5.js +331 -0
- package/dist/chunks/chunk-NMSNKHJY.js +150 -0
- package/dist/chunks/chunk-NNDR746E.js +23 -0
- package/dist/chunks/chunk-NPZ4O3W5.js +90 -0
- package/dist/chunks/chunk-NQ7MVFWW.js +231 -0
- package/dist/chunks/chunk-NQPFEURS.js +93 -0
- package/dist/chunks/chunk-NRDLMXTL.js +122 -0
- package/dist/chunks/chunk-NRVZ5H3V.js +45 -0
- package/dist/chunks/chunk-NUA5CRZS.js +36 -0
- package/dist/chunks/chunk-NVJCUUIF.js +41 -0
- package/dist/chunks/chunk-NW3QB37S.js +97 -0
- package/dist/chunks/chunk-NY5MGX3O.js +158 -0
- package/dist/chunks/chunk-NY5YEXE3.js +97 -0
- package/dist/chunks/chunk-O3YLBFAE.js +23 -0
- package/dist/chunks/chunk-O4WR2IOH.js +130 -0
- package/dist/chunks/chunk-O746RQDR.js +161 -0
- package/dist/chunks/chunk-OCKLF4F3.js +151 -0
- package/dist/chunks/chunk-OCN4J22F.js +147 -0
- package/dist/chunks/chunk-ODTHQCB2.js +146 -0
- package/dist/chunks/chunk-OFBWTZDZ.js +33 -0
- package/dist/chunks/chunk-OGTAQSV6.js +131 -0
- package/dist/chunks/chunk-OIMOPTYD.js +151 -0
- package/dist/chunks/chunk-OKRQK77T.js +60 -0
- package/dist/chunks/chunk-OMIZ3MNS.js +728 -0
- package/dist/chunks/chunk-OMZAYT2H.js +399 -0
- package/dist/chunks/chunk-OOBRGSTY.js +79 -0
- package/dist/chunks/chunk-OPCBB7Y6.js +160 -0
- package/dist/chunks/chunk-ORZRT64S.js +120 -0
- package/dist/chunks/chunk-OSLABB56.js +228 -0
- package/dist/chunks/chunk-OTRGB547.js +81 -0
- package/dist/chunks/chunk-OUUWVOO7.js +171 -0
- package/dist/chunks/chunk-OV6GUHZC.js +78 -0
- package/dist/chunks/chunk-OWVRXWD6.js +139 -0
- package/dist/chunks/chunk-OYZSGTJT.js +102 -0
- package/dist/chunks/chunk-P2BVGBDS.js +200 -0
- package/dist/chunks/chunk-P2NLH7ZP.js +152 -0
- package/dist/chunks/chunk-P2Q42U7U.js +105 -0
- package/dist/chunks/chunk-P3NZD24X.js +107 -0
- package/dist/chunks/chunk-P5WSC6BZ.js +122 -0
- package/dist/chunks/chunk-P7BQNFB5.js +86 -0
- package/dist/chunks/chunk-PATZRRJZ.js +231 -0
- package/dist/chunks/chunk-PAXX77YR.js +134 -0
- package/dist/chunks/chunk-PD7DWAVL.js +86 -0
- package/dist/chunks/chunk-PE3QMPCK.js +120 -0
- package/dist/chunks/chunk-PEG3XJD4.js +23 -0
- package/dist/chunks/chunk-PFOPR73W.js +133 -0
- package/dist/chunks/chunk-PGI6NGZA.js +115 -0
- package/dist/chunks/chunk-PHVPQS74.js +152 -0
- package/dist/chunks/chunk-PLFS3WTV.js +110 -0
- package/dist/chunks/chunk-PN3BXDPP.js +150 -0
- package/dist/chunks/chunk-POA25KNW.js +23 -0
- package/dist/chunks/chunk-PPFSTAIC.js +66 -0
- package/dist/chunks/chunk-PQXOGTF4.js +128 -0
- package/dist/chunks/chunk-PR5X4OFZ.js +234 -0
- package/dist/chunks/chunk-PSA3VXP3.js +82 -0
- package/dist/chunks/chunk-PTDVOJXR.js +315 -0
- package/dist/chunks/chunk-PTFRJVAP.js +99 -0
- package/dist/chunks/chunk-PTWMYRV4.js +45 -0
- package/dist/chunks/chunk-PULNEOS7.js +149 -0
- package/dist/chunks/chunk-PWQEPAQC.js +209 -0
- package/dist/chunks/chunk-PXEJZKT6.js +106 -0
- package/dist/chunks/chunk-PXN3LBYM.js +39 -0
- package/dist/chunks/chunk-PYSOTUZP.js +30 -0
- package/dist/chunks/chunk-PZQENXFO.js +133 -0
- package/dist/chunks/chunk-Q2JUSVPP.js +100 -0
- package/dist/chunks/chunk-Q7HRZ3ZH.js +131 -0
- package/dist/chunks/chunk-QBDKREEU.js +337 -0
- package/dist/chunks/chunk-QCHBOQ7Y.js +109 -0
- package/dist/chunks/chunk-QESO6BHM.js +33 -0
- package/dist/chunks/chunk-QILMMDTK.js +121 -0
- package/dist/chunks/chunk-QIQIEFUY.js +174 -0
- package/dist/chunks/chunk-QJJTUIPH.js +267 -0
- package/dist/chunks/chunk-QLP4QCMU.js +209 -0
- package/dist/chunks/chunk-QLQMJEEU.js +80 -0
- package/dist/chunks/chunk-QLZEGLQB.js +136 -0
- package/dist/chunks/chunk-QMHR62B6.js +1975 -0
- package/dist/chunks/chunk-QN5VGD7Q.js +297 -0
- package/dist/chunks/chunk-QN7BI3YK.js +98 -0
- package/dist/chunks/chunk-QNBRJ2SY.js +139 -0
- package/dist/chunks/chunk-QO6OES63.js +161 -0
- package/dist/chunks/chunk-QOWJT57N.js +194 -0
- package/dist/chunks/chunk-QQ57HXDW.js +60 -0
- package/dist/chunks/chunk-QQ5VA2B3.js +327 -0
- package/dist/chunks/chunk-QR5V2MKI.js +111 -0
- package/dist/chunks/chunk-QRZLOOUU.js +95 -0
- package/dist/chunks/chunk-QS3N7CSV.js +179 -0
- package/dist/chunks/chunk-QS7RO3LD.js +61 -0
- package/dist/chunks/chunk-QSAQUMRD.js +141 -0
- package/dist/chunks/chunk-QSEIR3MN.js +363 -0
- package/dist/chunks/chunk-QTEQNQ4M.js +305 -0
- package/dist/chunks/chunk-QVLBQHBK.js +214 -0
- package/dist/chunks/chunk-QWEHRZUR.js +133 -0
- package/dist/chunks/chunk-R3DWMKLT.js +94 -0
- package/dist/chunks/chunk-R3L5ZVRD.js +345 -0
- package/dist/chunks/chunk-R3YIEYD4.js +262 -0
- package/dist/chunks/chunk-R7STEOUL.js +42 -0
- package/dist/chunks/chunk-RBDTVHAK.js +145 -0
- package/dist/chunks/chunk-REQOBENI.js +90 -0
- package/dist/chunks/chunk-RFHPKQA6.js +212 -0
- package/dist/chunks/chunk-RGL2EIK4.js +181 -0
- package/dist/chunks/chunk-RHDVCXRG.js +33 -0
- package/dist/chunks/chunk-RJKQVHP3.js +107 -0
- package/dist/chunks/chunk-RJQ4GXRB.js +74 -0
- package/dist/chunks/chunk-RKLUASEF.js +139 -0
- package/dist/chunks/chunk-RM6LNUZJ.js +113 -0
- package/dist/chunks/chunk-RNNGK6VY.js +78 -0
- package/dist/chunks/chunk-ROFWM2VD.js +194 -0
- package/dist/chunks/chunk-RQKSRU2T.js +102 -0
- package/dist/chunks/chunk-RTLXYE42.js +182 -0
- package/dist/chunks/chunk-RTTPFE4U.js +119 -0
- package/dist/chunks/chunk-RU42F4MZ.js +170 -0
- package/dist/chunks/chunk-RU76TVWG.js +169 -0
- package/dist/chunks/chunk-RUV5W4D3.js +166 -0
- package/dist/chunks/chunk-RUYQ57NR.js +190 -0
- package/dist/chunks/chunk-RWGLGWCB.js +197 -0
- package/dist/chunks/chunk-RXZFHIJJ.js +155 -0
- package/dist/chunks/chunk-S3TT6MSF.js +78 -0
- package/dist/chunks/chunk-S5OY4E3N.js +149 -0
- package/dist/chunks/chunk-S6IW3WWA.js +488 -0
- package/dist/chunks/chunk-S7P2L57I.js +23 -0
- package/dist/chunks/chunk-S7PTNEEN.js +141 -0
- package/dist/chunks/chunk-S7Q4QTUN.js +95 -0
- package/dist/chunks/chunk-SBC4UUTW.js +33 -0
- package/dist/chunks/chunk-SBT6MPYX.js +90 -0
- package/dist/chunks/chunk-SCAVDO4J.js +104 -0
- package/dist/chunks/chunk-SEU2WGLC.js +126 -0
- package/dist/chunks/chunk-SG5KJFN4.js +174 -0
- package/dist/chunks/chunk-SGCRC64Y.js +303 -0
- package/dist/chunks/chunk-SGEAYHPD.js +250 -0
- package/dist/chunks/chunk-SGOB2ICO.js +33 -0
- package/dist/chunks/chunk-SHWSH7BQ.js +108 -0
- package/dist/chunks/chunk-SIPOAXT6.js +53 -0
- package/dist/chunks/chunk-SJPP43HT.js +163 -0
- package/dist/chunks/chunk-SMRB42HC.js +44 -0
- package/dist/chunks/chunk-SN5MC7QR.js +44 -0
- package/dist/chunks/chunk-SNUOMWEA.js +119 -0
- package/dist/chunks/chunk-SOHFY2JH.js +156 -0
- package/dist/chunks/chunk-SQGBKH3E.js +146 -0
- package/dist/chunks/chunk-SRBRN3VS.js +78 -0
- package/dist/chunks/chunk-SSIJMUZP.js +73 -0
- package/dist/chunks/chunk-ST2W4RCU.js +221 -0
- package/dist/chunks/chunk-SU7ZEBH3.js +105 -0
- package/dist/chunks/chunk-SUAMGAL2.js +108 -0
- package/dist/chunks/chunk-SUK3AG25.js +115 -0
- package/dist/chunks/chunk-SV2UQJVI.js +106 -0
- package/dist/chunks/chunk-SVUOZLZZ.js +242 -0
- package/dist/chunks/chunk-SY3KZGGN.js +401 -0
- package/dist/chunks/chunk-SYBLNKMV.js +651 -0
- package/dist/chunks/chunk-SYX4LC5D.js +141 -0
- package/dist/chunks/chunk-T2C2LAI5.js +157 -0
- package/dist/chunks/chunk-T2HFGLTJ.js +119 -0
- package/dist/chunks/chunk-T6PGMVGK.js +159 -0
- package/dist/chunks/chunk-TCD7UN3D.js +45 -0
- package/dist/chunks/chunk-TEREU6KB.js +122 -0
- package/dist/chunks/chunk-TEZ3U226.js +320 -0
- package/dist/chunks/chunk-THDSGLGR.js +55 -0
- package/dist/chunks/chunk-TILIYETX.js +23 -0
- package/dist/chunks/chunk-TMBNHPJF.js +36 -0
- package/dist/chunks/chunk-TN2WFJGQ.js +33 -0
- package/dist/chunks/chunk-TNGQKZTQ.js +311 -0
- package/dist/chunks/chunk-TNSIGDVE.js +145 -0
- package/dist/chunks/chunk-TOLP5EU7.js +199 -0
- package/dist/chunks/chunk-TP5EAIAP.js +324 -0
- package/dist/chunks/chunk-TPBIYAOJ.js +213 -0
- package/dist/chunks/chunk-TQATK6U6.js +77 -0
- package/dist/chunks/chunk-TS3FI7DW.js +170 -0
- package/dist/chunks/chunk-TSTOJVHD.js +84 -0
- package/dist/chunks/chunk-TTM6GYXY.js +42 -0
- package/dist/chunks/chunk-TWJYBR52.js +221 -0
- package/dist/chunks/chunk-TWRS3H3S.js +226 -0
- package/dist/chunks/chunk-TXL6Y3HI.js +33 -0
- package/dist/chunks/chunk-TZ4TSWBR.js +71 -0
- package/dist/chunks/chunk-U22E4LML.js +390 -0
- package/dist/chunks/chunk-U2KHV6AI.js +90 -0
- package/dist/chunks/chunk-U3FY2H4E.js +48 -0
- package/dist/chunks/chunk-U5ASMU4W.js +503 -0
- package/dist/chunks/chunk-U5EXHTBB.js +94 -0
- package/dist/chunks/chunk-U5MWFZ5Z.js +114 -0
- package/dist/chunks/chunk-U6DSHD5P.js +224 -0
- package/dist/chunks/chunk-U7VCSJZU.js +123 -0
- package/dist/chunks/chunk-UBDFVFH3.js +77 -0
- package/dist/chunks/chunk-UCAHBPB6.js +172 -0
- package/dist/chunks/chunk-UCGZ6DEK.js +265 -0
- package/dist/chunks/chunk-UCUPGBWW.js +181 -0
- package/dist/chunks/chunk-UD7CCUBZ.js +210 -0
- package/dist/chunks/chunk-UFSZDMBQ.js +33 -0
- package/dist/chunks/chunk-UHAKDRS3.js +142 -0
- package/dist/chunks/chunk-UHCPOIIG.js +36 -0
- package/dist/chunks/chunk-UINZKVRH.js +41 -0
- package/dist/chunks/chunk-UKCR6ADD.js +52 -0
- package/dist/chunks/chunk-UNFPWZPR.js +283 -0
- package/dist/chunks/chunk-UO4QF6MQ.js +30 -0
- package/dist/chunks/chunk-UPBGJYEC.js +166 -0
- package/dist/chunks/chunk-UQISEHMD.js +105 -0
- package/dist/chunks/chunk-URHKBRNZ.js +122 -0
- package/dist/chunks/chunk-US65MSZL.js +102 -0
- package/dist/chunks/chunk-UTDF3XDV.js +938 -0
- package/dist/chunks/chunk-UVMLPGHQ.js +144 -0
- package/dist/chunks/chunk-UVPVVBOS.js +23 -0
- package/dist/chunks/chunk-UVVH4MP4.js +196 -0
- package/dist/chunks/chunk-UWCUV52B.js +48 -0
- package/dist/chunks/chunk-UWTJ2DG2.js +258 -0
- package/dist/chunks/chunk-UX2LZUDE.js +120 -0
- package/dist/chunks/chunk-UYMFNEM6.js +598 -0
- package/dist/chunks/chunk-UYVCLVY6.js +69 -0
- package/dist/chunks/chunk-UZASIDHZ.js +33 -0
- package/dist/chunks/chunk-V26Z36SW.js +94 -0
- package/dist/chunks/chunk-V3JIJITZ.js +105 -0
- package/dist/chunks/chunk-V3MJNQ3C.js +109 -0
- package/dist/chunks/chunk-V3OJCHDU.js +83 -0
- package/dist/chunks/chunk-V3WB26G6.js +146 -0
- package/dist/chunks/chunk-V4ED7DZE.js +120 -0
- package/dist/chunks/chunk-V4KYXJ3V.js +188 -0
- package/dist/chunks/chunk-V5NOJB4C.js +89 -0
- package/dist/chunks/chunk-V6YCPWRR.js +163 -0
- package/dist/chunks/chunk-V6YIHYOF.js +303 -0
- package/dist/chunks/chunk-V7ZVZ7G3.js +55 -0
- package/dist/chunks/chunk-VA6LRSFU.js +23 -0
- package/dist/chunks/chunk-VABARK3C.js +23 -0
- package/dist/chunks/chunk-VALZTUVS.js +163 -0
- package/dist/chunks/chunk-VAOVVDOZ.js +1469 -0
- package/dist/chunks/chunk-VB27PTKG.js +304 -0
- package/dist/chunks/chunk-VDKNQKGO.js +163 -0
- package/dist/chunks/chunk-VHIUOSP4.js +103 -0
- package/dist/chunks/chunk-VIAY5NO4.js +59 -0
- package/dist/chunks/chunk-VIO3XMMA.js +304 -0
- package/dist/chunks/chunk-VJMVIBEZ.js +168 -0
- package/dist/chunks/chunk-VLE6WC7V.js +112 -0
- package/dist/chunks/chunk-VMENZHIQ.js +106 -0
- package/dist/chunks/chunk-VNW32TDP.js +83 -0
- package/dist/chunks/chunk-VOLSARMJ.js +1307 -0
- package/dist/chunks/chunk-VPNKI4NA.js +81 -0
- package/dist/chunks/chunk-VRAOIRP5.js +80 -0
- package/dist/chunks/chunk-VRTWYIFE.js +220 -0
- package/dist/chunks/chunk-VSLWHW6D.js +164 -0
- package/dist/chunks/chunk-VSS763NS.js +78 -0
- package/dist/chunks/chunk-VT5MDHIP.js +93 -0
- package/dist/chunks/chunk-VTUZO6N4.js +147 -0
- package/dist/chunks/chunk-VW63TNRA.js +83 -0
- package/dist/chunks/chunk-VXQ6QTV6.js +23 -0
- package/dist/chunks/chunk-VY3MVLEW.js +73 -0
- package/dist/chunks/chunk-W2UQAUPC.js +45 -0
- package/dist/chunks/chunk-W3WKTO6W.js +152 -0
- package/dist/chunks/chunk-W5EBUQE3.js +23 -0
- package/dist/chunks/chunk-W5M3OHVC.js +97 -0
- package/dist/chunks/chunk-WAWOYGXR.js +89 -0
- package/dist/chunks/chunk-WB7HL6GR.js +84 -0
- package/dist/chunks/chunk-WCTACTRK.js +100 -0
- package/dist/chunks/chunk-WD7HEYCC.js +149 -0
- package/dist/chunks/chunk-WDFFN44U.js +76 -0
- package/dist/chunks/chunk-WDO2EWMD.js +91 -0
- package/dist/chunks/chunk-WFQWFUBJ.js +165 -0
- package/dist/chunks/chunk-WG5KUTTX.js +251 -0
- package/dist/chunks/chunk-WGDLJSN2.js +94 -0
- package/dist/chunks/chunk-WIAMWLOO.js +263 -0
- package/dist/chunks/chunk-WJ75HBU3.js +88 -0
- package/dist/chunks/chunk-WJWUAFKF.js +106 -0
- package/dist/chunks/chunk-WRQRCHJ2.js +23 -0
- package/dist/chunks/chunk-WRWOVQGW.js +290 -0
- package/dist/chunks/chunk-WTDOZYRU.js +33 -0
- package/dist/chunks/chunk-WTPHX6LV.js +109 -0
- package/dist/chunks/chunk-WUBEVACG.js +87 -0
- package/dist/chunks/chunk-WUFD43RH.js +23 -0
- package/dist/chunks/chunk-WWPZKRTJ.js +118 -0
- package/dist/chunks/chunk-WWSVZF3L.js +65 -0
- package/dist/chunks/chunk-WY2EOL4P.js +87 -0
- package/dist/chunks/chunk-WYF2QGSL.js +136 -0
- package/dist/chunks/chunk-WYJKWPAT.js +92 -0
- package/dist/chunks/chunk-X2TC6ROJ.js +108 -0
- package/dist/chunks/chunk-X2TDZ6AE.js +118 -0
- package/dist/chunks/chunk-X3WZNIUY.js +47 -0
- package/dist/chunks/chunk-X5QFOACC.js +23 -0
- package/dist/chunks/chunk-X7WDDRAW.js +50 -0
- package/dist/chunks/chunk-XG3N3MTA.js +77 -0
- package/dist/chunks/chunk-XHFLH65C.js +95 -0
- package/dist/chunks/chunk-XIRWPJCR.js +33 -0
- package/dist/chunks/chunk-XJK6WOZ3.js +150 -0
- package/dist/chunks/chunk-XNK4TFQV.js +84 -0
- package/dist/chunks/chunk-XOL5IGMH.js +237 -0
- package/dist/chunks/chunk-XVA4VZYF.js +161 -0
- package/dist/chunks/chunk-XWMAREQI.js +191 -0
- package/dist/chunks/chunk-Y37IG5LA.js +235 -0
- package/dist/chunks/chunk-Y3BQ7VSS.js +155 -0
- package/dist/chunks/chunk-Y3ENAWZW.js +98 -0
- package/dist/chunks/chunk-Y3SHMIND.js +112 -0
- package/dist/chunks/chunk-Y46APA7K.js +50 -0
- package/dist/chunks/chunk-Y54326DJ.js +201 -0
- package/dist/chunks/chunk-YAIKK5HL.js +23 -0
- package/dist/chunks/chunk-YBW3GP3H.js +232 -0
- package/dist/chunks/chunk-YD3F7CQG.js +122 -0
- package/dist/chunks/chunk-YDW25Z3P.js +185 -0
- package/dist/chunks/chunk-YFQRDLDA.js +140 -0
- package/dist/chunks/chunk-YHKHINJE.js +207 -0
- package/dist/chunks/chunk-YJ3KKIE5.js +329 -0
- package/dist/chunks/chunk-YKNMLZE6.js +33 -0
- package/dist/chunks/chunk-YKPOTEVT.js +123 -0
- package/dist/chunks/chunk-YM6RAWQC.js +183 -0
- package/dist/chunks/chunk-YMGUPGGX.js +889 -0
- package/dist/chunks/chunk-YNP562NA.js +86 -0
- package/dist/chunks/chunk-YNUJ3OW5.js +266 -0
- package/dist/chunks/chunk-YOE3XYGJ.js +685 -0
- package/dist/chunks/chunk-YOIOFF6S.js +134 -0
- package/dist/chunks/chunk-YPNNE4ES.js +50 -0
- package/dist/chunks/chunk-YPW7TPWB.js +153 -0
- package/dist/chunks/chunk-YTKFN7CH.js +92 -0
- package/dist/chunks/chunk-YTXFOJP4.js +101 -0
- package/dist/chunks/chunk-YULGCDXC.js +304 -0
- package/dist/chunks/chunk-YUQS3X7Q.js +87 -0
- package/dist/chunks/chunk-YV72PMGF.js +45 -0
- package/dist/chunks/chunk-YW43ZCJ5.js +23 -0
- package/dist/chunks/chunk-YX4CSWID.js +77 -0
- package/dist/chunks/chunk-YXO6LURB.js +358 -0
- package/dist/chunks/chunk-YY3XOUHC.js +317 -0
- package/dist/chunks/chunk-YYVHD4HQ.js +327 -0
- package/dist/chunks/chunk-YZFGWRYC.js +172 -0
- package/dist/chunks/chunk-Z2SQJVF6.js +242 -0
- package/dist/chunks/chunk-Z3C25IAJ.js +33 -0
- package/dist/chunks/chunk-Z3FNQHHO.js +146 -0
- package/dist/chunks/chunk-Z3SATMFL.js +153 -0
- package/dist/chunks/chunk-Z4MZQMFD.js +336 -0
- package/dist/chunks/chunk-Z4NOCBYS.js +105 -0
- package/dist/chunks/chunk-Z5IXNO7V.js +163 -0
- package/dist/chunks/chunk-Z63GXFYN.js +125 -0
- package/dist/chunks/chunk-Z7CSW2W7.js +117 -0
- package/dist/chunks/chunk-Z7GQXIUE.js +112 -0
- package/dist/chunks/chunk-ZAZQKX3L.js +123 -0
- package/dist/chunks/chunk-ZCT47CDF.js +273 -0
- package/dist/chunks/chunk-ZF6E4FNA.js +87 -0
- package/dist/chunks/chunk-ZFWC56IX.js +87 -0
- package/dist/chunks/chunk-ZHS45A4Z.js +95 -0
- package/dist/chunks/chunk-ZILVVQTA.js +84 -0
- package/dist/chunks/chunk-ZK4ZRJAV.js +179 -0
- package/dist/chunks/chunk-ZKHMZMIT.js +147 -0
- package/dist/chunks/chunk-ZNXCORCH.js +50 -0
- package/dist/chunks/chunk-ZOYR6CS5.js +152 -0
- package/dist/chunks/chunk-ZRGJ7MTR.js +98 -0
- package/dist/chunks/chunk-ZRRUSMJJ.js +23 -0
- package/dist/chunks/chunk-ZSD7S436.js +33 -0
- package/dist/chunks/chunk-ZU4GMCHT.js +140 -0
- package/dist/chunks/chunk-ZUXOIS5C.js +215 -0
- package/dist/chunks/chunk-ZXF4YDOY.js +177 -0
- package/dist/chunks/chunk-ZYQPVK55.js +105 -0
- package/dist/chunks/chunk-ZZ67VUPL.js +169 -0
- package/dist/chunks/chunk-ZZ6AW7VP.js +139 -0
- package/dist/chunks/chunk-ZZTBYECM.js +391 -0
- package/dist/chunks/client-7MO2SGFG.js +46 -0
- package/dist/chunks/client-P3YFS7W7.js +167 -0
- package/dist/chunks/client-TM3O6JDA.js +31 -0
- package/dist/chunks/client-actions-MRVKPWRX.js +166 -0
- package/dist/chunks/dangerous-CIKKSAGL.js +120 -0
- package/dist/chunks/delete-current-file-KHH7YB3K.js +159 -0
- package/dist/chunks/editor-seams-PLS3CZ74.js +166 -0
- package/dist/chunks/editor-store-5WVLZBLO.js +143 -0
- package/dist/chunks/export-watermark-THVSCEIC.js +152 -0
- package/dist/chunks/eyedropper-NM7NT6QT.js +354 -0
- package/dist/chunks/generate-media-KISZDA4U.js +255 -0
- package/dist/chunks/host-KAU6H7H3.js +178 -0
- package/dist/chunks/import-merge-AU6LCYL6.js +39 -0
- package/dist/chunks/integrations-IMLMOW27.js +124 -0
- package/dist/chunks/kit-modules-FSENHSPE.js +18 -0
- package/dist/chunks/libraries-VKNKFX2X.js +307 -0
- package/dist/chunks/live-SJGND5BC.js +317 -0
- package/dist/chunks/media-tool-4VTG3IOX.js +337 -0
- package/dist/chunks/new-file-FJC7XVL2.js +136 -0
- package/dist/chunks/page-thumbnails-SNCUKGXG.js +137 -0
- package/dist/chunks/plugin-YD7BJLEU.js +127 -0
- package/dist/chunks/plugin-import-QT4JGS2G.js +675 -0
- package/dist/chunks/presence-E5RZ754Y.js +132 -0
- package/dist/chunks/preview-media-YRR3SJQT.js +122 -0
- package/dist/chunks/project-C6HMCR35.js +1653 -0
- package/dist/chunks/publish-site-6D56UAKF.js +163 -0
- package/dist/chunks/publish-store-ZIKPVRJM.js +94 -0
- package/dist/chunks/raster-actions-YLYA524F.js +232 -0
- package/dist/chunks/runner-5YTIWTPP.js +2900 -0
- package/dist/chunks/runtime-BTYC4KVF.js +32 -0
- package/dist/chunks/sites-KDF65KKY.js +33 -0
- package/dist/chunks/store-TUT4RJNP.js +231 -0
- package/dist/chunks/sync-KNGK6CKY.js +158 -0
- package/dist/chunks/tabs-CIVUYFNK.js +316 -0
- package/dist/chunks/team-S6MMDNH6.js +46 -0
- package/dist/chunks/team-client-3D3DLCUN.js +157 -0
- package/dist/chunks/templates-53F57T2C.js +182 -0
- package/dist/chunks/tools-QCMLA2KV.js +37 -0
- package/dist/chunks/ui-commands-SORZLF7L.js +274 -0
- package/dist/chunks/use-3DTRBGXZ.js +49 -0
- package/dist/chunks/versions-FU75DQNZ.js +316 -0
- package/dist/index.js +13 -13
- package/dist/lib/document/libraries.js +1 -1
- package/dist/lib/templates/apply.js +2 -2
- package/dist/lib/templates/capabilities.js +2 -2
- package/dist/lib/templates/capture.js +2 -2
- package/dist/lib/templates/finish.js +5 -5
- package/dist/lib/templates/resize.js +2 -2
- package/dist/lib/templates/upload.js +2 -2
- package/dist/lib/templates/vocabulary.js +2 -2
- package/dist/migrations/board-meta.js +3 -3
- package/dist/migrations/brand-media.js +4 -4
- package/dist/migrations/categories.js +2 -2
- package/dist/migrations/index.js +11 -11
- package/dist/migrations/timeline-facets.js +7 -7
- package/dist/templates/anime/character.js +10 -10
- package/dist/templates/anime/duel.js +13 -13
- package/dist/templates/anime/morning.js +13 -13
- package/dist/templates/anime/rain.js +13 -13
- package/dist/templates/anime/shared.js +11 -11
- package/dist/templates/anime/starlight.js +13 -13
- package/dist/templates/anime/titan.js +13 -13
- package/dist/templates/app/festival-presale-electronic-ticket.js +12 -12
- package/dist/templates/app/festival-presale-family-ticket.js +12 -12
- package/dist/templates/app/festival-presale-folk-ticket.js +12 -12
- package/dist/templates/app/festival-presale-food-ticket.js +12 -12
- package/dist/templates/app/festival-presale-jazz-ticket.js +12 -12
- package/dist/templates/app/festival-presale-street-ticket.js +12 -12
- package/dist/templates/app/music/build.js +4 -4
- package/dist/templates/app/music-grove.js +10 -10
- package/dist/templates/app/music-nightline.js +10 -10
- package/dist/templates/app/music-orbit.js +10 -10
- package/dist/templates/app/music-undertow.js +10 -10
- package/dist/templates/app/onboarding-carousel.js +9 -9
- package/dist/templates/app/saas-store-paywall.js +9 -9
- package/dist/templates/app/splash.js +9 -9
- package/dist/templates/app/success-confetti.js +9 -9
- package/dist/templates/app/tour-tickets-june-ticket.js +9 -9
- package/dist/templates/app/tour-tickets-tide-ticket.js +9 -9
- package/dist/templates/app/tour-tickets-wreck-ticket.js +9 -9
- package/dist/templates/build.js +6 -6
- package/dist/templates/cards/index.js +11 -11
- package/dist/templates/cards/shared.js +9 -9
- package/dist/templates/cards/themes.js +10 -10
- package/dist/templates/count.js +4 -4
- package/dist/templates/data/bars.js +9 -9
- package/dist/templates/data/countdown-story.js +9 -9
- package/dist/templates/data/counters.js +9 -9
- package/dist/templates/data/donut.js +9 -9
- package/dist/templates/data/line.js +9 -9
- package/dist/templates/data/year-in-review.js +9 -9
- package/dist/templates/effects/glass-intro.js +9 -9
- package/dist/templates/effects/glass-promo.js +9 -9
- package/dist/templates/effects/grain-story.js +9 -9
- package/dist/templates/effects/grid-intro.js +9 -9
- package/dist/templates/effects/halftone-story.js +9 -9
- package/dist/templates/effects/mesh-story.js +9 -9
- package/dist/templates/effects/shader-title.js +9 -9
- package/dist/templates/email/april-fools-header.js +11 -11
- package/dist/templates/email/art-deco-invitation.js +10 -10
- package/dist/templates/email/autumn-harvest-header.js +10 -10
- package/dist/templates/email/back-to-school-header.js +10 -10
- package/dist/templates/email/black-friday-coupons-header.js +10 -10
- package/dist/templates/email/black-friday-header.js +10 -10
- package/dist/templates/email/black-friday-neon-header.js +10 -10
- package/dist/templates/email/black-friday-scratch-header.js +10 -10
- package/dist/templates/email/black-friday-ticker-header.js +10 -10
- package/dist/templates/email/broadsheet-weekly-edition-header.js +10 -10
- package/dist/templates/email/claymation-header.js +10 -10
- package/dist/templates/email/countdown-gif.js +10 -10
- package/dist/templates/email/cyberpunk-header.js +10 -10
- package/dist/templates/email/diwali-header.js +10 -10
- package/dist/templates/email/earth-day-header.js +10 -10
- package/dist/templates/email/festival-presale-electronic-header.js +12 -12
- package/dist/templates/email/festival-presale-family-header.js +12 -12
- package/dist/templates/email/festival-presale-folk-header.js +12 -12
- package/dist/templates/email/festival-presale-food-header.js +12 -12
- package/dist/templates/email/festival-presale-jazz-header.js +12 -12
- package/dist/templates/email/festival-presale-street-header.js +12 -12
- package/dist/templates/email/gothic-header.js +10 -10
- package/dist/templates/email/halloween-header.js +10 -10
- package/dist/templates/email/header-launch.js +10 -10
- package/dist/templates/email/header-newsletter.js +10 -10
- package/dist/templates/email/header-sale.js +10 -10
- package/dist/templates/email/lunar-new-year-header.js +10 -10
- package/dist/templates/email/manuscript-chronicle-header.js +10 -10
- package/dist/templates/email/new-year-header.js +10 -10
- package/dist/templates/email/noir-header.js +10 -10
- package/dist/templates/email/psychedelic-header.js +10 -10
- package/dist/templates/email/riso-zine-changelog-header.js +10 -10
- package/dist/templates/email/saas-mail-changelog.js +12 -12
- package/dist/templates/email/saas-mail-day-one.js +11 -11
- package/dist/templates/email/saas-mail-day-three.js +11 -11
- package/dist/templates/email/saas-mail-launch.js +11 -11
- package/dist/templates/email/saas-mail-payment-failed.js +11 -11
- package/dist/templates/email/saas-mail-sign-in-code.js +11 -11
- package/dist/templates/email/saas-mail-trial-ending.js +11 -11
- package/dist/templates/email/saas-mail-waitlist.js +11 -11
- package/dist/templates/email/shared.js +4 -4
- package/dist/templates/email/singles-day-header.js +10 -10
- package/dist/templates/email/solarpunk-header.js +10 -10
- package/dist/templates/email/space-opera-header.js +10 -10
- package/dist/templates/email/spring-bloom-header.js +10 -10
- package/dist/templates/email/style-bento-header.js +10 -10
- package/dist/templates/email/style-brutalist-header.js +10 -10
- package/dist/templates/email/style-dark-header.js +10 -10
- package/dist/templates/email/style-data-header.js +10 -10
- package/dist/templates/email/style-editorial-header.js +10 -10
- package/dist/templates/email/style-glass-header.js +10 -10
- package/dist/templates/email/style-gradient-header.js +10 -10
- package/dist/templates/email/style-maximal-header.js +10 -10
- package/dist/templates/email/style-pastel-header.js +10 -10
- package/dist/templates/email/style-sketch-header.js +10 -10
- package/dist/templates/email/style-swiss-header.js +10 -10
- package/dist/templates/email/style-terminal-header.js +10 -10
- package/dist/templates/email/summer-heatwave-header.js +10 -10
- package/dist/templates/email/tour-tickets-june-header.js +10 -10
- package/dist/templates/email/tour-tickets-tide-header.js +10 -10
- package/dist/templates/email/tour-tickets-wreck-header.js +10 -10
- package/dist/templates/email/transit-map-service-update.js +10 -10
- package/dist/templates/email/ukiyo-e-greeting-header.js +10 -10
- package/dist/templates/email/valentines-header.js +10 -10
- package/dist/templates/email/winter-cosy-header.js +10 -10
- package/dist/templates/email/winter-holidays-header.js +10 -10
- package/dist/templates/game/blossom-bash-puzzle.js +10 -10
- package/dist/templates/game/deckbound-roguelike.js +10 -10
- package/dist/templates/game/emberfall-rpg.js +10 -10
- package/dist/templates/game/hearthmoor-farm.js +10 -10
- package/dist/templates/game/index.js +23 -23
- package/dist/templates/game/iron-lotus-fighter.js +10 -10
- package/dist/templates/game/ironroot-rts.js +10 -10
- package/dist/templates/game/mossy-hollow-platformer.js +12 -12
- package/dist/templates/game/neon-apex-racing.js +10 -10
- package/dist/templates/game/platformer.js +11 -11
- package/dist/templates/game/pulse-riot-rhythm.js +10 -10
- package/dist/templates/game/shared.js +4 -4
- package/dist/templates/game/sprout-quest-pixel-platformer.js +12 -12
- package/dist/templates/game/vanta-fps.js +10 -10
- package/dist/templates/index.js +840 -840
- package/dist/templates/kinetic/letters.js +9 -9
- package/dist/templates/kinetic/lines.js +9 -9
- package/dist/templates/kinetic/typewriter.js +9 -9
- package/dist/templates/kinetic/word-swap.js +9 -9
- package/dist/templates/kinetic/words.js +9 -9
- package/dist/templates/kit.js +3 -3
- package/dist/templates/libraries/audio-reactive.js +9 -9
- package/dist/templates/libraries/loaders.js +9 -9
- package/dist/templates/libraries/micro-interactions.js +9 -9
- package/dist/templates/libraries/motion-essentials.js +9 -9
- package/dist/templates/libraries/toasts.js +9 -9
- package/dist/templates/lottie/ai.js +10 -10
- package/dist/templates/lottie/climate.js +10 -10
- package/dist/templates/lottie/commerce.js +10 -10
- package/dist/templates/lottie/education.js +10 -10
- package/dist/templates/lottie/fintech.js +10 -10
- package/dist/templates/lottie/food.js +10 -10
- package/dist/templates/lottie/health.js +10 -10
- package/dist/templates/lottie/index.js +34 -34
- package/dist/templates/lottie/lottie-kit.js +9 -9
- package/dist/templates/lottie/realestate.js +10 -10
- package/dist/templates/lottie/saas-ui-checklist.js +11 -11
- package/dist/templates/lottie/saas-ui-dashboard-hero.js +11 -11
- package/dist/templates/lottie/saas-ui-empty-data.js +11 -11
- package/dist/templates/lottie/saas-ui-empty-search.js +11 -11
- package/dist/templates/lottie/saas-ui-error-retry.js +11 -11
- package/dist/templates/lottie/saas-ui-file-upload.js +11 -11
- package/dist/templates/lottie/saas-ui-streaming-answer.js +11 -11
- package/dist/templates/lottie/saas-ui-sync-connected.js +11 -11
- package/dist/templates/lottie/saas-ui-trial-timeline.js +11 -11
- package/dist/templates/lottie/saas-ui-upgrade-unlocked.js +11 -11
- package/dist/templates/lottie/saas-ui.js +21 -21
- package/dist/templates/lottie/saas.js +10 -10
- package/dist/templates/lottie/security.js +10 -10
- package/dist/templates/lottie/techniques.js +10 -10
- package/dist/templates/lottie/travel.js +10 -10
- package/dist/templates/motion/ambient-loop.js +9 -9
- package/dist/templates/motion/app-icon-sting.js +9 -9
- package/dist/templates/motion/april-fools-infomercial-reel.js +11 -11
- package/dist/templates/motion/arcade-high-score.js +9 -9
- package/dist/templates/motion/art-deco-grand-opening.js +9 -9
- package/dist/templates/motion/autumn-harvest-year-reel.js +9 -9
- package/dist/templates/motion/back-to-school-timetable-reel.js +9 -9
- package/dist/templates/motion/bauhaus-launch-reel.js +9 -9
- package/dist/templates/motion/black-friday-coupons-deal-reel.js +9 -9
- package/dist/templates/motion/black-friday-coupons-last-day.js +9 -9
- package/dist/templates/motion/black-friday-deal-drop.js +9 -9
- package/dist/templates/motion/black-friday-neon-deal-reel.js +9 -9
- package/dist/templates/motion/black-friday-neon-last-day.js +9 -9
- package/dist/templates/motion/black-friday-scratch-countdown.js +9 -9
- package/dist/templates/motion/black-friday-scratch-deal-reel.js +9 -9
- package/dist/templates/motion/black-friday-scratch-last-day.js +9 -9
- package/dist/templates/motion/black-friday-ticker-deal-drop.js +9 -9
- package/dist/templates/motion/black-friday-ticker-last-call.js +9 -9
- package/dist/templates/motion/blueprint-rev-b-reel.js +9 -9
- package/dist/templates/motion/broadsheet-launch-reel.js +9 -9
- package/dist/templates/motion/broadsheet-milestone-post.js +10 -10
- package/dist/templates/motion/claymation-launch-reel.js +9 -9
- package/dist/templates/motion/comic-book-issue-reel.js +9 -9
- package/dist/templates/motion/countdown.js +9 -9
- package/dist/templates/motion/cyberpunk-lock-on-reel.js +9 -9
- package/dist/templates/motion/departure-board-reel.js +9 -9
- package/dist/templates/motion/diwali-lamps-reel.js +9 -9
- package/dist/templates/motion/earth-day-footprint-reel.js +9 -9
- package/dist/templates/motion/earth-day-pledge-post.js +9 -9
- package/dist/templates/motion/festival-presale-electronic-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-electronic-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-electronic-reel.js +12 -12
- package/dist/templates/motion/festival-presale-electronic-tier.js +12 -12
- package/dist/templates/motion/festival-presale-family-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-family-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-family-reel.js +12 -12
- package/dist/templates/motion/festival-presale-family-tier.js +12 -12
- package/dist/templates/motion/festival-presale-folk-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-folk-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-folk-reel.js +12 -12
- package/dist/templates/motion/festival-presale-folk-tier.js +12 -12
- package/dist/templates/motion/festival-presale-food-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-food-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-food-reel.js +12 -12
- package/dist/templates/motion/festival-presale-food-tier.js +12 -12
- package/dist/templates/motion/festival-presale-jazz-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-jazz-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-jazz-reel.js +12 -12
- package/dist/templates/motion/festival-presale-jazz-tier.js +12 -12
- package/dist/templates/motion/festival-presale-street-countdown.js +12 -12
- package/dist/templates/motion/festival-presale-street-lineup.js +12 -12
- package/dist/templates/motion/festival-presale-street-reel.js +12 -12
- package/dist/templates/motion/festival-presale-street-tier.js +12 -12
- package/dist/templates/motion/gothic-launch-reel.js +9 -9
- package/dist/templates/motion/halloween-graveyard-reel.js +9 -9
- package/dist/templates/motion/instagram-promo.js +9 -9
- package/dist/templates/motion/kinetic-headline.js +9 -9
- package/dist/templates/motion/landing-hero/index.js +12 -12
- package/dist/templates/motion/launch-trailer/document.js +840 -840
- package/dist/templates/motion/launch-trailer/index.js +12 -12
- package/dist/templates/motion/launch-trailer/scenes.js +11 -11
- package/dist/templates/motion/logo-reveal.js +9 -9
- package/dist/templates/motion/lower-third.js +9 -9
- package/dist/templates/motion/lunar-new-year-envelope-reel.js +9 -9
- package/dist/templates/motion/machined-trailer.js +11 -11
- package/dist/templates/motion/manuscript-launch-reel.js +9 -9
- package/dist/templates/motion/new-year-ball-drop-reel.js +9 -9
- package/dist/templates/motion/noir-case-reel.js +9 -9
- package/dist/templates/motion/pitch-title.js +9 -9
- package/dist/templates/motion/psychedelic-gig-reel.js +9 -9
- package/dist/templates/motion/riso-zine-launch-reel.js +9 -9
- package/dist/templates/motion/saas-ai-prompt.js +9 -9
- package/dist/templates/motion/saas-before-after.js +9 -9
- package/dist/templates/motion/saas-changelog-drop.js +9 -9
- package/dist/templates/motion/saas-film-webinar-opener.js +9 -9
- package/dist/templates/motion/saas-hook-features.js +9 -9
- package/dist/templates/motion/saas-mrr-milestone.js +9 -9
- package/dist/templates/motion/saas-screen-demo.js +9 -9
- package/dist/templates/motion/saas-store-install-ad.js +10 -10
- package/dist/templates/motion/saas-testimonial.js +9 -9
- package/dist/templates/motion/saas-vs-comparison.js +9 -9
- package/dist/templates/motion/singles-day-flash-post.js +9 -9
- package/dist/templates/motion/singles-day-live-reel.js +9 -9
- package/dist/templates/motion/smooth-loop.js +9 -9
- package/dist/templates/motion/solarpunk-rooftop-reel.js +9 -9
- package/dist/templates/motion/space-opera-countdown-reel.js +9 -9
- package/dist/templates/motion/spring-bloom-first-hundred-post.js +9 -9
- package/dist/templates/motion/spring-bloom-first-shoots-reel.js +9 -9
- package/dist/templates/motion/stat-pop.js +9 -9
- package/dist/templates/motion/style-bento-feature-demo.js +9 -9
- package/dist/templates/motion/style-bento-launch-reel.js +9 -9
- package/dist/templates/motion/style-brutalist-feature-demo.js +9 -9
- package/dist/templates/motion/style-brutalist-launch-reel.js +9 -9
- package/dist/templates/motion/style-dark-feature-demo.js +9 -9
- package/dist/templates/motion/style-dark-launch-reel.js +9 -9
- package/dist/templates/motion/style-data-feature-demo.js +9 -9
- package/dist/templates/motion/style-data-launch-reel.js +9 -9
- package/dist/templates/motion/style-editorial-feature-demo.js +9 -9
- package/dist/templates/motion/style-editorial-launch-reel.js +9 -9
- package/dist/templates/motion/style-glass-feature-demo.js +9 -9
- package/dist/templates/motion/style-glass-launch-reel.js +9 -9
- package/dist/templates/motion/style-gradient-feature-demo.js +9 -9
- package/dist/templates/motion/style-gradient-launch-reel.js +9 -9
- package/dist/templates/motion/style-maximal-beat-cut.js +9 -9
- package/dist/templates/motion/style-maximal-feature-demo.js +9 -9
- package/dist/templates/motion/style-maximal-launch-reel.js +9 -9
- package/dist/templates/motion/style-pastel-feature-demo.js +9 -9
- package/dist/templates/motion/style-pastel-launch-reel.js +9 -9
- package/dist/templates/motion/style-sketch-feature-demo.js +9 -9
- package/dist/templates/motion/style-sketch-launch-reel.js +9 -9
- package/dist/templates/motion/style-swiss-feature-demo.js +9 -9
- package/dist/templates/motion/style-swiss-launch-reel.js +9 -9
- package/dist/templates/motion/style-terminal-feature-demo.js +9 -9
- package/dist/templates/motion/style-terminal-launch-reel.js +9 -9
- package/dist/templates/motion/summer-heatwave-lido-reel.js +9 -9
- package/dist/templates/motion/template-wall.js +10 -10
- package/dist/templates/motion/title-card-3d.js +9 -9
- package/dist/templates/motion/tour-tickets-june-city.js +9 -9
- package/dist/templates/motion/tour-tickets-june-dates.js +9 -9
- package/dist/templates/motion/tour-tickets-june-final.js +9 -9
- package/dist/templates/motion/tour-tickets-june-reel.js +9 -9
- package/dist/templates/motion/tour-tickets-tide-city.js +9 -9
- package/dist/templates/motion/tour-tickets-tide-dates.js +9 -9
- package/dist/templates/motion/tour-tickets-tide-final.js +9 -9
- package/dist/templates/motion/tour-tickets-tide-reel.js +9 -9
- package/dist/templates/motion/tour-tickets-wreck-city.js +9 -9
- package/dist/templates/motion/tour-tickets-wreck-dates.js +9 -9
- package/dist/templates/motion/tour-tickets-wreck-final.js +9 -9
- package/dist/templates/motion/tour-tickets-wreck-reel.js +9 -9
- package/dist/templates/motion/transit-map-line-opening.js +9 -9
- package/dist/templates/motion/transit-map-milestone-post.js +9 -9
- package/dist/templates/motion/ukiyo-e-launch-reel.js +9 -9
- package/dist/templates/motion/valentines-breakup-reel.js +9 -9
- package/dist/templates/motion/vaporwave-launch-reel.js +10 -10
- package/dist/templates/motion/winter-cosy-heads-down-post.js +9 -9
- package/dist/templates/motion/winter-cosy-hibernation-reel.js +9 -9
- package/dist/templates/motion/winter-holidays-advent-reel.js +9 -9
- package/dist/templates/motion-qa.js +5 -5
- package/dist/templates/motion3d/app-store-preview.js +10 -10
- package/dist/templates/motion3d/before-after-swing.js +10 -10
- package/dist/templates/motion3d/burger-reveal.js +10 -10
- package/dist/templates/motion3d/coverflow.js +10 -10
- package/dist/templates/motion3d/exploded-ui.js +10 -10
- package/dist/templates/motion3d/feature-flip.js +10 -10
- package/dist/templates/motion3d/kinetic-reveal.js +10 -10
- package/dist/templates/motion3d/laptop-reveal.js +10 -10
- package/dist/templates/motion3d/logo-extrude.js +10 -10
- package/dist/templates/motion3d/parallax-cascade.js +10 -10
- package/dist/templates/motion3d/phone-orbit.js +10 -10
- package/dist/templates/motion3d/pricing-fan.js +10 -10
- package/dist/templates/motion3d/product-turntable.js +10 -10
- package/dist/templates/motion3d/saas-film-cinematic-trailer.js +11 -11
- package/dist/templates/motion3d/screen-wall.js +10 -10
- package/dist/templates/motion3d/stage.js +4 -4
- package/dist/templates/motion3d/vertical-promo.js +10 -10
- package/dist/templates/music/edm-drop.js +10 -10
- package/dist/templates/music/festival-lineup.js +10 -10
- package/dist/templates/music/hiphop-lyrics.js +10 -10
- package/dist/templates/music/indie-poster.js +10 -10
- package/dist/templates/music/lofi-loop.js +10 -10
- package/dist/templates/music/podcast-audiogram.js +10 -10
- package/dist/templates/music/shared.js +4 -4
- package/dist/templates/music/synthwave-tunnel.js +10 -10
- package/dist/templates/print/comic-hero-cascade.js +9 -9
- package/dist/templates/print/comic-hero-chase.js +9 -9
- package/dist/templates/print/comic-hero-cover-modern.js +9 -9
- package/dist/templates/print/comic-hero-grid-break.js +9 -9
- package/dist/templates/print/comic-hero-interrogation.js +9 -9
- package/dist/templates/print/comic-hero-issue.js +20 -20
- package/dist/templates/print/comic-hero-manga-action.js +9 -9
- package/dist/templates/print/comic-hero-nested.js +9 -9
- package/dist/templates/print/comic-hero-overlap.js +9 -9
- package/dist/templates/print/comic-hero-parallel.js +9 -9
- package/dist/templates/print/comic-hero-pinup.js +9 -9
- package/dist/templates/print/comic-hero-widescreen.js +9 -9
- package/dist/templates/print/comic-modern-action-slant.js +9 -9
- package/dist/templates/print/comic-modern-cover-pulp.js +9 -9
- package/dist/templates/print/comic-modern-flashback.js +9 -9
- package/dist/templates/print/comic-modern-issue.js +18 -18
- package/dist/templates/print/comic-modern-nine-grid.js +9 -9
- package/dist/templates/print/comic-modern-page-classic.js +9 -9
- package/dist/templates/print/comic-modern-polyptych.js +9 -9
- package/dist/templates/print/comic-modern-radial.js +9 -9
- package/dist/templates/print/comic-modern-splash.js +9 -9
- package/dist/templates/print/comic-modern-spread.js +9 -9
- package/dist/templates/print/everyday-save-the-date.js +9 -9
- package/dist/templates/print/everyday-specials-board.js +9 -9
- package/dist/templates/print/holidays-christmas-church-newsletter.js +9 -9
- package/dist/templates/print/holidays-christmas-eve-invitation.js +9 -9
- package/dist/templates/print/holidays-christmas-gift-tags.js +9 -9
- package/dist/templates/print/holidays-diwali-party-invitation.js +9 -9
- package/dist/templates/print/holidays-easter-activity-sheet.js +9 -9
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +9 -9
- package/dist/templates/print/holidays-eid-dinner-invitation.js +9 -9
- package/dist/templates/print/holidays-eid-gift-tags.js +9 -9
- package/dist/templates/print/holidays-halloween-party-invitation.js +9 -9
- package/dist/templates/print/holidays-halloween-treat-labels.js +9 -9
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +9 -9
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +9 -9
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +9 -9
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +9 -9
- package/dist/templates/print/holidays-new-years-eve-poster.js +9 -9
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +9 -9
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +9 -9
- package/dist/templates/print/holidays-valentines-dinner-menu.js +9 -9
- package/dist/templates/print/printshop-booklet-open-day.js +10 -10
- package/dist/templates/print/printshop-brochure-community.js +10 -10
- package/dist/templates/print/printshop-brochure-dental.js +10 -10
- package/dist/templates/print/printshop-brochure-gym.js +10 -10
- package/dist/templates/print/printshop-brochure-landscaping.js +10 -10
- package/dist/templates/print/printshop-brochure-travel.js +11 -11
- package/dist/templates/print/printshop-card-architect.js +10 -10
- package/dist/templates/print/printshop-card-barber.js +10 -10
- package/dist/templates/print/printshop-card-cafe.js +10 -10
- package/dist/templates/print/printshop-card-developer.js +10 -10
- package/dist/templates/print/printshop-card-florist.js +10 -10
- package/dist/templates/print/printshop-card-lawyer.js +10 -10
- package/dist/templates/print/printshop-card-photographer.js +11 -11
- package/dist/templates/print/printshop-card-plumber.js +10 -10
- package/dist/templates/print/printshop-card-realtor.js +10 -10
- package/dist/templates/print/printshop-card-yoga.js +10 -10
- package/dist/templates/print/printshop-flyer-charity-run.js +10 -10
- package/dist/templates/print/printshop-flyer-farmers-market.js +10 -10
- package/dist/templates/print/printshop-flyer-garage-sale.js +10 -10
- package/dist/templates/print/printshop-flyer-grand-opening.js +10 -10
- package/dist/templates/print/printshop-flyer-lost-pet.js +10 -10
- package/dist/templates/print/printshop-flyer-tutoring.js +10 -10
- package/dist/templates/print/printshop-flyer-yard-work.js +10 -10
- package/dist/templates/print/printshop-poster-live-music.js +10 -10
- package/dist/templates/print/studio-class-timetable-poster.js +9 -9
- package/dist/templates/print/studio-portfolio-booklet.js +10 -10
- package/dist/templates/saas/email-decks-shared.js +10 -10
- package/dist/templates/saas/email-decks.js +22 -22
- package/dist/templates/saas/index.js +196 -196
- package/dist/templates/saas/launch-kit.js +18 -18
- package/dist/templates/saas/launch-video.js +17 -17
- package/dist/templates/saas/lottie-shared.js +10 -10
- package/dist/templates/saas/stores-shared.js +4 -4
- package/dist/templates/saas/stores.js +20 -20
- package/dist/templates/saas/style-bento.js +19 -19
- package/dist/templates/saas/style-brutalist.js +19 -19
- package/dist/templates/saas/style-dark.js +19 -19
- package/dist/templates/saas/style-data.js +19 -19
- package/dist/templates/saas/style-editorial.js +19 -19
- package/dist/templates/saas/style-glass.js +19 -19
- package/dist/templates/saas/style-gradient.js +19 -19
- package/dist/templates/saas/style-maximal.js +20 -20
- package/dist/templates/saas/style-pastel.js +19 -19
- package/dist/templates/saas/style-sketch.js +19 -19
- package/dist/templates/saas/style-swiss.js +19 -19
- package/dist/templates/saas/style-terminal.js +19 -19
- package/dist/templates/saas/video.js +17 -17
- package/dist/templates/saas/web.js +21 -21
- package/dist/templates/scenes/before-after.js +9 -9
- package/dist/templates/scenes/carousel-video.js +10 -10
- package/dist/templates/scenes/saas-film-app-preview.js +10 -10
- package/dist/templates/scenes/saas-film-bright-trailer.js +10 -10
- package/dist/templates/scenes/saas-film-product-hunt-launch.js +10 -10
- package/dist/templates/scenes/saas-film-youtube-demo-kit.js +10 -10
- package/dist/templates/scenes/shared.js +4 -4
- package/dist/templates/scenes/story-ad.js +10 -10
- package/dist/templates/scenes/story-bakery.js +10 -10
- package/dist/templates/scenes/story-fitness.js +10 -10
- package/dist/templates/scenes/story-hotel.js +10 -10
- package/dist/templates/scenes/transitions-pack.js +10 -10
- package/dist/templates/scenes/web-scroll.js +10 -10
- package/dist/templates/slides/agenda.js +10 -10
- package/dist/templates/slides/deck.js +9 -9
- package/dist/templates/slides/education.js +10 -10
- package/dist/templates/slides/launch.js +10 -10
- package/dist/templates/slides/layouts.js +10 -10
- package/dist/templates/slides/pitch.js +10 -10
- package/dist/templates/slides/report.js +10 -10
- package/dist/templates/slides/saas-mail-investor-update.js +11 -11
- package/dist/templates/slides/saas-mail-seed-pitch.js +11 -11
- package/dist/templates/slides/sales.js +10 -10
- package/dist/templates/slides/section-divider.js +10 -10
- package/dist/templates/slides/title-card.js +10 -10
- package/dist/templates/slides/training.js +10 -10
- package/dist/templates/slides/webinar.js +10 -10
- package/dist/templates/slideshow/adoption.js +11 -11
- package/dist/templates/slideshow/baby.js +11 -11
- package/dist/templates/slideshow/birthday.js +11 -11
- package/dist/templates/slideshow/graduation.js +11 -11
- package/dist/templates/slideshow/holiday.js +11 -11
- package/dist/templates/slideshow/home.js +11 -11
- package/dist/templates/slideshow/index.js +18 -18
- package/dist/templates/slideshow/lease.js +11 -11
- package/dist/templates/slideshow/memorial.js +11 -11
- package/dist/templates/slideshow/portfolio.js +11 -11
- package/dist/templates/slideshow/product.js +11 -11
- package/dist/templates/slideshow/recipe.js +11 -11
- package/dist/templates/slideshow/shared.js +10 -10
- package/dist/templates/slideshow/team.js +11 -11
- package/dist/templates/slideshow/travel.js +11 -11
- package/dist/templates/slideshow/wedding.js +11 -11
- package/dist/templates/slideshow/year.js +11 -11
- package/dist/templates/social/april-fools-link-preview.js +11 -11
- package/dist/templates/social/april-fools-price-slash-post.js +11 -11
- package/dist/templates/social/arcade-boss-fight.js +9 -9
- package/dist/templates/social/arcade-level-up.js +9 -9
- package/dist/templates/social/art-deco-link-preview.js +9 -9
- package/dist/templates/social/art-deco-premiere-post.js +9 -9
- package/dist/templates/social/autumn-harvest-link-preview.js +9 -9
- package/dist/templates/social/autumn-harvest-thanks-post.js +9 -9
- package/dist/templates/social/back-to-school-link-preview.js +9 -9
- package/dist/templates/social/back-to-school-report-card-post.js +9 -9
- package/dist/templates/social/bauhaus-drift-post.js +9 -9
- package/dist/templates/social/bauhaus-link-preview.js +9 -9
- package/dist/templates/social/bauhaus-pricing-post.js +9 -9
- package/dist/templates/social/black-friday-ads.js +9 -9
- package/dist/templates/social/black-friday-countdown.js +9 -9
- package/dist/templates/social/black-friday-coupons-ads.js +9 -9
- package/dist/templates/social/black-friday-coupons-countdown.js +9 -9
- package/dist/templates/social/black-friday-neon-ads.js +9 -9
- package/dist/templates/social/black-friday-neon-countdown.js +9 -9
- package/dist/templates/social/black-friday-scratch-ads.js +9 -9
- package/dist/templates/social/black-friday-ticker-ads.js +9 -9
- package/dist/templates/social/black-friday-ticker-countdown.js +9 -9
- package/dist/templates/social/blueprint-dimension-post.js +9 -9
- package/dist/templates/social/blueprint-link-preview.js +9 -9
- package/dist/templates/social/blueprint-parts-list-post.js +9 -9
- package/dist/templates/social/broadsheet-hiring-classifieds.js +9 -9
- package/dist/templates/social/broadsheet-link-preview.js +9 -9
- package/dist/templates/social/claymation-link-preview.js +9 -9
- package/dist/templates/social/claymation-streak-post.js +9 -9
- package/dist/templates/social/comic-book-cover-preview.js +9 -9
- package/dist/templates/social/comic-book-strip-post.js +9 -9
- package/dist/templates/social/cyberpunk-implant-post.js +9 -9
- package/dist/templates/social/cyberpunk-link-preview.js +9 -9
- package/dist/templates/social/departure-board-pass-ad.js +9 -9
- package/dist/templates/social/departure-board-store-set.js +9 -9
- package/dist/templates/social/departure-board-thanks-post.js +9 -9
- package/dist/templates/social/diwali-link-preview.js +9 -9
- package/dist/templates/social/diwali-thanks-post.js +9 -9
- package/dist/templates/social/earth-day-link-preview.js +9 -9
- package/dist/templates/social/everyday-save-the-date-post.js +9 -9
- package/dist/templates/social/festival-presale-electronic-ads.js +12 -12
- package/dist/templates/social/festival-presale-family-ads.js +12 -12
- package/dist/templates/social/festival-presale-folk-ads.js +12 -12
- package/dist/templates/social/festival-presale-food-ads.js +12 -12
- package/dist/templates/social/festival-presale-jazz-ads.js +12 -12
- package/dist/templates/social/festival-presale-street-ads.js +12 -12
- package/dist/templates/social/gothic-feature-post.js +9 -9
- package/dist/templates/social/gothic-link-preview.js +9 -9
- package/dist/templates/social/halloween-link-preview.js +9 -9
- package/dist/templates/social/halloween-offer-post.js +9 -9
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +9 -9
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +9 -9
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +9 -9
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +9 -9
- package/dist/templates/social/holidays-valentines-florist-post.js +9 -9
- package/dist/templates/social/lunar-new-year-greeting-post.js +9 -9
- package/dist/templates/social/lunar-new-year-link-preview.js +9 -9
- package/dist/templates/social/machined-link-preview.js +11 -11
- package/dist/templates/social/machined-plate-post.js +11 -11
- package/dist/templates/social/manuscript-chapter-post.js +9 -9
- package/dist/templates/social/manuscript-link-preview.js +9 -9
- package/dist/templates/social/new-year-link-preview.js +9 -9
- package/dist/templates/social/new-year-resolutions-post.js +9 -9
- package/dist/templates/social/noir-case-file.js +9 -9
- package/dist/templates/social/noir-feature-post.js +9 -9
- package/dist/templates/social/post-announcement.js +9 -9
- package/dist/templates/social/post-event.js +9 -9
- package/dist/templates/social/post-podcast.js +9 -9
- package/dist/templates/social/post-quote.js +9 -9
- package/dist/templates/social/post-sale.js +9 -9
- package/dist/templates/social/post-stat.js +9 -9
- package/dist/templates/social/post-testimonial.js +9 -9
- package/dist/templates/social/promo-announcement.js +9 -9
- package/dist/templates/social/promo-beat-drop.js +9 -9
- package/dist/templates/social/promo-event.js +9 -9
- package/dist/templates/social/promo-new-product.js +9 -9
- package/dist/templates/social/promo-quote-reveal.js +9 -9
- package/dist/templates/social/promo-sale-drop.js +9 -9
- package/dist/templates/social/promo-tip-list.js +9 -9
- package/dist/templates/social/psychedelic-lineup-post.js +9 -9
- package/dist/templates/social/psychedelic-link-preview.js +9 -9
- package/dist/templates/social/riso-zine-link-preview.js +9 -9
- package/dist/templates/social/riso-zine-mrr-poster.js +9 -9
- package/dist/templates/social/saas-kit-carousel.js +9 -9
- package/dist/templates/social/saas-kit-countdown-post.js +9 -9
- package/dist/templates/social/saas-kit-feature-drop.js +9 -9
- package/dist/templates/social/saas-kit-link-preview.js +9 -9
- package/dist/templates/social/saas-kit-live-post.js +9 -9
- package/dist/templates/social/saas-kit-mrr-card.js +9 -9
- package/dist/templates/social/saas-kit-ph-gallery.js +9 -9
- package/dist/templates/social/saas-kit-ph-thumb.js +9 -9
- package/dist/templates/social/saas-kit-youtube-thumbs.js +9 -9
- package/dist/templates/social/saas-store-b2b-ads.js +10 -10
- package/dist/templates/social/saas-store-caption-set.js +10 -10
- package/dist/templates/social/saas-store-chrome-kit.js +10 -10
- package/dist/templates/social/saas-store-ipad-set.js +10 -10
- package/dist/templates/social/saas-store-panorama.js +11 -11
- package/dist/templates/social/saas-store-play-kit.js +9 -9
- package/dist/templates/social/saas-store-story.js +10 -10
- package/dist/templates/social/singles-day-link-preview.js +9 -9
- package/dist/templates/social/solarpunk-impact-post.js +9 -9
- package/dist/templates/social/solarpunk-link-preview.js +9 -9
- package/dist/templates/social/space-opera-link-preview.js +9 -9
- package/dist/templates/social/space-opera-mission-patch-post.js +9 -9
- package/dist/templates/social/spring-bloom-link-preview.js +9 -9
- package/dist/templates/social/studio-class-timetable.js +9 -9
- package/dist/templates/social/studio-podcast-cover.js +9 -9
- package/dist/templates/social/style-bento-announcement.js +9 -9
- package/dist/templates/social/style-bento-link-preview.js +9 -9
- package/dist/templates/social/style-bento-milestone.js +9 -9
- package/dist/templates/social/style-bento-testimonial.js +9 -9
- package/dist/templates/social/style-brutalist-announcement.js +9 -9
- package/dist/templates/social/style-brutalist-link-preview.js +9 -9
- package/dist/templates/social/style-brutalist-milestone.js +9 -9
- package/dist/templates/social/style-brutalist-testimonial.js +9 -9
- package/dist/templates/social/style-dark-announcement.js +9 -9
- package/dist/templates/social/style-dark-link-preview.js +9 -9
- package/dist/templates/social/style-dark-milestone.js +9 -9
- package/dist/templates/social/style-dark-testimonial.js +9 -9
- package/dist/templates/social/style-data-announcement.js +9 -9
- package/dist/templates/social/style-data-link-preview.js +9 -9
- package/dist/templates/social/style-data-milestone.js +9 -9
- package/dist/templates/social/style-data-testimonial.js +9 -9
- package/dist/templates/social/style-editorial-announcement.js +9 -9
- package/dist/templates/social/style-editorial-link-preview.js +9 -9
- package/dist/templates/social/style-editorial-milestone.js +9 -9
- package/dist/templates/social/style-editorial-testimonial.js +9 -9
- package/dist/templates/social/style-glass-announcement.js +9 -9
- package/dist/templates/social/style-glass-link-preview.js +9 -9
- package/dist/templates/social/style-glass-milestone.js +9 -9
- package/dist/templates/social/style-glass-testimonial.js +9 -9
- package/dist/templates/social/style-gradient-announcement.js +9 -9
- package/dist/templates/social/style-gradient-link-preview.js +9 -9
- package/dist/templates/social/style-gradient-milestone.js +9 -9
- package/dist/templates/social/style-gradient-testimonial.js +9 -9
- package/dist/templates/social/style-maximal-announcement.js +9 -9
- package/dist/templates/social/style-maximal-link-preview.js +9 -9
- package/dist/templates/social/style-maximal-milestone.js +9 -9
- package/dist/templates/social/style-maximal-testimonial.js +9 -9
- package/dist/templates/social/style-pastel-announcement.js +9 -9
- package/dist/templates/social/style-pastel-link-preview.js +9 -9
- package/dist/templates/social/style-pastel-milestone.js +9 -9
- package/dist/templates/social/style-pastel-testimonial.js +9 -9
- package/dist/templates/social/style-sketch-announcement.js +9 -9
- package/dist/templates/social/style-sketch-link-preview.js +9 -9
- package/dist/templates/social/style-sketch-milestone.js +9 -9
- package/dist/templates/social/style-sketch-testimonial.js +9 -9
- package/dist/templates/social/style-swiss-announcement.js +9 -9
- package/dist/templates/social/style-swiss-link-preview.js +9 -9
- package/dist/templates/social/style-swiss-milestone.js +9 -9
- package/dist/templates/social/style-swiss-testimonial.js +9 -9
- package/dist/templates/social/style-terminal-announcement.js +9 -9
- package/dist/templates/social/style-terminal-link-preview.js +9 -9
- package/dist/templates/social/style-terminal-milestone.js +9 -9
- package/dist/templates/social/style-terminal-testimonial.js +9 -9
- package/dist/templates/social/summer-heatwave-link-preview.js +9 -9
- package/dist/templates/social/summer-heatwave-lolly-post.js +9 -9
- package/dist/templates/social/tour-tickets-june-ads.js +9 -9
- package/dist/templates/social/tour-tickets-tide-ads.js +9 -9
- package/dist/templates/social/tour-tickets-wreck-ads.js +9 -9
- package/dist/templates/social/transit-map-link-preview.js +9 -9
- package/dist/templates/social/ukiyo-e-link-preview.js +9 -9
- package/dist/templates/social/ukiyo-e-spike-post.js +9 -9
- package/dist/templates/social/valentines-link-preview.js +9 -9
- package/dist/templates/social/valentines-poem-post.js +9 -9
- package/dist/templates/social/vaporwave-feature-drop.js +9 -9
- package/dist/templates/social/vaporwave-link-preview.js +9 -9
- package/dist/templates/social/winter-cosy-link-preview.js +9 -9
- package/dist/templates/social/winter-holidays-link-preview.js +9 -9
- package/dist/templates/social/winter-holidays-thanks-post.js +9 -9
- package/dist/templates/stings/line-reveal.js +9 -9
- package/dist/templates/stings/sting-blur.js +9 -9
- package/dist/templates/stings/sting-pop.js +9 -9
- package/dist/templates/stings/sting-rise.js +9 -9
- package/dist/templates/stings/sting-shimmer.js +9 -9
- package/dist/templates/stings/word-swap.js +9 -9
- package/dist/templates/text/stat-counter.js +9 -9
- package/dist/templates/text/word-quote.js +9 -9
- package/dist/templates/themes/april-fools-shared.js +5 -5
- package/dist/templates/themes/april-fools.js +16 -16
- package/dist/templates/themes/arcade.js +13 -13
- package/dist/templates/themes/art-deco.js +15 -15
- package/dist/templates/themes/autumn-harvest.js +15 -15
- package/dist/templates/themes/back-to-school.js +15 -15
- package/dist/templates/themes/bauhaus.js +14 -14
- package/dist/templates/themes/black-friday-coupons.js +16 -16
- package/dist/templates/themes/black-friday-neon.js +16 -16
- package/dist/templates/themes/black-friday-scratch.js +16 -16
- package/dist/templates/themes/black-friday-ticker.js +16 -16
- package/dist/templates/themes/black-friday.js +15 -15
- package/dist/templates/themes/blueprint.js +14 -14
- package/dist/templates/themes/broadsheet.js +16 -16
- package/dist/templates/themes/claymation.js +15 -15
- package/dist/templates/themes/comic-book.js +23 -23
- package/dist/templates/themes/comic-hero.js +21 -21
- package/dist/templates/themes/comic-indie.js +9 -9
- package/dist/templates/themes/cyberpunk.js +15 -15
- package/dist/templates/themes/departure-board.js +14 -14
- package/dist/templates/themes/diwali.js +15 -15
- package/dist/templates/themes/earth-day.js +15 -15
- package/dist/templates/themes/everyday.js +16 -16
- package/dist/templates/themes/festival-presale-electronic-kit.js +11 -11
- package/dist/templates/themes/festival-presale-family-a-shared.js +10 -10
- package/dist/templates/themes/festival-presale-family-a.js +35 -35
- package/dist/templates/themes/festival-presale-family-b-shared.js +10 -10
- package/dist/templates/themes/festival-presale-family-b.js +35 -35
- package/dist/templates/themes/festival-presale-family-kit.js +11 -11
- package/dist/templates/themes/festival-presale-folk-kit.js +11 -11
- package/dist/templates/themes/festival-presale-food-kit.js +11 -11
- package/dist/templates/themes/festival-presale-jazz-kit.js +11 -11
- package/dist/templates/themes/festival-presale-street-kit.js +11 -11
- package/dist/templates/themes/festival-presale.js +15 -15
- package/dist/templates/themes/gothic.js +15 -15
- package/dist/templates/themes/halloween.js +15 -15
- package/dist/templates/themes/holidays.js +32 -32
- package/dist/templates/themes/index.js +433 -433
- package/dist/templates/themes/lunar-new-year.js +15 -15
- package/dist/templates/themes/machined-shared.js +5 -5
- package/dist/templates/themes/machined.js +15 -15
- package/dist/templates/themes/manuscript.js +15 -15
- package/dist/templates/themes/memories.js +19 -19
- package/dist/templates/themes/new-year.js +15 -15
- package/dist/templates/themes/noir.js +15 -15
- package/dist/templates/themes/printshop-shared.js +4 -4
- package/dist/templates/themes/printshop.js +35 -35
- package/dist/templates/themes/psychedelic.js +15 -15
- package/dist/templates/themes/riso-zine.js +15 -15
- package/dist/templates/themes/singles-day.js +15 -15
- package/dist/templates/themes/solarpunk.js +15 -15
- package/dist/templates/themes/space-opera.js +15 -15
- package/dist/templates/themes/spring-bloom.js +15 -15
- package/dist/templates/themes/studio.js +15 -15
- package/dist/templates/themes/summer-heatwave.js +15 -15
- package/dist/templates/themes/tour-tickets.js +34 -34
- package/dist/templates/themes/transit-map.js +15 -15
- package/dist/templates/themes/ukiyo-e.js +15 -15
- package/dist/templates/themes/valentines.js +15 -15
- package/dist/templates/themes/vaporwave.js +14 -14
- package/dist/templates/themes/winter-cosy.js +15 -15
- package/dist/templates/themes/winter-holidays.js +15 -15
- package/dist/templates/video/youtube-chapter.js +9 -9
- package/dist/templates/video/youtube-end-screen.js +9 -9
- package/dist/templates/video/youtube-intro.js +9 -9
- package/dist/templates/video/youtube-subscribe.js +9 -9
- package/dist/templates/web/app-ui.js +5 -5
- package/dist/templates/web/april-fools-landing.js +11 -11
- package/dist/templates/web/arcade-landing.js +9 -9
- package/dist/templates/web/art-deco-landing.js +9 -9
- package/dist/templates/web/autumn-harvest-landing.js +9 -9
- package/dist/templates/web/back-to-school-landing.js +9 -9
- package/dist/templates/web/bauhaus-landing.js +9 -9
- package/dist/templates/web/black-friday-coupons-landing.js +9 -9
- package/dist/templates/web/black-friday-landing.js +9 -9
- package/dist/templates/web/black-friday-neon-landing.js +9 -9
- package/dist/templates/web/black-friday-scratch-landing.js +9 -9
- package/dist/templates/web/black-friday-ticker-landing.js +9 -9
- package/dist/templates/web/blog-post.js +9 -9
- package/dist/templates/web/blueprint-landing.js +9 -9
- package/dist/templates/web/broadsheet-landing.js +9 -9
- package/dist/templates/web/claymation-landing.js +9 -9
- package/dist/templates/web/comic-book-landing.js +9 -9
- package/dist/templates/web/coming-soon-page.js +10 -10
- package/dist/templates/web/coming-soon.js +9 -9
- package/dist/templates/web/contact.js +10 -10
- package/dist/templates/web/cyberpunk-landing.js +9 -9
- package/dist/templates/web/daybreak-app.js +11 -11
- package/dist/templates/web/departure-board-download.js +9 -9
- package/dist/templates/web/diwali-landing.js +9 -9
- package/dist/templates/web/earth-day-landing.js +9 -9
- package/dist/templates/web/everyday-cafe.js +9 -9
- package/dist/templates/web/everyday-hotel.js +9 -9
- package/dist/templates/web/everyday-wedding.js +10 -10
- package/dist/templates/web/festival-presale-electronic.js +9 -9
- package/dist/templates/web/festival-presale-family.js +9 -9
- package/dist/templates/web/festival-presale-folk.js +9 -9
- package/dist/templates/web/festival-presale-food.js +9 -9
- package/dist/templates/web/festival-presale-jazz.js +9 -9
- package/dist/templates/web/festival-presale-street.js +9 -9
- package/dist/templates/web/forms.js +4 -4
- package/dist/templates/web/gothic-landing.js +9 -9
- package/dist/templates/web/halloween-landing.js +9 -9
- package/dist/templates/web/hero-animated.js +9 -9
- package/dist/templates/web/kindling-app.js +11 -11
- package/dist/templates/web/launch-waitlist.js +10 -10
- package/dist/templates/web/lunar-new-year-landing.js +9 -9
- package/dist/templates/web/machined-hero.js +11 -11
- package/dist/templates/web/manuscript-landing.js +9 -9
- package/dist/templates/web/marginalia-app.js +11 -11
- package/dist/templates/web/new-year-landing.js +9 -9
- package/dist/templates/web/noir-landing.js +9 -9
- package/dist/templates/web/page-404.js +9 -9
- package/dist/templates/web/portfolio-architect.js +11 -11
- package/dist/templates/web/portfolio-art.js +4 -4
- package/dist/templates/web/portfolio-card-deck.js +11 -11
- package/dist/templates/web/portfolio-case-folio.js +11 -11
- package/dist/templates/web/portfolio-cube-gallery.js +11 -11
- package/dist/templates/web/portfolio-depth-tunnel.js +11 -11
- package/dist/templates/web/portfolio-editorial.js +11 -11
- package/dist/templates/web/portfolio-flip-wall.js +11 -11
- package/dist/templates/web/portfolio-index-list.js +11 -11
- package/dist/templates/web/portfolio-photographer.js +11 -11
- package/dist/templates/web/portfolio-reel-carousel.js +11 -11
- package/dist/templates/web/portfolio-shared.js +5 -5
- package/dist/templates/web/portfolio-sketchbook.js +11 -11
- package/dist/templates/web/portfolio-studio-grid.js +11 -11
- package/dist/templates/web/portfolio.js +9 -9
- package/dist/templates/web/portfolios.js +23 -23
- package/dist/templates/web/potluck-app.js +11 -11
- package/dist/templates/web/pricing-toggle.js +9 -9
- package/dist/templates/web/product-page.js +9 -9
- package/dist/templates/web/psychedelic-landing.js +9 -9
- package/dist/templates/web/riso-zine-landing.js +9 -9
- package/dist/templates/web/rsvp-invite.js +10 -10
- package/dist/templates/web/saas-ai-landing.js +9 -9
- package/dist/templates/web/saas-app-download.js +9 -9
- package/dist/templates/web/saas-case-study.js +9 -9
- package/dist/templates/web/saas-changelog.js +9 -9
- package/dist/templates/web/saas-comparison.js +9 -9
- package/dist/templates/web/saas-data-landing.js +9 -9
- package/dist/templates/web/saas-dev-landing.js +9 -9
- package/dist/templates/web/saas-indie-landing.js +9 -9
- package/dist/templates/web/saas-integrations.js +9 -9
- package/dist/templates/web/saas-security.js +9 -9
- package/dist/templates/web/saas-signup.js +9 -9
- package/dist/templates/web/saas-waitlist.js +9 -9
- package/dist/templates/web/saffron-app.js +11 -11
- package/dist/templates/web/shop-art.js +4 -4
- package/dist/templates/web/shop-bloom.js +13 -13
- package/dist/templates/web/shop-circuit.js +13 -13
- package/dist/templates/web/shop-fieldwork.js +13 -13
- package/dist/templates/web/shop-greenhouse.js +13 -13
- package/dist/templates/web/shop-kiln.js +13 -13
- package/dist/templates/web/shop-marginalia.js +13 -13
- package/dist/templates/web/shop-ode.js +13 -13
- package/dist/templates/web/shop-shared.js +7 -7
- package/dist/templates/web/shop-static.js +13 -13
- package/dist/templates/web/shop-summit.js +13 -13
- package/dist/templates/web/shops.js +22 -22
- package/dist/templates/web/singles-day-landing.js +9 -9
- package/dist/templates/web/solarpunk-landing.js +9 -9
- package/dist/templates/web/space-opera-landing.js +9 -9
- package/dist/templates/web/spring-bloom-landing.js +9 -9
- package/dist/templates/web/studio-careers.js +9 -9
- package/dist/templates/web/style-bento-landing.js +9 -9
- package/dist/templates/web/style-bento-pricing.js +9 -9
- package/dist/templates/web/style-brutalist-landing.js +9 -9
- package/dist/templates/web/style-brutalist-pricing.js +9 -9
- package/dist/templates/web/style-dark-landing.js +9 -9
- package/dist/templates/web/style-dark-pricing.js +9 -9
- package/dist/templates/web/style-data-landing.js +9 -9
- package/dist/templates/web/style-data-pricing.js +9 -9
- package/dist/templates/web/style-editorial-landing.js +9 -9
- package/dist/templates/web/style-editorial-pricing.js +9 -9
- package/dist/templates/web/style-glass-landing.js +9 -9
- package/dist/templates/web/style-glass-pricing.js +9 -9
- package/dist/templates/web/style-gradient-landing.js +9 -9
- package/dist/templates/web/style-gradient-pricing.js +9 -9
- package/dist/templates/web/style-maximal-landing.js +9 -9
- package/dist/templates/web/style-maximal-pricing.js +9 -9
- package/dist/templates/web/style-pastel-landing.js +9 -9
- package/dist/templates/web/style-pastel-pricing.js +9 -9
- package/dist/templates/web/style-sketch-landing.js +9 -9
- package/dist/templates/web/style-sketch-pricing.js +9 -9
- package/dist/templates/web/style-swiss-landing.js +9 -9
- package/dist/templates/web/style-swiss-pricing.js +9 -9
- package/dist/templates/web/style-terminal-landing.js +9 -9
- package/dist/templates/web/style-terminal-pricing.js +9 -9
- package/dist/templates/web/summer-heatwave-landing.js +9 -9
- package/dist/templates/web/tempo-app.js +11 -11
- package/dist/templates/web/tour-tickets-june-landing.js +9 -9
- package/dist/templates/web/tour-tickets-tide-landing.js +9 -9
- package/dist/templates/web/tour-tickets-wreck-landing.js +9 -9
- package/dist/templates/web/transit-map-landing.js +9 -9
- package/dist/templates/web/ukiyo-e-landing.js +9 -9
- package/dist/templates/web/valentines-landing.js +9 -9
- package/dist/templates/web/vaporwave-landing.js +9 -9
- package/dist/templates/web/wayfarer-app.js +11 -11
- package/dist/templates/web/winter-cosy-landing.js +9 -9
- package/dist/templates/web/winter-holidays-landing.js +9 -9
- package/package.json +1 -1
- package/dist/chunks/agent-DVKYZ5MR.js +0 -44
- package/dist/chunks/api-7ZHHFXRP.js +0 -29
- package/dist/chunks/build-V7TZZISP.js +0 -59
- package/dist/chunks/builtin-VDSMLZXH.js +0 -117
- package/dist/chunks/buy-credits-424PQFK4.js +0 -78
- package/dist/chunks/check-template-E5WVEJ54.js +0 -2429
- package/dist/chunks/chunk-23ONSBQK.js +0 -94
- package/dist/chunks/chunk-24NAWTFQ.js +0 -122
- package/dist/chunks/chunk-25RJV3AM.js +0 -192
- package/dist/chunks/chunk-26LSQLPP.js +0 -70
- package/dist/chunks/chunk-2A7CSKLR.js +0 -63
- package/dist/chunks/chunk-2AFLJDPS.js +0 -41
- package/dist/chunks/chunk-2EOU2VLT.js +0 -360
- package/dist/chunks/chunk-2GWYRJ4K.js +0 -52
- package/dist/chunks/chunk-2KFBPBMG.js +0 -93
- package/dist/chunks/chunk-2KG5R53C.js +0 -147
- package/dist/chunks/chunk-2KGABKPI.js +0 -120
- package/dist/chunks/chunk-2KGG4UPG.js +0 -261
- package/dist/chunks/chunk-2N52ZJZV.js +0 -190
- package/dist/chunks/chunk-2PU4UGO3.js +0 -358
- package/dist/chunks/chunk-2QRQR55M.js +0 -163
- package/dist/chunks/chunk-2RLMD3TC.js +0 -38
- package/dist/chunks/chunk-2RRO775B.js +0 -137
- package/dist/chunks/chunk-2RZLH466.js +0 -150
- package/dist/chunks/chunk-2SII45GT.js +0 -163
- package/dist/chunks/chunk-2SVH2YCJ.js +0 -157
- package/dist/chunks/chunk-2T7RZCMU.js +0 -267
- package/dist/chunks/chunk-2TPA3MCV.js +0 -327
- package/dist/chunks/chunk-2U4EHRPO.js +0 -199
- package/dist/chunks/chunk-2UHAMOGA.js +0 -337
- package/dist/chunks/chunk-2WI3BGLN.js +0 -103
- package/dist/chunks/chunk-2XBJCSOO.js +0 -257
- package/dist/chunks/chunk-2XY5PCK4.js +0 -65
- package/dist/chunks/chunk-2ZLSHOH3.js +0 -157
- package/dist/chunks/chunk-32BYICSP.js +0 -110
- package/dist/chunks/chunk-347XRJP2.js +0 -143
- package/dist/chunks/chunk-34S2PZSC.js +0 -242
- package/dist/chunks/chunk-34TFBLSU.js +0 -146
- package/dist/chunks/chunk-36Q5NCTF.js +0 -130
- package/dist/chunks/chunk-36UIND4N.js +0 -391
- package/dist/chunks/chunk-3ADQEI7R.js +0 -131
- package/dist/chunks/chunk-3B62W7T7.js +0 -33
- package/dist/chunks/chunk-3B6VNU7U.js +0 -95
- package/dist/chunks/chunk-3EOISKED.js +0 -95
- package/dist/chunks/chunk-3FS3Y2QU.js +0 -222
- package/dist/chunks/chunk-3FXAZAFC.js +0 -86
- package/dist/chunks/chunk-3IOEEXGA.js +0 -102
- package/dist/chunks/chunk-3JTFAFJO.js +0 -187
- package/dist/chunks/chunk-3LXIB4FO.js +0 -102
- package/dist/chunks/chunk-3LYBDPNO.js +0 -191
- package/dist/chunks/chunk-3MGMOKKA.js +0 -145
- package/dist/chunks/chunk-3O377M6N.js +0 -23
- package/dist/chunks/chunk-3PEERL4O.js +0 -135
- package/dist/chunks/chunk-3QZUOPWM.js +0 -170
- package/dist/chunks/chunk-3SZHLUH6.js +0 -152
- package/dist/chunks/chunk-3TJIDN3Z.js +0 -110
- package/dist/chunks/chunk-3Z72XBI4.js +0 -206
- package/dist/chunks/chunk-3ZMEO7QD.js +0 -204
- package/dist/chunks/chunk-43VFO2WG.js +0 -112
- package/dist/chunks/chunk-44EIZO34.js +0 -33
- package/dist/chunks/chunk-467R6DMA.js +0 -80
- package/dist/chunks/chunk-46GPUEX4.js +0 -396
- package/dist/chunks/chunk-4BYUGLLD.js +0 -147
- package/dist/chunks/chunk-4FAMEZZA.js +0 -85
- package/dist/chunks/chunk-4H5AETMO.js +0 -151
- package/dist/chunks/chunk-4HTP57IE.js +0 -133
- package/dist/chunks/chunk-4JBIVIT6.js +0 -685
- package/dist/chunks/chunk-4JKJWQCR.js +0 -234
- package/dist/chunks/chunk-4KJJVCKE.js +0 -188
- package/dist/chunks/chunk-4MBQ55NG.js +0 -94
- package/dist/chunks/chunk-4QD23RJO.js +0 -76
- package/dist/chunks/chunk-4RFKXI2Y.js +0 -162
- package/dist/chunks/chunk-4SD7TX7R.js +0 -422
- package/dist/chunks/chunk-4SPJEVG6.js +0 -1975
- package/dist/chunks/chunk-4UBGLJ4C.js +0 -221
- package/dist/chunks/chunk-4UOS4MBL.js +0 -149
- package/dist/chunks/chunk-4US4UKUJ.js +0 -303
- package/dist/chunks/chunk-4VOGX2KO.js +0 -108
- package/dist/chunks/chunk-4VVDQRDB.js +0 -240
- package/dist/chunks/chunk-4WNIQ37Z.js +0 -80
- package/dist/chunks/chunk-4X6EJSI4.js +0 -23
- package/dist/chunks/chunk-4XOXQFMB.js +0 -118
- package/dist/chunks/chunk-4YCO6BVM.js +0 -95
- package/dist/chunks/chunk-524RSKF3.js +0 -198
- package/dist/chunks/chunk-52M4YNBI.js +0 -329
- package/dist/chunks/chunk-557EBRZ7.js +0 -1393
- package/dist/chunks/chunk-55GF4ENM.js +0 -94
- package/dist/chunks/chunk-55PKBILS.js +0 -79
- package/dist/chunks/chunk-5AZRCYP5.js +0 -181
- package/dist/chunks/chunk-5B7MJCBR.js +0 -33
- package/dist/chunks/chunk-5DJMUILS.js +0 -155
- package/dist/chunks/chunk-5H2SEPN6.js +0 -103
- package/dist/chunks/chunk-5HIBULR6.js +0 -156
- package/dist/chunks/chunk-5HLJ5RDN.js +0 -150
- package/dist/chunks/chunk-5HVOF5QD.js +0 -81
- package/dist/chunks/chunk-5JGZ6QQR.js +0 -73
- package/dist/chunks/chunk-5KNAKBS4.js +0 -115
- package/dist/chunks/chunk-5L5XUQOR.js +0 -559
- package/dist/chunks/chunk-5O7S2BXL.js +0 -161
- package/dist/chunks/chunk-5OMGMI5K.js +0 -78
- package/dist/chunks/chunk-5OUH2ONV.js +0 -261
- package/dist/chunks/chunk-5QDHDFU5.js +0 -60
- package/dist/chunks/chunk-5S2P5UVZ.js +0 -164
- package/dist/chunks/chunk-5SVFCWRP.js +0 -10426
- package/dist/chunks/chunk-5T3BVAWK.js +0 -297
- package/dist/chunks/chunk-5T3QXDGH.js +0 -304
- package/dist/chunks/chunk-5TCMTZ5Q.js +0 -85
- package/dist/chunks/chunk-5UL4QSMQ.js +0 -99
- package/dist/chunks/chunk-5XX2YBP5.js +0 -84
- package/dist/chunks/chunk-5Y4DB5QJ.js +0 -83
- package/dist/chunks/chunk-5ZUEHGGH.js +0 -91
- package/dist/chunks/chunk-634IWDAF.js +0 -78
- package/dist/chunks/chunk-63IYVVVW.js +0 -45
- package/dist/chunks/chunk-644TO36C.js +0 -165
- package/dist/chunks/chunk-65AJ53HK.js +0 -23
- package/dist/chunks/chunk-67SKM6ZG.js +0 -126
- package/dist/chunks/chunk-6ASFQPHD.js +0 -23
- package/dist/chunks/chunk-6B72OPZN.js +0 -326
- package/dist/chunks/chunk-6C4NK5DL.js +0 -23
- package/dist/chunks/chunk-6CDA5QIN.js +0 -45
- package/dist/chunks/chunk-6DSXLIZF.js +0 -33
- package/dist/chunks/chunk-6EZZUEUY.js +0 -45
- package/dist/chunks/chunk-6FP7TU2Q.js +0 -78
- package/dist/chunks/chunk-6G6DHM7L.js +0 -92
- package/dist/chunks/chunk-6HN7A3BP.js +0 -334
- package/dist/chunks/chunk-6HQI4NQA.js +0 -28
- package/dist/chunks/chunk-6JDCOWE5.js +0 -111
- package/dist/chunks/chunk-6JUGZ4PO.js +0 -23
- package/dist/chunks/chunk-6JZYFK5H.js +0 -1403
- package/dist/chunks/chunk-6KLF4Q7V.js +0 -81
- package/dist/chunks/chunk-6KPGKEAF.js +0 -120
- package/dist/chunks/chunk-6LHJH6EB.js +0 -89
- package/dist/chunks/chunk-6PNFGU7K.js +0 -110
- package/dist/chunks/chunk-6R3FGNRO.js +0 -122
- package/dist/chunks/chunk-6T2G6QFQ.js +0 -45
- package/dist/chunks/chunk-6TAEM3M7.js +0 -301
- package/dist/chunks/chunk-6UBW66QC.js +0 -65
- package/dist/chunks/chunk-6USMFQVX.js +0 -107
- package/dist/chunks/chunk-6VNKVPYX.js +0 -33
- package/dist/chunks/chunk-6WDPTQ3B.js +0 -139
- package/dist/chunks/chunk-6WML55KC.js +0 -33
- package/dist/chunks/chunk-6XB7RA3T.js +0 -274
- package/dist/chunks/chunk-6ZNX35XU.js +0 -105
- package/dist/chunks/chunk-76FJWVGD.js +0 -45
- package/dist/chunks/chunk-76LMSTUZ.js +0 -149
- package/dist/chunks/chunk-76UVL5W3.js +0 -135
- package/dist/chunks/chunk-777OZHEF.js +0 -488
- package/dist/chunks/chunk-7A5PWALR.js +0 -198
- package/dist/chunks/chunk-7BCGIVCP.js +0 -80
- package/dist/chunks/chunk-7BXDM2HR.js +0 -63
- package/dist/chunks/chunk-7CI6L3JQ.js +0 -589
- package/dist/chunks/chunk-7CIQTF7J.js +0 -170
- package/dist/chunks/chunk-7COGRJKW.js +0 -55
- package/dist/chunks/chunk-7DPPA6RW.js +0 -149
- package/dist/chunks/chunk-7EZNSXD2.js +0 -72
- package/dist/chunks/chunk-7IH7U6KU.js +0 -10257
- package/dist/chunks/chunk-7JJKFUCB.js +0 -49
- package/dist/chunks/chunk-7K7OTFNK.js +0 -23
- package/dist/chunks/chunk-7NHZQLR6.js +0 -93
- package/dist/chunks/chunk-7OG2FLAR.js +0 -97
- package/dist/chunks/chunk-7P3UJT32.js +0 -97
- package/dist/chunks/chunk-7P5VIPWT.js +0 -47
- package/dist/chunks/chunk-7PFIMSOB.js +0 -46
- package/dist/chunks/chunk-7SMURRFY.js +0 -45
- package/dist/chunks/chunk-7U6NAIO6.js +0 -94
- package/dist/chunks/chunk-7W7ZLTGN.js +0 -92
- package/dist/chunks/chunk-7WYOWXNS.js +0 -23
- package/dist/chunks/chunk-7Y3IKMHP.js +0 -115
- package/dist/chunks/chunk-A2C4AK22.js +0 -74
- package/dist/chunks/chunk-A335UZVR.js +0 -44
- package/dist/chunks/chunk-A3B76TSF.js +0 -87
- package/dist/chunks/chunk-A4DTITBR.js +0 -131
- package/dist/chunks/chunk-A4TQGKBI.js +0 -202
- package/dist/chunks/chunk-A5XHCDUO.js +0 -79
- package/dist/chunks/chunk-A6W7JTGD.js +0 -23
- package/dist/chunks/chunk-AA5YM2FB.js +0 -79
- package/dist/chunks/chunk-ABA3OYOG.js +0 -53
- package/dist/chunks/chunk-ABFIUNUH.js +0 -71
- package/dist/chunks/chunk-ADAMYMMZ.js +0 -90
- package/dist/chunks/chunk-AEEWD2JG.js +0 -50
- package/dist/chunks/chunk-AEYBTYR3.js +0 -33
- package/dist/chunks/chunk-AIKCTDG3.js +0 -197
- package/dist/chunks/chunk-AJETOQCJ.js +0 -163
- package/dist/chunks/chunk-AKPQQY3L.js +0 -76
- package/dist/chunks/chunk-AKWF4XQS.js +0 -210
- package/dist/chunks/chunk-AKXSEZGM.js +0 -70
- package/dist/chunks/chunk-ALKR5MO6.js +0 -163
- package/dist/chunks/chunk-ARIUPUQE.js +0 -165
- package/dist/chunks/chunk-ASQXCWOG.js +0 -189
- package/dist/chunks/chunk-AUWPHJMT.js +0 -108
- package/dist/chunks/chunk-AUXCUJ7M.js +0 -57
- package/dist/chunks/chunk-AVBULXMP.js +0 -33
- package/dist/chunks/chunk-AVFAE6AJ.js +0 -172
- package/dist/chunks/chunk-AZSED7O4.js +0 -84
- package/dist/chunks/chunk-B255NNEM.js +0 -95
- package/dist/chunks/chunk-B3T5F3XJ.js +0 -33
- package/dist/chunks/chunk-B3YW4URQ.js +0 -75
- package/dist/chunks/chunk-B4CS3E2G.js +0 -290
- package/dist/chunks/chunk-B54LJN6V.js +0 -169
- package/dist/chunks/chunk-B5CKTEBU.js +0 -150
- package/dist/chunks/chunk-B5I2QT6C.js +0 -146
- package/dist/chunks/chunk-B5XPLQ7E.js +0 -162
- package/dist/chunks/chunk-B756VFX7.js +0 -86
- package/dist/chunks/chunk-B7SWM3MM.js +0 -261
- package/dist/chunks/chunk-BA4XVIWE.js +0 -112
- package/dist/chunks/chunk-BBN7V4GO.js +0 -86
- package/dist/chunks/chunk-BBVQRUYG.js +0 -151
- package/dist/chunks/chunk-BDHJN46M.js +0 -149
- package/dist/chunks/chunk-BDVSRWUF.js +0 -36
- package/dist/chunks/chunk-BENTHLML.js +0 -23
- package/dist/chunks/chunk-BFFWZYAP.js +0 -100
- package/dist/chunks/chunk-BFHR4B3H.js +0 -53
- package/dist/chunks/chunk-BGWA7UNQ.js +0 -139
- package/dist/chunks/chunk-BHNBZO6Q.js +0 -150
- package/dist/chunks/chunk-BHXAJVKJ.js +0 -209
- package/dist/chunks/chunk-BI67XGQN.js +0 -133
- package/dist/chunks/chunk-BIAD67BC.js +0 -122
- package/dist/chunks/chunk-BKOLU4XB.js +0 -7928
- package/dist/chunks/chunk-BLQTQVPR.js +0 -42
- package/dist/chunks/chunk-BMOCH5WY.js +0 -87
- package/dist/chunks/chunk-BMQGNTF6.js +0 -23
- package/dist/chunks/chunk-BOB2YMZM.js +0 -231
- package/dist/chunks/chunk-BOJ6VBMG.js +0 -345
- package/dist/chunks/chunk-BPFG3XRP.js +0 -274
- package/dist/chunks/chunk-BQPVCGWA.js +0 -33
- package/dist/chunks/chunk-BRLGH2BR.js +0 -251
- package/dist/chunks/chunk-BRQVH3QS.js +0 -153
- package/dist/chunks/chunk-BRQYNY4H.js +0 -320
- package/dist/chunks/chunk-BSP63DQK.js +0 -33
- package/dist/chunks/chunk-BTKGEGZA.js +0 -123
- package/dist/chunks/chunk-BTYVW4F4.js +0 -113
- package/dist/chunks/chunk-BUBULGFL.js +0 -154
- package/dist/chunks/chunk-C24FT77T.js +0 -71
- package/dist/chunks/chunk-C3ANIMIQ.js +0 -225
- package/dist/chunks/chunk-C3VQEWUT.js +0 -139
- package/dist/chunks/chunk-C5UHPSVV.js +0 -103
- package/dist/chunks/chunk-CAXY5E2Y.js +0 -1574
- package/dist/chunks/chunk-CBDM6BXF.js +0 -145
- package/dist/chunks/chunk-CBULGY3J.js +0 -336
- package/dist/chunks/chunk-CCGTXDYB.js +0 -344
- package/dist/chunks/chunk-CDB36YC4.js +0 -278
- package/dist/chunks/chunk-CEBWZCAK.js +0 -185
- package/dist/chunks/chunk-CFXN3Y3T.js +0 -30
- package/dist/chunks/chunk-CG3YIGBC.js +0 -399
- package/dist/chunks/chunk-CGLEDXCZ.js +0 -119
- package/dist/chunks/chunk-CIPTK55J.js +0 -330
- package/dist/chunks/chunk-CS4CIUVU.js +0 -102
- package/dist/chunks/chunk-CT27J6NQ.js +0 -118
- package/dist/chunks/chunk-CVI6TPUL.js +0 -55
- package/dist/chunks/chunk-CVLZ3RIG.js +0 -256
- package/dist/chunks/chunk-CW772K4H.js +0 -123
- package/dist/chunks/chunk-CXUWHB53.js +0 -120
- package/dist/chunks/chunk-CYKVEGCQ.js +0 -43
- package/dist/chunks/chunk-CYXS7XJ6.js +0 -220
- package/dist/chunks/chunk-CZ7D2RLD.js +0 -262
- package/dist/chunks/chunk-D2PIQ6WC.js +0 -194
- package/dist/chunks/chunk-D3T632YD.js +0 -23
- package/dist/chunks/chunk-D4IA4DVE.js +0 -161
- package/dist/chunks/chunk-DCFJIT66.js +0 -100
- package/dist/chunks/chunk-DCOTTTDP.js +0 -287
- package/dist/chunks/chunk-DFO5V7UC.js +0 -192
- package/dist/chunks/chunk-DFTBZAEV.js +0 -105
- package/dist/chunks/chunk-DG4GJ4ID.js +0 -180
- package/dist/chunks/chunk-DHRSSPLC.js +0 -108
- package/dist/chunks/chunk-DINZCSMO.js +0 -64
- package/dist/chunks/chunk-DJ5TVHAZ.js +0 -120
- package/dist/chunks/chunk-DJKBIKRQ.js +0 -97
- package/dist/chunks/chunk-DJR5KELZ.js +0 -122
- package/dist/chunks/chunk-DK7YVPCQ.js +0 -100
- package/dist/chunks/chunk-DKNDMDZY.js +0 -101
- package/dist/chunks/chunk-DNJPZONK.js +0 -1469
- package/dist/chunks/chunk-DPHENFYO.js +0 -198
- package/dist/chunks/chunk-DQFRLBLP.js +0 -49
- package/dist/chunks/chunk-DR72HAL6.js +0 -260
- package/dist/chunks/chunk-DSCXHYJC.js +0 -106
- package/dist/chunks/chunk-DSP5UAF2.js +0 -180
- package/dist/chunks/chunk-DTQAONWB.js +0 -50
- package/dist/chunks/chunk-DUSQALBK.js +0 -100
- package/dist/chunks/chunk-DXRAJ7KL.js +0 -152
- package/dist/chunks/chunk-DXSCJ7IF.js +0 -161
- package/dist/chunks/chunk-DXYRUREP.js +0 -166
- package/dist/chunks/chunk-DZOPRSVL.js +0 -84
- package/dist/chunks/chunk-E2DVLX5X.js +0 -194
- package/dist/chunks/chunk-E3XYLCIO.js +0 -208
- package/dist/chunks/chunk-E5QMN4JN.js +0 -33
- package/dist/chunks/chunk-E6KBQYQH.js +0 -182
- package/dist/chunks/chunk-EGAD65KC.js +0 -136
- package/dist/chunks/chunk-EHAY3DCX.js +0 -23
- package/dist/chunks/chunk-EKD3R3EC.js +0 -262
- package/dist/chunks/chunk-ELPRKB4N.js +0 -331
- package/dist/chunks/chunk-ELQ4F4XX.js +0 -237
- package/dist/chunks/chunk-EM7UGTTN.js +0 -122
- package/dist/chunks/chunk-EO3EJIEL.js +0 -113
- package/dist/chunks/chunk-EPNMCJIJ.js +0 -276
- package/dist/chunks/chunk-ETL2YO7N.js +0 -93
- package/dist/chunks/chunk-EUJNZORD.js +0 -111
- package/dist/chunks/chunk-EUX42XIE.js +0 -33
- package/dist/chunks/chunk-EVHS2HJM.js +0 -33
- package/dist/chunks/chunk-F3Y22GO2.js +0 -155
- package/dist/chunks/chunk-F4OZ33XD.js +0 -71
- package/dist/chunks/chunk-F5DOFUPE.js +0 -283
- package/dist/chunks/chunk-F6VBHYFT.js +0 -201
- package/dist/chunks/chunk-F7IMDEGH.js +0 -66
- package/dist/chunks/chunk-FANPV6ZH.js +0 -140
- package/dist/chunks/chunk-FBRRNKDZ.js +0 -298
- package/dist/chunks/chunk-FC4YO2PA.js +0 -83
- package/dist/chunks/chunk-FGZTACVO.js +0 -51
- package/dist/chunks/chunk-FHFOOUWR.js +0 -159
- package/dist/chunks/chunk-FHVMELHZ.js +0 -255
- package/dist/chunks/chunk-FI2HB6Q6.js +0 -266
- package/dist/chunks/chunk-FINX2SQF.js +0 -87
- package/dist/chunks/chunk-FJSJT5ZM.js +0 -199
- package/dist/chunks/chunk-FKDNRZPL.js +0 -157
- package/dist/chunks/chunk-FLTZ3GCL.js +0 -156
- package/dist/chunks/chunk-FMB4MA2B.js +0 -45
- package/dist/chunks/chunk-FMC3QQWM.js +0 -358
- package/dist/chunks/chunk-FMWUXVVS.js +0 -210
- package/dist/chunks/chunk-FNK25UH2.js +0 -178
- package/dist/chunks/chunk-FQLHVKWY.js +0 -135
- package/dist/chunks/chunk-FR2GTFTD.js +0 -235
- package/dist/chunks/chunk-FRU7TTGC.js +0 -117
- package/dist/chunks/chunk-FSC2CTL7.js +0 -237
- package/dist/chunks/chunk-FSOPB7T4.js +0 -174
- package/dist/chunks/chunk-FUWP3W5O.js +0 -78
- package/dist/chunks/chunk-FV3VU7MX.js +0 -23
- package/dist/chunks/chunk-FVK5VSSQ.js +0 -121
- package/dist/chunks/chunk-FW4HEEHJ.js +0 -224
- package/dist/chunks/chunk-FXZI6ADA.js +0 -103
- package/dist/chunks/chunk-FYZ5P5VY.js +0 -265
- package/dist/chunks/chunk-FZWRGTWY.js +0 -23
- package/dist/chunks/chunk-G36PNNUY.js +0 -273
- package/dist/chunks/chunk-G3MWCNMS.js +0 -146
- package/dist/chunks/chunk-G4RI6NQP.js +0 -115
- package/dist/chunks/chunk-G4TC3CCS.js +0 -23
- package/dist/chunks/chunk-G5DZYR3M.js +0 -503
- package/dist/chunks/chunk-G7HMICPW.js +0 -161
- package/dist/chunks/chunk-G7SDTK2H.js +0 -23
- package/dist/chunks/chunk-G7Y6ZQX3.js +0 -45
- package/dist/chunks/chunk-GAIRO2NJ.js +0 -96
- package/dist/chunks/chunk-GAUTQGM5.js +0 -45
- package/dist/chunks/chunk-GBVTDYAF.js +0 -47
- package/dist/chunks/chunk-GDHNJ4QN.js +0 -106
- package/dist/chunks/chunk-GE2KCETG.js +0 -226
- package/dist/chunks/chunk-GHPOA4U6.js +0 -142
- package/dist/chunks/chunk-GIGVW2MD.js +0 -166
- package/dist/chunks/chunk-GJKRIZX5.js +0 -33
- package/dist/chunks/chunk-GNV3K2JP.js +0 -249
- package/dist/chunks/chunk-GOQ4KMFS.js +0 -207
- package/dist/chunks/chunk-GOQJHCRE.js +0 -173
- package/dist/chunks/chunk-GOSIV7RD.js +0 -129
- package/dist/chunks/chunk-GRGAJ6EH.js +0 -191
- package/dist/chunks/chunk-GSC7YIM2.js +0 -366
- package/dist/chunks/chunk-GTNZHSJF.js +0 -167
- package/dist/chunks/chunk-GVM534Y6.js +0 -170
- package/dist/chunks/chunk-GW7HXWCX.js +0 -293
- package/dist/chunks/chunk-H2TWIYTN.js +0 -121
- package/dist/chunks/chunk-H3IUU76T.js +0 -106
- package/dist/chunks/chunk-H3KQVFYY.js +0 -30
- package/dist/chunks/chunk-H4OSLAKJ.js +0 -90
- package/dist/chunks/chunk-H4R7Q3JX.js +0 -52
- package/dist/chunks/chunk-H7SPP77S.js +0 -197
- package/dist/chunks/chunk-H7YGE3R7.js +0 -263
- package/dist/chunks/chunk-HCCFAONP.js +0 -107
- package/dist/chunks/chunk-HGYALUFC.js +0 -80
- package/dist/chunks/chunk-HHQKTKGE.js +0 -181
- package/dist/chunks/chunk-HITM7INM.js +0 -255
- package/dist/chunks/chunk-HJ3ZDMRJ.js +0 -121
- package/dist/chunks/chunk-HLVE6ZDA.js +0 -196
- package/dist/chunks/chunk-HLVEWSLU.js +0 -74
- package/dist/chunks/chunk-HMD6ECIY.js +0 -42
- package/dist/chunks/chunk-HMEC7MPK.js +0 -312
- package/dist/chunks/chunk-HN336KPK.js +0 -23
- package/dist/chunks/chunk-HP6RNLTV.js +0 -112
- package/dist/chunks/chunk-HPRVVT2H.js +0 -69
- package/dist/chunks/chunk-HREHDGKN.js +0 -260
- package/dist/chunks/chunk-HSMDJL4D.js +0 -153
- package/dist/chunks/chunk-HTBI566G.js +0 -224
- package/dist/chunks/chunk-HURQNWWD.js +0 -33
- package/dist/chunks/chunk-HW3NGQOE.js +0 -111
- package/dist/chunks/chunk-HXYXCYQM.js +0 -198
- package/dist/chunks/chunk-HZ5EH4IJ.js +0 -189
- package/dist/chunks/chunk-HZZDCHNF.js +0 -1136
- package/dist/chunks/chunk-I3MR4VKO.js +0 -36
- package/dist/chunks/chunk-I45KYFQN.js +0 -23
- package/dist/chunks/chunk-I57GDXZX.js +0 -98
- package/dist/chunks/chunk-I5DPZ25R.js +0 -122
- package/dist/chunks/chunk-I6UURRMJ.js +0 -160
- package/dist/chunks/chunk-I7BZF2HS.js +0 -23
- package/dist/chunks/chunk-IAKD6WPI.js +0 -95
- package/dist/chunks/chunk-IBSTGGMO.js +0 -33
- package/dist/chunks/chunk-IEQT5WFB.js +0 -152
- package/dist/chunks/chunk-IFNI5VNR.js +0 -217
- package/dist/chunks/chunk-IGEZPEJ4.js +0 -183
- package/dist/chunks/chunk-IHQLO4WN.js +0 -250
- package/dist/chunks/chunk-IJ3YU4NR.js +0 -23
- package/dist/chunks/chunk-IJ4Q6ZVT.js +0 -105
- package/dist/chunks/chunk-IKWAEBU2.js +0 -242
- package/dist/chunks/chunk-IMCWTIU6.js +0 -77
- package/dist/chunks/chunk-IMI7BOMR.js +0 -183
- package/dist/chunks/chunk-INIEMZBZ.js +0 -224
- package/dist/chunks/chunk-INKJK7SI.js +0 -77
- package/dist/chunks/chunk-INW4AUNL.js +0 -33
- package/dist/chunks/chunk-IPD7GH5U.js +0 -204
- package/dist/chunks/chunk-IPEWB63V.js +0 -152
- package/dist/chunks/chunk-IQEU5I2S.js +0 -86
- package/dist/chunks/chunk-IQMR2KZD.js +0 -23
- package/dist/chunks/chunk-IRIDJCAQ.js +0 -77
- package/dist/chunks/chunk-IRMJHNK2.js +0 -176
- package/dist/chunks/chunk-ISEOM3HP.js +0 -198
- package/dist/chunks/chunk-ISNAXQQ4.js +0 -163
- package/dist/chunks/chunk-ISWTMBZ6.js +0 -171
- package/dist/chunks/chunk-IT6S6BTR.js +0 -462
- package/dist/chunks/chunk-IULG6LZE.js +0 -135
- package/dist/chunks/chunk-IV26QDN3.js +0 -110
- package/dist/chunks/chunk-IVR35OZ7.js +0 -155
- package/dist/chunks/chunk-IWIXE6FA.js +0 -33
- package/dist/chunks/chunk-IX5G7CRV.js +0 -114
- package/dist/chunks/chunk-J27RMNCX.js +0 -23
- package/dist/chunks/chunk-J4ST6WFS.js +0 -109
- package/dist/chunks/chunk-J5FOW6DL.js +0 -95
- package/dist/chunks/chunk-J5YRK7JK.js +0 -127
- package/dist/chunks/chunk-J7GC5ASC.js +0 -104
- package/dist/chunks/chunk-JA4KM5VZ.js +0 -165
- package/dist/chunks/chunk-JBIDHKS4.js +0 -23
- package/dist/chunks/chunk-JBLDKCUA.js +0 -266
- package/dist/chunks/chunk-JFCAYKSE.js +0 -159
- package/dist/chunks/chunk-JFVXV4WH.js +0 -225
- package/dist/chunks/chunk-JG5INSME.js +0 -152
- package/dist/chunks/chunk-JHREHDJ3.js +0 -153
- package/dist/chunks/chunk-JIX5QI7I.js +0 -33
- package/dist/chunks/chunk-JJQDEOJI.js +0 -80
- package/dist/chunks/chunk-JK7WZKG2.js +0 -106
- package/dist/chunks/chunk-JMZ3VLBK.js +0 -175
- package/dist/chunks/chunk-JO4UHFBI.js +0 -209
- package/dist/chunks/chunk-JOUHQ5HK.js +0 -200
- package/dist/chunks/chunk-JQCELRPW.js +0 -140
- package/dist/chunks/chunk-JSZHQ2WS.js +0 -165
- package/dist/chunks/chunk-JUXVB43R.js +0 -898
- package/dist/chunks/chunk-JW3V25LF.js +0 -89
- package/dist/chunks/chunk-K23YIUMN.js +0 -122
- package/dist/chunks/chunk-K3KY5ROZ.js +0 -232
- package/dist/chunks/chunk-K3ZDMJKH.js +0 -95
- package/dist/chunks/chunk-K4R2DBX5.js +0 -115
- package/dist/chunks/chunk-K5NRAGZU.js +0 -80
- package/dist/chunks/chunk-KBCXFWJQ.js +0 -206
- package/dist/chunks/chunk-KBE6O7WG.js +0 -279
- package/dist/chunks/chunk-KBTKWQQA.js +0 -147
- package/dist/chunks/chunk-KDOFXVBW.js +0 -247
- package/dist/chunks/chunk-KEUBR7L6.js +0 -142
- package/dist/chunks/chunk-KFJW5Z33.js +0 -156
- package/dist/chunks/chunk-KGCNKGCQ.js +0 -33
- package/dist/chunks/chunk-KGRCNZNB.js +0 -71
- package/dist/chunks/chunk-KGT34R7C.js +0 -185
- package/dist/chunks/chunk-KGVA7O3Y.js +0 -282
- package/dist/chunks/chunk-KHMVSGY2.js +0 -215
- package/dist/chunks/chunk-KI2P2KLL.js +0 -626
- package/dist/chunks/chunk-KI4L6QQZ.js +0 -36
- package/dist/chunks/chunk-KKWGFVHW.js +0 -146
- package/dist/chunks/chunk-KN46GQ35.js +0 -131
- package/dist/chunks/chunk-KNTQDMAI.js +0 -209
- package/dist/chunks/chunk-KOEJ4KWY.js +0 -39
- package/dist/chunks/chunk-KPSUZWRJ.js +0 -74
- package/dist/chunks/chunk-KREMQG6R.js +0 -81
- package/dist/chunks/chunk-KSIUOHJF.js +0 -277
- package/dist/chunks/chunk-KWUXHRXD.js +0 -401
- package/dist/chunks/chunk-KXAYARPX.js +0 -209
- package/dist/chunks/chunk-KYI2XREF.js +0 -567
- package/dist/chunks/chunk-KYOK6DTH.js +0 -327
- package/dist/chunks/chunk-L45U6H7D.js +0 -175
- package/dist/chunks/chunk-L5AG5NRB.js +0 -244
- package/dist/chunks/chunk-L5CCLHQJ.js +0 -138
- package/dist/chunks/chunk-L5DTT5DC.js +0 -1314
- package/dist/chunks/chunk-L5GRJVFJ.js +0 -738
- package/dist/chunks/chunk-L7WHCTAX.js +0 -197
- package/dist/chunks/chunk-LBSIXPRK.js +0 -161
- package/dist/chunks/chunk-LBUIFKSU.js +0 -117
- package/dist/chunks/chunk-LLDNI4Z2.js +0 -106
- package/dist/chunks/chunk-LM6IVHXJ.js +0 -252
- package/dist/chunks/chunk-LMIBSCFX.js +0 -48
- package/dist/chunks/chunk-LMYV7IR4.js +0 -174
- package/dist/chunks/chunk-LPO5QAGQ.js +0 -102
- package/dist/chunks/chunk-LQ4U2VP3.js +0 -108
- package/dist/chunks/chunk-LQGD7LVP.js +0 -92
- package/dist/chunks/chunk-LXOEG6DU.js +0 -87
- package/dist/chunks/chunk-LZM6P74O.js +0 -23
- package/dist/chunks/chunk-M36FRWT7.js +0 -83
- package/dist/chunks/chunk-M3JQ3L5B.js +0 -169
- package/dist/chunks/chunk-M4TS6IIX.js +0 -282
- package/dist/chunks/chunk-M4YHQ66Z.js +0 -124
- package/dist/chunks/chunk-M5C3HTFN.js +0 -104
- package/dist/chunks/chunk-M6CJEQCL.js +0 -103
- package/dist/chunks/chunk-M6DLAUGL.js +0 -23
- package/dist/chunks/chunk-MBFGAZJI.js +0 -287
- package/dist/chunks/chunk-MFUYUPER.js +0 -96
- package/dist/chunks/chunk-MGAVAMGQ.js +0 -138
- package/dist/chunks/chunk-MGBDSJH3.js +0 -98
- package/dist/chunks/chunk-MGEVDT4Q.js +0 -90
- package/dist/chunks/chunk-MJDMS6HH.js +0 -206
- package/dist/chunks/chunk-MM5JDLOX.js +0 -149
- package/dist/chunks/chunk-MMM32LWN.js +0 -23
- package/dist/chunks/chunk-MOD6AAAC.js +0 -84
- package/dist/chunks/chunk-MOMLOMH2.js +0 -115
- package/dist/chunks/chunk-MPDEDFGO.js +0 -163
- package/dist/chunks/chunk-MPTPQISP.js +0 -109
- package/dist/chunks/chunk-MQ73SYLV.js +0 -938
- package/dist/chunks/chunk-MSCJDY3J.js +0 -33
- package/dist/chunks/chunk-MSMPLXQU.js +0 -128
- package/dist/chunks/chunk-MSOCJXH7.js +0 -80
- package/dist/chunks/chunk-MV5SHQ5S.js +0 -127
- package/dist/chunks/chunk-MYBZXKKP.js +0 -226
- package/dist/chunks/chunk-NB3LFQ5O.js +0 -238
- package/dist/chunks/chunk-NBKNCUIN.js +0 -141
- package/dist/chunks/chunk-NFMTUZC7.js +0 -91
- package/dist/chunks/chunk-NH75YACH.js +0 -351
- package/dist/chunks/chunk-NHELNUSY.js +0 -777
- package/dist/chunks/chunk-NHO3BOCF.js +0 -84
- package/dist/chunks/chunk-NIHVBDAP.js +0 -86
- package/dist/chunks/chunk-NKH34Q2W.js +0 -112
- package/dist/chunks/chunk-NMGZFXPW.js +0 -250
- package/dist/chunks/chunk-NMKRZENT.js +0 -45
- package/dist/chunks/chunk-NP72M5SK.js +0 -179
- package/dist/chunks/chunk-NPREAEII.js +0 -66
- package/dist/chunks/chunk-NQEZKJS2.js +0 -172
- package/dist/chunks/chunk-NQPNGZ3C.js +0 -118
- package/dist/chunks/chunk-NS6WDQ3X.js +0 -160
- package/dist/chunks/chunk-NZDX4PLS.js +0 -102
- package/dist/chunks/chunk-O3E62UHX.js +0 -177
- package/dist/chunks/chunk-O4QB6TQY.js +0 -155
- package/dist/chunks/chunk-O5IZVX4M.js +0 -77
- package/dist/chunks/chunk-O5OVVAEE.js +0 -55
- package/dist/chunks/chunk-O5SES2U2.js +0 -140
- package/dist/chunks/chunk-OAJEZSI6.js +0 -299
- package/dist/chunks/chunk-OBRPX34P.js +0 -125
- package/dist/chunks/chunk-ODBPSYXX.js +0 -62
- package/dist/chunks/chunk-ODM6DFGO.js +0 -564
- package/dist/chunks/chunk-ODWZO53Z.js +0 -204
- package/dist/chunks/chunk-OEGV632I.js +0 -33
- package/dist/chunks/chunk-OFRIJYEZ.js +0 -94
- package/dist/chunks/chunk-OGRQV545.js +0 -147
- package/dist/chunks/chunk-OGVID4DI.js +0 -49
- package/dist/chunks/chunk-OH6OQIZ5.js +0 -97
- package/dist/chunks/chunk-OHIADTFG.js +0 -33
- package/dist/chunks/chunk-OI6C6MG6.js +0 -79
- package/dist/chunks/chunk-OJCX7Y6W.js +0 -81
- package/dist/chunks/chunk-OJJ5EHYB.js +0 -77
- package/dist/chunks/chunk-OKWY2HEU.js +0 -45
- package/dist/chunks/chunk-OMMYVTPZ.js +0 -173
- package/dist/chunks/chunk-OMSLN77P.js +0 -115
- package/dist/chunks/chunk-ON2S3KFA.js +0 -81
- package/dist/chunks/chunk-OR6T33OF.js +0 -23
- package/dist/chunks/chunk-ORMTO6OD.js +0 -84
- package/dist/chunks/chunk-OSXHEGFM.js +0 -124
- package/dist/chunks/chunk-OTDYFFNJ.js +0 -133
- package/dist/chunks/chunk-OTMNGO2R.js +0 -184
- package/dist/chunks/chunk-OTZHVEKK.js +0 -94
- package/dist/chunks/chunk-OV2IQQ62.js +0 -150
- package/dist/chunks/chunk-OVL6BN35.js +0 -82
- package/dist/chunks/chunk-OWRFWTVM.js +0 -115
- package/dist/chunks/chunk-OX3NRN7S.js +0 -119
- package/dist/chunks/chunk-P2F7ZQHT.js +0 -97
- package/dist/chunks/chunk-P2RL56UM.js +0 -172
- package/dist/chunks/chunk-P3LRHPWP.js +0 -178
- package/dist/chunks/chunk-P4FQP2CZ.js +0 -181
- package/dist/chunks/chunk-P57DPX62.js +0 -45
- package/dist/chunks/chunk-P5AGUPPA.js +0 -53
- package/dist/chunks/chunk-P5CEBTXB.js +0 -78
- package/dist/chunks/chunk-P5LSNSN4.js +0 -108
- package/dist/chunks/chunk-P6WFJ5OT.js +0 -23
- package/dist/chunks/chunk-PA6EIFGU.js +0 -317
- package/dist/chunks/chunk-PBFEPFYO.js +0 -105
- package/dist/chunks/chunk-PDOMMB3V.js +0 -155
- package/dist/chunks/chunk-PEJUKHWX.js +0 -147
- package/dist/chunks/chunk-PFPXKMXK.js +0 -213
- package/dist/chunks/chunk-PFY5MXRD.js +0 -61
- package/dist/chunks/chunk-PH7HHORH.js +0 -49
- package/dist/chunks/chunk-PIJ6QNA2.js +0 -179
- package/dist/chunks/chunk-PJHJVTFE.js +0 -55
- package/dist/chunks/chunk-PJPH74HP.js +0 -338
- package/dist/chunks/chunk-PLJJMJ5Q.js +0 -23
- package/dist/chunks/chunk-PMZ3WFOG.js +0 -23
- package/dist/chunks/chunk-PRDMNBMR.js +0 -166
- package/dist/chunks/chunk-PSY4OUZY.js +0 -168
- package/dist/chunks/chunk-PTGDDZ5W.js +0 -105
- package/dist/chunks/chunk-PU3QQIXH.js +0 -154
- package/dist/chunks/chunk-PUSAFO4W.js +0 -100
- package/dist/chunks/chunk-PXNAVIHR.js +0 -23
- package/dist/chunks/chunk-PZKIA2EO.js +0 -378
- package/dist/chunks/chunk-Q23DL77U.js +0 -889
- package/dist/chunks/chunk-Q2ZSVQRI.js +0 -152
- package/dist/chunks/chunk-Q3ZVV7JV.js +0 -100
- package/dist/chunks/chunk-Q53BFDAD.js +0 -198
- package/dist/chunks/chunk-Q65IVRFC.js +0 -200
- package/dist/chunks/chunk-Q6B7B4PU.js +0 -358
- package/dist/chunks/chunk-Q6EZI6SC.js +0 -123
- package/dist/chunks/chunk-Q6MCSEZY.js +0 -158
- package/dist/chunks/chunk-Q6RVVLHQ.js +0 -195
- package/dist/chunks/chunk-Q7TC5YQI.js +0 -172
- package/dist/chunks/chunk-QBTORPFR.js +0 -59
- package/dist/chunks/chunk-QFWUD2DJ.js +0 -220
- package/dist/chunks/chunk-QJXDLYET.js +0 -66
- package/dist/chunks/chunk-QKZMTJEP.js +0 -159
- package/dist/chunks/chunk-QOCMDDJT.js +0 -93
- package/dist/chunks/chunk-QOKIMPGC.js +0 -118
- package/dist/chunks/chunk-QRLIUQE7.js +0 -45
- package/dist/chunks/chunk-QT7W2LEU.js +0 -114
- package/dist/chunks/chunk-QTRREVHW.js +0 -125
- package/dist/chunks/chunk-QTUYKUSQ.js +0 -36
- package/dist/chunks/chunk-QX4DYCCV.js +0 -324
- package/dist/chunks/chunk-QY7XLYRL.js +0 -141
- package/dist/chunks/chunk-QZHVMISD.js +0 -33
- package/dist/chunks/chunk-QZVKI5HG.js +0 -258
- package/dist/chunks/chunk-R5RGK5HI.js +0 -33
- package/dist/chunks/chunk-R6THOPV5.js +0 -84
- package/dist/chunks/chunk-R6TJZUFZ.js +0 -117
- package/dist/chunks/chunk-RA4KCEA5.js +0 -54
- package/dist/chunks/chunk-RFZWDF2V.js +0 -346
- package/dist/chunks/chunk-RGCX6QT4.js +0 -214
- package/dist/chunks/chunk-RI45AQKA.js +0 -90
- package/dist/chunks/chunk-RKKZTIJX.js +0 -304
- package/dist/chunks/chunk-RKPWIJS2.js +0 -45
- package/dist/chunks/chunk-RMB2NXRM.js +0 -196
- package/dist/chunks/chunk-RMFXX2YI.js +0 -123
- package/dist/chunks/chunk-RNCTI3UN.js +0 -95
- package/dist/chunks/chunk-RQEL253I.js +0 -304
- package/dist/chunks/chunk-RSC5WKHG.js +0 -192
- package/dist/chunks/chunk-RSD3TB5Z.js +0 -187
- package/dist/chunks/chunk-RUEQDWJL.js +0 -179
- package/dist/chunks/chunk-RV6NC2L7.js +0 -77
- package/dist/chunks/chunk-RVZFP3XA.js +0 -118
- package/dist/chunks/chunk-RZCGGMDL.js +0 -218
- package/dist/chunks/chunk-S35KBHDL.js +0 -82
- package/dist/chunks/chunk-S5DDRMWL.js +0 -83
- package/dist/chunks/chunk-S6Z5DW2Q.js +0 -209
- package/dist/chunks/chunk-S7HGELNN.js +0 -122
- package/dist/chunks/chunk-SC3CDM5D.js +0 -181
- package/dist/chunks/chunk-SCNO4J6G.js +0 -311
- package/dist/chunks/chunk-SFLML4IY.js +0 -193
- package/dist/chunks/chunk-SFUNLOHZ.js +0 -361
- package/dist/chunks/chunk-SGWSFH7T.js +0 -728
- package/dist/chunks/chunk-SHXLNJDC.js +0 -135
- package/dist/chunks/chunk-SKE2DLX5.js +0 -136
- package/dist/chunks/chunk-SKUSL4WF.js +0 -45
- package/dist/chunks/chunk-SLONMT7S.js +0 -30
- package/dist/chunks/chunk-SLTZSYAS.js +0 -261
- package/dist/chunks/chunk-SLV5SCRD.js +0 -94
- package/dist/chunks/chunk-SMBETIQZ.js +0 -153
- package/dist/chunks/chunk-SO36Y5I3.js +0 -163
- package/dist/chunks/chunk-SOI3RHFN.js +0 -151
- package/dist/chunks/chunk-SPHT2VWI.js +0 -70
- package/dist/chunks/chunk-SQ2V5CAA.js +0 -231
- package/dist/chunks/chunk-SRTCDEVF.js +0 -97
- package/dist/chunks/chunk-SSUTARZT.js +0 -78
- package/dist/chunks/chunk-STAMNXZ5.js +0 -251
- package/dist/chunks/chunk-STBLUWPX.js +0 -182
- package/dist/chunks/chunk-SV2JCNNX.js +0 -415
- package/dist/chunks/chunk-SVSPYPBN.js +0 -23
- package/dist/chunks/chunk-SWFI4JYK.js +0 -106
- package/dist/chunks/chunk-SX6A3JA7.js +0 -151
- package/dist/chunks/chunk-SXCGQR44.js +0 -112
- package/dist/chunks/chunk-SXFJ7RF2.js +0 -105
- package/dist/chunks/chunk-SYLSPFAP.js +0 -85
- package/dist/chunks/chunk-SZGDRRII.js +0 -106
- package/dist/chunks/chunk-T33H2US5.js +0 -106
- package/dist/chunks/chunk-T6FWLPI6.js +0 -77
- package/dist/chunks/chunk-T6N67FYF.js +0 -226
- package/dist/chunks/chunk-T6UBQF46.js +0 -48
- package/dist/chunks/chunk-T7UMOKK2.js +0 -47
- package/dist/chunks/chunk-TAYM4JIZ.js +0 -195
- package/dist/chunks/chunk-TBVKWI5A.js +0 -342
- package/dist/chunks/chunk-TD35VORN.js +0 -83
- package/dist/chunks/chunk-TDEWHUU4.js +0 -164
- package/dist/chunks/chunk-TDL7YX3S.js +0 -290
- package/dist/chunks/chunk-TFQCXGMC.js +0 -196
- package/dist/chunks/chunk-TGGU333X.js +0 -228
- package/dist/chunks/chunk-TGVAUIGC.js +0 -186
- package/dist/chunks/chunk-THG7FU5E.js +0 -97
- package/dist/chunks/chunk-TJ4A63EW.js +0 -104
- package/dist/chunks/chunk-TKCZE7JX.js +0 -331
- package/dist/chunks/chunk-TNACIPOG.js +0 -88
- package/dist/chunks/chunk-TPYJY7BN.js +0 -93
- package/dist/chunks/chunk-TQ7ZFZQW.js +0 -41
- package/dist/chunks/chunk-TTRZT4A7.js +0 -33
- package/dist/chunks/chunk-TTS2GPQZ.js +0 -23
- package/dist/chunks/chunk-TUT7WAQG.js +0 -305
- package/dist/chunks/chunk-TUUS2VLL.js +0 -128
- package/dist/chunks/chunk-TZQJDYMB.js +0 -73
- package/dist/chunks/chunk-U2C6D3UF.js +0 -215
- package/dist/chunks/chunk-U2Z73ZX6.js +0 -104
- package/dist/chunks/chunk-U2ZGRLD4.js +0 -361
- package/dist/chunks/chunk-U42B3MXF.js +0 -177
- package/dist/chunks/chunk-U4BGHB2M.js +0 -138
- package/dist/chunks/chunk-U4UUWUDK.js +0 -218
- package/dist/chunks/chunk-U5EDWWUG.js +0 -362
- package/dist/chunks/chunk-U6QMNQCD.js +0 -133
- package/dist/chunks/chunk-UAUCPHR7.js +0 -598
- package/dist/chunks/chunk-UAX23Y7C.js +0 -104
- package/dist/chunks/chunk-UBAIKIRU.js +0 -106
- package/dist/chunks/chunk-UBBP5UPV.js +0 -90
- package/dist/chunks/chunk-UBSKDQJ2.js +0 -23
- package/dist/chunks/chunk-UBSTTW27.js +0 -127
- package/dist/chunks/chunk-UCLWNC7G.js +0 -87
- package/dist/chunks/chunk-UCYBZZGT.js +0 -134
- package/dist/chunks/chunk-UD6CNBCW.js +0 -108
- package/dist/chunks/chunk-UFNXUMSJ.js +0 -217
- package/dist/chunks/chunk-UFVT526R.js +0 -169
- package/dist/chunks/chunk-UFZVCTZS.js +0 -107
- package/dist/chunks/chunk-UG3NK4NM.js +0 -130
- package/dist/chunks/chunk-UIAYFI4T.js +0 -97
- package/dist/chunks/chunk-UIRUQDQX.js +0 -39
- package/dist/chunks/chunk-UKK2O5ZN.js +0 -130
- package/dist/chunks/chunk-UKT4BWFB.js +0 -33
- package/dist/chunks/chunk-ULNSZVI5.js +0 -283
- package/dist/chunks/chunk-ULURKT3A.js +0 -111
- package/dist/chunks/chunk-UNPCL7HN.js +0 -134
- package/dist/chunks/chunk-UOU4RIYV.js +0 -1309
- package/dist/chunks/chunk-UOVR5MCP.js +0 -178
- package/dist/chunks/chunk-UP7O2TLU.js +0 -30
- package/dist/chunks/chunk-UPLMAXNQ.js +0 -55
- package/dist/chunks/chunk-UPUKZE6P.js +0 -215
- package/dist/chunks/chunk-UQ4R6E4Y.js +0 -75
- package/dist/chunks/chunk-UQXH6FV6.js +0 -145
- package/dist/chunks/chunk-UTCKUB6Q.js +0 -98
- package/dist/chunks/chunk-UUETCZH7.js +0 -305
- package/dist/chunks/chunk-UUPEZWLG.js +0 -651
- package/dist/chunks/chunk-UUYSZ64V.js +0 -33
- package/dist/chunks/chunk-UV3SX27Q.js +0 -200
- package/dist/chunks/chunk-UVH2TCUQ.js +0 -368
- package/dist/chunks/chunk-UVNVO5FA.js +0 -78
- package/dist/chunks/chunk-UWCYOIAK.js +0 -170
- package/dist/chunks/chunk-UWRJZ3OU.js +0 -152
- package/dist/chunks/chunk-UXRJUU4W.js +0 -141
- package/dist/chunks/chunk-UYZ5KG6M.js +0 -158
- package/dist/chunks/chunk-V24SAUJK.js +0 -298
- package/dist/chunks/chunk-V2G4M4BV.js +0 -99
- package/dist/chunks/chunk-V3FKEVGL.js +0 -166
- package/dist/chunks/chunk-V4AUHA6G.js +0 -320
- package/dist/chunks/chunk-V577TD7S.js +0 -176
- package/dist/chunks/chunk-V57FMPNN.js +0 -232
- package/dist/chunks/chunk-V62AS7XT.js +0 -126
- package/dist/chunks/chunk-V7GIL5PE.js +0 -147
- package/dist/chunks/chunk-VAX7VH62.js +0 -88
- package/dist/chunks/chunk-VB2DWLJR.js +0 -231
- package/dist/chunks/chunk-VB3HXA7L.js +0 -303
- package/dist/chunks/chunk-VBSF7V6X.js +0 -167
- package/dist/chunks/chunk-VBX5BEKD.js +0 -137
- package/dist/chunks/chunk-VCGINEPI.js +0 -73
- package/dist/chunks/chunk-VDDOUCYQ.js +0 -145
- package/dist/chunks/chunk-VEBOCOMP.js +0 -109
- package/dist/chunks/chunk-VGMBSUAS.js +0 -160
- package/dist/chunks/chunk-VHI7ILEU.js +0 -41
- package/dist/chunks/chunk-VJJUER2S.js +0 -97
- package/dist/chunks/chunk-VM5K6IWJ.js +0 -68
- package/dist/chunks/chunk-VMAD7LO3.js +0 -248
- package/dist/chunks/chunk-VMDYU4BZ.js +0 -112
- package/dist/chunks/chunk-VTE6S5X6.js +0 -130
- package/dist/chunks/chunk-VTR5CUBJ.js +0 -130
- package/dist/chunks/chunk-VW2OYHOW.js +0 -99
- package/dist/chunks/chunk-VX4JDCYO.js +0 -166
- package/dist/chunks/chunk-VXC7CK2S.js +0 -177
- package/dist/chunks/chunk-VYBZ2TV7.js +0 -174
- package/dist/chunks/chunk-VYWXAGEE.js +0 -805
- package/dist/chunks/chunk-W2CNCZSJ.js +0 -109
- package/dist/chunks/chunk-W3WID5IX.js +0 -36
- package/dist/chunks/chunk-W5KNQERV.js +0 -300
- package/dist/chunks/chunk-W64SCVML.js +0 -101
- package/dist/chunks/chunk-W66UV57J.js +0 -140
- package/dist/chunks/chunk-WA4XVKKS.js +0 -172
- package/dist/chunks/chunk-WBIJ57N7.js +0 -177
- package/dist/chunks/chunk-WDNVSP2R.js +0 -98
- package/dist/chunks/chunk-WHHH7NQI.js +0 -119
- package/dist/chunks/chunk-WHKKLXYT.js +0 -1307
- package/dist/chunks/chunk-WINGRN6G.js +0 -102
- package/dist/chunks/chunk-WJI474UR.js +0 -230
- package/dist/chunks/chunk-WK3AREWN.js +0 -261
- package/dist/chunks/chunk-WPL27RZ2.js +0 -33
- package/dist/chunks/chunk-WPZEMUVS.js +0 -41
- package/dist/chunks/chunk-WQERNW56.js +0 -60
- package/dist/chunks/chunk-WRA2FDZM.js +0 -173
- package/dist/chunks/chunk-WTTNGUWO.js +0 -284
- package/dist/chunks/chunk-WUN6WFPD.js +0 -144
- package/dist/chunks/chunk-WVDQH2T5.js +0 -36
- package/dist/chunks/chunk-WWALPK5K.js +0 -48
- package/dist/chunks/chunk-WXGLVLWD.js +0 -163
- package/dist/chunks/chunk-WYUHT7SH.js +0 -50
- package/dist/chunks/chunk-X47SVSAW.js +0 -270
- package/dist/chunks/chunk-X4FLFJH5.js +0 -382
- package/dist/chunks/chunk-X4IOEQYN.js +0 -23
- package/dist/chunks/chunk-X4N3VOH6.js +0 -182
- package/dist/chunks/chunk-X55FSHLI.js +0 -91
- package/dist/chunks/chunk-X6LOMU52.js +0 -146
- package/dist/chunks/chunk-X7AUTRG5.js +0 -50
- package/dist/chunks/chunk-XAPKLZ6Z.js +0 -172
- package/dist/chunks/chunk-XBWGKTBD.js +0 -97
- package/dist/chunks/chunk-XDAJHAAW.js +0 -214
- package/dist/chunks/chunk-XDKVSERK.js +0 -307
- package/dist/chunks/chunk-XG7LEVRZ.js +0 -55
- package/dist/chunks/chunk-XGL55BJS.js +0 -304
- package/dist/chunks/chunk-XJRKZ4OH.js +0 -23
- package/dist/chunks/chunk-XKS62FUQ.js +0 -213
- package/dist/chunks/chunk-XLHQFU74.js +0 -164
- package/dist/chunks/chunk-XOILD3I2.js +0 -85
- package/dist/chunks/chunk-XOLXOMLE.js +0 -277
- package/dist/chunks/chunk-XOQX7KEV.js +0 -128
- package/dist/chunks/chunk-XQ76L7HJ.js +0 -48
- package/dist/chunks/chunk-XTTSL4OM.js +0 -184
- package/dist/chunks/chunk-XUGYV7QM.js +0 -101
- package/dist/chunks/chunk-XUYTHE2X.js +0 -390
- package/dist/chunks/chunk-XVCXB2XC.js +0 -375
- package/dist/chunks/chunk-XVEOZNQJ.js +0 -169
- package/dist/chunks/chunk-XWRAKKKZ.js +0 -23
- package/dist/chunks/chunk-XWTVHWID.js +0 -92
- package/dist/chunks/chunk-XZ3TFVE3.js +0 -100
- package/dist/chunks/chunk-XZPQ5IEB.js +0 -87
- package/dist/chunks/chunk-Y2XYO6YW.js +0 -212
- package/dist/chunks/chunk-Y3OH3ZTN.js +0 -315
- package/dist/chunks/chunk-Y5TCEAOB.js +0 -146
- package/dist/chunks/chunk-Y6DMTSJF.js +0 -89
- package/dist/chunks/chunk-Y7JUYAYP.js +0 -170
- package/dist/chunks/chunk-Y7SBS5TI.js +0 -70
- package/dist/chunks/chunk-YAZIQGEA.js +0 -239
- package/dist/chunks/chunk-YCBYFDCG.js +0 -84
- package/dist/chunks/chunk-YD2MKC7X.js +0 -180
- package/dist/chunks/chunk-YFGWK35C.js +0 -272
- package/dist/chunks/chunk-YGJURMCD.js +0 -122
- package/dist/chunks/chunk-YGXJHJOR.js +0 -91
- package/dist/chunks/chunk-YH5INYRJ.js +0 -23
- package/dist/chunks/chunk-YIDXFRAO.js +0 -168
- package/dist/chunks/chunk-YJYDDLWP.js +0 -95
- package/dist/chunks/chunk-YKEEZ5QT.js +0 -54
- package/dist/chunks/chunk-YL6DMHSZ.js +0 -33
- package/dist/chunks/chunk-YOLADUXK.js +0 -171
- package/dist/chunks/chunk-YP5XRNFH.js +0 -141
- package/dist/chunks/chunk-YPQZAELQ.js +0 -23
- package/dist/chunks/chunk-YQKPXQBE.js +0 -139
- package/dist/chunks/chunk-YQUHQ2PN.js +0 -44
- package/dist/chunks/chunk-YQZ4EUNC.js +0 -197
- package/dist/chunks/chunk-YRHWNBA4.js +0 -270
- package/dist/chunks/chunk-YRMORSCS.js +0 -156
- package/dist/chunks/chunk-YRZRNQLC.js +0 -366
- package/dist/chunks/chunk-YS57OCJ5.js +0 -92
- package/dist/chunks/chunk-YTAD6NCM.js +0 -69
- package/dist/chunks/chunk-YTF5J5I5.js +0 -123
- package/dist/chunks/chunk-YVALRPO5.js +0 -88
- package/dist/chunks/chunk-YVJBGO56.js +0 -112
- package/dist/chunks/chunk-YX4L7NVA.js +0 -260
- package/dist/chunks/chunk-YY5RRKRN.js +0 -60
- package/dist/chunks/chunk-YYFOGJ7F.js +0 -136
- package/dist/chunks/chunk-Z24Y4HX4.js +0 -77
- package/dist/chunks/chunk-Z35EATYO.js +0 -101
- package/dist/chunks/chunk-Z3WM6GPY.js +0 -282
- package/dist/chunks/chunk-Z4AT2T67.js +0 -191
- package/dist/chunks/chunk-Z5FKLM22.js +0 -497
- package/dist/chunks/chunk-Z6RYBFIR.js +0 -36
- package/dist/chunks/chunk-ZE7Q4FYP.js +0 -23
- package/dist/chunks/chunk-ZELXGU4D.js +0 -119
- package/dist/chunks/chunk-ZETVSSFR.js +0 -157
- package/dist/chunks/chunk-ZFLTHXNC.js +0 -82
- package/dist/chunks/chunk-ZGUJ654L.js +0 -305
- package/dist/chunks/chunk-ZIYL5YZF.js +0 -117
- package/dist/chunks/chunk-ZJNDKAZC.js +0 -45
- package/dist/chunks/chunk-ZLHMVVTT.js +0 -130
- package/dist/chunks/chunk-ZLLI46LF.js +0 -93
- package/dist/chunks/chunk-ZNBZYCIG.js +0 -97
- package/dist/chunks/chunk-ZPETEA54.js +0 -11523
- package/dist/chunks/chunk-ZR6IIXH6.js +0 -79
- package/dist/chunks/chunk-ZSZQEJ76.js +0 -150
- package/dist/chunks/chunk-ZTBW542B.js +0 -187
- package/dist/chunks/chunk-ZUCDYQDM.js +0 -129
- package/dist/chunks/chunk-ZVRH2GMK.js +0 -221
- package/dist/chunks/chunk-ZWOWK2LI.js +0 -93
- package/dist/chunks/chunk-ZYL6JH6G.js +0 -363
- package/dist/chunks/chunk-ZYS5ZKOD.js +0 -100
- package/dist/chunks/chunk-ZYSKQLML.js +0 -23
- package/dist/chunks/chunk-ZZ5ZR2VW.js +0 -100
- package/dist/chunks/chunk-ZZLTFVCU.js +0 -36
- package/dist/chunks/client-2L4XUPQN.js +0 -31
- package/dist/chunks/client-6XOD422W.js +0 -167
- package/dist/chunks/client-NOHRL7S3.js +0 -46
- package/dist/chunks/client-actions-K54NVVVW.js +0 -166
- package/dist/chunks/dangerous-4QU6QUOD.js +0 -120
- package/dist/chunks/delete-current-file-RMINS2BA.js +0 -159
- package/dist/chunks/editor-seams-SW67BCBW.js +0 -166
- package/dist/chunks/editor-store-WPRQJL2A.js +0 -143
- package/dist/chunks/export-watermark-2QVKO7OR.js +0 -152
- package/dist/chunks/eyedropper-WCIR6LL5.js +0 -354
- package/dist/chunks/generate-media-WCNTS5OY.js +0 -255
- package/dist/chunks/host-GLRRFC2S.js +0 -178
- package/dist/chunks/import-merge-73U4J6IN.js +0 -39
- package/dist/chunks/integrations-5I6DGN6S.js +0 -124
- package/dist/chunks/kit-modules-RYFNXEF5.js +0 -18
- package/dist/chunks/libraries-INCBCGOZ.js +0 -307
- package/dist/chunks/live-SGBLJFAC.js +0 -317
- package/dist/chunks/media-tool-KSXO2AAJ.js +0 -337
- package/dist/chunks/new-file-56ACDQ35.js +0 -136
- package/dist/chunks/page-thumbnails-MBHWLMUS.js +0 -137
- package/dist/chunks/plugin-GJXXN4UQ.js +0 -127
- package/dist/chunks/plugin-import-N2J7NVET.js +0 -675
- package/dist/chunks/presence-S6FAMSP4.js +0 -132
- package/dist/chunks/preview-media-CH5HHHRT.js +0 -122
- package/dist/chunks/project-IH23X2UG.js +0 -1653
- package/dist/chunks/publish-site-7YFHE7PV.js +0 -163
- package/dist/chunks/publish-store-I3NKMHZK.js +0 -94
- package/dist/chunks/raster-actions-PRMIAQQ7.js +0 -232
- package/dist/chunks/runner-OVYUXA4W.js +0 -2900
- package/dist/chunks/runtime-5G7ZCZAF.js +0 -32
- package/dist/chunks/sites-L6JYZ4SV.js +0 -33
- package/dist/chunks/store-BYSDY5PO.js +0 -231
- package/dist/chunks/sync-TFB3VWFP.js +0 -158
- package/dist/chunks/tabs-CNE4XGIM.js +0 -316
- package/dist/chunks/team-DFOKEFOE.js +0 -46
- package/dist/chunks/team-client-QHRXYUPI.js +0 -157
- package/dist/chunks/templates-S32W3ZLK.js +0 -182
- package/dist/chunks/tools-YDR7QIHQ.js +0 -37
- package/dist/chunks/ui-commands-HB4FFFXA.js +0 -274
- package/dist/chunks/use-ZGEOR2CQ.js +0 -49
- package/dist/chunks/versions-G4PGAFLF.js +0 -316
- /package/dist/chunks/{chunk-MRDUJC35.js → chunk-WJL6IR77.js} +0 -0
|
@@ -0,0 +1,1653 @@
|
|
|
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
|
+
bytesOf,
|
|
9
|
+
routeFile,
|
|
10
|
+
routeUp
|
|
11
|
+
} from "./chunk-JNJVL463.js";
|
|
12
|
+
import {
|
|
13
|
+
ASSET_DIR,
|
|
14
|
+
appAssetPaths,
|
|
15
|
+
externalizeBitmaps,
|
|
16
|
+
withAssetBase
|
|
17
|
+
} from "./chunk-YIMKNKMZ.js";
|
|
18
|
+
import {
|
|
19
|
+
serializeHTML
|
|
20
|
+
} from "./chunk-TKBEL4YU.js";
|
|
21
|
+
import {
|
|
22
|
+
componentName,
|
|
23
|
+
fileBase,
|
|
24
|
+
serializeReact,
|
|
25
|
+
withoutScreenIslands
|
|
26
|
+
} from "./chunk-OB7XVZE7.js";
|
|
27
|
+
import "./chunk-ATSLWELA.js";
|
|
28
|
+
import {
|
|
29
|
+
fontFaceRules,
|
|
30
|
+
fontsURL
|
|
31
|
+
} from "./chunk-OBMLLNDS.js";
|
|
32
|
+
import {
|
|
33
|
+
escapeHTML,
|
|
34
|
+
tokensCSS
|
|
35
|
+
} from "./chunk-4LOAHKDJ.js";
|
|
36
|
+
import "./chunk-YZKSEJHZ.js";
|
|
37
|
+
import "./chunk-VXB34VXD.js";
|
|
38
|
+
import {
|
|
39
|
+
hrefOf,
|
|
40
|
+
opensNewTab
|
|
41
|
+
} from "./chunk-EOPTDAPJ.js";
|
|
42
|
+
import "./chunk-ZWGSFZFE.js";
|
|
43
|
+
import {
|
|
44
|
+
usesSignIn
|
|
45
|
+
} from "./chunk-I7QK2GFI.js";
|
|
46
|
+
import "./chunk-RK3HJC3E.js";
|
|
47
|
+
import "./chunk-E66ZNPHF.js";
|
|
48
|
+
import "./chunk-TFCXBKDU.js";
|
|
49
|
+
import "./chunk-VUGLVNQF.js";
|
|
50
|
+
import "./chunk-TAWWNEV3.js";
|
|
51
|
+
import "./chunk-PU2DNOWP.js";
|
|
52
|
+
import "./chunk-QNR4D25F.js";
|
|
53
|
+
import "./chunk-MN4EEFZJ.js";
|
|
54
|
+
import "./chunk-J7N5AJ7Q.js";
|
|
55
|
+
import {
|
|
56
|
+
ITEM_RECORD,
|
|
57
|
+
copyRecord,
|
|
58
|
+
itemText,
|
|
59
|
+
layerId,
|
|
60
|
+
repeatRecords
|
|
61
|
+
} from "./chunk-42I5OWW5.js";
|
|
62
|
+
import {
|
|
63
|
+
SESSION_COOKIE,
|
|
64
|
+
USER_VARIABLES,
|
|
65
|
+
fieldKey,
|
|
66
|
+
visitorCollections
|
|
67
|
+
} from "./chunk-L4HYVWDW.js";
|
|
68
|
+
import "./chunk-AVWA3JAF.js";
|
|
69
|
+
import {
|
|
70
|
+
GOOGLE_FONTS,
|
|
71
|
+
NON_VARIABLE_FONTS
|
|
72
|
+
} from "./chunk-KBXTF45P.js";
|
|
73
|
+
import "./chunk-KIVW57QH.js";
|
|
74
|
+
import "./chunk-KASBBLQC.js";
|
|
75
|
+
import "./chunk-MRON56GU.js";
|
|
76
|
+
import "./chunk-OM5VD3WH.js";
|
|
77
|
+
import "./chunk-ACHG2HMK.js";
|
|
78
|
+
import "./chunk-P675L74X.js";
|
|
79
|
+
import "./chunk-GFBUI5Q4.js";
|
|
80
|
+
import "./chunk-HUYCKP2F.js";
|
|
81
|
+
import "./chunk-WLPGSUI2.js";
|
|
82
|
+
import "./chunk-637CSND3.js";
|
|
83
|
+
import "./chunk-EGSRWLGD.js";
|
|
84
|
+
import {
|
|
85
|
+
getWorldTransform,
|
|
86
|
+
init_scene_graph,
|
|
87
|
+
uprightBounds
|
|
88
|
+
} from "./chunk-IM6WH7GK.js";
|
|
89
|
+
import "./chunk-3TPXU2PF.js";
|
|
90
|
+
import "./chunk-PQID5H2U.js";
|
|
91
|
+
import "./chunk-UECFXKFB.js";
|
|
92
|
+
import "./chunk-ASE4MVE3.js";
|
|
93
|
+
import "./chunk-2ZG5YVYA.js";
|
|
94
|
+
import "./chunk-E4OKHTNS.js";
|
|
95
|
+
import {
|
|
96
|
+
init_expressions,
|
|
97
|
+
parseExpression
|
|
98
|
+
} from "./chunk-KQKO2ZZ2.js";
|
|
99
|
+
import "./chunk-CWLO43FG.js";
|
|
100
|
+
import "./chunk-NIEUIAKQ.js";
|
|
101
|
+
import "./chunk-XZXB3HB5.js";
|
|
102
|
+
import "./chunk-UGG5XQHU.js";
|
|
103
|
+
import "./chunk-SHK6YV6A.js";
|
|
104
|
+
import "./chunk-M5WJSLHT.js";
|
|
105
|
+
import "./chunk-MVIYMAMH.js";
|
|
106
|
+
import "./chunk-NWNYARD6.js";
|
|
107
|
+
import "./chunk-WBBHPF5E.js";
|
|
108
|
+
import "./chunk-T2SCC6PU.js";
|
|
109
|
+
import "./chunk-25VZ3OBK.js";
|
|
110
|
+
import "./chunk-M2H3GLK2.js";
|
|
111
|
+
import "./chunk-ALV6EOJF.js";
|
|
112
|
+
import {
|
|
113
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
114
|
+
} from "./chunk-WKDVCZ45.js";
|
|
115
|
+
import "./chunk-LJSVREWM.js";
|
|
116
|
+
|
|
117
|
+
// lib/io/web/project/index.ts
|
|
118
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
119
|
+
|
|
120
|
+
// lib/io/web/project/build.ts
|
|
121
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
122
|
+
|
|
123
|
+
// lib/io/web/project/static.ts
|
|
124
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
125
|
+
|
|
126
|
+
// lib/site/live.ts
|
|
127
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
128
|
+
var HAS_ITEM = /\{\{\s*item[._]/;
|
|
129
|
+
function asRecords(doc, collectionId, rows) {
|
|
130
|
+
const collection = doc.collections?.[collectionId];
|
|
131
|
+
if (!collection) return [];
|
|
132
|
+
const made = (r) => new Date(r.createdAt).toLocaleDateString(void 0, { weekday: "short", day: "numeric", month: "short" });
|
|
133
|
+
return rows.map((r) => ({ id: r.id, collectionId, createdAt: r.createdAt, ...r.by !== void 0 ? { by: r.by } : {}, ...r.mine !== void 0 ? { mine: r.mine } : {}, values: Object.fromEntries(collection.fields.map((f) => {
|
|
134
|
+
const v = r.values[fieldKey(f.name)];
|
|
135
|
+
return [f.id, (v === null || v === void 0 || v === "") && f.type === "DATE" ? made(r) : v ?? void 0];
|
|
136
|
+
})) }));
|
|
137
|
+
}
|
|
138
|
+
function withVisitorRecords(site, collectionId, rows) {
|
|
139
|
+
const doc = site.program.document;
|
|
140
|
+
const collection = doc.collections?.[collectionId];
|
|
141
|
+
if (!collection) return site;
|
|
142
|
+
const records = asRecords(doc, collectionId, rows);
|
|
143
|
+
const samples = new Set(Object.values(doc.records ?? {}).filter((r) => r.collectionId === collectionId).map((r) => r.id));
|
|
144
|
+
const copyFor = (node, sample, record, above) => {
|
|
145
|
+
const id = node.id.split(`~${sample}`).join(`~${record.id}`);
|
|
146
|
+
const control = doc.nodes[layerId(node.id)]?.control;
|
|
147
|
+
const next = { ...node, id, children: node.children.map((c) => copyFor(c, sample, record, control)) };
|
|
148
|
+
if (next.tag === "button" && next.attrs?.value !== void 0 && control?.value && HAS_ITEM.test(control.value)) next.attrs = { ...next.attrs, value: itemText(control.value, collection, record) };
|
|
149
|
+
const starts = (control ?? above)?.value;
|
|
150
|
+
if (next.input && starts && HAS_ITEM.test(starts)) {
|
|
151
|
+
const value = itemText(starts, collection, record);
|
|
152
|
+
next.input = next.input.tag === "input" ? { ...next.input, attrs: { ...next.input.attrs, value } } : { ...next.input, value };
|
|
153
|
+
}
|
|
154
|
+
const written = doc.nodes[layerId(node.id)]?.characters;
|
|
155
|
+
if (next.text && written && HAS_ITEM.test(written)) {
|
|
156
|
+
next.text = { ...next.text, characters: itemText(written, collection, record) };
|
|
157
|
+
delete next.runs;
|
|
158
|
+
}
|
|
159
|
+
return next;
|
|
160
|
+
};
|
|
161
|
+
const others = Object.fromEntries(Object.entries(doc.records ?? {}).filter(([, r]) => r.collectionId !== collectionId));
|
|
162
|
+
const document = {
|
|
163
|
+
...doc,
|
|
164
|
+
records: { ...others, ...Object.fromEntries(records.map((r) => [r.id, r])) },
|
|
165
|
+
collections: { ...doc.collections, [collectionId]: { ...collection, order: records.map((r) => r.id) } }
|
|
166
|
+
};
|
|
167
|
+
const fill = (node) => {
|
|
168
|
+
const repeat = doc.nodes[layerId(node.id)]?.repeat;
|
|
169
|
+
if (repeat?.collectionId !== collectionId) return { ...node, children: node.children.map(fill) };
|
|
170
|
+
const first = node.children.map((c) => copyRecord(c.id)).find((r) => !!r && samples.has(r));
|
|
171
|
+
if (!first) return node;
|
|
172
|
+
const pattern = node.children.filter((c) => copyRecord(c.id) === first);
|
|
173
|
+
const kept = node.children.filter((c) => {
|
|
174
|
+
const r = copyRecord(c.id);
|
|
175
|
+
return !r || !samples.has(r);
|
|
176
|
+
});
|
|
177
|
+
const shown = repeatRecords(document, repeat);
|
|
178
|
+
return { ...node, children: [...kept, ...shown.flatMap((record) => pattern.map((c) => copyFor(c, first, record)))] };
|
|
179
|
+
};
|
|
180
|
+
return { ...site, pages: site.pages.map((p) => ({ ...p, tree: { ...p.tree, root: fill(p.tree.root) } })), program: { ...site.program, document } };
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// lib/sites/data.ts
|
|
184
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
185
|
+
|
|
186
|
+
// lib/io/web/share.ts
|
|
187
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
188
|
+
function pageShareImage(site, page) {
|
|
189
|
+
if (page.shareImage) return { path: page.shareImage, width: 1200, height: 630 };
|
|
190
|
+
return site.share ? { path: site.share.image, width: site.share.width, height: site.share.height } : null;
|
|
191
|
+
}
|
|
192
|
+
var at = (origin, path) => `${origin ? origin.replace(/\/+$/, "") : ""}/${path.replace(/^\/+/, "")}`;
|
|
193
|
+
function shareMetaTags(site, page, opts = {}) {
|
|
194
|
+
const meta = (attr, key, value) => `<meta ${attr}="${key}" content="${escapeHTML(value)}" />`;
|
|
195
|
+
const image = pageShareImage(site, page);
|
|
196
|
+
return [
|
|
197
|
+
meta("property", "og:type", "website"),
|
|
198
|
+
meta("property", "og:site_name", site.name),
|
|
199
|
+
meta("property", "og:title", page.title),
|
|
200
|
+
...page.description ? [meta("property", "og:description", page.description)] : [],
|
|
201
|
+
...page.notFound ? [] : [meta("property", "og:url", at(opts.origin, page.route))],
|
|
202
|
+
...image ? [
|
|
203
|
+
meta("property", "og:image", at(opts.origin, image.path)),
|
|
204
|
+
meta("property", "og:image:width", String(image.width)),
|
|
205
|
+
meta("property", "og:image:height", String(image.height)),
|
|
206
|
+
meta("property", "og:image:alt", page.title)
|
|
207
|
+
] : [],
|
|
208
|
+
meta("name", "twitter:card", image ? "summary_large_image" : "summary"),
|
|
209
|
+
meta("name", "twitter:title", page.title),
|
|
210
|
+
...page.description ? [meta("name", "twitter:description", page.description)] : [],
|
|
211
|
+
...image ? [meta("name", "twitter:image", at(opts.origin, image.path))] : []
|
|
212
|
+
];
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// lib/io/web/project/static.ts
|
|
216
|
+
function pageHTML(site, page, lang, lost = false, origin) {
|
|
217
|
+
const up = lost ? "/" : routeUp(page.route);
|
|
218
|
+
const fonts = fontsURL(site.fonts.filter((f) => !site.fontFaces?.some((s) => s.family === f.family)).map((f) => [f.family, f.weights]));
|
|
219
|
+
const rules = [
|
|
220
|
+
"html,body{margin:0;height:100%}#pc-root{min-height:100%;position:relative}*{box-sizing:border-box}",
|
|
221
|
+
// The file's own fonts, shipped in the site's fonts/ folder.
|
|
222
|
+
...fontFaceRules(site.fontFaces?.map((f) => ({ ...f, url: `${up}${f.url}` }))),
|
|
223
|
+
...site.tokens ? tokensCSS(site.tokens) : [],
|
|
224
|
+
...page.media ?? site.pages.find((p) => p.screen && p.screen === page.screen && p.media)?.media ?? []
|
|
225
|
+
];
|
|
226
|
+
const body = serializeHTML({ ...page.tree, root: withAssetBase(page.tree.root, up) }, { inline: true, ids: true });
|
|
227
|
+
const unseen = page.access === "signedIn" ? ' style="visibility:hidden"' : "";
|
|
228
|
+
return [
|
|
229
|
+
"<!DOCTYPE html>",
|
|
230
|
+
`<html lang="${escapeHTML(lang)}">`,
|
|
231
|
+
"<head>",
|
|
232
|
+
'<meta charset="utf-8" />',
|
|
233
|
+
'<meta name="viewport" content="width=device-width, initial-scale=1" />',
|
|
234
|
+
`<title>${escapeHTML(page.title)}</title>`,
|
|
235
|
+
...page.description ? [`<meta name="description" content="${escapeHTML(page.description)}" />`] : [],
|
|
236
|
+
...shareMetaTags(site, page, { origin }),
|
|
237
|
+
...fonts ? [`<link id="pc-fonts" rel="stylesheet" href="${escapeHTML(fonts)}" />`] : [],
|
|
238
|
+
`<style>
|
|
239
|
+
${rules.join("\n")}
|
|
240
|
+
</style>`,
|
|
241
|
+
"</head>",
|
|
242
|
+
"<body>",
|
|
243
|
+
`<div id="pc-root"${unseen}>
|
|
244
|
+
${body}
|
|
245
|
+
</div>`,
|
|
246
|
+
`<script src="${up}pc/site.js" data-site="${up}site.json" data-route="${lost ? "" : escapeHTML(page.route)}" data-start="${escapeHTML(page.id)}"></script>`,
|
|
247
|
+
"</body>",
|
|
248
|
+
"</html>",
|
|
249
|
+
""
|
|
250
|
+
].join("\n");
|
|
251
|
+
}
|
|
252
|
+
function staticSiteFiles(site, scripts, opts = {}) {
|
|
253
|
+
const lang = opts.lang ?? "en";
|
|
254
|
+
const files = externalizeBitmaps(site);
|
|
255
|
+
const taken = /* @__PURE__ */ new Set();
|
|
256
|
+
const still = visitorCollections(site.program.document.collections).reduce((s, c) => withVisitorRecords(s, c.id, []), site);
|
|
257
|
+
for (const page of still.pages) {
|
|
258
|
+
const path = page.notFound ? "404.html" : routeFile(page.route);
|
|
259
|
+
if (taken.has(path)) continue;
|
|
260
|
+
taken.add(path);
|
|
261
|
+
files.push({ path, content: pageHTML(still, page, lang, !!page.notFound, opts.origin) });
|
|
262
|
+
}
|
|
263
|
+
files.push({ path: "site.json", content: JSON.stringify(site) });
|
|
264
|
+
files.push({ path: "pc/site.js", content: scripts.site });
|
|
265
|
+
if (site.islands && scripts.island) files.push({ path: "pc/island.js", content: scripts.island });
|
|
266
|
+
if (site.code && scripts.code) files.push({ path: "pc/code.js", content: scripts.code });
|
|
267
|
+
return files;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// lib/io/web/project/next.ts
|
|
271
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
272
|
+
|
|
273
|
+
// lib/io/web/project/behaviour.ts
|
|
274
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
275
|
+
init_expressions();
|
|
276
|
+
var identFor = (name) => {
|
|
277
|
+
const last = name.split("/").pop().replace(/[^A-Za-z0-9]+(.)?/g, (_m, c) => c ? c.toUpperCase() : "");
|
|
278
|
+
const id = last.charAt(0).toLowerCase() + last.slice(1);
|
|
279
|
+
return /^[A-Za-z_$]/.test(id) && !RESERVED.has(id) ? id : `v${id.charAt(0).toUpperCase()}${id.slice(1)}`;
|
|
280
|
+
};
|
|
281
|
+
var RESERVED = /* @__PURE__ */ new Set(["break", "case", "catch", "class", "const", "continue", "default", "delete", "do", "else", "export", "extends", "false", "finally", "for", "function", "if", "import", "in", "instanceof", "new", "null", "return", "super", "switch", "this", "throw", "true", "try", "typeof", "var", "void", "while", "with", "let", "static", "yield", "await", "set", "v"]);
|
|
282
|
+
var TS_TYPE = { BOOLEAN: "boolean", FLOAT: "number", STRING: "string", COLOR: "string" };
|
|
283
|
+
var DATA_FUNCTIONS = /* @__PURE__ */ new Set(["count", "sum", "distinct", "best", "countSince", "sumSince", "countOn", "streak"]);
|
|
284
|
+
var STYLE_PROPS = {
|
|
285
|
+
opacity: (e) => ["opacity", e],
|
|
286
|
+
width: (e) => ["width", `\`\${${e}}px\``],
|
|
287
|
+
height: (e) => ["height", `\`\${${e}}px\``],
|
|
288
|
+
rotation: (e) => ["rotate", `\`\${${e}}deg\``],
|
|
289
|
+
cornerRadius: (e) => ["borderRadius", `\`\${${e}}px\``]
|
|
290
|
+
};
|
|
291
|
+
function behaviourOf(site) {
|
|
292
|
+
const doc = site.program?.document ?? { nodes: {} };
|
|
293
|
+
const vars = Object.values(doc.variables ?? {});
|
|
294
|
+
const taken = /* @__PURE__ */ new Set();
|
|
295
|
+
const variables = vars.map((v) => {
|
|
296
|
+
let ident = identFor(v.name);
|
|
297
|
+
for (let n = 2; taken.has(ident); n++) ident = `${identFor(v.name)}${n}`;
|
|
298
|
+
taken.add(ident);
|
|
299
|
+
const coll = doc.variableCollections?.[v.variableCollectionId];
|
|
300
|
+
const raw = v.valuesByMode[coll?.defaultModeId ?? Object.keys(v.valuesByMode)[0]];
|
|
301
|
+
const type = TS_TYPE[v.type] ?? "string";
|
|
302
|
+
const initial = type === "boolean" ? String(!!raw) : type === "number" ? String(Number(raw) || 0) : JSON.stringify(typeof raw === "string" ? raw : raw && typeof raw === "object" && "r" in raw ? colorHex(raw) : "");
|
|
303
|
+
return { id: v.id, name: v.name, ident, type, initial };
|
|
304
|
+
});
|
|
305
|
+
const byId = new Map(variables.map((v) => [v.id, v]));
|
|
306
|
+
const byFull = new Map(variables.map((v) => [v.name, v]));
|
|
307
|
+
const short = /* @__PURE__ */ new Map();
|
|
308
|
+
for (const v of variables) {
|
|
309
|
+
const last = v.name.split("/").pop();
|
|
310
|
+
short.set(last, short.has(last) ? null : v);
|
|
311
|
+
}
|
|
312
|
+
const find = (name) => byFull.get(name) ?? short.get(name) ?? void 0;
|
|
313
|
+
const overlays = /* @__PURE__ */ new Set();
|
|
314
|
+
const missingByScreen = /* @__PURE__ */ new Map();
|
|
315
|
+
const screenOf = (id) => {
|
|
316
|
+
let at2 = id;
|
|
317
|
+
while (at2) {
|
|
318
|
+
const n = doc.nodes[at2];
|
|
319
|
+
if (!n) return null;
|
|
320
|
+
if (doc.nodes[n.parentId ?? ""]?.type === "PAGE") return at2;
|
|
321
|
+
at2 = n.parentId;
|
|
322
|
+
}
|
|
323
|
+
return null;
|
|
324
|
+
};
|
|
325
|
+
const miss = (nodeId, what) => {
|
|
326
|
+
const s = screenOf(nodeId);
|
|
327
|
+
if (s) (missingByScreen.get(s) ?? missingByScreen.set(s, /* @__PURE__ */ new Set()).get(s)).add(what);
|
|
328
|
+
};
|
|
329
|
+
let inItem = false;
|
|
330
|
+
const within = (webId, f) => {
|
|
331
|
+
const was = inItem;
|
|
332
|
+
inItem = webId.includes(`~${ITEM_RECORD}`);
|
|
333
|
+
try {
|
|
334
|
+
return f();
|
|
335
|
+
} finally {
|
|
336
|
+
inItem = was;
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
const expr = (src, o = {}) => {
|
|
340
|
+
let tree;
|
|
341
|
+
try {
|
|
342
|
+
tree = parseExpression(src, (name) => byFull.has(name));
|
|
343
|
+
} catch {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
const go = (n) => {
|
|
347
|
+
switch (n.k) {
|
|
348
|
+
case "lit":
|
|
349
|
+
return JSON.stringify(n.v);
|
|
350
|
+
case "key":
|
|
351
|
+
return o.key ?? '""';
|
|
352
|
+
case "var": {
|
|
353
|
+
const field = inItem ? /^item[._](.+)$/.exec(n.name)?.[1] : void 0;
|
|
354
|
+
if (field) return `itemField(item, ${JSON.stringify(field)})`;
|
|
355
|
+
const v = find(n.name);
|
|
356
|
+
if (!v && inItem) return `itemField(item, ${JSON.stringify(n.name)})`;
|
|
357
|
+
if (!v) {
|
|
358
|
+
if (o.at) miss(o.at, `the value "${n.name}"`);
|
|
359
|
+
return null;
|
|
360
|
+
}
|
|
361
|
+
return `v.${v.ident}`;
|
|
362
|
+
}
|
|
363
|
+
case "un": {
|
|
364
|
+
const a = go(n.a);
|
|
365
|
+
return a === null ? null : n.op === "-" ? `ops.neg(${a})` : `ops.not(${a})`;
|
|
366
|
+
}
|
|
367
|
+
case "if": {
|
|
368
|
+
const c = go(n.c), a = go(n.a), b = go(n.b);
|
|
369
|
+
return c === null || a === null || b === null ? null : `(truthy(${c}) ? ${a} : ${b})`;
|
|
370
|
+
}
|
|
371
|
+
case "call": {
|
|
372
|
+
const args = n.args.map(go);
|
|
373
|
+
if (args.some((a) => a === null)) return null;
|
|
374
|
+
const over = DATA_FUNCTIONS.has(n.fn) && collections.length ? "site.call" : "call";
|
|
375
|
+
return `${over}(${JSON.stringify(n.fn)}${args.map((a) => `, ${a}`).join("")})`;
|
|
376
|
+
}
|
|
377
|
+
case "bin": {
|
|
378
|
+
const a = go(n.a), b = go(n.b);
|
|
379
|
+
if (a === null || b === null) return null;
|
|
380
|
+
if (n.op === "&&") return `(truthy(${a}) ? ${b} : ${a})`;
|
|
381
|
+
if (n.op === "||") return `(truthy(${a}) ? ${a} : ${b})`;
|
|
382
|
+
const op = { "+": "add", "-": "sub", "*": "mul", "/": "div", "%": "mod", "<": "lt", "<=": "le", ">": "gt", ">=": "ge", "==": "eq", "!=": "ne" }[n.op];
|
|
383
|
+
return op ? `ops.${op}(${a}, ${b})` : null;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return null;
|
|
387
|
+
};
|
|
388
|
+
return go(tree);
|
|
389
|
+
};
|
|
390
|
+
const routeOf = (screenId) => screenId ? site.pages.find((p) => p.id === screenId && !p.record)?.route ?? null : null;
|
|
391
|
+
const setter = (a, key, at2) => {
|
|
392
|
+
const v = a.variableId ? byId.get(a.variableId) : void 0;
|
|
393
|
+
if (!v) return null;
|
|
394
|
+
if (a.variableToggle) return `set(${JSON.stringify(v.ident)}, !v.${v.ident})`;
|
|
395
|
+
if (a.variableExpression?.trim()) {
|
|
396
|
+
const e = expr(a.variableExpression, { key, at: at2 });
|
|
397
|
+
if (e === null) return null;
|
|
398
|
+
const coerce = v.type === "number" ? `num(${e})` : v.type === "boolean" ? `truthy(${e})` : `exprText(${e})`;
|
|
399
|
+
return `set(${JSON.stringify(v.ident)}, ${coerce})`;
|
|
400
|
+
}
|
|
401
|
+
const raw = a.variableValue;
|
|
402
|
+
const literal = v.type === "number" ? String(Number(raw) || 0) : v.type === "boolean" ? String(raw === true || raw === "true") : JSON.stringify(typeof raw === "string" ? raw : raw == null ? "" : String(raw));
|
|
403
|
+
return `set(${JSON.stringify(v.ident)}, ${literal})`;
|
|
404
|
+
};
|
|
405
|
+
const statements = (a, at2, key, changeTo) => {
|
|
406
|
+
switch (a.navigationType) {
|
|
407
|
+
case "NAVIGATE": {
|
|
408
|
+
const r = routeOf(a.destinationId);
|
|
409
|
+
if (r) return [`router.push(${JSON.stringify(r)})`];
|
|
410
|
+
miss(at2, "a go to a frame that is not one of the pages");
|
|
411
|
+
return [];
|
|
412
|
+
}
|
|
413
|
+
case "BACK":
|
|
414
|
+
return ["router.back()"];
|
|
415
|
+
case "OPEN_URL": {
|
|
416
|
+
const link = a.link;
|
|
417
|
+
if (!link) return [];
|
|
418
|
+
if (link.kind === "screen") return statements({ ...a, navigationType: "NAVIGATE", destinationId: link.frameId }, at2, key);
|
|
419
|
+
if (link.kind === "anchor") return statements({ ...a, navigationType: "SCROLL_TO", destinationId: link.nodeId }, at2, key);
|
|
420
|
+
const href = hrefOf(link, doc.nodes);
|
|
421
|
+
return href ? [opensNewTab(link) ? `window.open(${JSON.stringify(href)}, '_blank', 'noopener')` : `window.location.assign(${JSON.stringify(href)})`] : [];
|
|
422
|
+
}
|
|
423
|
+
case "SCROLL_TO":
|
|
424
|
+
return a.destinationId ? [`document.querySelector(${JSON.stringify(`[data-pc-id="${a.destinationId}"]`)})?.scrollIntoView({ behavior: 'smooth' })`] : [];
|
|
425
|
+
case "SET_VARIABLE": {
|
|
426
|
+
const s = setter(a, key, at2);
|
|
427
|
+
if (s) return [s];
|
|
428
|
+
miss(at2, "a Set variable");
|
|
429
|
+
return [];
|
|
430
|
+
}
|
|
431
|
+
case "CONDITIONAL": {
|
|
432
|
+
const out = [];
|
|
433
|
+
(a.branches ?? []).forEach((b, i) => {
|
|
434
|
+
const body = b.actions.flatMap((x) => statements(x, at2, key, changeTo));
|
|
435
|
+
const cond = b.condition?.trim() ? expr(b.condition, { key, at: at2 }) : null;
|
|
436
|
+
if (b.condition?.trim() && cond === null) return;
|
|
437
|
+
const head = !b.condition?.trim() ? i ? "else" : "" : `${i ? "else " : ""}if (truthy(${cond}))`;
|
|
438
|
+
out.push(`${head}${head ? " " : ""}{ ${body.join("; ")} }`);
|
|
439
|
+
});
|
|
440
|
+
return out.length ? [out.join(" ")] : [];
|
|
441
|
+
}
|
|
442
|
+
case "OVERLAY":
|
|
443
|
+
case "SWAP": {
|
|
444
|
+
if (!routeOf(a.destinationId)) {
|
|
445
|
+
miss(at2, "an overlay of a frame that is not one of the pages");
|
|
446
|
+
return [];
|
|
447
|
+
}
|
|
448
|
+
overlays.add(a.destinationId);
|
|
449
|
+
const bg = a.overlayBackground;
|
|
450
|
+
const opts = [`position: ${JSON.stringify(a.overlayPosition ?? "CENTER")}`, ...bg ? [`dim: ${JSON.stringify(`rgba(${Math.round(bg.color.r * 255)}, ${Math.round(bg.color.g * 255)}, ${Math.round(bg.color.b * 255)}, ${bg.opacity})`)}`] : [], ...a.closeOnOutsideClick ? ["closeOnOutside: true"] : [], ...a.overlayOffset ? [`offset: ${JSON.stringify(a.overlayOffset)}`] : []];
|
|
451
|
+
return [`overlays.${a.navigationType === "SWAP" ? "swap" : "open"}(${JSON.stringify(a.destinationId)}, { ${opts.join(", ")} })`];
|
|
452
|
+
}
|
|
453
|
+
case "CLOSE":
|
|
454
|
+
return ["overlays.close()"];
|
|
455
|
+
case "SET_MODE": {
|
|
456
|
+
const c = site.tokens?.collections.find((x) => x.id === a.collectionId);
|
|
457
|
+
if (!c || !a.modeId) {
|
|
458
|
+
miss(at2, "a Set mode");
|
|
459
|
+
return [];
|
|
460
|
+
}
|
|
461
|
+
const classes = c.modes.map((m) => m.id === c.defaultMode ? "" : m.className);
|
|
462
|
+
const to = a.modeId === "__NEXT__" ? "__NEXT__" : c.modes.find((m) => m.id === a.modeId)?.id === c.defaultMode ? "" : c.modes.find((m) => m.id === a.modeId)?.className ?? "";
|
|
463
|
+
return [`switchMode(document.documentElement, ${JSON.stringify(classes)}, ${JSON.stringify(to)})`];
|
|
464
|
+
}
|
|
465
|
+
case "TIMELINE": {
|
|
466
|
+
const t = a.timeline;
|
|
467
|
+
if (!t || t.op === "SCRUB") return [];
|
|
468
|
+
const screen = screenOf(at2);
|
|
469
|
+
const markers = site.pages.find((p) => p.id === screen)?.timeline?.stops ?? [];
|
|
470
|
+
const root = t.target === "INSTANCE" ? hostOf(at2) : screen;
|
|
471
|
+
return [`controlTimeline(document.querySelector(${JSON.stringify(`[data-pc-id="${root}"]`)}), ${JSON.stringify(t)}, ${JSON.stringify(markers)})`];
|
|
472
|
+
}
|
|
473
|
+
// On a component itself (a sheet that shows the masters) there is no instance to change: nothing to carry.
|
|
474
|
+
case "CHANGE_TO": {
|
|
475
|
+
const st = changeTo && a.destinationId ? changeTo(a.destinationId, a.targetId) : null;
|
|
476
|
+
if (st) return [st];
|
|
477
|
+
if (doc.nodes[at2]?.type !== "COMPONENT" && doc.nodes[at2]?.type !== "COMPONENT_SET") miss(at2, "a Change to whose instance is not on this page");
|
|
478
|
+
return [];
|
|
479
|
+
}
|
|
480
|
+
default:
|
|
481
|
+
miss(at2, { CHANGE_TO: "component variants" }[a.navigationType] ?? a.navigationType);
|
|
482
|
+
return [];
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
const interactionsOf = (id) => doc.nodes[id]?.interactions ?? [];
|
|
486
|
+
const hostOf = (id) => {
|
|
487
|
+
let at2 = id;
|
|
488
|
+
while (at2) {
|
|
489
|
+
if (doc.nodes[at2]?.type === "INSTANCE") return at2;
|
|
490
|
+
at2 = doc.nodes[at2]?.parentId;
|
|
491
|
+
}
|
|
492
|
+
return id;
|
|
493
|
+
};
|
|
494
|
+
const EVENT = { ON_CLICK: "onClick", MOUSE_ENTER: "onMouseEnter", MOUSE_LEAVE: "onMouseLeave", ON_PRESS: "onPointerDown" };
|
|
495
|
+
const nodeBindings = (id) => {
|
|
496
|
+
const n = doc.nodes[id];
|
|
497
|
+
if (!n) return null;
|
|
498
|
+
const out = { style: {} };
|
|
499
|
+
const take = (prop, e) => {
|
|
500
|
+
if (e === null) return;
|
|
501
|
+
if (prop === "characters") out.text = `exprText(${e})`;
|
|
502
|
+
else if (prop === "visible") out.visible = `truthy(${e})`;
|
|
503
|
+
else if (STYLE_PROPS[prop]) {
|
|
504
|
+
const [k, val] = STYLE_PROPS[prop](`num(${e})`);
|
|
505
|
+
out.style[k] = val;
|
|
506
|
+
}
|
|
507
|
+
};
|
|
508
|
+
for (const [prop, vid] of Object.entries(n.boundVariables ?? {})) {
|
|
509
|
+
const v = byId.get(vid);
|
|
510
|
+
if (v) take(prop, `v.${v.ident}`);
|
|
511
|
+
}
|
|
512
|
+
for (const [prop, src] of Object.entries(n.boundExpressions ?? {})) take(prop, expr(src, { at: id }));
|
|
513
|
+
return out.text || out.visible || Object.keys(out.style).length ? out : null;
|
|
514
|
+
};
|
|
515
|
+
const controlOf = (id) => doc.nodes[id]?.control;
|
|
516
|
+
const isForm = (id) => controlOf(id)?.kind === "FORM";
|
|
517
|
+
const formIds = Object.keys(doc.nodes ?? {}).filter(isForm);
|
|
518
|
+
const collections = visitorCollections(doc.collections);
|
|
519
|
+
const access = Object.fromEntries(site.pages.filter((p) => p.access && !p.notFound).map((p) => [p.route, p.access]));
|
|
520
|
+
const signIn = usesSignIn({ ...doc, nodes: doc.nodes ?? {} }) || Object.keys(access).length > 0;
|
|
521
|
+
const server = formIds.length || signIn || collections.length ? {
|
|
522
|
+
forms: formIds,
|
|
523
|
+
collections: collections.map((c) => ({ id: c.id, name: c.name, fields: c.fields.map((f) => ({ id: f.id, name: f.name, type: f.type, ...f.options ? { options: f.options } : {} })), ...c.perVisitor ? { perVisitor: true } : {}, ...c.shared ? { shared: true } : {} })),
|
|
524
|
+
signIn,
|
|
525
|
+
user: Object.fromEntries(Object.keys(USER_VARIABLES).map((k) => [k, byFull.get(USER_VARIABLES[k])]).filter(([, v]) => v)),
|
|
526
|
+
counts: collections.flatMap((c) => {
|
|
527
|
+
const v = byFull.get(`data/${fieldKey(c.name)}Count`);
|
|
528
|
+
return v && v.type === "number" ? [{ collection: c.id, variable: v }] : [];
|
|
529
|
+
}),
|
|
530
|
+
access,
|
|
531
|
+
redirect: {
|
|
532
|
+
signedOut: site.pages.find((p) => p.access === "signedOut" && !p.notFound)?.route ?? site.pages.find((p) => !p.access && !p.notFound)?.route ?? "/",
|
|
533
|
+
signedIn: site.pages.find((p) => p.access === "signedIn" && !p.notFound)?.route ?? site.pages.find((p) => !p.access && !p.notFound)?.route ?? "/"
|
|
534
|
+
}
|
|
535
|
+
} : null;
|
|
536
|
+
const under = (rootId) => {
|
|
537
|
+
const out = [];
|
|
538
|
+
const walk = (id) => {
|
|
539
|
+
out.push(id);
|
|
540
|
+
for (const c of doc.nodes[id]?.childIds ?? []) walk(c);
|
|
541
|
+
};
|
|
542
|
+
walk(rootId);
|
|
543
|
+
return out;
|
|
544
|
+
};
|
|
545
|
+
for (const id of Object.keys(doc.nodes ?? {})) for (const ix of interactionsOf(id)) statements(ix.action, id);
|
|
546
|
+
for (const id of formIds) {
|
|
547
|
+
const after = controlOf(id)?.onSubmit;
|
|
548
|
+
if (after) statements(after, id);
|
|
549
|
+
}
|
|
550
|
+
missingByScreen.clear();
|
|
551
|
+
return {
|
|
552
|
+
variables,
|
|
553
|
+
overlays,
|
|
554
|
+
server,
|
|
555
|
+
live: (rootId) => under(layerId(rootId)).some((id) => nodeBindings(id) || interactionsOf(id).length || isForm(id)),
|
|
556
|
+
bindings: (webId) => within(webId, () => nodeBindings(layerId(webId).split("::").pop())),
|
|
557
|
+
events: (webId, o = {}) => within(webId, () => {
|
|
558
|
+
const id = layerId(webId).split("::").pop();
|
|
559
|
+
const out = {};
|
|
560
|
+
const control = controlOf(id);
|
|
561
|
+
if (control?.kind === "FORM") {
|
|
562
|
+
const after = control.onSubmit ? statements(control.onSubmit, id, void 0, o.changeTo) : [];
|
|
563
|
+
const record = copyRecord(webId);
|
|
564
|
+
const form = { id, name: doc.nodes[id]?.name ?? id, ...control.formAction ? { action: control.formAction } : {}, ...control.collectionId ? { collectionId: control.collectionId } : {}, ...record ? { record } : {} };
|
|
565
|
+
out.onSubmit = `async (e) => { e.preventDefault(); if (await site.submit(e.currentTarget, (e.nativeEvent as SubmitEvent).submitter, ${JSON.stringify(form)})) { ${after.join("; ")} } }`;
|
|
566
|
+
}
|
|
567
|
+
const add = (prop, body) => {
|
|
568
|
+
if (body.length) out[prop] = `${out[prop] ? `${out[prop].slice(0, -2)}; ` : `(${body.some((b) => /\be\./.test(b)) ? "e" : ""}) => { `}${body.join("; ")} }`;
|
|
569
|
+
};
|
|
570
|
+
const own = interactionsOf(id).map((ix) => ({ ix, at: id }));
|
|
571
|
+
const fromVariant = o.variant ? interactionsOf(o.variant).map((ix) => ({ ix, at: o.variant })) : [];
|
|
572
|
+
for (const { ix, at: at2 } of [...own, ...fromVariant]) {
|
|
573
|
+
const body = statements(ix.action, at2, void 0, o.changeTo);
|
|
574
|
+
if (ix.action.navigationType === "CHANGE_TO" && o.variant && o.changeTo && (ix.trigger === "ON_HOVER" || ix.trigger === "ON_PRESS")) {
|
|
575
|
+
const [enter, leave] = ix.trigger === "ON_HOVER" ? ["onMouseEnter", "onMouseLeave"] : ["onPointerDown", "onPointerUp"];
|
|
576
|
+
add(enter, body);
|
|
577
|
+
const back = o.changeTo(o.variant);
|
|
578
|
+
if (back) add(leave, [back]);
|
|
579
|
+
continue;
|
|
580
|
+
}
|
|
581
|
+
if (ix.trigger === "ON_DRAG" || ix.action.navigationType === "ORBIT_3D") {
|
|
582
|
+
const a = ix.action;
|
|
583
|
+
if (a.navigationType === "ORBIT_3D") {
|
|
584
|
+
add("onPointerDown", [`orbitDrag(e.nativeEvent, document.querySelector<HTMLElement>(${JSON.stringify(`[data-pc-id="${a.destinationId ?? at2}"]`)}), ${JSON.stringify(a.orbit ?? {})})`]);
|
|
585
|
+
continue;
|
|
586
|
+
}
|
|
587
|
+
if (a.navigationType === "TIMELINE" && a.timeline?.op === "SCRUB") {
|
|
588
|
+
const screen = screenOf(at2);
|
|
589
|
+
const markers = site.pages.find((p) => p.id === screen)?.timeline?.stops ?? [];
|
|
590
|
+
add("onPointerDown", [`scrubTimeline(e.nativeEvent, document.querySelector(${JSON.stringify(`[data-pc-id="${a.timeline.target === "INSTANCE" ? hostOf(at2) : screen}"]`)}), ${JSON.stringify(a.timeline)}, ${JSON.stringify(markers)})`]);
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
const prop = EVENT[ix.trigger];
|
|
595
|
+
if (prop) add(prop, body);
|
|
596
|
+
}
|
|
597
|
+
return out;
|
|
598
|
+
}),
|
|
599
|
+
effects: (screenId) => {
|
|
600
|
+
const out = [];
|
|
601
|
+
for (const id of under(screenId)) for (const ix of interactionsOf(id)) {
|
|
602
|
+
if (ix.trigger === "AFTER_TIMEOUT") {
|
|
603
|
+
const body = statements(ix.action, id);
|
|
604
|
+
if (body.length) out.push(`const t${out.length} = window.setTimeout(() => { ${body.join("; ")} }, ${Math.max(0, ix.triggerDelay ?? 0)}); return () => window.clearTimeout(t${out.length})`);
|
|
605
|
+
}
|
|
606
|
+
if (ix.trigger === "KEY_DOWN") {
|
|
607
|
+
const key = ix.triggerKey;
|
|
608
|
+
const body = statements(ix.action, id, "e.key");
|
|
609
|
+
if (body.length) out.push(`const k${out.length} = (e: KeyboardEvent) => { ${key ? `if (e.key !== ${JSON.stringify(key)}) return; ` : ""}${body.join("; ")} }; window.addEventListener('keydown', k${out.length}); return () => window.removeEventListener('keydown', k${out.length})`);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
return out;
|
|
613
|
+
},
|
|
614
|
+
missing: (rootId) => [...missingByScreen.get(layerId(rootId)) ?? []],
|
|
615
|
+
itemExpression: (src) => within(`~${ITEM_RECORD}`, () => expr(src))
|
|
616
|
+
};
|
|
617
|
+
}
|
|
618
|
+
function colorHex(c) {
|
|
619
|
+
const h = (x) => Math.round(Math.max(0, Math.min(1, x)) * 255).toString(16).padStart(2, "0");
|
|
620
|
+
return `#${h(c.r)}${h(c.g)}${h(c.b)}${c.a !== void 0 && c.a < 1 ? h(c.a) : ""}`;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// lib/io/web/project/server.ts
|
|
624
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
625
|
+
var lines = (...l) => `${l.filter((x) => typeof x === "string").join("\n")}
|
|
626
|
+
`;
|
|
627
|
+
function as(v, value, from) {
|
|
628
|
+
if (v.type === from) return value;
|
|
629
|
+
if (v.type === "boolean") return `!!${value}`;
|
|
630
|
+
if (v.type === "number") return from === "boolean" ? `(${value} ? 1 : 0)` : `Number(${value}) || 0`;
|
|
631
|
+
return `String(${value})`;
|
|
632
|
+
}
|
|
633
|
+
var setLine = (v, value, from) => v ? `set(${JSON.stringify(v.ident)}, ${as(v, value, from)})` : null;
|
|
634
|
+
function serverFiles(server) {
|
|
635
|
+
const files = [
|
|
636
|
+
{ path: "lib/popcraft-server.ts", content: lines(
|
|
637
|
+
"// The site's own server: the forms it keeps and the lists its visitors keep records in (from the design), its",
|
|
638
|
+
"// database (DATABASE_URL) and its sign-in (SITE_AUTH_URL). app/api/popcraft answers the pages through it.",
|
|
639
|
+
"",
|
|
640
|
+
"import type { Collection } from '@popcraft/runtime'",
|
|
641
|
+
"import { storeFor, type AuthKind, type SiteBackend, type SiteDatabase } from '@popcraft/runtime/server'",
|
|
642
|
+
"import { siteUrl } from '@/lib/site'",
|
|
643
|
+
"",
|
|
644
|
+
`const FORMS = new Set<string>(${JSON.stringify(server.forms)})`,
|
|
645
|
+
`const COLLECTIONS: Record<string, Collection> = ${JSON.stringify(Object.fromEntries(server.collections.map((c) => [c.id, c])), null, 2)}`,
|
|
646
|
+
"",
|
|
647
|
+
"let ready: Promise<SiteDatabase> | null = null",
|
|
648
|
+
"",
|
|
649
|
+
"/** The site's database: its two tables are made on first use. */",
|
|
650
|
+
"function database(): Promise<SiteDatabase | null> {",
|
|
651
|
+
" const url = process.env.DATABASE_URL",
|
|
652
|
+
" if (!url) return Promise.resolve(null)",
|
|
653
|
+
" ready ??= (async () => { const db = storeFor(url); await db.ensure(); return db })().catch((e: unknown) => { ready = null; throw e })",
|
|
654
|
+
" return ready",
|
|
655
|
+
"}",
|
|
656
|
+
"",
|
|
657
|
+
"/** The site's sign-in service (Neon Auth or Supabase Auth), told the site's own address. NEON_AUTH_URL is its older name. */",
|
|
658
|
+
"async function auth() {",
|
|
659
|
+
" const authUrl = process.env.SITE_AUTH_URL ?? process.env.NEON_AUTH_URL",
|
|
660
|
+
" if (!authUrl) return null",
|
|
661
|
+
" const kind = (process.env.SITE_AUTH_KIND as AuthKind | undefined) ?? 'neon-auth'",
|
|
662
|
+
" return { kind, authUrl, origin: siteUrl.origin, apiKey: process.env.SITE_AUTH_KEY, adminKey: process.env.SITE_AUTH_ADMIN_KEY }",
|
|
663
|
+
"}",
|
|
664
|
+
"",
|
|
665
|
+
"export const site: SiteBackend = {",
|
|
666
|
+
" database,",
|
|
667
|
+
" auth,",
|
|
668
|
+
" hasForm: id => FORMS.has(id),",
|
|
669
|
+
" collection: id => COLLECTIONS[id],",
|
|
670
|
+
" // Over https in production; `next dev` serves http, where a Secure cookie would not be kept.",
|
|
671
|
+
" secure: process.env.NODE_ENV === 'production',",
|
|
672
|
+
"}"
|
|
673
|
+
) },
|
|
674
|
+
{ path: "app/api/popcraft/[...path]/route.ts", content: lines(
|
|
675
|
+
"// The site's own requests (forms, sign-in, visitors' records), at /_pc/\u2026 (next.config.ts rewrites them here).",
|
|
676
|
+
"",
|
|
677
|
+
"import { siteRequest } from '@popcraft/runtime/server'",
|
|
678
|
+
"import { site } from '@/lib/popcraft-server'",
|
|
679
|
+
"",
|
|
680
|
+
"async function handle(request: Request, { params }: { params: Promise<{ path: string[] }> }): Promise<Response> {",
|
|
681
|
+
" const { path } = await params",
|
|
682
|
+
" return (await siteRequest(request, `_pc/${path.join('/')}`, site)) ?? Response.json({ error: 'Not found' }, { status: 404 })",
|
|
683
|
+
"}",
|
|
684
|
+
"",
|
|
685
|
+
"export { handle as DELETE, handle as GET, handle as POST }"
|
|
686
|
+
) }
|
|
687
|
+
];
|
|
688
|
+
const routes = Object.keys(server.access);
|
|
689
|
+
if (routes.length) files.push({ path: "proxy.ts", content: lines(
|
|
690
|
+
"// Each page for one kind of visitor sends the other kind where it is for them: a signed-in page needs an account,",
|
|
691
|
+
"// a sign-in page is for visitors without one. The session cookie is enough to decide here; the page's provider",
|
|
692
|
+
"// (lib/popcraft.tsx) asks the server who is signed in, and clears a cookie whose session has ended.",
|
|
693
|
+
"",
|
|
694
|
+
"import { NextResponse, type NextRequest } from 'next/server'",
|
|
695
|
+
"",
|
|
696
|
+
`const ACCESS: Record<string, 'signedIn' | 'signedOut'> = ${JSON.stringify(server.access)}`,
|
|
697
|
+
`const GO = ${JSON.stringify(server.redirect)}`,
|
|
698
|
+
"",
|
|
699
|
+
"export function proxy(request: NextRequest) {",
|
|
700
|
+
" const need = ACCESS[request.nextUrl.pathname]",
|
|
701
|
+
` const signedIn = request.cookies.has(${JSON.stringify(SESSION_COOKIE)})`,
|
|
702
|
+
" const to = need === 'signedIn' && !signedIn ? GO.signedOut : need === 'signedOut' && signedIn ? GO.signedIn : null",
|
|
703
|
+
" return to && to !== request.nextUrl.pathname ? NextResponse.redirect(new URL(to, request.url)) : NextResponse.next()",
|
|
704
|
+
"}",
|
|
705
|
+
"",
|
|
706
|
+
`export const config = { matcher: ${JSON.stringify(routes)} }`
|
|
707
|
+
) });
|
|
708
|
+
return files;
|
|
709
|
+
}
|
|
710
|
+
function siteProviderSource(server) {
|
|
711
|
+
const u = server.user;
|
|
712
|
+
const guards = Object.keys(server.access).length > 0;
|
|
713
|
+
const sayUser = [setLine(u.signedIn, "!!next", "boolean"), setLine(u.name, "next?.name ?? ''", "string"), setLine(u.email, "next?.email ?? ''", "string")].filter(Boolean);
|
|
714
|
+
const sayError = (value) => setLine(u.error, value, "string");
|
|
715
|
+
return [
|
|
716
|
+
"/** A form as the design made it: what it does on the site's server, and (in a list's copy) whose record it is about. */",
|
|
717
|
+
"export interface SiteForm { id: string; name: string; action?: AuthAction | 'deleteRecord' | 'updateRecord'; collectionId?: string; record?: string }",
|
|
718
|
+
"interface SiteStore {",
|
|
719
|
+
" user: SiteUser | null",
|
|
720
|
+
" /** The visitor's own records, by collection, newest first. */",
|
|
721
|
+
" records: Record<string, SiteRecord[]>",
|
|
722
|
+
" /** An expression function over the visitor's records (`count`, `streak`\u2026), by the collection's name. */",
|
|
723
|
+
" call(fn: string, ...args: ExprValue[]): ExprValue",
|
|
724
|
+
` /** Send a form; true when it worked (then the design's "on submit" runs). */`,
|
|
725
|
+
" submit(form: HTMLFormElement, submitter: HTMLElement | null, about: SiteForm): Promise<boolean>",
|
|
726
|
+
"}",
|
|
727
|
+
"",
|
|
728
|
+
"const client = createSiteClient()",
|
|
729
|
+
`const MINE = ${JSON.stringify(server.collections.map((c) => c.id))}`,
|
|
730
|
+
`/** Each list by the name an expression gives it. */`,
|
|
731
|
+
`const NAMES: Record<string, string> = ${JSON.stringify(Object.fromEntries(server.collections.map((c) => [c.name.trim().toLowerCase(), c.id])))}`,
|
|
732
|
+
...guards ? [`const ACCESS: Record<string, 'signedIn' | 'signedOut'> = ${JSON.stringify(server.access)}`, `const GO = ${JSON.stringify(server.redirect)}`] : [],
|
|
733
|
+
"const SiteContext = createContext<SiteStore | null>(null)",
|
|
734
|
+
"",
|
|
735
|
+
"/** The visitor: who is signed in (asked of the site's server on load), their records, and the design's variables that say so. */",
|
|
736
|
+
"export function SiteProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
737
|
+
...sayUser.length || server.counts.length || u.error ? [" const { set } = useVariables()"] : [],
|
|
738
|
+
...guards ? [" const router = useRouter()", " const path = usePathname()"] : [],
|
|
739
|
+
" const [user, setUser] = useState<SiteUser | null>(null)",
|
|
740
|
+
...guards ? [" const [known, setKnown] = useState(false)"] : [],
|
|
741
|
+
" const [records, setRecords] = useState<Record<string, SiteRecord[]>>({})",
|
|
742
|
+
" const say = useCallback((next: SiteUser | null) => {",
|
|
743
|
+
" setUser(next)",
|
|
744
|
+
...sayUser.map((l) => ` ${l}`),
|
|
745
|
+
` }, [${sayUser.length ? "set" : ""}])`,
|
|
746
|
+
" const refresh = useCallback(async (who: SiteUser | null) => {",
|
|
747
|
+
" const next: Record<string, SiteRecord[]> = {}",
|
|
748
|
+
" for (const id of MINE) next[id] = who ? await client.records(id) : []",
|
|
749
|
+
" setRecords(next)",
|
|
750
|
+
...server.counts.map((c) => ` ${setLine(c.variable, `next[${JSON.stringify(c.collection)}].length`, "number")}`),
|
|
751
|
+
` }, [${server.counts.length ? "set" : ""}])`,
|
|
752
|
+
` useEffect(() => { void client.who().then(async who => { say(who); ${guards ? "setKnown(true); " : ""}await refresh(who) }) }, [say, refresh])`,
|
|
753
|
+
...guards ? [
|
|
754
|
+
" // A page for the other kind of visitor (a cookie whose session had ended got past proxy.ts): where a visit would land.",
|
|
755
|
+
" useEffect(() => {",
|
|
756
|
+
" if (!known) return",
|
|
757
|
+
" const need = ACCESS[path]",
|
|
758
|
+
" const to = need === 'signedIn' && !user ? GO.signedOut : need === 'signedOut' && user ? GO.signedIn : null",
|
|
759
|
+
" if (to && to !== path) router.replace(to)",
|
|
760
|
+
" }, [known, user, path, router])"
|
|
761
|
+
] : [],
|
|
762
|
+
" const submit = useCallback(async (form: HTMLFormElement, submitter: HTMLElement | null, about: SiteForm): Promise<boolean> => {",
|
|
763
|
+
" const values: Record<string, string> = {}",
|
|
764
|
+
" new FormData(form, submitter).forEach((value, key) => { if (typeof value === 'string') values[key] = value })",
|
|
765
|
+
...sayError("''") ? [` ${sayError("''")}`] : [],
|
|
766
|
+
" try {",
|
|
767
|
+
" if (about.action && about.action !== 'deleteRecord' && about.action !== 'updateRecord') {",
|
|
768
|
+
" const who = await client.act(about.action, values)",
|
|
769
|
+
" say(who)",
|
|
770
|
+
" await refresh(who)",
|
|
771
|
+
" return true",
|
|
772
|
+
" }",
|
|
773
|
+
" // A visitor's own list: a form bound to it adds a record; one inside a copy changes or removes that copy's.",
|
|
774
|
+
" const of = about.record ? MINE.find(id => records[id]?.some(r => r.id === about.record)) : about.collectionId && MINE.includes(about.collectionId) ? about.collectionId : undefined",
|
|
775
|
+
" if (of) {",
|
|
776
|
+
" if (!user) throw new Error('Sign in first.')",
|
|
777
|
+
" if (about.action === 'deleteRecord') await client.remove(of, about.record ?? '')",
|
|
778
|
+
" else if (about.action === 'updateRecord') { const was = records[of]?.find(r => r.id === about.record); if (!was) throw new Error('That is no longer here.'); await client.save(of, { ...was.values, ...values }, about.record) }",
|
|
779
|
+
" else await client.save(of, values)",
|
|
780
|
+
" await refresh(user)",
|
|
781
|
+
" return true",
|
|
782
|
+
" }",
|
|
783
|
+
` // Kept in the site's database. Refused (none attached, or the request failed): the design's "on submit" does not run.`,
|
|
784
|
+
" if (!await client.submit({ id: about.id, name: about.name, values })) throw new Error('That did not go through: nothing was saved. Try again in a moment.')",
|
|
785
|
+
" return true",
|
|
786
|
+
" } catch (e) {",
|
|
787
|
+
...sayError("e instanceof Error ? e.message : 'That did not work. Try again.'") ? [` ${sayError("e instanceof Error ? e.message : 'That did not work. Try again.'")}`] : [" void e"],
|
|
788
|
+
" return false",
|
|
789
|
+
" }",
|
|
790
|
+
` }, [records, user, say, refresh${u.error ? ", set" : ""}])`,
|
|
791
|
+
' // What `count("Checkins")` and the rest add up: the visitor\'s own records, with when each was made.',
|
|
792
|
+
" const data = useMemo<ExprData>(() => ({",
|
|
793
|
+
" rows: name => {",
|
|
794
|
+
" const id = NAMES[name.trim().toLowerCase()] ?? (MINE.includes(name) ? name : undefined)",
|
|
795
|
+
" return id ? (records[id] ?? []).map(r => ({ values: { id: r.id, by: r.by ?? '', mine: r.mine ?? true, ...r.values }, ...(r.createdAt ? { at: Date.parse(r.createdAt) } : {}) })) : undefined",
|
|
796
|
+
" },",
|
|
797
|
+
" }), [records])",
|
|
798
|
+
" const callData = useCallback((fn: string, ...args: ExprValue[]): ExprValue => {",
|
|
799
|
+
" const f = FUNCTIONS[fn]",
|
|
800
|
+
" if (!f) return 0",
|
|
801
|
+
" try { return f(args, data) } catch (e) { if (e instanceof ExprMissing) return 0; throw e }",
|
|
802
|
+
" }, [data])",
|
|
803
|
+
" const store = useMemo(() => ({ user, records, call: callData, submit }), [user, records, callData, submit])",
|
|
804
|
+
" return <SiteContext value={store}>{children}</SiteContext>",
|
|
805
|
+
"}",
|
|
806
|
+
"",
|
|
807
|
+
"/** A field of a visitor's record, as an expression reads it (`item.note`): its values, and `id`, `by`, `mine` and `age` (days old). */",
|
|
808
|
+
"export function itemField(item: SiteRecord, key: string): ExprValue {",
|
|
809
|
+
" if (key === 'id') return item.id",
|
|
810
|
+
" if (key === 'by') return item.by ?? ''",
|
|
811
|
+
" if (key === 'mine') return item.mine ?? true",
|
|
812
|
+
" if (key === 'age') return item.createdAt ? Math.max(0, dayOf(Date.now()) - dayOf(Date.parse(item.createdAt))) : 0",
|
|
813
|
+
" return item.values[key] ?? ''",
|
|
814
|
+
"}",
|
|
815
|
+
"",
|
|
816
|
+
"/** Two of a visitor's records in a list's order: by a field, numbers as numbers and words as words. */",
|
|
817
|
+
"export function itemCompare(a: SiteRecord, b: SiteRecord, key: string): number {",
|
|
818
|
+
" const x = itemField(a, key), y = itemField(b, key)",
|
|
819
|
+
" return typeof x === 'number' && typeof y === 'number' ? x - y : String(x).localeCompare(String(y), undefined, { numeric: true })",
|
|
820
|
+
"}",
|
|
821
|
+
"",
|
|
822
|
+
"/** A field of a visitor's record as words on the page (a yes-or-no as Yes or No). */",
|
|
823
|
+
"export function itemWords(item: SiteRecord, key: string): string {",
|
|
824
|
+
" const value = itemField(item, key)",
|
|
825
|
+
" return typeof value === 'boolean' ? (value ? 'Yes' : 'No') : String(value)",
|
|
826
|
+
"}",
|
|
827
|
+
"",
|
|
828
|
+
"/** The visitor, their records, and `submit` for a form. */",
|
|
829
|
+
"export function useSite(): SiteStore {",
|
|
830
|
+
" const store = useContext(SiteContext)",
|
|
831
|
+
" if (!store) throw new Error('useSite is used outside SiteProvider (app/layout.tsx)')",
|
|
832
|
+
" return store",
|
|
833
|
+
"}",
|
|
834
|
+
""
|
|
835
|
+
];
|
|
836
|
+
}
|
|
837
|
+
function serverReadme(server) {
|
|
838
|
+
return `## Forms${server.signIn ? ", accounts" : ""} and data
|
|
839
|
+
|
|
840
|
+
The site has a server of its own (\`app/api/popcraft\`, through \`@popcraft/runtime/server\`): it keeps what its forms
|
|
841
|
+
send${server.signIn ? ", signs visitors up and in with the database's own sign-in (Neon Auth or Supabase Auth)" : ""}${server.collections.length ? ", and keeps each visitor's own records" : ""}. Copy \`.env.example\` to
|
|
842
|
+
\`.env.local\` and set:
|
|
843
|
+
|
|
844
|
+
| Variable | What it is |
|
|
845
|
+
| --- | --- |
|
|
846
|
+
| \`DATABASE_URL\` | A Postgres connection string (a Neon or Supabase project's). The site makes its two tables on first use |
|
|
847
|
+
${server.signIn ? "| `SITE_AUTH_KIND` | `neon-auth` or `supabase-auth` |\n| `SITE_AUTH_URL` | The sign-in service: a Neon project's Auth URL (Neon console \u2192 Auth), or `https://<project>.supabase.co/auth/v1`. Add the site's address to its trusted domains / redirect URLs |\n| `SITE_AUTH_KEY` | Supabase only: the project's anon key |\n| `SITE_AUTH_ADMIN_KEY` | Supabase only, optional: the service-role key, so visitors can delete their accounts |\n" : ""}| \`NEXT_PUBLIC_SITE_URL\` | The site's address${server.signIn ? " (the origin the sign-in service is told visitors come from)" : ""} |
|
|
848
|
+
|
|
849
|
+
Without \`DATABASE_URL\` the pages still work: forms are sent and not kept${server.signIn ? ", and nobody can sign in" : ""}.
|
|
850
|
+
|
|
851
|
+
`;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
// lib/io/web/project/islands.ts
|
|
855
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
856
|
+
function islandFiles(site, script) {
|
|
857
|
+
return [
|
|
858
|
+
{ path: "public/pc/island.js", content: script },
|
|
859
|
+
{ path: "public/pc/islands.json", content: JSON.stringify(site.islands ?? {}) },
|
|
860
|
+
{ path: "components/gpu-island.tsx", content: GPU_ISLAND }
|
|
861
|
+
];
|
|
862
|
+
}
|
|
863
|
+
var REACT_IMPORT = "import { useEffect, useRef } from 'react'";
|
|
864
|
+
var GPU_ISLAND = `'use client'
|
|
865
|
+
|
|
866
|
+
// A layer only the GPU draws, drawn live over its picture by PopCraft's renderer (public/pc/island.js), with what it
|
|
867
|
+
// draws from public/pc/islands.json. Both load once, the first time an island is on screen; without WebGPU the
|
|
868
|
+
// picture stays.
|
|
869
|
+
|
|
870
|
+
${REACT_IMPORT}
|
|
871
|
+
|
|
872
|
+
interface IslandHandle { invalidate(): void; destroy(): void }
|
|
873
|
+
interface IslandHost { mount(canvas: HTMLCanvasElement, spec: unknown, clock?: () => number): IslandHandle | null; destroy(): void }
|
|
874
|
+
declare global { var popcraftIsland: { createIslandHost(): Promise<IslandHost | null> } | undefined }
|
|
875
|
+
|
|
876
|
+
let host: Promise<{ host: IslandHost | null; specs: Record<string, unknown> }> | null = null
|
|
877
|
+
function islandHost() {
|
|
878
|
+
host ??= Promise.all([
|
|
879
|
+
new Promise<void>((resolve, reject) => {
|
|
880
|
+
if (globalThis.popcraftIsland) return resolve()
|
|
881
|
+
const script = document.createElement('script')
|
|
882
|
+
script.src = '/pc/island.js'
|
|
883
|
+
script.onload = () => resolve()
|
|
884
|
+
script.onerror = () => reject(new Error('The island renderer did not load'))
|
|
885
|
+
document.head.appendChild(script)
|
|
886
|
+
}).then(() => globalThis.popcraftIsland?.createIslandHost() ?? null),
|
|
887
|
+
fetch('/pc/islands.json').then(r => r.json() as Promise<Record<string, unknown>>),
|
|
888
|
+
]).then(([h, specs]) => ({ host: h, specs })).catch(() => ({ host: null, specs: {} }))
|
|
889
|
+
return host
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
/** Island \`id\` (its layer), posed at the time of screen \`screen\`'s timeline. */
|
|
893
|
+
export function GpuIsland({ id, screen }: { id: string; screen: string }) {
|
|
894
|
+
const canvas = useRef<HTMLCanvasElement>(null)
|
|
895
|
+
useEffect(() => {
|
|
896
|
+
const el = canvas.current
|
|
897
|
+
if (!el || typeof navigator === 'undefined' || !('gpu' in navigator)) return
|
|
898
|
+
const parent = el.parentElement
|
|
899
|
+
if (parent && getComputedStyle(parent).position === 'static') parent.style.position = 'relative'
|
|
900
|
+
let handle: IslandHandle | null = null
|
|
901
|
+
let gone = false
|
|
902
|
+
const started = performance.now()
|
|
903
|
+
// The screen's timeline (its CSS animations), else the time since the island appeared.
|
|
904
|
+
const clock = () => {
|
|
905
|
+
const timeline = document.querySelector(\`[data-pc-id="\${screen}"]\`)?.getAnimations({ subtree: true }).find(a => (a as CSSAnimation).animationName?.startsWith('timeline-'))
|
|
906
|
+
return timeline ? Number(timeline.currentTime ?? 0) : performance.now() - started
|
|
907
|
+
}
|
|
908
|
+
const start = () => void islandHost().then(({ host: h, specs }) => {
|
|
909
|
+
if (gone || !h || !specs[id]) return
|
|
910
|
+
handle = h.mount(el, specs[id], clock)
|
|
911
|
+
if (!handle) return
|
|
912
|
+
// The picture under it has done its work: the canvas shows the layer from here.
|
|
913
|
+
for (const child of el.parentElement?.children ?? []) if (child !== el) (child as HTMLElement).style.visibility = 'hidden'
|
|
914
|
+
el.style.display = 'block'
|
|
915
|
+
})
|
|
916
|
+
// Asked for once it is on screen, so a page whose island is far below loads nothing until it is reached.
|
|
917
|
+
const seen = new IntersectionObserver(entries => { if (entries.some(e => e.isIntersecting)) { seen.disconnect(); start() } })
|
|
918
|
+
seen.observe(el.parentElement ?? el)
|
|
919
|
+
return () => { gone = true; seen.disconnect(); handle?.destroy() }
|
|
920
|
+
}, [id, screen])
|
|
921
|
+
return <canvas ref={canvas} aria-hidden="true" style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', display: 'none' }} />
|
|
922
|
+
}
|
|
923
|
+
`;
|
|
924
|
+
|
|
925
|
+
// lib/io/web/project/versions.ts
|
|
926
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
927
|
+
|
|
928
|
+
// packages/runtime/package.json
|
|
929
|
+
var package_default = {
|
|
930
|
+
name: "@popcraft/runtime",
|
|
931
|
+
version: "0.53.5",
|
|
932
|
+
description: "What code exported from PopCraft shares: the meaning of expressions (operators and functions) and, as it grows, the parts of a design's behaviour that are common code rather than generated React.",
|
|
933
|
+
license: "MIT",
|
|
934
|
+
homepage: "https://popcraft.app/docs/exporting/nextjs",
|
|
935
|
+
repository: {
|
|
936
|
+
type: "git",
|
|
937
|
+
url: "git+https://github.com/getpopcraft/popcraft-app.git",
|
|
938
|
+
directory: "packages/runtime"
|
|
939
|
+
},
|
|
940
|
+
type: "module",
|
|
941
|
+
sideEffects: false,
|
|
942
|
+
exports: {
|
|
943
|
+
".": {
|
|
944
|
+
types: "./dist/index.d.ts",
|
|
945
|
+
import: "./dist/index.js"
|
|
946
|
+
},
|
|
947
|
+
"./commerce": {
|
|
948
|
+
types: "./dist/commerce.d.ts",
|
|
949
|
+
import: "./dist/commerce.js"
|
|
950
|
+
},
|
|
951
|
+
"./server": {
|
|
952
|
+
types: "./dist/server/index.d.ts",
|
|
953
|
+
import: "./dist/server.js"
|
|
954
|
+
},
|
|
955
|
+
"./package.json": "./package.json"
|
|
956
|
+
},
|
|
957
|
+
files: [
|
|
958
|
+
"dist",
|
|
959
|
+
"CHANGELOG.md",
|
|
960
|
+
"README.md",
|
|
961
|
+
"LICENSE"
|
|
962
|
+
],
|
|
963
|
+
engines: {
|
|
964
|
+
node: ">=20.9.0"
|
|
965
|
+
},
|
|
966
|
+
scripts: {
|
|
967
|
+
build: "node build.mjs",
|
|
968
|
+
typecheck: "tsc --noEmit -p .",
|
|
969
|
+
prepublishOnly: "node build.mjs"
|
|
970
|
+
},
|
|
971
|
+
devDependencies: {
|
|
972
|
+
esbuild: "0.28.2"
|
|
973
|
+
},
|
|
974
|
+
dependencies: {
|
|
975
|
+
"@neondatabase/serverless": "^1.2.0",
|
|
976
|
+
postgres: "^3.4.9"
|
|
977
|
+
}
|
|
978
|
+
};
|
|
979
|
+
|
|
980
|
+
// lib/io/web/project/versions.ts
|
|
981
|
+
var EXPORT_VERSIONS = {
|
|
982
|
+
/** When the versions below were last checked against npm and built. */
|
|
983
|
+
checked: "2026-10-03",
|
|
984
|
+
/** The Node.js an exported Next.js project needs (Next.js's own floor). */
|
|
985
|
+
node: ">=20.9.0",
|
|
986
|
+
packages: {
|
|
987
|
+
next: "16.3.8",
|
|
988
|
+
react: "19.3.0",
|
|
989
|
+
"react-dom": "19.3.0",
|
|
990
|
+
typescript: "6.0.3",
|
|
991
|
+
"@types/node": "24.19.1",
|
|
992
|
+
"@types/react": "19.3.0",
|
|
993
|
+
"@types/react-dom": "19.3.0",
|
|
994
|
+
eslint: "9.39.5",
|
|
995
|
+
"eslint-config-next": "16.3.8",
|
|
996
|
+
tailwindcss: "4.3.3",
|
|
997
|
+
"@tailwindcss/postcss": "4.3.3"
|
|
998
|
+
}
|
|
999
|
+
};
|
|
1000
|
+
var RUNTIME_PACKAGE = { name: package_default.name, version: package_default.version };
|
|
1001
|
+
var runtimeRange = () => `>=${RUNTIME_PACKAGE.version} <${Number(RUNTIME_PACKAGE.version.split(".")[0]) + 1}.0.0`;
|
|
1002
|
+
var range = (name) => `^${EXPORT_VERSIONS.packages[name]}`;
|
|
1003
|
+
|
|
1004
|
+
// lib/io/web/project/next.ts
|
|
1005
|
+
var all = (n, out = []) => {
|
|
1006
|
+
out.push(n);
|
|
1007
|
+
n.children.forEach((c) => all(c, out));
|
|
1008
|
+
return out;
|
|
1009
|
+
};
|
|
1010
|
+
function unique(base, taken) {
|
|
1011
|
+
let name = base || "Module";
|
|
1012
|
+
for (let n = 2; taken.has(name); n++) name = `${base}${n}`;
|
|
1013
|
+
taken.add(name);
|
|
1014
|
+
return name;
|
|
1015
|
+
}
|
|
1016
|
+
var jsxProp = (k, v) => typeof v === "string" ? `${k}=${JSON.stringify(v)}` : `${k}={${JSON.stringify(v)}}`;
|
|
1017
|
+
var pageDir = (route) => route === "/" ? "app" : `app${route}`;
|
|
1018
|
+
var json = (v) => `${JSON.stringify(v, null, 2)}
|
|
1019
|
+
`;
|
|
1020
|
+
var googleSet = new Set(GOOGLE_FONTS);
|
|
1021
|
+
function projectFonts(site) {
|
|
1022
|
+
return site.fonts.filter((f) => googleSet.has(f.family)).map((f) => {
|
|
1023
|
+
const slug = f.family.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
1024
|
+
return { family: f.family, ident: f.family.replace(/[^A-Za-z0-9]+/g, "_"), variable: `--font-${slug}`, weights: f.weights, variableFont: !NON_VARIABLE_FONTS.has(f.family) };
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
1027
|
+
function nextProjectFiles(site, doc, opts = {}) {
|
|
1028
|
+
const tailwind = opts.styling === "tailwind";
|
|
1029
|
+
const fonts = projectFonts(site);
|
|
1030
|
+
const byFamily = new Map(fonts.map((f) => [f.family, f.variable]));
|
|
1031
|
+
const fontFamily = (value) => value.replace(/"([^"]+)"/, (m, family) => byFamily.has(family) ? `var(${byFamily.get(family)})` : m);
|
|
1032
|
+
const files = externalizeBitmaps(site).map((f) => ({ ...f, path: `public/${f.path}` }));
|
|
1033
|
+
const moduleFile = /* @__PURE__ */ new Map();
|
|
1034
|
+
const taken = /* @__PURE__ */ new Set();
|
|
1035
|
+
const packages = {};
|
|
1036
|
+
for (const id of Object.keys(site.code?.modules ?? {}).sort()) {
|
|
1037
|
+
const m = doc.codeModules?.[id];
|
|
1038
|
+
if (!m) continue;
|
|
1039
|
+
const name2 = unique(componentName(m.name), taken);
|
|
1040
|
+
moduleFile.set(id, name2);
|
|
1041
|
+
Object.assign(packages, m.packages);
|
|
1042
|
+
const source = m.source.endsWith("\n") ? m.source : `${m.source}
|
|
1043
|
+
`;
|
|
1044
|
+
files.push({ path: `components/code/${name2}.tsx`, content: /^\s*['"]use client['"]/.test(source) ? source : `'use client'
|
|
1045
|
+
|
|
1046
|
+
${source}` });
|
|
1047
|
+
}
|
|
1048
|
+
const islands = !!site.islands && Object.keys(site.islands).length > 0 && !!opts.islandScript;
|
|
1049
|
+
if (islands) files.push(...islandFiles(site, opts.islandScript));
|
|
1050
|
+
const behaviour = behaviourOf(site);
|
|
1051
|
+
const media = /* @__PURE__ */ new Set();
|
|
1052
|
+
const routes = [];
|
|
1053
|
+
for (const page of site.pages) {
|
|
1054
|
+
if (routes.includes(page.route) && !page.notFound) continue;
|
|
1055
|
+
if (!page.notFound) routes.push(page.route);
|
|
1056
|
+
for (const rule of page.media ?? site.pages.find((p) => p.screen && p.screen === page.screen && p.media)?.media ?? []) media.add(rule);
|
|
1057
|
+
files.push(...pageFiles(site, page, moduleFile, { tailwind, fontFamily, ownFonts: fonts.length > 0, behaviour, islands }));
|
|
1058
|
+
}
|
|
1059
|
+
const tokens = (site.tokens ? tokensCSS(site.tokens) : []).map(fontFamily);
|
|
1060
|
+
files.push({ path: "app/globals.css", content: [
|
|
1061
|
+
...tailwind ? ['@import "tailwindcss";', ""] : [],
|
|
1062
|
+
"html, body { margin: 0; min-height: 100%; }",
|
|
1063
|
+
"*, *::before, *::after { box-sizing: border-box; }",
|
|
1064
|
+
"img, picture, svg, video { display: block; max-width: 100%; }",
|
|
1065
|
+
...tokens,
|
|
1066
|
+
...[...media].map(fontFamily),
|
|
1067
|
+
""
|
|
1068
|
+
].join("\n") });
|
|
1069
|
+
const overlays = behaviour.overlays.size > 0;
|
|
1070
|
+
const server = behaviour.server;
|
|
1071
|
+
files.push({ path: "app/layout.tsx", content: layoutSource(site, fonts, { variables: behaviour.variables.length > 0 || overlays || !!server, overlays, server: !!server }) });
|
|
1072
|
+
if (overlays) files.push({ path: "components/overlays.tsx", content: overlaysSource(site, behaviour) });
|
|
1073
|
+
files.push({ path: "lib/popcraft.tsx", content: stateSource(behaviour) });
|
|
1074
|
+
if (server) files.push(...serverFiles(server));
|
|
1075
|
+
files.push({ path: "app/sitemap.ts", content: sitemapSource(routes) });
|
|
1076
|
+
files.push({ path: "app/robots.ts", content: robotsSource() });
|
|
1077
|
+
files.push({ path: "lib/site.ts", content: siteSource() });
|
|
1078
|
+
const name = fileBase(site.name).toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/^-+|-+$/g, "") || "site";
|
|
1079
|
+
files.push({ path: "package.json", content: json({
|
|
1080
|
+
name,
|
|
1081
|
+
private: true,
|
|
1082
|
+
version: "0.1.0",
|
|
1083
|
+
type: "module",
|
|
1084
|
+
engines: { node: EXPORT_VERSIONS.node },
|
|
1085
|
+
scripts: { dev: "next dev", build: "next build", start: "next start", lint: "eslint .", typecheck: "tsc --noEmit" },
|
|
1086
|
+
dependencies: { next: range("next"), react: range("react"), "react-dom": range("react-dom"), [RUNTIME_PACKAGE.name]: runtimeRange(), ...packages },
|
|
1087
|
+
devDependencies: {
|
|
1088
|
+
"@types/node": range("@types/node"),
|
|
1089
|
+
"@types/react": range("@types/react"),
|
|
1090
|
+
"@types/react-dom": range("@types/react-dom"),
|
|
1091
|
+
eslint: range("eslint"),
|
|
1092
|
+
"eslint-config-next": range("eslint-config-next"),
|
|
1093
|
+
typescript: range("typescript"),
|
|
1094
|
+
...tailwind ? { tailwindcss: range("tailwindcss"), "@tailwindcss/postcss": range("@tailwindcss/postcss") } : {}
|
|
1095
|
+
}
|
|
1096
|
+
}) });
|
|
1097
|
+
files.push({ path: "tsconfig.json", content: json({
|
|
1098
|
+
compilerOptions: {
|
|
1099
|
+
target: "ES2022",
|
|
1100
|
+
lib: ["dom", "dom.iterable", "esnext"],
|
|
1101
|
+
allowJs: false,
|
|
1102
|
+
skipLibCheck: true,
|
|
1103
|
+
strict: true,
|
|
1104
|
+
noEmit: true,
|
|
1105
|
+
esModuleInterop: true,
|
|
1106
|
+
module: "esnext",
|
|
1107
|
+
moduleResolution: "bundler",
|
|
1108
|
+
resolveJsonModule: true,
|
|
1109
|
+
isolatedModules: true,
|
|
1110
|
+
jsx: "react-jsx",
|
|
1111
|
+
incremental: true,
|
|
1112
|
+
plugins: [{ name: "next" }],
|
|
1113
|
+
paths: { "@/*": ["./*"] }
|
|
1114
|
+
},
|
|
1115
|
+
include: ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
|
|
1116
|
+
exclude: ["node_modules"]
|
|
1117
|
+
}) });
|
|
1118
|
+
files.push({ path: "next.config.ts", content: [
|
|
1119
|
+
"import type { NextConfig } from 'next'",
|
|
1120
|
+
"",
|
|
1121
|
+
"const nextConfig: NextConfig = {",
|
|
1122
|
+
" // The pictures are the project's own, in public/: next/image serves them sized for each screen.",
|
|
1123
|
+
" images: { formats: ['image/avif', 'image/webp'] },",
|
|
1124
|
+
...server ? [
|
|
1125
|
+
" // The pages ask their server at /_pc/\u2026 as a published PopCraft site does; app/api/popcraft answers.",
|
|
1126
|
+
" async rewrites() { return [{ source: '/_pc/:path*', destination: '/api/popcraft/:path*' }] },"
|
|
1127
|
+
] : [],
|
|
1128
|
+
"}",
|
|
1129
|
+
"",
|
|
1130
|
+
"export default nextConfig",
|
|
1131
|
+
""
|
|
1132
|
+
].join("\n") });
|
|
1133
|
+
files.push({ path: "eslint.config.mjs", content: [
|
|
1134
|
+
"import { defineConfig, globalIgnores } from 'eslint/config'",
|
|
1135
|
+
"import nextVitals from 'eslint-config-next/core-web-vitals'",
|
|
1136
|
+
"import nextTs from 'eslint-config-next/typescript'",
|
|
1137
|
+
"",
|
|
1138
|
+
"export default defineConfig([",
|
|
1139
|
+
" ...nextVitals,",
|
|
1140
|
+
" ...nextTs,",
|
|
1141
|
+
` globalIgnores(['.next/**', 'out/**', 'build/**', 'next-env.d.ts'${islands ? ", 'public/pc/**'" : ""}]),`,
|
|
1142
|
+
"])",
|
|
1143
|
+
""
|
|
1144
|
+
].join("\n") });
|
|
1145
|
+
if (tailwind) files.push({ path: "postcss.config.mjs", content: "const config = { plugins: { '@tailwindcss/postcss': {} } }\n\nexport default config\n" });
|
|
1146
|
+
files.push({ path: ".gitignore", content: ["# dependencies", "/node_modules", "", "# next.js", "/.next/", "/out/", "next-env.d.ts", "*.tsbuildinfo", "", "# env files", ".env*", "!.env.example", "", "# misc", ".DS_Store", "*.pem", "npm-debug.log*", ""].join("\n") });
|
|
1147
|
+
files.push({ path: ".env.example", content: [
|
|
1148
|
+
"# The address the site is served from: used for its sitemap, robots.txt and social previews" + (server?.signIn ? ", and the origin" : ""),
|
|
1149
|
+
...server?.signIn ? ["# its sign-in service is told visitors come from."] : [],
|
|
1150
|
+
"NEXT_PUBLIC_SITE_URL=https://example.com",
|
|
1151
|
+
...server ? ["", "# The Postgres database the site keeps its forms and its visitors' records in (a Neon or Supabase project's connection string).", "# Two tables of its own are made on first use. Unset, forms are not kept and nobody can sign in.", "DATABASE_URL=postgresql://user:password@host/db?sslmode=require"] : [],
|
|
1152
|
+
...server?.signIn ? ["", "# Sign-in: neon-auth (the Neon project's Auth URL, Neon console \u2192 Auth) or supabase-auth", "# (https://<project>.supabase.co/auth/v1 and its anon key). Add NEXT_PUBLIC_SITE_URL to its trusted domains.", "SITE_AUTH_KIND=neon-auth", "SITE_AUTH_URL=https://ep-example.neonauth.us-east-2.aws.neon.build/neondb/auth", "SITE_AUTH_KEY=", "SITE_AUTH_ADMIN_KEY="] : [],
|
|
1153
|
+
""
|
|
1154
|
+
].join("\n") });
|
|
1155
|
+
files.push({ path: "README.md", content: readme(site, { tailwind, fonts, routes, code: moduleFile.size > 0, server }) });
|
|
1156
|
+
return files;
|
|
1157
|
+
}
|
|
1158
|
+
function listSource(r, b) {
|
|
1159
|
+
let out = `(site.records[${JSON.stringify(r.collectionId)}] ?? [])`;
|
|
1160
|
+
const keep = r.filter ? b.itemExpression(r.filter) : null;
|
|
1161
|
+
if (keep) out += `.filter(item => truthy(${keep}))`;
|
|
1162
|
+
if (r.sort) out += `.toSorted((a, b) => itemCompare(a, b, ${JSON.stringify(r.sort.key)})${r.sort.dir === "DESC" ? " * -1" : ""})`;
|
|
1163
|
+
if (r.offset || r.limit) out += `.slice(${r.offset ?? 0}${r.limit ? `, ${(r.offset ?? 0) + r.limit}` : ""})`;
|
|
1164
|
+
return out;
|
|
1165
|
+
}
|
|
1166
|
+
function pageFiles(site, page, moduleFile, o) {
|
|
1167
|
+
const imports = /* @__PURE__ */ new Map();
|
|
1168
|
+
const server = o.behaviour.server;
|
|
1169
|
+
const live = o.behaviour.live(page.tree.root.id) || !!server && all(page.tree.root).some((n) => n.repeat && server.collections.some((c) => c.id === n.repeat.collectionId));
|
|
1170
|
+
const effects = live ? o.behaviour.effects(page.tree.root.id) : [];
|
|
1171
|
+
let usesImage = false;
|
|
1172
|
+
let usesIsland = false;
|
|
1173
|
+
const render = (prelude2) => serializeReact({ ...page.tree, root: withAssetBase(page.tree.root, "/"), ...page.machine ? { stateMachine: page.machine } : {} }, {
|
|
1174
|
+
ids: true,
|
|
1175
|
+
name: "Screen",
|
|
1176
|
+
styling: o.tailwind ? "tailwind" : "inline",
|
|
1177
|
+
fontFamily: o.fontFamily,
|
|
1178
|
+
ownFonts: o.ownFonts,
|
|
1179
|
+
...live ? { behaviour: o.behaviour, prelude: prelude2 } : {},
|
|
1180
|
+
// A GPU island: drawn live over its picture by the renderer the project carries (./islands.ts).
|
|
1181
|
+
...o.islands ? { island: (n) => {
|
|
1182
|
+
usesIsland = true;
|
|
1183
|
+
return `<GpuIsland id=${JSON.stringify(n.id)} screen=${JSON.stringify(page.tree.root.id)} />`;
|
|
1184
|
+
} } : {},
|
|
1185
|
+
// A visitor's own lists are drawn from their records, which the site provider holds.
|
|
1186
|
+
...o.behaviour.server ? { lists: (r) => o.behaviour.server.collections.some((c) => c.id === r.collectionId) ? listSource(r, o.behaviour) : null } : {},
|
|
1187
|
+
image: (p) => {
|
|
1188
|
+
usesImage = true;
|
|
1189
|
+
return `<Image src=${JSON.stringify(p.src)} width={${Math.round(p.width)}} height={${Math.round(p.height)}} alt=${JSON.stringify(p.alt)} sizes="(max-width: ${Math.max(1, Math.round(p.width))}px) 100vw, ${Math.max(1, Math.round(p.width))}px" />`;
|
|
1190
|
+
},
|
|
1191
|
+
code: (node) => {
|
|
1192
|
+
const c = node.code;
|
|
1193
|
+
const file = moduleFile.get(c.module);
|
|
1194
|
+
if (!file) return null;
|
|
1195
|
+
const local = c.export && c.export !== "default" ? c.export : file;
|
|
1196
|
+
imports.set(local, c.export && c.export !== "default" ? `import { ${c.export} } from '@/components/code/${file}'` : `import ${file} from '@/components/code/${file}'`);
|
|
1197
|
+
return `<${local} ${Object.entries(c.props).map(([k, v]) => jsxProp(k, v)).join(" ")} />`;
|
|
1198
|
+
}
|
|
1199
|
+
});
|
|
1200
|
+
const effectLines = effects.map((e) => `useEffect(() => { ${e} }, [])`);
|
|
1201
|
+
const draft = `${render([])}
|
|
1202
|
+
${effectLines.join("\n")}`;
|
|
1203
|
+
const uses = (re) => re.test(draft);
|
|
1204
|
+
const store = [uses(/\bv\./) ? "v" : "", uses(/\bset\(/) ? "set" : ""].filter(Boolean);
|
|
1205
|
+
const prelude = live ? [
|
|
1206
|
+
...uses(/\brouter\./) ? ["const router = useRouter()"] : [],
|
|
1207
|
+
...store.length ? [`const { ${store.join(", ")} } = useVariables()`] : [],
|
|
1208
|
+
...uses(/\boverlays\./) ? ["const overlays = useOverlays()"] : [],
|
|
1209
|
+
...uses(/\bsite\.(submit|records|call)\b/) ? ["const site = useSite()"] : [],
|
|
1210
|
+
...effects.map((e) => {
|
|
1211
|
+
const deps = ["router", "set", "overlays"].filter((d) => new RegExp(`\\b${d}\\b`).test(e));
|
|
1212
|
+
return `useEffect(() => { ${e} }, [${deps.join(", ")}])`;
|
|
1213
|
+
})
|
|
1214
|
+
] : [];
|
|
1215
|
+
const body = live ? render(prelude) : draft.trimEnd();
|
|
1216
|
+
if (live) {
|
|
1217
|
+
if (uses(/\brouter\./)) imports.set("useRouter", "import { useRouter } from 'next/navigation'");
|
|
1218
|
+
const helpers = ["call", "exprText", "itemCompare", "itemField", "itemWords", "num", "ops", "truthy"].filter((h) => new RegExp(`\\b${h}[.(]`).test(body));
|
|
1219
|
+
const named = [...helpers, ...uses(/\boverlays\./) ? ["useOverlays"] : [], ...uses(/\bsite\.(submit|records|call)\b/) ? ["useSite"] : [], ...store.length ? ["useVariables"] : []].sort();
|
|
1220
|
+
if (named.length) imports.set("popcraft", `import { ${named.join(", ")} } from '@/lib/popcraft'`);
|
|
1221
|
+
const page2 = ["controlTimeline", "orbitDrag", "scrubTimeline", "switchMode"].filter((h) => new RegExp(`\\b${h}\\(`).test(body));
|
|
1222
|
+
if (page2.length) imports.set("runtime", `import { ${page2.join(", ")} } from '@popcraft/runtime'`);
|
|
1223
|
+
}
|
|
1224
|
+
if (usesImage) imports.set("Image", "import Image from 'next/image'");
|
|
1225
|
+
if (usesIsland) imports.set("GpuIsland", "import { GpuIsland } from '@/components/gpu-island'");
|
|
1226
|
+
const nodes = all(page.tree.root);
|
|
1227
|
+
const client = live || /\buse(Effect|Ref|State)\b/.test(body);
|
|
1228
|
+
const hooks = [/<Fragment\b/.test(body) ? "Fragment" : "", effects.length ? "useEffect" : "", /\buseState\(/.test(body) ? "useState" : ""].filter((h) => h && !new RegExp(`import \\{[^}]*\\b${h}\\b`).test(body));
|
|
1229
|
+
if (hooks.length) imports.set("react", `import { ${hooks.join(", ")} } from 'react'`);
|
|
1230
|
+
const left = [
|
|
1231
|
+
nodes.some((n) => n.island) && !o.islands ? "layers drawn live on the GPU are pictures here" : "",
|
|
1232
|
+
...o.behaviour.missing(page.tree.root.id)
|
|
1233
|
+
].filter(Boolean);
|
|
1234
|
+
const dir = page.notFound ? "app" : pageDir(page.route);
|
|
1235
|
+
const share = pageShareImage(site, page);
|
|
1236
|
+
const metadata = [
|
|
1237
|
+
"import type { Metadata } from 'next'",
|
|
1238
|
+
"",
|
|
1239
|
+
`export const metadata: Metadata = {`,
|
|
1240
|
+
` title: ${JSON.stringify(page.title)},`,
|
|
1241
|
+
...page.description ? [` description: ${JSON.stringify(page.description)},`] : [],
|
|
1242
|
+
...page.route !== "/" && !page.notFound ? [` alternates: { canonical: ${JSON.stringify(page.route)} },`] : [],
|
|
1243
|
+
// Its share image is in `public/` and named from the root: `metadataBase` (app/layout.tsx) makes it absolute.
|
|
1244
|
+
...share ? [
|
|
1245
|
+
` openGraph: { title: ${JSON.stringify(page.title)}${page.description ? `, description: ${JSON.stringify(page.description)}` : ""}, images: [{ url: ${JSON.stringify(`/${share.path}`)}, width: ${share.width}, height: ${share.height} }] },`,
|
|
1246
|
+
` twitter: { card: 'summary_large_image', title: ${JSON.stringify(page.title)}, images: [${JSON.stringify(`/${share.path}`)}] },`
|
|
1247
|
+
] : [],
|
|
1248
|
+
"}"
|
|
1249
|
+
];
|
|
1250
|
+
const screen = [
|
|
1251
|
+
...client ? ["'use client'", ""] : [],
|
|
1252
|
+
...[...imports.values()].sort(),
|
|
1253
|
+
...imports.size ? [""] : [],
|
|
1254
|
+
...left.length ? [`// Exported from PopCraft. Not carried into this page: ${left.join("; ")}. The static export plays them.`, ""] : [],
|
|
1255
|
+
body,
|
|
1256
|
+
""
|
|
1257
|
+
].join("\n");
|
|
1258
|
+
const screenFile = page.notFound ? "not-found-screen.tsx" : "screen.tsx";
|
|
1259
|
+
const pageFile = page.notFound ? "not-found.tsx" : "page.tsx";
|
|
1260
|
+
return [
|
|
1261
|
+
{ path: `${dir}/${screenFile}`, content: screen },
|
|
1262
|
+
{ path: `${dir}/${pageFile}`, content: [
|
|
1263
|
+
...metadata.slice(0, 1),
|
|
1264
|
+
`import { Screen } from './${screenFile.replace(/\.tsx$/, "")}'`,
|
|
1265
|
+
...metadata.slice(1),
|
|
1266
|
+
"",
|
|
1267
|
+
`export default function ${page.notFound ? "NotFound" : "Page"}() {`,
|
|
1268
|
+
" return <Screen />",
|
|
1269
|
+
"}",
|
|
1270
|
+
""
|
|
1271
|
+
].join("\n") }
|
|
1272
|
+
];
|
|
1273
|
+
}
|
|
1274
|
+
function layoutSource(site, fonts, o) {
|
|
1275
|
+
const { variables } = o;
|
|
1276
|
+
const modes = site.tokens?.active ?? [];
|
|
1277
|
+
const loaders = fonts.map((f) => {
|
|
1278
|
+
const name = f.ident.charAt(0).toLowerCase() + f.ident.slice(1).replace(/_/g, "");
|
|
1279
|
+
const weight = f.variableFont ? "" : `, weight: [${f.weights.map((w) => `'${w}'`).join(", ")}]`;
|
|
1280
|
+
return { name, line: `const ${name} = ${f.ident}({ subsets: ['latin'], display: 'swap', variable: '${f.variable}'${weight} })` };
|
|
1281
|
+
});
|
|
1282
|
+
const classes = [...loaders.map((l) => `\${${l.name}.variable}`), ...modes].join(" ");
|
|
1283
|
+
return [
|
|
1284
|
+
"import type { Metadata, Viewport } from 'next'",
|
|
1285
|
+
...fonts.length ? [`import { ${fonts.map((f) => f.ident).sort().join(", ")} } from 'next/font/google'`] : [],
|
|
1286
|
+
"import type { ReactNode } from 'react'",
|
|
1287
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1288
|
+
...o.overlays ? ["import { Overlays } from '@/components/overlays'"] : [],
|
|
1289
|
+
...variables ? [`import { ${o.overlays ? "OverlayProvider, " : ""}${o.server ? "SiteProvider, " : ""}VariablesProvider } from '@/lib/popcraft'`] : [],
|
|
1290
|
+
"import './globals.css'",
|
|
1291
|
+
"",
|
|
1292
|
+
...loaders.length ? ["// The faces the design is set in, served from this site (no request to Google from a visitor's browser).", ...loaders.map((l) => l.line), ""] : [],
|
|
1293
|
+
"export const metadata: Metadata = {",
|
|
1294
|
+
" metadataBase: siteUrl,",
|
|
1295
|
+
` title: { default: ${JSON.stringify(site.name)}, template: ${JSON.stringify(`%s \xB7 ${site.name}`)} },`,
|
|
1296
|
+
` openGraph: { siteName: ${JSON.stringify(site.name)}, type: 'website' },`,
|
|
1297
|
+
"}",
|
|
1298
|
+
"",
|
|
1299
|
+
"export const viewport: Viewport = { width: 'device-width', initialScale: 1 }",
|
|
1300
|
+
"",
|
|
1301
|
+
"export default function RootLayout({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1302
|
+
" return (",
|
|
1303
|
+
` <html lang="en"${classes ? ` className={\`${classes}\`}` : ""}>`,
|
|
1304
|
+
` <body>${variables ? "<VariablesProvider>" : ""}${o.server ? "<SiteProvider>" : ""}${o.overlays ? "<OverlayProvider>{children}<Overlays /></OverlayProvider>" : "{children}"}${o.server ? "</SiteProvider>" : ""}${variables ? "</VariablesProvider>" : ""}</body>`,
|
|
1305
|
+
" </html>",
|
|
1306
|
+
" )",
|
|
1307
|
+
"}",
|
|
1308
|
+
""
|
|
1309
|
+
].join("\n");
|
|
1310
|
+
}
|
|
1311
|
+
function overlaysSource(site, b) {
|
|
1312
|
+
const screens = [...b.overlays].map((id) => site.pages.find((p) => p.id === id)).filter((p) => !!p);
|
|
1313
|
+
const name = (p) => `${componentName(p.title || p.route) || "Overlay"}Overlay`;
|
|
1314
|
+
const align = { CENTER: ["center", "center"], TOP_LEFT: ["flex-start", "flex-start"], TOP_CENTER: ["center", "flex-start"], TOP_RIGHT: ["flex-end", "flex-start"], BOTTOM_LEFT: ["flex-start", "flex-end"], BOTTOM_CENTER: ["center", "flex-end"], BOTTOM_RIGHT: ["flex-end", "flex-end"], MANUAL: ["flex-start", "flex-start"] };
|
|
1315
|
+
return [
|
|
1316
|
+
"'use client'",
|
|
1317
|
+
"",
|
|
1318
|
+
"// The frames the design opens as overlays (OVERLAY / SWAP), drawn over the page while they are open: each is the",
|
|
1319
|
+
"// same screen its own route shows. Open, swap and close them with useOverlays() from lib/popcraft.",
|
|
1320
|
+
"",
|
|
1321
|
+
"import type { ComponentType } from 'react'",
|
|
1322
|
+
"import { useOverlays } from '@/lib/popcraft'",
|
|
1323
|
+
...screens.map((p) => `import { Screen as ${name(p)} } from '@/${pageDir(p.route)}/screen'`),
|
|
1324
|
+
"",
|
|
1325
|
+
"const SCREENS: Record<string, ComponentType> = {",
|
|
1326
|
+
...screens.map((p) => ` ${JSON.stringify(p.id)}: ${name(p)},`),
|
|
1327
|
+
"}",
|
|
1328
|
+
`const ALIGN: Record<string, [string, string]> = ${JSON.stringify(align)}`,
|
|
1329
|
+
"",
|
|
1330
|
+
"export function Overlays() {",
|
|
1331
|
+
" const { list, close } = useOverlays()",
|
|
1332
|
+
" return list.map(({ id, options }, i) => {",
|
|
1333
|
+
" const Screen = SCREENS[id]",
|
|
1334
|
+
" if (!Screen) return null",
|
|
1335
|
+
" const [justifyContent, alignItems] = ALIGN[options.position ?? 'CENTER']",
|
|
1336
|
+
" return (",
|
|
1337
|
+
' <div key={`${id}-${i}`} role="dialog" aria-modal="true" onClick={e => { if (options.closeOnOutside && e.target === e.currentTarget) close() }}',
|
|
1338
|
+
" style={{ position: 'fixed', inset: 0, zIndex: 1000 + i, display: 'flex', justifyContent, alignItems, background: options.dim ?? 'transparent', padding: options.offset ? `${options.offset.y}px 0 0 ${options.offset.x}px` : undefined }}>",
|
|
1339
|
+
" <Screen />",
|
|
1340
|
+
" </div>",
|
|
1341
|
+
" )",
|
|
1342
|
+
" })",
|
|
1343
|
+
"}",
|
|
1344
|
+
""
|
|
1345
|
+
].join("\n");
|
|
1346
|
+
}
|
|
1347
|
+
function stateSource(b) {
|
|
1348
|
+
return [
|
|
1349
|
+
"'use client'",
|
|
1350
|
+
"",
|
|
1351
|
+
"// The design's variables, as state every page shares (the provider is in app/layout.tsx), and the helpers the",
|
|
1352
|
+
"// screens' expressions call. What an expression means (its operators and functions) is @popcraft/runtime's, so a",
|
|
1353
|
+
"// value comes out here as it does in PopCraft.",
|
|
1354
|
+
"",
|
|
1355
|
+
`import { createContext, useCallback, useContext, ${b.server ? "useEffect, " : ""}useMemo, useState, type ReactNode } from 'react'`,
|
|
1356
|
+
...b.server && Object.keys(b.server.access).length ? ["import { usePathname, useRouter } from 'next/navigation'"] : [],
|
|
1357
|
+
`import { ${b.server ? "createSiteClient, dayOf, " : ""}ExprMissing, FUNCTIONS, exprText, num, ops, truthy, type ExprValue${b.server ? ", type AuthAction, type ExprData, type SiteRecord, type SiteUser" : ""} } from '@popcraft/runtime'`,
|
|
1358
|
+
"",
|
|
1359
|
+
"export { exprText, num, ops, truthy }",
|
|
1360
|
+
"",
|
|
1361
|
+
"export interface Variables {",
|
|
1362
|
+
...b.variables.map((v) => ` /** ${v.name} */
|
|
1363
|
+
${v.ident}: ${v.type}`),
|
|
1364
|
+
"}",
|
|
1365
|
+
"",
|
|
1366
|
+
"export const initialVariables: Variables = {",
|
|
1367
|
+
...b.variables.map((v) => ` ${v.ident}: ${v.initial},`),
|
|
1368
|
+
"}",
|
|
1369
|
+
"",
|
|
1370
|
+
"interface Store {",
|
|
1371
|
+
" v: Variables",
|
|
1372
|
+
" set: <K extends keyof Variables>(name: K, value: Variables[K]) => void",
|
|
1373
|
+
"}",
|
|
1374
|
+
"",
|
|
1375
|
+
"const VariablesContext = createContext<Store | null>(null)",
|
|
1376
|
+
"",
|
|
1377
|
+
"export function VariablesProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1378
|
+
" const [v, setV] = useState(initialVariables)",
|
|
1379
|
+
" const set = useCallback(<K extends keyof Variables>(name: K, value: Variables[K]) => setV(prev => ({ ...prev, [name]: value })), [])",
|
|
1380
|
+
" const store = useMemo(() => ({ v, set }), [v, set])",
|
|
1381
|
+
" return <VariablesContext value={store}>{children}</VariablesContext>",
|
|
1382
|
+
"}",
|
|
1383
|
+
"",
|
|
1384
|
+
"/** The variables, and the way to change one. */",
|
|
1385
|
+
"export function useVariables(): Store {",
|
|
1386
|
+
" const store = useContext(VariablesContext)",
|
|
1387
|
+
" if (!store) throw new Error('useVariables is used outside VariablesProvider (app/layout.tsx)')",
|
|
1388
|
+
" return store",
|
|
1389
|
+
"}",
|
|
1390
|
+
"",
|
|
1391
|
+
"/** Where an overlay sits over the page, and how it closes (OVERLAY / SWAP in the design). */",
|
|
1392
|
+
"export interface OverlayOptions { position?: 'CENTER' | 'TOP_LEFT' | 'TOP_CENTER' | 'TOP_RIGHT' | 'BOTTOM_LEFT' | 'BOTTOM_CENTER' | 'BOTTOM_RIGHT' | 'MANUAL'; dim?: string; closeOnOutside?: boolean; offset?: { x: number; y: number } }",
|
|
1393
|
+
"interface OverlayStore { open: OverlayEntry[]; push(id: string, o?: OverlayOptions): void; swap(id: string, o?: OverlayOptions): void; close(): void }",
|
|
1394
|
+
"export interface OverlayEntry { id: string; options: OverlayOptions }",
|
|
1395
|
+
"",
|
|
1396
|
+
"const OverlayContext = createContext<OverlayStore | null>(null)",
|
|
1397
|
+
"",
|
|
1398
|
+
"/** The overlays open over the page, top last. */",
|
|
1399
|
+
"export function OverlayProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1400
|
+
" const [open, setOpen] = useState<OverlayEntry[]>([])",
|
|
1401
|
+
" const store = useMemo<OverlayStore>(() => ({",
|
|
1402
|
+
" open,",
|
|
1403
|
+
" push: (id, options = {}) => setOpen(prev => [...prev, { id, options }]),",
|
|
1404
|
+
" swap: (id, options = {}) => setOpen(prev => [...prev.slice(0, -1), { id, options }]),",
|
|
1405
|
+
" close: () => setOpen(prev => prev.slice(0, -1)),",
|
|
1406
|
+
" }), [open])",
|
|
1407
|
+
" return <OverlayContext value={store}>{children}</OverlayContext>",
|
|
1408
|
+
"}",
|
|
1409
|
+
"",
|
|
1410
|
+
"/** Open, swap and close overlays: `overlays.open(id, { position, dim, closeOnOutside })`. */",
|
|
1411
|
+
"export function useOverlays() {",
|
|
1412
|
+
" const store = useContext(OverlayContext)",
|
|
1413
|
+
" if (!store) throw new Error('useOverlays is used outside OverlayProvider (app/layout.tsx)')",
|
|
1414
|
+
" return { open: store.push, swap: store.swap, close: store.close, list: store.open }",
|
|
1415
|
+
"}",
|
|
1416
|
+
"",
|
|
1417
|
+
...b.server ? siteProviderSource(b.server) : [],
|
|
1418
|
+
"/** One of the expression functions (`count`, `clamp`, `today`\u2026). One that adds up records that are not here gives 0. */",
|
|
1419
|
+
"export function call(fn: string, ...args: ExprValue[]): ExprValue {",
|
|
1420
|
+
" const f = FUNCTIONS[fn]",
|
|
1421
|
+
" if (!f) return 0",
|
|
1422
|
+
" try { return f(args) } catch (e) { if (e instanceof ExprMissing) return 0; throw e }",
|
|
1423
|
+
"}",
|
|
1424
|
+
""
|
|
1425
|
+
].join("\n");
|
|
1426
|
+
}
|
|
1427
|
+
var siteSource = () => [
|
|
1428
|
+
"// Where the site is served from (NEXT_PUBLIC_SITE_URL, see .env.example): its sitemap, robots.txt and the",
|
|
1429
|
+
"// addresses social previews link to are made from it.",
|
|
1430
|
+
"export const siteUrl = new URL(process.env.NEXT_PUBLIC_SITE_URL ?? 'http://localhost:3000')",
|
|
1431
|
+
""
|
|
1432
|
+
].join("\n");
|
|
1433
|
+
var sitemapSource = (routes) => [
|
|
1434
|
+
"import type { MetadataRoute } from 'next'",
|
|
1435
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1436
|
+
"",
|
|
1437
|
+
"export default function sitemap(): MetadataRoute.Sitemap {",
|
|
1438
|
+
` return ${JSON.stringify(routes)}.map(route => ({ url: new URL(route, siteUrl).href, lastModified: new Date() }))`,
|
|
1439
|
+
"}",
|
|
1440
|
+
""
|
|
1441
|
+
].join("\n");
|
|
1442
|
+
var robotsSource = () => [
|
|
1443
|
+
"import type { MetadataRoute } from 'next'",
|
|
1444
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1445
|
+
"",
|
|
1446
|
+
"export default function robots(): MetadataRoute.Robots {",
|
|
1447
|
+
" return { rules: { userAgent: '*', allow: '/' }, sitemap: new URL('/sitemap.xml', siteUrl).href }",
|
|
1448
|
+
"}",
|
|
1449
|
+
""
|
|
1450
|
+
].join("\n");
|
|
1451
|
+
function readme(site, o) {
|
|
1452
|
+
const v = EXPORT_VERSIONS.packages;
|
|
1453
|
+
return `# ${site.name}
|
|
1454
|
+
|
|
1455
|
+
Exported from [PopCraft](https://popcraft.app) as a Next.js ${v.next.split(".")[0]} project (App Router, React ${v.react.split(".")[0]}, TypeScript${o.tailwind ? `, Tailwind CSS ${v.tailwindcss.split(".")[0]}` : ""}).
|
|
1456
|
+
|
|
1457
|
+
## Run it
|
|
1458
|
+
|
|
1459
|
+
You need Node.js ${EXPORT_VERSIONS.node.replace(">=", "")} or newer.
|
|
1460
|
+
|
|
1461
|
+
\`\`\`bash
|
|
1462
|
+
npm install
|
|
1463
|
+
npm run dev
|
|
1464
|
+
\`\`\`
|
|
1465
|
+
|
|
1466
|
+
Then open http://localhost:3000.
|
|
1467
|
+
|
|
1468
|
+
| Command | What it does |
|
|
1469
|
+
| --- | --- |
|
|
1470
|
+
| \`npm run dev\` | Runs the site locally, reloading as you edit |
|
|
1471
|
+
| \`npm run build\` | Builds it for production |
|
|
1472
|
+
| \`npm start\` | Serves the production build |
|
|
1473
|
+
| \`npm run lint\` | Checks the code with ESLint (Next.js's recommended rules) |
|
|
1474
|
+
| \`npm run typecheck\` | Checks the types with TypeScript |
|
|
1475
|
+
|
|
1476
|
+
## What is where
|
|
1477
|
+
|
|
1478
|
+
| Path | What it is |
|
|
1479
|
+
| --- | --- |
|
|
1480
|
+
| \`app/layout.tsx\` | The page around every route: language, fonts, the site's metadata |
|
|
1481
|
+
${o.routes.map((r) => `| \`${pageDir(r)}/page.tsx\` | \`${r}\`: its title and description, and the screen it shows |`).join("\n")}
|
|
1482
|
+
| \`app/**/screen.tsx\` | Each screen as plain TSX: real elements, links and forms. A screen that runs in the browser starts with \`'use client'\` |
|
|
1483
|
+
| \`app/globals.css\` | The design's variables${o.tailwind ? ", Tailwind," : ""} and its breakpoints as media queries |
|
|
1484
|
+
| \`app/sitemap.ts\`, \`app/robots.ts\` | \`/sitemap.xml\` and \`/robots.txt\`, from \`NEXT_PUBLIC_SITE_URL\` |
|
|
1485
|
+
| \`public/\` | The pictures, served through \`next/image\` at the size each screen needs |
|
|
1486
|
+
${o.code ? "| `components/code/` | The file's code components, as their source |\n" : ""}${o.server ? "| `app/api/popcraft/`, `lib/popcraft-server.ts` | The site's own server: forms, sign-in and each visitor's records, answered by `@popcraft/runtime/server` |\n" : ""}${o.server && Object.keys(o.server.access).length ? "| `proxy.ts` | Sends a visitor to the page for them: signed-in pages need an account, sign-in pages are for visitors without one |\n" : ""}
|
|
1487
|
+
${o.fonts.length ? `Fonts (${o.fonts.map((f) => f.family).join(", ")}) load through \`next/font/google\`: they are downloaded at build time and served from the site itself.
|
|
1488
|
+
` : ""}
|
|
1489
|
+
${o.server ? serverReadme(o.server) : ""}## Deploy
|
|
1490
|
+
|
|
1491
|
+
Set \`NEXT_PUBLIC_SITE_URL\` to the site's address (copy \`.env.example\` to \`.env.local\` for local use), then deploy
|
|
1492
|
+
anywhere that runs Next.js: Vercel, a Node server (\`npm run build && npm start\`), or a container.
|
|
1493
|
+
|
|
1494
|
+
## Exporting again
|
|
1495
|
+
|
|
1496
|
+
Exporting from PopCraft again writes these files again. Keep changes you want to survive in files of your own, or
|
|
1497
|
+
treat this project as yours from here on and stop exporting.
|
|
1498
|
+
`;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
// lib/io/web/project/build.ts
|
|
1502
|
+
var runtimeScript = (name) => fetch(`/pc/${name}.js?fresh=${Date.now()}`, { cache: "no-store" }).then((r) => r.ok ? r.text() : null).catch(() => null);
|
|
1503
|
+
async function appAssetFiles(paths, under = "") {
|
|
1504
|
+
const got = await Promise.all(paths.map(async (path) => {
|
|
1505
|
+
const res = await fetch(path).catch(() => null);
|
|
1506
|
+
const file = res?.ok ? { path: `${under}${path.replace(/^\//, "")}`, content: new Uint8Array(await res.arrayBuffer()) } : null;
|
|
1507
|
+
return file;
|
|
1508
|
+
}));
|
|
1509
|
+
return got.filter((f) => f !== null);
|
|
1510
|
+
}
|
|
1511
|
+
async function completeSite(doc, pageId) {
|
|
1512
|
+
const [{ previewSite }, { rendererAssetResolvers }] = await Promise.all([import("./host-UPP3XZY7.js"), import("./resolvers-UTQHZ6ET.js")]);
|
|
1513
|
+
return previewSite(doc, pageId, rendererAssetResolvers(doc));
|
|
1514
|
+
}
|
|
1515
|
+
var NoSiteRuntime = class extends Error {
|
|
1516
|
+
constructor() {
|
|
1517
|
+
super("The site runtime is not built in this copy of the app.");
|
|
1518
|
+
}
|
|
1519
|
+
};
|
|
1520
|
+
async function nextFilesOf(full, doc, opts = {}) {
|
|
1521
|
+
const site = withoutScreenIslands(full);
|
|
1522
|
+
const islandScript = site.islands && Object.keys(site.islands).length ? await runtimeScript("island") : null;
|
|
1523
|
+
return [...nextProjectFiles(site, doc, { ...opts, islandScript }), ...await appAssetFiles(appAssetPaths(site), "public/")];
|
|
1524
|
+
}
|
|
1525
|
+
async function staticFilesOf(site, opts = {}) {
|
|
1526
|
+
const [siteJs, island, code] = await Promise.all([runtimeScript("site"), site.islands ? runtimeScript("island") : null, site.code ? runtimeScript("code") : null]);
|
|
1527
|
+
if (!siteJs) throw new NoSiteRuntime();
|
|
1528
|
+
const { t } = await import("./runtime-BTYC4KVF.js");
|
|
1529
|
+
site = { ...site, strings: { ...site.strings, formNotSent: t("siteForm.notSent") } };
|
|
1530
|
+
return [...staticSiteFiles(site, { site: siteJs, island, code }, opts), ...await appAssetFiles(appAssetPaths(site))];
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
// lib/io/web/project/share.ts
|
|
1534
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
1535
|
+
init_scene_graph();
|
|
1536
|
+
var SHARE_WIDTH = 1200;
|
|
1537
|
+
var SHARE_HEIGHT = 630;
|
|
1538
|
+
var SHARE_MAX_BYTES = 1024 * 1024;
|
|
1539
|
+
var SHARE_DIR = "share/";
|
|
1540
|
+
function shareCrop(w, h) {
|
|
1541
|
+
const ratio = SHARE_WIDTH / SHARE_HEIGHT;
|
|
1542
|
+
if (w / h > ratio) {
|
|
1543
|
+
const cw = h * ratio;
|
|
1544
|
+
return { x: (w - cw) / 2, y: 0, w: cw, h, scale: SHARE_HEIGHT / h };
|
|
1545
|
+
}
|
|
1546
|
+
const ch = w / ratio;
|
|
1547
|
+
return { x: 0, y: 0, w, h: ch, scale: SHARE_WIDTH / w };
|
|
1548
|
+
}
|
|
1549
|
+
function shareFrameOf(doc, site, choice) {
|
|
1550
|
+
if (choice?.kind === "frame" && doc.nodes[choice.frameId]) return choice.frameId;
|
|
1551
|
+
const home = site.pages.find((p) => p.id === site.home) ?? site.pages.find((p) => !p.notFound) ?? site.pages[0];
|
|
1552
|
+
return home ? home.screen ?? home.id : null;
|
|
1553
|
+
}
|
|
1554
|
+
async function drawShareFrame(doc, frameId) {
|
|
1555
|
+
const [{ getActiveRenderer }, { encodeImageData }, { documentForExport }] = await Promise.all([
|
|
1556
|
+
import("./renderer-registry-JWAJEHL4.js"),
|
|
1557
|
+
import("./export-ILWWIDBI.js"),
|
|
1558
|
+
import("./export-fills-MFME3KCW.js")
|
|
1559
|
+
]);
|
|
1560
|
+
const renderer = getActiveRenderer();
|
|
1561
|
+
const frame = doc.nodes[frameId];
|
|
1562
|
+
if (!renderer || !frame) return null;
|
|
1563
|
+
const shown = documentForExport(doc);
|
|
1564
|
+
const box = uprightBounds(getWorldTransform(shown, frameId), frame.width, frame.height);
|
|
1565
|
+
const crop = shareCrop(box.maxX - box.minX, box.maxY - box.minY);
|
|
1566
|
+
const bounds = { minX: box.minX + crop.x, minY: box.minY + crop.y, maxX: box.minX + crop.x + crop.w, maxY: box.minY + crop.y + crop.h };
|
|
1567
|
+
const pixels = await renderer.exportRegion([shown.nodes[frameId] ?? frame], bounds, crop.scale, shown, shown.styles, void 0, true);
|
|
1568
|
+
if (!pixels) return null;
|
|
1569
|
+
const png = await encodeImageData(pixels, "PNG");
|
|
1570
|
+
if (png && png.size <= SHARE_MAX_BYTES) return { bytes: new Uint8Array(await png.arrayBuffer()), ext: "png" };
|
|
1571
|
+
const jpg = await encodeImageData(pixels, "JPG", 0.85);
|
|
1572
|
+
return jpg ? { bytes: new Uint8Array(await jpg.arrayBuffer()), ext: "jpg" } : null;
|
|
1573
|
+
}
|
|
1574
|
+
var IMAGE_EXT = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp", "image/gif": "gif" };
|
|
1575
|
+
async function shareImageFiles(doc, site, under = "") {
|
|
1576
|
+
const files = [];
|
|
1577
|
+
const choice = doc.site?.shareImage;
|
|
1578
|
+
if (choice?.kind === "image") {
|
|
1579
|
+
const { loadMediaBlob } = await import("./media-store-QUBUGXZ2.js");
|
|
1580
|
+
const blob = await loadMediaBlob(choice.src).catch(() => null);
|
|
1581
|
+
const ext = blob && IMAGE_EXT[blob.type];
|
|
1582
|
+
if (blob && ext) {
|
|
1583
|
+
const path = `${SHARE_DIR}og.${ext}`;
|
|
1584
|
+
files.push({ path: under + path, content: new Uint8Array(await blob.arrayBuffer()) });
|
|
1585
|
+
const size = await imageSize(blob);
|
|
1586
|
+
site.share = { image: path, width: size?.width ?? SHARE_WIDTH, height: size?.height ?? SHARE_HEIGHT };
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
if (!site.share) {
|
|
1590
|
+
const frameId = shareFrameOf(doc, site, choice);
|
|
1591
|
+
const drawn = frameId ? await drawShareFrame(doc, frameId) : null;
|
|
1592
|
+
if (drawn) {
|
|
1593
|
+
const path = `${SHARE_DIR}og.${drawn.ext}`;
|
|
1594
|
+
files.push({ path: under + path, content: drawn.bytes });
|
|
1595
|
+
site.share = { image: path, width: SHARE_WIDTH, height: SHARE_HEIGHT };
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
const drawnFor = /* @__PURE__ */ new Map();
|
|
1599
|
+
for (const page of site.pages) {
|
|
1600
|
+
const own = doc.nodes[page.screen ?? page.id]?.route?.shareImage;
|
|
1601
|
+
if (!own || !doc.nodes[own]) continue;
|
|
1602
|
+
if (!drawnFor.has(own)) {
|
|
1603
|
+
const drawn = await drawShareFrame(doc, own);
|
|
1604
|
+
const path2 = drawn ? `${SHARE_DIR}${own.replace(/[^\w-]/g, "_")}.${drawn.ext}` : null;
|
|
1605
|
+
if (drawn && path2) files.push({ path: under + path2, content: drawn.bytes });
|
|
1606
|
+
drawnFor.set(own, path2);
|
|
1607
|
+
}
|
|
1608
|
+
const path = drawnFor.get(own);
|
|
1609
|
+
if (path) page.shareImage = path;
|
|
1610
|
+
}
|
|
1611
|
+
return files;
|
|
1612
|
+
}
|
|
1613
|
+
async function imageSize(blob) {
|
|
1614
|
+
const b = new Uint8Array(await blob.slice(0, 64 * 1024).arrayBuffer());
|
|
1615
|
+
return pictureSize(b);
|
|
1616
|
+
}
|
|
1617
|
+
function pictureSize(b) {
|
|
1618
|
+
const dv = new DataView(b.buffer, b.byteOffset, b.byteLength);
|
|
1619
|
+
if (b.length > 24 && b[0] === 137 && b[1] === 80) return { width: dv.getUint32(16), height: dv.getUint32(20) };
|
|
1620
|
+
if (b[0] === 255 && b[1] === 216) {
|
|
1621
|
+
let i = 2;
|
|
1622
|
+
while (i + 9 < b.length) {
|
|
1623
|
+
if (b[i] !== 255) return null;
|
|
1624
|
+
const marker = b[i + 1];
|
|
1625
|
+
const len = dv.getUint16(i + 2);
|
|
1626
|
+
if (marker >= 192 && marker <= 207 && marker !== 196 && marker !== 200 && marker !== 204) return { height: dv.getUint16(i + 5), width: dv.getUint16(i + 7) };
|
|
1627
|
+
i += 2 + len;
|
|
1628
|
+
}
|
|
1629
|
+
}
|
|
1630
|
+
return null;
|
|
1631
|
+
}
|
|
1632
|
+
export {
|
|
1633
|
+
ASSET_DIR,
|
|
1634
|
+
NoSiteRuntime,
|
|
1635
|
+
SHARE_HEIGHT,
|
|
1636
|
+
SHARE_MAX_BYTES,
|
|
1637
|
+
SHARE_WIDTH,
|
|
1638
|
+
appAssetFiles,
|
|
1639
|
+
appAssetPaths,
|
|
1640
|
+
bytesOf,
|
|
1641
|
+
completeSite,
|
|
1642
|
+
drawShareFrame,
|
|
1643
|
+
externalizeBitmaps,
|
|
1644
|
+
nextFilesOf,
|
|
1645
|
+
nextProjectFiles,
|
|
1646
|
+
routeFile,
|
|
1647
|
+
routeUp,
|
|
1648
|
+
shareCrop,
|
|
1649
|
+
shareImageFiles,
|
|
1650
|
+
staticFilesOf,
|
|
1651
|
+
staticSiteFiles,
|
|
1652
|
+
withAssetBase
|
|
1653
|
+
};
|