@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.
Files changed (229) hide show
  1. package/dist/chunks/{agent-45ZGYKTC.js → agent-NTEAEZBN.js} +1 -1
  2. package/dist/chunks/{build-K6QBTLT7.js → build-W5O2ZVN7.js} +2 -2
  3. package/dist/chunks/{builtin-ZS3HJHZL.js → builtin-KX2SGDND.js} +3 -3
  4. package/dist/chunks/{check-template-RZ7IO333.js → check-template-B2KKE6BW.js} +2 -2
  5. package/dist/chunks/{chunk-ZKHYC3QO.js → chunk-37WES5PM.js} +2 -2
  6. package/dist/chunks/chunk-45JABNLR.js +161 -0
  7. package/dist/chunks/chunk-4OGILN7Y.js +141 -0
  8. package/dist/chunks/{chunk-63X37RCC.js → chunk-5NWVUAWR.js} +4 -4
  9. package/dist/chunks/{chunk-QREG6HEK.js → chunk-67SLLJJB.js} +40 -40
  10. package/dist/chunks/chunk-6DV5JZ5M.js +121 -0
  11. package/dist/chunks/chunk-7Q67MXXL.js +140 -0
  12. package/dist/chunks/{chunk-R5CW4CNP.js → chunk-A6GPFR5O.js} +11 -11
  13. package/dist/chunks/chunk-AISWLDDO.js +895 -0
  14. package/dist/chunks/{chunk-ADZXK6SM.js → chunk-AQGECTRJ.js} +1 -1
  15. package/dist/chunks/chunk-ASWWZNTY.js +130 -0
  16. package/dist/chunks/chunk-BNEFANT2.js +134 -0
  17. package/dist/chunks/{chunk-REJO7GXO.js → chunk-CFEKYNGQ.js} +2 -2
  18. package/dist/chunks/{chunk-5HG4LWF5.js → chunk-D4HEDPVN.js} +161 -0
  19. package/dist/chunks/chunk-DRESZDOP.js +130 -0
  20. package/dist/chunks/{chunk-3W2MSVJA.js → chunk-EBLHS2EG.js} +5 -5
  21. package/dist/chunks/chunk-EHTLT6XJ.js +131 -0
  22. package/dist/chunks/{chunk-2AQK4IIV.js → chunk-EVFG2K4L.js} +1 -1
  23. package/dist/chunks/{chunk-6TJIEERG.js → chunk-F4NTIOTT.js} +26 -26
  24. package/dist/chunks/chunk-FC7B22QS.js +150 -0
  25. package/dist/chunks/{chunk-V6COW3DB.js → chunk-G6MIC23V.js} +1 -1
  26. package/dist/chunks/{chunk-4QBQ4RAA.js → chunk-GODXMHO3.js} +4 -4
  27. package/dist/chunks/chunk-GT22XGDH.js +152 -0
  28. package/dist/chunks/chunk-HL4M53ZR.js +143 -0
  29. package/dist/chunks/{chunk-MPI6SCA7.js → chunk-IDL5KKIC.js} +5 -5
  30. package/dist/chunks/{chunk-HR7HCFPX.js → chunk-IM6HORNC.js} +5 -5
  31. package/dist/chunks/{chunk-UVMU6CXR.js → chunk-IWCZDFXL.js} +17 -17
  32. package/dist/chunks/{chunk-OCSLBM6W.js → chunk-JXAJ6OST.js} +1 -1
  33. package/dist/chunks/{chunk-5WGMPGKY.js → chunk-KS7DVWDB.js} +1 -1
  34. package/dist/chunks/chunk-NHDBQ4G7.js +137 -0
  35. package/dist/chunks/chunk-NKPU5TF2.js +103 -0
  36. package/dist/chunks/chunk-NO734F3F.js +146 -0
  37. package/dist/chunks/{chunk-ASWAIYNC.js → chunk-NR2SFSJU.js} +3 -3
  38. package/dist/chunks/{chunk-CJY4TNOS.js → chunk-O3BEBIDN.js} +3 -1
  39. package/dist/chunks/{chunk-UDO3ZU5T.js → chunk-OR6HMJRM.js} +1 -1
  40. package/dist/chunks/chunk-OTICJQ4T.js +267 -0
  41. package/dist/chunks/chunk-PWZZRGWI.js +141 -0
  42. package/dist/chunks/{chunk-AE6S2M2B.js → chunk-QX4U3VTU.js} +25 -25
  43. package/dist/chunks/{chunk-TRUFIU5W.js → chunk-R3YD6VL6.js} +3 -3
  44. package/dist/chunks/{chunk-YSYZW4VZ.js → chunk-SFPM3UJA.js} +7 -7
  45. package/dist/chunks/chunk-SNXQM4UO.js +115 -0
  46. package/dist/chunks/chunk-T3LV66CQ.js +139 -0
  47. package/dist/chunks/chunk-TDGIO2S7.js +145 -0
  48. package/dist/chunks/chunk-TFNV2UP4.js +87 -0
  49. package/dist/chunks/chunk-UJZXKOTP.js +136 -0
  50. package/dist/chunks/{chunk-QAVWMRRM.js → chunk-V5HI55XO.js} +2 -2
  51. package/dist/chunks/chunk-VVNPBBPL.js +174 -0
  52. package/dist/chunks/{chunk-22RNC42G.js → chunk-YHA45NK5.js} +1 -1
  53. package/dist/chunks/{chunk-27EVM272.js → chunk-YPMT4Y4N.js} +2 -2
  54. package/dist/chunks/chunk-YRSDFRCX.js +122 -0
  55. package/dist/chunks/chunk-ZNARVSMD.js +140 -0
  56. package/dist/chunks/{chunk-3DWOQ4LW.js → chunk-ZTBKAGBN.js} +2 -2
  57. package/dist/chunks/{client-6DUSRTZG.js → client-25NJXQWL.js} +1 -1
  58. package/dist/chunks/{client-XYPBNSQ7.js → client-7AQTKZHV.js} +2 -2
  59. package/dist/chunks/{client-TRFNJJHQ.js → client-LWBTUXQK.js} +2 -2
  60. package/dist/chunks/{client-actions-SSUZUEG7.js → client-actions-3HIRRSOL.js} +4 -4
  61. package/dist/chunks/{dangerous-UX4DHJ7U.js → dangerous-XJOHEWL6.js} +3 -3
  62. package/dist/chunks/{editor-seams-V7ZP7XH3.js → editor-seams-4DREZRTT.js} +9 -9
  63. package/dist/chunks/{editor-store-OIHZT244.js → editor-store-C4VWC23J.js} +1 -1
  64. package/dist/chunks/{export-watermark-4NAP5RVM.js → export-watermark-OKGRZNOU.js} +5 -5
  65. package/dist/chunks/{eyedropper-QXEY7LVL.js → eyedropper-WZYSTUTM.js} +1 -1
  66. package/dist/chunks/{generate-media-JAEHWNF6.js → generate-media-DFSHOPOI.js} +2 -2
  67. package/dist/chunks/{host-IKFYVZS7.js → host-4ZE7SIWR.js} +6 -6
  68. package/dist/chunks/{integrations-U5X2BHVK.js → integrations-LPC35FKX.js} +1 -1
  69. package/dist/chunks/{kit-modules-BAUMECYQ.js → kit-modules-BAKTDLOZ.js} +1 -1
  70. package/dist/chunks/{libraries-Q5TCHWGI.js → libraries-ACERXG2O.js} +5 -5
  71. package/dist/chunks/{live-4XQEGNLA.js → live-ZIVBFX3G.js} +3 -3
  72. package/dist/chunks/{media-tool-OSQR45HY.js → media-tool-2ZPIQKJD.js} +1 -1
  73. package/dist/chunks/{new-file-VVLWHEJ4.js → new-file-XS3KCMGM.js} +3 -3
  74. package/dist/chunks/{plugin-44ZW5UEP.js → plugin-6RNMUP5I.js} +2 -2
  75. package/dist/chunks/{plugin-import-3ISLDX7T.js → plugin-import-UC5BHZFE.js} +13 -13
  76. package/dist/chunks/{presence-WVU4OIUA.js → presence-TLDOMBPD.js} +2 -2
  77. package/dist/chunks/{project-EG7XFEJU.js → project-NMPK4R5M.js} +1 -1
  78. package/dist/chunks/{publish-site-WFIX42D3.js → publish-site-R46ZILSS.js} +6 -6
  79. package/dist/chunks/{publish-store-6BS7OIP4.js → publish-store-MIPHEDLV.js} +4 -4
  80. package/dist/chunks/{raster-actions-37XUQSVZ.js → raster-actions-7EI5THLB.js} +1 -1
  81. package/dist/chunks/{runner-HZ7MU6ER.js → runner-I66TTKKZ.js} +16 -16
  82. package/dist/chunks/{store-PHWBXKNY.js → store-7WMR3JKP.js} +5 -5
  83. package/dist/chunks/{sync-IJNKHQRF.js → sync-OFINS45Q.js} +5 -5
  84. package/dist/chunks/{tabs-G6OTEGA5.js → tabs-PEH6VX3X.js} +8 -8
  85. package/dist/chunks/{team-M2EN4JT5.js → team-GGW3O32G.js} +1 -1
  86. package/dist/chunks/{tools-WDFCY4BH.js → tools-TKCA46ZS.js} +2 -2
  87. package/dist/chunks/{ui-commands-QHFGR33P.js → ui-commands-6K4PYKU5.js} +11 -11
  88. package/dist/chunks/{versions-S7COCZSQ.js → versions-KHRNQFGF.js} +5 -5
  89. package/dist/index.js +4 -4
  90. package/dist/seed/files.json +1 -1
  91. package/dist/templates/count.js +1 -1
  92. package/dist/templates/index.js +125 -101
  93. package/dist/templates/index.json +756 -0
  94. package/dist/templates/motion/landing-hero/index.js +4 -4
  95. package/dist/templates/motion/launch-trailer/document.js +125 -101
  96. package/dist/templates/motion/launch-trailer/index.js +4 -4
  97. package/dist/templates/motion/launch-trailer/scenes.js +3 -3
  98. package/dist/templates/motion/template-wall.js +2 -2
  99. package/dist/templates/print/holidays-christmas-church-newsletter.js +94 -0
  100. package/dist/templates/print/holidays-christmas-eve-invitation.js +94 -0
  101. package/dist/templates/print/holidays-christmas-gift-tags.js +94 -0
  102. package/dist/templates/print/holidays-diwali-party-invitation.js +95 -0
  103. package/dist/templates/print/holidays-easter-activity-sheet.js +94 -0
  104. package/dist/templates/print/holidays-easter-egg-hunt-flyer.js +94 -0
  105. package/dist/templates/print/holidays-eid-dinner-invitation.js +95 -0
  106. package/dist/templates/print/holidays-eid-gift-tags.js +94 -0
  107. package/dist/templates/print/holidays-halloween-party-invitation.js +95 -0
  108. package/dist/templates/print/holidays-halloween-treat-labels.js +94 -0
  109. package/dist/templates/print/holidays-halloween-trunk-or-treat-poster.js +94 -0
  110. package/dist/templates/print/holidays-hanukkah-activity-sheet.js +94 -0
  111. package/dist/templates/print/holidays-hanukkah-party-invitation.js +94 -0
  112. package/dist/templates/print/holidays-lunar-new-year-banquet-menu.js +95 -0
  113. package/dist/templates/print/holidays-new-years-eve-poster.js +94 -0
  114. package/dist/templates/print/holidays-thanksgiving-dinner-menu.js +94 -0
  115. package/dist/templates/print/holidays-thanksgiving-place-cards.js +94 -0
  116. package/dist/templates/print/holidays-valentines-dinner-menu.js +94 -0
  117. package/dist/templates/saas/email-decks.js +2 -2
  118. package/dist/templates/saas/index.js +37 -37
  119. package/dist/templates/saas/launch-kit.js +2 -2
  120. package/dist/templates/saas/launch-video.js +2 -2
  121. package/dist/templates/saas/stores.js +2 -2
  122. package/dist/templates/saas/style-bento.js +2 -2
  123. package/dist/templates/saas/style-dark.js +2 -2
  124. package/dist/templates/saas/style-editorial.js +2 -2
  125. package/dist/templates/saas/style-gradient.js +2 -2
  126. package/dist/templates/saas/style-pastel.js +2 -2
  127. package/dist/templates/saas/style-swiss.js +2 -2
  128. package/dist/templates/slideshow/index.js +3 -3
  129. package/dist/templates/social/holidays-diwali-sweet-shop-post.js +96 -0
  130. package/dist/templates/social/holidays-lunar-new-year-bakery-post.js +96 -0
  131. package/dist/templates/social/holidays-new-years-eve-shop-hours.js +96 -0
  132. package/dist/templates/social/holidays-thanksgiving-pie-orders-post.js +96 -0
  133. package/dist/templates/social/holidays-valentines-florist-post.js +96 -0
  134. package/dist/templates/themes/black-friday-coupons.js +2 -2
  135. package/dist/templates/themes/black-friday-neon.js +2 -2
  136. package/dist/templates/themes/blueprint.js +2 -2
  137. package/dist/templates/themes/broadsheet.js +2 -2
  138. package/dist/templates/themes/cyberpunk.js +2 -2
  139. package/dist/templates/themes/departure-board.js +2 -2
  140. package/dist/templates/themes/festival-presale-family-a.js +2 -2
  141. package/dist/templates/themes/festival-presale-family-b.js +2 -2
  142. package/dist/templates/themes/holidays-shared.js +172 -0
  143. package/dist/templates/themes/holidays.js +107 -1
  144. package/dist/templates/themes/index.js +72 -48
  145. package/dist/templates/themes/lunar-new-year.js +2 -2
  146. package/dist/templates/themes/noir.js +2 -2
  147. package/dist/templates/themes/psychedelic.js +2 -2
  148. package/dist/templates/themes/space-opera.js +2 -2
  149. package/dist/templates/themes/studio.js +3 -3
  150. package/dist/templates/themes/tour-tickets.js +2 -2
  151. package/dist/templates/themes/vaporwave.js +2 -2
  152. package/package.json +1 -1
  153. package/src/templates/print/holidays-christmas-church-newsletter.ts +246 -0
  154. package/src/templates/print/holidays-christmas-eve-invitation.ts +121 -0
  155. package/src/templates/print/holidays-christmas-gift-tags.ts +117 -0
  156. package/src/templates/print/holidays-diwali-party-invitation.ts +98 -0
  157. package/src/templates/print/holidays-easter-activity-sheet.ts +108 -0
  158. package/src/templates/print/holidays-easter-egg-hunt-flyer.ts +118 -0
  159. package/src/templates/print/holidays-eid-dinner-invitation.ts +104 -0
  160. package/src/templates/print/holidays-eid-gift-tags.ts +94 -0
  161. package/src/templates/print/holidays-halloween-party-invitation.ts +101 -0
  162. package/src/templates/print/holidays-halloween-treat-labels.ts +86 -0
  163. package/src/templates/print/holidays-halloween-trunk-or-treat-poster.ts +148 -0
  164. package/src/templates/print/holidays-hanukkah-activity-sheet.ts +112 -0
  165. package/src/templates/print/holidays-hanukkah-party-invitation.ts +112 -0
  166. package/src/templates/print/holidays-lunar-new-year-banquet-menu.ts +110 -0
  167. package/src/templates/print/holidays-new-years-eve-poster.ts +117 -0
  168. package/src/templates/print/holidays-thanksgiving-dinner-menu.ts +110 -0
  169. package/src/templates/print/holidays-thanksgiving-place-cards.ts +80 -0
  170. package/src/templates/print/holidays-valentines-dinner-menu.ts +95 -0
  171. package/src/templates/social/holidays-diwali-sweet-shop-post.ts +121 -0
  172. package/src/templates/social/holidays-lunar-new-year-bakery-post.ts +110 -0
  173. package/src/templates/social/holidays-new-years-eve-shop-hours.ts +118 -0
  174. package/src/templates/social/holidays-thanksgiving-pie-orders-post.ts +115 -0
  175. package/src/templates/social/holidays-valentines-florist-post.ts +102 -0
  176. package/src/templates/themes/holidays-shared.ts +903 -0
  177. package/src/templates/themes/holidays.ts +24 -1
  178. package/types/templates/src/print/holidays-christmas-church-newsletter.d.ts +2 -0
  179. package/types/templates/src/print/holidays-christmas-eve-invitation.d.ts +2 -0
  180. package/types/templates/src/print/holidays-christmas-gift-tags.d.ts +2 -0
  181. package/types/templates/src/print/holidays-diwali-party-invitation.d.ts +2 -0
  182. package/types/templates/src/print/holidays-easter-activity-sheet.d.ts +2 -0
  183. package/types/templates/src/print/holidays-easter-egg-hunt-flyer.d.ts +2 -0
  184. package/types/templates/src/print/holidays-eid-dinner-invitation.d.ts +2 -0
  185. package/types/templates/src/print/holidays-eid-gift-tags.d.ts +2 -0
  186. package/types/templates/src/print/holidays-halloween-party-invitation.d.ts +2 -0
  187. package/types/templates/src/print/holidays-halloween-treat-labels.d.ts +2 -0
  188. package/types/templates/src/print/holidays-halloween-trunk-or-treat-poster.d.ts +2 -0
  189. package/types/templates/src/print/holidays-hanukkah-activity-sheet.d.ts +2 -0
  190. package/types/templates/src/print/holidays-hanukkah-party-invitation.d.ts +2 -0
  191. package/types/templates/src/print/holidays-lunar-new-year-banquet-menu.d.ts +2 -0
  192. package/types/templates/src/print/holidays-new-years-eve-poster.d.ts +2 -0
  193. package/types/templates/src/print/holidays-thanksgiving-dinner-menu.d.ts +2 -0
  194. package/types/templates/src/print/holidays-thanksgiving-place-cards.d.ts +2 -0
  195. package/types/templates/src/print/holidays-valentines-dinner-menu.d.ts +2 -0
  196. package/types/templates/src/social/holidays-diwali-sweet-shop-post.d.ts +2 -0
  197. package/types/templates/src/social/holidays-lunar-new-year-bakery-post.d.ts +2 -0
  198. package/types/templates/src/social/holidays-new-years-eve-shop-hours.d.ts +2 -0
  199. package/types/templates/src/social/holidays-thanksgiving-pie-orders-post.d.ts +2 -0
  200. package/types/templates/src/social/holidays-valentines-florist-post.d.ts +2 -0
  201. package/types/templates/src/themes/holidays-shared.d.ts +374 -0
  202. package/dist/chunks/chunk-OWZLREWX.js +0 -18
  203. package/dist/chunks/{chunk-IFJTWD4O.js → chunk-2R3MZKA2.js} +3 -3
  204. package/dist/chunks/{chunk-P67L32AF.js → chunk-3DBNMCGN.js} +3 -3
  205. package/dist/chunks/{chunk-DZDTVMUO.js → chunk-3VHOXVMF.js} +3 -3
  206. package/dist/chunks/{chunk-2PQI2R5L.js → chunk-64RMGOTG.js} +0 -0
  207. package/dist/chunks/{chunk-7BDCMMSD.js → chunk-6Y46SDFE.js} +3 -3
  208. package/dist/chunks/{chunk-6VCQ4ZEG.js → chunk-AFARXTNQ.js} +3 -3
  209. package/dist/chunks/{chunk-ITSYENCT.js → chunk-BI3M4RUH.js} +3 -3
  210. package/dist/chunks/{chunk-25FM5JIR.js → chunk-BP7CHO7K.js} +3 -3
  211. package/dist/chunks/{chunk-D22534DX.js → chunk-DPTFZDOS.js} +3 -3
  212. package/dist/chunks/{chunk-JWLR6K62.js → chunk-FNUM5W3W.js} +3 -3
  213. package/dist/chunks/{chunk-JPH6HOYU.js → chunk-HJQU5POV.js} +3 -3
  214. package/dist/chunks/{chunk-HQYZ4URA.js → chunk-IJ65QZLL.js} +3 -3
  215. package/dist/chunks/{chunk-47VVF5TM.js → chunk-INT2OPPY.js} +8 -8
  216. package/dist/chunks/{chunk-AYVAHMWQ.js → chunk-JPMLUHZX.js} +3 -3
  217. package/dist/chunks/{chunk-LFYNAAAQ.js → chunk-LMRTRVPC.js} +3 -3
  218. package/dist/chunks/{chunk-HJIMF4NA.js → chunk-NGMCQZA6.js} +3 -3
  219. package/dist/chunks/{chunk-B3ASV6KS.js → chunk-PQBYL7AI.js} +3 -3
  220. package/dist/chunks/{chunk-NHXNUDC5.js → chunk-QD4QORNR.js} +3 -3
  221. package/dist/chunks/{chunk-P6TPDLAF.js → chunk-S3C6L5KF.js} +3 -3
  222. package/dist/chunks/{chunk-TIRPXUK2.js → chunk-S7L2D7NH.js} +3 -3
  223. package/dist/chunks/{chunk-QFGFR5FQ.js → chunk-TYOOL27R.js} +3 -3
  224. package/dist/chunks/{chunk-32V4D45K.js → chunk-TYW7EXV6.js} +3 -3
  225. package/dist/chunks/{chunk-3QIDCP4M.js → chunk-VOEAQIQT.js} +3 -3
  226. package/dist/chunks/{chunk-ASVDOX62.js → chunk-VVUQG4ME.js} +3 -3
  227. package/dist/chunks/{chunk-ZXZ22FKF.js → chunk-XTWKSMJC.js} +3 -3
  228. package/dist/chunks/{chunk-6NG5K7WN.js → chunk-YHEMML5Q.js} +3 -3
  229. package/dist/chunks/{chunk-MVFPEBMY.js → chunk-ZKRSVNY4.js} +3 -3
@@ -13,7 +13,7 @@ import {
13
13
  agentTool,
14
14
  agentToolList,
15
15
  registerCommands
16
- } from "./chunk-TRUFIU5W.js";
16
+ } from "./chunk-R3YD6VL6.js";
17
17
  import {
18
18
  dispatch
19
19
  } from "./chunk-F4FBI2LN.js";
@@ -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-5WGMPGKY.js";
22
+ } from "./chunk-KS7DVWDB.js";
23
23
  import {
24
24
  DURATION,
25
25
  buildTemplateWall
26
- } from "./chunk-V6COW3DB.js";
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-QAVWMRRM.js";
23
+ } from "./chunk-V5HI55XO.js";
24
24
  import {
25
25
  agentContext
26
- } from "./chunk-TRUFIU5W.js";
26
+ } from "./chunk-R3YD6VL6.js";
27
27
  import {
28
28
  collabSession,
29
29
  syncStatus
30
- } from "./chunk-63X37RCC.js";
30
+ } from "./chunk-5NWVUAWR.js";
31
31
  import {
32
32
  loadEntitlements
33
- } from "./chunk-27EVM272.js";
33
+ } from "./chunk-YPMT4Y4N.js";
34
34
  import {
35
35
  useEditorStore
36
- } from "./chunk-HR7HCFPX.js";
36
+ } from "./chunk-IM6HORNC.js";
37
37
  import {
38
38
  cloudApi
39
39
  } from "./chunk-LXMGMNST.js";