@popcraft/kit 0.25.0 → 0.26.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-45ZGYKTC.js → agent-NTEAEZBN.js} +1 -1
- package/dist/chunks/{build-K6QBTLT7.js → build-W5O2ZVN7.js} +2 -2
- package/dist/chunks/{builtin-ZS3HJHZL.js → builtin-KX2SGDND.js} +3 -3
- package/dist/chunks/{check-template-RZ7IO333.js → check-template-B2KKE6BW.js} +2 -2
- package/dist/chunks/{chunk-ZKHYC3QO.js → chunk-37WES5PM.js} +2 -2
- package/dist/chunks/chunk-45JABNLR.js +161 -0
- package/dist/chunks/chunk-4OGILN7Y.js +141 -0
- package/dist/chunks/{chunk-63X37RCC.js → chunk-5NWVUAWR.js} +4 -4
- package/dist/chunks/{chunk-QREG6HEK.js → chunk-67SLLJJB.js} +40 -40
- package/dist/chunks/chunk-6DV5JZ5M.js +121 -0
- package/dist/chunks/chunk-7Q67MXXL.js +140 -0
- package/dist/chunks/{chunk-R5CW4CNP.js → chunk-A6GPFR5O.js} +11 -11
- package/dist/chunks/chunk-AISWLDDO.js +895 -0
- package/dist/chunks/{chunk-ADZXK6SM.js → chunk-AQGECTRJ.js} +1 -1
- package/dist/chunks/chunk-ASWWZNTY.js +130 -0
- package/dist/chunks/chunk-BNEFANT2.js +134 -0
- package/dist/chunks/{chunk-REJO7GXO.js → chunk-CFEKYNGQ.js} +2 -2
- package/dist/chunks/{chunk-5HG4LWF5.js → chunk-D4HEDPVN.js} +161 -0
- package/dist/chunks/chunk-DRESZDOP.js +130 -0
- package/dist/chunks/{chunk-3W2MSVJA.js → chunk-EBLHS2EG.js} +5 -5
- package/dist/chunks/chunk-EHTLT6XJ.js +131 -0
- package/dist/chunks/{chunk-2AQK4IIV.js → chunk-EVFG2K4L.js} +1 -1
- package/dist/chunks/{chunk-6TJIEERG.js → chunk-F4NTIOTT.js} +26 -26
- package/dist/chunks/chunk-FC7B22QS.js +150 -0
- package/dist/chunks/{chunk-V6COW3DB.js → chunk-G6MIC23V.js} +1 -1
- package/dist/chunks/{chunk-4QBQ4RAA.js → chunk-GODXMHO3.js} +4 -4
- package/dist/chunks/chunk-GT22XGDH.js +152 -0
- package/dist/chunks/chunk-HL4M53ZR.js +143 -0
- package/dist/chunks/{chunk-MPI6SCA7.js → chunk-IDL5KKIC.js} +5 -5
- package/dist/chunks/{chunk-HR7HCFPX.js → chunk-IM6HORNC.js} +5 -5
- package/dist/chunks/{chunk-UVMU6CXR.js → chunk-IWCZDFXL.js} +17 -17
- package/dist/chunks/{chunk-OCSLBM6W.js → chunk-JXAJ6OST.js} +1 -1
- package/dist/chunks/{chunk-5WGMPGKY.js → chunk-KS7DVWDB.js} +1 -1
- package/dist/chunks/chunk-NHDBQ4G7.js +137 -0
- package/dist/chunks/chunk-NKPU5TF2.js +103 -0
- package/dist/chunks/chunk-NO734F3F.js +146 -0
- package/dist/chunks/{chunk-ASWAIYNC.js → chunk-NR2SFSJU.js} +3 -3
- package/dist/chunks/{chunk-CJY4TNOS.js → chunk-O3BEBIDN.js} +3 -1
- package/dist/chunks/{chunk-UDO3ZU5T.js → chunk-OR6HMJRM.js} +1 -1
- package/dist/chunks/chunk-OTICJQ4T.js +267 -0
- package/dist/chunks/chunk-PWZZRGWI.js +141 -0
- package/dist/chunks/{chunk-AE6S2M2B.js → chunk-QX4U3VTU.js} +25 -25
- package/dist/chunks/{chunk-TRUFIU5W.js → chunk-R3YD6VL6.js} +3 -3
- package/dist/chunks/{chunk-YSYZW4VZ.js → chunk-SFPM3UJA.js} +7 -7
- package/dist/chunks/chunk-SNXQM4UO.js +115 -0
- package/dist/chunks/chunk-T3LV66CQ.js +139 -0
- package/dist/chunks/chunk-TDGIO2S7.js +145 -0
- package/dist/chunks/chunk-TFNV2UP4.js +87 -0
- package/dist/chunks/chunk-UJZXKOTP.js +136 -0
- package/dist/chunks/{chunk-QAVWMRRM.js → chunk-V5HI55XO.js} +2 -2
- package/dist/chunks/chunk-VVNPBBPL.js +174 -0
- package/dist/chunks/{chunk-22RNC42G.js → chunk-YHA45NK5.js} +1 -1
- package/dist/chunks/{chunk-27EVM272.js → chunk-YPMT4Y4N.js} +2 -2
- package/dist/chunks/chunk-YRSDFRCX.js +122 -0
- package/dist/chunks/chunk-ZNARVSMD.js +140 -0
- package/dist/chunks/{chunk-3DWOQ4LW.js → chunk-ZTBKAGBN.js} +2 -2
- package/dist/chunks/{client-6DUSRTZG.js → client-25NJXQWL.js} +1 -1
- package/dist/chunks/{client-XYPBNSQ7.js → client-7AQTKZHV.js} +2 -2
- package/dist/chunks/{client-TRFNJJHQ.js → client-LWBTUXQK.js} +2 -2
- package/dist/chunks/{client-actions-SSUZUEG7.js → client-actions-3HIRRSOL.js} +4 -4
- package/dist/chunks/{dangerous-UX4DHJ7U.js → dangerous-XJOHEWL6.js} +3 -3
- package/dist/chunks/{editor-seams-V7ZP7XH3.js → editor-seams-4DREZRTT.js} +9 -9
- package/dist/chunks/{editor-store-OIHZT244.js → editor-store-C4VWC23J.js} +1 -1
- package/dist/chunks/{export-watermark-4NAP5RVM.js → export-watermark-OKGRZNOU.js} +5 -5
- package/dist/chunks/{eyedropper-QXEY7LVL.js → eyedropper-WZYSTUTM.js} +1 -1
- package/dist/chunks/{generate-media-JAEHWNF6.js → generate-media-DFSHOPOI.js} +2 -2
- package/dist/chunks/{host-IKFYVZS7.js → host-4ZE7SIWR.js} +6 -6
- package/dist/chunks/{integrations-U5X2BHVK.js → integrations-LPC35FKX.js} +1 -1
- package/dist/chunks/{kit-modules-BAUMECYQ.js → kit-modules-BAKTDLOZ.js} +1 -1
- package/dist/chunks/{libraries-Q5TCHWGI.js → libraries-ACERXG2O.js} +5 -5
- package/dist/chunks/{live-4XQEGNLA.js → live-ZIVBFX3G.js} +3 -3
- package/dist/chunks/{media-tool-OSQR45HY.js → media-tool-2ZPIQKJD.js} +1 -1
- package/dist/chunks/{new-file-VVLWHEJ4.js → new-file-XS3KCMGM.js} +3 -3
- package/dist/chunks/{plugin-44ZW5UEP.js → plugin-6RNMUP5I.js} +2 -2
- package/dist/chunks/{plugin-import-3ISLDX7T.js → plugin-import-UC5BHZFE.js} +13 -13
- package/dist/chunks/{presence-WVU4OIUA.js → presence-TLDOMBPD.js} +2 -2
- package/dist/chunks/{project-EG7XFEJU.js → project-NMPK4R5M.js} +1 -1
- package/dist/chunks/{publish-site-WFIX42D3.js → publish-site-R46ZILSS.js} +6 -6
- package/dist/chunks/{publish-store-6BS7OIP4.js → publish-store-MIPHEDLV.js} +4 -4
- package/dist/chunks/{raster-actions-37XUQSVZ.js → raster-actions-7EI5THLB.js} +1 -1
- package/dist/chunks/{runner-HZ7MU6ER.js → runner-I66TTKKZ.js} +16 -16
- package/dist/chunks/{store-PHWBXKNY.js → store-7WMR3JKP.js} +5 -5
- package/dist/chunks/{sync-IJNKHQRF.js → sync-OFINS45Q.js} +5 -5
- package/dist/chunks/{tabs-G6OTEGA5.js → tabs-PEH6VX3X.js} +8 -8
- package/dist/chunks/{team-M2EN4JT5.js → team-GGW3O32G.js} +1 -1
- package/dist/chunks/{tools-WDFCY4BH.js → tools-TKCA46ZS.js} +2 -2
- package/dist/chunks/{ui-commands-QHFGR33P.js → ui-commands-6K4PYKU5.js} +11 -11
- package/dist/chunks/{versions-S7COCZSQ.js → versions-KHRNQFGF.js} +5 -5
- package/dist/index.js +4 -4
- package/dist/seed/files.json +1 -1
- package/dist/templates/count.js +1 -1
- package/dist/templates/index.js +125 -101
- package/dist/templates/index.json +756 -0
- package/dist/templates/motion/landing-hero/index.js +4 -4
- package/dist/templates/motion/launch-trailer/document.js +125 -101
- package/dist/templates/motion/launch-trailer/index.js +4 -4
- package/dist/templates/motion/launch-trailer/scenes.js +3 -3
- package/dist/templates/motion/template-wall.js +2 -2
- package/dist/templates/print/holidays-christmas-church-newsletter.js +94 -0
- package/dist/templates/print/holidays-christmas-eve-invitation.js +94 -0
- package/dist/templates/print/holidays-christmas-gift-tags.js +94 -0
- package/dist/templates/print/holidays-diwali-party-invitation.js +95 -0
- package/dist/templates/print/holidays-easter-activity-sheet.js +94 -0
- package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +94 -0
- package/dist/templates/print/holidays-eid-dinner-invitation.js +95 -0
- package/dist/templates/print/holidays-eid-gift-tags.js +94 -0
- package/dist/templates/print/holidays-halloween-party-invitation.js +95 -0
- package/dist/templates/print/holidays-halloween-treat-labels.js +94 -0
- package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +94 -0
- package/dist/templates/print/holidays-hanukkah-activity-sheet.js +94 -0
- package/dist/templates/print/holidays-hanukkah-party-invitation.js +94 -0
- package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +95 -0
- package/dist/templates/print/holidays-new-years-eve-poster.js +94 -0
- package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +94 -0
- package/dist/templates/print/holidays-thanksgiving-place-cards.js +94 -0
- package/dist/templates/print/holidays-valentines-dinner-menu.js +94 -0
- package/dist/templates/saas/email-decks.js +2 -2
- package/dist/templates/saas/index.js +37 -37
- package/dist/templates/saas/launch-kit.js +2 -2
- package/dist/templates/saas/launch-video.js +2 -2
- package/dist/templates/saas/stores.js +2 -2
- package/dist/templates/saas/style-bento.js +2 -2
- package/dist/templates/saas/style-dark.js +2 -2
- package/dist/templates/saas/style-editorial.js +2 -2
- package/dist/templates/saas/style-gradient.js +2 -2
- package/dist/templates/saas/style-pastel.js +2 -2
- package/dist/templates/saas/style-swiss.js +2 -2
- package/dist/templates/slideshow/index.js +3 -3
- package/dist/templates/social/holidays-diwali-sweet-shop-post.js +96 -0
- package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +96 -0
- package/dist/templates/social/holidays-new-years-eve-shop-hours.js +96 -0
- package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +96 -0
- package/dist/templates/social/holidays-valentines-florist-post.js +96 -0
- package/dist/templates/themes/black-friday-coupons.js +2 -2
- package/dist/templates/themes/black-friday-neon.js +2 -2
- package/dist/templates/themes/blueprint.js +2 -2
- package/dist/templates/themes/broadsheet.js +2 -2
- package/dist/templates/themes/cyberpunk.js +2 -2
- package/dist/templates/themes/departure-board.js +2 -2
- package/dist/templates/themes/festival-presale-family-a.js +2 -2
- package/dist/templates/themes/festival-presale-family-b.js +2 -2
- package/dist/templates/themes/holidays-shared.js +172 -0
- package/dist/templates/themes/holidays.js +107 -1
- package/dist/templates/themes/index.js +72 -48
- package/dist/templates/themes/lunar-new-year.js +2 -2
- package/dist/templates/themes/noir.js +2 -2
- package/dist/templates/themes/psychedelic.js +2 -2
- package/dist/templates/themes/space-opera.js +2 -2
- package/dist/templates/themes/studio.js +3 -3
- package/dist/templates/themes/tour-tickets.js +2 -2
- package/dist/templates/themes/vaporwave.js +2 -2
- package/package.json +1 -1
- package/src/templates/print/holidays-christmas-church-newsletter.ts +246 -0
- package/src/templates/print/holidays-christmas-eve-invitation.ts +121 -0
- package/src/templates/print/holidays-christmas-gift-tags.ts +117 -0
- package/src/templates/print/holidays-diwali-party-invitation.ts +98 -0
- package/src/templates/print/holidays-easter-activity-sheet.ts +108 -0
- package/src/templates/print/holidays-easter-egg-hunt-flyer.ts +118 -0
- package/src/templates/print/holidays-eid-dinner-invitation.ts +104 -0
- package/src/templates/print/holidays-eid-gift-tags.ts +94 -0
- package/src/templates/print/holidays-halloween-party-invitation.ts +101 -0
- package/src/templates/print/holidays-halloween-treat-labels.ts +86 -0
- package/src/templates/print/holidays-halloween-trunk-or-treat-poster.ts +148 -0
- package/src/templates/print/holidays-hanukkah-activity-sheet.ts +112 -0
- package/src/templates/print/holidays-hanukkah-party-invitation.ts +112 -0
- package/src/templates/print/holidays-lunar-new-year-banquet-menu.ts +110 -0
- package/src/templates/print/holidays-new-years-eve-poster.ts +117 -0
- package/src/templates/print/holidays-thanksgiving-dinner-menu.ts +110 -0
- package/src/templates/print/holidays-thanksgiving-place-cards.ts +80 -0
- package/src/templates/print/holidays-valentines-dinner-menu.ts +95 -0
- package/src/templates/social/holidays-diwali-sweet-shop-post.ts +121 -0
- package/src/templates/social/holidays-lunar-new-year-bakery-post.ts +110 -0
- package/src/templates/social/holidays-new-years-eve-shop-hours.ts +118 -0
- package/src/templates/social/holidays-thanksgiving-pie-orders-post.ts +115 -0
- package/src/templates/social/holidays-valentines-florist-post.ts +102 -0
- package/src/templates/themes/holidays-shared.ts +903 -0
- package/src/templates/themes/holidays.ts +24 -1
- package/types/templates/src/print/holidays-christmas-church-newsletter.d.ts +2 -0
- package/types/templates/src/print/holidays-christmas-eve-invitation.d.ts +2 -0
- package/types/templates/src/print/holidays-christmas-gift-tags.d.ts +2 -0
- package/types/templates/src/print/holidays-diwali-party-invitation.d.ts +2 -0
- package/types/templates/src/print/holidays-easter-activity-sheet.d.ts +2 -0
- package/types/templates/src/print/holidays-easter-egg-hunt-flyer.d.ts +2 -0
- package/types/templates/src/print/holidays-eid-dinner-invitation.d.ts +2 -0
- package/types/templates/src/print/holidays-eid-gift-tags.d.ts +2 -0
- package/types/templates/src/print/holidays-halloween-party-invitation.d.ts +2 -0
- package/types/templates/src/print/holidays-halloween-treat-labels.d.ts +2 -0
- package/types/templates/src/print/holidays-halloween-trunk-or-treat-poster.d.ts +2 -0
- package/types/templates/src/print/holidays-hanukkah-activity-sheet.d.ts +2 -0
- package/types/templates/src/print/holidays-hanukkah-party-invitation.d.ts +2 -0
- package/types/templates/src/print/holidays-lunar-new-year-banquet-menu.d.ts +2 -0
- package/types/templates/src/print/holidays-new-years-eve-poster.d.ts +2 -0
- package/types/templates/src/print/holidays-thanksgiving-dinner-menu.d.ts +2 -0
- package/types/templates/src/print/holidays-thanksgiving-place-cards.d.ts +2 -0
- package/types/templates/src/print/holidays-valentines-dinner-menu.d.ts +2 -0
- package/types/templates/src/social/holidays-diwali-sweet-shop-post.d.ts +2 -0
- package/types/templates/src/social/holidays-lunar-new-year-bakery-post.d.ts +2 -0
- package/types/templates/src/social/holidays-new-years-eve-shop-hours.d.ts +2 -0
- package/types/templates/src/social/holidays-thanksgiving-pie-orders-post.d.ts +2 -0
- package/types/templates/src/social/holidays-valentines-florist-post.d.ts +2 -0
- package/types/templates/src/themes/holidays-shared.d.ts +374 -0
- package/dist/chunks/chunk-OWZLREWX.js +0 -18
- package/dist/chunks/{chunk-IFJTWD4O.js → chunk-2R3MZKA2.js} +3 -3
- package/dist/chunks/{chunk-P67L32AF.js → chunk-3DBNMCGN.js} +3 -3
- package/dist/chunks/{chunk-DZDTVMUO.js → chunk-3VHOXVMF.js} +3 -3
- package/dist/chunks/{chunk-2PQI2R5L.js → chunk-64RMGOTG.js} +0 -0
- package/dist/chunks/{chunk-7BDCMMSD.js → chunk-6Y46SDFE.js} +3 -3
- package/dist/chunks/{chunk-6VCQ4ZEG.js → chunk-AFARXTNQ.js} +3 -3
- package/dist/chunks/{chunk-ITSYENCT.js → chunk-BI3M4RUH.js} +3 -3
- package/dist/chunks/{chunk-25FM5JIR.js → chunk-BP7CHO7K.js} +3 -3
- package/dist/chunks/{chunk-D22534DX.js → chunk-DPTFZDOS.js} +3 -3
- package/dist/chunks/{chunk-JWLR6K62.js → chunk-FNUM5W3W.js} +3 -3
- package/dist/chunks/{chunk-JPH6HOYU.js → chunk-HJQU5POV.js} +3 -3
- package/dist/chunks/{chunk-HQYZ4URA.js → chunk-IJ65QZLL.js} +3 -3
- package/dist/chunks/{chunk-47VVF5TM.js → chunk-INT2OPPY.js} +8 -8
- package/dist/chunks/{chunk-AYVAHMWQ.js → chunk-JPMLUHZX.js} +3 -3
- package/dist/chunks/{chunk-LFYNAAAQ.js → chunk-LMRTRVPC.js} +3 -3
- package/dist/chunks/{chunk-HJIMF4NA.js → chunk-NGMCQZA6.js} +3 -3
- package/dist/chunks/{chunk-B3ASV6KS.js → chunk-PQBYL7AI.js} +3 -3
- package/dist/chunks/{chunk-NHXNUDC5.js → chunk-QD4QORNR.js} +3 -3
- package/dist/chunks/{chunk-P6TPDLAF.js → chunk-S3C6L5KF.js} +3 -3
- package/dist/chunks/{chunk-TIRPXUK2.js → chunk-S7L2D7NH.js} +3 -3
- package/dist/chunks/{chunk-QFGFR5FQ.js → chunk-TYOOL27R.js} +3 -3
- package/dist/chunks/{chunk-32V4D45K.js → chunk-TYW7EXV6.js} +3 -3
- package/dist/chunks/{chunk-3QIDCP4M.js → chunk-VOEAQIQT.js} +3 -3
- package/dist/chunks/{chunk-ASVDOX62.js → chunk-VVUQG4ME.js} +3 -3
- package/dist/chunks/{chunk-ZXZ22FKF.js → chunk-XTWKSMJC.js} +3 -3
- package/dist/chunks/{chunk-6NG5K7WN.js → chunk-YHEMML5Q.js} +3 -3
- package/dist/chunks/{chunk-MVFPEBMY.js → chunk-ZKRSVNY4.js} +3 -3
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
draw,
|
|
9
|
+
heart,
|
|
10
|
+
leaf,
|
|
11
|
+
redraw,
|
|
12
|
+
restyleAll,
|
|
13
|
+
rose,
|
|
14
|
+
scaleGaps
|
|
15
|
+
} from "./chunk-AISWLDDO.js";
|
|
16
|
+
import {
|
|
17
|
+
SERIF
|
|
18
|
+
} from "./chunk-X23ZWFW2.js";
|
|
19
|
+
import {
|
|
20
|
+
verticalPadding
|
|
21
|
+
} from "./chunk-EK5CFFJO.js";
|
|
22
|
+
import {
|
|
23
|
+
rng
|
|
24
|
+
} from "./chunk-BNVLVZUT.js";
|
|
25
|
+
import {
|
|
26
|
+
defineTemplate
|
|
27
|
+
} from "./chunk-A44WEVKR.js";
|
|
28
|
+
import {
|
|
29
|
+
Kit,
|
|
30
|
+
preset
|
|
31
|
+
} from "./chunk-T3SGRYUX.js";
|
|
32
|
+
import {
|
|
33
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
34
|
+
} from "./chunk-6VMOKHMF.js";
|
|
35
|
+
|
|
36
|
+
// templates/src/social/holidays-valentines-florist-post.ts
|
|
37
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
38
|
+
var NAME = "Valentine\u2019s florist pre-order post";
|
|
39
|
+
function art(w, h, top = 0) {
|
|
40
|
+
const s = w / 1080, r = rng(14);
|
|
41
|
+
const groups = [
|
|
42
|
+
[[0.86, 0.06, 120], [0.66, 0.03, 100], [0.98, 0.2, 104], [0.77, 0.19, 86], [0.47, 0, 84], [1.02, 0.02, 80], [0.28, -0.02, 76], [0.1, 0.03, 90], [-0.02, 0.15, 70], [0.2, 0.15, 56], [0.58, 0.16, 60], [0.38, 0.14, 48]],
|
|
43
|
+
[[0.95, 0.38, 70], [0.86, 0.33, 50]]
|
|
44
|
+
];
|
|
45
|
+
const y = (f) => top * 0.5 + f * 1350 * s;
|
|
46
|
+
const parts = groups.map((g, gi) => {
|
|
47
|
+
const roses = g.map(([x, f, rr], i) => rose(w * x, y(f), rr * s, 20 + gi * 10 + i));
|
|
48
|
+
const leaves = g.flatMap(([x, f, rr]) => [0, 1].map((j) => leaf({ x: w * x, y: y(f) }, rr * 1.3 * s, rr * 0.5 * s, 1.6 + j * 2.2 + r() * 0.6)));
|
|
49
|
+
return [
|
|
50
|
+
{ name: "Leaves", paths: leaves, color: "leaf" },
|
|
51
|
+
{ name: "Roses outer", paths: roses.flatMap((x) => x.outer), color: "blush" },
|
|
52
|
+
{ name: "Rose edges", paths: roses.flatMap((x) => x.outer), color: "ground", o: { strokeWidth: 2.4 * s, opacity: 0.3 } },
|
|
53
|
+
{ name: "Roses middle", paths: roses.flatMap((x) => x.mid), color: "pink" },
|
|
54
|
+
{ name: "Rose middle edges", paths: roses.flatMap((x) => x.mid), color: "ground", o: { strokeWidth: 2 * s, opacity: 0.3 } },
|
|
55
|
+
{ name: "Rose hearts", paths: roses.flatMap((x) => x.core), color: "deep" },
|
|
56
|
+
{ name: "Rose swirls", paths: roses.flatMap((x) => x.swirl), color: "blush", o: { strokeWidth: 2.4 * s, opacity: 0.8 } }
|
|
57
|
+
];
|
|
58
|
+
});
|
|
59
|
+
const fall = [[0.84, 0.56, 20, 0.5], [0.95, 0.64, 16, -0.4], [0.88, 0.74, 13, 1.1], [0.96, 0.84, 15, 0.3], [0.86, 0.92, 11, -0.8]].map(([x, f, sz, t]) => heart(w * x, top + h * f, sz * 2 * s, t));
|
|
60
|
+
return [...parts.flat(), { name: "Falling petals", paths: fall, color: "blush", o: { opacity: 0.85 } }];
|
|
61
|
+
}
|
|
62
|
+
var holidays_valentines_florist_post_default = defineTemplate({
|
|
63
|
+
id: "social-holidays-valentines-florist-post",
|
|
64
|
+
meta: {
|
|
65
|
+
name: NAME,
|
|
66
|
+
description: "A florist\u2019s Valentine\u2019s pre-order post: roses seen from above spill in from the corner of a deep red ground with petals drifting down, \u201COrder your roses by 11 February\u201D in a big serif, three bouquets with prices, and how delivery works. 4:5 for the feed and 9:16 for stories",
|
|
67
|
+
category: "social",
|
|
68
|
+
tags: ["valentine\u2019s day", "valentines", "florist", "flowers", "roses", "pre-order", "flower shop", "small business", "delivery", "instagram", "story", "post"],
|
|
69
|
+
platforms: ["instagram", "facebook"],
|
|
70
|
+
formats: ["portrait-post", "story"],
|
|
71
|
+
useCases: ["sale", "announcement"],
|
|
72
|
+
created: "2026-10-10",
|
|
73
|
+
updated: "2026-10-10"
|
|
74
|
+
},
|
|
75
|
+
stableNumbers: true,
|
|
76
|
+
build() {
|
|
77
|
+
const k = new Kit(NAME, preset("ig-portrait"));
|
|
78
|
+
k.quantizeGeometry = true;
|
|
79
|
+
k.brand(
|
|
80
|
+
{ paper: "#7A1027", text: "#FFE9EC", onPaper: "#F7B7C2", primary: "#FFD2DA", onPrimary: "#5E0B1D", line: "#A43450" },
|
|
81
|
+
{ name: "Petal & Stem", site: "petalandstem.flowers" }
|
|
82
|
+
);
|
|
83
|
+
k.palette({ blush: "#F49AAE", pink: "#DB4A68", deep: "#A11E3C", leaf: "#3F6B4A", ground: "#7A1027" });
|
|
84
|
+
k.textStyle("Kicker 26", { size: 26, fontWeight: 700, letterSpacing: 5, lineHeight: 34 });
|
|
85
|
+
k.textStyle("Title 104", { ...SERIF, size: 104, fontWeight: 700, letterSpacing: -3, lineHeight: 100 });
|
|
86
|
+
k.textStyle("Item 32", { ...SERIF, size: 32, fontWeight: 600, lineHeight: 40 });
|
|
87
|
+
k.textStyle("Price 32", { size: 32, fontWeight: 800, lineHeight: 40, fontFeatures: { tnum: 1 } });
|
|
88
|
+
k.textStyle("Body 26", { size: 26, fontWeight: 400, lineHeight: 36 });
|
|
89
|
+
k.textStyle("Foot 24", { size: 24, fontWeight: 700, letterSpacing: 1, lineHeight: 30 });
|
|
90
|
+
k.component("Bouquet", { direction: "HORIZONTAL", gap: 24, width: 696, justify: "SPACE_BETWEEN", padding: { top: 14, right: 0, bottom: 14, left: 0 }, props: { Name: "Bouquet", Price: "$0" } }, (id) => {
|
|
91
|
+
k.propText(id, "Name", { style: "Item 32", color: "text", autoWidth: true, name: "Bouquet name" });
|
|
92
|
+
k.propText(id, "Price", { style: "Price 32", color: "onPaper", autoWidth: true, name: "Bouquet price" });
|
|
93
|
+
});
|
|
94
|
+
const sheet = k.sheet;
|
|
95
|
+
const { width: W, height: H } = k.node(sheet);
|
|
96
|
+
k.flowSheet(sheet, 0, { top: 450, right: 300, bottom: 84, left: 84 }, "paper", "MIN", "MIN");
|
|
97
|
+
draw(k, sheet, art(W, H));
|
|
98
|
+
k.text(sheet, "VALENTINE\u2019S DAY \xB7 SUNDAY 14 FEB", { style: "Kicker 26", color: "onPaper", width: "FILL", name: "Kicker" });
|
|
99
|
+
k.stack(sheet, { height: 20, name: "Gap" });
|
|
100
|
+
k.text(sheet, "Order your roses by 11 February", { style: "Title 104", color: "text", width: "FILL", name: "Title" });
|
|
101
|
+
k.stack(sheet, { height: 30, name: "Gap" });
|
|
102
|
+
const list = k.stack(sheet, { width: "FILL", name: "Bouquets" });
|
|
103
|
+
for (const [i, [n, p]] of [["A dozen red roses", "$78"], ["Hand-tied spring posy", "$45"], ["One stem, bud vase", "$14"]].entries()) {
|
|
104
|
+
k.instance(list, "Bouquet", { Name: n, Price: p }, { name: "Bouquet", width: "FILL" });
|
|
105
|
+
if (i < 2) k.rect(list, "FILL", 2, "line", { name: "Rule" });
|
|
106
|
+
}
|
|
107
|
+
k.stack(sheet, { height: 24, name: "Gap" });
|
|
108
|
+
k.text(sheet, "Delivered across the city on the 13th and 14th, or collect from the shop. Every bunch comes with a handwritten card.", { style: "Body 26", color: "onPaper", width: "FILL", name: "Body" });
|
|
109
|
+
k.stack(sheet, { height: 24, name: "Gap" });
|
|
110
|
+
k.text(sheet, "{{brand.name}} \xB7 {{brand.site}}", { style: "Foot 24", color: "onPaper", width: "FILL", name: "Foot" });
|
|
111
|
+
k.textStyle("Title 116", { ...SERIF, size: 116, fontWeight: 700, letterSpacing: -3.4, lineHeight: 110 });
|
|
112
|
+
const story = {
|
|
113
|
+
preset: "ig-story",
|
|
114
|
+
adjust: (kit, id) => {
|
|
115
|
+
const { width: w, height: h } = kit.node(id);
|
|
116
|
+
const safe = verticalPadding(84);
|
|
117
|
+
redraw(kit, id, art(w, h, safe.top - 84));
|
|
118
|
+
kit.patch(id, { padding: { top: safe.top + 300, right: w - safe.left - 696, bottom: safe.bottom, left: safe.left } });
|
|
119
|
+
restyleAll(kit, id, [["Title", "Title 116"]]);
|
|
120
|
+
scaleGaps(kit, id, 1);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
k.variants(sheet, [story]);
|
|
124
|
+
return k.finish();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
export {
|
|
129
|
+
holidays_valentines_florist_post_default
|
|
130
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
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
|
+
bauble,
|
|
9
|
+
disc,
|
|
10
|
+
draw,
|
|
11
|
+
holly,
|
|
12
|
+
polyP,
|
|
13
|
+
printVariant,
|
|
14
|
+
snowflake,
|
|
15
|
+
specksIn,
|
|
16
|
+
starPath
|
|
17
|
+
} from "./chunk-AISWLDDO.js";
|
|
18
|
+
import {
|
|
19
|
+
SERIF
|
|
20
|
+
} from "./chunk-X23ZWFW2.js";
|
|
21
|
+
import {
|
|
22
|
+
defineTemplate
|
|
23
|
+
} from "./chunk-A44WEVKR.js";
|
|
24
|
+
import {
|
|
25
|
+
Kit,
|
|
26
|
+
preset
|
|
27
|
+
} from "./chunk-T3SGRYUX.js";
|
|
28
|
+
import {
|
|
29
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
30
|
+
} from "./chunk-6VMOKHMF.js";
|
|
31
|
+
|
|
32
|
+
// templates/src/print/holidays-christmas-gift-tags.ts
|
|
33
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
34
|
+
var NAME = "Christmas gift tags sticker sheet";
|
|
35
|
+
var PAD = { top: 54, right: 60, bottom: 40, left: 60 };
|
|
36
|
+
var D = 196;
|
|
37
|
+
var MOTIFS = ["Tree", "Bauble", "Snowflake", "Holly"];
|
|
38
|
+
var LOOK = {
|
|
39
|
+
Tree: { ground: "tagGreen", ink: "cream", art: "pineLight", art2: "gold", words: "cream" },
|
|
40
|
+
Bauble: { ground: "tagRed", ink: "cream", art: "gold", art2: "cream", words: "cream" },
|
|
41
|
+
Snowflake: { ground: "tagCream", ink: "red", art: "red", art2: "green", words: "red" },
|
|
42
|
+
Holly: { ground: "tagCream", ink: "green", art: "green", art2: "red", words: "green" }
|
|
43
|
+
};
|
|
44
|
+
function motif(m, cx, cy) {
|
|
45
|
+
const L = LOOK[m];
|
|
46
|
+
if (m === "Tree") {
|
|
47
|
+
const tiers = [0, 1, 2].map((i) => polyP([{ x: cx, y: cy - 38 + i * 17 }, { x: cx + 22 + i * 10, y: cy - 8 + i * 19 }, { x: cx - 22 - i * 10, y: cy - 8 + i * 19 }]));
|
|
48
|
+
return [
|
|
49
|
+
{ name: "Tree", paths: tiers, color: L.art },
|
|
50
|
+
{ name: "Trunk", paths: [polyP([{ x: cx - 5, y: cy + 30 }, { x: cx + 5, y: cy + 30 }, { x: cx + 5, y: cy + 40 }, { x: cx - 5, y: cy + 40 }])], color: "bark" },
|
|
51
|
+
{ name: "Top star", paths: [starPath(cx, cy - 40, 9, 3.8)], color: L.art2 },
|
|
52
|
+
{ name: "Lights", paths: [[-8, -18], [9, -10], [-16, 2], [8, 8], [-4, 20], [20, 24], [-24, 26], [2, -2]].map(([x, y]) => disc(cx + x, cy + y, 2.8)), color: L.art2 },
|
|
53
|
+
{ name: "Garland", paths: [[-14, -4, 16, -12], [-22, 14, 26, 6], [-30, 34, 32, 26]].map(([a, b, c, d]) => ({ closed: false, points: [{ x: cx + a, y: cy + b }, { x: cx + c, y: cy + d, handleIn: { x: cx + (a + c) / 2, y: cy + (b + d) / 2 + 7 } }] })), color: L.ink, o: { strokeWidth: 1.2, opacity: 0.8 } }
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
if (m === "Bauble") {
|
|
57
|
+
const b = bauble(cx, cy - 48, 34, { string: 2 });
|
|
58
|
+
return [
|
|
59
|
+
{ name: "Bauble", paths: b.body, color: L.art },
|
|
60
|
+
{ name: "Bauble shade", paths: b.shade, color: "goldDeep", o: { opacity: 0.5 } },
|
|
61
|
+
{ name: "Bauble bands", paths: b.band, color: L.art2, o: { strokeWidth: 2 } },
|
|
62
|
+
{ name: "Bauble cap", paths: b.cap, color: "goldDeep" },
|
|
63
|
+
{ name: "Bauble shine", paths: b.shine, color: L.art2, o: { opacity: 0.7 } }
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
if (m === "Snowflake") return [
|
|
67
|
+
{ name: "Snowflake", paths: snowflake(cx, cy, 40), color: L.art, o: { strokeWidth: 3.2 } },
|
|
68
|
+
{ name: "Snow dots", paths: [0, 1, 2, 3, 4, 5].map((i) => disc(cx + Math.cos(i * Math.PI / 3 + Math.PI / 6) * 30, cy + Math.sin(i * Math.PI / 3 + Math.PI / 6) * 30, 2.6)), color: L.art2 },
|
|
69
|
+
{ name: "Snowflake heart", paths: [disc(cx, cy, 5)], color: L.art2 }
|
|
70
|
+
];
|
|
71
|
+
return [
|
|
72
|
+
{ name: "Holly", paths: [holly({ x: cx - 4, y: cy + 4 }, 48, Math.PI + 0.45), holly({ x: cx + 4, y: cy + 4 }, 48, -0.45), holly({ x: cx, y: cy + 6 }, 34, Math.PI / 2 + 0.1)], color: L.art },
|
|
73
|
+
{ name: "Berries", paths: [disc(cx - 7, cy - 2, 7), disc(cx + 7, cy - 3, 7), disc(cx, cy + 9, 7)], color: L.art2 }
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
function paper(w, h) {
|
|
77
|
+
const B = 12;
|
|
78
|
+
return [0, 1, 2, 3].map((i) => {
|
|
79
|
+
const band = { x: -B, y: -B + (h + 2 * B) * i / 4, w: w + 2 * B, h: (h + 2 * B) / 4 };
|
|
80
|
+
return { name: "Fibre", paths: specksIn(band, 260, 21 + i, 2.2), color: "fibre", o: { opacity: 0.45 } };
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
var holidays_christmas_gift_tags_default = defineTemplate({
|
|
84
|
+
id: "print-holidays-christmas-gift-tags",
|
|
85
|
+
meta: {
|
|
86
|
+
name: NAME,
|
|
87
|
+
description: "Twelve round Christmas gift tags on one sheet, to print on sticker paper or card and cut out: a layered pine tree, a striped bauble, a snowflake and a sprig of holly in red, green and cream, each with a stitched ring and \u201CTo\u201D and \u201CFrom\u201D lines. One component set, so a colour change reaches every tag. US Letter on kraft paper with bleed, and an A4 copy",
|
|
88
|
+
category: "sticker",
|
|
89
|
+
tags: ["christmas", "gift tags", "labels", "stickers", "sticker sheet", "presents", "wrapping", "printable", "holly", "snowflake", "kraft", "diy", "print"],
|
|
90
|
+
platforms: ["print"],
|
|
91
|
+
formats: ["card"],
|
|
92
|
+
useCases: ["greeting"],
|
|
93
|
+
created: "2026-10-10",
|
|
94
|
+
updated: "2026-10-10"
|
|
95
|
+
},
|
|
96
|
+
stableNumbers: true,
|
|
97
|
+
build() {
|
|
98
|
+
const k = new Kit(NAME, preset("us-letter"));
|
|
99
|
+
k.quantizeGeometry = true;
|
|
100
|
+
k.brand(
|
|
101
|
+
{ paper: "#E6D6BC", text: "#4A2B1E", onPaper: "#7A2E25", primary: "#A3312A", onPrimary: "#FFF6E8" },
|
|
102
|
+
{ name: "From the Lindqvist house" }
|
|
103
|
+
);
|
|
104
|
+
k.palette({ tagRed: "#A3312A", tagGreen: "#2F5A43", tagCream: "#FBF4E6", red: "#A3312A", green: "#2F5A43", cream: "#FBF4E6", gold: "#D9B356", goldDeep: "#8E6C25", pineLight: "#7FAE86", bark: "#6B4A33", fibre: "#9C7F57" });
|
|
105
|
+
k.textStyle("Head 30", { ...SERIF, size: 30, fontWeight: 600, fontStyle: "italic", letterSpacing: -0.4, lineHeight: 34 });
|
|
106
|
+
k.textStyle("Note 11", { size: 11, fontWeight: 500, letterSpacing: 0.4, lineHeight: 16 });
|
|
107
|
+
k.textStyle("Tag 13", { ...SERIF, size: 13, fontWeight: 600, fontStyle: "italic", lineHeight: 17 });
|
|
108
|
+
k.textStyle("Tag word 9", { size: 9, fontWeight: 700, letterSpacing: 2.2, lineHeight: 12 });
|
|
109
|
+
k.variantSet("Gift tag", "Design", MOTIFS, { width: D, height: D, radius: D / 2, padding: { top: 110, right: 30, bottom: 18, left: 30 }, gap: 4, align: "CENTER", props: { Greeting: "Merry Christmas", To: "To: ____________", From: "From: __________" } }, (m, id) => {
|
|
110
|
+
const L = LOOK[m];
|
|
111
|
+
k.vector(id, D - 16, D - 16, [disc((D - 16) / 2, (D - 16) / 2, (D - 16) / 2)], [], { name: "Stitch", absolute: { x: 8, y: 8 }, stroke: { color: L.words, width: 1.4, dash: [5, 4] }, opacity: 0.8 });
|
|
112
|
+
draw(k, id, motif(m, D / 2, 64));
|
|
113
|
+
k.propText(id, "Greeting", { style: "Tag 13", color: L.words, align: "CENTER", width: "FILL", name: "Greeting" });
|
|
114
|
+
k.propText(id, "To", { style: "Tag word 9", color: L.words, align: "CENTER", width: "FILL", name: "To" });
|
|
115
|
+
k.propText(id, "From", { style: "Tag word 9", color: L.words, align: "CENTER", width: "FILL", name: "From" });
|
|
116
|
+
}, (m) => ({ fill: LOOK[m].ground }));
|
|
117
|
+
const sheet = k.sheet;
|
|
118
|
+
const { width: W, height: H } = k.node(sheet);
|
|
119
|
+
k.flowSheet(sheet, 18, PAD, "paper", "MIN", "CENTER");
|
|
120
|
+
draw(k, sheet, paper(W, H));
|
|
121
|
+
k.text(sheet, "Merry & bright gift tags", { style: "Head 30", color: "text", align: "CENTER", width: "FILL", name: "Title" });
|
|
122
|
+
const grid = k.stack(sheet, { direction: "HORIZONTAL", wrap: true, gap: 22, width: "FILL", justify: "CENTER", name: "Tags" });
|
|
123
|
+
k.patch(grid, { counterAxisSpacing: 22 });
|
|
124
|
+
const greet = ["Merry Christmas", "Joy to you", "Ho ho ho", "Season\u2019s greetings", "Peace & joy", "Merry Christmas", "With love", "Don\u2019t peek!", "Happy holidays", "Be merry", "Noel", "For you, with love"];
|
|
125
|
+
greet.forEach((g, i) => k.instance(grid, `Gift tag/${MOTIFS[i % 4]}`, { Greeting: g }, { name: "Gift tag" }));
|
|
126
|
+
k.text(sheet, "Print on full-sheet sticker paper or card and cut round the stitched ring \xB7 {{brand.name}}", { style: "Note 11", color: "text", align: "CENTER", width: "FILL", name: "Note" });
|
|
127
|
+
k.variants(sheet, [printVariant("a4", { art: paper, pad: PAD, masterWidth: W })]);
|
|
128
|
+
return k.finish();
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
export {
|
|
133
|
+
holidays_christmas_gift_tags_default
|
|
134
|
+
};
|
|
@@ -19,11 +19,11 @@ import {
|
|
|
19
19
|
popIn,
|
|
20
20
|
shadow,
|
|
21
21
|
travel
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KS7DVWDB.js";
|
|
23
23
|
import {
|
|
24
24
|
DURATION,
|
|
25
25
|
buildTemplateWall
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-G6MIC23V.js";
|
|
27
27
|
import {
|
|
28
28
|
COLLABORATORS,
|
|
29
29
|
COLORS,
|
|
@@ -9288,6 +9288,132 @@ var templates_default = [
|
|
|
9288
9288
|
category: "flyer",
|
|
9289
9289
|
bytes: 23062
|
|
9290
9290
|
},
|
|
9291
|
+
{
|
|
9292
|
+
id: "popcraft.print-holidays-christmas-church-newsletter",
|
|
9293
|
+
name: "Christmas church newsletter",
|
|
9294
|
+
kind: "PRINT",
|
|
9295
|
+
category: "newspaper",
|
|
9296
|
+
bytes: 172954
|
|
9297
|
+
},
|
|
9298
|
+
{
|
|
9299
|
+
id: "popcraft.print-holidays-christmas-eve-invitation",
|
|
9300
|
+
name: "Christmas Eve open house invitation",
|
|
9301
|
+
kind: "PRINT",
|
|
9302
|
+
category: "invitation",
|
|
9303
|
+
bytes: 257037
|
|
9304
|
+
},
|
|
9305
|
+
{
|
|
9306
|
+
id: "popcraft.print-holidays-christmas-gift-tags",
|
|
9307
|
+
name: "Christmas gift tags sticker sheet",
|
|
9308
|
+
kind: "PRINT",
|
|
9309
|
+
category: "sticker",
|
|
9310
|
+
bytes: 813106
|
|
9311
|
+
},
|
|
9312
|
+
{
|
|
9313
|
+
id: "popcraft.print-holidays-diwali-party-invitation",
|
|
9314
|
+
name: "Diwali party invitation",
|
|
9315
|
+
kind: "PRINT",
|
|
9316
|
+
category: "invitation",
|
|
9317
|
+
bytes: 301688
|
|
9318
|
+
},
|
|
9319
|
+
{
|
|
9320
|
+
id: "popcraft.print-holidays-easter-activity-sheet",
|
|
9321
|
+
name: "Easter activity sheet for kids",
|
|
9322
|
+
kind: "PRINT",
|
|
9323
|
+
category: "document",
|
|
9324
|
+
bytes: 148578
|
|
9325
|
+
},
|
|
9326
|
+
{
|
|
9327
|
+
id: "popcraft.print-holidays-easter-egg-hunt-flyer",
|
|
9328
|
+
name: "Easter egg hunt flyer",
|
|
9329
|
+
kind: "PRINT",
|
|
9330
|
+
category: "flyer",
|
|
9331
|
+
bytes: 199077
|
|
9332
|
+
},
|
|
9333
|
+
{
|
|
9334
|
+
id: "popcraft.print-holidays-eid-dinner-invitation",
|
|
9335
|
+
name: "Eid dinner invitation",
|
|
9336
|
+
kind: "PRINT",
|
|
9337
|
+
category: "invitation",
|
|
9338
|
+
bytes: 274778
|
|
9339
|
+
},
|
|
9340
|
+
{
|
|
9341
|
+
id: "popcraft.print-holidays-eid-gift-tags",
|
|
9342
|
+
name: "Eid gift tags sheet",
|
|
9343
|
+
kind: "PRINT",
|
|
9344
|
+
category: "sticker",
|
|
9345
|
+
bytes: 213250
|
|
9346
|
+
},
|
|
9347
|
+
{
|
|
9348
|
+
id: "popcraft.print-holidays-halloween-party-invitation",
|
|
9349
|
+
name: "Halloween costume party invitation",
|
|
9350
|
+
kind: "PRINT",
|
|
9351
|
+
category: "invitation",
|
|
9352
|
+
bytes: 174710
|
|
9353
|
+
},
|
|
9354
|
+
{
|
|
9355
|
+
id: "popcraft.print-holidays-halloween-treat-labels",
|
|
9356
|
+
name: "Halloween treat bag labels sticker sheet",
|
|
9357
|
+
kind: "PRINT",
|
|
9358
|
+
category: "sticker",
|
|
9359
|
+
bytes: 295226
|
|
9360
|
+
},
|
|
9361
|
+
{
|
|
9362
|
+
id: "popcraft.print-holidays-halloween-trunk-or-treat-poster",
|
|
9363
|
+
name: "Trunk-or-treat poster",
|
|
9364
|
+
kind: "PRINT",
|
|
9365
|
+
category: "poster",
|
|
9366
|
+
bytes: 622632
|
|
9367
|
+
},
|
|
9368
|
+
{
|
|
9369
|
+
id: "popcraft.print-holidays-hanukkah-activity-sheet",
|
|
9370
|
+
name: "Hanukkah activity sheet for kids",
|
|
9371
|
+
kind: "PRINT",
|
|
9372
|
+
category: "document",
|
|
9373
|
+
bytes: 126471
|
|
9374
|
+
},
|
|
9375
|
+
{
|
|
9376
|
+
id: "popcraft.print-holidays-hanukkah-party-invitation",
|
|
9377
|
+
name: "Hanukkah latke party invitation",
|
|
9378
|
+
kind: "PRINT",
|
|
9379
|
+
category: "invitation",
|
|
9380
|
+
bytes: 193765
|
|
9381
|
+
},
|
|
9382
|
+
{
|
|
9383
|
+
id: "popcraft.print-holidays-lunar-new-year-banquet-menu",
|
|
9384
|
+
name: "Lunar New Year banquet menu",
|
|
9385
|
+
kind: "PRINT",
|
|
9386
|
+
category: "menu",
|
|
9387
|
+
bytes: 79775
|
|
9388
|
+
},
|
|
9389
|
+
{
|
|
9390
|
+
id: "popcraft.print-holidays-new-years-eve-poster",
|
|
9391
|
+
name: "New Year\u2019s Eve dance poster",
|
|
9392
|
+
kind: "PRINT",
|
|
9393
|
+
category: "poster",
|
|
9394
|
+
bytes: 372569
|
|
9395
|
+
},
|
|
9396
|
+
{
|
|
9397
|
+
id: "popcraft.print-holidays-thanksgiving-dinner-menu",
|
|
9398
|
+
name: "Thanksgiving dinner menu",
|
|
9399
|
+
kind: "PRINT",
|
|
9400
|
+
category: "menu",
|
|
9401
|
+
bytes: 81753
|
|
9402
|
+
},
|
|
9403
|
+
{
|
|
9404
|
+
id: "popcraft.print-holidays-thanksgiving-place-cards",
|
|
9405
|
+
name: "Thanksgiving place cards",
|
|
9406
|
+
kind: "PRINT",
|
|
9407
|
+
category: "menu",
|
|
9408
|
+
bytes: 424220
|
|
9409
|
+
},
|
|
9410
|
+
{
|
|
9411
|
+
id: "popcraft.print-holidays-valentines-dinner-menu",
|
|
9412
|
+
name: "Valentine\u2019s dinner menu",
|
|
9413
|
+
kind: "PRINT",
|
|
9414
|
+
category: "menu",
|
|
9415
|
+
bytes: 68130
|
|
9416
|
+
},
|
|
9291
9417
|
{
|
|
9292
9418
|
id: "popcraft.print-invitation-a7",
|
|
9293
9419
|
name: "Invitation (A7)",
|
|
@@ -9780,6 +9906,41 @@ var templates_default = [
|
|
|
9780
9906
|
category: "social",
|
|
9781
9907
|
bytes: 13104
|
|
9782
9908
|
},
|
|
9909
|
+
{
|
|
9910
|
+
id: "popcraft.social-holidays-diwali-sweet-shop-post",
|
|
9911
|
+
name: "Diwali sweet shop mithai post",
|
|
9912
|
+
kind: "SOCIAL",
|
|
9913
|
+
category: "social",
|
|
9914
|
+
bytes: 183975
|
|
9915
|
+
},
|
|
9916
|
+
{
|
|
9917
|
+
id: "popcraft.social-holidays-lunar-new-year-bakery-post",
|
|
9918
|
+
name: "Lunar New Year bakery post",
|
|
9919
|
+
kind: "SOCIAL",
|
|
9920
|
+
category: "social",
|
|
9921
|
+
bytes: 132755
|
|
9922
|
+
},
|
|
9923
|
+
{
|
|
9924
|
+
id: "popcraft.social-holidays-new-years-eve-shop-hours",
|
|
9925
|
+
name: "New Year\u2019s Eve shop holiday hours post",
|
|
9926
|
+
kind: "SOCIAL",
|
|
9927
|
+
category: "social",
|
|
9928
|
+
bytes: 121881
|
|
9929
|
+
},
|
|
9930
|
+
{
|
|
9931
|
+
id: "popcraft.social-holidays-thanksgiving-pie-orders-post",
|
|
9932
|
+
name: "Thanksgiving pie orders post",
|
|
9933
|
+
kind: "SOCIAL",
|
|
9934
|
+
category: "social",
|
|
9935
|
+
bytes: 117953
|
|
9936
|
+
},
|
|
9937
|
+
{
|
|
9938
|
+
id: "popcraft.social-holidays-valentines-florist-post",
|
|
9939
|
+
name: "Valentine\u2019s florist pre-order post",
|
|
9940
|
+
kind: "SOCIAL",
|
|
9941
|
+
category: "social",
|
|
9942
|
+
bytes: 400914
|
|
9943
|
+
},
|
|
9783
9944
|
{
|
|
9784
9945
|
id: "popcraft.social-launch",
|
|
9785
9946
|
name: "Launch set",
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
bandsAround,
|
|
9
|
+
disc,
|
|
10
|
+
diya,
|
|
11
|
+
draw,
|
|
12
|
+
flourishComponent,
|
|
13
|
+
perBand,
|
|
14
|
+
printVariant,
|
|
15
|
+
rangoli,
|
|
16
|
+
specksIn,
|
|
17
|
+
toran
|
|
18
|
+
} from "./chunk-AISWLDDO.js";
|
|
19
|
+
import {
|
|
20
|
+
SERIF
|
|
21
|
+
} from "./chunk-X23ZWFW2.js";
|
|
22
|
+
import {
|
|
23
|
+
blurred
|
|
24
|
+
} from "./chunk-HVK5T4I5.js";
|
|
25
|
+
import {
|
|
26
|
+
defineTemplate
|
|
27
|
+
} from "./chunk-A44WEVKR.js";
|
|
28
|
+
import {
|
|
29
|
+
Kit,
|
|
30
|
+
preset
|
|
31
|
+
} from "./chunk-T3SGRYUX.js";
|
|
32
|
+
import {
|
|
33
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
34
|
+
} from "./chunk-6VMOKHMF.js";
|
|
35
|
+
|
|
36
|
+
// templates/src/print/holidays-diwali-party-invitation.ts
|
|
37
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
38
|
+
var NAME = "Diwali party invitation";
|
|
39
|
+
var PAD = { top: 150, right: 46, bottom: 214, left: 46 };
|
|
40
|
+
function art(w, h) {
|
|
41
|
+
const s = w / 480, B = 14 * s, cx = w / 2;
|
|
42
|
+
const t = toran(-B, w + B, -2 * s, 14 * s, 7, 15 * s, 3);
|
|
43
|
+
const r = rangoli(cx, h + 26 * s, 210 * s, 8);
|
|
44
|
+
const diyas = [0.14, 0.32, 0.5, 0.68, 0.86].map((x, i) => diya(w * x - 10 * s, h - 22 * s - (i === 2 ? 14 * s : i % 2 ? 6 * s : 0), (i === 2 ? 64 : 52) * s));
|
|
45
|
+
const keep = { x: 30 * s, y: 100 * s, w: w - 60 * s, h: h - 330 * s };
|
|
46
|
+
return [
|
|
47
|
+
...perBand("Glitter", "gold", bandsAround(w, h, keep, B).slice(0, 1).concat(bandsAround(w, h, keep, B).slice(2)), (b, i) => specksIn(b, 420 * s * s, 60 + i, 2.2 * s), { opacity: 0.5 }),
|
|
48
|
+
{ name: "Rangoli outer", paths: r.outer, color: "pink" },
|
|
49
|
+
{ name: "Rangoli middle", paths: r.middle, color: "saffron" },
|
|
50
|
+
{ name: "Rangoli inner", paths: r.inner, color: "teal" },
|
|
51
|
+
{ name: "Rangoli dots", paths: r.dots, color: "cream" },
|
|
52
|
+
{ name: "Rangoli heart", paths: r.heart, color: "gold" },
|
|
53
|
+
{ name: "Diya glow", paths: diyas.map((d) => d.flame[0]).map((f) => ({ ...f })), color: "saffron", o: { opacity: 0.6, effects: [blurred(10 * s)] } },
|
|
54
|
+
{ name: "Diyas", paths: diyas.flatMap((d) => d.bowl), color: "clay" },
|
|
55
|
+
{ name: "Diya rims", paths: diyas.flatMap((d) => d.rim), color: "gold" },
|
|
56
|
+
{ name: "Flames", paths: diyas.flatMap((d) => d.flame), color: "saffron" },
|
|
57
|
+
{ name: "Flame cores", paths: diyas.flatMap((d) => d.core), color: "cream" },
|
|
58
|
+
{ name: "Toran string", paths: t.string, color: "gold", o: { strokeWidth: 1.6 * s } },
|
|
59
|
+
{ name: "Mango leaves", paths: t.leaves, color: "leaf" },
|
|
60
|
+
{ name: "Marigolds", paths: t.blooms.outer, color: "marigold" },
|
|
61
|
+
{ name: "Marigold hearts", paths: t.blooms.inner, color: "saffron" },
|
|
62
|
+
{ name: "Bells", paths: [0.07, 0.93].map((x) => disc(w * x, 70 * s, 6 * s)), color: "gold" }
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
var holidays_diwali_party_invitation_default = defineTemplate({
|
|
66
|
+
id: "print-holidays-diwali-party-invitation",
|
|
67
|
+
meta: {
|
|
68
|
+
name: NAME,
|
|
69
|
+
description: "A printed invitation to a family Diwali evening: a toran of marigolds and mango leaves across the top of a deep aubergine card, a rangoli in pink, saffron and teal rising from the foot behind a row of lit clay diyas, and \u201CShubh Deepavali\u201D in a gold serif over the details: Lakshmi puja, dinner and sparklers in the garden. 5 \xD7 7 inches with bleed, and an A6 copy",
|
|
70
|
+
category: "invitation",
|
|
71
|
+
tags: ["diwali", "deepavali", "festival of lights", "diya", "rangoli", "marigold", "toran", "lakshmi puja", "hindu", "family", "party", "invitation", "print", "card"],
|
|
72
|
+
platforms: ["print"],
|
|
73
|
+
formats: ["card"],
|
|
74
|
+
useCases: ["invitation", "event"],
|
|
75
|
+
created: "2026-10-10",
|
|
76
|
+
updated: "2026-10-10"
|
|
77
|
+
},
|
|
78
|
+
stableNumbers: true,
|
|
79
|
+
build() {
|
|
80
|
+
const k = new Kit(NAME, preset("invitation-5x7"));
|
|
81
|
+
k.quantizeGeometry = true;
|
|
82
|
+
k.brand(
|
|
83
|
+
{ paper: "#3B0F3D", text: "#FFF1D6", onPaper: "#F3C969", primary: "#F3C969", onPrimary: "#3B0F3D" },
|
|
84
|
+
{ name: "the Mehta family" }
|
|
85
|
+
);
|
|
86
|
+
k.palette({ gold: "#E9B949", saffron: "#FFA41B", marigold: "#F57C14", cream: "#FFF1D6", pink: "#E0457B", teal: "#1E9C93", leaf: "#3F8F45", clay: "#B9572B" });
|
|
87
|
+
k.textStyle("Kicker 11", { size: 11, fontWeight: 700, letterSpacing: 3.6, lineHeight: 16 });
|
|
88
|
+
k.textStyle("Title 50", { ...SERIF, size: 50, fontWeight: 600, fontStyle: "italic", letterSpacing: -1, lineHeight: 52 });
|
|
89
|
+
k.textStyle("Sub 18", { ...SERIF, size: 18, fontWeight: 400, lineHeight: 24 });
|
|
90
|
+
k.textStyle("When 15", { size: 15, fontWeight: 700, lineHeight: 21 });
|
|
91
|
+
k.textStyle("Body 12", { ...SERIF, size: 12, fontWeight: 400, lineHeight: 17 });
|
|
92
|
+
k.textStyle("Rsvp 10", { size: 10, fontWeight: 700, letterSpacing: 1.6, lineHeight: 15 });
|
|
93
|
+
const sheet = k.sheet;
|
|
94
|
+
const { width: W, height: H } = k.node(sheet);
|
|
95
|
+
k.flowSheet(sheet, 0, PAD, "paper", "MIN", "CENTER");
|
|
96
|
+
draw(k, sheet, art(W, H));
|
|
97
|
+
const c = { align: "CENTER", width: "FILL" };
|
|
98
|
+
k.text(sheet, "A FESTIVAL OF LIGHTS", { style: "Kicker 11", color: "onPaper", ...c, name: "Kicker" });
|
|
99
|
+
k.stack(sheet, { height: 6, name: "Gap" });
|
|
100
|
+
k.text(sheet, "Shubh Deepavali", { style: "Title 50", color: "onPaper", ...c, name: "Title" });
|
|
101
|
+
k.text(sheet, "Celebrate Diwali with {{brand.name}}", { style: "Sub 18", color: "text", ...c, name: "Sub" });
|
|
102
|
+
k.stack(sheet, { height: 14, name: "Gap" });
|
|
103
|
+
flourishComponent(k, "Lamp rule", "primary", disc(0, 0, 5, 7), { rule: 30, size: 7 });
|
|
104
|
+
k.instance(sheet, "Lamp rule", {}, { name: "Divider" });
|
|
105
|
+
k.stack(sheet, { height: 14, name: "Gap" });
|
|
106
|
+
k.text(sheet, "Sunday 8 November \xB7 6:30 pm", { style: "When 15", color: "text", ...c, name: "When" });
|
|
107
|
+
k.text(sheet, "31 Juniper Court, Edison", { style: "Body 12", color: "text", ...c, name: "Where" });
|
|
108
|
+
k.stack(sheet, { height: 10, name: "Gap" });
|
|
109
|
+
k.text(sheet, "Lakshmi puja at seven, then dinner, mithai and sparklers in the garden. Wear your brightest; the kids will be judging.", { style: "Body 12", color: "text", ...c, name: "Body" });
|
|
110
|
+
k.stack(sheet, { height: 10, name: "Gap" });
|
|
111
|
+
k.text(sheet, "RSVP TO PRIYA \xB7 (732) 555-0186", { style: "Rsvp 10", color: "onPaper", ...c, name: "Rsvp" });
|
|
112
|
+
k.textStyle("Title 42", { ...SERIF, size: 42, fontWeight: 600, fontStyle: "italic", letterSpacing: -0.8, lineHeight: 44 });
|
|
113
|
+
k.textStyle("Sub 15", { ...SERIF, size: 15, fontWeight: 400, lineHeight: 20 });
|
|
114
|
+
k.textStyle("When 13", { size: 13, fontWeight: 700, lineHeight: 18 });
|
|
115
|
+
k.textStyle("Body 10.5", { ...SERIF, size: 10.5, fontWeight: 400, lineHeight: 15 });
|
|
116
|
+
k.textStyle("Rsvp 8.5", { size: 8.5, fontWeight: 700, letterSpacing: 1.2, lineHeight: 13 });
|
|
117
|
+
k.textStyle("Kicker 9.5", { size: 9.5, fontWeight: 700, letterSpacing: 3, lineHeight: 14 });
|
|
118
|
+
k.variants(sheet, [printVariant("a6", {
|
|
119
|
+
art,
|
|
120
|
+
pad: PAD,
|
|
121
|
+
masterWidth: W,
|
|
122
|
+
styles: [["Title", "Title 42"], ["Sub", "Sub 15"], ["When", "When 13"], ["Where", "Body 10.5"], ["Body", "Body 10.5"], ["Rsvp", "Rsvp 8.5"], ["Kicker", "Kicker 9.5"]]
|
|
123
|
+
})]);
|
|
124
|
+
return k.finish();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
export {
|
|
129
|
+
holidays_diwali_party_invitation_default
|
|
130
|
+
};
|
|
@@ -20,20 +20,20 @@ import {
|
|
|
20
20
|
} from "./chunk-4UQLA7H3.js";
|
|
21
21
|
import {
|
|
22
22
|
notice
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-V5HI55XO.js";
|
|
24
24
|
import {
|
|
25
25
|
agentContext
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-R3YD6VL6.js";
|
|
27
27
|
import {
|
|
28
28
|
collabSession,
|
|
29
29
|
syncStatus
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5NWVUAWR.js";
|
|
31
31
|
import {
|
|
32
32
|
loadEntitlements
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-YPMT4Y4N.js";
|
|
34
34
|
import {
|
|
35
35
|
useEditorStore
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-IM6HORNC.js";
|
|
37
37
|
import {
|
|
38
38
|
cloudApi
|
|
39
39
|
} from "./chunk-LXMGMNST.js";
|