@popcraft/kit 0.26.1 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/agent-FXAQKU67.js +44 -0
- package/dist/chunks/api-4L2MWQD6.js +29 -0
- package/dist/chunks/apply-SUBGDFJR.js +46 -0
- package/dist/chunks/audio-decode-ZMRZXQVD.js +54 -0
- package/dist/chunks/audio-import-565M6T3Y.js +126 -0
- package/dist/chunks/audio-plan-VZWXU3LZ.js +46 -0
- package/dist/chunks/board-export-CVKVWAZN.js +180 -0
- package/dist/chunks/browser-2TRJFGKI.js +179 -0
- package/dist/chunks/build-4MSJUNGW.js +55 -0
- package/dist/chunks/builtin-RDXZ3VKJ.js +114 -0
- package/dist/chunks/check-TOUPHHMH.js +56 -0
- package/dist/chunks/check-template-SDNZ7FRK.js +2272 -0
- package/dist/chunks/chunk-22GTRC7O.js +28 -0
- package/dist/chunks/chunk-22OGBPCZ.js +360 -0
- package/dist/chunks/chunk-23VWJAHF.js +36 -0
- package/dist/chunks/chunk-26XYYBAW.js +220 -0
- package/dist/chunks/chunk-2BALGH5K.js +422 -0
- package/dist/chunks/chunk-2BI45Z6G.js +202 -0
- package/dist/chunks/chunk-2BRUCU5U.js +98 -0
- package/dist/chunks/chunk-2BUIEJDY.js +260 -0
- package/dist/chunks/chunk-2C3L5LVY.js +248 -0
- package/dist/chunks/chunk-2DIUPOKV.js +83 -0
- package/dist/chunks/chunk-2DYZWFLX.js +191 -0
- package/dist/chunks/chunk-2EYOEOXD.js +368 -0
- package/dist/chunks/chunk-2FHRHPFL.js +187 -0
- package/dist/chunks/chunk-2GKJJQ73.js +877 -0
- package/dist/chunks/chunk-2GMTUCUJ.js +184 -0
- package/dist/chunks/chunk-2GVF7IGE.js +118 -0
- package/dist/chunks/chunk-2IUO36W6.js +258 -0
- package/dist/chunks/chunk-2K2L4XDB.js +94 -0
- package/dist/chunks/chunk-2K3ISVYQ.js +46 -0
- package/dist/chunks/chunk-2M7AO4LW.js +229 -0
- package/dist/chunks/chunk-2M7TWDRX.js +95 -0
- package/dist/chunks/chunk-2NZRISRD.js +121 -0
- package/dist/chunks/chunk-2OBB7PRF.js +97 -0
- package/dist/chunks/chunk-2OHBHE3L.js +208 -0
- package/dist/chunks/chunk-2OMDWYKY.js +127 -0
- package/dist/chunks/chunk-2OU7FO3L.js +200 -0
- package/dist/chunks/chunk-2SL4ZSV3.js +204 -0
- package/dist/chunks/chunk-2SUC2WRD.js +362 -0
- package/dist/chunks/chunk-2TJQJ45J.js +33 -0
- package/dist/chunks/chunk-2WNVHMJ4.js +109 -0
- package/dist/chunks/chunk-2ZMOGRI6.js +77 -0
- package/dist/chunks/chunk-33D6OUHA.js +23 -0
- package/dist/chunks/chunk-33NSCTJ3.js +110 -0
- package/dist/chunks/chunk-33V7H2KM.js +210 -0
- package/dist/chunks/chunk-3423GLUJ.js +180 -0
- package/dist/chunks/chunk-34OTJ2Z2.js +108 -0
- package/dist/chunks/chunk-35K7AIYU.js +251 -0
- package/dist/chunks/chunk-35Z6GZMD.js +289 -0
- package/dist/chunks/chunk-37QJ5VS5.js +415 -0
- package/dist/chunks/chunk-37SP4EL7.js +200 -0
- package/dist/chunks/chunk-37WN7N3C.js +574 -0
- package/dist/chunks/chunk-3CZMDPY7.js +375 -0
- package/dist/chunks/chunk-3F73XXLO.js +174 -0
- package/dist/chunks/chunk-3GBE6JT6.js +133 -0
- package/dist/chunks/chunk-3GYHAAIM.js +165 -0
- package/dist/chunks/chunk-3GZSEUZJ.js +45 -0
- package/dist/chunks/chunk-3HDTUGYD.js +130 -0
- package/dist/chunks/chunk-3IAIPC3T.js +114 -0
- package/dist/chunks/chunk-3J62XABV.js +386 -0
- package/dist/chunks/chunk-3JKWADSZ.js +175 -0
- package/dist/chunks/chunk-3LE6EFI5.js +1403 -0
- package/dist/chunks/chunk-3O3UZV57.js +45 -0
- package/dist/chunks/chunk-3OS2POT6.js +257 -0
- package/dist/chunks/chunk-3PIDYDPF.js +27 -0
- package/dist/chunks/chunk-3PISNZSW.js +71 -0
- package/dist/chunks/chunk-3PQTPXTD.js +190 -0
- package/dist/chunks/chunk-3Q2A4VDM.js +178 -0
- package/dist/chunks/chunk-3RF2A2BM.js +89 -0
- package/dist/chunks/chunk-3SXCX5CX.js +340 -0
- package/dist/chunks/chunk-3TBNWHDN.js +177 -0
- package/dist/chunks/chunk-3TI6TH32.js +105 -0
- package/dist/chunks/chunk-3ZOOG55K.js +382 -0
- package/dist/chunks/chunk-42SSJNTE.js +209 -0
- package/dist/chunks/chunk-452V27S5.js +293 -0
- package/dist/chunks/chunk-45UIMDI7.js +47 -0
- package/dist/chunks/chunk-45XHFVGI.js +119 -0
- package/dist/chunks/chunk-463ECSVS.js +307 -0
- package/dist/chunks/chunk-46AZXELT.js +83 -0
- package/dist/chunks/chunk-46SBGZ2E.js +118 -0
- package/dist/chunks/chunk-46SD3IIV.js +109 -0
- package/dist/chunks/chunk-4ATC4PZM.js +218 -0
- package/dist/chunks/chunk-4CKOT4UL.js +414 -0
- package/dist/chunks/chunk-4CTCPEYN.js +115 -0
- package/dist/chunks/chunk-4DBLDQBD.js +23 -0
- package/dist/chunks/chunk-4HBUGRVB.js +126 -0
- package/dist/chunks/chunk-4JMMRCIR.js +214 -0
- package/dist/chunks/chunk-4NHKI4IM.js +263 -0
- package/dist/chunks/chunk-4P5TO6PF.js +173 -0
- package/dist/chunks/chunk-4PVKDLHJ.js +135 -0
- package/dist/chunks/chunk-4RMXC4WI.js +182 -0
- package/dist/chunks/chunk-4ROGR3T6.js +23 -0
- package/dist/chunks/chunk-4RXT7A2D.js +146 -0
- package/dist/chunks/chunk-4T5ZUQEA.js +122 -0
- package/dist/chunks/chunk-4TLGHFML.js +161 -0
- package/dist/chunks/chunk-4TXY7XOT.js +70 -0
- package/dist/chunks/chunk-4VGECIAR.js +179 -0
- package/dist/chunks/chunk-4XNA4TPD.js +127 -0
- package/dist/chunks/chunk-4Y5YFPKN.js +106 -0
- package/dist/chunks/chunk-4YCBTNIB.js +36 -0
- package/dist/chunks/chunk-4Z25DTKG.js +23 -0
- package/dist/chunks/chunk-52M2UFIL.js +33 -0
- package/dist/chunks/chunk-534HVQHQ.js +81 -0
- package/dist/chunks/chunk-54AACP3R.js +436 -0
- package/dist/chunks/chunk-54IJHQTM.js +104 -0
- package/dist/chunks/chunk-55IT24BE.js +135 -0
- package/dist/chunks/chunk-55QRKJDP.js +84 -0
- package/dist/chunks/chunk-55XINATM.js +192 -0
- package/dist/chunks/chunk-565NQUD2.js +338 -0
- package/dist/chunks/chunk-56BJ2OFH.js +728 -0
- package/dist/chunks/chunk-5754YXDH.js +333 -0
- package/dist/chunks/chunk-5AHPURP3.js +162 -0
- package/dist/chunks/chunk-5BQDBYWD.js +88 -0
- package/dist/chunks/chunk-5BUA5TYP.js +115 -0
- package/dist/chunks/chunk-5E7OJMTX.js +109 -0
- package/dist/chunks/chunk-5EHNTSDZ.js +339 -0
- package/dist/chunks/chunk-5ENW344P.js +115 -0
- package/dist/chunks/chunk-5EWTIPN3.js +123 -0
- package/dist/chunks/chunk-5F7WELAM.js +70 -0
- package/dist/chunks/chunk-5FNLPUHT.js +277 -0
- package/dist/chunks/chunk-5JYBLZ45.js +111 -0
- package/dist/chunks/chunk-5KJYCXG2.js +136 -0
- package/dist/chunks/chunk-5NR3YEQY.js +36 -0
- package/dist/chunks/chunk-5NWSKT62.js +107 -0
- package/dist/chunks/chunk-5TZW527P.js +33 -0
- package/dist/chunks/chunk-5UHEGNLC.js +152 -0
- package/dist/chunks/chunk-5UNT233A.js +84 -0
- package/dist/chunks/chunk-5W64LX77.js +23 -0
- package/dist/chunks/chunk-5WDTUTKS.js +303 -0
- package/dist/chunks/chunk-62I2BHYZ.js +101 -0
- package/dist/chunks/chunk-62NCRFT4.js +210 -0
- package/dist/chunks/chunk-63A2X4WF.js +23 -0
- package/dist/chunks/chunk-63ZDTCWX.js +135 -0
- package/dist/chunks/chunk-6732B54W.js +75 -0
- package/dist/chunks/chunk-67K3PVMM.js +166 -0
- package/dist/chunks/chunk-6B5HEMFW.js +79 -0
- package/dist/chunks/chunk-6CKUVNJV.js +301 -0
- package/dist/chunks/chunk-6DJKALQ4.js +172 -0
- package/dist/chunks/chunk-6DW47UUS.js +80 -0
- package/dist/chunks/chunk-6DXDRKSA.js +159 -0
- package/dist/chunks/chunk-6DXW3VII.js +33 -0
- package/dist/chunks/chunk-6ETJHHAZ.js +76 -0
- package/dist/chunks/chunk-6HEZUSRF.js +589 -0
- package/dist/chunks/chunk-6HFCPKOY.js +198 -0
- package/dist/chunks/chunk-6HT4ZRXW.js +293 -0
- package/dist/chunks/chunk-6IJBIRX7.js +213 -0
- package/dist/chunks/chunk-6IVZYYDV.js +95 -0
- package/dist/chunks/chunk-6KLF6QCU.js +30 -0
- package/dist/chunks/chunk-6MAAF5EX.js +345 -0
- package/dist/chunks/chunk-6P7GZXBJ.js +290 -0
- package/dist/chunks/chunk-6QHAQLJ4.js +1221 -0
- package/dist/chunks/chunk-6QPNEEBS.js +165 -0
- package/dist/chunks/chunk-6RDEF74A.js +290 -0
- package/dist/chunks/chunk-6S2FGUXV.js +114 -0
- package/dist/chunks/chunk-6S3M25CY.js +23 -0
- package/dist/chunks/chunk-6SRDXA7T.js +91 -0
- package/dist/chunks/chunk-6T7BTWMK.js +215 -0
- package/dist/chunks/chunk-6TU5EOB2.js +199 -0
- package/dist/chunks/chunk-6XW3FM64.js +250 -0
- package/dist/chunks/chunk-72Y6DLVI.js +97 -0
- package/dist/chunks/chunk-72ZEAS6D.js +147 -0
- package/dist/chunks/chunk-76JHVYMO.js +238 -0
- package/dist/chunks/chunk-76KSULKM.js +224 -0
- package/dist/chunks/chunk-772MSCGO.js +50 -0
- package/dist/chunks/chunk-7AB2BIMV.js +23 -0
- package/dist/chunks/chunk-7AQNONVH.js +147 -0
- package/dist/chunks/chunk-7CZELH57.js +105 -0
- package/dist/chunks/chunk-7FKWM6MZ.js +320 -0
- package/dist/chunks/chunk-7FPHDDSY.js +161 -0
- package/dist/chunks/chunk-7IJDMP7O.js +607 -0
- package/dist/chunks/chunk-7JMWKDE4.js +23 -0
- package/dist/chunks/chunk-7KB5VTJM.js +162 -0
- package/dist/chunks/chunk-7MXSR5CC.js +138 -0
- package/dist/chunks/chunk-7OS2VWUA.js +77 -0
- package/dist/chunks/chunk-7S5UVTPT.js +478 -0
- package/dist/chunks/chunk-7USFB6HS.js +62 -0
- package/dist/chunks/chunk-7WFWNN3B.js +349 -0
- package/dist/chunks/chunk-7WW34IBB.js +1417 -0
- package/dist/chunks/chunk-7YOOT7S2.js +55 -0
- package/dist/chunks/chunk-7Z2IZENW.js +237 -0
- package/dist/chunks/chunk-A266OXHI.js +133 -0
- package/dist/chunks/chunk-A3FZPKDN.js +111 -0
- package/dist/chunks/chunk-A4XVASWR.js +33 -0
- package/dist/chunks/chunk-A54EEE5P.js +23 -0
- package/dist/chunks/chunk-A5SSYKGK.js +102 -0
- package/dist/chunks/chunk-A6G3NLOQ.js +86 -0
- package/dist/chunks/chunk-ABGYLQSM.js +94 -0
- package/dist/chunks/chunk-AD3PLAPU.js +130 -0
- package/dist/chunks/chunk-AE2KNNNM.js +86 -0
- package/dist/chunks/chunk-AJKKIGTI.js +169 -0
- package/dist/chunks/chunk-AMQYSVV7.js +45 -0
- package/dist/chunks/chunk-ANX4H3O4.js +174 -0
- package/dist/chunks/chunk-AOBMCBYB.js +92 -0
- package/dist/chunks/chunk-APB5BUR6.js +78 -0
- package/dist/chunks/chunk-ARFLHX76.js +23 -0
- package/dist/chunks/chunk-ARVU5SYW.js +100 -0
- package/dist/chunks/chunk-AS3ZBWWD.js +33 -0
- package/dist/chunks/chunk-ASQLSWJW.js +957 -0
- package/dist/chunks/chunk-AX24VLAZ.js +104 -0
- package/dist/chunks/chunk-AYZLEEHB.js +95 -0
- package/dist/chunks/chunk-AZILNU5S.js +36 -0
- package/dist/chunks/chunk-AZLVGTTN.js +151 -0
- package/dist/chunks/chunk-AZTVKXCV.js +92 -0
- package/dist/chunks/chunk-B2BA2KQV.js +242 -0
- package/dist/chunks/chunk-B2F6XQDS.js +305 -0
- package/dist/chunks/chunk-B4V4FPRS.js +41 -0
- package/dist/chunks/chunk-B725OBTW.js +219 -0
- package/dist/chunks/chunk-BABNQ5TT.js +42 -0
- package/dist/chunks/chunk-BBIYVCQO.js +150 -0
- package/dist/chunks/chunk-BD2BHE7M.js +396 -0
- package/dist/chunks/chunk-BDU2OUVJ.js +2662 -0
- package/dist/chunks/chunk-BEPHEEMH.js +240 -0
- package/dist/chunks/chunk-BGYERCGL.js +224 -0
- package/dist/chunks/chunk-BKG7RZ4F.js +145 -0
- package/dist/chunks/chunk-BKQRHR3F.js +155 -0
- package/dist/chunks/chunk-BMJYYBHY.js +45 -0
- package/dist/chunks/chunk-BRKA7MCS.js +97 -0
- package/dist/chunks/chunk-BS4NQQCX.js +320 -0
- package/dist/chunks/chunk-BSRN7YRL.js +99 -0
- package/dist/chunks/chunk-BSSTHYOA.js +76 -0
- package/dist/chunks/chunk-BVKTIGGZ.js +112 -0
- package/dist/chunks/chunk-BVNEMAK6.js +447 -0
- package/dist/chunks/chunk-BYSBG2NJ.js +77 -0
- package/dist/chunks/chunk-BZAKET67.js +130 -0
- package/dist/chunks/chunk-BZAVHVGT.js +33 -0
- package/dist/chunks/chunk-BZW2VFFP.js +128 -0
- package/dist/chunks/chunk-C3FDXUDC.js +180 -0
- package/dist/chunks/chunk-C3OI7EOK.js +201 -0
- package/dist/chunks/chunk-C6TIZNKI.js +185 -0
- package/dist/chunks/chunk-C6YZMC3O.js +123 -0
- package/dist/chunks/chunk-C76PNDY5.js +23 -0
- package/dist/chunks/chunk-CACIHLA6.js +129 -0
- package/dist/chunks/chunk-CD4ZBM2O.js +108 -0
- package/dist/chunks/chunk-CDTD3QPR.js +104 -0
- package/dist/chunks/chunk-CE4Y24RT.js +134 -0
- package/dist/chunks/chunk-CEGLKKGE.js +313 -0
- package/dist/chunks/chunk-CFOGQB7S.js +112 -0
- package/dist/chunks/chunk-CFY777FO.js +251 -0
- package/dist/chunks/chunk-CHTIM34X.js +49 -0
- package/dist/chunks/chunk-CIK7WH4K.js +544 -0
- package/dist/chunks/chunk-CJCTVXHT.js +173 -0
- package/dist/chunks/chunk-CKE7WEVG.js +446 -0
- package/dist/chunks/chunk-CL3OA3NF.js +39 -0
- package/dist/chunks/chunk-CL3QWMKD.js +23 -0
- package/dist/chunks/chunk-CLZ4C2AP.js +41 -0
- package/dist/chunks/chunk-CNA4ENDY.js +145 -0
- package/dist/chunks/chunk-CR2PH2FG.js +206 -0
- package/dist/chunks/chunk-CSYNHIFK.js +312 -0
- package/dist/chunks/chunk-CUV2OTUF.js +186 -0
- package/dist/chunks/chunk-CVAXC2WF.js +120 -0
- package/dist/chunks/chunk-CWHNQJLR.js +110 -0
- package/dist/chunks/chunk-CWWBLX7J.js +317 -0
- package/dist/chunks/chunk-CZTI5GGL.js +197 -0
- package/dist/chunks/chunk-D2FTGWG6.js +286 -0
- package/dist/chunks/chunk-D4XXJ6NS.js +152 -0
- package/dist/chunks/chunk-D5P33HRU.js +45 -0
- package/dist/chunks/chunk-D7G2S55M.js +197 -0
- package/dist/chunks/chunk-D7G6KBZR.js +261 -0
- package/dist/chunks/chunk-D7IAH4XF.js +299 -0
- package/dist/chunks/chunk-DCUIVFEU.js +178 -0
- package/dist/chunks/chunk-DDEO3GDO.js +262 -0
- package/dist/chunks/chunk-DE4LRCYX.js +304 -0
- package/dist/chunks/chunk-DECP3A2X.js +81 -0
- package/dist/chunks/chunk-DEEIO54R.js +177 -0
- package/dist/chunks/chunk-DEFIDHH4.js +342 -0
- package/dist/chunks/chunk-DEZFUOPJ.js +82 -0
- package/dist/chunks/chunk-DFXTG6WK.js +94 -0
- package/dist/chunks/chunk-DGXYUOUK.js +82 -0
- package/dist/chunks/chunk-DH7N62C5.js +77 -0
- package/dist/chunks/chunk-DI7TLG42.js +45 -0
- package/dist/chunks/chunk-DIEIV56X.js +126 -0
- package/dist/chunks/chunk-DLLC25I4.js +171 -0
- package/dist/chunks/chunk-DLQRSLRX.js +269 -0
- package/dist/chunks/chunk-DNLHYUDE.js +1677 -0
- package/dist/chunks/chunk-DNX4QQPR.js +142 -0
- package/dist/chunks/chunk-DOQNYAO4.js +33 -0
- package/dist/chunks/chunk-DOSL3YCH.js +1136 -0
- package/dist/chunks/chunk-DP532NTI.js +358 -0
- package/dist/chunks/chunk-DPP3C3RR.js +292 -0
- package/dist/chunks/chunk-DR3V37PE.js +106 -0
- package/dist/chunks/chunk-DRF3WODB.js +133 -0
- package/dist/chunks/chunk-DSCIRAXT.js +130 -0
- package/dist/chunks/chunk-DU2HVXBT.js +156 -0
- package/dist/chunks/chunk-DUYXVO4K.js +179 -0
- package/dist/chunks/chunk-DWBUNPHN.js +164 -0
- package/dist/chunks/chunk-DWWRZELM.js +326 -0
- package/dist/chunks/chunk-DX3RJFX2.js +136 -0
- package/dist/chunks/chunk-E247N4MX.js +140 -0
- package/dist/chunks/chunk-E2WIBUND.js +81 -0
- package/dist/chunks/chunk-E3TBWICU.js +291 -0
- package/dist/chunks/chunk-E5DYSCXH.js +188 -0
- package/dist/chunks/chunk-E5LH5ORQ.js +91 -0
- package/dist/chunks/chunk-E5UJUXLU.js +425 -0
- package/dist/chunks/chunk-E7E7YEHN.js +84 -0
- package/dist/chunks/chunk-EDJ2MPSL.js +43 -0
- package/dist/chunks/chunk-EDSI4GCZ.js +80 -0
- package/dist/chunks/chunk-ELTV7HFK.js +159 -0
- package/dist/chunks/chunk-EMAFPS3U.js +80 -0
- package/dist/chunks/chunk-EMXFUF2G.js +48 -0
- package/dist/chunks/chunk-ENLJMQMY.js +55 -0
- package/dist/chunks/chunk-EO7PGXRU.js +59 -0
- package/dist/chunks/chunk-EOUWAOLN.js +147 -0
- package/dist/chunks/chunk-EQIQJRMS.js +23 -0
- package/dist/chunks/chunk-EQX6LUDW.js +90 -0
- package/dist/chunks/chunk-ESKHTEXT.js +298 -0
- package/dist/chunks/chunk-ETU3QMKY.js +119 -0
- package/dist/chunks/chunk-EUZP5W26.js +102 -0
- package/dist/chunks/chunk-EV4V3HMG.js +85 -0
- package/dist/chunks/chunk-EW2AGBZ7.js +362 -0
- package/dist/chunks/chunk-EWQJJWQQ.js +192 -0
- package/dist/chunks/chunk-EXHO4BV7.js +33 -0
- package/dist/chunks/chunk-EXLY42BO.js +72 -0
- package/dist/chunks/chunk-EYL7EVLT.js +83 -0
- package/dist/chunks/chunk-EZ5EHRXJ.js +30 -0
- package/dist/chunks/chunk-F24AI4XL.js +287 -0
- package/dist/chunks/chunk-F2LJK2RM.js +44 -0
- package/dist/chunks/chunk-F2NVREWI.js +110 -0
- package/dist/chunks/chunk-F3FZ7EHL.js +97 -0
- package/dist/chunks/chunk-F3WJO75K.js +119 -0
- package/dist/chunks/chunk-F4BKE6H4.js +94 -0
- package/dist/chunks/chunk-F4IEPTNU.js +106 -0
- package/dist/chunks/chunk-F6BZTRE2.js +96 -0
- package/dist/chunks/chunk-F74GKSQY.js +193 -0
- package/dist/chunks/chunk-F7KEBXGY.js +100 -0
- package/dist/chunks/chunk-FAJ7IUEN.js +131 -0
- package/dist/chunks/chunk-FALZFQIZ.js +146 -0
- package/dist/chunks/chunk-FCYWS6B6.js +221 -0
- package/dist/chunks/chunk-FDQ6655B.js +1469 -0
- package/dist/chunks/chunk-FEJYW55H.js +278 -0
- package/dist/chunks/chunk-FEXYF3BM.js +324 -0
- package/dist/chunks/chunk-FG5HN5G5.js +345 -0
- package/dist/chunks/chunk-FHP3JU2P.js +11742 -0
- package/dist/chunks/chunk-FHQTMDZW.js +33 -0
- package/dist/chunks/chunk-FIH5MBST.js +224 -0
- package/dist/chunks/chunk-FJDBEF4E.js +23 -0
- package/dist/chunks/chunk-FKTABUBT.js +180 -0
- package/dist/chunks/chunk-FLBQAGKK.js +30 -0
- package/dist/chunks/chunk-FLC2AW3S.js +363 -0
- package/dist/chunks/chunk-FM3TMFDW.js +232 -0
- package/dist/chunks/chunk-FM7KGCIY.js +342 -0
- package/dist/chunks/chunk-FNHTZXG2.js +165 -0
- package/dist/chunks/chunk-FPTSX43B.js +260 -0
- package/dist/chunks/chunk-FQMYMSEF.js +336 -0
- package/dist/chunks/chunk-FRF2AI5G.js +101 -0
- package/dist/chunks/chunk-FSRJRWUX.js +213 -0
- package/dist/chunks/chunk-FSVWBDEL.js +468 -0
- package/dist/chunks/chunk-FTYHYYLQ.js +128 -0
- package/dist/chunks/chunk-FU7HUS2Q.js +172 -0
- package/dist/chunks/chunk-FVFQRJMM.js +277 -0
- package/dist/chunks/chunk-FVNIEOE5.js +102 -0
- package/dist/chunks/chunk-FX2D3SJ7.js +41 -0
- package/dist/chunks/chunk-FXTHRGF7.js +78 -0
- package/dist/chunks/chunk-G2LKUTT4.js +163 -0
- package/dist/chunks/chunk-G3O3LAEV.js +52 -0
- package/dist/chunks/chunk-G46F3ZQ3.js +346 -0
- package/dist/chunks/chunk-G4ECXDD5.js +282 -0
- package/dist/chunks/chunk-G5QXGUIL.js +115 -0
- package/dist/chunks/chunk-G7GTWBG7.js +252 -0
- package/dist/chunks/chunk-G7SNGSTO.js +139 -0
- package/dist/chunks/chunk-GBDSMYJY.js +23 -0
- package/dist/chunks/chunk-GBPFCKQ5.js +73 -0
- package/dist/chunks/chunk-GC6YOCLA.js +108 -0
- package/dist/chunks/chunk-GDRAU2V3.js +267 -0
- package/dist/chunks/chunk-GDUMY3VG.js +689 -0
- package/dist/chunks/chunk-GFKWCH3X.js +336 -0
- package/dist/chunks/chunk-GG5GJCJW.js +249 -0
- package/dist/chunks/chunk-GHHBB3HM.js +255 -0
- package/dist/chunks/chunk-GIVDB53J.js +33 -0
- package/dist/chunks/chunk-GJ7UE2VM.js +195 -0
- package/dist/chunks/chunk-GK5G53LH.js +97 -0
- package/dist/chunks/chunk-GLVMSG3Z.js +170 -0
- package/dist/chunks/chunk-GON4YIDO.js +147 -0
- package/dist/chunks/chunk-GQT7GENG.js +172 -0
- package/dist/chunks/chunk-GSTT4ZJV.js +99 -0
- package/dist/chunks/chunk-GTCLGM63.js +185 -0
- package/dist/chunks/chunk-GTGQTVBS.js +106 -0
- package/dist/chunks/chunk-GTM6WYJ5.js +98 -0
- package/dist/chunks/chunk-GTO4KWGT.js +156 -0
- package/dist/chunks/chunk-GX2XKKQW.js +390 -0
- package/dist/chunks/chunk-GXI2S4NX.js +335 -0
- package/dist/chunks/chunk-GYCS3VW4.js +399 -0
- package/dist/chunks/chunk-H4FWDRWB.js +23 -0
- package/dist/chunks/chunk-H4YKWLAI.js +45 -0
- package/dist/chunks/chunk-H4YNMTKK.js +40 -0
- package/dist/chunks/chunk-H5CB7PJR.js +33 -0
- package/dist/chunks/chunk-H5PWJYXS.js +272 -0
- package/dist/chunks/chunk-H5SCN5T6.js +117 -0
- package/dist/chunks/chunk-H6JMWTCJ.js +366 -0
- package/dist/chunks/chunk-H6WKO5QW.js +454 -0
- package/dist/chunks/chunk-H6YCYLYZ.js +110 -0
- package/dist/chunks/chunk-H727MKVS.js +33 -0
- package/dist/chunks/chunk-HBFKLUFA.js +135 -0
- package/dist/chunks/chunk-HBP3C6IQ.js +139 -0
- package/dist/chunks/chunk-HBVCWZJK.js +315 -0
- package/dist/chunks/chunk-HCTGJVYO.js +23 -0
- package/dist/chunks/chunk-HDJIX7KX.js +156 -0
- package/dist/chunks/chunk-HE3OVZGS.js +33 -0
- package/dist/chunks/chunk-HEKGYJTP.js +290 -0
- package/dist/chunks/chunk-HERRWIM6.js +52 -0
- package/dist/chunks/chunk-HFOPRXS2.js +235 -0
- package/dist/chunks/chunk-HGLB3YDV.js +50 -0
- package/dist/chunks/chunk-HHACNMOR.js +125 -0
- package/dist/chunks/chunk-HHQYOV6U.js +165 -0
- package/dist/chunks/chunk-HI6OGR7I.js +120 -0
- package/dist/chunks/chunk-HJHD43UA.js +123 -0
- package/dist/chunks/chunk-HKBTA5MM.js +89 -0
- package/dist/chunks/chunk-HMX7PNXM.js +242 -0
- package/dist/chunks/chunk-HNI6H3SO.js +179 -0
- package/dist/chunks/chunk-HNTIXOVT.js +104 -0
- package/dist/chunks/chunk-HRKAIVXW.js +153 -0
- package/dist/chunks/chunk-HRSTM5QE.js +82 -0
- package/dist/chunks/chunk-HSEZJEX2.js +55 -0
- package/dist/chunks/chunk-HUFJWJF3.js +140 -0
- package/dist/chunks/chunk-HUKONNGD.js +95 -0
- package/dist/chunks/chunk-HUPSBVNF.js +30 -0
- package/dist/chunks/chunk-HXDMGTRU.js +155 -0
- package/dist/chunks/chunk-HZA67W6J.js +685 -0
- package/dist/chunks/chunk-I3CK3A7O.js +225 -0
- package/dist/chunks/chunk-I3H35HAN.js +176 -0
- package/dist/chunks/chunk-I3IJQS6X.js +214 -0
- package/dist/chunks/chunk-I43XELLO.js +405 -0
- package/dist/chunks/chunk-I5QX5MLP.js +81 -0
- package/dist/chunks/chunk-I77LKR4D.js +33 -0
- package/dist/chunks/chunk-I7LZ6Z3I.js +123 -0
- package/dist/chunks/chunk-IAZ6ZZHG.js +149 -0
- package/dist/chunks/chunk-IC46SRYM.js +33 -0
- package/dist/chunks/chunk-ICDLRUOK.js +224 -0
- package/dist/chunks/chunk-IE2R747Y.js +304 -0
- package/dist/chunks/chunk-IEHHAKQQ.js +132 -0
- package/dist/chunks/chunk-IEO3PJKS.js +106 -0
- package/dist/chunks/chunk-IEU3YXYL.js +228 -0
- package/dist/chunks/chunk-IEVDSTOY.js +564 -0
- package/dist/chunks/chunk-IF7RJRCJ.js +166 -0
- package/dist/chunks/chunk-IIPHMA7G.js +263 -0
- package/dist/chunks/chunk-IIVWQKSU.js +160 -0
- package/dist/chunks/chunk-IMUKVHPX.js +60 -0
- package/dist/chunks/chunk-IN4YAXQR.js +23 -0
- package/dist/chunks/chunk-INKJRB7A.js +77 -0
- package/dist/chunks/chunk-IORRSM6U.js +221 -0
- package/dist/chunks/chunk-IOVXB42Y.js +122 -0
- package/dist/chunks/chunk-IPUXZ4MD.js +226 -0
- package/dist/chunks/chunk-IQ2RIDIQ.js +55 -0
- package/dist/chunks/chunk-ISC7EBTM.js +84 -0
- package/dist/chunks/chunk-ITDNDQB6.js +150 -0
- package/dist/chunks/chunk-IUBQTPZK.js +86 -0
- package/dist/chunks/chunk-IVIASNK7.js +172 -0
- package/dist/chunks/chunk-IVNS7OYN.js +23 -0
- package/dist/chunks/chunk-IW2NETIQ.js +155 -0
- package/dist/chunks/chunk-IWVUOPR7.js +172 -0
- package/dist/chunks/chunk-J2DAGUJZ.js +82 -0
- package/dist/chunks/chunk-J4RN4ZYM.js +33 -0
- package/dist/chunks/chunk-J7AZM6H3.js +181 -0
- package/dist/chunks/chunk-JA7TRIN5.js +97 -0
- package/dist/chunks/chunk-JADFKYOD.js +129 -0
- package/dist/chunks/chunk-JD3X6LV4.js +23 -0
- package/dist/chunks/chunk-JD3YSMGH.js +90 -0
- package/dist/chunks/chunk-JDI6T3QN.js +197 -0
- package/dist/chunks/chunk-JF5USU5E.js +330 -0
- package/dist/chunks/chunk-JFZ6TYLB.js +422 -0
- package/dist/chunks/chunk-JHPYRB2W.js +158 -0
- package/dist/chunks/chunk-JIYKSSTX.js +344 -0
- package/dist/chunks/chunk-JJGGRAQI.js +651 -0
- package/dist/chunks/chunk-JL7F7MGF.js +366 -0
- package/dist/chunks/chunk-JLAOG3LE.js +209 -0
- package/dist/chunks/chunk-JMGTVSNK.js +525 -0
- package/dist/chunks/chunk-JMR7IEM7.js +202 -0
- package/dist/chunks/chunk-JNQ35ROB.js +93 -0
- package/dist/chunks/chunk-JP2WVBBI.js +118 -0
- package/dist/chunks/chunk-JQRICLMZ.js +239 -0
- package/dist/chunks/chunk-JRJ6QMTK.js +93 -0
- package/dist/chunks/chunk-JRWHRC62.js +78 -0
- package/dist/chunks/chunk-JSSKZ3G2.js +411 -0
- package/dist/chunks/chunk-JSUHQBUX.js +163 -0
- package/dist/chunks/chunk-JT7IIMKX.js +183 -0
- package/dist/chunks/chunk-JTDGUWL7.js +134 -0
- package/dist/chunks/chunk-JU3P5EMV.js +142 -0
- package/dist/chunks/chunk-JU3RQO2E.js +209 -0
- package/dist/chunks/chunk-JU52JYOO.js +78 -0
- package/dist/chunks/chunk-JUHRBSJL.js +176 -0
- package/dist/chunks/chunk-JV5GEMWH.js +329 -0
- package/dist/chunks/chunk-JV7BHTHG.js +150 -0
- package/dist/chunks/chunk-JVGIEI37.js +90 -0
- package/dist/chunks/chunk-JX3POSFD.js +283 -0
- package/dist/chunks/chunk-JYHZEIKU.js +23 -0
- package/dist/chunks/chunk-JYMWMLBW.js +147 -0
- package/dist/chunks/chunk-JZS7PJZ6.js +86 -0
- package/dist/chunks/chunk-K2HUEWY5.js +152 -0
- package/dist/chunks/chunk-K2TXXWJG.js +153 -0
- package/dist/chunks/chunk-K2XSE7PL.js +105 -0
- package/dist/chunks/chunk-K4LGWP7D.js +304 -0
- package/dist/chunks/chunk-K5TJUDZF.js +23 -0
- package/dist/chunks/chunk-K7LZ3NCN.js +130 -0
- package/dist/chunks/chunk-KCECJPVX.js +149 -0
- package/dist/chunks/chunk-KCGQF6RC.js +50 -0
- package/dist/chunks/chunk-KCVX77FZ.js +104 -0
- package/dist/chunks/chunk-KD3DG7OQ.js +144 -0
- package/dist/chunks/chunk-KFHZUY3Y.js +336 -0
- package/dist/chunks/chunk-KGITCDXP.js +65 -0
- package/dist/chunks/chunk-KGWGYVY4.js +103 -0
- package/dist/chunks/chunk-KIRGOCTH.js +93 -0
- package/dist/chunks/chunk-KISDATKJ.js +163 -0
- package/dist/chunks/chunk-KJCQNSJQ.js +33 -0
- package/dist/chunks/chunk-KKJRZKRP.js +87 -0
- package/dist/chunks/chunk-KKTKRH7A.js +740 -0
- package/dist/chunks/chunk-KLWQOR2L.js +303 -0
- package/dist/chunks/chunk-KM6BSJGJ.js +139 -0
- package/dist/chunks/chunk-KPCSMJ26.js +209 -0
- package/dist/chunks/chunk-KPTABNJZ.js +128 -0
- package/dist/chunks/chunk-KPXVFVVR.js +168 -0
- package/dist/chunks/chunk-KQT2UCKL.js +49 -0
- package/dist/chunks/chunk-KRHC4YYL.js +95 -0
- package/dist/chunks/chunk-KSDVJCSI.js +120 -0
- package/dist/chunks/chunk-KSP7OPPU.js +97 -0
- package/dist/chunks/chunk-KUO2LZLS.js +141 -0
- package/dist/chunks/chunk-KW2ZDLLT.js +198 -0
- package/dist/chunks/chunk-KW5ALU56.js +217 -0
- package/dist/chunks/chunk-KWGZ2B3G.js +110 -0
- package/dist/chunks/chunk-KXBJKFQW.js +192 -0
- package/dist/chunks/chunk-KXEZ6XU4.js +270 -0
- package/dist/chunks/chunk-KYD64ACB.js +165 -0
- package/dist/chunks/chunk-L254V7PK.js +215 -0
- package/dist/chunks/chunk-L3KPZJRO.js +33 -0
- package/dist/chunks/chunk-L4R45CY6.js +113 -0
- package/dist/chunks/chunk-L4VNBPA2.js +37 -0
- package/dist/chunks/chunk-L5NBJX5G.js +36 -0
- package/dist/chunks/chunk-L6636QML.js +33 -0
- package/dist/chunks/chunk-L6NMZDUT.js +120 -0
- package/dist/chunks/chunk-LAHAEDVW.js +331 -0
- package/dist/chunks/chunk-LAHSBNS4.js +97 -0
- package/dist/chunks/chunk-LDJV74T6.js +103 -0
- package/dist/chunks/chunk-LDUVMQY7.js +56 -0
- package/dist/chunks/chunk-LEJD2XV2.js +45 -0
- package/dist/chunks/chunk-LFVW2A7W.js +217 -0
- package/dist/chunks/chunk-LHFP2R63.js +87 -0
- package/dist/chunks/chunk-LHQZV6BD.js +282 -0
- package/dist/chunks/chunk-LIRHNG4B.js +626 -0
- package/dist/chunks/chunk-LIWVQKFF.js +181 -0
- package/dist/chunks/chunk-LJP56PXB.js +84 -0
- package/dist/chunks/chunk-LKLUJYEY.js +137 -0
- package/dist/chunks/chunk-LKQYGONY.js +23 -0
- package/dist/chunks/chunk-LL54J6WR.js +443 -0
- package/dist/chunks/chunk-LLIF6562.js +163 -0
- package/dist/chunks/chunk-LNBYZM4Q.js +102 -0
- package/dist/chunks/chunk-LNTOLNPZ.js +226 -0
- package/dist/chunks/chunk-LQED652V.js +33 -0
- package/dist/chunks/chunk-LQO3XEPZ.js +887 -0
- package/dist/chunks/chunk-LRQNULTZ.js +138 -0
- package/dist/chunks/chunk-LTRFSREO.js +161 -0
- package/dist/chunks/chunk-LVOFB6WX.js +23 -0
- package/dist/chunks/chunk-LVPVIGUM.js +407 -0
- package/dist/chunks/chunk-LWGHTMB2.js +149 -0
- package/dist/chunks/chunk-M3IOQYHL.js +146 -0
- package/dist/chunks/chunk-M3YJZRJP.js +167 -0
- package/dist/chunks/chunk-M4RTFMPV.js +104 -0
- package/dist/chunks/chunk-M5LCGN3P.js +147 -0
- package/dist/chunks/chunk-M5XCZEGW.js +273 -0
- package/dist/chunks/chunk-M6LUAHCH.js +122 -0
- package/dist/chunks/chunk-MAMMRWVE.js +23 -0
- package/dist/chunks/chunk-MBP2HYT3.js +358 -0
- package/dist/chunks/chunk-MCC4SXYB.js +45 -0
- package/dist/chunks/chunk-MDU2XGW5.js +930 -0
- package/dist/chunks/chunk-MEOAVLYQ.js +152 -0
- package/dist/chunks/chunk-MFKQVC7Y.js +183 -0
- package/dist/chunks/chunk-MFN6I2SS.js +45 -0
- package/dist/chunks/chunk-MGZKOT5T.js +105 -0
- package/dist/chunks/chunk-MH2RBMHQ.js +23 -0
- package/dist/chunks/chunk-MH7A4LKQ.js +1309 -0
- package/dist/chunks/chunk-MHA7I2IT.js +400 -0
- package/dist/chunks/chunk-MHMHBKDD.js +23 -0
- package/dist/chunks/chunk-MNXDQ5JD.js +167 -0
- package/dist/chunks/chunk-MOREWWL5.js +33 -0
- package/dist/chunks/chunk-MP7ASX2Q.js +103 -0
- package/dist/chunks/chunk-MPFSNDXP.js +225 -0
- package/dist/chunks/chunk-MQ5CLP6Y.js +100 -0
- package/dist/chunks/chunk-MQA5NVCI.js +146 -0
- package/dist/chunks/chunk-MSN26MAC.js +36 -0
- package/dist/chunks/chunk-MTAXOUTV.js +151 -0
- package/dist/chunks/chunk-MTG6STOB.js +99 -0
- package/dist/chunks/chunk-MU2EHNIH.js +178 -0
- package/dist/chunks/chunk-MUXBO7R5.js +131 -0
- package/dist/chunks/chunk-MV64ENH6.js +45 -0
- package/dist/chunks/chunk-MW6AUMIJ.js +87 -0
- package/dist/chunks/chunk-MY2GUA3Z.js +194 -0
- package/dist/chunks/chunk-N2UZF6MV.js +23 -0
- package/dist/chunks/chunk-N32DET4Y.js +141 -0
- package/dist/chunks/chunk-N3CQYI3B.js +304 -0
- package/dist/chunks/chunk-N45J7SVZ.js +41 -0
- package/dist/chunks/chunk-N5JKJXJX.js +260 -0
- package/dist/chunks/chunk-NA7TBGMD.js +108 -0
- package/dist/chunks/chunk-NAQTUC2A.js +140 -0
- package/dist/chunks/chunk-NAUEKVAH.js +108 -0
- package/dist/chunks/chunk-NBG5MRCW.js +738 -0
- package/dist/chunks/chunk-NBTUSMXF.js +270 -0
- package/dist/chunks/chunk-NF5JBQJW.js +234 -0
- package/dist/chunks/chunk-NI2BJVG6.js +118 -0
- package/dist/chunks/chunk-NINUBA7T.js +201 -0
- package/dist/chunks/chunk-NITUBY6C.js +462 -0
- package/dist/chunks/chunk-NLHX7SAK.js +105 -0
- package/dist/chunks/chunk-NML6QG3V.js +123 -0
- package/dist/chunks/chunk-NNNWNAKR.js +173 -0
- package/dist/chunks/chunk-NQYAOOEL.js +157 -0
- package/dist/chunks/chunk-NTLJYZ64.js +77 -0
- package/dist/chunks/chunk-NUCIOZDY.js +113 -0
- package/dist/chunks/chunk-NURSPTT3.js +250 -0
- package/dist/chunks/chunk-NUXUM3QO.js +283 -0
- package/dist/chunks/chunk-NY6NJWZH.js +79 -0
- package/dist/chunks/chunk-NYBLIBKK.js +149 -0
- package/dist/chunks/chunk-O33POMOM.js +45 -0
- package/dist/chunks/chunk-O3D4O5KZ.js +122 -0
- package/dist/chunks/chunk-O3I46LK2.js +168 -0
- package/dist/chunks/chunk-O3YWP3C4.js +174 -0
- package/dist/chunks/chunk-O7APDMKU.js +162 -0
- package/dist/chunks/chunk-OAFO76BH.js +199 -0
- package/dist/chunks/chunk-OBMUU4LV.js +237 -0
- package/dist/chunks/chunk-OBSGEBEQ.js +93 -0
- package/dist/chunks/chunk-OCPB42WX.js +84 -0
- package/dist/chunks/chunk-ODS7J5ZT.js +146 -0
- package/dist/chunks/chunk-ODT4QS6Z.js +327 -0
- package/dist/chunks/chunk-OFAGEISK.js +157 -0
- package/dist/chunks/chunk-OFNGUJJY.js +112 -0
- package/dist/chunks/chunk-OGH5F4RT.js +80 -0
- package/dist/chunks/chunk-OGTA7MSU.js +80 -0
- package/dist/chunks/chunk-OGWEIRJE.js +96 -0
- package/dist/chunks/chunk-OHWEXH56.js +80 -0
- package/dist/chunks/chunk-OKSYESUC.js +190 -0
- package/dist/chunks/chunk-OLSOJ5GT.js +36 -0
- package/dist/chunks/chunk-OMSXEPRG.js +94 -0
- package/dist/chunks/chunk-ONTEUDRJ.js +231 -0
- package/dist/chunks/chunk-OOGYRLMA.js +177 -0
- package/dist/chunks/chunk-OOXGET6Y.js +191 -0
- package/dist/chunks/chunk-OQSAQTZ4.js +170 -0
- package/dist/chunks/chunk-OSPZV4ZI.js +44 -0
- package/dist/chunks/chunk-OT6OZQMJ.js +145 -0
- package/dist/chunks/chunk-OTAJ2WFF.js +117 -0
- package/dist/chunks/chunk-OTHMSE5E.js +164 -0
- package/dist/chunks/chunk-OUEUIBYB.js +265 -0
- package/dist/chunks/chunk-OVFOE4K4.js +169 -0
- package/dist/chunks/chunk-OVL6WOFA.js +206 -0
- package/dist/chunks/chunk-OVRZZL4T.js +231 -0
- package/dist/chunks/chunk-OWIO3C5E.js +94 -0
- package/dist/chunks/chunk-P3KIWKZJ.js +898 -0
- package/dist/chunks/chunk-P5QEUQ2R.js +158 -0
- package/dist/chunks/chunk-P5YFWNFD.js +207 -0
- package/dist/chunks/chunk-P6A4DMFP.js +109 -0
- package/dist/chunks/chunk-P6IQL6TU.js +152 -0
- package/dist/chunks/chunk-P7IKFM3I.js +91 -0
- package/dist/chunks/chunk-P7NRYPQN.js +391 -0
- package/dist/chunks/chunk-P7YVY4OM.js +100 -0
- package/dist/chunks/chunk-PAAI5GK5.js +160 -0
- package/dist/chunks/chunk-PBPVNQ6C.js +311 -0
- package/dist/chunks/chunk-PDRP3MFT.js +1393 -0
- package/dist/chunks/chunk-PEDXBG6V.js +103 -0
- package/dist/chunks/chunk-PGEWL5VQ.js +183 -0
- package/dist/chunks/chunk-PHLSGDZO.js +412 -0
- package/dist/chunks/chunk-PHMIM7KL.js +23 -0
- package/dist/chunks/chunk-PI6LBMNQ.js +215 -0
- package/dist/chunks/chunk-PJ42H4M7.js +166 -0
- package/dist/chunks/chunk-PL2JHOAX.js +154 -0
- package/dist/chunks/chunk-PLMFRRPV.js +74 -0
- package/dist/chunks/chunk-POFOI7NO.js +23 -0
- package/dist/chunks/chunk-PPNY57IP.js +169 -0
- package/dist/chunks/chunk-PPOZXGES.js +110 -0
- package/dist/chunks/chunk-PS5RV42A.js +100 -0
- package/dist/chunks/chunk-PV5XGV4R.js +1132 -0
- package/dist/chunks/chunk-PXIJTYFP.js +23 -0
- package/dist/chunks/chunk-PXU5BZ5Q.js +163 -0
- package/dist/chunks/chunk-PXXNO37G.js +278 -0
- package/dist/chunks/chunk-PZXBOQZN.js +124 -0
- package/dist/chunks/chunk-Q2KKD6ZJ.js +81 -0
- package/dist/chunks/chunk-Q4CXHJGI.js +378 -0
- package/dist/chunks/chunk-Q4XGUTJ6.js +95 -0
- package/dist/chunks/chunk-Q53R7LSS.js +165 -0
- package/dist/chunks/chunk-Q7Z7SSGS.js +118 -0
- package/dist/chunks/chunk-QB6YRK3L.js +163 -0
- package/dist/chunks/chunk-QCDYH3HO.js +90 -0
- package/dist/chunks/chunk-QCHB42M2.js +366 -0
- package/dist/chunks/chunk-QFFXZQH5.js +203 -0
- package/dist/chunks/chunk-QFHBBUYD.js +177 -0
- package/dist/chunks/chunk-QFKHAMJT.js +54 -0
- package/dist/chunks/chunk-QFO73T6R.js +30 -0
- package/dist/chunks/chunk-QGQ5WBFV.js +88 -0
- package/dist/chunks/chunk-QJ3IVD6I.js +122 -0
- package/dist/chunks/chunk-QJFFKYDX.js +107 -0
- package/dist/chunks/chunk-QJYW4TDU.js +220 -0
- package/dist/chunks/chunk-QK7KCBKG.js +261 -0
- package/dist/chunks/chunk-QKCUV6KR.js +163 -0
- package/dist/chunks/chunk-QLECHYCJ.js +153 -0
- package/dist/chunks/chunk-QN3BFID6.js +127 -0
- package/dist/chunks/chunk-QN5YGANO.js +130 -0
- package/dist/chunks/chunk-QN6B2GIZ.js +133 -0
- package/dist/chunks/chunk-QO36H4KI.js +78 -0
- package/dist/chunks/chunk-QOI27VGG.js +244 -0
- package/dist/chunks/chunk-QORYWNNT.js +138 -0
- package/dist/chunks/chunk-QPA4DBIP.js +53 -0
- package/dist/chunks/chunk-QSHK6PII.js +111 -0
- package/dist/chunks/chunk-QUSSG2ZK.js +169 -0
- package/dist/chunks/chunk-QX7BYX2M.js +11047 -0
- package/dist/chunks/chunk-QXQNRAPH.js +139 -0
- package/dist/chunks/chunk-QZEOSULK.js +41 -0
- package/dist/chunks/chunk-QZQZGVYO.js +144 -0
- package/dist/chunks/chunk-R2HH6LHS.js +1845 -0
- package/dist/chunks/chunk-R3RPQEL2.js +317 -0
- package/dist/chunks/chunk-R7QF6R3N.js +261 -0
- package/dist/chunks/chunk-RAOCFOTR.js +55 -0
- package/dist/chunks/chunk-RBGMDAOV.js +166 -0
- package/dist/chunks/chunk-RBZB4MT3.js +382 -0
- package/dist/chunks/chunk-RDQXFRUQ.js +125 -0
- package/dist/chunks/chunk-REID2NPP.js +119 -0
- package/dist/chunks/chunk-RF7F33MU.js +279 -0
- package/dist/chunks/chunk-RFPT4JQQ.js +60 -0
- package/dist/chunks/chunk-RJVW2OTT.js +115 -0
- package/dist/chunks/chunk-RKKOMZO6.js +33 -0
- package/dist/chunks/chunk-RKYIRB7C.js +39 -0
- package/dist/chunks/chunk-RMDC4ZOI.js +122 -0
- package/dist/chunks/chunk-RO4FESUC.js +282 -0
- package/dist/chunks/chunk-ROZDIKU2.js +36 -0
- package/dist/chunks/chunk-RPNX3W37.js +93 -0
- package/dist/chunks/chunk-RTLHQOM3.js +78 -0
- package/dist/chunks/chunk-RUI7USG5.js +85 -0
- package/dist/chunks/chunk-RX4M6KST.js +287 -0
- package/dist/chunks/chunk-RXDPCSLD.js +390 -0
- package/dist/chunks/chunk-RXG7T7TH.js +51 -0
- package/dist/chunks/chunk-RYCXNOJY.js +100 -0
- package/dist/chunks/chunk-RZ6BQ24D.js +121 -0
- package/dist/chunks/chunk-S2NXTQYX.js +135 -0
- package/dist/chunks/chunk-S2PW3D5R.js +185 -0
- package/dist/chunks/chunk-S37F4WD5.js +262 -0
- package/dist/chunks/chunk-S3XKFDBM.js +140 -0
- package/dist/chunks/chunk-S4K6WYPE.js +116 -0
- package/dist/chunks/chunk-S7BGSBZS.js +33 -0
- package/dist/chunks/chunk-S7V2MJIH.js +90 -0
- package/dist/chunks/chunk-SAEVORI3.js +78 -0
- package/dist/chunks/chunk-SAVABDVA.js +198 -0
- package/dist/chunks/chunk-SC3KJUK4.js +61 -0
- package/dist/chunks/chunk-SCECZ7O2.js +131 -0
- package/dist/chunks/chunk-SCREZMKA.js +143 -0
- package/dist/chunks/chunk-SEGMYWT5.js +204 -0
- package/dist/chunks/chunk-SFTN3236.js +155 -0
- package/dist/chunks/chunk-SHB7PSPV.js +93 -0
- package/dist/chunks/chunk-SJIJXDZF.js +79 -0
- package/dist/chunks/chunk-SK7C77RP.js +230 -0
- package/dist/chunks/chunk-SKDZZLVY.js +23 -0
- package/dist/chunks/chunk-SLQKGCIA.js +86 -0
- package/dist/chunks/chunk-SOBXZNTD.js +162 -0
- package/dist/chunks/chunk-SPRPUZ3H.js +112 -0
- package/dist/chunks/chunk-SQG4G3PA.js +336 -0
- package/dist/chunks/chunk-SQMEMBWT.js +777 -0
- package/dist/chunks/chunk-SQTZKZ4G.js +23 -0
- package/dist/chunks/chunk-SR4TP75H.js +98 -0
- package/dist/chunks/chunk-SRAJ5PNX.js +106 -0
- package/dist/chunks/chunk-SRROMFBW.js +315 -0
- package/dist/chunks/chunk-ST677U2P.js +198 -0
- package/dist/chunks/chunk-STD7SM5H.js +137 -0
- package/dist/chunks/chunk-SUMRUI7X.js +412 -0
- package/dist/chunks/chunk-SUOFNWHY.js +89 -0
- package/dist/chunks/chunk-SWKYIIDD.js +48 -0
- package/dist/chunks/chunk-SWZHIH46.js +115 -0
- package/dist/chunks/chunk-SXDEXQBW.js +68 -0
- package/dist/chunks/chunk-SXK76ZOH.js +331 -0
- package/dist/chunks/chunk-SXUNSSRJ.js +33 -0
- package/dist/chunks/chunk-T26BMAIP.js +297 -0
- package/dist/chunks/chunk-T3HQZPPR.js +77 -0
- package/dist/chunks/chunk-TAGXQCXV.js +62 -0
- package/dist/chunks/chunk-TARJUWS6.js +170 -0
- package/dist/chunks/chunk-TBOT7VW7.js +45 -0
- package/dist/chunks/chunk-TCDV5UY2.js +170 -0
- package/dist/chunks/chunk-TCKVH2X6.js +176 -0
- package/dist/chunks/chunk-TDE7TW2F.js +154 -0
- package/dist/chunks/chunk-TEFJW4NZ.js +85 -0
- package/dist/chunks/chunk-TGSO26VR.js +340 -0
- package/dist/chunks/chunk-TH56ELBN.js +156 -0
- package/dist/chunks/chunk-TH62QPUN.js +112 -0
- package/dist/chunks/chunk-THO74VRS.js +298 -0
- package/dist/chunks/chunk-THQQDD4D.js +92 -0
- package/dist/chunks/chunk-THSQSLZ2.js +262 -0
- package/dist/chunks/chunk-TIC26HFV.js +122 -0
- package/dist/chunks/chunk-TJCXGMBS.js +209 -0
- package/dist/chunks/chunk-TKFFIQV4.js +23 -0
- package/dist/chunks/chunk-TM4LPOUZ.js +1649 -0
- package/dist/chunks/chunk-TNE5Z6IB.js +95 -0
- package/dist/chunks/chunk-TOG2O2P2.js +104 -0
- package/dist/chunks/chunk-TORA6ZBF.js +92 -0
- package/dist/chunks/chunk-TQ3U7WSC.js +145 -0
- package/dist/chunks/chunk-TRKY4KBA.js +41 -0
- package/dist/chunks/chunk-TSETHLMX.js +512 -0
- package/dist/chunks/chunk-TSZLSYVJ.js +75 -0
- package/dist/chunks/chunk-TTYZYD3I.js +558 -0
- package/dist/chunks/chunk-TUJKLV6B.js +261 -0
- package/dist/chunks/chunk-TVHRTJZQ.js +150 -0
- package/dist/chunks/chunk-TVR72SGP.js +117 -0
- package/dist/chunks/chunk-TWSGXSNX.js +479 -0
- package/dist/chunks/chunk-TX2GRMVH.js +632 -0
- package/dist/chunks/chunk-TXR7ODD5.js +23 -0
- package/dist/chunks/chunk-TXS6YZU7.js +94 -0
- package/dist/chunks/chunk-TY3HO5DD.js +196 -0
- package/dist/chunks/chunk-U2YFUJ7J.js +106 -0
- package/dist/chunks/chunk-U4DTMXZV.js +33 -0
- package/dist/chunks/chunk-U4U7QJ4C.js +75 -0
- package/dist/chunks/chunk-U5CWENRS.js +361 -0
- package/dist/chunks/chunk-U66C744L.js +141 -0
- package/dist/chunks/chunk-U7KFCH5U.js +23 -0
- package/dist/chunks/chunk-U7KVOBXZ.js +157 -0
- package/dist/chunks/chunk-UAIFVQOA.js +156 -0
- package/dist/chunks/chunk-UBCYP6QI.js +260 -0
- package/dist/chunks/chunk-UEPHAAVS.js +83 -0
- package/dist/chunks/chunk-UEWGZ7ZN.js +106 -0
- package/dist/chunks/chunk-UHA23T2C.js +1574 -0
- package/dist/chunks/chunk-UHQDLMCA.js +182 -0
- package/dist/chunks/chunk-UJS5YPK4.js +484 -0
- package/dist/chunks/chunk-UK34EPJD.js +138 -0
- package/dist/chunks/chunk-UKEUGRG4.js +194 -0
- package/dist/chunks/chunk-UL2VPV72.js +247 -0
- package/dist/chunks/chunk-UL47XQC4.js +90 -0
- package/dist/chunks/chunk-UMHPXVRM.js +457 -0
- package/dist/chunks/chunk-UQCMMG7O.js +161 -0
- package/dist/chunks/chunk-UQXM4EU6.js +84 -0
- package/dist/chunks/chunk-URAYGWW3.js +153 -0
- package/dist/chunks/chunk-USJFXSQX.js +172 -0
- package/dist/chunks/chunk-UTMEN2SL.js +88 -0
- package/dist/chunks/chunk-UUOJPCLB.js +102 -0
- package/dist/chunks/chunk-UVRRQDSC.js +187 -0
- package/dist/chunks/chunk-UXMVCEV6.js +139 -0
- package/dist/chunks/chunk-UXTRBMKW.js +146 -0
- package/dist/chunks/chunk-V25RKIHS.js +136 -0
- package/dist/chunks/chunk-V3D27EBS.js +23 -0
- package/dist/chunks/chunk-V4QT5TNS.js +97 -0
- package/dist/chunks/chunk-V5YL5VIW.js +111 -0
- package/dist/chunks/chunk-V5Z7HEWL.js +23 -0
- package/dist/chunks/chunk-V7XHUGX5.js +226 -0
- package/dist/chunks/chunk-VB2QT3P7.js +10425 -0
- package/dist/chunks/chunk-VB3JCUHE.js +106 -0
- package/dist/chunks/chunk-VB3UA2ZJ.js +112 -0
- package/dist/chunks/chunk-VCA2FKMF.js +464 -0
- package/dist/chunks/chunk-VCH5W7EW.js +487 -0
- package/dist/chunks/chunk-VDAZRVVL.js +117 -0
- package/dist/chunks/chunk-VDNB6BVC.js +83 -0
- package/dist/chunks/chunk-VEEHHRGB.js +84 -0
- package/dist/chunks/chunk-VELAO7KY.js +95 -0
- package/dist/chunks/chunk-VETL4UOP.js +124 -0
- package/dist/chunks/chunk-VF2CGZGQ.js +428 -0
- package/dist/chunks/chunk-VHB3NN3N.js +206 -0
- package/dist/chunks/chunk-VHNJSBLQ.js +305 -0
- package/dist/chunks/chunk-VI4XLCBB.js +196 -0
- package/dist/chunks/chunk-VIDOT3BT.js +803 -0
- package/dist/chunks/chunk-VJ65B6XT.js +116 -0
- package/dist/chunks/chunk-VJKFEJPG.js +112 -0
- package/dist/chunks/chunk-VJTMGZIF.js +159 -0
- package/dist/chunks/chunk-VKZ2VJZJ.js +105 -0
- package/dist/chunks/chunk-VLB4KIHU.js +10182 -0
- package/dist/chunks/chunk-VMP4CDDC.js +33 -0
- package/dist/chunks/chunk-VNOEAP4Z.js +1307 -0
- package/dist/chunks/chunk-VQ3P562E.js +480 -0
- package/dist/chunks/chunk-VQFCNLSU.js +157 -0
- package/dist/chunks/chunk-VRMOABZB.js +170 -0
- package/dist/chunks/chunk-VSCIKRIG.js +385 -0
- package/dist/chunks/chunk-VVMN2PBM.js +97 -0
- package/dist/chunks/chunk-VW3PMAH4.js +100 -0
- package/dist/chunks/chunk-VYPACEAR.js +256 -0
- package/dist/chunks/chunk-VZRR2GPU.js +194 -0
- package/dist/chunks/chunk-W2UFHFDJ.js +45 -0
- package/dist/chunks/chunk-W3G3WOBH.js +81 -0
- package/dist/chunks/chunk-W5N2TFEA.js +149 -0
- package/dist/chunks/chunk-W5NE37NW.js +141 -0
- package/dist/chunks/chunk-W6DLY4HH.js +60 -0
- package/dist/chunks/chunk-W7KBVCTT.js +103 -0
- package/dist/chunks/chunk-WABAIWOA.js +101 -0
- package/dist/chunks/chunk-WBFFALRV.js +246 -0
- package/dist/chunks/chunk-WF4LNUA3.js +212 -0
- package/dist/chunks/chunk-WHJTTP23.js +33 -0
- package/dist/chunks/chunk-WHNMFGHU.js +182 -0
- package/dist/chunks/chunk-WIPYOZHQ.js +45 -0
- package/dist/chunks/chunk-WIV4BZGQ.js +112 -0
- package/dist/chunks/chunk-WJVPTFHW.js +274 -0
- package/dist/chunks/chunk-WKRGGLHZ.js +74 -0
- package/dist/chunks/chunk-WLLBZZXO.js +185 -0
- package/dist/chunks/chunk-WLMST5SL.js +276 -0
- package/dist/chunks/chunk-WMKIEPED.js +358 -0
- package/dist/chunks/chunk-WMRGILUM.js +79 -0
- package/dist/chunks/chunk-WTDOX47Q.js +100 -0
- package/dist/chunks/chunk-WUZXZD2D.js +497 -0
- package/dist/chunks/chunk-WYZC5IPY.js +624 -0
- package/dist/chunks/chunk-WZG7BJQ2.js +93 -0
- package/dist/chunks/chunk-X3LPS3PL.js +330 -0
- package/dist/chunks/chunk-X4YMXKKS.js +23 -0
- package/dist/chunks/chunk-X6SXY6RV.js +102 -0
- package/dist/chunks/chunk-X6UZTNWO.js +255 -0
- package/dist/chunks/chunk-XADSA6WW.js +503 -0
- package/dist/chunks/chunk-XAFCPB5K.js +181 -0
- package/dist/chunks/chunk-XBTWL72L.js +33 -0
- package/dist/chunks/chunk-XCAEZS56.js +351 -0
- package/dist/chunks/chunk-XDGH7XJ2.js +150 -0
- package/dist/chunks/chunk-XDGHQLMH.js +150 -0
- package/dist/chunks/chunk-XESYDWO7.js +175 -0
- package/dist/chunks/chunk-XET6DOYD.js +71 -0
- package/dist/chunks/chunk-XEYLCUTG.js +198 -0
- package/dist/chunks/chunk-XFJ4FYVP.js +87 -0
- package/dist/chunks/chunk-XFTO6R7G.js +261 -0
- package/dist/chunks/chunk-XG6DFZPR.js +361 -0
- package/dist/chunks/chunk-XGCZEVSE.js +95 -0
- package/dist/chunks/chunk-XGMZFZLX.js +368 -0
- package/dist/chunks/chunk-XJCR63LR.js +283 -0
- package/dist/chunks/chunk-XJLAC2XI.js +80 -0
- package/dist/chunks/chunk-XM6DIAFX.js +204 -0
- package/dist/chunks/chunk-XNUUN63I.js +108 -0
- package/dist/chunks/chunk-XNZ23ICS.js +151 -0
- package/dist/chunks/chunk-XOWCJUZX.js +104 -0
- package/dist/chunks/chunk-XVM6A5DD.js +251 -0
- package/dist/chunks/chunk-XVZVE7VD.js +514 -0
- package/dist/chunks/chunk-XYY2NQK6.js +327 -0
- package/dist/chunks/chunk-XZ6FGNG5.js +105 -0
- package/dist/chunks/chunk-XZC37K4Q.js +284 -0
- package/dist/chunks/chunk-Y2GSCCDX.js +23 -0
- package/dist/chunks/chunk-Y34IK6FH.js +1804 -0
- package/dist/chunks/chunk-Y3JRZECN.js +189 -0
- package/dist/chunks/chunk-Y3NU24MO.js +172 -0
- package/dist/chunks/chunk-Y5O7OZA6.js +222 -0
- package/dist/chunks/chunk-Y66RYOXD.js +163 -0
- package/dist/chunks/chunk-Y7RIDQCI.js +79 -0
- package/dist/chunks/chunk-YAAK4UP3.js +97 -0
- package/dist/chunks/chunk-YAMPOT4S.js +122 -0
- package/dist/chunks/chunk-YBMFHVGV.js +152 -0
- package/dist/chunks/chunk-YD4VVZCN.js +47 -0
- package/dist/chunks/chunk-YD7SOI6Q.js +177 -0
- package/dist/chunks/chunk-YEBP2C5D.js +266 -0
- package/dist/chunks/chunk-YENQRE5H.js +100 -0
- package/dist/chunks/chunk-YGFUDVW6.js +152 -0
- package/dist/chunks/chunk-YGVGBYZU.js +181 -0
- package/dist/chunks/chunk-YH5Q2ZLB.js +166 -0
- package/dist/chunks/chunk-YHIH4NOY.js +149 -0
- package/dist/chunks/chunk-YHJ2I4YG.js +164 -0
- package/dist/chunks/chunk-YHP27F72.js +53 -0
- package/dist/chunks/chunk-YHWRHA6C.js +53 -0
- package/dist/chunks/chunk-YI7AYYKO.js +77 -0
- package/dist/chunks/chunk-YIVOJEIX.js +66 -0
- package/dist/chunks/chunk-YOII6SJF.js +197 -0
- package/dist/chunks/chunk-YPESQICC.js +38 -0
- package/dist/chunks/chunk-YPFVTYA2.js +192 -0
- package/dist/chunks/chunk-YTJRWEJA.js +471 -0
- package/dist/chunks/chunk-YTSZJ5GS.js +91 -0
- package/dist/chunks/chunk-YVUYNEKE.js +200 -0
- package/dist/chunks/chunk-YXEKA5PU.js +33 -0
- package/dist/chunks/chunk-YYIFIWE7.js +195 -0
- package/dist/chunks/chunk-YZB4M5WN.js +151 -0
- package/dist/chunks/chunk-Z2J4D33F.js +231 -0
- package/dist/chunks/chunk-Z46TW6X2.js +184 -0
- package/dist/chunks/chunk-Z7TZTRPQ.js +45 -0
- package/dist/chunks/chunk-ZALRNSW5.js +107 -0
- package/dist/chunks/chunk-ZAO3BCZ4.js +42 -0
- package/dist/chunks/chunk-ZAO4CXUV.js +23 -0
- package/dist/chunks/chunk-ZC635HJD.js +361 -0
- package/dist/chunks/chunk-ZD42XWVU.js +160 -0
- package/dist/chunks/chunk-ZI7GDM35.js +161 -0
- package/dist/chunks/chunk-ZIHKLSPG.js +171 -0
- package/dist/chunks/chunk-ZKZ5QU5V.js +33 -0
- package/dist/chunks/chunk-ZMDDFSDE.js +187 -0
- package/dist/chunks/chunk-ZMVSPG6H.js +82 -0
- package/dist/chunks/chunk-ZPEGEDPD.js +33 -0
- package/dist/chunks/chunk-ZTXZVDQO.js +196 -0
- package/dist/chunks/chunk-ZU3VB6IG.js +266 -0
- package/dist/chunks/chunk-ZUYAAMGW.js +121 -0
- package/dist/chunks/chunk-ZV2V2KK5.js +141 -0
- package/dist/chunks/chunk-ZV5CIVTN.js +98 -0
- package/dist/chunks/chunk-ZWQL5ND2.js +85 -0
- package/dist/chunks/chunk-ZWSJXS2P.js +101 -0
- package/dist/chunks/chunk-ZWYDL5WG.js +137 -0
- package/dist/chunks/chunk-ZXO6X6TJ.js +130 -0
- package/dist/chunks/chunk-ZXT7BHFK.js +567 -0
- package/dist/chunks/client-GXOJ2SK7.js +167 -0
- package/dist/chunks/client-JNBB55EX.js +44 -0
- package/dist/chunks/client-VLRSGSMT.js +31 -0
- package/dist/chunks/client-actions-MLXNUGSS.js +156 -0
- package/dist/chunks/components-X4JLTAOS.js +71 -0
- package/dist/chunks/dangerous-SETMYTN3.js +116 -0
- package/dist/chunks/document-library-2UNJ53LK.js +62 -0
- package/dist/chunks/editor-seams-OQAFOJI4.js +157 -0
- package/dist/chunks/editor-store-NJ4MRUTP.js +135 -0
- package/dist/chunks/export-2ZFGGPUM.js +67 -0
- package/dist/chunks/export-fills-VS4VV6C4.js +35 -0
- package/dist/chunks/export-watermark-5LBWAZ3S.js +142 -0
- package/dist/chunks/eyedropper-PUDJWNPC.js +345 -0
- package/dist/chunks/fonts-6AMHDLOR.js +39 -0
- package/dist/chunks/generate-media-UGEZAXCP.js +253 -0
- package/dist/chunks/headless-F7NGN6XS.js +186 -0
- package/dist/chunks/host-PYXRSU3A.js +239 -0
- package/dist/chunks/host-XQG4NNEM.js +167 -0
- package/dist/chunks/import-M3S5YSER.js +702 -0
- package/dist/chunks/import-merge-GMGMRNJH.js +35 -0
- package/dist/chunks/instances-44O2OKTS.js +79 -0
- package/dist/chunks/integrations-VDSIL3YY.js +115 -0
- package/dist/chunks/invariants-Y4REIFB4.js +61 -0
- package/dist/chunks/kit-modules-IMP2JUFH.js +18 -0
- package/dist/chunks/libraries-6THB6H5C.js +298 -0
- package/dist/chunks/library-previews-3IG5DPMU.js +199 -0
- package/dist/chunks/live-LQ4LJE5T.js +308 -0
- package/dist/chunks/lottie-FVEYORWJ.js +85 -0
- package/dist/chunks/media-tool-O5HQES6N.js +328 -0
- package/dist/chunks/new-file-IXRI5FF2.js +125 -0
- package/dist/chunks/next-commerce-RQ2DGR26.js +66 -0
- package/dist/chunks/page-thumbnails-M24U3JAO.js +133 -0
- package/dist/chunks/pdf-GMZAPMRD.js +1216 -0
- package/dist/chunks/pdf-import-B6EZYYQC.js +370 -0
- package/dist/chunks/plan-GRXCHH66.js +82 -0
- package/dist/chunks/player-check-WN2GR2PK.js +113 -0
- package/dist/chunks/plugin-KEBRTQTN.js +123 -0
- package/dist/chunks/plugin-import-EA7N6PND.js +660 -0
- package/dist/chunks/pptx-EAWSIPT4.js +309 -0
- package/dist/chunks/presence-OL4OBWO7.js +123 -0
- package/dist/chunks/preview-media-YVIYCXA6.js +121 -0
- package/dist/chunks/project-UVM2AYVW.js +1648 -0
- package/dist/chunks/publish-site-RXV2YI2W.js +154 -0
- package/dist/chunks/publish-store-EUI6UU5O.js +93 -0
- package/dist/chunks/raster-actions-HRPA4JHC.js +225 -0
- package/dist/chunks/reference-images-MA3YCEO6.js +62 -0
- package/dist/chunks/resolvers-XK3LPQEY.js +138 -0
- package/dist/chunks/review-kits-6HMTH4T4.js +41 -0
- package/dist/chunks/runner-CLMKK5RT.js +1229 -0
- package/dist/chunks/runtime-G3ZENLKG.js +32 -0
- package/dist/chunks/shader-preview-4VQPTGDS.js +518 -0
- package/dist/chunks/shaper-5ZNY5DTX.js +64 -0
- package/dist/chunks/sites-3JKAKXQN.js +33 -0
- package/dist/chunks/store-VTBBTRHZ.js +220 -0
- package/dist/chunks/storefront-IHRHTJKS.js +327 -0
- package/dist/chunks/storefront-prepare-3NO4J3C5.js +33 -0
- package/dist/chunks/stress-document-VC4CJ2LR.js +126 -0
- package/dist/chunks/svg-export-NYENZCJL.js +80 -0
- package/dist/chunks/svg-place-ABKQLXWN.js +39 -0
- package/dist/chunks/sync-C75YXPKS.js +149 -0
- package/dist/chunks/tabs-T2JJYBAR.js +307 -0
- package/dist/chunks/team-P5YGDX25.js +44 -0
- package/dist/chunks/templates-E2RSOQGW.js +181 -0
- package/dist/chunks/theme-store-KIOR4H4Y.js +39 -0
- package/dist/chunks/tools-UIBU4UDE.js +35 -0
- package/dist/chunks/tree-CXIRATHO.js +72 -0
- package/dist/chunks/ui-commands-BHPGYGOX.js +265 -0
- package/dist/chunks/use-ZU574W54.js +45 -0
- package/dist/chunks/versions-ZH26XLWN.js +307 -0
- package/dist/chunks/video-EKB3VOPB.js +75 -0
- package/dist/chunks/web-CRD2WZ6X.js +170 -0
- package/dist/fonts/chars.txt +1 -1
- package/dist/index.js +62 -61
- package/dist/lib/document/libraries.js +4 -3
- package/dist/lib/document/photo-frames.js +4 -3
- package/dist/lib/document/print-pages.js +3 -2
- package/dist/lib/document/scene-graph.js +3 -2
- package/dist/lib/editor/prototype-connect.js +4 -3
- package/dist/lib/engine/text/fallback-fonts.js +4 -4
- package/dist/lib/engine/text/measure.js +5 -5
- package/dist/lib/extensions/qr/encoder.js +28 -0
- package/dist/lib/marketplace/motion.js +9 -8
- package/dist/lib/motion/audio-clips.js +3 -3
- package/dist/lib/motion/author.js +10 -9
- package/dist/lib/motion/key-selection.js +4 -4
- package/dist/lib/motion/pose.js +11 -10
- package/dist/lib/motion/present.js +17 -16
- package/dist/lib/motion/presets.js +11 -10
- package/dist/lib/motion/spatial.js +4 -4
- package/dist/lib/motion/text-animators.js +4 -4
- package/dist/lib/presets/page-presets.js +2 -1
- package/dist/lib/slides/slides.js +4 -3
- package/dist/lib/templates/apply.js +5 -4
- package/dist/lib/templates/capabilities.js +12 -11
- package/dist/lib/templates/capture.js +6 -5
- package/dist/lib/templates/finish.js +22 -21
- package/dist/lib/templates/layout.js +10 -9
- package/dist/lib/templates/resize.js +5 -4
- package/dist/lib/templates/text-measurer.js +6 -6
- package/dist/lib/templates/upload.js +7 -6
- package/dist/lib/templates/vocabulary.js +6 -5
- package/dist/lib/units/units.js +34 -0
- package/dist/migrations/board-meta.js +7 -6
- package/dist/migrations/brand-media.js +26 -25
- package/dist/migrations/brand-slots.js +4 -3
- package/dist/migrations/categories.js +7 -6
- package/dist/migrations/hug-content.js +11 -10
- package/dist/migrations/index.js +59 -58
- package/dist/migrations/min-type.js +13 -12
- package/dist/migrations/text-on-dark.js +6 -5
- package/dist/migrations/timeline-facets.js +25 -24
- package/dist/migrations/violet-ink.js +6 -5
- package/dist/seed/files.json +1 -1
- package/dist/templates/anime/character.js +41 -40
- package/dist/templates/anime/duel.js +44 -43
- package/dist/templates/anime/morning.js +44 -43
- package/dist/templates/anime/rain.js +44 -43
- package/dist/templates/anime/shared.js +42 -41
- package/dist/templates/anime/starlight.js +44 -43
- package/dist/templates/anime/titan.js +44 -43
- package/dist/templates/app/festival-presale-electronic-ticket.js +46 -45
- package/dist/templates/app/festival-presale-family-ticket.js +46 -45
- package/dist/templates/app/festival-presale-folk-ticket.js +46 -45
- package/dist/templates/app/festival-presale-food-ticket.js +46 -45
- package/dist/templates/app/festival-presale-jazz-ticket.js +46 -45
- package/dist/templates/app/festival-presale-street-ticket.js +47 -46
- package/dist/templates/app/music/build.js +27 -26
- package/dist/templates/app/music/world.js +11 -10
- package/dist/templates/app/music-grove.js +42 -41
- package/dist/templates/app/music-nightline.js +42 -41
- package/dist/templates/app/music-orbit.js +42 -41
- package/dist/templates/app/music-undertow.js +42 -41
- package/dist/templates/app/onboarding-carousel.js +40 -39
- package/dist/templates/app/saas-store-paywall.js +40 -39
- package/dist/templates/app/splash.js +40 -39
- package/dist/templates/app/success-confetti.js +40 -39
- package/dist/templates/app/tour-tickets-june-ticket.js +40 -39
- package/dist/templates/app/tour-tickets-tide-ticket.js +40 -39
- package/dist/templates/app/tour-tickets-wreck-ticket.js +40 -39
- package/dist/templates/build.js +24 -23
- package/dist/templates/cards/index.js +42 -41
- package/dist/templates/cards/shared.js +40 -39
- package/dist/templates/cards/themes.js +41 -40
- package/dist/templates/count.js +16 -15
- package/dist/templates/data/bars.js +40 -39
- package/dist/templates/data/countdown-story.js +40 -39
- package/dist/templates/data/counters.js +40 -39
- package/dist/templates/data/donut.js +40 -39
- package/dist/templates/data/line.js +40 -39
- package/dist/templates/data/year-in-review.js +40 -39
- package/dist/templates/effects/glass-intro.js +40 -39
- package/dist/templates/effects/glass-promo.js +40 -39
- package/dist/templates/effects/grain-story.js +40 -39
- package/dist/templates/effects/grid-intro.js +40 -39
- package/dist/templates/effects/halftone-story.js +40 -39
- package/dist/templates/effects/mesh-story.js +40 -39
- package/dist/templates/effects/shader-title.js +40 -39
- package/dist/templates/email/april-fools-header.js +42 -41
- package/dist/templates/email/art-deco-invitation.js +42 -41
- package/dist/templates/email/autumn-harvest-header.js +42 -41
- package/dist/templates/email/back-to-school-header.js +42 -41
- package/dist/templates/email/black-friday-coupons-header.js +42 -41
- package/dist/templates/email/black-friday-header.js +41 -40
- package/dist/templates/email/black-friday-neon-header.js +44 -43
- package/dist/templates/email/black-friday-scratch-header.js +42 -41
- package/dist/templates/email/black-friday-ticker-header.js +42 -41
- package/dist/templates/email/broadsheet-weekly-edition-header.js +41 -40
- package/dist/templates/email/claymation-header.js +43 -42
- package/dist/templates/email/countdown-gif.js +41 -40
- package/dist/templates/email/cyberpunk-header.js +44 -43
- package/dist/templates/email/diwali-header.js +43 -42
- package/dist/templates/email/earth-day-header.js +43 -42
- package/dist/templates/email/festival-presale-electronic-header.js +46 -45
- package/dist/templates/email/festival-presale-family-header.js +46 -45
- package/dist/templates/email/festival-presale-folk-header.js +46 -45
- package/dist/templates/email/festival-presale-food-header.js +46 -45
- package/dist/templates/email/festival-presale-jazz-header.js +46 -45
- package/dist/templates/email/festival-presale-street-header.js +47 -46
- package/dist/templates/email/gothic-header.js +41 -40
- package/dist/templates/email/halloween-header.js +43 -42
- package/dist/templates/email/header-launch.js +41 -40
- package/dist/templates/email/header-newsletter.js +41 -40
- package/dist/templates/email/header-sale.js +41 -40
- package/dist/templates/email/lunar-new-year-header.js +43 -42
- package/dist/templates/email/manuscript-chronicle-header.js +42 -41
- package/dist/templates/email/new-year-header.js +43 -42
- package/dist/templates/email/noir-header.js +44 -43
- package/dist/templates/email/psychedelic-header.js +43 -42
- package/dist/templates/email/riso-zine-changelog-header.js +44 -43
- package/dist/templates/email/saas-mail-changelog.js +43 -42
- package/dist/templates/email/saas-mail-day-one.js +43 -42
- package/dist/templates/email/saas-mail-day-three.js +42 -41
- package/dist/templates/email/saas-mail-launch.js +42 -41
- package/dist/templates/email/saas-mail-payment-failed.js +42 -41
- package/dist/templates/email/saas-mail-sign-in-code.js +42 -41
- package/dist/templates/email/saas-mail-trial-ending.js +42 -41
- package/dist/templates/email/saas-mail-waitlist.js +42 -41
- package/dist/templates/email/shared.js +26 -25
- package/dist/templates/email/singles-day-header.js +43 -42
- package/dist/templates/email/solarpunk-header.js +43 -42
- package/dist/templates/email/space-opera-header.js +43 -42
- package/dist/templates/email/spring-bloom-header.js +43 -42
- package/dist/templates/email/style-bento-header.js +42 -41
- package/dist/templates/email/style-brutalist-header.js +42 -41
- package/dist/templates/email/style-dark-header.js +42 -41
- package/dist/templates/email/style-data-header.js +42 -41
- package/dist/templates/email/style-editorial-header.js +42 -41
- package/dist/templates/email/style-glass-header.js +43 -42
- package/dist/templates/email/style-gradient-header.js +42 -41
- package/dist/templates/email/style-maximal-header.js +42 -41
- package/dist/templates/email/style-pastel-header.js +43 -42
- package/dist/templates/email/style-sketch-header.js +43 -42
- package/dist/templates/email/style-swiss-header.js +42 -41
- package/dist/templates/email/style-terminal-header.js +44 -43
- package/dist/templates/email/summer-heatwave-header.js +43 -42
- package/dist/templates/email/tour-tickets-june-header.js +41 -40
- package/dist/templates/email/tour-tickets-tide-header.js +41 -40
- package/dist/templates/email/tour-tickets-wreck-header.js +41 -40
- package/dist/templates/email/transit-map-service-update.js +43 -42
- package/dist/templates/email/ukiyo-e-greeting-header.js +43 -42
- package/dist/templates/email/valentines-header.js +43 -42
- package/dist/templates/email/winter-cosy-header.js +44 -43
- package/dist/templates/email/winter-holidays-header.js +44 -43
- package/dist/templates/fonts.js +6 -6
- package/dist/templates/game/blossom-bash-puzzle.js +41 -40
- package/dist/templates/game/deckbound-roguelike.js +41 -40
- package/dist/templates/game/emberfall-rpg.js +41 -40
- package/dist/templates/game/hearthmoor-farm.js +41 -40
- package/dist/templates/game/index.js +54 -53
- package/dist/templates/game/iron-lotus-fighter.js +41 -40
- package/dist/templates/game/ironroot-rts.js +41 -40
- package/dist/templates/game/mossy-hollow-platformer.js +43 -42
- package/dist/templates/game/neon-apex-racing.js +41 -40
- package/dist/templates/game/platformer.js +42 -41
- package/dist/templates/game/pulse-riot-rhythm.js +41 -40
- package/dist/templates/game/shared.js +26 -25
- package/dist/templates/game/sprout-quest-pixel-platformer.js +43 -42
- package/dist/templates/game/vanta-fps.js +41 -40
- package/dist/templates/index.js +894 -867
- package/dist/templates/index.json +742 -0
- package/dist/templates/kinetic/letters.js +40 -39
- package/dist/templates/kinetic/lines.js +40 -39
- package/dist/templates/kinetic/typewriter.js +40 -39
- package/dist/templates/kinetic/word-swap.js +40 -39
- package/dist/templates/kinetic/words.js +40 -39
- package/dist/templates/kit.js +25 -24
- package/dist/templates/libraries/audio-reactive.js +40 -39
- package/dist/templates/libraries/loaders.js +40 -39
- package/dist/templates/libraries/micro-interactions.js +40 -39
- package/dist/templates/libraries/motion-essentials.js +40 -39
- package/dist/templates/libraries/toasts.js +40 -39
- package/dist/templates/lottie/ai.js +41 -40
- package/dist/templates/lottie/climate.js +41 -40
- package/dist/templates/lottie/commerce.js +41 -40
- package/dist/templates/lottie/education.js +41 -40
- package/dist/templates/lottie/fintech.js +41 -40
- package/dist/templates/lottie/food.js +41 -40
- package/dist/templates/lottie/health.js +41 -40
- package/dist/templates/lottie/index.js +65 -64
- package/dist/templates/lottie/lottie-kit.js +40 -39
- package/dist/templates/lottie/realestate.js +41 -40
- package/dist/templates/lottie/saas-ui-checklist.js +42 -41
- package/dist/templates/lottie/saas-ui-dashboard-hero.js +42 -41
- package/dist/templates/lottie/saas-ui-empty-data.js +42 -41
- package/dist/templates/lottie/saas-ui-empty-search.js +42 -41
- package/dist/templates/lottie/saas-ui-error-retry.js +42 -41
- package/dist/templates/lottie/saas-ui-file-upload.js +42 -41
- package/dist/templates/lottie/saas-ui-streaming-answer.js +42 -41
- package/dist/templates/lottie/saas-ui-sync-connected.js +42 -41
- package/dist/templates/lottie/saas-ui-trial-timeline.js +42 -41
- package/dist/templates/lottie/saas-ui-upgrade-unlocked.js +42 -41
- package/dist/templates/lottie/saas-ui.js +52 -51
- package/dist/templates/lottie/saas.js +41 -40
- package/dist/templates/lottie/security.js +41 -40
- package/dist/templates/lottie/techniques.js +41 -40
- package/dist/templates/lottie/travel.js +41 -40
- package/dist/templates/motion/ambient-loop.js +40 -39
- package/dist/templates/motion/app-icon-sting.js +40 -39
- package/dist/templates/motion/april-fools-infomercial-reel.js +42 -41
- package/dist/templates/motion/arcade-high-score.js +43 -42
- package/dist/templates/motion/art-deco-grand-opening.js +41 -40
- package/dist/templates/motion/autumn-harvest-year-reel.js +41 -40
- package/dist/templates/motion/back-to-school-timetable-reel.js +41 -40
- package/dist/templates/motion/bauhaus-launch-reel.js +41 -40
- package/dist/templates/motion/black-friday-coupons-deal-reel.js +42 -41
- package/dist/templates/motion/black-friday-coupons-last-day.js +42 -41
- package/dist/templates/motion/black-friday-deal-drop.js +40 -39
- package/dist/templates/motion/black-friday-neon-deal-reel.js +43 -42
- package/dist/templates/motion/black-friday-neon-last-day.js +43 -42
- package/dist/templates/motion/black-friday-scratch-countdown.js +41 -40
- package/dist/templates/motion/black-friday-scratch-deal-reel.js +41 -40
- package/dist/templates/motion/black-friday-scratch-last-day.js +41 -40
- package/dist/templates/motion/black-friday-ticker-deal-drop.js +41 -40
- package/dist/templates/motion/black-friday-ticker-last-call.js +42 -41
- package/dist/templates/motion/blueprint-rev-b-reel.js +42 -41
- package/dist/templates/motion/broadsheet-launch-reel.js +40 -39
- package/dist/templates/motion/broadsheet-milestone-post.js +41 -40
- package/dist/templates/motion/claymation-launch-reel.js +42 -41
- package/dist/templates/motion/comic-book-issue-reel.js +43 -42
- package/dist/templates/motion/countdown.js +40 -39
- package/dist/templates/motion/cyberpunk-lock-on-reel.js +43 -42
- package/dist/templates/motion/departure-board-reel.js +41 -40
- package/dist/templates/motion/diwali-lamps-reel.js +42 -41
- package/dist/templates/motion/earth-day-footprint-reel.js +42 -41
- package/dist/templates/motion/earth-day-pledge-post.js +42 -41
- package/dist/templates/motion/festival-presale-electronic-countdown.js +46 -45
- package/dist/templates/motion/festival-presale-electronic-lineup.js +46 -45
- package/dist/templates/motion/festival-presale-electronic-reel.js +46 -45
- package/dist/templates/motion/festival-presale-electronic-tier.js +46 -45
- package/dist/templates/motion/festival-presale-family-countdown.js +46 -45
- package/dist/templates/motion/festival-presale-family-lineup.js +46 -45
- package/dist/templates/motion/festival-presale-family-reel.js +46 -45
- package/dist/templates/motion/festival-presale-family-tier.js +46 -45
- package/dist/templates/motion/festival-presale-folk-countdown.js +46 -45
- package/dist/templates/motion/festival-presale-folk-lineup.js +46 -45
- package/dist/templates/motion/festival-presale-folk-reel.js +46 -45
- package/dist/templates/motion/festival-presale-folk-tier.js +46 -45
- package/dist/templates/motion/festival-presale-food-countdown.js +46 -45
- package/dist/templates/motion/festival-presale-food-lineup.js +46 -45
- package/dist/templates/motion/festival-presale-food-reel.js +46 -45
- package/dist/templates/motion/festival-presale-food-tier.js +46 -45
- package/dist/templates/motion/festival-presale-jazz-countdown.js +46 -45
- package/dist/templates/motion/festival-presale-jazz-lineup.js +46 -45
- package/dist/templates/motion/festival-presale-jazz-reel.js +46 -45
- package/dist/templates/motion/festival-presale-jazz-tier.js +46 -45
- package/dist/templates/motion/festival-presale-street-countdown.js +47 -46
- package/dist/templates/motion/festival-presale-street-lineup.js +47 -46
- package/dist/templates/motion/festival-presale-street-reel.js +47 -46
- package/dist/templates/motion/festival-presale-street-tier.js +47 -46
- package/dist/templates/motion/gothic-launch-reel.js +40 -39
- package/dist/templates/motion/halloween-graveyard-reel.js +42 -41
- package/dist/templates/motion/instagram-promo.js +40 -39
- package/dist/templates/motion/kinetic-headline.js +40 -39
- package/dist/templates/motion/landing-hero/index.js +44 -43
- package/dist/templates/motion/launch-trailer/document.js +894 -867
- package/dist/templates/motion/launch-trailer/index.js +44 -43
- package/dist/templates/motion/launch-trailer/scenes.js +43 -42
- package/dist/templates/motion/logo-reveal.js +40 -39
- package/dist/templates/motion/lower-third.js +40 -39
- package/dist/templates/motion/lunar-new-year-envelope-reel.js +42 -41
- package/dist/templates/motion/machined-trailer.js +42 -41
- package/dist/templates/motion/manuscript-launch-reel.js +41 -40
- package/dist/templates/motion/new-year-ball-drop-reel.js +42 -41
- package/dist/templates/motion/noir-case-reel.js +43 -42
- package/dist/templates/motion/pitch-title.js +40 -39
- package/dist/templates/motion/psychedelic-gig-reel.js +42 -41
- package/dist/templates/motion/riso-zine-launch-reel.js +43 -42
- package/dist/templates/motion/saas-ai-prompt.js +41 -40
- package/dist/templates/motion/saas-before-after.js +41 -40
- package/dist/templates/motion/saas-changelog-drop.js +41 -40
- package/dist/templates/motion/saas-film-webinar-opener.js +41 -40
- package/dist/templates/motion/saas-hook-features.js +41 -40
- package/dist/templates/motion/saas-mrr-milestone.js +41 -40
- package/dist/templates/motion/saas-screen-demo.js +42 -41
- package/dist/templates/motion/saas-store-install-ad.js +41 -40
- package/dist/templates/motion/saas-testimonial.js +41 -40
- package/dist/templates/motion/saas-vs-comparison.js +41 -40
- package/dist/templates/motion/singles-day-flash-post.js +42 -41
- package/dist/templates/motion/singles-day-live-reel.js +42 -41
- package/dist/templates/motion/smooth-loop.js +40 -39
- package/dist/templates/motion/solarpunk-rooftop-reel.js +42 -41
- package/dist/templates/motion/space-opera-countdown-reel.js +42 -41
- package/dist/templates/motion/spring-bloom-first-hundred-post.js +42 -41
- package/dist/templates/motion/spring-bloom-first-shoots-reel.js +42 -41
- package/dist/templates/motion/stat-pop.js +40 -39
- package/dist/templates/motion/style-bento-feature-demo.js +43 -42
- package/dist/templates/motion/style-bento-launch-reel.js +42 -41
- package/dist/templates/motion/style-brutalist-feature-demo.js +44 -43
- package/dist/templates/motion/style-brutalist-launch-reel.js +43 -42
- package/dist/templates/motion/style-dark-feature-demo.js +42 -41
- package/dist/templates/motion/style-dark-launch-reel.js +43 -42
- package/dist/templates/motion/style-data-feature-demo.js +43 -42
- package/dist/templates/motion/style-data-launch-reel.js +43 -42
- package/dist/templates/motion/style-editorial-feature-demo.js +43 -42
- package/dist/templates/motion/style-editorial-launch-reel.js +42 -41
- package/dist/templates/motion/style-glass-feature-demo.js +44 -43
- package/dist/templates/motion/style-glass-launch-reel.js +43 -42
- package/dist/templates/motion/style-gradient-feature-demo.js +43 -42
- package/dist/templates/motion/style-gradient-launch-reel.js +42 -41
- package/dist/templates/motion/style-maximal-feature-demo.js +43 -42
- package/dist/templates/motion/style-maximal-launch-reel.js +42 -41
- package/dist/templates/motion/style-pastel-feature-demo.js +44 -43
- package/dist/templates/motion/style-pastel-launch-reel.js +44 -43
- package/dist/templates/motion/style-sketch-feature-demo.js +44 -43
- package/dist/templates/motion/style-sketch-launch-reel.js +44 -43
- package/dist/templates/motion/style-swiss-feature-demo.js +44 -43
- package/dist/templates/motion/style-swiss-launch-reel.js +43 -42
- package/dist/templates/motion/style-terminal-feature-demo.js +45 -44
- package/dist/templates/motion/style-terminal-launch-reel.js +45 -44
- package/dist/templates/motion/summer-heatwave-lido-reel.js +42 -41
- package/dist/templates/motion/template-wall.js +42 -41
- package/dist/templates/motion/title-card-3d.js +40 -39
- package/dist/templates/motion/tour-tickets-june-city.js +40 -39
- package/dist/templates/motion/tour-tickets-june-dates.js +40 -39
- package/dist/templates/motion/tour-tickets-june-final.js +41 -40
- package/dist/templates/motion/tour-tickets-june-reel.js +40 -39
- package/dist/templates/motion/tour-tickets-tide-city.js +40 -39
- package/dist/templates/motion/tour-tickets-tide-dates.js +40 -39
- package/dist/templates/motion/tour-tickets-tide-final.js +41 -40
- package/dist/templates/motion/tour-tickets-tide-reel.js +40 -39
- package/dist/templates/motion/tour-tickets-wreck-city.js +40 -39
- package/dist/templates/motion/tour-tickets-wreck-dates.js +40 -39
- package/dist/templates/motion/tour-tickets-wreck-final.js +41 -40
- package/dist/templates/motion/tour-tickets-wreck-reel.js +40 -39
- package/dist/templates/motion/transit-map-line-opening.js +42 -41
- package/dist/templates/motion/transit-map-milestone-post.js +42 -41
- package/dist/templates/motion/ukiyo-e-launch-reel.js +42 -41
- package/dist/templates/motion/valentines-breakup-reel.js +42 -41
- package/dist/templates/motion/vaporwave-launch-reel.js +42 -41
- package/dist/templates/motion/winter-cosy-heads-down-post.js +43 -42
- package/dist/templates/motion/winter-cosy-hibernation-reel.js +43 -42
- package/dist/templates/motion/winter-holidays-advent-reel.js +43 -42
- package/dist/templates/motion-qa.js +33 -32
- package/dist/templates/motion3d/app-store-preview.js +41 -40
- package/dist/templates/motion3d/before-after-swing.js +41 -40
- package/dist/templates/motion3d/burger-reveal.js +41 -40
- package/dist/templates/motion3d/coverflow.js +41 -40
- package/dist/templates/motion3d/exploded-ui.js +41 -40
- package/dist/templates/motion3d/feature-flip.js +41 -40
- package/dist/templates/motion3d/kinetic-reveal.js +41 -40
- package/dist/templates/motion3d/laptop-reveal.js +41 -40
- package/dist/templates/motion3d/logo-extrude.js +41 -40
- package/dist/templates/motion3d/parallax-cascade.js +41 -40
- package/dist/templates/motion3d/phone-orbit.js +41 -40
- package/dist/templates/motion3d/pricing-fan.js +41 -40
- package/dist/templates/motion3d/product-turntable.js +41 -40
- package/dist/templates/motion3d/saas-film-cinematic-trailer.js +42 -41
- package/dist/templates/motion3d/screen-wall.js +41 -40
- package/dist/templates/motion3d/stage.js +26 -25
- package/dist/templates/motion3d/vertical-promo.js +41 -40
- package/dist/templates/music/edm-drop.js +41 -40
- package/dist/templates/music/festival-lineup.js +41 -40
- package/dist/templates/music/hiphop-lyrics.js +41 -40
- package/dist/templates/music/indie-poster.js +41 -40
- package/dist/templates/music/lofi-loop.js +41 -40
- package/dist/templates/music/podcast-audiogram.js +41 -40
- package/dist/templates/music/shared.js +26 -25
- package/dist/templates/music/synthwave-tunnel.js +41 -40
- package/dist/templates/print/everyday-save-the-date.js +42 -41
- package/dist/templates/print/everyday-specials-board.js +42 -41
- package/dist/templates/print/holidays-christmas-church-newsletter.js +40 -39
- package/dist/templates/print/holidays-christmas-eve-invitation.js +40 -39
- package/dist/templates/print/holidays-christmas-gift-tags.js +40 -39
- package/dist/templates/print/holidays-diwali-party-invitation.js +40 -39
- package/dist/templates/print/holidays-easter-activity-sheet.js +40 -39
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +40 -39
- package/dist/templates/print/holidays-eid-dinner-invitation.js +40 -39
- package/dist/templates/print/holidays-eid-gift-tags.js +40 -39
- package/dist/templates/print/holidays-halloween-party-invitation.js +40 -39
- package/dist/templates/print/holidays-halloween-treat-labels.js +40 -39
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +40 -39
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +40 -39
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +40 -39
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +40 -39
- package/dist/templates/print/holidays-new-years-eve-poster.js +40 -39
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +40 -39
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +40 -39
- package/dist/templates/print/holidays-valentines-dinner-menu.js +40 -39
- package/dist/templates/print/printshop-booklet-open-day.js +98 -0
- package/dist/templates/print/printshop-brochure-community.js +96 -0
- package/dist/templates/print/printshop-brochure-dental.js +96 -0
- package/dist/templates/print/printshop-brochure-gym.js +95 -0
- package/dist/templates/print/printshop-brochure-landscaping.js +96 -0
- package/dist/templates/print/printshop-brochure-travel.js +97 -0
- package/dist/templates/print/printshop-card-architect.js +96 -0
- package/dist/templates/print/printshop-card-barber.js +96 -0
- package/dist/templates/print/printshop-card-cafe.js +96 -0
- package/dist/templates/print/printshop-card-developer.js +96 -0
- package/dist/templates/print/printshop-card-florist.js +96 -0
- package/dist/templates/print/printshop-card-lawyer.js +96 -0
- package/dist/templates/print/printshop-card-photographer.js +97 -0
- package/dist/templates/print/printshop-card-plumber.js +97 -0
- package/dist/templates/print/printshop-card-realtor.js +96 -0
- package/dist/templates/print/printshop-card-yoga.js +96 -0
- package/dist/templates/print/printshop-flyer-charity-run.js +95 -0
- package/dist/templates/print/printshop-flyer-farmers-market.js +96 -0
- package/dist/templates/print/printshop-flyer-garage-sale.js +96 -0
- package/dist/templates/print/printshop-flyer-grand-opening.js +98 -0
- package/dist/templates/print/printshop-flyer-lost-pet.js +95 -0
- package/dist/templates/print/printshop-flyer-tutoring.js +98 -0
- package/dist/templates/print/printshop-flyer-yard-work.js +96 -0
- package/dist/templates/print/printshop-poster-live-music.js +96 -0
- package/dist/templates/print/studio-class-timetable-poster.js +40 -39
- package/dist/templates/print/studio-portfolio-booklet.js +40 -39
- package/dist/templates/saas/email-decks-shared.js +41 -40
- package/dist/templates/saas/email-decks.js +54 -53
- package/dist/templates/saas/index.js +242 -241
- package/dist/templates/saas/launch-kit.js +50 -49
- package/dist/templates/saas/launch-video.js +50 -49
- package/dist/templates/saas/lottie-shared.js +41 -40
- package/dist/templates/saas/stores-shared.js +26 -25
- package/dist/templates/saas/stores.js +51 -50
- package/dist/templates/saas/style-bento-shared.js +11 -10
- package/dist/templates/saas/style-bento.js +54 -53
- package/dist/templates/saas/style-brutalist-shared.js +11 -10
- package/dist/templates/saas/style-brutalist.js +55 -54
- package/dist/templates/saas/style-dark.js +54 -53
- package/dist/templates/saas/style-data-shared.js +11 -10
- package/dist/templates/saas/style-data.js +55 -54
- package/dist/templates/saas/style-editorial-shared.js +11 -10
- package/dist/templates/saas/style-editorial.js +55 -54
- package/dist/templates/saas/style-glass-shared.js +12 -11
- package/dist/templates/saas/style-glass.js +55 -54
- package/dist/templates/saas/style-gradient-shared.js +11 -10
- package/dist/templates/saas/style-gradient.js +55 -54
- package/dist/templates/saas/style-maximal-shared.js +11 -10
- package/dist/templates/saas/style-maximal.js +54 -53
- package/dist/templates/saas/style-pastel-shared.js +12 -11
- package/dist/templates/saas/style-pastel.js +55 -54
- package/dist/templates/saas/style-sketch-shared.js +11 -10
- package/dist/templates/saas/style-sketch.js +55 -54
- package/dist/templates/saas/style-swiss-shared.js +11 -10
- package/dist/templates/saas/style-swiss.js +55 -54
- package/dist/templates/saas/style-terminal-shared.js +13 -12
- package/dist/templates/saas/style-terminal.js +56 -55
- package/dist/templates/saas/video-shared.js +11 -10
- package/dist/templates/saas/video.js +50 -49
- package/dist/templates/saas/web-shared.js +16 -15
- package/dist/templates/saas/web.js +53 -52
- package/dist/templates/scenes/before-after.js +40 -39
- package/dist/templates/scenes/carousel-video.js +41 -40
- package/dist/templates/scenes/saas-film-app-preview.js +42 -41
- package/dist/templates/scenes/saas-film-bright-trailer.js +41 -40
- package/dist/templates/scenes/saas-film-product-hunt-launch.js +41 -40
- package/dist/templates/scenes/saas-film-youtube-demo-kit.js +42 -41
- package/dist/templates/scenes/shared.js +26 -25
- package/dist/templates/scenes/story-ad.js +44 -43
- package/dist/templates/scenes/story-bakery.js +41 -40
- package/dist/templates/scenes/story-fitness.js +41 -40
- package/dist/templates/scenes/story-hotel.js +41 -40
- package/dist/templates/scenes/transitions-pack.js +41 -40
- package/dist/templates/scenes/web-scroll.js +41 -40
- package/dist/templates/shared/motion.js +11 -10
- package/dist/templates/shared/overlays.js +12 -11
- package/dist/templates/shared/pointer.js +11 -10
- package/dist/templates/slides/agenda.js +41 -40
- package/dist/templates/slides/deck.js +40 -39
- package/dist/templates/slides/education.js +41 -40
- package/dist/templates/slides/launch.js +41 -40
- package/dist/templates/slides/layouts.js +41 -40
- package/dist/templates/slides/pitch.js +41 -40
- package/dist/templates/slides/report.js +41 -40
- package/dist/templates/slides/saas-mail-investor-update.js +42 -41
- package/dist/templates/slides/saas-mail-seed-pitch.js +42 -41
- package/dist/templates/slides/sales.js +41 -40
- package/dist/templates/slides/section-divider.js +41 -40
- package/dist/templates/slides/title-card.js +41 -40
- package/dist/templates/slides/training.js +41 -40
- package/dist/templates/slides/webinar.js +41 -40
- package/dist/templates/slideshow/baby.js +42 -41
- package/dist/templates/slideshow/birthday.js +42 -41
- package/dist/templates/slideshow/holiday.js +42 -41
- package/dist/templates/slideshow/home.js +42 -41
- package/dist/templates/slideshow/index.js +49 -48
- package/dist/templates/slideshow/memorial.js +42 -41
- package/dist/templates/slideshow/shared.js +41 -40
- package/dist/templates/slideshow/travel.js +42 -41
- package/dist/templates/slideshow/wedding.js +42 -41
- package/dist/templates/social/april-fools-link-preview.js +42 -41
- package/dist/templates/social/april-fools-price-slash-post.js +42 -41
- package/dist/templates/social/arcade-boss-fight.js +43 -42
- package/dist/templates/social/arcade-level-up.js +43 -42
- package/dist/templates/social/art-deco-link-preview.js +41 -40
- package/dist/templates/social/art-deco-premiere-post.js +41 -40
- package/dist/templates/social/autumn-harvest-link-preview.js +41 -40
- package/dist/templates/social/autumn-harvest-thanks-post.js +41 -40
- package/dist/templates/social/back-to-school-link-preview.js +41 -40
- package/dist/templates/social/back-to-school-report-card-post.js +41 -40
- package/dist/templates/social/bauhaus-drift-post.js +41 -40
- package/dist/templates/social/bauhaus-link-preview.js +41 -40
- package/dist/templates/social/bauhaus-pricing-post.js +41 -40
- package/dist/templates/social/black-friday-ads.js +40 -39
- package/dist/templates/social/black-friday-countdown.js +40 -39
- package/dist/templates/social/black-friday-coupons-ads.js +41 -40
- package/dist/templates/social/black-friday-coupons-countdown.js +42 -41
- package/dist/templates/social/black-friday-neon-ads.js +43 -42
- package/dist/templates/social/black-friday-neon-countdown.js +43 -42
- package/dist/templates/social/black-friday-scratch-ads.js +41 -40
- package/dist/templates/social/black-friday-ticker-ads.js +41 -40
- package/dist/templates/social/black-friday-ticker-countdown.js +41 -40
- package/dist/templates/social/blueprint-dimension-post.js +42 -41
- package/dist/templates/social/blueprint-link-preview.js +42 -41
- package/dist/templates/social/blueprint-parts-list-post.js +42 -41
- package/dist/templates/social/broadsheet-hiring-classifieds.js +40 -39
- package/dist/templates/social/broadsheet-link-preview.js +40 -39
- package/dist/templates/social/claymation-link-preview.js +42 -41
- package/dist/templates/social/claymation-streak-post.js +42 -41
- package/dist/templates/social/comic-book-cover-preview.js +43 -42
- package/dist/templates/social/comic-book-strip-post.js +43 -42
- package/dist/templates/social/cyberpunk-implant-post.js +43 -42
- package/dist/templates/social/cyberpunk-link-preview.js +43 -42
- package/dist/templates/social/departure-board-pass-ad.js +41 -40
- package/dist/templates/social/departure-board-store-set.js +41 -40
- package/dist/templates/social/departure-board-thanks-post.js +41 -40
- package/dist/templates/social/diwali-link-preview.js +42 -41
- package/dist/templates/social/diwali-thanks-post.js +42 -41
- package/dist/templates/social/earth-day-link-preview.js +42 -41
- package/dist/templates/social/everyday-save-the-date-post.js +42 -41
- package/dist/templates/social/festival-presale-electronic-ads.js +46 -45
- package/dist/templates/social/festival-presale-family-ads.js +46 -45
- package/dist/templates/social/festival-presale-folk-ads.js +46 -45
- package/dist/templates/social/festival-presale-food-ads.js +46 -45
- package/dist/templates/social/festival-presale-jazz-ads.js +46 -45
- package/dist/templates/social/festival-presale-street-ads.js +47 -46
- package/dist/templates/social/gothic-feature-post.js +40 -39
- package/dist/templates/social/gothic-link-preview.js +40 -39
- package/dist/templates/social/halloween-link-preview.js +42 -41
- package/dist/templates/social/halloween-offer-post.js +42 -41
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +40 -39
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +40 -39
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +40 -39
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +40 -39
- package/dist/templates/social/holidays-valentines-florist-post.js +40 -39
- package/dist/templates/social/lunar-new-year-greeting-post.js +42 -41
- package/dist/templates/social/lunar-new-year-link-preview.js +42 -41
- package/dist/templates/social/machined-link-preview.js +42 -41
- package/dist/templates/social/machined-plate-post.js +42 -41
- package/dist/templates/social/manuscript-chapter-post.js +41 -40
- package/dist/templates/social/manuscript-link-preview.js +41 -40
- package/dist/templates/social/new-year-link-preview.js +42 -41
- package/dist/templates/social/new-year-resolutions-post.js +42 -41
- package/dist/templates/social/noir-case-file.js +43 -42
- package/dist/templates/social/noir-feature-post.js +43 -42
- package/dist/templates/social/post-announcement.js +40 -39
- package/dist/templates/social/post-event.js +40 -39
- package/dist/templates/social/post-podcast.js +40 -39
- package/dist/templates/social/post-quote.js +40 -39
- package/dist/templates/social/post-sale.js +40 -39
- package/dist/templates/social/post-stat.js +40 -39
- package/dist/templates/social/post-testimonial.js +40 -39
- package/dist/templates/social/promo-announcement.js +40 -39
- package/dist/templates/social/promo-beat-drop.js +40 -39
- package/dist/templates/social/promo-event.js +40 -39
- package/dist/templates/social/promo-new-product.js +40 -39
- package/dist/templates/social/promo-quote-reveal.js +40 -39
- package/dist/templates/social/promo-sale-drop.js +40 -39
- package/dist/templates/social/promo-tip-list.js +40 -39
- package/dist/templates/social/psychedelic-lineup-post.js +42 -41
- package/dist/templates/social/psychedelic-link-preview.js +42 -41
- package/dist/templates/social/riso-zine-link-preview.js +43 -42
- package/dist/templates/social/riso-zine-mrr-poster.js +43 -42
- package/dist/templates/social/saas-kit-carousel.js +40 -39
- package/dist/templates/social/saas-kit-countdown-post.js +40 -39
- package/dist/templates/social/saas-kit-feature-drop.js +41 -40
- package/dist/templates/social/saas-kit-link-preview.js +40 -39
- package/dist/templates/social/saas-kit-live-post.js +40 -39
- package/dist/templates/social/saas-kit-mrr-card.js +40 -39
- package/dist/templates/social/saas-kit-ph-gallery.js +40 -39
- package/dist/templates/social/saas-kit-ph-thumb.js +40 -39
- package/dist/templates/social/saas-kit-youtube-thumbs.js +40 -39
- package/dist/templates/social/saas-store-b2b-ads.js +41 -40
- package/dist/templates/social/saas-store-caption-set.js +41 -40
- package/dist/templates/social/saas-store-chrome-kit.js +41 -40
- package/dist/templates/social/saas-store-ipad-set.js +41 -40
- package/dist/templates/social/saas-store-panorama.js +42 -41
- package/dist/templates/social/saas-store-play-kit.js +40 -39
- package/dist/templates/social/saas-store-story.js +41 -40
- package/dist/templates/social/singles-day-link-preview.js +42 -41
- package/dist/templates/social/solarpunk-impact-post.js +42 -41
- package/dist/templates/social/solarpunk-link-preview.js +42 -41
- package/dist/templates/social/space-opera-link-preview.js +42 -41
- package/dist/templates/social/space-opera-mission-patch-post.js +42 -41
- package/dist/templates/social/spring-bloom-link-preview.js +42 -41
- package/dist/templates/social/studio-class-timetable.js +40 -39
- package/dist/templates/social/studio-podcast-cover.js +40 -39
- package/dist/templates/social/style-bento-announcement.js +41 -40
- package/dist/templates/social/style-bento-link-preview.js +41 -40
- package/dist/templates/social/style-bento-milestone.js +41 -40
- package/dist/templates/social/style-bento-testimonial.js +42 -41
- package/dist/templates/social/style-brutalist-announcement.js +41 -40
- package/dist/templates/social/style-brutalist-link-preview.js +41 -40
- package/dist/templates/social/style-brutalist-milestone.js +42 -41
- package/dist/templates/social/style-brutalist-testimonial.js +41 -40
- package/dist/templates/social/style-dark-announcement.js +41 -40
- package/dist/templates/social/style-dark-link-preview.js +40 -39
- package/dist/templates/social/style-dark-milestone.js +41 -40
- package/dist/templates/social/style-dark-testimonial.js +42 -41
- package/dist/templates/social/style-data-announcement.js +41 -40
- package/dist/templates/social/style-data-link-preview.js +41 -40
- package/dist/templates/social/style-data-milestone.js +42 -41
- package/dist/templates/social/style-data-testimonial.js +42 -41
- package/dist/templates/social/style-editorial-announcement.js +41 -40
- package/dist/templates/social/style-editorial-link-preview.js +41 -40
- package/dist/templates/social/style-editorial-milestone.js +41 -40
- package/dist/templates/social/style-editorial-testimonial.js +42 -41
- package/dist/templates/social/style-glass-announcement.js +42 -41
- package/dist/templates/social/style-glass-link-preview.js +42 -41
- package/dist/templates/social/style-glass-milestone.js +42 -41
- package/dist/templates/social/style-glass-testimonial.js +43 -42
- package/dist/templates/social/style-gradient-announcement.js +41 -40
- package/dist/templates/social/style-gradient-link-preview.js +41 -40
- package/dist/templates/social/style-gradient-milestone.js +42 -41
- package/dist/templates/social/style-gradient-testimonial.js +42 -41
- package/dist/templates/social/style-maximal-announcement.js +41 -40
- package/dist/templates/social/style-maximal-link-preview.js +41 -40
- package/dist/templates/social/style-maximal-milestone.js +41 -40
- package/dist/templates/social/style-maximal-testimonial.js +42 -41
- package/dist/templates/social/style-pastel-announcement.js +42 -41
- package/dist/templates/social/style-pastel-link-preview.js +42 -41
- package/dist/templates/social/style-pastel-milestone.js +42 -41
- package/dist/templates/social/style-pastel-testimonial.js +43 -42
- package/dist/templates/social/style-sketch-announcement.js +42 -41
- package/dist/templates/social/style-sketch-link-preview.js +41 -40
- package/dist/templates/social/style-sketch-milestone.js +41 -40
- package/dist/templates/social/style-sketch-testimonial.js +42 -41
- package/dist/templates/social/style-swiss-announcement.js +41 -40
- package/dist/templates/social/style-swiss-link-preview.js +41 -40
- package/dist/templates/social/style-swiss-milestone.js +41 -40
- package/dist/templates/social/style-swiss-testimonial.js +42 -41
- package/dist/templates/social/style-terminal-announcement.js +43 -42
- package/dist/templates/social/style-terminal-link-preview.js +43 -42
- package/dist/templates/social/style-terminal-milestone.js +43 -42
- package/dist/templates/social/style-terminal-testimonial.js +44 -43
- package/dist/templates/social/summer-heatwave-link-preview.js +42 -41
- package/dist/templates/social/summer-heatwave-lolly-post.js +42 -41
- package/dist/templates/social/tour-tickets-june-ads.js +40 -39
- package/dist/templates/social/tour-tickets-tide-ads.js +40 -39
- package/dist/templates/social/tour-tickets-wreck-ads.js +40 -39
- package/dist/templates/social/transit-map-link-preview.js +42 -41
- package/dist/templates/social/ukiyo-e-link-preview.js +42 -41
- package/dist/templates/social/ukiyo-e-spike-post.js +42 -41
- package/dist/templates/social/valentines-link-preview.js +42 -41
- package/dist/templates/social/valentines-poem-post.js +42 -41
- package/dist/templates/social/vaporwave-feature-drop.js +41 -40
- package/dist/templates/social/vaporwave-link-preview.js +41 -40
- package/dist/templates/social/winter-cosy-link-preview.js +43 -42
- package/dist/templates/social/winter-holidays-link-preview.js +43 -42
- package/dist/templates/social/winter-holidays-thanks-post.js +43 -42
- package/dist/templates/stings/line-reveal.js +40 -39
- package/dist/templates/stings/sting-blur.js +40 -39
- package/dist/templates/stings/sting-pop.js +40 -39
- package/dist/templates/stings/sting-rise.js +40 -39
- package/dist/templates/stings/sting-shimmer.js +40 -39
- package/dist/templates/stings/word-swap.js +40 -39
- package/dist/templates/text/stat-counter.js +40 -39
- package/dist/templates/text/word-quote.js +40 -39
- package/dist/templates/themes/april-fools-shared.js +27 -26
- package/dist/templates/themes/april-fools.js +47 -46
- package/dist/templates/themes/arcade-shared.js +13 -12
- package/dist/templates/themes/arcade.js +47 -46
- package/dist/templates/themes/art-deco-shared.js +11 -10
- package/dist/templates/themes/art-deco.js +47 -46
- package/dist/templates/themes/autumn-harvest-shared.js +11 -10
- package/dist/templates/themes/autumn-harvest.js +47 -46
- package/dist/templates/themes/back-to-school-shared.js +11 -10
- package/dist/templates/themes/back-to-school.js +47 -46
- package/dist/templates/themes/bauhaus-shared.js +11 -10
- package/dist/templates/themes/bauhaus.js +46 -45
- package/dist/templates/themes/black-friday-coupons-shared.js +11 -10
- package/dist/templates/themes/black-friday-coupons.js +49 -48
- package/dist/templates/themes/black-friday-neon-shared.js +12 -11
- package/dist/templates/themes/black-friday-neon.js +50 -49
- package/dist/templates/themes/black-friday-scratch-shared.js +11 -10
- package/dist/templates/themes/black-friday-scratch.js +48 -47
- package/dist/templates/themes/black-friday-ticker-shared.js +11 -10
- package/dist/templates/themes/black-friday-ticker.js +49 -48
- package/dist/templates/themes/black-friday.js +46 -45
- package/dist/templates/themes/blueprint-shared.js +12 -11
- package/dist/templates/themes/blueprint.js +47 -46
- package/dist/templates/themes/broadsheet.js +47 -46
- package/dist/templates/themes/claymation-shared.js +12 -11
- package/dist/templates/themes/claymation.js +48 -47
- package/dist/templates/themes/comic-book-shared.js +13 -12
- package/dist/templates/themes/comic-book.js +47 -46
- package/dist/templates/themes/cyberpunk-shared.js +13 -12
- package/dist/templates/themes/cyberpunk.js +49 -48
- package/dist/templates/themes/departure-board-shared.js +11 -10
- package/dist/templates/themes/departure-board.js +46 -45
- package/dist/templates/themes/diwali-shared.js +12 -11
- package/dist/templates/themes/diwali.js +48 -47
- package/dist/templates/themes/earth-day-shared.js +12 -11
- package/dist/templates/themes/earth-day.js +48 -47
- package/dist/templates/themes/everyday-shared.js +12 -11
- package/dist/templates/themes/everyday.js +50 -49
- package/dist/templates/themes/festival-presale-electronic-kit.js +45 -44
- package/dist/templates/themes/festival-presale-family-a-shared.js +44 -43
- package/dist/templates/themes/festival-presale-family-a.js +69 -68
- package/dist/templates/themes/festival-presale-family-b-shared.js +44 -43
- package/dist/templates/themes/festival-presale-family-b.js +70 -69
- package/dist/templates/themes/festival-presale-family-kit.js +45 -44
- package/dist/templates/themes/festival-presale-folk-kit.js +45 -44
- package/dist/templates/themes/festival-presale-food-kit.js +45 -44
- package/dist/templates/themes/festival-presale-jazz-kit.js +45 -44
- package/dist/templates/themes/festival-presale-shared.js +18 -17
- package/dist/templates/themes/festival-presale-street-kit.js +46 -45
- package/dist/templates/themes/festival-presale.js +50 -49
- package/dist/templates/themes/gothic.js +46 -45
- package/dist/templates/themes/halloween-shared.js +12 -11
- package/dist/templates/themes/halloween.js +48 -47
- package/dist/templates/themes/holidays.js +63 -62
- package/dist/templates/themes/index.js +469 -442
- package/dist/templates/themes/lunar-new-year-shared.js +12 -11
- package/dist/templates/themes/lunar-new-year.js +48 -47
- package/dist/templates/themes/machined-shared.js +27 -26
- package/dist/templates/themes/machined.js +46 -45
- package/dist/templates/themes/manuscript-shared.js +11 -10
- package/dist/templates/themes/manuscript.js +47 -46
- package/dist/templates/themes/new-year-shared.js +12 -11
- package/dist/templates/themes/new-year.js +48 -47
- package/dist/templates/themes/noir-shared.js +13 -12
- package/dist/templates/themes/noir.js +49 -48
- package/dist/templates/themes/printshop-shared.js +116 -0
- package/dist/templates/themes/printshop.js +110 -1
- package/dist/templates/themes/psychedelic-shared.js +12 -11
- package/dist/templates/themes/psychedelic.js +48 -47
- package/dist/templates/themes/riso-zine-shared.js +13 -12
- package/dist/templates/themes/riso-zine.js +49 -48
- package/dist/templates/themes/singles-day-shared.js +12 -11
- package/dist/templates/themes/singles-day.js +48 -47
- package/dist/templates/themes/solarpunk-shared.js +12 -11
- package/dist/templates/themes/solarpunk.js +48 -47
- package/dist/templates/themes/space-opera-shared.js +12 -11
- package/dist/templates/themes/space-opera.js +48 -47
- package/dist/templates/themes/spring-bloom-shared.js +12 -11
- package/dist/templates/themes/spring-bloom.js +48 -47
- package/dist/templates/themes/studio.js +45 -44
- package/dist/templates/themes/summer-heatwave-shared.js +12 -11
- package/dist/templates/themes/summer-heatwave.js +48 -47
- package/dist/templates/themes/tour-tickets-page-shared.js +17 -16
- package/dist/templates/themes/tour-tickets.js +68 -67
- package/dist/templates/themes/transit-map-shared.js +12 -11
- package/dist/templates/themes/transit-map.js +48 -47
- package/dist/templates/themes/ukiyo-e-shared.js +12 -11
- package/dist/templates/themes/ukiyo-e.js +48 -47
- package/dist/templates/themes/valentines-shared.js +12 -11
- package/dist/templates/themes/valentines.js +48 -47
- package/dist/templates/themes/vaporwave-shared.js +11 -10
- package/dist/templates/themes/vaporwave.js +46 -45
- package/dist/templates/themes/winter-cosy-shared.js +12 -11
- package/dist/templates/themes/winter-cosy.js +49 -48
- package/dist/templates/themes/winter-holidays-shared.js +12 -11
- package/dist/templates/themes/winter-holidays.js +49 -48
- package/dist/templates/video/youtube-chapter.js +40 -39
- package/dist/templates/video/youtube-end-screen.js +40 -39
- package/dist/templates/video/youtube-intro.js +40 -39
- package/dist/templates/video/youtube-subscribe.js +40 -39
- package/dist/templates/web/app-ui.js +27 -26
- package/dist/templates/web/april-fools-landing.js +42 -41
- package/dist/templates/web/arcade-landing.js +43 -42
- package/dist/templates/web/art-deco-landing.js +41 -40
- package/dist/templates/web/autumn-harvest-landing.js +41 -40
- package/dist/templates/web/back-to-school-landing.js +41 -40
- package/dist/templates/web/bauhaus-landing.js +41 -40
- package/dist/templates/web/black-friday-coupons-landing.js +42 -41
- package/dist/templates/web/black-friday-landing.js +40 -39
- package/dist/templates/web/black-friday-neon-landing.js +42 -41
- package/dist/templates/web/black-friday-scratch-landing.js +41 -40
- package/dist/templates/web/black-friday-ticker-landing.js +41 -40
- package/dist/templates/web/blog-post.js +40 -39
- package/dist/templates/web/blueprint-landing.js +42 -41
- package/dist/templates/web/broadsheet-landing.js +40 -39
- package/dist/templates/web/claymation-landing.js +42 -41
- package/dist/templates/web/comic-book-landing.js +43 -42
- package/dist/templates/web/coming-soon-page.js +41 -40
- package/dist/templates/web/coming-soon.js +40 -39
- package/dist/templates/web/contact.js +41 -40
- package/dist/templates/web/cyberpunk-landing.js +43 -42
- package/dist/templates/web/daybreak-app.js +42 -41
- package/dist/templates/web/departure-board-download.js +41 -40
- package/dist/templates/web/diwali-landing.js +42 -41
- package/dist/templates/web/earth-day-landing.js +42 -41
- package/dist/templates/web/everyday-cafe.js +43 -42
- package/dist/templates/web/everyday-hotel.js +43 -42
- package/dist/templates/web/everyday-wedding.js +44 -43
- package/dist/templates/web/festival-presale-electronic.js +43 -42
- package/dist/templates/web/festival-presale-family.js +43 -42
- package/dist/templates/web/festival-presale-folk.js +43 -42
- package/dist/templates/web/festival-presale-food.js +43 -42
- package/dist/templates/web/festival-presale-jazz.js +43 -42
- package/dist/templates/web/festival-presale-street.js +44 -43
- package/dist/templates/web/forms.js +26 -25
- package/dist/templates/web/gothic-landing.js +40 -39
- package/dist/templates/web/halloween-landing.js +42 -41
- package/dist/templates/web/hero-animated.js +40 -39
- package/dist/templates/web/kindling-app.js +42 -41
- package/dist/templates/web/launch-waitlist.js +41 -40
- package/dist/templates/web/lunar-new-year-landing.js +42 -41
- package/dist/templates/web/machined-hero.js +42 -41
- package/dist/templates/web/manuscript-landing.js +41 -40
- package/dist/templates/web/marginalia-app.js +42 -41
- package/dist/templates/web/new-year-landing.js +42 -41
- package/dist/templates/web/noir-landing.js +43 -42
- package/dist/templates/web/page-404.js +40 -39
- package/dist/templates/web/portfolio-architect.js +41 -40
- package/dist/templates/web/portfolio-card-deck.js +41 -40
- package/dist/templates/web/portfolio-case-folio.js +41 -40
- package/dist/templates/web/portfolio-cube-gallery.js +41 -40
- package/dist/templates/web/portfolio-depth-tunnel.js +41 -40
- package/dist/templates/web/portfolio-editorial.js +41 -40
- package/dist/templates/web/portfolio-flip-wall.js +41 -40
- package/dist/templates/web/portfolio-index-list.js +41 -40
- package/dist/templates/web/portfolio-photographer.js +41 -40
- package/dist/templates/web/portfolio-reel-carousel.js +41 -40
- package/dist/templates/web/portfolio-shared.js +26 -25
- package/dist/templates/web/portfolio-sketchbook.js +41 -40
- package/dist/templates/web/portfolio-studio-grid.js +41 -40
- package/dist/templates/web/portfolio.js +40 -39
- package/dist/templates/web/portfolios.js +53 -52
- package/dist/templates/web/potluck-app.js +42 -41
- package/dist/templates/web/pricing-toggle.js +40 -39
- package/dist/templates/web/product-page.js +40 -39
- package/dist/templates/web/psychedelic-landing.js +42 -41
- package/dist/templates/web/riso-zine-landing.js +43 -42
- package/dist/templates/web/rsvp-invite.js +41 -40
- package/dist/templates/web/saas-ai-landing.js +41 -40
- package/dist/templates/web/saas-app-download.js +41 -40
- package/dist/templates/web/saas-case-study.js +41 -40
- package/dist/templates/web/saas-changelog.js +41 -40
- package/dist/templates/web/saas-comparison.js +41 -40
- package/dist/templates/web/saas-data-landing.js +41 -40
- package/dist/templates/web/saas-dev-landing.js +41 -40
- package/dist/templates/web/saas-indie-landing.js +41 -40
- package/dist/templates/web/saas-integrations.js +41 -40
- package/dist/templates/web/saas-security.js +41 -40
- package/dist/templates/web/saas-signup.js +41 -40
- package/dist/templates/web/saas-waitlist.js +41 -40
- package/dist/templates/web/saffron-app.js +42 -41
- package/dist/templates/web/shop-bloom.js +43 -42
- package/dist/templates/web/shop-circuit.js +43 -42
- package/dist/templates/web/shop-fieldwork.js +43 -42
- package/dist/templates/web/shop-greenhouse.js +43 -42
- package/dist/templates/web/shop-kiln.js +43 -42
- package/dist/templates/web/shop-marginalia.js +43 -42
- package/dist/templates/web/shop-ode.js +43 -42
- package/dist/templates/web/shop-shared.js +28 -27
- package/dist/templates/web/shop-static.js +43 -42
- package/dist/templates/web/shop-summit.js +43 -42
- package/dist/templates/web/shops.js +52 -51
- package/dist/templates/web/singles-day-landing.js +42 -41
- package/dist/templates/web/solarpunk-landing.js +42 -41
- package/dist/templates/web/space-opera-landing.js +42 -41
- package/dist/templates/web/spring-bloom-landing.js +42 -41
- package/dist/templates/web/studio-careers.js +40 -39
- package/dist/templates/web/style-bento-landing.js +43 -42
- package/dist/templates/web/style-bento-pricing.js +42 -41
- package/dist/templates/web/style-brutalist-landing.js +42 -41
- package/dist/templates/web/style-brutalist-pricing.js +42 -41
- package/dist/templates/web/style-dark-landing.js +43 -42
- package/dist/templates/web/style-dark-pricing.js +42 -41
- package/dist/templates/web/style-data-landing.js +44 -43
- package/dist/templates/web/style-data-pricing.js +42 -41
- package/dist/templates/web/style-editorial-landing.js +42 -41
- package/dist/templates/web/style-editorial-pricing.js +43 -42
- package/dist/templates/web/style-glass-landing.js +44 -43
- package/dist/templates/web/style-glass-pricing.js +43 -42
- package/dist/templates/web/style-gradient-landing.js +44 -43
- package/dist/templates/web/style-gradient-pricing.js +42 -41
- package/dist/templates/web/style-maximal-landing.js +43 -42
- package/dist/templates/web/style-maximal-pricing.js +42 -41
- package/dist/templates/web/style-pastel-landing.js +44 -43
- package/dist/templates/web/style-pastel-pricing.js +43 -42
- package/dist/templates/web/style-sketch-landing.js +44 -43
- package/dist/templates/web/style-sketch-pricing.js +42 -41
- package/dist/templates/web/style-swiss-landing.js +44 -43
- package/dist/templates/web/style-swiss-pricing.js +42 -41
- package/dist/templates/web/style-terminal-landing.js +45 -44
- package/dist/templates/web/style-terminal-pricing.js +44 -43
- package/dist/templates/web/summer-heatwave-landing.js +42 -41
- package/dist/templates/web/tempo-app.js +42 -41
- package/dist/templates/web/tour-tickets-june-landing.js +42 -41
- package/dist/templates/web/tour-tickets-tide-landing.js +42 -41
- package/dist/templates/web/tour-tickets-wreck-landing.js +42 -41
- package/dist/templates/web/transit-map-landing.js +42 -41
- package/dist/templates/web/ukiyo-e-landing.js +42 -41
- package/dist/templates/web/valentines-landing.js +42 -41
- package/dist/templates/web/vaporwave-landing.js +41 -40
- package/dist/templates/web/wayfarer-app.js +42 -41
- package/dist/templates/web/winter-cosy-landing.js +43 -42
- package/dist/templates/web/winter-holidays-landing.js +43 -42
- package/package.json +1 -1
- package/src/templates/print/printshop-booklet-open-day.ts +170 -0
- package/src/templates/print/printshop-brochure-community.ts +152 -0
- package/src/templates/print/printshop-brochure-dental.ts +157 -0
- package/src/templates/print/printshop-brochure-gym.ts +134 -0
- package/src/templates/print/printshop-brochure-landscaping.ts +143 -0
- package/src/templates/print/printshop-brochure-travel.ts +150 -0
- package/src/templates/print/printshop-card-architect.ts +91 -0
- package/src/templates/print/printshop-card-barber.ts +76 -0
- package/src/templates/print/printshop-card-cafe.ts +81 -0
- package/src/templates/print/printshop-card-developer.ts +78 -0
- package/src/templates/print/printshop-card-florist.ts +95 -0
- package/src/templates/print/printshop-card-lawyer.ts +68 -0
- package/src/templates/print/printshop-card-photographer.ts +66 -0
- package/src/templates/print/printshop-card-plumber.ts +85 -0
- package/src/templates/print/printshop-card-realtor.ts +78 -0
- package/src/templates/print/printshop-card-yoga.ts +72 -0
- package/src/templates/print/printshop-flyer-charity-run.ts +81 -0
- package/src/templates/print/printshop-flyer-farmers-market.ts +81 -0
- package/src/templates/print/printshop-flyer-garage-sale.ts +75 -0
- package/src/templates/print/printshop-flyer-grand-opening.ts +73 -0
- package/src/templates/print/printshop-flyer-lost-pet.ts +92 -0
- package/src/templates/print/printshop-flyer-tutoring.ts +89 -0
- package/src/templates/print/printshop-flyer-yard-work.ts +66 -0
- package/src/templates/print/printshop-poster-live-music.ts +85 -0
- package/src/templates/themes/printshop-shared.ts +289 -0
- package/src/templates/themes/printshop.ts +29 -1
- package/types/lib/extensions/qr/encoder.d.ts +22 -0
- package/types/lib/units/units.d.ts +23 -0
- package/types/templates/src/print/printshop-booklet-open-day.d.ts +2 -0
- package/types/templates/src/print/printshop-brochure-community.d.ts +2 -0
- package/types/templates/src/print/printshop-brochure-dental.d.ts +2 -0
- package/types/templates/src/print/printshop-brochure-gym.d.ts +2 -0
- package/types/templates/src/print/printshop-brochure-landscaping.d.ts +2 -0
- package/types/templates/src/print/printshop-brochure-travel.d.ts +2 -0
- package/types/templates/src/print/printshop-card-architect.d.ts +2 -0
- package/types/templates/src/print/printshop-card-barber.d.ts +2 -0
- package/types/templates/src/print/printshop-card-cafe.d.ts +2 -0
- package/types/templates/src/print/printshop-card-developer.d.ts +2 -0
- package/types/templates/src/print/printshop-card-florist.d.ts +2 -0
- package/types/templates/src/print/printshop-card-lawyer.d.ts +2 -0
- package/types/templates/src/print/printshop-card-photographer.d.ts +2 -0
- package/types/templates/src/print/printshop-card-plumber.d.ts +2 -0
- package/types/templates/src/print/printshop-card-realtor.d.ts +2 -0
- package/types/templates/src/print/printshop-card-yoga.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-charity-run.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-farmers-market.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-garage-sale.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-grand-opening.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-lost-pet.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-tutoring.d.ts +2 -0
- package/types/templates/src/print/printshop-flyer-yard-work.d.ts +2 -0
- package/types/templates/src/print/printshop-poster-live-music.d.ts +2 -0
- package/types/templates/src/themes/printshop-shared.d.ts +145 -0
- package/dist/chunks/agent-WHQ76GA2.js +0 -44
- package/dist/chunks/api-ZYWHZ57F.js +0 -29
- package/dist/chunks/apply-ET5FQFYT.js +0 -45
- package/dist/chunks/audio-decode-HUXWSV6E.js +0 -54
- package/dist/chunks/audio-import-RWXNZWGM.js +0 -126
- package/dist/chunks/audio-plan-UJGK3FTZ.js +0 -46
- package/dist/chunks/board-export-HVQGTKT3.js +0 -179
- package/dist/chunks/browser-534BCJIZ.js +0 -178
- package/dist/chunks/build-66H4M2N2.js +0 -54
- package/dist/chunks/builtin-CKR7EPWW.js +0 -113
- package/dist/chunks/check-STS3FPOI.js +0 -55
- package/dist/chunks/check-template-D6CJZPKH.js +0 -2271
- package/dist/chunks/chunk-23QLVI6N.js +0 -468
- package/dist/chunks/chunk-25OXSSV6.js +0 -182
- package/dist/chunks/chunk-26EMRZID.js +0 -84
- package/dist/chunks/chunk-27XAXJH5.js +0 -282
- package/dist/chunks/chunk-2AOG3QJA.js +0 -139
- package/dist/chunks/chunk-2BT2BDO5.js +0 -249
- package/dist/chunks/chunk-2FATHT2M.js +0 -172
- package/dist/chunks/chunk-2FP4HOKP.js +0 -10425
- package/dist/chunks/chunk-2H5U5KEE.js +0 -33
- package/dist/chunks/chunk-2JNZDSEL.js +0 -361
- package/dist/chunks/chunk-2KS3HQ6F.js +0 -304
- package/dist/chunks/chunk-2MMUSDPX.js +0 -50
- package/dist/chunks/chunk-2NC7ZTTZ.js +0 -135
- package/dist/chunks/chunk-2NW4DD6B.js +0 -293
- package/dist/chunks/chunk-2OPTKVTV.js +0 -315
- package/dist/chunks/chunk-2OTT3QQU.js +0 -624
- package/dist/chunks/chunk-2PDJJZIB.js +0 -41
- package/dist/chunks/chunk-2PLGARF4.js +0 -10182
- package/dist/chunks/chunk-2T5ZDYQ6.js +0 -342
- package/dist/chunks/chunk-2TMUU6HA.js +0 -172
- package/dist/chunks/chunk-2VHJKSPV.js +0 -358
- package/dist/chunks/chunk-2WU6JQAQ.js +0 -689
- package/dist/chunks/chunk-2YMF7EDZ.js +0 -304
- package/dist/chunks/chunk-2ZLLRLJO.js +0 -33
- package/dist/chunks/chunk-33BWMLIO.js +0 -366
- package/dist/chunks/chunk-34FGDB2O.js +0 -39
- package/dist/chunks/chunk-34XIUNLO.js +0 -153
- package/dist/chunks/chunk-35GLQVL4.js +0 -125
- package/dist/chunks/chunk-37HV26NG.js +0 -263
- package/dist/chunks/chunk-37NWFJGS.js +0 -176
- package/dist/chunks/chunk-3AKUN6U5.js +0 -84
- package/dist/chunks/chunk-3ANAQ4PN.js +0 -221
- package/dist/chunks/chunk-3BEXW5D3.js +0 -327
- package/dist/chunks/chunk-3DIQKPE4.js +0 -120
- package/dist/chunks/chunk-3FGJJQWX.js +0 -197
- package/dist/chunks/chunk-3GLMBR3G.js +0 -54
- package/dist/chunks/chunk-3H73T3ZV.js +0 -138
- package/dist/chunks/chunk-3KBEU5EY.js +0 -105
- package/dist/chunks/chunk-3KMIZI2Z.js +0 -123
- package/dist/chunks/chunk-3LN3ZIT5.js +0 -23
- package/dist/chunks/chunk-3M3BD7NP.js +0 -82
- package/dist/chunks/chunk-3SF333DQ.js +0 -59
- package/dist/chunks/chunk-3UN7YPXG.js +0 -97
- package/dist/chunks/chunk-3W2XXKDI.js +0 -95
- package/dist/chunks/chunk-3W42OET7.js +0 -37
- package/dist/chunks/chunk-42KAI6KA.js +0 -141
- package/dist/chunks/chunk-42X4TCTL.js +0 -340
- package/dist/chunks/chunk-43X3EJLW.js +0 -173
- package/dist/chunks/chunk-444FFYMH.js +0 -157
- package/dist/chunks/chunk-44FJYAY6.js +0 -153
- package/dist/chunks/chunk-4553CWMU.js +0 -177
- package/dist/chunks/chunk-4A5D7VND.js +0 -23
- package/dist/chunks/chunk-4AWBRTLS.js +0 -224
- package/dist/chunks/chunk-4CB6I63T.js +0 -436
- package/dist/chunks/chunk-4CBR4LNQ.js +0 -77
- package/dist/chunks/chunk-4IJV2JVR.js +0 -209
- package/dist/chunks/chunk-4IOALJXD.js +0 -250
- package/dist/chunks/chunk-4KIBRHBF.js +0 -33
- package/dist/chunks/chunk-4M5E7DIN.js +0 -101
- package/dist/chunks/chunk-4MUCVABL.js +0 -11047
- package/dist/chunks/chunk-4MXYEHF4.js +0 -168
- package/dist/chunks/chunk-4QY2QDYE.js +0 -287
- package/dist/chunks/chunk-4R3IQL5R.js +0 -218
- package/dist/chunks/chunk-4T4PYQ7F.js +0 -150
- package/dist/chunks/chunk-4WFUQIHQ.js +0 -97
- package/dist/chunks/chunk-4YLBUAHS.js +0 -78
- package/dist/chunks/chunk-522PGIDU.js +0 -98
- package/dist/chunks/chunk-523SCRDO.js +0 -197
- package/dist/chunks/chunk-55D3ZWGU.js +0 -210
- package/dist/chunks/chunk-55DEZAA7.js +0 -60
- package/dist/chunks/chunk-57DEJEWB.js +0 -84
- package/dist/chunks/chunk-57UHZNAX.js +0 -41
- package/dist/chunks/chunk-5A5DZTDI.js +0 -120
- package/dist/chunks/chunk-5DXO47S6.js +0 -255
- package/dist/chunks/chunk-5F3XJMF5.js +0 -175
- package/dist/chunks/chunk-5H4IQVHM.js +0 -151
- package/dist/chunks/chunk-5HSQYTGD.js +0 -167
- package/dist/chunks/chunk-5I3WYJ4A.js +0 -258
- package/dist/chunks/chunk-5IVURNAB.js +0 -160
- package/dist/chunks/chunk-5JUXDW3M.js +0 -23
- package/dist/chunks/chunk-5K4SCQIZ.js +0 -544
- package/dist/chunks/chunk-5L5Y6UFF.js +0 -210
- package/dist/chunks/chunk-5MBBIE3K.js +0 -217
- package/dist/chunks/chunk-5N2ZWKIC.js +0 -83
- package/dist/chunks/chunk-5NFNCGKW.js +0 -45
- package/dist/chunks/chunk-5NIK3BGQ.js +0 -124
- package/dist/chunks/chunk-5NPZMARV.js +0 -182
- package/dist/chunks/chunk-5RBFX2VW.js +0 -118
- package/dist/chunks/chunk-5RBWERLP.js +0 -170
- package/dist/chunks/chunk-5WOXBPD6.js +0 -55
- package/dist/chunks/chunk-5Z4QQVV2.js +0 -98
- package/dist/chunks/chunk-5ZDR3OY2.js +0 -106
- package/dist/chunks/chunk-62E4VSVQ.js +0 -177
- package/dist/chunks/chunk-65LTIYZ3.js +0 -23
- package/dist/chunks/chunk-66JE536K.js +0 -75
- package/dist/chunks/chunk-67AKXLTZ.js +0 -76
- package/dist/chunks/chunk-67K7G3CO.js +0 -305
- package/dist/chunks/chunk-67PV6XFS.js +0 -97
- package/dist/chunks/chunk-6CO6TKUK.js +0 -154
- package/dist/chunks/chunk-6D4WELK2.js +0 -385
- package/dist/chunks/chunk-6EL7PK63.js +0 -43
- package/dist/chunks/chunk-6GUZDQ42.js +0 -358
- package/dist/chunks/chunk-6II5Y5GO.js +0 -101
- package/dist/chunks/chunk-6IU62A5V.js +0 -106
- package/dist/chunks/chunk-6J4NJ3RD.js +0 -160
- package/dist/chunks/chunk-6LHRUVLH.js +0 -102
- package/dist/chunks/chunk-6MHD4VOF.js +0 -41
- package/dist/chunks/chunk-6ODAVRQE.js +0 -333
- package/dist/chunks/chunk-6OK2IWLO.js +0 -122
- package/dist/chunks/chunk-6QRV76NS.js +0 -514
- package/dist/chunks/chunk-6UD6V5RX.js +0 -202
- package/dist/chunks/chunk-6UY4KXX7.js +0 -336
- package/dist/chunks/chunk-6VEUV7CE.js +0 -226
- package/dist/chunks/chunk-6WJMEADE.js +0 -79
- package/dist/chunks/chunk-6YVJI7YP.js +0 -163
- package/dist/chunks/chunk-6ZRZZFFJ.js +0 -78
- package/dist/chunks/chunk-6ZSI57NT.js +0 -887
- package/dist/chunks/chunk-73Z2HZWA.js +0 -231
- package/dist/chunks/chunk-76DATBW6.js +0 -53
- package/dist/chunks/chunk-7AXMVF3J.js +0 -65
- package/dist/chunks/chunk-7B32CLHD.js +0 -265
- package/dist/chunks/chunk-7BTYSQVR.js +0 -173
- package/dist/chunks/chunk-7ECTB64K.js +0 -133
- package/dist/chunks/chunk-7GPHTP2K.js +0 -190
- package/dist/chunks/chunk-7INBGC42.js +0 -201
- package/dist/chunks/chunk-7JKBP3VM.js +0 -176
- package/dist/chunks/chunk-7JKEW3FU.js +0 -191
- package/dist/chunks/chunk-7KFKBX3N.js +0 -115
- package/dist/chunks/chunk-7KHA462B.js +0 -30
- package/dist/chunks/chunk-7KPDTTHU.js +0 -134
- package/dist/chunks/chunk-7LQ2I47G.js +0 -1393
- package/dist/chunks/chunk-7MJBK45T.js +0 -151
- package/dist/chunks/chunk-7MO42PGF.js +0 -105
- package/dist/chunks/chunk-7NG3BYSL.js +0 -957
- package/dist/chunks/chunk-7OMAUXKY.js +0 -172
- package/dist/chunks/chunk-7OZSDS2C.js +0 -101
- package/dist/chunks/chunk-7RCWGOCB.js +0 -242
- package/dist/chunks/chunk-7RF3V36M.js +0 -157
- package/dist/chunks/chunk-7RFQOH7P.js +0 -156
- package/dist/chunks/chunk-7RYUS5A5.js +0 -94
- package/dist/chunks/chunk-7TX2LTGT.js +0 -368
- package/dist/chunks/chunk-7U34Q6IW.js +0 -415
- package/dist/chunks/chunk-7UES5NYJ.js +0 -122
- package/dist/chunks/chunk-7VGXK2H6.js +0 -44
- package/dist/chunks/chunk-7XTNBH3P.js +0 -200
- package/dist/chunks/chunk-7XUO3NWS.js +0 -140
- package/dist/chunks/chunk-7XYMOV4V.js +0 -199
- package/dist/chunks/chunk-7YH6FPPU.js +0 -137
- package/dist/chunks/chunk-7ZSMQUEC.js +0 -276
- package/dist/chunks/chunk-A47CAVBP.js +0 -284
- package/dist/chunks/chunk-A57F757F.js +0 -102
- package/dist/chunks/chunk-A5PTS7KS.js +0 -84
- package/dist/chunks/chunk-A6BLJ3SF.js +0 -141
- package/dist/chunks/chunk-A6KIRUL5.js +0 -133
- package/dist/chunks/chunk-ACAMS6JJ.js +0 -50
- package/dist/chunks/chunk-ACQIQTNT.js +0 -146
- package/dist/chunks/chunk-AD6BJ76E.js +0 -79
- package/dist/chunks/chunk-AFZBMDWH.js +0 -45
- package/dist/chunks/chunk-AGETP7RA.js +0 -127
- package/dist/chunks/chunk-AHAWGFIK.js +0 -93
- package/dist/chunks/chunk-AHQCNEFP.js +0 -103
- package/dist/chunks/chunk-AIBWURIZ.js +0 -46
- package/dist/chunks/chunk-ALLLR7QA.js +0 -45
- package/dist/chunks/chunk-AN6M6BUL.js +0 -266
- package/dist/chunks/chunk-ANXU5UI7.js +0 -157
- package/dist/chunks/chunk-AOWWHODN.js +0 -238
- package/dist/chunks/chunk-AP72CZNM.js +0 -101
- package/dist/chunks/chunk-APY4HFW2.js +0 -192
- package/dist/chunks/chunk-ARFNMVWS.js +0 -97
- package/dist/chunks/chunk-ATFT4EC5.js +0 -135
- package/dist/chunks/chunk-ATWSHBSY.js +0 -464
- package/dist/chunks/chunk-AUFTMGC2.js +0 -104
- package/dist/chunks/chunk-AUL25LUQ.js +0 -106
- package/dist/chunks/chunk-AVOFHOYA.js +0 -187
- package/dist/chunks/chunk-AYIVMY5H.js +0 -299
- package/dist/chunks/chunk-AYQLPM4X.js +0 -142
- package/dist/chunks/chunk-AYYLMDOM.js +0 -192
- package/dist/chunks/chunk-AZOAKAJ6.js +0 -93
- package/dist/chunks/chunk-B25VXPQD.js +0 -95
- package/dist/chunks/chunk-B3MNQ4IT.js +0 -85
- package/dist/chunks/chunk-B55QPIJB.js +0 -191
- package/dist/chunks/chunk-B6FETJJI.js +0 -196
- package/dist/chunks/chunk-B6OBHTW7.js +0 -39
- package/dist/chunks/chunk-BAK4RKGW.js +0 -23
- package/dist/chunks/chunk-BBGWHXS2.js +0 -66
- package/dist/chunks/chunk-BDUWGH7O.js +0 -98
- package/dist/chunks/chunk-BE7VW2CC.js +0 -182
- package/dist/chunks/chunk-BFA4EFSN.js +0 -113
- package/dist/chunks/chunk-BFUMDBCI.js +0 -55
- package/dist/chunks/chunk-BGG3FLB4.js +0 -1132
- package/dist/chunks/chunk-BGTBM24T.js +0 -45
- package/dist/chunks/chunk-BJHZBFXA.js +0 -122
- package/dist/chunks/chunk-BKMWOXUU.js +0 -232
- package/dist/chunks/chunk-BL4RSQT6.js +0 -362
- package/dist/chunks/chunk-BM75UYYD.js +0 -1417
- package/dist/chunks/chunk-BOEQSRMF.js +0 -198
- package/dist/chunks/chunk-BORK64JO.js +0 -89
- package/dist/chunks/chunk-BPMNP5QY.js +0 -158
- package/dist/chunks/chunk-BQ5BOFP7.js +0 -164
- package/dist/chunks/chunk-BQI7QBSW.js +0 -33
- package/dist/chunks/chunk-BQYWEUSP.js +0 -102
- package/dist/chunks/chunk-BROGBEC3.js +0 -213
- package/dist/chunks/chunk-BSUY6UN4.js +0 -36
- package/dist/chunks/chunk-BSZKM4O2.js +0 -143
- package/dist/chunks/chunk-BTUCU5WK.js +0 -257
- package/dist/chunks/chunk-BTUNDBNF.js +0 -331
- package/dist/chunks/chunk-BUYWTVFD.js +0 -202
- package/dist/chunks/chunk-BV6AD3ON.js +0 -111
- package/dist/chunks/chunk-BVHWZXU6.js +0 -165
- package/dist/chunks/chunk-BW436IBB.js +0 -278
- package/dist/chunks/chunk-BWCTBX66.js +0 -36
- package/dist/chunks/chunk-BX22ZDJI.js +0 -149
- package/dist/chunks/chunk-BXK4ZLTK.js +0 -112
- package/dist/chunks/chunk-BYFMOWUN.js +0 -136
- package/dist/chunks/chunk-C25GIYR7.js +0 -214
- package/dist/chunks/chunk-C2GUOURQ.js +0 -116
- package/dist/chunks/chunk-C2VS3GO2.js +0 -70
- package/dist/chunks/chunk-C4AGJOVY.js +0 -76
- package/dist/chunks/chunk-C4GZUPP6.js +0 -462
- package/dist/chunks/chunk-C5WBGRQ4.js +0 -45
- package/dist/chunks/chunk-CD2KARZQ.js +0 -103
- package/dist/chunks/chunk-CEASY4HZ.js +0 -84
- package/dist/chunks/chunk-CEM3RQRA.js +0 -194
- package/dist/chunks/chunk-CFTHGAE7.js +0 -171
- package/dist/chunks/chunk-CGGPGDMW.js +0 -219
- package/dist/chunks/chunk-CGOCMPN2.js +0 -181
- package/dist/chunks/chunk-CHMVWKSN.js +0 -149
- package/dist/chunks/chunk-CHQCKK4H.js +0 -131
- package/dist/chunks/chunk-CICPMTJA.js +0 -97
- package/dist/chunks/chunk-CJF4SUIM.js +0 -90
- package/dist/chunks/chunk-CLBT7FXS.js +0 -166
- package/dist/chunks/chunk-COT7ADJM.js +0 -157
- package/dist/chunks/chunk-CR22GUVD.js +0 -106
- package/dist/chunks/chunk-CSVLUS7L.js +0 -196
- package/dist/chunks/chunk-CVDUPFS7.js +0 -145
- package/dist/chunks/chunk-CZNPUJ4Y.js +0 -251
- package/dist/chunks/chunk-D2GOQC3Y.js +0 -503
- package/dist/chunks/chunk-D3UF6F3C.js +0 -278
- package/dist/chunks/chunk-D3Z5EMLT.js +0 -77
- package/dist/chunks/chunk-D63BASZX.js +0 -135
- package/dist/chunks/chunk-D655SPLZ.js +0 -156
- package/dist/chunks/chunk-D6QCCHJU.js +0 -194
- package/dist/chunks/chunk-D7LV62QH.js +0 -177
- package/dist/chunks/chunk-D7QZMZZW.js +0 -262
- package/dist/chunks/chunk-DAGRKPQC.js +0 -104
- package/dist/chunks/chunk-DCRESUNT.js +0 -33
- package/dist/chunks/chunk-DG35OVDY.js +0 -121
- package/dist/chunks/chunk-DGVUABHJ.js +0 -145
- package/dist/chunks/chunk-DJ6V3YII.js +0 -305
- package/dist/chunks/chunk-DK6MQYT3.js +0 -90
- package/dist/chunks/chunk-DLAUIVKB.js +0 -574
- package/dist/chunks/chunk-DNPQAM7Z.js +0 -119
- package/dist/chunks/chunk-DPCDAR5C.js +0 -23
- package/dist/chunks/chunk-DPN76LYJ.js +0 -81
- package/dist/chunks/chunk-DQGDNONK.js +0 -178
- package/dist/chunks/chunk-DS5AWKBO.js +0 -27
- package/dist/chunks/chunk-DSZVEAXN.js +0 -90
- package/dist/chunks/chunk-DVCPVDK3.js +0 -87
- package/dist/chunks/chunk-DYVKKBVB.js +0 -144
- package/dist/chunks/chunk-E4GSEHQE.js +0 -188
- package/dist/chunks/chunk-E4JKR44C.js +0 -777
- package/dist/chunks/chunk-E4TT5GB5.js +0 -231
- package/dist/chunks/chunk-E54I2MKC.js +0 -170
- package/dist/chunks/chunk-E6HM7QFJ.js +0 -105
- package/dist/chunks/chunk-E72L5ZFA.js +0 -117
- package/dist/chunks/chunk-EAKVGU5Q.js +0 -100
- package/dist/chunks/chunk-EGE5P5DH.js +0 -93
- package/dist/chunks/chunk-EHE7LGYR.js +0 -62
- package/dist/chunks/chunk-EHEZ7I43.js +0 -90
- package/dist/chunks/chunk-EID6KTBD.js +0 -45
- package/dist/chunks/chunk-EIRH7MRQ.js +0 -346
- package/dist/chunks/chunk-EIUEB4KH.js +0 -23
- package/dist/chunks/chunk-ELFNBWSX.js +0 -186
- package/dist/chunks/chunk-ELHHMRTT.js +0 -42
- package/dist/chunks/chunk-ELXFNMXR.js +0 -23
- package/dist/chunks/chunk-EOEVCQSB.js +0 -1136
- package/dist/chunks/chunk-ESRJBXFP.js +0 -120
- package/dist/chunks/chunk-EVDH4DMC.js +0 -178
- package/dist/chunks/chunk-EVZO5NYU.js +0 -53
- package/dist/chunks/chunk-EXZQAJOW.js +0 -478
- package/dist/chunks/chunk-EYAHH6QG.js +0 -179
- package/dist/chunks/chunk-EZA4CAAQ.js +0 -378
- package/dist/chunks/chunk-F3NSIJFU.js +0 -93
- package/dist/chunks/chunk-F4W53JH7.js +0 -224
- package/dist/chunks/chunk-F4XUX3MS.js +0 -248
- package/dist/chunks/chunk-F55A5SHM.js +0 -317
- package/dist/chunks/chunk-F5RNPJLA.js +0 -92
- package/dist/chunks/chunk-F67ZOS5R.js +0 -335
- package/dist/chunks/chunk-FAWWAMXK.js +0 -331
- package/dist/chunks/chunk-FCGLOJPS.js +0 -163
- package/dist/chunks/chunk-FE5DTZ6M.js +0 -100
- package/dist/chunks/chunk-FEOWBE6S.js +0 -78
- package/dist/chunks/chunk-FEWW43GH.js +0 -175
- package/dist/chunks/chunk-FFDX6HWT.js +0 -114
- package/dist/chunks/chunk-FGOAYTFK.js +0 -33
- package/dist/chunks/chunk-FGX6GA7J.js +0 -320
- package/dist/chunks/chunk-FIITJQGO.js +0 -651
- package/dist/chunks/chunk-FJ6F5ZUF.js +0 -161
- package/dist/chunks/chunk-FLXRZXT5.js +0 -56
- package/dist/chunks/chunk-FNNWBBZD.js +0 -225
- package/dist/chunks/chunk-FO3TE3FI.js +0 -75
- package/dist/chunks/chunk-FOZA6WL5.js +0 -201
- package/dist/chunks/chunk-FQ4MQCY4.js +0 -342
- package/dist/chunks/chunk-FQ7KVLIF.js +0 -106
- package/dist/chunks/chunk-FQEHKLB4.js +0 -81
- package/dist/chunks/chunk-FQF5LJJZ.js +0 -195
- package/dist/chunks/chunk-FRC6W4J7.js +0 -102
- package/dist/chunks/chunk-FSALE4HC.js +0 -290
- package/dist/chunks/chunk-FT7BZAGU.js +0 -121
- package/dist/chunks/chunk-FTYSJVU4.js +0 -195
- package/dist/chunks/chunk-FYMJ3WN5.js +0 -155
- package/dist/chunks/chunk-FZUISQJV.js +0 -42
- package/dist/chunks/chunk-G3CBXDIT.js +0 -261
- package/dist/chunks/chunk-G3VSYXON.js +0 -484
- package/dist/chunks/chunk-G4LVKVTY.js +0 -117
- package/dist/chunks/chunk-G6CCWJF2.js +0 -23
- package/dist/chunks/chunk-G72OSJJR.js +0 -728
- package/dist/chunks/chunk-GACPMZBJ.js +0 -89
- package/dist/chunks/chunk-GCIMDU7R.js +0 -251
- package/dist/chunks/chunk-GCK4HO2K.js +0 -250
- package/dist/chunks/chunk-GCL65I22.js +0 -116
- package/dist/chunks/chunk-GCPZGQHW.js +0 -274
- package/dist/chunks/chunk-GDY3IYLD.js +0 -100
- package/dist/chunks/chunk-GFYS352X.js +0 -152
- package/dist/chunks/chunk-GH6JQF2K.js +0 -55
- package/dist/chunks/chunk-GHW6ACOW.js +0 -123
- package/dist/chunks/chunk-GII477RX.js +0 -23
- package/dist/chunks/chunk-GIUQ7LNF.js +0 -317
- package/dist/chunks/chunk-GJDCQOCE.js +0 -194
- package/dist/chunks/chunk-GJQZHRKC.js +0 -130
- package/dist/chunks/chunk-GK6W22BR.js +0 -139
- package/dist/chunks/chunk-GLBUUQTI.js +0 -99
- package/dist/chunks/chunk-GLTMEF4J.js +0 -135
- package/dist/chunks/chunk-GMB4WYVK.js +0 -134
- package/dist/chunks/chunk-GO25BIXT.js +0 -96
- package/dist/chunks/chunk-GOQTXQPV.js +0 -115
- package/dist/chunks/chunk-GPGJZVX3.js +0 -229
- package/dist/chunks/chunk-GQRBNG25.js +0 -166
- package/dist/chunks/chunk-GS5VTV2J.js +0 -139
- package/dist/chunks/chunk-GSO5N4SC.js +0 -133
- package/dist/chunks/chunk-GSSOAWUS.js +0 -128
- package/dist/chunks/chunk-GTK4DJXL.js +0 -567
- package/dist/chunks/chunk-GTLOJLPJ.js +0 -75
- package/dist/chunks/chunk-GUFGCBO2.js +0 -262
- package/dist/chunks/chunk-GUGAIXIT.js +0 -94
- package/dist/chunks/chunk-GUYGR6AW.js +0 -30
- package/dist/chunks/chunk-GWW2F7JG.js +0 -45
- package/dist/chunks/chunk-GYEO7CH3.js +0 -147
- package/dist/chunks/chunk-H26YKUAM.js +0 -366
- package/dist/chunks/chunk-H3BA2IIK.js +0 -128
- package/dist/chunks/chunk-H3NVZXJ5.js +0 -206
- package/dist/chunks/chunk-H464VL4G.js +0 -172
- package/dist/chunks/chunk-H55PKY2O.js +0 -220
- package/dist/chunks/chunk-H6EKEJV4.js +0 -70
- package/dist/chunks/chunk-H7OTSXZU.js +0 -94
- package/dist/chunks/chunk-HAI3SIXP.js +0 -81
- package/dist/chunks/chunk-HE5SGYHM.js +0 -84
- package/dist/chunks/chunk-HFNN7FMJ.js +0 -262
- package/dist/chunks/chunk-HGDHCHSO.js +0 -77
- package/dist/chunks/chunk-HGY3OVZK.js +0 -30
- package/dist/chunks/chunk-HHHJXBS5.js +0 -336
- package/dist/chunks/chunk-HIJLL5ZI.js +0 -118
- package/dist/chunks/chunk-HKTX73MR.js +0 -87
- package/dist/chunks/chunk-HN26SJED.js +0 -23
- package/dist/chunks/chunk-HNOSQ4DO.js +0 -361
- package/dist/chunks/chunk-HOU7XYB4.js +0 -217
- package/dist/chunks/chunk-HPUM2V3I.js +0 -82
- package/dist/chunks/chunk-HRDPBECW.js +0 -246
- package/dist/chunks/chunk-HRGWKORO.js +0 -345
- package/dist/chunks/chunk-HSQDMB2K.js +0 -124
- package/dist/chunks/chunk-HT6DOQUA.js +0 -47
- package/dist/chunks/chunk-HV5QAUCE.js +0 -151
- package/dist/chunks/chunk-HVEQSYOW.js +0 -1677
- package/dist/chunks/chunk-HWGQHJTZ.js +0 -197
- package/dist/chunks/chunk-HXVVWSU2.js +0 -106
- package/dist/chunks/chunk-HYXLDVOY.js +0 -141
- package/dist/chunks/chunk-I3EY73ZN.js +0 -162
- package/dist/chunks/chunk-I3NUEMNB.js +0 -179
- package/dist/chunks/chunk-I3RHYUXV.js +0 -23
- package/dist/chunks/chunk-I5HPPSPX.js +0 -351
- package/dist/chunks/chunk-I6MWTCQP.js +0 -33
- package/dist/chunks/chunk-IAK65YP6.js +0 -96
- package/dist/chunks/chunk-IAWRMWW4.js +0 -150
- package/dist/chunks/chunk-IBRFWNMV.js +0 -181
- package/dist/chunks/chunk-IC6XRKJG.js +0 -90
- package/dist/chunks/chunk-IDV57IK7.js +0 -136
- package/dist/chunks/chunk-IEHXEBWB.js +0 -108
- package/dist/chunks/chunk-IF3SOZME.js +0 -45
- package/dist/chunks/chunk-IG2AUD26.js +0 -50
- package/dist/chunks/chunk-IH24N2CC.js +0 -172
- package/dist/chunks/chunk-IHB4NV4F.js +0 -174
- package/dist/chunks/chunk-IMKT7O5A.js +0 -105
- package/dist/chunks/chunk-IMV7DAKI.js +0 -45
- package/dist/chunks/chunk-INRM27QC.js +0 -185
- package/dist/chunks/chunk-IO4MFU5C.js +0 -226
- package/dist/chunks/chunk-IPWLDDY3.js +0 -94
- package/dist/chunks/chunk-IQ74NY5P.js +0 -86
- package/dist/chunks/chunk-IQAODHBD.js +0 -340
- package/dist/chunks/chunk-IQLKQOGY.js +0 -169
- package/dist/chunks/chunk-ITPG3YG3.js +0 -118
- package/dist/chunks/chunk-IUTMCJ74.js +0 -106
- package/dist/chunks/chunk-IVRVMBJP.js +0 -234
- package/dist/chunks/chunk-IVWPP4GG.js +0 -99
- package/dist/chunks/chunk-IWCXBV7F.js +0 -215
- package/dist/chunks/chunk-IWDKPSQY.js +0 -183
- package/dist/chunks/chunk-IYETCGF3.js +0 -52
- package/dist/chunks/chunk-IZVGCX7U.js +0 -161
- package/dist/chunks/chunk-J2L7DXUN.js +0 -45
- package/dist/chunks/chunk-J56ELFCF.js +0 -270
- package/dist/chunks/chunk-J57CGYSM.js +0 -18
- package/dist/chunks/chunk-J6H3M4IY.js +0 -212
- package/dist/chunks/chunk-JAIYIP6L.js +0 -23
- package/dist/chunks/chunk-JC27DODL.js +0 -174
- package/dist/chunks/chunk-JDTWX2BA.js +0 -252
- package/dist/chunks/chunk-JDZUFOVW.js +0 -83
- package/dist/chunks/chunk-JEFOLSQ7.js +0 -155
- package/dist/chunks/chunk-JEO4U6NV.js +0 -33
- package/dist/chunks/chunk-JFYFRKFQ.js +0 -23
- package/dist/chunks/chunk-JH3KPNHY.js +0 -200
- package/dist/chunks/chunk-JHJZDSRY.js +0 -368
- package/dist/chunks/chunk-JIBS7RRQ.js +0 -33
- package/dist/chunks/chunk-JJ3QJKMQ.js +0 -130
- package/dist/chunks/chunk-JKH6OKNV.js +0 -33
- package/dist/chunks/chunk-JKJPNGVF.js +0 -23
- package/dist/chunks/chunk-JLREPL7K.js +0 -156
- package/dist/chunks/chunk-JM5TAWEJ.js +0 -196
- package/dist/chunks/chunk-JMITOAOY.js +0 -23
- package/dist/chunks/chunk-JNLLL7MB.js +0 -181
- package/dist/chunks/chunk-JOARTM32.js +0 -104
- package/dist/chunks/chunk-JQ4IWX6I.js +0 -77
- package/dist/chunks/chunk-JRUCZJ3M.js +0 -23
- package/dist/chunks/chunk-JS3ASMOQ.js +0 -149
- package/dist/chunks/chunk-JS3WPHS6.js +0 -214
- package/dist/chunks/chunk-JS4UFOGO.js +0 -33
- package/dist/chunks/chunk-JSQLIP5S.js +0 -23
- package/dist/chunks/chunk-JUKLSBS6.js +0 -269
- package/dist/chunks/chunk-JWU6KI2T.js +0 -273
- package/dist/chunks/chunk-JXJN7JTR.js +0 -127
- package/dist/chunks/chunk-JZ5QI5YE.js +0 -165
- package/dist/chunks/chunk-K2KCDBGK.js +0 -1574
- package/dist/chunks/chunk-K4T6CTEW.js +0 -95
- package/dist/chunks/chunk-K5ONHACP.js +0 -626
- package/dist/chunks/chunk-K7I2ZMLK.js +0 -114
- package/dist/chunks/chunk-KAIRVYU2.js +0 -184
- package/dist/chunks/chunk-KB4WAJ4N.js +0 -1804
- package/dist/chunks/chunk-KDTZE3MN.js +0 -33
- package/dist/chunks/chunk-KEUPYKNQ.js +0 -414
- package/dist/chunks/chunk-KFIV3T4O.js +0 -152
- package/dist/chunks/chunk-KG6VF5JW.js +0 -109
- package/dist/chunks/chunk-KIZQFIHP.js +0 -33
- package/dist/chunks/chunk-KJUAW7OV.js +0 -49
- package/dist/chunks/chunk-KK6AL2TF.js +0 -215
- package/dist/chunks/chunk-KKHOBYZE.js +0 -92
- package/dist/chunks/chunk-KKJ4N64J.js +0 -260
- package/dist/chunks/chunk-KL6KJC5A.js +0 -230
- package/dist/chunks/chunk-KM3ABZAK.js +0 -161
- package/dist/chunks/chunk-KMQWA7T6.js +0 -112
- package/dist/chunks/chunk-KNEF7RHV.js +0 -111
- package/dist/chunks/chunk-KNOICX2P.js +0 -97
- package/dist/chunks/chunk-KNOXIVNQ.js +0 -139
- package/dist/chunks/chunk-KQZLFMFP.js +0 -237
- package/dist/chunks/chunk-KR6NHTZJ.js +0 -260
- package/dist/chunks/chunk-KSDO2HPC.js +0 -307
- package/dist/chunks/chunk-KSHA7BKA.js +0 -156
- package/dist/chunks/chunk-KUHNMOWZ.js +0 -23
- package/dist/chunks/chunk-KUK7WKOL.js +0 -110
- package/dist/chunks/chunk-KVX6YMRZ.js +0 -100
- package/dist/chunks/chunk-KVYH6DV3.js +0 -60
- package/dist/chunks/chunk-KWAN6QN7.js +0 -153
- package/dist/chunks/chunk-KXV7QCS6.js +0 -261
- package/dist/chunks/chunk-KY3XX2UJ.js +0 -77
- package/dist/chunks/chunk-KYUJWTLY.js +0 -78
- package/dist/chunks/chunk-KZ3NKGHR.js +0 -23
- package/dist/chunks/chunk-KZJ4GRZP.js +0 -126
- package/dist/chunks/chunk-KZNG7IUV.js +0 -173
- package/dist/chunks/chunk-KZREGMFN.js +0 -30
- package/dist/chunks/chunk-KZY4UEEB.js +0 -109
- package/dist/chunks/chunk-L23WDECU.js +0 -62
- package/dist/chunks/chunk-L2K6NW2T.js +0 -147
- package/dist/chunks/chunk-L2QYFTRZ.js +0 -160
- package/dist/chunks/chunk-L3GEKYPY.js +0 -36
- package/dist/chunks/chunk-L5O6FICC.js +0 -386
- package/dist/chunks/chunk-L6ABOXVP.js +0 -150
- package/dist/chunks/chunk-L6KE6K42.js +0 -84
- package/dist/chunks/chunk-L6V4PKHB.js +0 -158
- package/dist/chunks/chunk-LANPM643.js +0 -204
- package/dist/chunks/chunk-LBLWJNSH.js +0 -260
- package/dist/chunks/chunk-LETTOQVZ.js +0 -112
- package/dist/chunks/chunk-LFN2QK7S.js +0 -226
- package/dist/chunks/chunk-LFR7ATG2.js +0 -100
- package/dist/chunks/chunk-LG2XD72G.js +0 -152
- package/dist/chunks/chunk-LH43X6AA.js +0 -108
- package/dist/chunks/chunk-LNYNCSII.js +0 -237
- package/dist/chunks/chunk-LOXNG5VS.js +0 -487
- package/dist/chunks/chunk-LPAIGKGT.js +0 -86
- package/dist/chunks/chunk-LPOQJQMN.js +0 -327
- package/dist/chunks/chunk-LPPT4VEY.js +0 -112
- package/dist/chunks/chunk-LQA6GSGH.js +0 -330
- package/dist/chunks/chunk-LR5TOR7B.js +0 -358
- package/dist/chunks/chunk-LRKSHZ3P.js +0 -74
- package/dist/chunks/chunk-LSTTIH5B.js +0 -55
- package/dist/chunks/chunk-LTI2C3OR.js +0 -261
- package/dist/chunks/chunk-LTJH2CUD.js +0 -95
- package/dist/chunks/chunk-LTR4YB5R.js +0 -86
- package/dist/chunks/chunk-LWG4JQGU.js +0 -110
- package/dist/chunks/chunk-LWLOPJMO.js +0 -231
- package/dist/chunks/chunk-LZKTWD6A.js +0 -72
- package/dist/chunks/chunk-M2THSWFE.js +0 -122
- package/dist/chunks/chunk-M4KL3DPA.js +0 -170
- package/dist/chunks/chunk-M4LB6GRG.js +0 -181
- package/dist/chunks/chunk-MAE4Y7CI.js +0 -74
- package/dist/chunks/chunk-MATJLOPZ.js +0 -85
- package/dist/chunks/chunk-MAWMFGYQ.js +0 -168
- package/dist/chunks/chunk-MBULS7WE.js +0 -105
- package/dist/chunks/chunk-MCOWMFFG.js +0 -344
- package/dist/chunks/chunk-MDBMQPE5.js +0 -1309
- package/dist/chunks/chunk-MEUDXXOC.js +0 -167
- package/dist/chunks/chunk-MG5BG3UL.js +0 -45
- package/dist/chunks/chunk-MG6EGDPZ.js +0 -91
- package/dist/chunks/chunk-MHCCDDEL.js +0 -290
- package/dist/chunks/chunk-MKAYDFNB.js +0 -82
- package/dist/chunks/chunk-MKELI7WJ.js +0 -189
- package/dist/chunks/chunk-MMSDJR5M.js +0 -185
- package/dist/chunks/chunk-MNDDSEQX.js +0 -48
- package/dist/chunks/chunk-MPUXUIIO.js +0 -267
- package/dist/chunks/chunk-MPX4AHMT.js +0 -145
- package/dist/chunks/chunk-MQAK3IVV.js +0 -190
- package/dist/chunks/chunk-MQOQHKRU.js +0 -139
- package/dist/chunks/chunk-MQTN7J46.js +0 -77
- package/dist/chunks/chunk-MQYNCRLU.js +0 -55
- package/dist/chunks/chunk-MSNVL4UH.js +0 -33
- package/dist/chunks/chunk-MSNY6JLH.js +0 -82
- package/dist/chunks/chunk-MTQHKQX5.js +0 -221
- package/dist/chunks/chunk-MV2TT2PR.js +0 -23
- package/dist/chunks/chunk-MV4Q6GKR.js +0 -184
- package/dist/chunks/chunk-MWCOTFZT.js +0 -103
- package/dist/chunks/chunk-MWLS5GQ3.js +0 -898
- package/dist/chunks/chunk-MWP2SKXL.js +0 -329
- package/dist/chunks/chunk-MXTFSKEL.js +0 -77
- package/dist/chunks/chunk-MZV2BIWU.js +0 -23
- package/dist/chunks/chunk-N4HQ3SZY.js +0 -23
- package/dist/chunks/chunk-N5GOLV2C.js +0 -407
- package/dist/chunks/chunk-N6HEBUKO.js +0 -382
- package/dist/chunks/chunk-N6J7YZ6V.js +0 -159
- package/dist/chunks/chunk-NAQNNLG6.js +0 -80
- package/dist/chunks/chunk-NCKWKNZM.js +0 -130
- package/dist/chunks/chunk-NDAKDGKF.js +0 -23
- package/dist/chunks/chunk-NEBEYJNW.js +0 -209
- package/dist/chunks/chunk-NG4G27X5.js +0 -163
- package/dist/chunks/chunk-NIGQBVSY.js +0 -315
- package/dist/chunks/chunk-NKAPBBXH.js +0 -203
- package/dist/chunks/chunk-NMLBDLIE.js +0 -179
- package/dist/chunks/chunk-NOUYPGGD.js +0 -151
- package/dist/chunks/chunk-NPLYQVNP.js +0 -607
- package/dist/chunks/chunk-NPYHFWX3.js +0 -94
- package/dist/chunks/chunk-NQV45XLR.js +0 -99
- package/dist/chunks/chunk-NRYGLRBG.js +0 -90
- package/dist/chunks/chunk-NSEKRUDK.js +0 -172
- package/dist/chunks/chunk-NSIM3D3V.js +0 -45
- package/dist/chunks/chunk-NSPPARTK.js +0 -85
- package/dist/chunks/chunk-NSVNPRJH.js +0 -282
- package/dist/chunks/chunk-NT36GG2Z.js +0 -23
- package/dist/chunks/chunk-NVZ4ZEJJ.js +0 -146
- package/dist/chunks/chunk-NX3RPXJU.js +0 -110
- package/dist/chunks/chunk-NZ5VNCRT.js +0 -83
- package/dist/chunks/chunk-NZI7YJV7.js +0 -23
- package/dist/chunks/chunk-NZZFMR4W.js +0 -61
- package/dist/chunks/chunk-O2YBCZIR.js +0 -23
- package/dist/chunks/chunk-O3RY2Q62.js +0 -103
- package/dist/chunks/chunk-O7FU3HG4.js +0 -149
- package/dist/chunks/chunk-OAPIYKVF.js +0 -192
- package/dist/chunks/chunk-OBDCP26R.js +0 -338
- package/dist/chunks/chunk-ODRUYJSH.js +0 -215
- package/dist/chunks/chunk-OFFAWAEF.js +0 -166
- package/dist/chunks/chunk-OHM5PI5I.js +0 -130
- package/dist/chunks/chunk-OKXB2MHH.js +0 -73
- package/dist/chunks/chunk-OLHCVNGT.js +0 -133
- package/dist/chunks/chunk-OLMT7BF7.js +0 -192
- package/dist/chunks/chunk-OLVHKTMC.js +0 -47
- package/dist/chunks/chunk-OMLAOOOG.js +0 -91
- package/dist/chunks/chunk-OMO2MNSS.js +0 -479
- package/dist/chunks/chunk-OMVAORFP.js +0 -33
- package/dist/chunks/chunk-ONSJ6MSX.js +0 -208
- package/dist/chunks/chunk-OO67GSCX.js +0 -349
- package/dist/chunks/chunk-OP6YYXB6.js +0 -117
- package/dist/chunks/chunk-OPK3RKPN.js +0 -104
- package/dist/chunks/chunk-OQ7ZEV57.js +0 -198
- package/dist/chunks/chunk-OQJ2G5AO.js +0 -209
- package/dist/chunks/chunk-ORBHMTCP.js +0 -80
- package/dist/chunks/chunk-ORDVTAMO.js +0 -411
- package/dist/chunks/chunk-OSJZJSXJ.js +0 -83
- package/dist/chunks/chunk-OSPTFS5E.js +0 -206
- package/dist/chunks/chunk-OTYBYVTX.js +0 -93
- package/dist/chunks/chunk-OUNB5GSN.js +0 -244
- package/dist/chunks/chunk-OV24V5O4.js +0 -293
- package/dist/chunks/chunk-OVOIJXG2.js +0 -128
- package/dist/chunks/chunk-OYUBSBLG.js +0 -79
- package/dist/chunks/chunk-OZV2XR2I.js +0 -45
- package/dist/chunks/chunk-P4ZHUPO2.js +0 -150
- package/dist/chunks/chunk-P4ZRRHC4.js +0 -23
- package/dist/chunks/chunk-P5VDKJNT.js +0 -80
- package/dist/chunks/chunk-P74VDMCX.js +0 -84
- package/dist/chunks/chunk-PAPJZRD7.js +0 -187
- package/dist/chunks/chunk-PCA6ECQE.js +0 -360
- package/dist/chunks/chunk-PCB2PAFM.js +0 -104
- package/dist/chunks/chunk-PD4C542K.js +0 -126
- package/dist/chunks/chunk-PDX3THKR.js +0 -123
- package/dist/chunks/chunk-PEAXERBE.js +0 -2662
- package/dist/chunks/chunk-PF5PDV2F.js +0 -146
- package/dist/chunks/chunk-PGV25F4D.js +0 -36
- package/dist/chunks/chunk-PH4WMZUW.js +0 -44
- package/dist/chunks/chunk-PHONUTLT.js +0 -152
- package/dist/chunks/chunk-PHSE5FLA.js +0 -163
- package/dist/chunks/chunk-PIFYRP25.js +0 -102
- package/dist/chunks/chunk-PMRHSHGG.js +0 -28
- package/dist/chunks/chunk-PMX6PODI.js +0 -400
- package/dist/chunks/chunk-PN2ELFM2.js +0 -303
- package/dist/chunks/chunk-PN6TDHID.js +0 -422
- package/dist/chunks/chunk-POZMG3M7.js +0 -71
- package/dist/chunks/chunk-PTQJHCXS.js +0 -49
- package/dist/chunks/chunk-PTSMHPBW.js +0 -174
- package/dist/chunks/chunk-PU2ZBXPG.js +0 -81
- package/dist/chunks/chunk-PUKGWYCM.js +0 -412
- package/dist/chunks/chunk-PZCYHYBE.js +0 -204
- package/dist/chunks/chunk-PZNXFV4R.js +0 -362
- package/dist/chunks/chunk-Q3OYSRER.js +0 -287
- package/dist/chunks/chunk-Q54IUW25.js +0 -97
- package/dist/chunks/chunk-Q6AQ2VFZ.js +0 -339
- package/dist/chunks/chunk-Q6JKBOPJ.js +0 -177
- package/dist/chunks/chunk-QAZ5GJE5.js +0 -147
- package/dist/chunks/chunk-QBBW3JXO.js +0 -185
- package/dist/chunks/chunk-QCR5T3OH.js +0 -23
- package/dist/chunks/chunk-QEFIATXH.js +0 -564
- package/dist/chunks/chunk-QEFODZ42.js +0 -30
- package/dist/chunks/chunk-QEN6F65G.js +0 -279
- package/dist/chunks/chunk-QGFSBYDV.js +0 -145
- package/dist/chunks/chunk-QKIEMMYK.js +0 -23
- package/dist/chunks/chunk-QKLYJT3K.js +0 -104
- package/dist/chunks/chunk-QKTHLBBR.js +0 -256
- package/dist/chunks/chunk-QLDIYTXI.js +0 -152
- package/dist/chunks/chunk-QM6EIEJE.js +0 -180
- package/dist/chunks/chunk-QOURHUJH.js +0 -38
- package/dist/chunks/chunk-QPS5K3W3.js +0 -164
- package/dist/chunks/chunk-QQ2YF6B6.js +0 -163
- package/dist/chunks/chunk-QQXKCMBJ.js +0 -104
- package/dist/chunks/chunk-QR7NZACV.js +0 -152
- package/dist/chunks/chunk-QRXU4XA6.js +0 -33
- package/dist/chunks/chunk-QTZ4RJGL.js +0 -291
- package/dist/chunks/chunk-QU3HYBR2.js +0 -92
- package/dist/chunks/chunk-QWXXQRYG.js +0 -40
- package/dist/chunks/chunk-QYM7YOKJ.js +0 -83
- package/dist/chunks/chunk-R4YTDW6H.js +0 -206
- package/dist/chunks/chunk-R5333SSV.js +0 -303
- package/dist/chunks/chunk-R63EHB4Z.js +0 -336
- package/dist/chunks/chunk-R6AB5UQB.js +0 -150
- package/dist/chunks/chunk-R6K4K6JG.js +0 -135
- package/dist/chunks/chunk-R6PLM65D.js +0 -366
- package/dist/chunks/chunk-RBJJXSSD.js +0 -33
- package/dist/chunks/chunk-RBJZDV6H.js +0 -106
- package/dist/chunks/chunk-RBOL7RVB.js +0 -179
- package/dist/chunks/chunk-RCEIDZMZ.js +0 -115
- package/dist/chunks/chunk-RCOCIATG.js +0 -149
- package/dist/chunks/chunk-RCRQ7WMZ.js +0 -23
- package/dist/chunks/chunk-RFR53U4L.js +0 -115
- package/dist/chunks/chunk-RJE5VY7O.js +0 -147
- package/dist/chunks/chunk-RJJ5K7RP.js +0 -159
- package/dist/chunks/chunk-RKYAW7R4.js +0 -363
- package/dist/chunks/chunk-RNCMM6YN.js +0 -108
- package/dist/chunks/chunk-RNE3HHJP.js +0 -447
- package/dist/chunks/chunk-ROPN4GX6.js +0 -97
- package/dist/chunks/chunk-RP4ZJIHB.js +0 -164
- package/dist/chunks/chunk-RPD5TXIO.js +0 -11574
- package/dist/chunks/chunk-RSTXTDT5.js +0 -166
- package/dist/chunks/chunk-RTVXZZGS.js +0 -199
- package/dist/chunks/chunk-RULOB6ZQ.js +0 -97
- package/dist/chunks/chunk-RVOPZKRI.js +0 -471
- package/dist/chunks/chunk-RX7WZ37F.js +0 -137
- package/dist/chunks/chunk-RZVFEYEK.js +0 -127
- package/dist/chunks/chunk-S2PWSHTX.js +0 -93
- package/dist/chunks/chunk-S3EXLZFD.js +0 -263
- package/dist/chunks/chunk-S3NSE4NA.js +0 -156
- package/dist/chunks/chunk-SACYN5AR.js +0 -85
- package/dist/chunks/chunk-SAMTI5NO.js +0 -589
- package/dist/chunks/chunk-SAZFANVO.js +0 -125
- package/dist/chunks/chunk-SBHJ5S5K.js +0 -390
- package/dist/chunks/chunk-SBS32QG7.js +0 -23
- package/dist/chunks/chunk-SBT2MVWO.js +0 -178
- package/dist/chunks/chunk-SIMWAITX.js +0 -53
- package/dist/chunks/chunk-SIT527DG.js +0 -283
- package/dist/chunks/chunk-SJJP5FC2.js +0 -283
- package/dist/chunks/chunk-SKI3KDPK.js +0 -77
- package/dist/chunks/chunk-SKQBN5GG.js +0 -36
- package/dist/chunks/chunk-SL3YMFF3.js +0 -235
- package/dist/chunks/chunk-SMESXLLV.js +0 -240
- package/dist/chunks/chunk-SNFG6SA7.js +0 -172
- package/dist/chunks/chunk-SO4JJZWJ.js +0 -81
- package/dist/chunks/chunk-SOHOKD4X.js +0 -1221
- package/dist/chunks/chunk-SQKGFR2S.js +0 -100
- package/dist/chunks/chunk-SQLJ3J3I.js +0 -740
- package/dist/chunks/chunk-SRV3FKYB.js +0 -1403
- package/dist/chunks/chunk-SRXOOQ7V.js +0 -106
- package/dist/chunks/chunk-SSLHOMPE.js +0 -277
- package/dist/chunks/chunk-SSWIMSBT.js +0 -140
- package/dist/chunks/chunk-ST4NENO6.js +0 -88
- package/dist/chunks/chunk-STDKBPBH.js +0 -110
- package/dist/chunks/chunk-STVSVT4C.js +0 -71
- package/dist/chunks/chunk-SW3XODVF.js +0 -183
- package/dist/chunks/chunk-SWFVP3CM.js +0 -130
- package/dist/chunks/chunk-SXMX3V2Z.js +0 -78
- package/dist/chunks/chunk-SXO5LDSA.js +0 -169
- package/dist/chunks/chunk-SXQAIHUO.js +0 -162
- package/dist/chunks/chunk-SYC67IMD.js +0 -95
- package/dist/chunks/chunk-T2BHMMFE.js +0 -52
- package/dist/chunks/chunk-T3DXKAED.js +0 -79
- package/dist/chunks/chunk-T3YKOEMP.js +0 -180
- package/dist/chunks/chunk-T4OKLSOQ.js +0 -161
- package/dist/chunks/chunk-T4UBHWJU.js +0 -45
- package/dist/chunks/chunk-T5FR3J24.js +0 -23
- package/dist/chunks/chunk-T5NF5C5E.js +0 -97
- package/dist/chunks/chunk-T5O34VL5.js +0 -94
- package/dist/chunks/chunk-T65VT3ZM.js +0 -92
- package/dist/chunks/chunk-T7OD5URR.js +0 -1307
- package/dist/chunks/chunk-TBWMIDNH.js +0 -1469
- package/dist/chunks/chunk-TC4AZFMQ.js +0 -107
- package/dist/chunks/chunk-TCBAN3ZG.js +0 -150
- package/dist/chunks/chunk-TCSFTSSR.js +0 -260
- package/dist/chunks/chunk-TFWI3EXL.js +0 -86
- package/dist/chunks/chunk-TH66P3UQ.js +0 -159
- package/dist/chunks/chunk-TI53R2DV.js +0 -304
- package/dist/chunks/chunk-TIR4D2ER.js +0 -80
- package/dist/chunks/chunk-TJBKMQY5.js +0 -162
- package/dist/chunks/chunk-TJZUJIYW.js +0 -177
- package/dist/chunks/chunk-TKALNXHI.js +0 -209
- package/dist/chunks/chunk-TKPHZU2F.js +0 -266
- package/dist/chunks/chunk-TKWGRTF7.js +0 -512
- package/dist/chunks/chunk-TLDAWBB4.js +0 -443
- package/dist/chunks/chunk-TMCVH5QO.js +0 -155
- package/dist/chunks/chunk-TNXHIOWB.js +0 -122
- package/dist/chunks/chunk-TOFXSXRQ.js +0 -169
- package/dist/chunks/chunk-TP2KNL6S.js +0 -149
- package/dist/chunks/chunk-TRHVHKR5.js +0 -23
- package/dist/chunks/chunk-TS4V7E67.js +0 -100
- package/dist/chunks/chunk-TTDAK276.js +0 -78
- package/dist/chunks/chunk-TVPE6K2U.js +0 -112
- package/dist/chunks/chunk-TXO2QN5D.js +0 -147
- package/dist/chunks/chunk-TZ5NW3IV.js +0 -33
- package/dist/chunks/chunk-TZYNLQ4E.js +0 -110
- package/dist/chunks/chunk-U2YDAMVK.js +0 -152
- package/dist/chunks/chunk-U3F7J6RR.js +0 -204
- package/dist/chunks/chunk-U4XOJ3TT.js +0 -213
- package/dist/chunks/chunk-U4Y2FVZJ.js +0 -82
- package/dist/chunks/chunk-U5AS76YA.js +0 -345
- package/dist/chunks/chunk-UALAIY37.js +0 -23
- package/dist/chunks/chunk-UD2G6QPJ.js +0 -33
- package/dist/chunks/chunk-UDARJY4Y.js +0 -255
- package/dist/chunks/chunk-UDOBRWO5.js +0 -78
- package/dist/chunks/chunk-UG5PVWY2.js +0 -95
- package/dist/chunks/chunk-UGBNLMMH.js +0 -224
- package/dist/chunks/chunk-UIJ6SAOK.js +0 -142
- package/dist/chunks/chunk-UJDY6YFD.js +0 -36
- package/dist/chunks/chunk-UK7B74BG.js +0 -283
- package/dist/chunks/chunk-UKMK7S4L.js +0 -109
- package/dist/chunks/chunk-UKOTMFHD.js +0 -88
- package/dist/chunks/chunk-UKTMAO46.js +0 -141
- package/dist/chunks/chunk-ULJUXZUQ.js +0 -497
- package/dist/chunks/chunk-UOOWCNXZ.js +0 -165
- package/dist/chunks/chunk-UOXO6AK6.js +0 -36
- package/dist/chunks/chunk-UOZTHF2O.js +0 -247
- package/dist/chunks/chunk-UPLGUWFS.js +0 -185
- package/dist/chunks/chunk-URV5TNKD.js +0 -23
- package/dist/chunks/chunk-USJANJIM.js +0 -146
- package/dist/chunks/chunk-UUS32JRH.js +0 -89
- package/dist/chunks/chunk-UV3DEZRM.js +0 -33
- package/dist/chunks/chunk-UX6CF46H.js +0 -140
- package/dist/chunks/chunk-UY3CLQDP.js +0 -272
- package/dist/chunks/chunk-UYAA3T6B.js +0 -120
- package/dist/chunks/chunk-V3LQLKM6.js +0 -170
- package/dist/chunks/chunk-V5DCDOVY.js +0 -88
- package/dist/chunks/chunk-V6DMYCRE.js +0 -23
- package/dist/chunks/chunk-VAAPY7KC.js +0 -1845
- package/dist/chunks/chunk-VB4GY7DW.js +0 -23
- package/dist/chunks/chunk-VBEE6M3D.js +0 -375
- package/dist/chunks/chunk-VD4LL6RD.js +0 -111
- package/dist/chunks/chunk-VEAXIGQM.js +0 -180
- package/dist/chunks/chunk-VFJMWRKJ.js +0 -36
- package/dist/chunks/chunk-VGAKOM6F.js +0 -228
- package/dist/chunks/chunk-VGL4PIVJ.js +0 -154
- package/dist/chunks/chunk-VH74O7C6.js +0 -312
- package/dist/chunks/chunk-VHID2WC4.js +0 -324
- package/dist/chunks/chunk-VHKK3BBB.js +0 -33
- package/dist/chunks/chunk-VK5OBJFV.js +0 -446
- package/dist/chunks/chunk-VK6F7365.js +0 -311
- package/dist/chunks/chunk-VL267K64.js +0 -33
- package/dist/chunks/chunk-VLIJMZNG.js +0 -80
- package/dist/chunks/chunk-VMDWC7QJ.js +0 -361
- package/dist/chunks/chunk-VO2UYBJY.js +0 -113
- package/dist/chunks/chunk-VO7MKAWN.js +0 -141
- package/dist/chunks/chunk-VOEOKURL.js +0 -292
- package/dist/chunks/chunk-VPQLZIO3.js +0 -428
- package/dist/chunks/chunk-VPTZKU2K.js +0 -121
- package/dist/chunks/chunk-VTPMAIDH.js +0 -222
- package/dist/chunks/chunk-VTQNFI7N.js +0 -930
- package/dist/chunks/chunk-VVHOR3DF.js +0 -131
- package/dist/chunks/chunk-VVN3KAPW.js +0 -454
- package/dist/chunks/chunk-VVQDNU52.js +0 -320
- package/dist/chunks/chunk-VXDAAHSF.js +0 -132
- package/dist/chunks/chunk-VXEM7JO3.js +0 -110
- package/dist/chunks/chunk-W3Q6GV45.js +0 -425
- package/dist/chunks/chunk-W4E7Z3DG.js +0 -738
- package/dist/chunks/chunk-W5YWXLCE.js +0 -45
- package/dist/chunks/chunk-W6UAQ6DN.js +0 -289
- package/dist/chunks/chunk-W7RWSPKN.js +0 -112
- package/dist/chunks/chunk-W7VALHFC.js +0 -33
- package/dist/chunks/chunk-WAQFZMU5.js +0 -685
- package/dist/chunks/chunk-WARWR4AM.js +0 -98
- package/dist/chunks/chunk-WC4LG7MP.js +0 -290
- package/dist/chunks/chunk-WCRFR3BV.js +0 -108
- package/dist/chunks/chunk-WDJ4BVQC.js +0 -129
- package/dist/chunks/chunk-WG6LYAED.js +0 -80
- package/dist/chunks/chunk-WGVVUU5A.js +0 -187
- package/dist/chunks/chunk-WGYJYTUW.js +0 -122
- package/dist/chunks/chunk-WI3METEB.js +0 -95
- package/dist/chunks/chunk-WIKXL2ZN.js +0 -261
- package/dist/chunks/chunk-WJGWZXWA.js +0 -41
- package/dist/chunks/chunk-WK6QZTRJ.js +0 -122
- package/dist/chunks/chunk-WKKRQKXU.js +0 -396
- package/dist/chunks/chunk-WKORSTFA.js +0 -147
- package/dist/chunks/chunk-WL4EUFYY.js +0 -105
- package/dist/chunks/chunk-WM6FTKQ6.js +0 -33
- package/dist/chunks/chunk-WPDREHUR.js +0 -298
- package/dist/chunks/chunk-WQCRPOG7.js +0 -137
- package/dist/chunks/chunk-WQGY4QGO.js +0 -23
- package/dist/chunks/chunk-WSBIPRFF.js +0 -399
- package/dist/chunks/chunk-WSI6NQ34.js +0 -220
- package/dist/chunks/chunk-WSQ45U3Y.js +0 -224
- package/dist/chunks/chunk-WT5ZDGYE.js +0 -632
- package/dist/chunks/chunk-WTENYPAW.js +0 -297
- package/dist/chunks/chunk-WTQXEVIS.js +0 -146
- package/dist/chunks/chunk-WUSJS47O.js +0 -197
- package/dist/chunks/chunk-WYALP6OZ.js +0 -115
- package/dist/chunks/chunk-WYEIROUG.js +0 -140
- package/dist/chunks/chunk-WYK7554A.js +0 -129
- package/dist/chunks/chunk-WYPPX23J.js +0 -108
- package/dist/chunks/chunk-WZV75ADP.js +0 -41
- package/dist/chunks/chunk-WZYNCLPL.js +0 -33
- package/dist/chunks/chunk-X25EL7VA.js +0 -166
- package/dist/chunks/chunk-X2LAKGCN.js +0 -270
- package/dist/chunks/chunk-X2OJBGEX.js +0 -33
- package/dist/chunks/chunk-X2WTTB5A.js +0 -138
- package/dist/chunks/chunk-X3YQV5D2.js +0 -200
- package/dist/chunks/chunk-X5ZAW3UD.js +0 -304
- package/dist/chunks/chunk-X63YCLFO.js +0 -525
- package/dist/chunks/chunk-X6OYKUI6.js +0 -104
- package/dist/chunks/chunk-X7N4DPVD.js +0 -193
- package/dist/chunks/chunk-XBHNGJZX.js +0 -209
- package/dist/chunks/chunk-XCINOVRB.js +0 -130
- package/dist/chunks/chunk-XDERHXLX.js +0 -119
- package/dist/chunks/chunk-XGTV37ET.js +0 -87
- package/dist/chunks/chunk-XHBBFIPP.js +0 -119
- package/dist/chunks/chunk-XHG4EDU5.js +0 -480
- package/dist/chunks/chunk-XHNEDVWS.js +0 -131
- package/dist/chunks/chunk-XJNGPIEY.js +0 -111
- package/dist/chunks/chunk-XMUP3KNZ.js +0 -123
- package/dist/chunks/chunk-XMZ2VFEP.js +0 -282
- package/dist/chunks/chunk-XNFRP76V.js +0 -391
- package/dist/chunks/chunk-XO7OHC3C.js +0 -412
- package/dist/chunks/chunk-XODSKZD3.js +0 -330
- package/dist/chunks/chunk-XONKEG3P.js +0 -45
- package/dist/chunks/chunk-XONKQBMX.js +0 -87
- package/dist/chunks/chunk-XPK367MG.js +0 -118
- package/dist/chunks/chunk-XPPJCY3L.js +0 -457
- package/dist/chunks/chunk-XQRPF7IS.js +0 -41
- package/dist/chunks/chunk-XREPYOLY.js +0 -144
- package/dist/chunks/chunk-XROLSQNP.js +0 -198
- package/dist/chunks/chunk-XTOTK6BR.js +0 -242
- package/dist/chunks/chunk-XWOWLBJD.js +0 -165
- package/dist/chunks/chunk-Y2AJUTJA.js +0 -33
- package/dist/chunks/chunk-Y2E3AWNB.js +0 -23
- package/dist/chunks/chunk-Y3JK4EM2.js +0 -33
- package/dist/chunks/chunk-Y44EMGGM.js +0 -108
- package/dist/chunks/chunk-Y4TH5A3X.js +0 -33
- package/dist/chunks/chunk-Y5JSPXXV.js +0 -163
- package/dist/chunks/chunk-YBSUX6DG.js +0 -118
- package/dist/chunks/chunk-YGBT5KDO.js +0 -162
- package/dist/chunks/chunk-YHEXONHE.js +0 -136
- package/dist/chunks/chunk-YHZV3GXE.js +0 -313
- package/dist/chunks/chunk-YJA3A2NO.js +0 -80
- package/dist/chunks/chunk-YKN5VVO3.js +0 -123
- package/dist/chunks/chunk-YKRUQI2J.js +0 -155
- package/dist/chunks/chunk-YLIHHN2E.js +0 -405
- package/dist/chunks/chunk-YM3ZR7I3.js +0 -130
- package/dist/chunks/chunk-YNTPYZ4O.js +0 -163
- package/dist/chunks/chunk-YRNCC3AU.js +0 -382
- package/dist/chunks/chunk-YSH5ULQP.js +0 -277
- package/dist/chunks/chunk-YTBNQMMV.js +0 -23
- package/dist/chunks/chunk-YTP2SUHA.js +0 -48
- package/dist/chunks/chunk-YUC53SFC.js +0 -146
- package/dist/chunks/chunk-YVZB4O24.js +0 -161
- package/dist/chunks/chunk-YWNEPET6.js +0 -422
- package/dist/chunks/chunk-Z2DLQN3C.js +0 -390
- package/dist/chunks/chunk-Z2UPJTSZ.js +0 -51
- package/dist/chunks/chunk-Z2V4H3OJ.js +0 -23
- package/dist/chunks/chunk-Z4NAG72O.js +0 -183
- package/dist/chunks/chunk-Z5DBP3EB.js +0 -165
- package/dist/chunks/chunk-Z5YN5STZ.js +0 -68
- package/dist/chunks/chunk-Z6VO2XOA.js +0 -239
- package/dist/chunks/chunk-Z7GZ3DRG.js +0 -138
- package/dist/chunks/chunk-ZBW3A2IQ.js +0 -336
- package/dist/chunks/chunk-ZCXTL6YN.js +0 -33
- package/dist/chunks/chunk-ZDXRCXNB.js +0 -251
- package/dist/chunks/chunk-ZEJPZ5YP.js +0 -198
- package/dist/chunks/chunk-ZHCQJWIN.js +0 -33
- package/dist/chunks/chunk-ZHPET45Q.js +0 -171
- package/dist/chunks/chunk-ZI4HZMXF.js +0 -119
- package/dist/chunks/chunk-ZI4JE6MD.js +0 -326
- package/dist/chunks/chunk-ZJSOITOR.js +0 -558
- package/dist/chunks/chunk-ZJYKLFG3.js +0 -138
- package/dist/chunks/chunk-ZK6HTKYA.js +0 -298
- package/dist/chunks/chunk-ZKGCYB6R.js +0 -301
- package/dist/chunks/chunk-ZKNQZ4Q3.js +0 -225
- package/dist/chunks/chunk-ZMHCS5BP.js +0 -33
- package/dist/chunks/chunk-ZP7U4KAD.js +0 -60
- package/dist/chunks/chunk-ZQS5T7ZT.js +0 -198
- package/dist/chunks/chunk-ZTEWVANC.js +0 -91
- package/dist/chunks/chunk-ZV7E5HA5.js +0 -803
- package/dist/chunks/chunk-ZWIF75NJ.js +0 -877
- package/dist/chunks/chunk-ZXCZSOJG.js +0 -79
- package/dist/chunks/chunk-ZXN3UORK.js +0 -117
- package/dist/chunks/chunk-ZZWSAKYW.js +0 -1649
- package/dist/chunks/client-SIXT4E6F.js +0 -31
- package/dist/chunks/client-SNV2OJSJ.js +0 -167
- package/dist/chunks/client-WPDU6XXI.js +0 -44
- package/dist/chunks/client-actions-3CUI4HN6.js +0 -155
- package/dist/chunks/components-3XH2YTL7.js +0 -70
- package/dist/chunks/dangerous-GKTS7DUY.js +0 -115
- package/dist/chunks/document-library-5CFZPFCI.js +0 -61
- package/dist/chunks/editor-seams-ZCJ2DYED.js +0 -156
- package/dist/chunks/editor-store-RYOXNOTI.js +0 -134
- package/dist/chunks/export-UT5LSLOT.js +0 -66
- package/dist/chunks/export-fills-JNG2GECL.js +0 -35
- package/dist/chunks/export-watermark-EKBVWP32.js +0 -141
- package/dist/chunks/eyedropper-XOS3CSL3.js +0 -344
- package/dist/chunks/fonts-QBT5X7PA.js +0 -39
- package/dist/chunks/generate-media-4EJ5TRMU.js +0 -252
- package/dist/chunks/headless-WKKIOOMP.js +0 -185
- package/dist/chunks/host-7LDOGDYJ.js +0 -166
- package/dist/chunks/host-KOQ3EAIT.js +0 -238
- package/dist/chunks/import-H6RGTXC4.js +0 -701
- package/dist/chunks/import-merge-FVSACEMJ.js +0 -34
- package/dist/chunks/instances-TOVKGDOA.js +0 -78
- package/dist/chunks/integrations-AMRKVDUG.js +0 -115
- package/dist/chunks/invariants-T57V3ETR.js +0 -60
- package/dist/chunks/kit-modules-NDNJBGK3.js +0 -18
- package/dist/chunks/libraries-BZ6QRS3Y.js +0 -297
- package/dist/chunks/library-previews-NE7I75Z5.js +0 -198
- package/dist/chunks/live-HOI5BULC.js +0 -307
- package/dist/chunks/lottie-XIFLID33.js +0 -84
- package/dist/chunks/media-tool-KKX2ZLBV.js +0 -327
- package/dist/chunks/new-file-RCQE4F54.js +0 -124
- package/dist/chunks/next-commerce-ZB2XL4LB.js +0 -65
- package/dist/chunks/page-thumbnails-E7O5QZNO.js +0 -132
- package/dist/chunks/pdf-PII6LL43.js +0 -1215
- package/dist/chunks/pdf-import-KWLE5ABR.js +0 -369
- package/dist/chunks/plan-XCUSB2BV.js +0 -81
- package/dist/chunks/player-check-FAXMQOBU.js +0 -112
- package/dist/chunks/plugin-CMKYLXZY.js +0 -122
- package/dist/chunks/plugin-import-Y5KBYIGC.js +0 -659
- package/dist/chunks/pptx-3WDDQG2F.js +0 -308
- package/dist/chunks/presence-4CHUQZZX.js +0 -122
- package/dist/chunks/preview-media-SPMCF6DE.js +0 -120
- package/dist/chunks/project-VI2TUZXH.js +0 -1647
- package/dist/chunks/publish-site-ZW6POOMI.js +0 -153
- package/dist/chunks/publish-store-6CWB2JTX.js +0 -92
- package/dist/chunks/raster-actions-TLKJZ4IK.js +0 -224
- package/dist/chunks/reference-images-5GYHYA47.js +0 -61
- package/dist/chunks/resolvers-AZLXVUCT.js +0 -137
- package/dist/chunks/review-kits-SULJJ5ZS.js +0 -40
- package/dist/chunks/runner-MCCYMANC.js +0 -1228
- package/dist/chunks/runtime-S7YOJ3EI.js +0 -32
- package/dist/chunks/shader-preview-3265UVYW.js +0 -517
- package/dist/chunks/shaper-VY2DSDZ7.js +0 -64
- package/dist/chunks/sites-3SMRSUBO.js +0 -33
- package/dist/chunks/store-XSI3RJIX.js +0 -219
- package/dist/chunks/storefront-WMBMCPLJ.js +0 -326
- package/dist/chunks/storefront-prepare-45NCUCPA.js +0 -33
- package/dist/chunks/stress-document-BIZURAM2.js +0 -125
- package/dist/chunks/svg-export-UQJCI4EY.js +0 -79
- package/dist/chunks/svg-place-IZ6QWR6R.js +0 -38
- package/dist/chunks/sync-AKHSLYBG.js +0 -148
- package/dist/chunks/tabs-DDIF6KDC.js +0 -306
- package/dist/chunks/team-6E6HWABB.js +0 -44
- package/dist/chunks/templates-XPCCSB2X.js +0 -180
- package/dist/chunks/theme-store-T6K3BK4F.js +0 -39
- package/dist/chunks/tools-DGOC6AJ4.js +0 -35
- package/dist/chunks/tree-B4TCC3BG.js +0 -71
- package/dist/chunks/ui-commands-MJBA6GXH.js +0 -264
- package/dist/chunks/use-EBVUUVA3.js +0 -44
- package/dist/chunks/versions-SYEHEHD2.js +0 -306
- package/dist/chunks/video-TVSDWUFH.js +0 -74
- package/dist/chunks/web-O6B3ZOF3.js +0 -169
- /package/dist/chunks/{chunk-5JMOP3JF.js → chunk-GBLJAFGZ.js} +0 -0
- /package/dist/chunks/{chunk-CQQUD43D.js → chunk-MELC4CJB.js} +0 -0
|
@@ -0,0 +1,1648 @@
|
|
|
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-PUUCE4NS.js";
|
|
12
|
+
import {
|
|
13
|
+
serializeHTML
|
|
14
|
+
} from "./chunk-WLLBZZXO.js";
|
|
15
|
+
import {
|
|
16
|
+
ASSET_DIR,
|
|
17
|
+
appAssetPaths,
|
|
18
|
+
externalizeBitmaps,
|
|
19
|
+
withAssetBase
|
|
20
|
+
} from "./chunk-X67RZDY7.js";
|
|
21
|
+
import {
|
|
22
|
+
componentName,
|
|
23
|
+
fileBase,
|
|
24
|
+
fontsURL,
|
|
25
|
+
serializeReact,
|
|
26
|
+
withoutScreenIslands
|
|
27
|
+
} from "./chunk-KKTKRH7A.js";
|
|
28
|
+
import "./chunk-HXDZI7ZZ.js";
|
|
29
|
+
import {
|
|
30
|
+
escapeHTML,
|
|
31
|
+
tokensCSS
|
|
32
|
+
} from "./chunk-DNLHYUDE.js";
|
|
33
|
+
import "./chunk-Q3LHD6Z5.js";
|
|
34
|
+
import "./chunk-OIQSOCOU.js";
|
|
35
|
+
import {
|
|
36
|
+
hrefOf,
|
|
37
|
+
opensNewTab
|
|
38
|
+
} from "./chunk-BZAKET67.js";
|
|
39
|
+
import "./chunk-WGWAUMXY.js";
|
|
40
|
+
import {
|
|
41
|
+
usesSignIn
|
|
42
|
+
} from "./chunk-63KFJC4W.js";
|
|
43
|
+
import "./chunk-KMTP6JI7.js";
|
|
44
|
+
import "./chunk-B4V4FPRS.js";
|
|
45
|
+
import "./chunk-7WFWNN3B.js";
|
|
46
|
+
import "./chunk-TH56ELBN.js";
|
|
47
|
+
import "./chunk-JF5USU5E.js";
|
|
48
|
+
import "./chunk-P2LIBAGF.js";
|
|
49
|
+
import "./chunk-Q7LANE4G.js";
|
|
50
|
+
import "./chunk-VG6DGRSQ.js";
|
|
51
|
+
import "./chunk-D27VWWNN.js";
|
|
52
|
+
import {
|
|
53
|
+
ITEM_RECORD,
|
|
54
|
+
copyRecord,
|
|
55
|
+
itemText,
|
|
56
|
+
layerId,
|
|
57
|
+
repeatRecords
|
|
58
|
+
} from "./chunk-X4J663TQ.js";
|
|
59
|
+
import {
|
|
60
|
+
SESSION_COOKIE,
|
|
61
|
+
USER_VARIABLES,
|
|
62
|
+
fieldKey,
|
|
63
|
+
visitorCollections
|
|
64
|
+
} from "./chunk-X2PCP2GO.js";
|
|
65
|
+
import "./chunk-AVWA3JAF.js";
|
|
66
|
+
import {
|
|
67
|
+
GOOGLE_FONTS,
|
|
68
|
+
NON_VARIABLE_FONTS
|
|
69
|
+
} from "./chunk-LUMECRFW.js";
|
|
70
|
+
import "./chunk-73G63N4F.js";
|
|
71
|
+
import "./chunk-USNPFHKI.js";
|
|
72
|
+
import "./chunk-U4LTVSLE.js";
|
|
73
|
+
import "./chunk-WBFFALRV.js";
|
|
74
|
+
import "./chunk-GDUMY3VG.js";
|
|
75
|
+
import "./chunk-W5NE37NW.js";
|
|
76
|
+
import "./chunk-VIDOT3BT.js";
|
|
77
|
+
import "./chunk-XV5ONKNC.js";
|
|
78
|
+
import "./chunk-Q5FICCEE.js";
|
|
79
|
+
import "./chunk-3KX7WU34.js";
|
|
80
|
+
import "./chunk-5C7BZONG.js";
|
|
81
|
+
import {
|
|
82
|
+
getWorldTransform,
|
|
83
|
+
init_scene_graph,
|
|
84
|
+
uprightBounds
|
|
85
|
+
} from "./chunk-BDU2OUVJ.js";
|
|
86
|
+
import "./chunk-OGA5VCNY.js";
|
|
87
|
+
import "./chunk-HHQYOV6U.js";
|
|
88
|
+
import "./chunk-DECP3A2X.js";
|
|
89
|
+
import "./chunk-SZSJX54N.js";
|
|
90
|
+
import "./chunk-4PE7EX3N.js";
|
|
91
|
+
import "./chunk-NIHPNDDJ.js";
|
|
92
|
+
import {
|
|
93
|
+
init_expressions,
|
|
94
|
+
parseExpression
|
|
95
|
+
} from "./chunk-OYXVKB4X.js";
|
|
96
|
+
import "./chunk-GD45G3CY.js";
|
|
97
|
+
import "./chunk-TZHWIVE5.js";
|
|
98
|
+
import "./chunk-MFNTHBR5.js";
|
|
99
|
+
import "./chunk-AYZ32MGJ.js";
|
|
100
|
+
import "./chunk-CAGDE6PT.js";
|
|
101
|
+
import "./chunk-POXV7LS3.js";
|
|
102
|
+
import "./chunk-6YICR6OK.js";
|
|
103
|
+
import "./chunk-MF4NUZBE.js";
|
|
104
|
+
import "./chunk-D3K35HSL.js";
|
|
105
|
+
import "./chunk-7ECF2YL5.js";
|
|
106
|
+
import "./chunk-PSVLITJE.js";
|
|
107
|
+
import "./chunk-CQPFKV2N.js";
|
|
108
|
+
import "./chunk-CVWCFBOJ.js";
|
|
109
|
+
import {
|
|
110
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
111
|
+
} from "./chunk-6VMOKHMF.js";
|
|
112
|
+
import "./chunk-LJSVREWM.js";
|
|
113
|
+
|
|
114
|
+
// lib/io/web/project/index.ts
|
|
115
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
116
|
+
|
|
117
|
+
// lib/io/web/project/build.ts
|
|
118
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
119
|
+
|
|
120
|
+
// lib/io/web/project/static.ts
|
|
121
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
122
|
+
|
|
123
|
+
// lib/site/live.ts
|
|
124
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
125
|
+
var HAS_ITEM = /\{\{\s*item[._]/;
|
|
126
|
+
function asRecords(doc, collectionId, rows) {
|
|
127
|
+
const collection = doc.collections?.[collectionId];
|
|
128
|
+
if (!collection) return [];
|
|
129
|
+
const made = (r) => new Date(r.createdAt).toLocaleDateString(void 0, { weekday: "short", day: "numeric", month: "short" });
|
|
130
|
+
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) => {
|
|
131
|
+
const v = r.values[fieldKey(f.name)];
|
|
132
|
+
return [f.id, (v === null || v === void 0 || v === "") && f.type === "DATE" ? made(r) : v ?? void 0];
|
|
133
|
+
})) }));
|
|
134
|
+
}
|
|
135
|
+
function withVisitorRecords(site, collectionId, rows) {
|
|
136
|
+
const doc = site.program.document;
|
|
137
|
+
const collection = doc.collections?.[collectionId];
|
|
138
|
+
if (!collection) return site;
|
|
139
|
+
const records = asRecords(doc, collectionId, rows);
|
|
140
|
+
const samples = new Set(Object.values(doc.records ?? {}).filter((r) => r.collectionId === collectionId).map((r) => r.id));
|
|
141
|
+
const copyFor = (node, sample, record, above) => {
|
|
142
|
+
const id = node.id.split(`~${sample}`).join(`~${record.id}`);
|
|
143
|
+
const control = doc.nodes[layerId(node.id)]?.control;
|
|
144
|
+
const next = { ...node, id, children: node.children.map((c) => copyFor(c, sample, record, control)) };
|
|
145
|
+
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) };
|
|
146
|
+
const starts = (control ?? above)?.value;
|
|
147
|
+
if (next.input && starts && HAS_ITEM.test(starts)) {
|
|
148
|
+
const value = itemText(starts, collection, record);
|
|
149
|
+
next.input = next.input.tag === "input" ? { ...next.input, attrs: { ...next.input.attrs, value } } : { ...next.input, value };
|
|
150
|
+
}
|
|
151
|
+
const written = doc.nodes[layerId(node.id)]?.characters;
|
|
152
|
+
if (next.text && written && HAS_ITEM.test(written)) {
|
|
153
|
+
next.text = { ...next.text, characters: itemText(written, collection, record) };
|
|
154
|
+
delete next.runs;
|
|
155
|
+
}
|
|
156
|
+
return next;
|
|
157
|
+
};
|
|
158
|
+
const others = Object.fromEntries(Object.entries(doc.records ?? {}).filter(([, r]) => r.collectionId !== collectionId));
|
|
159
|
+
const document = {
|
|
160
|
+
...doc,
|
|
161
|
+
records: { ...others, ...Object.fromEntries(records.map((r) => [r.id, r])) },
|
|
162
|
+
collections: { ...doc.collections, [collectionId]: { ...collection, order: records.map((r) => r.id) } }
|
|
163
|
+
};
|
|
164
|
+
const fill = (node) => {
|
|
165
|
+
const repeat = doc.nodes[layerId(node.id)]?.repeat;
|
|
166
|
+
if (repeat?.collectionId !== collectionId) return { ...node, children: node.children.map(fill) };
|
|
167
|
+
const first = node.children.map((c) => copyRecord(c.id)).find((r) => !!r && samples.has(r));
|
|
168
|
+
if (!first) return node;
|
|
169
|
+
const pattern = node.children.filter((c) => copyRecord(c.id) === first);
|
|
170
|
+
const kept = node.children.filter((c) => {
|
|
171
|
+
const r = copyRecord(c.id);
|
|
172
|
+
return !r || !samples.has(r);
|
|
173
|
+
});
|
|
174
|
+
const shown = repeatRecords(document, repeat);
|
|
175
|
+
return { ...node, children: [...kept, ...shown.flatMap((record) => pattern.map((c) => copyFor(c, first, record)))] };
|
|
176
|
+
};
|
|
177
|
+
return { ...site, pages: site.pages.map((p) => ({ ...p, tree: { ...p.tree, root: fill(p.tree.root) } })), program: { ...site.program, document } };
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// lib/sites/data.ts
|
|
181
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
182
|
+
|
|
183
|
+
// lib/io/web/share.ts
|
|
184
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
185
|
+
function pageShareImage(site, page) {
|
|
186
|
+
if (page.shareImage) return { path: page.shareImage, width: 1200, height: 630 };
|
|
187
|
+
return site.share ? { path: site.share.image, width: site.share.width, height: site.share.height } : null;
|
|
188
|
+
}
|
|
189
|
+
var at = (origin, path) => `${origin ? origin.replace(/\/+$/, "") : ""}/${path.replace(/^\/+/, "")}`;
|
|
190
|
+
function shareMetaTags(site, page, opts = {}) {
|
|
191
|
+
const meta = (attr, key, value) => `<meta ${attr}="${key}" content="${escapeHTML(value)}" />`;
|
|
192
|
+
const image = pageShareImage(site, page);
|
|
193
|
+
return [
|
|
194
|
+
meta("property", "og:type", "website"),
|
|
195
|
+
meta("property", "og:site_name", site.name),
|
|
196
|
+
meta("property", "og:title", page.title),
|
|
197
|
+
...page.description ? [meta("property", "og:description", page.description)] : [],
|
|
198
|
+
...page.notFound ? [] : [meta("property", "og:url", at(opts.origin, page.route))],
|
|
199
|
+
...image ? [
|
|
200
|
+
meta("property", "og:image", at(opts.origin, image.path)),
|
|
201
|
+
meta("property", "og:image:width", String(image.width)),
|
|
202
|
+
meta("property", "og:image:height", String(image.height)),
|
|
203
|
+
meta("property", "og:image:alt", page.title)
|
|
204
|
+
] : [],
|
|
205
|
+
meta("name", "twitter:card", image ? "summary_large_image" : "summary"),
|
|
206
|
+
meta("name", "twitter:title", page.title),
|
|
207
|
+
...page.description ? [meta("name", "twitter:description", page.description)] : [],
|
|
208
|
+
...image ? [meta("name", "twitter:image", at(opts.origin, image.path))] : []
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// lib/io/web/project/static.ts
|
|
213
|
+
function pageHTML(site, page, lang, lost = false, origin) {
|
|
214
|
+
const up = lost ? "/" : routeUp(page.route);
|
|
215
|
+
const fonts = fontsURL(site.fonts.map((f) => [f.family, f.weights]));
|
|
216
|
+
const rules = [
|
|
217
|
+
"html,body{margin:0;height:100%}#pc-root{min-height:100%;position:relative}*{box-sizing:border-box}",
|
|
218
|
+
...site.tokens ? tokensCSS(site.tokens) : [],
|
|
219
|
+
...page.media ?? site.pages.find((p) => p.screen && p.screen === page.screen && p.media)?.media ?? []
|
|
220
|
+
];
|
|
221
|
+
const body = serializeHTML({ ...page.tree, root: withAssetBase(page.tree.root, up) }, { inline: true, ids: true });
|
|
222
|
+
const unseen = page.access === "signedIn" ? ' style="visibility:hidden"' : "";
|
|
223
|
+
return [
|
|
224
|
+
"<!DOCTYPE html>",
|
|
225
|
+
`<html lang="${escapeHTML(lang)}">`,
|
|
226
|
+
"<head>",
|
|
227
|
+
'<meta charset="utf-8" />',
|
|
228
|
+
'<meta name="viewport" content="width=device-width, initial-scale=1" />',
|
|
229
|
+
`<title>${escapeHTML(page.title)}</title>`,
|
|
230
|
+
...page.description ? [`<meta name="description" content="${escapeHTML(page.description)}" />`] : [],
|
|
231
|
+
...shareMetaTags(site, page, { origin }),
|
|
232
|
+
...fonts ? [`<link id="pc-fonts" rel="stylesheet" href="${escapeHTML(fonts)}" />`] : [],
|
|
233
|
+
`<style>
|
|
234
|
+
${rules.join("\n")}
|
|
235
|
+
</style>`,
|
|
236
|
+
"</head>",
|
|
237
|
+
"<body>",
|
|
238
|
+
`<div id="pc-root"${unseen}>
|
|
239
|
+
${body}
|
|
240
|
+
</div>`,
|
|
241
|
+
`<script src="${up}pc/site.js" data-site="${up}site.json" data-route="${lost ? "" : escapeHTML(page.route)}" data-start="${escapeHTML(page.id)}"></script>`,
|
|
242
|
+
"</body>",
|
|
243
|
+
"</html>",
|
|
244
|
+
""
|
|
245
|
+
].join("\n");
|
|
246
|
+
}
|
|
247
|
+
function staticSiteFiles(site, scripts, opts = {}) {
|
|
248
|
+
const lang = opts.lang ?? "en";
|
|
249
|
+
const files = externalizeBitmaps(site);
|
|
250
|
+
const taken = /* @__PURE__ */ new Set();
|
|
251
|
+
const still = visitorCollections(site.program.document.collections).reduce((s, c) => withVisitorRecords(s, c.id, []), site);
|
|
252
|
+
for (const page of still.pages) {
|
|
253
|
+
const path = page.notFound ? "404.html" : routeFile(page.route);
|
|
254
|
+
if (taken.has(path)) continue;
|
|
255
|
+
taken.add(path);
|
|
256
|
+
files.push({ path, content: pageHTML(still, page, lang, !!page.notFound, opts.origin) });
|
|
257
|
+
}
|
|
258
|
+
files.push({ path: "site.json", content: JSON.stringify(site) });
|
|
259
|
+
files.push({ path: "pc/site.js", content: scripts.site });
|
|
260
|
+
if (site.islands && scripts.island) files.push({ path: "pc/island.js", content: scripts.island });
|
|
261
|
+
if (site.code && scripts.code) files.push({ path: "pc/code.js", content: scripts.code });
|
|
262
|
+
return files;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// lib/io/web/project/next.ts
|
|
266
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
267
|
+
|
|
268
|
+
// lib/io/web/project/behaviour.ts
|
|
269
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
270
|
+
init_expressions();
|
|
271
|
+
var identFor = (name) => {
|
|
272
|
+
const last = name.split("/").pop().replace(/[^A-Za-z0-9]+(.)?/g, (_m, c) => c ? c.toUpperCase() : "");
|
|
273
|
+
const id = last.charAt(0).toLowerCase() + last.slice(1);
|
|
274
|
+
return /^[A-Za-z_$]/.test(id) && !RESERVED.has(id) ? id : `v${id.charAt(0).toUpperCase()}${id.slice(1)}`;
|
|
275
|
+
};
|
|
276
|
+
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"]);
|
|
277
|
+
var TS_TYPE = { BOOLEAN: "boolean", FLOAT: "number", STRING: "string", COLOR: "string" };
|
|
278
|
+
var DATA_FUNCTIONS = /* @__PURE__ */ new Set(["count", "sum", "distinct", "best", "countSince", "sumSince", "countOn", "streak"]);
|
|
279
|
+
var STYLE_PROPS = {
|
|
280
|
+
opacity: (e) => ["opacity", e],
|
|
281
|
+
width: (e) => ["width", `\`\${${e}}px\``],
|
|
282
|
+
height: (e) => ["height", `\`\${${e}}px\``],
|
|
283
|
+
rotation: (e) => ["rotate", `\`\${${e}}deg\``],
|
|
284
|
+
cornerRadius: (e) => ["borderRadius", `\`\${${e}}px\``]
|
|
285
|
+
};
|
|
286
|
+
function behaviourOf(site) {
|
|
287
|
+
const doc = site.program?.document ?? { nodes: {} };
|
|
288
|
+
const vars = Object.values(doc.variables ?? {});
|
|
289
|
+
const taken = /* @__PURE__ */ new Set();
|
|
290
|
+
const variables = vars.map((v) => {
|
|
291
|
+
let ident = identFor(v.name);
|
|
292
|
+
for (let n = 2; taken.has(ident); n++) ident = `${identFor(v.name)}${n}`;
|
|
293
|
+
taken.add(ident);
|
|
294
|
+
const coll = doc.variableCollections?.[v.variableCollectionId];
|
|
295
|
+
const raw = v.valuesByMode[coll?.defaultModeId ?? Object.keys(v.valuesByMode)[0]];
|
|
296
|
+
const type = TS_TYPE[v.type] ?? "string";
|
|
297
|
+
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) : "");
|
|
298
|
+
return { id: v.id, name: v.name, ident, type, initial };
|
|
299
|
+
});
|
|
300
|
+
const byId = new Map(variables.map((v) => [v.id, v]));
|
|
301
|
+
const byFull = new Map(variables.map((v) => [v.name, v]));
|
|
302
|
+
const short = /* @__PURE__ */ new Map();
|
|
303
|
+
for (const v of variables) {
|
|
304
|
+
const last = v.name.split("/").pop();
|
|
305
|
+
short.set(last, short.has(last) ? null : v);
|
|
306
|
+
}
|
|
307
|
+
const find = (name) => byFull.get(name) ?? short.get(name) ?? void 0;
|
|
308
|
+
const overlays = /* @__PURE__ */ new Set();
|
|
309
|
+
const missingByScreen = /* @__PURE__ */ new Map();
|
|
310
|
+
const screenOf = (id) => {
|
|
311
|
+
let at2 = id;
|
|
312
|
+
while (at2) {
|
|
313
|
+
const n = doc.nodes[at2];
|
|
314
|
+
if (!n) return null;
|
|
315
|
+
if (doc.nodes[n.parentId ?? ""]?.type === "PAGE") return at2;
|
|
316
|
+
at2 = n.parentId;
|
|
317
|
+
}
|
|
318
|
+
return null;
|
|
319
|
+
};
|
|
320
|
+
const miss = (nodeId, what) => {
|
|
321
|
+
const s = screenOf(nodeId);
|
|
322
|
+
if (s) (missingByScreen.get(s) ?? missingByScreen.set(s, /* @__PURE__ */ new Set()).get(s)).add(what);
|
|
323
|
+
};
|
|
324
|
+
let inItem = false;
|
|
325
|
+
const within = (webId, f) => {
|
|
326
|
+
const was = inItem;
|
|
327
|
+
inItem = webId.includes(`~${ITEM_RECORD}`);
|
|
328
|
+
try {
|
|
329
|
+
return f();
|
|
330
|
+
} finally {
|
|
331
|
+
inItem = was;
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
const expr = (src, o = {}) => {
|
|
335
|
+
let tree;
|
|
336
|
+
try {
|
|
337
|
+
tree = parseExpression(src, (name) => byFull.has(name));
|
|
338
|
+
} catch {
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
const go = (n) => {
|
|
342
|
+
switch (n.k) {
|
|
343
|
+
case "lit":
|
|
344
|
+
return JSON.stringify(n.v);
|
|
345
|
+
case "key":
|
|
346
|
+
return o.key ?? '""';
|
|
347
|
+
case "var": {
|
|
348
|
+
const field = inItem ? /^item[._](.+)$/.exec(n.name)?.[1] : void 0;
|
|
349
|
+
if (field) return `itemField(item, ${JSON.stringify(field)})`;
|
|
350
|
+
const v = find(n.name);
|
|
351
|
+
if (!v && inItem) return `itemField(item, ${JSON.stringify(n.name)})`;
|
|
352
|
+
if (!v) {
|
|
353
|
+
if (o.at) miss(o.at, `the value "${n.name}"`);
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
return `v.${v.ident}`;
|
|
357
|
+
}
|
|
358
|
+
case "un": {
|
|
359
|
+
const a = go(n.a);
|
|
360
|
+
return a === null ? null : n.op === "-" ? `ops.neg(${a})` : `ops.not(${a})`;
|
|
361
|
+
}
|
|
362
|
+
case "if": {
|
|
363
|
+
const c = go(n.c), a = go(n.a), b = go(n.b);
|
|
364
|
+
return c === null || a === null || b === null ? null : `(truthy(${c}) ? ${a} : ${b})`;
|
|
365
|
+
}
|
|
366
|
+
case "call": {
|
|
367
|
+
const args = n.args.map(go);
|
|
368
|
+
if (args.some((a) => a === null)) return null;
|
|
369
|
+
const over = DATA_FUNCTIONS.has(n.fn) && collections.length ? "site.call" : "call";
|
|
370
|
+
return `${over}(${JSON.stringify(n.fn)}${args.map((a) => `, ${a}`).join("")})`;
|
|
371
|
+
}
|
|
372
|
+
case "bin": {
|
|
373
|
+
const a = go(n.a), b = go(n.b);
|
|
374
|
+
if (a === null || b === null) return null;
|
|
375
|
+
if (n.op === "&&") return `(truthy(${a}) ? ${b} : ${a})`;
|
|
376
|
+
if (n.op === "||") return `(truthy(${a}) ? ${a} : ${b})`;
|
|
377
|
+
const op = { "+": "add", "-": "sub", "*": "mul", "/": "div", "%": "mod", "<": "lt", "<=": "le", ">": "gt", ">=": "ge", "==": "eq", "!=": "ne" }[n.op];
|
|
378
|
+
return op ? `ops.${op}(${a}, ${b})` : null;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return null;
|
|
382
|
+
};
|
|
383
|
+
return go(tree);
|
|
384
|
+
};
|
|
385
|
+
const routeOf = (screenId) => screenId ? site.pages.find((p) => p.id === screenId && !p.record)?.route ?? null : null;
|
|
386
|
+
const setter = (a, key, at2) => {
|
|
387
|
+
const v = a.variableId ? byId.get(a.variableId) : void 0;
|
|
388
|
+
if (!v) return null;
|
|
389
|
+
if (a.variableToggle) return `set(${JSON.stringify(v.ident)}, !v.${v.ident})`;
|
|
390
|
+
if (a.variableExpression?.trim()) {
|
|
391
|
+
const e = expr(a.variableExpression, { key, at: at2 });
|
|
392
|
+
if (e === null) return null;
|
|
393
|
+
const coerce = v.type === "number" ? `num(${e})` : v.type === "boolean" ? `truthy(${e})` : `exprText(${e})`;
|
|
394
|
+
return `set(${JSON.stringify(v.ident)}, ${coerce})`;
|
|
395
|
+
}
|
|
396
|
+
const raw = a.variableValue;
|
|
397
|
+
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));
|
|
398
|
+
return `set(${JSON.stringify(v.ident)}, ${literal})`;
|
|
399
|
+
};
|
|
400
|
+
const statements = (a, at2, key, changeTo) => {
|
|
401
|
+
switch (a.navigationType) {
|
|
402
|
+
case "NAVIGATE": {
|
|
403
|
+
const r = routeOf(a.destinationId);
|
|
404
|
+
if (r) return [`router.push(${JSON.stringify(r)})`];
|
|
405
|
+
miss(at2, "a go to a frame that is not one of the pages");
|
|
406
|
+
return [];
|
|
407
|
+
}
|
|
408
|
+
case "BACK":
|
|
409
|
+
return ["router.back()"];
|
|
410
|
+
case "OPEN_URL": {
|
|
411
|
+
const link = a.link;
|
|
412
|
+
if (!link) return [];
|
|
413
|
+
if (link.kind === "screen") return statements({ ...a, navigationType: "NAVIGATE", destinationId: link.frameId }, at2, key);
|
|
414
|
+
if (link.kind === "anchor") return statements({ ...a, navigationType: "SCROLL_TO", destinationId: link.nodeId }, at2, key);
|
|
415
|
+
const href = hrefOf(link, doc.nodes);
|
|
416
|
+
return href ? [opensNewTab(link) ? `window.open(${JSON.stringify(href)}, '_blank', 'noopener')` : `window.location.assign(${JSON.stringify(href)})`] : [];
|
|
417
|
+
}
|
|
418
|
+
case "SCROLL_TO":
|
|
419
|
+
return a.destinationId ? [`document.querySelector(${JSON.stringify(`[data-pc-id="${a.destinationId}"]`)})?.scrollIntoView({ behavior: 'smooth' })`] : [];
|
|
420
|
+
case "SET_VARIABLE": {
|
|
421
|
+
const s = setter(a, key, at2);
|
|
422
|
+
if (s) return [s];
|
|
423
|
+
miss(at2, "a Set variable");
|
|
424
|
+
return [];
|
|
425
|
+
}
|
|
426
|
+
case "CONDITIONAL": {
|
|
427
|
+
const out = [];
|
|
428
|
+
(a.branches ?? []).forEach((b, i) => {
|
|
429
|
+
const body = b.actions.flatMap((x) => statements(x, at2, key, changeTo));
|
|
430
|
+
const cond = b.condition?.trim() ? expr(b.condition, { key, at: at2 }) : null;
|
|
431
|
+
if (b.condition?.trim() && cond === null) return;
|
|
432
|
+
const head = !b.condition?.trim() ? i ? "else" : "" : `${i ? "else " : ""}if (truthy(${cond}))`;
|
|
433
|
+
out.push(`${head}${head ? " " : ""}{ ${body.join("; ")} }`);
|
|
434
|
+
});
|
|
435
|
+
return out.length ? [out.join(" ")] : [];
|
|
436
|
+
}
|
|
437
|
+
case "OVERLAY":
|
|
438
|
+
case "SWAP": {
|
|
439
|
+
if (!routeOf(a.destinationId)) {
|
|
440
|
+
miss(at2, "an overlay of a frame that is not one of the pages");
|
|
441
|
+
return [];
|
|
442
|
+
}
|
|
443
|
+
overlays.add(a.destinationId);
|
|
444
|
+
const bg = a.overlayBackground;
|
|
445
|
+
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)}`] : []];
|
|
446
|
+
return [`overlays.${a.navigationType === "SWAP" ? "swap" : "open"}(${JSON.stringify(a.destinationId)}, { ${opts.join(", ")} })`];
|
|
447
|
+
}
|
|
448
|
+
case "CLOSE":
|
|
449
|
+
return ["overlays.close()"];
|
|
450
|
+
case "SET_MODE": {
|
|
451
|
+
const c = site.tokens?.collections.find((x) => x.id === a.collectionId);
|
|
452
|
+
if (!c || !a.modeId) {
|
|
453
|
+
miss(at2, "a Set mode");
|
|
454
|
+
return [];
|
|
455
|
+
}
|
|
456
|
+
const classes = c.modes.map((m) => m.id === c.defaultMode ? "" : m.className);
|
|
457
|
+
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 ?? "";
|
|
458
|
+
return [`switchMode(document.documentElement, ${JSON.stringify(classes)}, ${JSON.stringify(to)})`];
|
|
459
|
+
}
|
|
460
|
+
case "TIMELINE": {
|
|
461
|
+
const t = a.timeline;
|
|
462
|
+
if (!t || t.op === "SCRUB") return [];
|
|
463
|
+
const screen = screenOf(at2);
|
|
464
|
+
const markers = site.pages.find((p) => p.id === screen)?.timeline?.stops ?? [];
|
|
465
|
+
const root = t.target === "INSTANCE" ? hostOf(at2) : screen;
|
|
466
|
+
return [`controlTimeline(document.querySelector(${JSON.stringify(`[data-pc-id="${root}"]`)}), ${JSON.stringify(t)}, ${JSON.stringify(markers)})`];
|
|
467
|
+
}
|
|
468
|
+
// On a component itself (a sheet that shows the masters) there is no instance to change: nothing to carry.
|
|
469
|
+
case "CHANGE_TO": {
|
|
470
|
+
const st = changeTo && a.destinationId ? changeTo(a.destinationId, a.targetId) : null;
|
|
471
|
+
if (st) return [st];
|
|
472
|
+
if (doc.nodes[at2]?.type !== "COMPONENT" && doc.nodes[at2]?.type !== "COMPONENT_SET") miss(at2, "a Change to whose instance is not on this page");
|
|
473
|
+
return [];
|
|
474
|
+
}
|
|
475
|
+
default:
|
|
476
|
+
miss(at2, { CHANGE_TO: "component variants" }[a.navigationType] ?? a.navigationType);
|
|
477
|
+
return [];
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
const interactionsOf = (id) => doc.nodes[id]?.interactions ?? [];
|
|
481
|
+
const hostOf = (id) => {
|
|
482
|
+
let at2 = id;
|
|
483
|
+
while (at2) {
|
|
484
|
+
if (doc.nodes[at2]?.type === "INSTANCE") return at2;
|
|
485
|
+
at2 = doc.nodes[at2]?.parentId;
|
|
486
|
+
}
|
|
487
|
+
return id;
|
|
488
|
+
};
|
|
489
|
+
const EVENT = { ON_CLICK: "onClick", MOUSE_ENTER: "onMouseEnter", MOUSE_LEAVE: "onMouseLeave", ON_PRESS: "onPointerDown" };
|
|
490
|
+
const nodeBindings = (id) => {
|
|
491
|
+
const n = doc.nodes[id];
|
|
492
|
+
if (!n) return null;
|
|
493
|
+
const out = { style: {} };
|
|
494
|
+
const take = (prop, e) => {
|
|
495
|
+
if (e === null) return;
|
|
496
|
+
if (prop === "characters") out.text = `exprText(${e})`;
|
|
497
|
+
else if (prop === "visible") out.visible = `truthy(${e})`;
|
|
498
|
+
else if (STYLE_PROPS[prop]) {
|
|
499
|
+
const [k, val] = STYLE_PROPS[prop](`num(${e})`);
|
|
500
|
+
out.style[k] = val;
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
for (const [prop, vid] of Object.entries(n.boundVariables ?? {})) {
|
|
504
|
+
const v = byId.get(vid);
|
|
505
|
+
if (v) take(prop, `v.${v.ident}`);
|
|
506
|
+
}
|
|
507
|
+
for (const [prop, src] of Object.entries(n.boundExpressions ?? {})) take(prop, expr(src, { at: id }));
|
|
508
|
+
return out.text || out.visible || Object.keys(out.style).length ? out : null;
|
|
509
|
+
};
|
|
510
|
+
const controlOf = (id) => doc.nodes[id]?.control;
|
|
511
|
+
const isForm = (id) => controlOf(id)?.kind === "FORM";
|
|
512
|
+
const formIds = Object.keys(doc.nodes ?? {}).filter(isForm);
|
|
513
|
+
const collections = visitorCollections(doc.collections);
|
|
514
|
+
const access = Object.fromEntries(site.pages.filter((p) => p.access && !p.notFound).map((p) => [p.route, p.access]));
|
|
515
|
+
const signIn = usesSignIn({ ...doc, nodes: doc.nodes ?? {} }) || Object.keys(access).length > 0;
|
|
516
|
+
const server = formIds.length || signIn || collections.length ? {
|
|
517
|
+
forms: formIds,
|
|
518
|
+
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 } : {} })),
|
|
519
|
+
signIn,
|
|
520
|
+
user: Object.fromEntries(Object.keys(USER_VARIABLES).map((k) => [k, byFull.get(USER_VARIABLES[k])]).filter(([, v]) => v)),
|
|
521
|
+
counts: collections.flatMap((c) => {
|
|
522
|
+
const v = byFull.get(`data/${fieldKey(c.name)}Count`);
|
|
523
|
+
return v && v.type === "number" ? [{ collection: c.id, variable: v }] : [];
|
|
524
|
+
}),
|
|
525
|
+
access,
|
|
526
|
+
redirect: {
|
|
527
|
+
signedOut: site.pages.find((p) => p.access === "signedOut" && !p.notFound)?.route ?? site.pages.find((p) => !p.access && !p.notFound)?.route ?? "/",
|
|
528
|
+
signedIn: site.pages.find((p) => p.access === "signedIn" && !p.notFound)?.route ?? site.pages.find((p) => !p.access && !p.notFound)?.route ?? "/"
|
|
529
|
+
}
|
|
530
|
+
} : null;
|
|
531
|
+
const under = (rootId) => {
|
|
532
|
+
const out = [];
|
|
533
|
+
const walk = (id) => {
|
|
534
|
+
out.push(id);
|
|
535
|
+
for (const c of doc.nodes[id]?.childIds ?? []) walk(c);
|
|
536
|
+
};
|
|
537
|
+
walk(rootId);
|
|
538
|
+
return out;
|
|
539
|
+
};
|
|
540
|
+
for (const id of Object.keys(doc.nodes ?? {})) for (const ix of interactionsOf(id)) statements(ix.action, id);
|
|
541
|
+
for (const id of formIds) {
|
|
542
|
+
const after = controlOf(id)?.onSubmit;
|
|
543
|
+
if (after) statements(after, id);
|
|
544
|
+
}
|
|
545
|
+
missingByScreen.clear();
|
|
546
|
+
return {
|
|
547
|
+
variables,
|
|
548
|
+
overlays,
|
|
549
|
+
server,
|
|
550
|
+
live: (rootId) => under(layerId(rootId)).some((id) => nodeBindings(id) || interactionsOf(id).length || isForm(id)),
|
|
551
|
+
bindings: (webId) => within(webId, () => nodeBindings(layerId(webId).split("::").pop())),
|
|
552
|
+
events: (webId, o = {}) => within(webId, () => {
|
|
553
|
+
const id = layerId(webId).split("::").pop();
|
|
554
|
+
const out = {};
|
|
555
|
+
const control = controlOf(id);
|
|
556
|
+
if (control?.kind === "FORM") {
|
|
557
|
+
const after = control.onSubmit ? statements(control.onSubmit, id, void 0, o.changeTo) : [];
|
|
558
|
+
const record = copyRecord(webId);
|
|
559
|
+
const form = { id, name: doc.nodes[id]?.name ?? id, ...control.formAction ? { action: control.formAction } : {}, ...control.collectionId ? { collectionId: control.collectionId } : {}, ...record ? { record } : {} };
|
|
560
|
+
out.onSubmit = `async (e) => { e.preventDefault(); if (await site.submit(e.currentTarget, (e.nativeEvent as SubmitEvent).submitter, ${JSON.stringify(form)})) { ${after.join("; ")} } }`;
|
|
561
|
+
}
|
|
562
|
+
const add = (prop, body) => {
|
|
563
|
+
if (body.length) out[prop] = `${out[prop] ? `${out[prop].slice(0, -2)}; ` : `(${body.some((b) => /\be\./.test(b)) ? "e" : ""}) => { `}${body.join("; ")} }`;
|
|
564
|
+
};
|
|
565
|
+
const own = interactionsOf(id).map((ix) => ({ ix, at: id }));
|
|
566
|
+
const fromVariant = o.variant ? interactionsOf(o.variant).map((ix) => ({ ix, at: o.variant })) : [];
|
|
567
|
+
for (const { ix, at: at2 } of [...own, ...fromVariant]) {
|
|
568
|
+
const body = statements(ix.action, at2, void 0, o.changeTo);
|
|
569
|
+
if (ix.action.navigationType === "CHANGE_TO" && o.variant && o.changeTo && (ix.trigger === "ON_HOVER" || ix.trigger === "ON_PRESS")) {
|
|
570
|
+
const [enter, leave] = ix.trigger === "ON_HOVER" ? ["onMouseEnter", "onMouseLeave"] : ["onPointerDown", "onPointerUp"];
|
|
571
|
+
add(enter, body);
|
|
572
|
+
const back = o.changeTo(o.variant);
|
|
573
|
+
if (back) add(leave, [back]);
|
|
574
|
+
continue;
|
|
575
|
+
}
|
|
576
|
+
if (ix.trigger === "ON_DRAG" || ix.action.navigationType === "ORBIT_3D") {
|
|
577
|
+
const a = ix.action;
|
|
578
|
+
if (a.navigationType === "ORBIT_3D") {
|
|
579
|
+
add("onPointerDown", [`orbitDrag(e.nativeEvent, document.querySelector<HTMLElement>(${JSON.stringify(`[data-pc-id="${a.destinationId ?? at2}"]`)}), ${JSON.stringify(a.orbit ?? {})})`]);
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
if (a.navigationType === "TIMELINE" && a.timeline?.op === "SCRUB") {
|
|
583
|
+
const screen = screenOf(at2);
|
|
584
|
+
const markers = site.pages.find((p) => p.id === screen)?.timeline?.stops ?? [];
|
|
585
|
+
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)})`]);
|
|
586
|
+
continue;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
const prop = EVENT[ix.trigger];
|
|
590
|
+
if (prop) add(prop, body);
|
|
591
|
+
}
|
|
592
|
+
return out;
|
|
593
|
+
}),
|
|
594
|
+
effects: (screenId) => {
|
|
595
|
+
const out = [];
|
|
596
|
+
for (const id of under(screenId)) for (const ix of interactionsOf(id)) {
|
|
597
|
+
if (ix.trigger === "AFTER_TIMEOUT") {
|
|
598
|
+
const body = statements(ix.action, id);
|
|
599
|
+
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})`);
|
|
600
|
+
}
|
|
601
|
+
if (ix.trigger === "KEY_DOWN") {
|
|
602
|
+
const key = ix.triggerKey;
|
|
603
|
+
const body = statements(ix.action, id, "e.key");
|
|
604
|
+
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})`);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
return out;
|
|
608
|
+
},
|
|
609
|
+
missing: (rootId) => [...missingByScreen.get(layerId(rootId)) ?? []],
|
|
610
|
+
itemExpression: (src) => within(`~${ITEM_RECORD}`, () => expr(src))
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
function colorHex(c) {
|
|
614
|
+
const h = (x) => Math.round(Math.max(0, Math.min(1, x)) * 255).toString(16).padStart(2, "0");
|
|
615
|
+
return `#${h(c.r)}${h(c.g)}${h(c.b)}${c.a !== void 0 && c.a < 1 ? h(c.a) : ""}`;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
// lib/io/web/project/server.ts
|
|
619
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
620
|
+
var lines = (...l) => `${l.filter((x) => typeof x === "string").join("\n")}
|
|
621
|
+
`;
|
|
622
|
+
function as(v, value, from) {
|
|
623
|
+
if (v.type === from) return value;
|
|
624
|
+
if (v.type === "boolean") return `!!${value}`;
|
|
625
|
+
if (v.type === "number") return from === "boolean" ? `(${value} ? 1 : 0)` : `Number(${value}) || 0`;
|
|
626
|
+
return `String(${value})`;
|
|
627
|
+
}
|
|
628
|
+
var setLine = (v, value, from) => v ? `set(${JSON.stringify(v.ident)}, ${as(v, value, from)})` : null;
|
|
629
|
+
function serverFiles(server) {
|
|
630
|
+
const files = [
|
|
631
|
+
{ path: "lib/popcraft-server.ts", content: lines(
|
|
632
|
+
"// The site's own server: the forms it keeps and the lists its visitors keep records in (from the design), its",
|
|
633
|
+
"// database (DATABASE_URL) and its sign-in (SITE_AUTH_URL). app/api/popcraft answers the pages through it.",
|
|
634
|
+
"",
|
|
635
|
+
"import type { Collection } from '@popcraft/runtime'",
|
|
636
|
+
"import { storeFor, type AuthKind, type SiteBackend, type SiteDatabase } from '@popcraft/runtime/server'",
|
|
637
|
+
"import { siteUrl } from '@/lib/site'",
|
|
638
|
+
"",
|
|
639
|
+
`const FORMS = new Set<string>(${JSON.stringify(server.forms)})`,
|
|
640
|
+
`const COLLECTIONS: Record<string, Collection> = ${JSON.stringify(Object.fromEntries(server.collections.map((c) => [c.id, c])), null, 2)}`,
|
|
641
|
+
"",
|
|
642
|
+
"let ready: Promise<SiteDatabase> | null = null",
|
|
643
|
+
"",
|
|
644
|
+
"/** The site's database: its two tables are made on first use. */",
|
|
645
|
+
"function database(): Promise<SiteDatabase | null> {",
|
|
646
|
+
" const url = process.env.DATABASE_URL",
|
|
647
|
+
" if (!url) return Promise.resolve(null)",
|
|
648
|
+
" ready ??= (async () => { const db = storeFor(url); await db.ensure(); return db })().catch((e: unknown) => { ready = null; throw e })",
|
|
649
|
+
" return ready",
|
|
650
|
+
"}",
|
|
651
|
+
"",
|
|
652
|
+
"/** The site's sign-in service (Neon Auth or Supabase Auth), told the site's own address. NEON_AUTH_URL is its older name. */",
|
|
653
|
+
"async function auth() {",
|
|
654
|
+
" const authUrl = process.env.SITE_AUTH_URL ?? process.env.NEON_AUTH_URL",
|
|
655
|
+
" if (!authUrl) return null",
|
|
656
|
+
" const kind = (process.env.SITE_AUTH_KIND as AuthKind | undefined) ?? 'neon-auth'",
|
|
657
|
+
" return { kind, authUrl, origin: siteUrl.origin, apiKey: process.env.SITE_AUTH_KEY, adminKey: process.env.SITE_AUTH_ADMIN_KEY }",
|
|
658
|
+
"}",
|
|
659
|
+
"",
|
|
660
|
+
"export const site: SiteBackend = {",
|
|
661
|
+
" database,",
|
|
662
|
+
" auth,",
|
|
663
|
+
" hasForm: id => FORMS.has(id),",
|
|
664
|
+
" collection: id => COLLECTIONS[id],",
|
|
665
|
+
" // Over https in production; `next dev` serves http, where a Secure cookie would not be kept.",
|
|
666
|
+
" secure: process.env.NODE_ENV === 'production',",
|
|
667
|
+
"}"
|
|
668
|
+
) },
|
|
669
|
+
{ path: "app/api/popcraft/[...path]/route.ts", content: lines(
|
|
670
|
+
"// The site's own requests (forms, sign-in, visitors' records), at /_pc/\u2026 (next.config.ts rewrites them here).",
|
|
671
|
+
"",
|
|
672
|
+
"import { siteRequest } from '@popcraft/runtime/server'",
|
|
673
|
+
"import { site } from '@/lib/popcraft-server'",
|
|
674
|
+
"",
|
|
675
|
+
"async function handle(request: Request, { params }: { params: Promise<{ path: string[] }> }): Promise<Response> {",
|
|
676
|
+
" const { path } = await params",
|
|
677
|
+
" return (await siteRequest(request, `_pc/${path.join('/')}`, site)) ?? Response.json({ error: 'Not found' }, { status: 404 })",
|
|
678
|
+
"}",
|
|
679
|
+
"",
|
|
680
|
+
"export { handle as DELETE, handle as GET, handle as POST }"
|
|
681
|
+
) }
|
|
682
|
+
];
|
|
683
|
+
const routes = Object.keys(server.access);
|
|
684
|
+
if (routes.length) files.push({ path: "proxy.ts", content: lines(
|
|
685
|
+
"// Each page for one kind of visitor sends the other kind where it is for them: a signed-in page needs an account,",
|
|
686
|
+
"// a sign-in page is for visitors without one. The session cookie is enough to decide here; the page's provider",
|
|
687
|
+
"// (lib/popcraft.tsx) asks the server who is signed in, and clears a cookie whose session has ended.",
|
|
688
|
+
"",
|
|
689
|
+
"import { NextResponse, type NextRequest } from 'next/server'",
|
|
690
|
+
"",
|
|
691
|
+
`const ACCESS: Record<string, 'signedIn' | 'signedOut'> = ${JSON.stringify(server.access)}`,
|
|
692
|
+
`const GO = ${JSON.stringify(server.redirect)}`,
|
|
693
|
+
"",
|
|
694
|
+
"export function proxy(request: NextRequest) {",
|
|
695
|
+
" const need = ACCESS[request.nextUrl.pathname]",
|
|
696
|
+
` const signedIn = request.cookies.has(${JSON.stringify(SESSION_COOKIE)})`,
|
|
697
|
+
" const to = need === 'signedIn' && !signedIn ? GO.signedOut : need === 'signedOut' && signedIn ? GO.signedIn : null",
|
|
698
|
+
" return to && to !== request.nextUrl.pathname ? NextResponse.redirect(new URL(to, request.url)) : NextResponse.next()",
|
|
699
|
+
"}",
|
|
700
|
+
"",
|
|
701
|
+
`export const config = { matcher: ${JSON.stringify(routes)} }`
|
|
702
|
+
) });
|
|
703
|
+
return files;
|
|
704
|
+
}
|
|
705
|
+
function siteProviderSource(server) {
|
|
706
|
+
const u = server.user;
|
|
707
|
+
const guards = Object.keys(server.access).length > 0;
|
|
708
|
+
const sayUser = [setLine(u.signedIn, "!!next", "boolean"), setLine(u.name, "next?.name ?? ''", "string"), setLine(u.email, "next?.email ?? ''", "string")].filter(Boolean);
|
|
709
|
+
const sayError = (value) => setLine(u.error, value, "string");
|
|
710
|
+
return [
|
|
711
|
+
"/** 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. */",
|
|
712
|
+
"export interface SiteForm { id: string; name: string; action?: AuthAction | 'deleteRecord' | 'updateRecord'; collectionId?: string; record?: string }",
|
|
713
|
+
"interface SiteStore {",
|
|
714
|
+
" user: SiteUser | null",
|
|
715
|
+
" /** The visitor's own records, by collection, newest first. */",
|
|
716
|
+
" records: Record<string, SiteRecord[]>",
|
|
717
|
+
" /** An expression function over the visitor's records (`count`, `streak`\u2026), by the collection's name. */",
|
|
718
|
+
" call(fn: string, ...args: ExprValue[]): ExprValue",
|
|
719
|
+
` /** Send a form; true when it worked (then the design's "on submit" runs). */`,
|
|
720
|
+
" submit(form: HTMLFormElement, submitter: HTMLElement | null, about: SiteForm): Promise<boolean>",
|
|
721
|
+
"}",
|
|
722
|
+
"",
|
|
723
|
+
"const client = createSiteClient()",
|
|
724
|
+
`const MINE = ${JSON.stringify(server.collections.map((c) => c.id))}`,
|
|
725
|
+
`/** Each list by the name an expression gives it. */`,
|
|
726
|
+
`const NAMES: Record<string, string> = ${JSON.stringify(Object.fromEntries(server.collections.map((c) => [c.name.trim().toLowerCase(), c.id])))}`,
|
|
727
|
+
...guards ? [`const ACCESS: Record<string, 'signedIn' | 'signedOut'> = ${JSON.stringify(server.access)}`, `const GO = ${JSON.stringify(server.redirect)}`] : [],
|
|
728
|
+
"const SiteContext = createContext<SiteStore | null>(null)",
|
|
729
|
+
"",
|
|
730
|
+
"/** The visitor: who is signed in (asked of the site's server on load), their records, and the design's variables that say so. */",
|
|
731
|
+
"export function SiteProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
732
|
+
...sayUser.length || server.counts.length || u.error ? [" const { set } = useVariables()"] : [],
|
|
733
|
+
...guards ? [" const router = useRouter()", " const path = usePathname()"] : [],
|
|
734
|
+
" const [user, setUser] = useState<SiteUser | null>(null)",
|
|
735
|
+
...guards ? [" const [known, setKnown] = useState(false)"] : [],
|
|
736
|
+
" const [records, setRecords] = useState<Record<string, SiteRecord[]>>({})",
|
|
737
|
+
" const say = useCallback((next: SiteUser | null) => {",
|
|
738
|
+
" setUser(next)",
|
|
739
|
+
...sayUser.map((l) => ` ${l}`),
|
|
740
|
+
` }, [${sayUser.length ? "set" : ""}])`,
|
|
741
|
+
" const refresh = useCallback(async (who: SiteUser | null) => {",
|
|
742
|
+
" const next: Record<string, SiteRecord[]> = {}",
|
|
743
|
+
" for (const id of MINE) next[id] = who ? await client.records(id) : []",
|
|
744
|
+
" setRecords(next)",
|
|
745
|
+
...server.counts.map((c) => ` ${setLine(c.variable, `next[${JSON.stringify(c.collection)}].length`, "number")}`),
|
|
746
|
+
` }, [${server.counts.length ? "set" : ""}])`,
|
|
747
|
+
` useEffect(() => { void client.who().then(async who => { say(who); ${guards ? "setKnown(true); " : ""}await refresh(who) }) }, [say, refresh])`,
|
|
748
|
+
...guards ? [
|
|
749
|
+
" // A page for the other kind of visitor (a cookie whose session had ended got past proxy.ts): where a visit would land.",
|
|
750
|
+
" useEffect(() => {",
|
|
751
|
+
" if (!known) return",
|
|
752
|
+
" const need = ACCESS[path]",
|
|
753
|
+
" const to = need === 'signedIn' && !user ? GO.signedOut : need === 'signedOut' && user ? GO.signedIn : null",
|
|
754
|
+
" if (to && to !== path) router.replace(to)",
|
|
755
|
+
" }, [known, user, path, router])"
|
|
756
|
+
] : [],
|
|
757
|
+
" const submit = useCallback(async (form: HTMLFormElement, submitter: HTMLElement | null, about: SiteForm): Promise<boolean> => {",
|
|
758
|
+
" const values: Record<string, string> = {}",
|
|
759
|
+
" new FormData(form, submitter).forEach((value, key) => { if (typeof value === 'string') values[key] = value })",
|
|
760
|
+
...sayError("''") ? [` ${sayError("''")}`] : [],
|
|
761
|
+
" try {",
|
|
762
|
+
" if (about.action && about.action !== 'deleteRecord' && about.action !== 'updateRecord') {",
|
|
763
|
+
" const who = await client.act(about.action, values)",
|
|
764
|
+
" say(who)",
|
|
765
|
+
" await refresh(who)",
|
|
766
|
+
" return true",
|
|
767
|
+
" }",
|
|
768
|
+
" // A visitor's own list: a form bound to it adds a record; one inside a copy changes or removes that copy's.",
|
|
769
|
+
" const of = about.record ? MINE.find(id => records[id]?.some(r => r.id === about.record)) : about.collectionId && MINE.includes(about.collectionId) ? about.collectionId : undefined",
|
|
770
|
+
" if (of) {",
|
|
771
|
+
" if (!user) throw new Error('Sign in first.')",
|
|
772
|
+
" if (about.action === 'deleteRecord') await client.remove(of, about.record ?? '')",
|
|
773
|
+
" 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) }",
|
|
774
|
+
" else await client.save(of, values)",
|
|
775
|
+
" await refresh(user)",
|
|
776
|
+
" return true",
|
|
777
|
+
" }",
|
|
778
|
+
` // Kept in the site's database. Refused (none attached, or the request failed): the design's "on submit" does not run.`,
|
|
779
|
+
" 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.')",
|
|
780
|
+
" return true",
|
|
781
|
+
" } catch (e) {",
|
|
782
|
+
...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"],
|
|
783
|
+
" return false",
|
|
784
|
+
" }",
|
|
785
|
+
` }, [records, user, say, refresh${u.error ? ", set" : ""}])`,
|
|
786
|
+
' // What `count("Checkins")` and the rest add up: the visitor\'s own records, with when each was made.',
|
|
787
|
+
" const data = useMemo<ExprData>(() => ({",
|
|
788
|
+
" rows: name => {",
|
|
789
|
+
" const id = NAMES[name.trim().toLowerCase()] ?? (MINE.includes(name) ? name : undefined)",
|
|
790
|
+
" 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",
|
|
791
|
+
" },",
|
|
792
|
+
" }), [records])",
|
|
793
|
+
" const callData = useCallback((fn: string, ...args: ExprValue[]): ExprValue => {",
|
|
794
|
+
" const f = FUNCTIONS[fn]",
|
|
795
|
+
" if (!f) return 0",
|
|
796
|
+
" try { return f(args, data) } catch (e) { if (e instanceof ExprMissing) return 0; throw e }",
|
|
797
|
+
" }, [data])",
|
|
798
|
+
" const store = useMemo(() => ({ user, records, call: callData, submit }), [user, records, callData, submit])",
|
|
799
|
+
" return <SiteContext value={store}>{children}</SiteContext>",
|
|
800
|
+
"}",
|
|
801
|
+
"",
|
|
802
|
+
"/** A field of a visitor's record, as an expression reads it (`item.note`): its values, and `id`, `by`, `mine` and `age` (days old). */",
|
|
803
|
+
"export function itemField(item: SiteRecord, key: string): ExprValue {",
|
|
804
|
+
" if (key === 'id') return item.id",
|
|
805
|
+
" if (key === 'by') return item.by ?? ''",
|
|
806
|
+
" if (key === 'mine') return item.mine ?? true",
|
|
807
|
+
" if (key === 'age') return item.createdAt ? Math.max(0, dayOf(Date.now()) - dayOf(Date.parse(item.createdAt))) : 0",
|
|
808
|
+
" return item.values[key] ?? ''",
|
|
809
|
+
"}",
|
|
810
|
+
"",
|
|
811
|
+
"/** Two of a visitor's records in a list's order: by a field, numbers as numbers and words as words. */",
|
|
812
|
+
"export function itemCompare(a: SiteRecord, b: SiteRecord, key: string): number {",
|
|
813
|
+
" const x = itemField(a, key), y = itemField(b, key)",
|
|
814
|
+
" return typeof x === 'number' && typeof y === 'number' ? x - y : String(x).localeCompare(String(y), undefined, { numeric: true })",
|
|
815
|
+
"}",
|
|
816
|
+
"",
|
|
817
|
+
"/** A field of a visitor's record as words on the page (a yes-or-no as Yes or No). */",
|
|
818
|
+
"export function itemWords(item: SiteRecord, key: string): string {",
|
|
819
|
+
" const value = itemField(item, key)",
|
|
820
|
+
" return typeof value === 'boolean' ? (value ? 'Yes' : 'No') : String(value)",
|
|
821
|
+
"}",
|
|
822
|
+
"",
|
|
823
|
+
"/** The visitor, their records, and `submit` for a form. */",
|
|
824
|
+
"export function useSite(): SiteStore {",
|
|
825
|
+
" const store = useContext(SiteContext)",
|
|
826
|
+
" if (!store) throw new Error('useSite is used outside SiteProvider (app/layout.tsx)')",
|
|
827
|
+
" return store",
|
|
828
|
+
"}",
|
|
829
|
+
""
|
|
830
|
+
];
|
|
831
|
+
}
|
|
832
|
+
function serverReadme(server) {
|
|
833
|
+
return `## Forms${server.signIn ? ", accounts" : ""} and data
|
|
834
|
+
|
|
835
|
+
The site has a server of its own (\`app/api/popcraft\`, through \`@popcraft/runtime/server\`): it keeps what its forms
|
|
836
|
+
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
|
|
837
|
+
\`.env.local\` and set:
|
|
838
|
+
|
|
839
|
+
| Variable | What it is |
|
|
840
|
+
| --- | --- |
|
|
841
|
+
| \`DATABASE_URL\` | A Postgres connection string (a Neon or Supabase project's). The site makes its two tables on first use |
|
|
842
|
+
${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)" : ""} |
|
|
843
|
+
|
|
844
|
+
Without \`DATABASE_URL\` the pages still work: forms are sent and not kept${server.signIn ? ", and nobody can sign in" : ""}.
|
|
845
|
+
|
|
846
|
+
`;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
// lib/io/web/project/islands.ts
|
|
850
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
851
|
+
function islandFiles(site, script) {
|
|
852
|
+
return [
|
|
853
|
+
{ path: "public/pc/island.js", content: script },
|
|
854
|
+
{ path: "public/pc/islands.json", content: JSON.stringify(site.islands ?? {}) },
|
|
855
|
+
{ path: "components/gpu-island.tsx", content: GPU_ISLAND }
|
|
856
|
+
];
|
|
857
|
+
}
|
|
858
|
+
var REACT_IMPORT = "import { useEffect, useRef } from 'react'";
|
|
859
|
+
var GPU_ISLAND = `'use client'
|
|
860
|
+
|
|
861
|
+
// A layer only the GPU draws, drawn live over its picture by PopCraft's renderer (public/pc/island.js), with what it
|
|
862
|
+
// draws from public/pc/islands.json. Both load once, the first time an island is on screen; without WebGPU the
|
|
863
|
+
// picture stays.
|
|
864
|
+
|
|
865
|
+
${REACT_IMPORT}
|
|
866
|
+
|
|
867
|
+
interface IslandHandle { invalidate(): void; destroy(): void }
|
|
868
|
+
interface IslandHost { mount(canvas: HTMLCanvasElement, spec: unknown, clock?: () => number): IslandHandle | null; destroy(): void }
|
|
869
|
+
declare global { var popcraftIsland: { createIslandHost(): Promise<IslandHost | null> } | undefined }
|
|
870
|
+
|
|
871
|
+
let host: Promise<{ host: IslandHost | null; specs: Record<string, unknown> }> | null = null
|
|
872
|
+
function islandHost() {
|
|
873
|
+
host ??= Promise.all([
|
|
874
|
+
new Promise<void>((resolve, reject) => {
|
|
875
|
+
if (globalThis.popcraftIsland) return resolve()
|
|
876
|
+
const script = document.createElement('script')
|
|
877
|
+
script.src = '/pc/island.js'
|
|
878
|
+
script.onload = () => resolve()
|
|
879
|
+
script.onerror = () => reject(new Error('The island renderer did not load'))
|
|
880
|
+
document.head.appendChild(script)
|
|
881
|
+
}).then(() => globalThis.popcraftIsland?.createIslandHost() ?? null),
|
|
882
|
+
fetch('/pc/islands.json').then(r => r.json() as Promise<Record<string, unknown>>),
|
|
883
|
+
]).then(([h, specs]) => ({ host: h, specs })).catch(() => ({ host: null, specs: {} }))
|
|
884
|
+
return host
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
/** Island \`id\` (its layer), posed at the time of screen \`screen\`'s timeline. */
|
|
888
|
+
export function GpuIsland({ id, screen }: { id: string; screen: string }) {
|
|
889
|
+
const canvas = useRef<HTMLCanvasElement>(null)
|
|
890
|
+
useEffect(() => {
|
|
891
|
+
const el = canvas.current
|
|
892
|
+
if (!el || typeof navigator === 'undefined' || !('gpu' in navigator)) return
|
|
893
|
+
const parent = el.parentElement
|
|
894
|
+
if (parent && getComputedStyle(parent).position === 'static') parent.style.position = 'relative'
|
|
895
|
+
let handle: IslandHandle | null = null
|
|
896
|
+
let gone = false
|
|
897
|
+
const started = performance.now()
|
|
898
|
+
// The screen's timeline (its CSS animations), else the time since the island appeared.
|
|
899
|
+
const clock = () => {
|
|
900
|
+
const timeline = document.querySelector(\`[data-pc-id="\${screen}"]\`)?.getAnimations({ subtree: true }).find(a => (a as CSSAnimation).animationName?.startsWith('timeline-'))
|
|
901
|
+
return timeline ? Number(timeline.currentTime ?? 0) : performance.now() - started
|
|
902
|
+
}
|
|
903
|
+
const start = () => void islandHost().then(({ host: h, specs }) => {
|
|
904
|
+
if (gone || !h || !specs[id]) return
|
|
905
|
+
handle = h.mount(el, specs[id], clock)
|
|
906
|
+
if (!handle) return
|
|
907
|
+
// The picture under it has done its work: the canvas shows the layer from here.
|
|
908
|
+
for (const child of el.parentElement?.children ?? []) if (child !== el) (child as HTMLElement).style.visibility = 'hidden'
|
|
909
|
+
el.style.display = 'block'
|
|
910
|
+
})
|
|
911
|
+
// Asked for once it is on screen, so a page whose island is far below loads nothing until it is reached.
|
|
912
|
+
const seen = new IntersectionObserver(entries => { if (entries.some(e => e.isIntersecting)) { seen.disconnect(); start() } })
|
|
913
|
+
seen.observe(el.parentElement ?? el)
|
|
914
|
+
return () => { gone = true; seen.disconnect(); handle?.destroy() }
|
|
915
|
+
}, [id, screen])
|
|
916
|
+
return <canvas ref={canvas} aria-hidden="true" style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', display: 'none' }} />
|
|
917
|
+
}
|
|
918
|
+
`;
|
|
919
|
+
|
|
920
|
+
// lib/io/web/project/versions.ts
|
|
921
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
922
|
+
|
|
923
|
+
// packages/runtime/package.json
|
|
924
|
+
var package_default = {
|
|
925
|
+
name: "@popcraft/runtime",
|
|
926
|
+
version: "0.27.0",
|
|
927
|
+
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.",
|
|
928
|
+
license: "MIT",
|
|
929
|
+
homepage: "https://popcraft.app/docs/exporting/nextjs",
|
|
930
|
+
repository: {
|
|
931
|
+
type: "git",
|
|
932
|
+
url: "git+https://github.com/getpopcraft/popcraft-app.git",
|
|
933
|
+
directory: "packages/runtime"
|
|
934
|
+
},
|
|
935
|
+
type: "module",
|
|
936
|
+
sideEffects: false,
|
|
937
|
+
exports: {
|
|
938
|
+
".": {
|
|
939
|
+
types: "./dist/index.d.ts",
|
|
940
|
+
import: "./dist/index.js"
|
|
941
|
+
},
|
|
942
|
+
"./commerce": {
|
|
943
|
+
types: "./dist/commerce.d.ts",
|
|
944
|
+
import: "./dist/commerce.js"
|
|
945
|
+
},
|
|
946
|
+
"./server": {
|
|
947
|
+
types: "./dist/server/index.d.ts",
|
|
948
|
+
import: "./dist/server.js"
|
|
949
|
+
},
|
|
950
|
+
"./package.json": "./package.json"
|
|
951
|
+
},
|
|
952
|
+
files: [
|
|
953
|
+
"dist",
|
|
954
|
+
"CHANGELOG.md",
|
|
955
|
+
"README.md",
|
|
956
|
+
"LICENSE"
|
|
957
|
+
],
|
|
958
|
+
engines: {
|
|
959
|
+
node: ">=20.9.0"
|
|
960
|
+
},
|
|
961
|
+
scripts: {
|
|
962
|
+
build: "node build.mjs",
|
|
963
|
+
typecheck: "tsc --noEmit -p .",
|
|
964
|
+
prepublishOnly: "node build.mjs"
|
|
965
|
+
},
|
|
966
|
+
devDependencies: {
|
|
967
|
+
esbuild: "0.28.2"
|
|
968
|
+
},
|
|
969
|
+
dependencies: {
|
|
970
|
+
"@neondatabase/serverless": "^1.2.0",
|
|
971
|
+
postgres: "^3.4.9"
|
|
972
|
+
}
|
|
973
|
+
};
|
|
974
|
+
|
|
975
|
+
// lib/io/web/project/versions.ts
|
|
976
|
+
var EXPORT_VERSIONS = {
|
|
977
|
+
/** When the versions below were last checked against npm and built. */
|
|
978
|
+
checked: "2026-10-03",
|
|
979
|
+
/** The Node.js an exported Next.js project needs (Next.js's own floor). */
|
|
980
|
+
node: ">=20.9.0",
|
|
981
|
+
packages: {
|
|
982
|
+
next: "16.3.8",
|
|
983
|
+
react: "19.3.0",
|
|
984
|
+
"react-dom": "19.3.0",
|
|
985
|
+
typescript: "6.0.3",
|
|
986
|
+
"@types/node": "24.19.1",
|
|
987
|
+
"@types/react": "19.3.0",
|
|
988
|
+
"@types/react-dom": "19.3.0",
|
|
989
|
+
eslint: "9.39.5",
|
|
990
|
+
"eslint-config-next": "16.3.8",
|
|
991
|
+
tailwindcss: "4.3.3",
|
|
992
|
+
"@tailwindcss/postcss": "4.3.3"
|
|
993
|
+
}
|
|
994
|
+
};
|
|
995
|
+
var RUNTIME_PACKAGE = { name: package_default.name, version: package_default.version };
|
|
996
|
+
var runtimeRange = () => `>=${RUNTIME_PACKAGE.version} <${Number(RUNTIME_PACKAGE.version.split(".")[0]) + 1}.0.0`;
|
|
997
|
+
var range = (name) => `^${EXPORT_VERSIONS.packages[name]}`;
|
|
998
|
+
|
|
999
|
+
// lib/io/web/project/next.ts
|
|
1000
|
+
var all = (n, out = []) => {
|
|
1001
|
+
out.push(n);
|
|
1002
|
+
n.children.forEach((c) => all(c, out));
|
|
1003
|
+
return out;
|
|
1004
|
+
};
|
|
1005
|
+
function unique(base, taken) {
|
|
1006
|
+
let name = base || "Module";
|
|
1007
|
+
for (let n = 2; taken.has(name); n++) name = `${base}${n}`;
|
|
1008
|
+
taken.add(name);
|
|
1009
|
+
return name;
|
|
1010
|
+
}
|
|
1011
|
+
var jsxProp = (k, v) => typeof v === "string" ? `${k}=${JSON.stringify(v)}` : `${k}={${JSON.stringify(v)}}`;
|
|
1012
|
+
var pageDir = (route) => route === "/" ? "app" : `app${route}`;
|
|
1013
|
+
var json = (v) => `${JSON.stringify(v, null, 2)}
|
|
1014
|
+
`;
|
|
1015
|
+
var googleSet = new Set(GOOGLE_FONTS);
|
|
1016
|
+
function projectFonts(site) {
|
|
1017
|
+
return site.fonts.filter((f) => googleSet.has(f.family)).map((f) => {
|
|
1018
|
+
const slug = f.family.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
1019
|
+
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) };
|
|
1020
|
+
});
|
|
1021
|
+
}
|
|
1022
|
+
function nextProjectFiles(site, doc, opts = {}) {
|
|
1023
|
+
const tailwind = opts.styling === "tailwind";
|
|
1024
|
+
const fonts = projectFonts(site);
|
|
1025
|
+
const byFamily = new Map(fonts.map((f) => [f.family, f.variable]));
|
|
1026
|
+
const fontFamily = (value) => value.replace(/"([^"]+)"/, (m, family) => byFamily.has(family) ? `var(${byFamily.get(family)})` : m);
|
|
1027
|
+
const files = externalizeBitmaps(site).map((f) => ({ ...f, path: `public/${f.path}` }));
|
|
1028
|
+
const moduleFile = /* @__PURE__ */ new Map();
|
|
1029
|
+
const taken = /* @__PURE__ */ new Set();
|
|
1030
|
+
const packages = {};
|
|
1031
|
+
for (const id of Object.keys(site.code?.modules ?? {}).sort()) {
|
|
1032
|
+
const m = doc.codeModules?.[id];
|
|
1033
|
+
if (!m) continue;
|
|
1034
|
+
const name2 = unique(componentName(m.name), taken);
|
|
1035
|
+
moduleFile.set(id, name2);
|
|
1036
|
+
Object.assign(packages, m.packages);
|
|
1037
|
+
const source = m.source.endsWith("\n") ? m.source : `${m.source}
|
|
1038
|
+
`;
|
|
1039
|
+
files.push({ path: `components/code/${name2}.tsx`, content: /^\s*['"]use client['"]/.test(source) ? source : `'use client'
|
|
1040
|
+
|
|
1041
|
+
${source}` });
|
|
1042
|
+
}
|
|
1043
|
+
const islands = !!site.islands && Object.keys(site.islands).length > 0 && !!opts.islandScript;
|
|
1044
|
+
if (islands) files.push(...islandFiles(site, opts.islandScript));
|
|
1045
|
+
const behaviour = behaviourOf(site);
|
|
1046
|
+
const media = /* @__PURE__ */ new Set();
|
|
1047
|
+
const routes = [];
|
|
1048
|
+
for (const page of site.pages) {
|
|
1049
|
+
if (routes.includes(page.route) && !page.notFound) continue;
|
|
1050
|
+
if (!page.notFound) routes.push(page.route);
|
|
1051
|
+
for (const rule of page.media ?? site.pages.find((p) => p.screen && p.screen === page.screen && p.media)?.media ?? []) media.add(rule);
|
|
1052
|
+
files.push(...pageFiles(site, page, moduleFile, { tailwind, fontFamily, ownFonts: fonts.length > 0, behaviour, islands }));
|
|
1053
|
+
}
|
|
1054
|
+
const tokens = (site.tokens ? tokensCSS(site.tokens) : []).map(fontFamily);
|
|
1055
|
+
files.push({ path: "app/globals.css", content: [
|
|
1056
|
+
...tailwind ? ['@import "tailwindcss";', ""] : [],
|
|
1057
|
+
"html, body { margin: 0; min-height: 100%; }",
|
|
1058
|
+
"*, *::before, *::after { box-sizing: border-box; }",
|
|
1059
|
+
"img, picture, svg, video { display: block; max-width: 100%; }",
|
|
1060
|
+
...tokens,
|
|
1061
|
+
...[...media].map(fontFamily),
|
|
1062
|
+
""
|
|
1063
|
+
].join("\n") });
|
|
1064
|
+
const overlays = behaviour.overlays.size > 0;
|
|
1065
|
+
const server = behaviour.server;
|
|
1066
|
+
files.push({ path: "app/layout.tsx", content: layoutSource(site, fonts, { variables: behaviour.variables.length > 0 || overlays || !!server, overlays, server: !!server }) });
|
|
1067
|
+
if (overlays) files.push({ path: "components/overlays.tsx", content: overlaysSource(site, behaviour) });
|
|
1068
|
+
files.push({ path: "lib/popcraft.tsx", content: stateSource(behaviour) });
|
|
1069
|
+
if (server) files.push(...serverFiles(server));
|
|
1070
|
+
files.push({ path: "app/sitemap.ts", content: sitemapSource(routes) });
|
|
1071
|
+
files.push({ path: "app/robots.ts", content: robotsSource() });
|
|
1072
|
+
files.push({ path: "lib/site.ts", content: siteSource() });
|
|
1073
|
+
const name = fileBase(site.name).toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/^-+|-+$/g, "") || "site";
|
|
1074
|
+
files.push({ path: "package.json", content: json({
|
|
1075
|
+
name,
|
|
1076
|
+
private: true,
|
|
1077
|
+
version: "0.1.0",
|
|
1078
|
+
type: "module",
|
|
1079
|
+
engines: { node: EXPORT_VERSIONS.node },
|
|
1080
|
+
scripts: { dev: "next dev", build: "next build", start: "next start", lint: "eslint .", typecheck: "tsc --noEmit" },
|
|
1081
|
+
dependencies: { next: range("next"), react: range("react"), "react-dom": range("react-dom"), [RUNTIME_PACKAGE.name]: runtimeRange(), ...packages },
|
|
1082
|
+
devDependencies: {
|
|
1083
|
+
"@types/node": range("@types/node"),
|
|
1084
|
+
"@types/react": range("@types/react"),
|
|
1085
|
+
"@types/react-dom": range("@types/react-dom"),
|
|
1086
|
+
eslint: range("eslint"),
|
|
1087
|
+
"eslint-config-next": range("eslint-config-next"),
|
|
1088
|
+
typescript: range("typescript"),
|
|
1089
|
+
...tailwind ? { tailwindcss: range("tailwindcss"), "@tailwindcss/postcss": range("@tailwindcss/postcss") } : {}
|
|
1090
|
+
}
|
|
1091
|
+
}) });
|
|
1092
|
+
files.push({ path: "tsconfig.json", content: json({
|
|
1093
|
+
compilerOptions: {
|
|
1094
|
+
target: "ES2022",
|
|
1095
|
+
lib: ["dom", "dom.iterable", "esnext"],
|
|
1096
|
+
allowJs: false,
|
|
1097
|
+
skipLibCheck: true,
|
|
1098
|
+
strict: true,
|
|
1099
|
+
noEmit: true,
|
|
1100
|
+
esModuleInterop: true,
|
|
1101
|
+
module: "esnext",
|
|
1102
|
+
moduleResolution: "bundler",
|
|
1103
|
+
resolveJsonModule: true,
|
|
1104
|
+
isolatedModules: true,
|
|
1105
|
+
jsx: "react-jsx",
|
|
1106
|
+
incremental: true,
|
|
1107
|
+
plugins: [{ name: "next" }],
|
|
1108
|
+
paths: { "@/*": ["./*"] }
|
|
1109
|
+
},
|
|
1110
|
+
include: ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
|
|
1111
|
+
exclude: ["node_modules"]
|
|
1112
|
+
}) });
|
|
1113
|
+
files.push({ path: "next.config.ts", content: [
|
|
1114
|
+
"import type { NextConfig } from 'next'",
|
|
1115
|
+
"",
|
|
1116
|
+
"const nextConfig: NextConfig = {",
|
|
1117
|
+
" // The pictures are the project's own, in public/: next/image serves them sized for each screen.",
|
|
1118
|
+
" images: { formats: ['image/avif', 'image/webp'] },",
|
|
1119
|
+
...server ? [
|
|
1120
|
+
" // The pages ask their server at /_pc/\u2026 as a published PopCraft site does; app/api/popcraft answers.",
|
|
1121
|
+
" async rewrites() { return [{ source: '/_pc/:path*', destination: '/api/popcraft/:path*' }] },"
|
|
1122
|
+
] : [],
|
|
1123
|
+
"}",
|
|
1124
|
+
"",
|
|
1125
|
+
"export default nextConfig",
|
|
1126
|
+
""
|
|
1127
|
+
].join("\n") });
|
|
1128
|
+
files.push({ path: "eslint.config.mjs", content: [
|
|
1129
|
+
"import { defineConfig, globalIgnores } from 'eslint/config'",
|
|
1130
|
+
"import nextVitals from 'eslint-config-next/core-web-vitals'",
|
|
1131
|
+
"import nextTs from 'eslint-config-next/typescript'",
|
|
1132
|
+
"",
|
|
1133
|
+
"export default defineConfig([",
|
|
1134
|
+
" ...nextVitals,",
|
|
1135
|
+
" ...nextTs,",
|
|
1136
|
+
` globalIgnores(['.next/**', 'out/**', 'build/**', 'next-env.d.ts'${islands ? ", 'public/pc/**'" : ""}]),`,
|
|
1137
|
+
"])",
|
|
1138
|
+
""
|
|
1139
|
+
].join("\n") });
|
|
1140
|
+
if (tailwind) files.push({ path: "postcss.config.mjs", content: "const config = { plugins: { '@tailwindcss/postcss': {} } }\n\nexport default config\n" });
|
|
1141
|
+
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") });
|
|
1142
|
+
files.push({ path: ".env.example", content: [
|
|
1143
|
+
"# The address the site is served from: used for its sitemap, robots.txt and social previews" + (server?.signIn ? ", and the origin" : ""),
|
|
1144
|
+
...server?.signIn ? ["# its sign-in service is told visitors come from."] : [],
|
|
1145
|
+
"NEXT_PUBLIC_SITE_URL=https://example.com",
|
|
1146
|
+
...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"] : [],
|
|
1147
|
+
...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="] : [],
|
|
1148
|
+
""
|
|
1149
|
+
].join("\n") });
|
|
1150
|
+
files.push({ path: "README.md", content: readme(site, { tailwind, fonts, routes, code: moduleFile.size > 0, server }) });
|
|
1151
|
+
return files;
|
|
1152
|
+
}
|
|
1153
|
+
function listSource(r, b) {
|
|
1154
|
+
let out = `(site.records[${JSON.stringify(r.collectionId)}] ?? [])`;
|
|
1155
|
+
const keep = r.filter ? b.itemExpression(r.filter) : null;
|
|
1156
|
+
if (keep) out += `.filter(item => truthy(${keep}))`;
|
|
1157
|
+
if (r.sort) out += `.toSorted((a, b) => itemCompare(a, b, ${JSON.stringify(r.sort.key)})${r.sort.dir === "DESC" ? " * -1" : ""})`;
|
|
1158
|
+
if (r.offset || r.limit) out += `.slice(${r.offset ?? 0}${r.limit ? `, ${(r.offset ?? 0) + r.limit}` : ""})`;
|
|
1159
|
+
return out;
|
|
1160
|
+
}
|
|
1161
|
+
function pageFiles(site, page, moduleFile, o) {
|
|
1162
|
+
const imports = /* @__PURE__ */ new Map();
|
|
1163
|
+
const server = o.behaviour.server;
|
|
1164
|
+
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));
|
|
1165
|
+
const effects = live ? o.behaviour.effects(page.tree.root.id) : [];
|
|
1166
|
+
let usesImage = false;
|
|
1167
|
+
let usesIsland = false;
|
|
1168
|
+
const render = (prelude2) => serializeReact({ ...page.tree, root: withAssetBase(page.tree.root, "/"), ...page.machine ? { stateMachine: page.machine } : {} }, {
|
|
1169
|
+
ids: true,
|
|
1170
|
+
name: "Screen",
|
|
1171
|
+
styling: o.tailwind ? "tailwind" : "inline",
|
|
1172
|
+
fontFamily: o.fontFamily,
|
|
1173
|
+
ownFonts: o.ownFonts,
|
|
1174
|
+
...live ? { behaviour: o.behaviour, prelude: prelude2 } : {},
|
|
1175
|
+
// A GPU island: drawn live over its picture by the renderer the project carries (./islands.ts).
|
|
1176
|
+
...o.islands ? { island: (n) => {
|
|
1177
|
+
usesIsland = true;
|
|
1178
|
+
return `<GpuIsland id=${JSON.stringify(n.id)} screen=${JSON.stringify(page.tree.root.id)} />`;
|
|
1179
|
+
} } : {},
|
|
1180
|
+
// A visitor's own lists are drawn from their records, which the site provider holds.
|
|
1181
|
+
...o.behaviour.server ? { lists: (r) => o.behaviour.server.collections.some((c) => c.id === r.collectionId) ? listSource(r, o.behaviour) : null } : {},
|
|
1182
|
+
image: (p) => {
|
|
1183
|
+
usesImage = true;
|
|
1184
|
+
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" />`;
|
|
1185
|
+
},
|
|
1186
|
+
code: (node) => {
|
|
1187
|
+
const c = node.code;
|
|
1188
|
+
const file = moduleFile.get(c.module);
|
|
1189
|
+
if (!file) return null;
|
|
1190
|
+
const local = c.export && c.export !== "default" ? c.export : file;
|
|
1191
|
+
imports.set(local, c.export && c.export !== "default" ? `import { ${c.export} } from '@/components/code/${file}'` : `import ${file} from '@/components/code/${file}'`);
|
|
1192
|
+
return `<${local} ${Object.entries(c.props).map(([k, v]) => jsxProp(k, v)).join(" ")} />`;
|
|
1193
|
+
}
|
|
1194
|
+
});
|
|
1195
|
+
const effectLines = effects.map((e) => `useEffect(() => { ${e} }, [])`);
|
|
1196
|
+
const draft = `${render([])}
|
|
1197
|
+
${effectLines.join("\n")}`;
|
|
1198
|
+
const uses = (re) => re.test(draft);
|
|
1199
|
+
const store = [uses(/\bv\./) ? "v" : "", uses(/\bset\(/) ? "set" : ""].filter(Boolean);
|
|
1200
|
+
const prelude = live ? [
|
|
1201
|
+
...uses(/\brouter\./) ? ["const router = useRouter()"] : [],
|
|
1202
|
+
...store.length ? [`const { ${store.join(", ")} } = useVariables()`] : [],
|
|
1203
|
+
...uses(/\boverlays\./) ? ["const overlays = useOverlays()"] : [],
|
|
1204
|
+
...uses(/\bsite\.(submit|records|call)\b/) ? ["const site = useSite()"] : [],
|
|
1205
|
+
...effects.map((e) => {
|
|
1206
|
+
const deps = ["router", "set", "overlays"].filter((d) => new RegExp(`\\b${d}\\b`).test(e));
|
|
1207
|
+
return `useEffect(() => { ${e} }, [${deps.join(", ")}])`;
|
|
1208
|
+
})
|
|
1209
|
+
] : [];
|
|
1210
|
+
const body = live ? render(prelude) : draft.trimEnd();
|
|
1211
|
+
if (live) {
|
|
1212
|
+
if (uses(/\brouter\./)) imports.set("useRouter", "import { useRouter } from 'next/navigation'");
|
|
1213
|
+
const helpers = ["call", "exprText", "itemCompare", "itemField", "itemWords", "num", "ops", "truthy"].filter((h) => new RegExp(`\\b${h}[.(]`).test(body));
|
|
1214
|
+
const named = [...helpers, ...uses(/\boverlays\./) ? ["useOverlays"] : [], ...uses(/\bsite\.(submit|records|call)\b/) ? ["useSite"] : [], ...store.length ? ["useVariables"] : []].sort();
|
|
1215
|
+
if (named.length) imports.set("popcraft", `import { ${named.join(", ")} } from '@/lib/popcraft'`);
|
|
1216
|
+
const page2 = ["controlTimeline", "orbitDrag", "scrubTimeline", "switchMode"].filter((h) => new RegExp(`\\b${h}\\(`).test(body));
|
|
1217
|
+
if (page2.length) imports.set("runtime", `import { ${page2.join(", ")} } from '@popcraft/runtime'`);
|
|
1218
|
+
}
|
|
1219
|
+
if (usesImage) imports.set("Image", "import Image from 'next/image'");
|
|
1220
|
+
if (usesIsland) imports.set("GpuIsland", "import { GpuIsland } from '@/components/gpu-island'");
|
|
1221
|
+
const nodes = all(page.tree.root);
|
|
1222
|
+
const client = live || /\buse(Effect|Ref|State)\b/.test(body);
|
|
1223
|
+
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));
|
|
1224
|
+
if (hooks.length) imports.set("react", `import { ${hooks.join(", ")} } from 'react'`);
|
|
1225
|
+
const left = [
|
|
1226
|
+
nodes.some((n) => n.island) && !o.islands ? "layers drawn live on the GPU are pictures here" : "",
|
|
1227
|
+
...o.behaviour.missing(page.tree.root.id)
|
|
1228
|
+
].filter(Boolean);
|
|
1229
|
+
const dir = page.notFound ? "app" : pageDir(page.route);
|
|
1230
|
+
const share = pageShareImage(site, page);
|
|
1231
|
+
const metadata = [
|
|
1232
|
+
"import type { Metadata } from 'next'",
|
|
1233
|
+
"",
|
|
1234
|
+
`export const metadata: Metadata = {`,
|
|
1235
|
+
` title: ${JSON.stringify(page.title)},`,
|
|
1236
|
+
...page.description ? [` description: ${JSON.stringify(page.description)},`] : [],
|
|
1237
|
+
...page.route !== "/" && !page.notFound ? [` alternates: { canonical: ${JSON.stringify(page.route)} },`] : [],
|
|
1238
|
+
// Its share image is in `public/` and named from the root: `metadataBase` (app/layout.tsx) makes it absolute.
|
|
1239
|
+
...share ? [
|
|
1240
|
+
` 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} }] },`,
|
|
1241
|
+
` twitter: { card: 'summary_large_image', title: ${JSON.stringify(page.title)}, images: [${JSON.stringify(`/${share.path}`)}] },`
|
|
1242
|
+
] : [],
|
|
1243
|
+
"}"
|
|
1244
|
+
];
|
|
1245
|
+
const screen = [
|
|
1246
|
+
...client ? ["'use client'", ""] : [],
|
|
1247
|
+
...[...imports.values()].sort(),
|
|
1248
|
+
...imports.size ? [""] : [],
|
|
1249
|
+
...left.length ? [`// Exported from PopCraft. Not carried into this page: ${left.join("; ")}. The static export plays them.`, ""] : [],
|
|
1250
|
+
body,
|
|
1251
|
+
""
|
|
1252
|
+
].join("\n");
|
|
1253
|
+
const screenFile = page.notFound ? "not-found-screen.tsx" : "screen.tsx";
|
|
1254
|
+
const pageFile = page.notFound ? "not-found.tsx" : "page.tsx";
|
|
1255
|
+
return [
|
|
1256
|
+
{ path: `${dir}/${screenFile}`, content: screen },
|
|
1257
|
+
{ path: `${dir}/${pageFile}`, content: [
|
|
1258
|
+
...metadata.slice(0, 1),
|
|
1259
|
+
`import { Screen } from './${screenFile.replace(/\.tsx$/, "")}'`,
|
|
1260
|
+
...metadata.slice(1),
|
|
1261
|
+
"",
|
|
1262
|
+
`export default function ${page.notFound ? "NotFound" : "Page"}() {`,
|
|
1263
|
+
" return <Screen />",
|
|
1264
|
+
"}",
|
|
1265
|
+
""
|
|
1266
|
+
].join("\n") }
|
|
1267
|
+
];
|
|
1268
|
+
}
|
|
1269
|
+
function layoutSource(site, fonts, o) {
|
|
1270
|
+
const { variables } = o;
|
|
1271
|
+
const modes = site.tokens?.active ?? [];
|
|
1272
|
+
const loaders = fonts.map((f) => {
|
|
1273
|
+
const name = f.ident.charAt(0).toLowerCase() + f.ident.slice(1).replace(/_/g, "");
|
|
1274
|
+
const weight = f.variableFont ? "" : `, weight: [${f.weights.map((w) => `'${w}'`).join(", ")}]`;
|
|
1275
|
+
return { name, line: `const ${name} = ${f.ident}({ subsets: ['latin'], display: 'swap', variable: '${f.variable}'${weight} })` };
|
|
1276
|
+
});
|
|
1277
|
+
const classes = [...loaders.map((l) => `\${${l.name}.variable}`), ...modes].join(" ");
|
|
1278
|
+
return [
|
|
1279
|
+
"import type { Metadata, Viewport } from 'next'",
|
|
1280
|
+
...fonts.length ? [`import { ${fonts.map((f) => f.ident).sort().join(", ")} } from 'next/font/google'`] : [],
|
|
1281
|
+
"import type { ReactNode } from 'react'",
|
|
1282
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1283
|
+
...o.overlays ? ["import { Overlays } from '@/components/overlays'"] : [],
|
|
1284
|
+
...variables ? [`import { ${o.overlays ? "OverlayProvider, " : ""}${o.server ? "SiteProvider, " : ""}VariablesProvider } from '@/lib/popcraft'`] : [],
|
|
1285
|
+
"import './globals.css'",
|
|
1286
|
+
"",
|
|
1287
|
+
...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), ""] : [],
|
|
1288
|
+
"export const metadata: Metadata = {",
|
|
1289
|
+
" metadataBase: siteUrl,",
|
|
1290
|
+
` title: { default: ${JSON.stringify(site.name)}, template: ${JSON.stringify(`%s \xB7 ${site.name}`)} },`,
|
|
1291
|
+
` openGraph: { siteName: ${JSON.stringify(site.name)}, type: 'website' },`,
|
|
1292
|
+
"}",
|
|
1293
|
+
"",
|
|
1294
|
+
"export const viewport: Viewport = { width: 'device-width', initialScale: 1 }",
|
|
1295
|
+
"",
|
|
1296
|
+
"export default function RootLayout({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1297
|
+
" return (",
|
|
1298
|
+
` <html lang="en"${classes ? ` className={\`${classes}\`}` : ""}>`,
|
|
1299
|
+
` <body>${variables ? "<VariablesProvider>" : ""}${o.server ? "<SiteProvider>" : ""}${o.overlays ? "<OverlayProvider>{children}<Overlays /></OverlayProvider>" : "{children}"}${o.server ? "</SiteProvider>" : ""}${variables ? "</VariablesProvider>" : ""}</body>`,
|
|
1300
|
+
" </html>",
|
|
1301
|
+
" )",
|
|
1302
|
+
"}",
|
|
1303
|
+
""
|
|
1304
|
+
].join("\n");
|
|
1305
|
+
}
|
|
1306
|
+
function overlaysSource(site, b) {
|
|
1307
|
+
const screens = [...b.overlays].map((id) => site.pages.find((p) => p.id === id)).filter((p) => !!p);
|
|
1308
|
+
const name = (p) => `${componentName(p.title || p.route) || "Overlay"}Overlay`;
|
|
1309
|
+
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"] };
|
|
1310
|
+
return [
|
|
1311
|
+
"'use client'",
|
|
1312
|
+
"",
|
|
1313
|
+
"// The frames the design opens as overlays (OVERLAY / SWAP), drawn over the page while they are open: each is the",
|
|
1314
|
+
"// same screen its own route shows. Open, swap and close them with useOverlays() from lib/popcraft.",
|
|
1315
|
+
"",
|
|
1316
|
+
"import type { ComponentType } from 'react'",
|
|
1317
|
+
"import { useOverlays } from '@/lib/popcraft'",
|
|
1318
|
+
...screens.map((p) => `import { Screen as ${name(p)} } from '@/${pageDir(p.route)}/screen'`),
|
|
1319
|
+
"",
|
|
1320
|
+
"const SCREENS: Record<string, ComponentType> = {",
|
|
1321
|
+
...screens.map((p) => ` ${JSON.stringify(p.id)}: ${name(p)},`),
|
|
1322
|
+
"}",
|
|
1323
|
+
`const ALIGN: Record<string, [string, string]> = ${JSON.stringify(align)}`,
|
|
1324
|
+
"",
|
|
1325
|
+
"export function Overlays() {",
|
|
1326
|
+
" const { list, close } = useOverlays()",
|
|
1327
|
+
" return list.map(({ id, options }, i) => {",
|
|
1328
|
+
" const Screen = SCREENS[id]",
|
|
1329
|
+
" if (!Screen) return null",
|
|
1330
|
+
" const [justifyContent, alignItems] = ALIGN[options.position ?? 'CENTER']",
|
|
1331
|
+
" return (",
|
|
1332
|
+
' <div key={`${id}-${i}`} role="dialog" aria-modal="true" onClick={e => { if (options.closeOnOutside && e.target === e.currentTarget) close() }}',
|
|
1333
|
+
" 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 }}>",
|
|
1334
|
+
" <Screen />",
|
|
1335
|
+
" </div>",
|
|
1336
|
+
" )",
|
|
1337
|
+
" })",
|
|
1338
|
+
"}",
|
|
1339
|
+
""
|
|
1340
|
+
].join("\n");
|
|
1341
|
+
}
|
|
1342
|
+
function stateSource(b) {
|
|
1343
|
+
return [
|
|
1344
|
+
"'use client'",
|
|
1345
|
+
"",
|
|
1346
|
+
"// The design's variables, as state every page shares (the provider is in app/layout.tsx), and the helpers the",
|
|
1347
|
+
"// screens' expressions call. What an expression means (its operators and functions) is @popcraft/runtime's, so a",
|
|
1348
|
+
"// value comes out here as it does in PopCraft.",
|
|
1349
|
+
"",
|
|
1350
|
+
`import { createContext, useCallback, useContext, ${b.server ? "useEffect, " : ""}useMemo, useState, type ReactNode } from 'react'`,
|
|
1351
|
+
...b.server && Object.keys(b.server.access).length ? ["import { usePathname, useRouter } from 'next/navigation'"] : [],
|
|
1352
|
+
`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'`,
|
|
1353
|
+
"",
|
|
1354
|
+
"export { exprText, num, ops, truthy }",
|
|
1355
|
+
"",
|
|
1356
|
+
"export interface Variables {",
|
|
1357
|
+
...b.variables.map((v) => ` /** ${v.name} */
|
|
1358
|
+
${v.ident}: ${v.type}`),
|
|
1359
|
+
"}",
|
|
1360
|
+
"",
|
|
1361
|
+
"export const initialVariables: Variables = {",
|
|
1362
|
+
...b.variables.map((v) => ` ${v.ident}: ${v.initial},`),
|
|
1363
|
+
"}",
|
|
1364
|
+
"",
|
|
1365
|
+
"interface Store {",
|
|
1366
|
+
" v: Variables",
|
|
1367
|
+
" set: <K extends keyof Variables>(name: K, value: Variables[K]) => void",
|
|
1368
|
+
"}",
|
|
1369
|
+
"",
|
|
1370
|
+
"const VariablesContext = createContext<Store | null>(null)",
|
|
1371
|
+
"",
|
|
1372
|
+
"export function VariablesProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1373
|
+
" const [v, setV] = useState(initialVariables)",
|
|
1374
|
+
" const set = useCallback(<K extends keyof Variables>(name: K, value: Variables[K]) => setV(prev => ({ ...prev, [name]: value })), [])",
|
|
1375
|
+
" const store = useMemo(() => ({ v, set }), [v, set])",
|
|
1376
|
+
" return <VariablesContext value={store}>{children}</VariablesContext>",
|
|
1377
|
+
"}",
|
|
1378
|
+
"",
|
|
1379
|
+
"/** The variables, and the way to change one. */",
|
|
1380
|
+
"export function useVariables(): Store {",
|
|
1381
|
+
" const store = useContext(VariablesContext)",
|
|
1382
|
+
" if (!store) throw new Error('useVariables is used outside VariablesProvider (app/layout.tsx)')",
|
|
1383
|
+
" return store",
|
|
1384
|
+
"}",
|
|
1385
|
+
"",
|
|
1386
|
+
"/** Where an overlay sits over the page, and how it closes (OVERLAY / SWAP in the design). */",
|
|
1387
|
+
"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 } }",
|
|
1388
|
+
"interface OverlayStore { open: OverlayEntry[]; push(id: string, o?: OverlayOptions): void; swap(id: string, o?: OverlayOptions): void; close(): void }",
|
|
1389
|
+
"export interface OverlayEntry { id: string; options: OverlayOptions }",
|
|
1390
|
+
"",
|
|
1391
|
+
"const OverlayContext = createContext<OverlayStore | null>(null)",
|
|
1392
|
+
"",
|
|
1393
|
+
"/** The overlays open over the page, top last. */",
|
|
1394
|
+
"export function OverlayProvider({ children }: Readonly<{ children: ReactNode }>) {",
|
|
1395
|
+
" const [open, setOpen] = useState<OverlayEntry[]>([])",
|
|
1396
|
+
" const store = useMemo<OverlayStore>(() => ({",
|
|
1397
|
+
" open,",
|
|
1398
|
+
" push: (id, options = {}) => setOpen(prev => [...prev, { id, options }]),",
|
|
1399
|
+
" swap: (id, options = {}) => setOpen(prev => [...prev.slice(0, -1), { id, options }]),",
|
|
1400
|
+
" close: () => setOpen(prev => prev.slice(0, -1)),",
|
|
1401
|
+
" }), [open])",
|
|
1402
|
+
" return <OverlayContext value={store}>{children}</OverlayContext>",
|
|
1403
|
+
"}",
|
|
1404
|
+
"",
|
|
1405
|
+
"/** Open, swap and close overlays: `overlays.open(id, { position, dim, closeOnOutside })`. */",
|
|
1406
|
+
"export function useOverlays() {",
|
|
1407
|
+
" const store = useContext(OverlayContext)",
|
|
1408
|
+
" if (!store) throw new Error('useOverlays is used outside OverlayProvider (app/layout.tsx)')",
|
|
1409
|
+
" return { open: store.push, swap: store.swap, close: store.close, list: store.open }",
|
|
1410
|
+
"}",
|
|
1411
|
+
"",
|
|
1412
|
+
...b.server ? siteProviderSource(b.server) : [],
|
|
1413
|
+
"/** One of the expression functions (`count`, `clamp`, `today`\u2026). One that adds up records that are not here gives 0. */",
|
|
1414
|
+
"export function call(fn: string, ...args: ExprValue[]): ExprValue {",
|
|
1415
|
+
" const f = FUNCTIONS[fn]",
|
|
1416
|
+
" if (!f) return 0",
|
|
1417
|
+
" try { return f(args) } catch (e) { if (e instanceof ExprMissing) return 0; throw e }",
|
|
1418
|
+
"}",
|
|
1419
|
+
""
|
|
1420
|
+
].join("\n");
|
|
1421
|
+
}
|
|
1422
|
+
var siteSource = () => [
|
|
1423
|
+
"// Where the site is served from (NEXT_PUBLIC_SITE_URL, see .env.example): its sitemap, robots.txt and the",
|
|
1424
|
+
"// addresses social previews link to are made from it.",
|
|
1425
|
+
"export const siteUrl = new URL(process.env.NEXT_PUBLIC_SITE_URL ?? 'http://localhost:3000')",
|
|
1426
|
+
""
|
|
1427
|
+
].join("\n");
|
|
1428
|
+
var sitemapSource = (routes) => [
|
|
1429
|
+
"import type { MetadataRoute } from 'next'",
|
|
1430
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1431
|
+
"",
|
|
1432
|
+
"export default function sitemap(): MetadataRoute.Sitemap {",
|
|
1433
|
+
` return ${JSON.stringify(routes)}.map(route => ({ url: new URL(route, siteUrl).href, lastModified: new Date() }))`,
|
|
1434
|
+
"}",
|
|
1435
|
+
""
|
|
1436
|
+
].join("\n");
|
|
1437
|
+
var robotsSource = () => [
|
|
1438
|
+
"import type { MetadataRoute } from 'next'",
|
|
1439
|
+
"import { siteUrl } from '@/lib/site'",
|
|
1440
|
+
"",
|
|
1441
|
+
"export default function robots(): MetadataRoute.Robots {",
|
|
1442
|
+
" return { rules: { userAgent: '*', allow: '/' }, sitemap: new URL('/sitemap.xml', siteUrl).href }",
|
|
1443
|
+
"}",
|
|
1444
|
+
""
|
|
1445
|
+
].join("\n");
|
|
1446
|
+
function readme(site, o) {
|
|
1447
|
+
const v = EXPORT_VERSIONS.packages;
|
|
1448
|
+
return `# ${site.name}
|
|
1449
|
+
|
|
1450
|
+
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]}` : ""}).
|
|
1451
|
+
|
|
1452
|
+
## Run it
|
|
1453
|
+
|
|
1454
|
+
You need Node.js ${EXPORT_VERSIONS.node.replace(">=", "")} or newer.
|
|
1455
|
+
|
|
1456
|
+
\`\`\`bash
|
|
1457
|
+
npm install
|
|
1458
|
+
npm run dev
|
|
1459
|
+
\`\`\`
|
|
1460
|
+
|
|
1461
|
+
Then open http://localhost:3000.
|
|
1462
|
+
|
|
1463
|
+
| Command | What it does |
|
|
1464
|
+
| --- | --- |
|
|
1465
|
+
| \`npm run dev\` | Runs the site locally, reloading as you edit |
|
|
1466
|
+
| \`npm run build\` | Builds it for production |
|
|
1467
|
+
| \`npm start\` | Serves the production build |
|
|
1468
|
+
| \`npm run lint\` | Checks the code with ESLint (Next.js's recommended rules) |
|
|
1469
|
+
| \`npm run typecheck\` | Checks the types with TypeScript |
|
|
1470
|
+
|
|
1471
|
+
## What is where
|
|
1472
|
+
|
|
1473
|
+
| Path | What it is |
|
|
1474
|
+
| --- | --- |
|
|
1475
|
+
| \`app/layout.tsx\` | The page around every route: language, fonts, the site's metadata |
|
|
1476
|
+
${o.routes.map((r) => `| \`${pageDir(r)}/page.tsx\` | \`${r}\`: its title and description, and the screen it shows |`).join("\n")}
|
|
1477
|
+
| \`app/**/screen.tsx\` | Each screen as plain TSX: real elements, links and forms. A screen that runs in the browser starts with \`'use client'\` |
|
|
1478
|
+
| \`app/globals.css\` | The design's variables${o.tailwind ? ", Tailwind," : ""} and its breakpoints as media queries |
|
|
1479
|
+
| \`app/sitemap.ts\`, \`app/robots.ts\` | \`/sitemap.xml\` and \`/robots.txt\`, from \`NEXT_PUBLIC_SITE_URL\` |
|
|
1480
|
+
| \`public/\` | The pictures, served through \`next/image\` at the size each screen needs |
|
|
1481
|
+
${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" : ""}
|
|
1482
|
+
${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.
|
|
1483
|
+
` : ""}
|
|
1484
|
+
${o.server ? serverReadme(o.server) : ""}## Deploy
|
|
1485
|
+
|
|
1486
|
+
Set \`NEXT_PUBLIC_SITE_URL\` to the site's address (copy \`.env.example\` to \`.env.local\` for local use), then deploy
|
|
1487
|
+
anywhere that runs Next.js: Vercel, a Node server (\`npm run build && npm start\`), or a container.
|
|
1488
|
+
|
|
1489
|
+
## Exporting again
|
|
1490
|
+
|
|
1491
|
+
Exporting from PopCraft again writes these files again. Keep changes you want to survive in files of your own, or
|
|
1492
|
+
treat this project as yours from here on and stop exporting.
|
|
1493
|
+
`;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
// lib/io/web/project/build.ts
|
|
1497
|
+
var runtimeScript = (name) => fetch(`/pc/${name}.js?fresh=${Date.now()}`, { cache: "no-store" }).then((r) => r.ok ? r.text() : null).catch(() => null);
|
|
1498
|
+
async function appAssetFiles(paths, under = "") {
|
|
1499
|
+
const got = await Promise.all(paths.map(async (path) => {
|
|
1500
|
+
const res = await fetch(path).catch(() => null);
|
|
1501
|
+
const file = res?.ok ? { path: `${under}${path.replace(/^\//, "")}`, content: new Uint8Array(await res.arrayBuffer()) } : null;
|
|
1502
|
+
return file;
|
|
1503
|
+
}));
|
|
1504
|
+
return got.filter((f) => f !== null);
|
|
1505
|
+
}
|
|
1506
|
+
async function completeSite(doc, pageId) {
|
|
1507
|
+
const [{ previewSite }, { rendererAssetResolvers }] = await Promise.all([import("./host-PYXRSU3A.js"), import("./resolvers-XK3LPQEY.js")]);
|
|
1508
|
+
return previewSite(doc, pageId, rendererAssetResolvers(doc));
|
|
1509
|
+
}
|
|
1510
|
+
var NoSiteRuntime = class extends Error {
|
|
1511
|
+
constructor() {
|
|
1512
|
+
super("The site runtime is not built in this copy of the app.");
|
|
1513
|
+
}
|
|
1514
|
+
};
|
|
1515
|
+
async function nextFilesOf(full, doc, opts = {}) {
|
|
1516
|
+
const site = withoutScreenIslands(full);
|
|
1517
|
+
const islandScript = site.islands && Object.keys(site.islands).length ? await runtimeScript("island") : null;
|
|
1518
|
+
return [...nextProjectFiles(site, doc, { ...opts, islandScript }), ...await appAssetFiles(appAssetPaths(site), "public/")];
|
|
1519
|
+
}
|
|
1520
|
+
async function staticFilesOf(site, opts = {}) {
|
|
1521
|
+
const [siteJs, island, code] = await Promise.all([runtimeScript("site"), site.islands ? runtimeScript("island") : null, site.code ? runtimeScript("code") : null]);
|
|
1522
|
+
if (!siteJs) throw new NoSiteRuntime();
|
|
1523
|
+
const { t } = await import("./runtime-G3ZENLKG.js");
|
|
1524
|
+
site = { ...site, strings: { ...site.strings, formNotSent: t("siteForm.notSent") } };
|
|
1525
|
+
return [...staticSiteFiles(site, { site: siteJs, island, code }, opts), ...await appAssetFiles(appAssetPaths(site))];
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
// lib/io/web/project/share.ts
|
|
1529
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
1530
|
+
init_scene_graph();
|
|
1531
|
+
var SHARE_WIDTH = 1200;
|
|
1532
|
+
var SHARE_HEIGHT = 630;
|
|
1533
|
+
var SHARE_MAX_BYTES = 1024 * 1024;
|
|
1534
|
+
var SHARE_DIR = "share/";
|
|
1535
|
+
function shareCrop(w, h) {
|
|
1536
|
+
const ratio = SHARE_WIDTH / SHARE_HEIGHT;
|
|
1537
|
+
if (w / h > ratio) {
|
|
1538
|
+
const cw = h * ratio;
|
|
1539
|
+
return { x: (w - cw) / 2, y: 0, w: cw, h, scale: SHARE_HEIGHT / h };
|
|
1540
|
+
}
|
|
1541
|
+
const ch = w / ratio;
|
|
1542
|
+
return { x: 0, y: 0, w, h: ch, scale: SHARE_WIDTH / w };
|
|
1543
|
+
}
|
|
1544
|
+
function shareFrameOf(doc, site, choice) {
|
|
1545
|
+
if (choice?.kind === "frame" && doc.nodes[choice.frameId]) return choice.frameId;
|
|
1546
|
+
const home = site.pages.find((p) => p.id === site.home) ?? site.pages.find((p) => !p.notFound) ?? site.pages[0];
|
|
1547
|
+
return home ? home.screen ?? home.id : null;
|
|
1548
|
+
}
|
|
1549
|
+
async function drawShareFrame(doc, frameId) {
|
|
1550
|
+
const [{ getActiveRenderer }, { encodeImageData }, { documentForExport }] = await Promise.all([
|
|
1551
|
+
import("./renderer-registry-B3UEHFJO.js"),
|
|
1552
|
+
import("./export-2ZFGGPUM.js"),
|
|
1553
|
+
import("./export-fills-VS4VV6C4.js")
|
|
1554
|
+
]);
|
|
1555
|
+
const renderer = getActiveRenderer();
|
|
1556
|
+
const frame = doc.nodes[frameId];
|
|
1557
|
+
if (!renderer || !frame) return null;
|
|
1558
|
+
const shown = documentForExport(doc);
|
|
1559
|
+
const box = uprightBounds(getWorldTransform(shown, frameId), frame.width, frame.height);
|
|
1560
|
+
const crop = shareCrop(box.maxX - box.minX, box.maxY - box.minY);
|
|
1561
|
+
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 };
|
|
1562
|
+
const pixels = await renderer.exportRegion([shown.nodes[frameId] ?? frame], bounds, crop.scale, shown, shown.styles, void 0, true);
|
|
1563
|
+
if (!pixels) return null;
|
|
1564
|
+
const png = await encodeImageData(pixels, "PNG");
|
|
1565
|
+
if (png && png.size <= SHARE_MAX_BYTES) return { bytes: new Uint8Array(await png.arrayBuffer()), ext: "png" };
|
|
1566
|
+
const jpg = await encodeImageData(pixels, "JPG", 0.85);
|
|
1567
|
+
return jpg ? { bytes: new Uint8Array(await jpg.arrayBuffer()), ext: "jpg" } : null;
|
|
1568
|
+
}
|
|
1569
|
+
var IMAGE_EXT = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp", "image/gif": "gif" };
|
|
1570
|
+
async function shareImageFiles(doc, site, under = "") {
|
|
1571
|
+
const files = [];
|
|
1572
|
+
const choice = doc.site?.shareImage;
|
|
1573
|
+
if (choice?.kind === "image") {
|
|
1574
|
+
const { loadMediaBlob } = await import("./media-store-2FX7NN63.js");
|
|
1575
|
+
const blob = await loadMediaBlob(choice.src).catch(() => null);
|
|
1576
|
+
const ext = blob && IMAGE_EXT[blob.type];
|
|
1577
|
+
if (blob && ext) {
|
|
1578
|
+
const path = `${SHARE_DIR}og.${ext}`;
|
|
1579
|
+
files.push({ path: under + path, content: new Uint8Array(await blob.arrayBuffer()) });
|
|
1580
|
+
const size = await imageSize(blob);
|
|
1581
|
+
site.share = { image: path, width: size?.width ?? SHARE_WIDTH, height: size?.height ?? SHARE_HEIGHT };
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
if (!site.share) {
|
|
1585
|
+
const frameId = shareFrameOf(doc, site, choice);
|
|
1586
|
+
const drawn = frameId ? await drawShareFrame(doc, frameId) : null;
|
|
1587
|
+
if (drawn) {
|
|
1588
|
+
const path = `${SHARE_DIR}og.${drawn.ext}`;
|
|
1589
|
+
files.push({ path: under + path, content: drawn.bytes });
|
|
1590
|
+
site.share = { image: path, width: SHARE_WIDTH, height: SHARE_HEIGHT };
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
const drawnFor = /* @__PURE__ */ new Map();
|
|
1594
|
+
for (const page of site.pages) {
|
|
1595
|
+
const own = doc.nodes[page.screen ?? page.id]?.route?.shareImage;
|
|
1596
|
+
if (!own || !doc.nodes[own]) continue;
|
|
1597
|
+
if (!drawnFor.has(own)) {
|
|
1598
|
+
const drawn = await drawShareFrame(doc, own);
|
|
1599
|
+
const path2 = drawn ? `${SHARE_DIR}${own.replace(/[^\w-]/g, "_")}.${drawn.ext}` : null;
|
|
1600
|
+
if (drawn && path2) files.push({ path: under + path2, content: drawn.bytes });
|
|
1601
|
+
drawnFor.set(own, path2);
|
|
1602
|
+
}
|
|
1603
|
+
const path = drawnFor.get(own);
|
|
1604
|
+
if (path) page.shareImage = path;
|
|
1605
|
+
}
|
|
1606
|
+
return files;
|
|
1607
|
+
}
|
|
1608
|
+
async function imageSize(blob) {
|
|
1609
|
+
const b = new Uint8Array(await blob.slice(0, 64 * 1024).arrayBuffer());
|
|
1610
|
+
return pictureSize(b);
|
|
1611
|
+
}
|
|
1612
|
+
function pictureSize(b) {
|
|
1613
|
+
const dv = new DataView(b.buffer, b.byteOffset, b.byteLength);
|
|
1614
|
+
if (b.length > 24 && b[0] === 137 && b[1] === 80) return { width: dv.getUint32(16), height: dv.getUint32(20) };
|
|
1615
|
+
if (b[0] === 255 && b[1] === 216) {
|
|
1616
|
+
let i = 2;
|
|
1617
|
+
while (i + 9 < b.length) {
|
|
1618
|
+
if (b[i] !== 255) return null;
|
|
1619
|
+
const marker = b[i + 1];
|
|
1620
|
+
const len = dv.getUint16(i + 2);
|
|
1621
|
+
if (marker >= 192 && marker <= 207 && marker !== 196 && marker !== 200 && marker !== 204) return { height: dv.getUint16(i + 5), width: dv.getUint16(i + 7) };
|
|
1622
|
+
i += 2 + len;
|
|
1623
|
+
}
|
|
1624
|
+
}
|
|
1625
|
+
return null;
|
|
1626
|
+
}
|
|
1627
|
+
export {
|
|
1628
|
+
ASSET_DIR,
|
|
1629
|
+
NoSiteRuntime,
|
|
1630
|
+
SHARE_HEIGHT,
|
|
1631
|
+
SHARE_MAX_BYTES,
|
|
1632
|
+
SHARE_WIDTH,
|
|
1633
|
+
appAssetFiles,
|
|
1634
|
+
appAssetPaths,
|
|
1635
|
+
bytesOf,
|
|
1636
|
+
completeSite,
|
|
1637
|
+
drawShareFrame,
|
|
1638
|
+
externalizeBitmaps,
|
|
1639
|
+
nextFilesOf,
|
|
1640
|
+
nextProjectFiles,
|
|
1641
|
+
routeFile,
|
|
1642
|
+
routeUp,
|
|
1643
|
+
shareCrop,
|
|
1644
|
+
shareImageFiles,
|
|
1645
|
+
staticFilesOf,
|
|
1646
|
+
staticSiteFiles,
|
|
1647
|
+
withAssetBase
|
|
1648
|
+
};
|