@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
@@ -78,10 +78,7 @@ import {
78
78
  } from "./chunk-NYYN7YE7.js";
79
79
  import {
80
80
  THEME_PACKS
81
- } from "./chunk-6TJIEERG.js";
82
- import {
83
- sting_rise_default
84
- } from "./chunk-IGDTOI5Y.js";
81
+ } from "./chunk-F4NTIOTT.js";
85
82
  import {
86
83
  sting_shimmer_default
87
84
  } from "./chunk-HMGAJTTK.js";
@@ -104,8 +101,8 @@ import {
104
101
  sting_pop_default
105
102
  } from "./chunk-NRCJJZBK.js";
106
103
  import {
107
- post_testimonial_default
108
- } from "./chunk-5KABUIFE.js";
104
+ sting_rise_default
105
+ } from "./chunk-IGDTOI5Y.js";
109
106
  import {
110
107
  promo_announcement_default
111
108
  } from "./chunk-S427YWNZ.js";
@@ -145,9 +142,15 @@ import {
145
142
  import {
146
143
  post_stat_default
147
144
  } from "./chunk-DQNVUAF5.js";
145
+ import {
146
+ post_testimonial_default
147
+ } from "./chunk-5KABUIFE.js";
148
148
  import {
149
149
  SLIDESHOWS
150
- } from "./chunk-47VVF5TM.js";
150
+ } from "./chunk-INT2OPPY.js";
151
+ import {
152
+ sales_default
153
+ } from "./chunk-XKSIWVQ6.js";
151
154
  import {
152
155
  section_divider_default
153
156
  } from "./chunk-QCFYG52R.js";
@@ -160,6 +163,9 @@ import {
160
163
  import {
161
164
  webinar_default
162
165
  } from "./chunk-E7A7FZN7.js";
166
+ import {
167
+ agenda_default
168
+ } from "./chunk-VPJXZKTM.js";
163
169
  import {
164
170
  education_default
165
171
  } from "./chunk-RQYFCN3D.js";
@@ -176,38 +182,32 @@ import {
176
182
  report_default
177
183
  } from "./chunk-ESWKMEN4.js";
178
184
  import {
179
- sales_default
180
- } from "./chunk-XKSIWVQ6.js";
185
+ story_fitness_default
186
+ } from "./chunk-3LPEZVYI.js";
181
187
  import {
182
- agenda_default
183
- } from "./chunk-VPJXZKTM.js";
188
+ story_hotel_default
189
+ } from "./chunk-LHMKJ6EW.js";
184
190
  import {
185
191
  transitions_pack_default
186
192
  } from "./chunk-ZAHVKXS7.js";
187
193
  import {
188
194
  web_scroll_default
189
195
  } from "./chunk-H6JBVJZI.js";
196
+ import {
197
+ carousel_video_default
198
+ } from "./chunk-GRL2GMU2.js";
190
199
  import {
191
200
  story_ad_default
192
201
  } from "./chunk-LTJSNXAU.js";
193
202
  import {
194
203
  story_bakery_default
195
204
  } from "./chunk-WKI5SN52.js";
196
- import {
197
- story_fitness_default
198
- } from "./chunk-3LPEZVYI.js";
199
- import {
200
- story_hotel_default
201
- } from "./chunk-LHMKJ6EW.js";
202
205
  import {
203
206
  before_after_default
204
207
  } from "./chunk-77TKKLAS.js";
205
- import {
206
- carousel_video_default
207
- } from "./chunk-GRL2GMU2.js";
208
208
  import {
209
209
  SAAS_CORE
210
- } from "./chunk-UVMU6CXR.js";
210
+ } from "./chunk-IWCZDFXL.js";
211
211
  import {
212
212
  synthwave_tunnel_default
213
213
  } from "./chunk-VREFP24C.js";
@@ -294,13 +294,13 @@ import {
294
294
  } from "./chunk-6HDJX7JF.js";
295
295
  import {
296
296
  landing_hero_default
297
- } from "./chunk-REJO7GXO.js";
297
+ } from "./chunk-CFEKYNGQ.js";
298
298
  import {
299
299
  launch_trailer_default
300
- } from "./chunk-22RNC42G.js";
300
+ } from "./chunk-YHA45NK5.js";
301
301
  import {
302
302
  template_wall_default
303
- } from "./chunk-V6COW3DB.js";
303
+ } from "./chunk-G6MIC23V.js";
304
304
  import {
305
305
  instagram_promo_default
306
306
  } from "./chunk-M4XV5HU2.js";
@@ -405,7 +405,7 @@ import {
405
405
  } from "./chunk-2CXMXFAW.js";
406
406
  import {
407
407
  registerTemplateSources
408
- } from "./chunk-5HG4LWF5.js";
408
+ } from "./chunk-D4HEDPVN.js";
409
409
  import {
410
410
  bars_default
411
411
  } from "./chunk-SH5K2PRM.js";
@@ -59,19 +59,19 @@ async function renderDocument(doc, nodeIds, options) {
59
59
  function generateCapability(ctx) {
60
60
  return async (prompt, options = {}) => {
61
61
  if (options.format === "audio") {
62
- const { requestAudio } = await import("./client-XYPBNSQ7.js");
62
+ const { requestAudio } = await import("./client-7AQTKZHV.js");
63
63
  const { signal: signal2, format: _f, ...rest2 } = options;
64
64
  void _f;
65
65
  return requestAudio({ prompt, ...rest2 }, signal2 ?? ctx.signal);
66
66
  }
67
67
  if (options.format === "video") {
68
- const { generateVideoFile } = await import("./generate-media-JAEHWNF6.js");
68
+ const { generateVideoFile } = await import("./generate-media-DFSHOPOI.js");
69
69
  const { format: _f, signal: signal2, ...rest2 } = options;
70
70
  void _f;
71
71
  return generateVideoFile({ ...rest2, prompt, doc: ctx.doc() }, { signal: signal2 ?? ctx.signal });
72
72
  }
73
73
  const [{ requestImage }, { effectiveImageModel, useAiStore }] = await Promise.all([
74
- import("./client-XYPBNSQ7.js"),
74
+ import("./client-7AQTKZHV.js"),
75
75
  import("./client-store-V6YXN7XC.js")
76
76
  ]);
77
77
  const modelId = effectiveImageModel(useAiStore.getState());
@@ -8,7 +8,7 @@ import {
8
8
  needsSelection,
9
9
  pageGo,
10
10
  selectionIsPicture
11
- } from "./chunk-QREG6HEK.js";
11
+ } from "./chunk-67SLLJJB.js";
12
12
  import {
13
13
  external_exports
14
14
  } from "./chunk-EZVFNLBJ.js";
@@ -31,7 +31,7 @@ var none = external_exports.object({});
31
31
  var emit = (name, detail) => {
32
32
  if (typeof window !== "undefined") window.dispatchEvent(new CustomEvent(name, { detail }));
33
33
  };
34
- var store = () => import("./editor-store-OIHZT244.js").then((m) => m.useEditorStore.getState());
34
+ var store = () => import("./editor-store-C4VWC23J.js").then((m) => m.useEditorStore.getState());
35
35
  var MODE_IDS = MODE_LIST.map((m) => m.id);
36
36
  var MODE_ALIASES = { JAM: "POPCORN" };
37
37
  var modeSet = defineCommand({
@@ -209,7 +209,7 @@ var aiOpen = defineCommand({
209
209
  ] } },
210
210
  run: async ({ dialog, skillId }) => {
211
211
  if (dialog) (await import("./client-store-V6YXN7XC.js")).openAiDialog(dialog);
212
- else (await import("./store-PHWBXKNY.js")).openAgentPanel({ skillId: skillId ?? null });
212
+ else (await import("./store-7WMR3JKP.js")).openAgentPanel({ skillId: skillId ?? null });
213
213
  return { summary: dialog ? `Opened AI ${dialog}` : "Opened the agent" };
214
214
  }
215
215
  });
@@ -288,11 +288,11 @@ var toolPlace = defineCommand({
288
288
  run: async ({ what }) => {
289
289
  if (what === "media") {
290
290
  const s = await store();
291
- const { placeMediaFromPicker } = await import("./media-tool-OSQR45HY.js");
291
+ const { placeMediaFromPicker } = await import("./media-tool-2ZPIQKJD.js");
292
292
  await placeMediaFromPicker({ kind: "point", x: s.camera.x, y: s.camera.y });
293
293
  return { summary: "Placing media" };
294
294
  }
295
- const { beginEyedrop } = await import("./eyedropper-QXEY7LVL.js");
295
+ const { beginEyedrop } = await import("./eyedropper-WZYSTUTM.js");
296
296
  void beginEyedrop();
297
297
  return { summary: "Pick a color" };
298
298
  }
@@ -310,7 +310,7 @@ var nodeRasterize = defineCommand({
310
310
  keywords: ["rasterize", "raster", "flatten", "pixels", "paint layer", "erase", "bitmap"]
311
311
  } },
312
312
  run: async () => {
313
- const { flattenSelectionToPaintLayer } = await import("./raster-actions-37XUQSVZ.js");
313
+ const { flattenSelectionToPaintLayer } = await import("./raster-actions-7EI5THLB.js");
314
314
  await flattenSelectionToPaintLayer();
315
315
  return { summary: "Rasterized" };
316
316
  }
@@ -421,7 +421,7 @@ function pluginCommand(plugins) {
421
421
  params: external_exports.object({ pluginId: external_exports.string(), commandId: external_exports.string() }),
422
422
  expose: { ui: { label: "Run plugin", keywords: ["plugin", "extension", "run"], variants, palette: variants.length ? void 0 : false } },
423
423
  run: async ({ pluginId, commandId }) => {
424
- await (await import("./host-IKFYVZS7.js")).runPlugin(pluginId, commandId);
424
+ await (await import("./host-4ZE7SIWR.js")).runPlugin(pluginId, commandId);
425
425
  return { summary: "Plugin started" };
426
426
  }
427
427
  });
@@ -0,0 +1,115 @@
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
+ bat,
9
+ candyCorn,
10
+ disc,
11
+ draw,
12
+ ghost,
13
+ jackFace,
14
+ printVariant,
15
+ pumpkin,
16
+ specksIn,
17
+ web
18
+ } from "./chunk-AISWLDDO.js";
19
+ import {
20
+ SERIF
21
+ } from "./chunk-X23ZWFW2.js";
22
+ import {
23
+ defineTemplate
24
+ } from "./chunk-A44WEVKR.js";
25
+ import {
26
+ Kit,
27
+ preset
28
+ } from "./chunk-T3SGRYUX.js";
29
+ import {
30
+ init_define_POPCRAFT_COMPONENT_IDS
31
+ } from "./chunk-6VMOKHMF.js";
32
+
33
+ // templates/src/print/holidays-halloween-treat-labels.ts
34
+ init_define_POPCRAFT_COMPONENT_IDS();
35
+ var NAME = "Halloween treat bag labels sticker sheet";
36
+ var PAD = { top: 52, right: 60, bottom: 40, left: 60 };
37
+ var D = 196;
38
+ var DESIGNS = ["Ghost", "Pumpkin", "Bat", "Candy"];
39
+ var LOOK = {
40
+ Ghost: { ground: "purple", words: "bone" },
41
+ Pumpkin: { ground: "bone", words: "purple" },
42
+ Bat: { ground: "orange", words: "ink" },
43
+ Candy: { ground: "lime", words: "ink" }
44
+ };
45
+ function picture(d, cx, cy) {
46
+ if (d === "Ghost") {
47
+ const g = ghost(cx, cy - 46, 92);
48
+ return [{ name: "Ghost", paths: g.sheet, color: "bone" }, { name: "Ghost face", paths: g.face, color: "ink" }];
49
+ }
50
+ if (d === "Pumpkin") {
51
+ const p = pumpkin(cx, cy + 40, 104, 80);
52
+ return [{ name: "Pumpkin", paths: p.lobes, color: "orange" }, { name: "Pumpkin creases", paths: p.creases, color: "orangeDeep", o: { strokeWidth: 2 } }, { name: "Pumpkin stem", paths: p.stem, color: "lime" }, { name: "Pumpkin face", paths: jackFace(cx, cy + 2, 84), color: "candle" }];
53
+ }
54
+ if (d === "Bat") return [{ name: "Moon", paths: [disc(cx, cy, 44)], color: "bone" }, { name: "Bat", paths: [bat(cx, cy + 4, 110, 0.3)], color: "ink" }];
55
+ const corns = [candyCorn(cx - 30, cy + 4, 62, -0.35), candyCorn(cx + 2, cy - 6, 72, 0.05), candyCorn(cx + 34, cy + 6, 60, 0.4)];
56
+ return [{ name: "Corn base", paths: corns.flatMap((c) => c.base), color: "orange" }, { name: "Corn middle", paths: corns.flatMap((c) => c.mid), color: "candle" }, { name: "Corn tip", paths: corns.flatMap((c) => c.tip), color: "bone" }];
57
+ }
58
+ function ground(w, h) {
59
+ const B = 12;
60
+ return [
61
+ { name: "Web", paths: web(w + 4, -4, 190, Math.PI / 2, Math.PI, 7, 7), color: "bone", o: { strokeWidth: 1.2, opacity: 0.35 } },
62
+ { name: "Web", paths: web(-4, h + 4, 150, -Math.PI / 2, 0, 6, 6), color: "bone", o: { strokeWidth: 1.2, opacity: 0.3 } },
63
+ ...[0, 1, 2].map((i) => ({ name: "Dust", paths: specksIn({ x: -B, y: -B + (h + 2 * B) * i / 3, w: w + 2 * B, h: (h + 2 * B) / 3 }, 900, 50 + i, 2), color: "purple", o: { opacity: 0.6 } }))
64
+ ];
65
+ }
66
+ var holidays_halloween_treat_labels_default = defineTemplate({
67
+ id: "print-holidays-halloween-treat-labels",
68
+ meta: {
69
+ name: NAME,
70
+ description: "Twelve Halloween labels for treat bags, jars and party favours on one sticker sheet: a ghost, a jack-o\u2019-lantern, a bat across the moon and candy corn on purple, orange and lime rounded squares, each with its own line and a \u201CFrom\u201D line. One component set, so a colour change reaches every label. US Letter on black with bleed, and an A4 copy",
71
+ category: "sticker",
72
+ tags: ["halloween", "labels", "stickers", "sticker sheet", "treat bags", "party favors", "trick or treat", "ghost", "pumpkin", "candy corn", "printable", "diy", "print"],
73
+ platforms: ["print"],
74
+ formats: ["card"],
75
+ useCases: ["event", "greeting"],
76
+ created: "2026-10-10",
77
+ updated: "2026-10-10"
78
+ },
79
+ stableNumbers: true,
80
+ build() {
81
+ const k = new Kit(NAME, preset("us-letter"));
82
+ k.quantizeGeometry = true;
83
+ k.brand(
84
+ { paper: "#121016", text: "#F3EBDD", onPaper: "#C9B8E8", primary: "#FF8A1F", onPrimary: "#121016" },
85
+ { name: "The Ramirez kids" }
86
+ );
87
+ k.palette({ purple: "#5B3A8E", orange: "#FF8A1F", orangeDeep: "#B85A0C", lime: "#B6E05A", bone: "#F3EBDD", ink: "#121016", candle: "#FFD24D" });
88
+ k.textStyle("Head 34", { size: 34, fontWeight: 900, letterSpacing: -1, lineHeight: 38 });
89
+ k.textStyle("Note 11", { size: 11, fontWeight: 500, letterSpacing: 0.4, lineHeight: 16 });
90
+ k.textStyle("Label 17", { ...SERIF, size: 17, fontWeight: 800, fontStyle: "italic", lineHeight: 20 });
91
+ k.textStyle("From 9", { size: 9, fontWeight: 700, letterSpacing: 2, lineHeight: 12 });
92
+ k.variantSet("Treat label", "Design", DESIGNS, { width: D, height: D, radius: 30, padding: { top: 132, right: 14, bottom: 14, left: 14 }, gap: 4, align: "CENTER", props: { Line: "Boo!", From: "FROM: ____________" } }, (d, id) => {
93
+ const L = LOOK[d];
94
+ draw(k, id, picture(d, D / 2, 70));
95
+ k.propText(id, "Line", { style: "Label 17", color: L.words, align: "CENTER", width: "FILL", name: "Line" });
96
+ k.propText(id, "From", { style: "From 9", color: L.words, align: "CENTER", width: "FILL", name: "From" });
97
+ }, (d) => ({ fill: LOOK[d].ground }));
98
+ const sheet = k.sheet;
99
+ const { width: W, height: H } = k.node(sheet);
100
+ k.flowSheet(sheet, 18, PAD, "paper", "MIN", "CENTER");
101
+ draw(k, sheet, ground(W, H));
102
+ k.text(sheet, "Spooky treat labels", { style: "Head 34", color: "text", align: "CENTER", width: "FILL", name: "Title" });
103
+ const grid = k.stack(sheet, { direction: "HORIZONTAL", wrap: true, gap: 22, width: "FILL", justify: "CENTER", name: "Labels" });
104
+ k.patch(grid, { counterAxisSpacing: 22 });
105
+ const lines = ["Boo!", "Trick or treat!", "Eat me if you dare", "Spooky snacks", "Happy Halloween", "Witch\u2019s stash", "Ghoulishly good", "Fang-tastic!", "Bat-ter up", "Sweet & scary", "Hocus pocus", "Candy for you"];
106
+ lines.forEach((l, i) => k.instance(grid, `Treat label/${DESIGNS[i % 4]}`, { Line: l }, { name: "Treat label" }));
107
+ k.text(sheet, "Print on full-sheet sticker paper, cut round each square, and stick on bags, jars and boxes \xB7 {{brand.name}}", { style: "Note 11", color: "onPaper", align: "CENTER", width: "FILL", name: "Note" });
108
+ k.variants(sheet, [printVariant("a4", { art: ground, pad: PAD, masterWidth: W })]);
109
+ return k.finish();
110
+ }
111
+ });
112
+
113
+ export {
114
+ holidays_halloween_treat_labels_default
115
+ };
@@ -0,0 +1,139 @@
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
+ bat,
9
+ branch,
10
+ disc,
11
+ draw,
12
+ flourishComponent,
13
+ grass,
14
+ jackFace,
15
+ polyP,
16
+ printVariant,
17
+ pumpkin,
18
+ rectPath,
19
+ specksIn,
20
+ web
21
+ } from "./chunk-AISWLDDO.js";
22
+ import {
23
+ SERIF
24
+ } from "./chunk-X23ZWFW2.js";
25
+ import {
26
+ blurred
27
+ } from "./chunk-HVK5T4I5.js";
28
+ import {
29
+ defineTemplate
30
+ } from "./chunk-A44WEVKR.js";
31
+ import {
32
+ Kit,
33
+ preset
34
+ } from "./chunk-T3SGRYUX.js";
35
+ import {
36
+ init_define_POPCRAFT_COMPONENT_IDS
37
+ } from "./chunk-6VMOKHMF.js";
38
+
39
+ // templates/src/print/holidays-halloween-party-invitation.ts
40
+ init_define_POPCRAFT_COMPONENT_IDS();
41
+ var NAME = "Halloween costume party invitation";
42
+ var PAD = { top: 92, right: 44, bottom: 120, left: 44 };
43
+ function art(w, h) {
44
+ const s = w / 480, B = 14 * s, cx = w / 2;
45
+ const moon = { x: cx, y: 160 * s, r: 132 * s };
46
+ const craters = [[-50, -60, 18], [40, -30, 12], [-20, 50, 22], [60, 60, 14], [-80, 20, 9]].map(([x, y, r]) => disc(moon.x + x * s, moon.y + y * s, r * s));
47
+ const bats = [[0.12, 0.08, 46, 0.4], [0.86, 0.06, 38, -0.2], [0.92, 0.33, 30, 0.2], [0.08, 0.34, 26, -0.4], [0.76, 0.42, 22, 0.1]].map(([x, y, sz, f]) => bat(w * x, h * y, sz * s, f));
48
+ const fence = Array.from({ length: 11 }, (_, i) => {
49
+ const x = w * 0.52 + i * 20 * s;
50
+ return polyP([{ x, y: h - 92 * s }, { x: x + 5 * s, y: h - 104 * s }, { x: x + 10 * s, y: h - 92 * s }, { x: x + 10 * s, y: h - 40 * s }, { x, y: h - 40 * s }]);
51
+ });
52
+ fence.push(rectPath(w * 0.52, h - 82 * s, 220 * s, 5 * s), rectPath(w * 0.52, h - 58 * s, 220 * s, 5 * s));
53
+ const tree = branch([{ x: 40 * s, y: h }, { x: 46 * s, y: h - 120 * s }, { x: 64 * s, y: h - 190 * s }, { x: 104 * s, y: h - 236 * s }], 8, 6, 46 * s);
54
+ const pk = [[0.2, 74, 60], [0.5, 104, 80], [0.8, 78, 62]].map(([x, pw, ph]) => ({ x: w * x, p: pumpkin(w * x, h - 22 * s, pw * s * 1.2, ph * s), face: jackFace(w * x, h - 22 * s - ph * s * 0.48, pw * s * 1) }));
55
+ return [
56
+ { name: "Stars", paths: specksIn({ x: -B, y: -B, w: 90 * s, h: 330 * s }, 300 * s * s, 4, 2 * s), color: "bone", o: { opacity: 0.5 } },
57
+ { name: "Stars", paths: specksIn({ x: w - 76 * s, y: -B, w: 90 * s, h: 330 * s }, 300 * s * s, 5, 2 * s), color: "bone", o: { opacity: 0.5 } },
58
+ { name: "Moon glow", paths: [disc(moon.x, moon.y, moon.r * 1.12)], color: "bone", o: { opacity: 0.22, effects: [blurred(18 * s)] } },
59
+ { name: "Moon", paths: [disc(moon.x, moon.y, moon.r)], color: "bone" },
60
+ { name: "Craters", paths: craters, color: "boneDeep", o: { opacity: 0.55 } },
61
+ { name: "Web", paths: web(-4 * s, -4 * s, 120 * s, 0, Math.PI / 2, 7, 6), color: "bone", o: { strokeWidth: 1 * s, opacity: 0.6 } },
62
+ ...bats.map((b) => ({ name: "Bat", paths: [b], color: "batPurple" })),
63
+ { name: "Hill", paths: [polyP([{ x: -B, y: h + B }, ...Array.from({ length: 13 }, (_, i) => ({ x: -B + (w + 2 * B) * i / 12, y: h - 96 * s + Math.sin(i * 0.7) * 10 * s })), { x: w + B, y: h + B }])], color: "hill" },
64
+ { name: "Fence", paths: fence, color: "hill" },
65
+ { name: "Tree", paths: tree.limb, color: "hill", o: { strokeWidth: 7 * s } },
66
+ { name: "Twigs", paths: tree.twigs, color: "hill", o: { strokeWidth: 3 * s } },
67
+ { name: "Pumpkin glow", paths: pk.map((p) => disc(p.x, h - 48 * s, 64 * s, 44 * s)), color: "pumpkin", o: { opacity: 0.35, effects: [blurred(22 * s)] } },
68
+ { name: "Pumpkins", paths: pk.flatMap((p) => p.p.lobes), color: "pumpkin" },
69
+ { name: "Pumpkin creases", paths: pk.flatMap((p) => p.p.creases), color: "pumpkinDeep", o: { strokeWidth: 1.6 * s } },
70
+ { name: "Pumpkin stems", paths: pk.flatMap((p) => p.p.stem), color: "stem" },
71
+ { name: "Faces", paths: pk.flatMap((p) => p.face), color: "candle" },
72
+ { name: "Grass", paths: grass(-B, w + B, h + B, 30 * s, 13, 60), color: "ink" }
73
+ ];
74
+ }
75
+ var holidays_halloween_party_invitation_default = defineTemplate({
76
+ id: "print-holidays-halloween-party-invitation",
77
+ meta: {
78
+ name: NAME,
79
+ description: "A printed invitation to a grown-ups\u2019 Halloween costume party: a full harvest moon fills the top of a night-black card with \u201CMonster Mash\u201D set heavy across its face, bats round its edge and a web in the corner, the details in bone and pumpkin orange, and three glowing jack-o\u2019-lanterns in the grass. 5 \xD7 7 inches with bleed, and an A6 copy",
80
+ category: "invitation",
81
+ tags: ["halloween", "costume party", "party", "monster mash", "pumpkins", "jack-o\u2019-lantern", "bats", "moon", "spooky", "invitation", "print", "card", "october"],
82
+ platforms: ["print"],
83
+ formats: ["card"],
84
+ useCases: ["invitation", "event"],
85
+ created: "2026-10-10",
86
+ updated: "2026-10-10"
87
+ },
88
+ stableNumbers: true,
89
+ build() {
90
+ const k = new Kit(NAME, preset("invitation-5x7"));
91
+ k.quantizeGeometry = true;
92
+ k.brand(
93
+ { paper: "#15121B", text: "#F1E6CF", onPaper: "#F08A2C", primary: "#F08A2C", onPrimary: "#15121B" },
94
+ { name: "the Hendersons" }
95
+ );
96
+ k.palette({ batPurple: "#5A3F86", hill: "#26202F", bone: "#F1E6CF", boneDeep: "#D8C7A3", ink: "#15121B", pumpkin: "#F08A2C", pumpkinDeep: "#B85A12", stem: "#5B6B3A", candle: "#FFD35C" });
97
+ k.textStyle("Kicker 12", { size: 12, fontWeight: 800, letterSpacing: 4, lineHeight: 16 });
98
+ k.textStyle("Title 64", { size: 56, fontWeight: 900, letterSpacing: -2.2, lineHeight: 50 });
99
+ k.textStyle("When 16", { ...SERIF, size: 16, fontWeight: 700, lineHeight: 22 });
100
+ k.textStyle("Body 12", { ...SERIF, size: 12, fontWeight: 400, lineHeight: 17 });
101
+ k.textStyle("Rsvp 10", { size: 10, fontWeight: 700, letterSpacing: 1.6, lineHeight: 15 });
102
+ const sheet = k.sheet;
103
+ const { width: W, height: H } = k.node(sheet);
104
+ k.flowSheet(sheet, 0, PAD, "paper", "MIN", "CENTER");
105
+ draw(k, sheet, art(W, H));
106
+ const c = { align: "CENTER", width: "FILL" };
107
+ k.text(sheet, "THE ANNUAL", { style: "Kicker 12", color: "ink", ...c, name: "Kicker" });
108
+ k.stack(sheet, { height: 6, name: "Gap" });
109
+ k.text(sheet, "MONSTER\nMASH", { style: "Title 64", color: "ink", ...c, name: "Title" });
110
+ k.stack(sheet, { height: 6, name: "Gap" });
111
+ k.text(sheet, "A COSTUME PARTY", { style: "Kicker 12", color: "ink", ...c, name: "Sub" });
112
+ k.stack(sheet, { height: 92, name: "Gap" });
113
+ k.text(sheet, "Saturday 31 October \xB7 8 pm till late", { style: "When 16", color: "onPaper", ...c, name: "When" });
114
+ k.text(sheet, "at {{brand.name}}\u2019, 77 Ravenwood Lane", { style: "Body 12", color: "text", ...c, name: "Where" });
115
+ k.stack(sheet, { height: 10, name: "Gap" });
116
+ flourishComponent(k, "Bat rule", "primary", bat(0, 0, 30), { rule: 30, size: 18 });
117
+ k.instance(sheet, "Bat rule", {}, { name: "Divider" });
118
+ k.stack(sheet, { height: 10, name: "Gap" });
119
+ k.text(sheet, "Costumes compulsory. Prizes for the scariest, the funniest and the most homemade. Witches\u2019 brew, a candy table and a DJ who takes requests.", { style: "Body 12", color: "text", ...c, name: "Body" });
120
+ k.stack(sheet, { height: 10, name: "Gap" });
121
+ k.text(sheet, "RSVP TO MEG \xB7 (614) 555-0131", { style: "Rsvp 10", color: "onPaper", ...c, name: "Rsvp" });
122
+ k.textStyle("Title 54", { size: 47, fontWeight: 900, letterSpacing: -1.8, lineHeight: 42 });
123
+ k.textStyle("When 13.5", { ...SERIF, size: 13.5, fontWeight: 700, lineHeight: 19 });
124
+ k.textStyle("Body 10.5", { ...SERIF, size: 10.5, fontWeight: 400, lineHeight: 15 });
125
+ k.textStyle("Rsvp 8.5", { size: 8.5, fontWeight: 700, letterSpacing: 1.2, lineHeight: 13 });
126
+ k.textStyle("Kicker 10", { size: 10, fontWeight: 800, letterSpacing: 3.4, lineHeight: 14 });
127
+ k.variants(sheet, [printVariant("a6", {
128
+ art,
129
+ pad: PAD,
130
+ masterWidth: W,
131
+ styles: [["Title", "Title 54"], ["When", "When 13.5"], ["Where", "Body 10.5"], ["Body", "Body 10.5"], ["Rsvp", "Rsvp 8.5"], ["Kicker", "Kicker 10"], ["Sub", "Kicker 10"]]
132
+ })]);
133
+ return k.finish();
134
+ }
135
+ });
136
+
137
+ export {
138
+ holidays_halloween_party_invitation_default
139
+ };
@@ -0,0 +1,145 @@
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
+ acorn,
9
+ draw,
10
+ flourishComponent,
11
+ leaf,
12
+ maple,
13
+ mapleVeins,
14
+ pumpkin,
15
+ wheat
16
+ } from "./chunk-AISWLDDO.js";
17
+ import {
18
+ SERIF
19
+ } from "./chunk-X23ZWFW2.js";
20
+ import {
21
+ defineTemplate
22
+ } from "./chunk-A44WEVKR.js";
23
+ import {
24
+ Kit,
25
+ preset
26
+ } from "./chunk-T3SGRYUX.js";
27
+ import {
28
+ init_define_POPCRAFT_COMPONENT_IDS
29
+ } from "./chunk-6VMOKHMF.js";
30
+
31
+ // templates/src/print/holidays-thanksgiving-dinner-menu.ts
32
+ init_define_POPCRAFT_COMPONENT_IDS();
33
+ var NAME = "Thanksgiving dinner menu";
34
+ var PAD = { top: 266, right: 52, bottom: 36, left: 52 };
35
+ var MENU = [
36
+ ["TO START", "Butternut squash soup with toasted pepitas\nGrandma Mai\u2019s spring rolls"],
37
+ ["THE TABLE", "Herb-roasted turkey and gravy\nCornbread and sausage stuffing"],
38
+ ["ON THE SIDE", "Garlic mashed potatoes \xB7 Green beans with crispy shallots\nCranberry-orange relish \xB7 Parker House rolls"],
39
+ ["SOMETHING SWEET", "Pumpkin pie and pecan pie, with whipped cream"]
40
+ ];
41
+ function art(w, h) {
42
+ const s = w / 480, cx = w / 2, cy = 200 * s, R = 178 * s;
43
+ const leaves = [];
44
+ const golds = [], olives = [], rusts = [], wheatS = [], wheatG = [], nuts = [], caps = [];
45
+ const n = 21;
46
+ for (let i = 0; i < n; i++) {
47
+ const a = Math.PI * 0.96 + i * Math.PI * 1.08 / (n - 1), x = cx + Math.cos(a) * R, y = cy + Math.sin(a) * R * 0.92;
48
+ const turn = a + Math.PI / 2 + (i % 2 ? 0.45 : -0.45);
49
+ const kind = i % 4;
50
+ if (kind === 0) {
51
+ rusts.push(...maple(x, y, 62 * s, turn));
52
+ leaves.push({ m: [], v: mapleVeins(x, y, 62 * s, turn) });
53
+ } else if (kind === 2) {
54
+ golds.push(...maple(x, y, 50 * s, turn + 0.5));
55
+ leaves.push({ m: [], v: mapleVeins(x, y, 50 * s, turn + 0.5) });
56
+ } else if (kind === 1) {
57
+ const wh = wheat(x, y + 26 * s, 70 * s, Math.cos(a) * 0.35);
58
+ wheatS.push(...wh.stalk);
59
+ wheatG.push(...wh.grains);
60
+ } else {
61
+ olives.push(leaf({ x, y }, 46 * s, 18 * s, a + 0.9), leaf({ x, y }, 40 * s, 16 * s, a - 0.9));
62
+ }
63
+ if (i % 5 === 2) {
64
+ const ac = acorn(x - Math.cos(a) * 30 * s, y - Math.sin(a) * 30 * s, 26 * s, turn);
65
+ nuts.push(...ac.nut);
66
+ caps.push(...ac.cap);
67
+ }
68
+ olives.push(leaf({ x, y }, 34 * s, 13 * s, a + Math.PI + (i % 2 ? 0.7 : -0.7)));
69
+ }
70
+ const pk = pumpkin(cx - 14 * s, 186 * s, 96 * s, 70 * s), gd = pumpkin(cx + 50 * s, 186 * s, 54 * s, 40 * s);
71
+ const sprigs = [leaf({ x: cx - 50 * s, y: 182 * s }, 46 * s, 18 * s, Math.PI + 0.3), leaf({ x: cx + 74 * s, y: 182 * s }, 40 * s, 16 * s, -0.25)];
72
+ return [
73
+ { name: "Centre leaves", paths: sprigs, color: "olive" },
74
+ { name: "Centre pumpkin", paths: pk.lobes, color: "rust" },
75
+ { name: "Centre gourd", paths: gd.lobes, color: "mustard" },
76
+ { name: "Centre creases", paths: [...pk.creases, ...gd.creases], color: "rustDeep", o: { strokeWidth: 1.4 * s } },
77
+ { name: "Centre stems", paths: [...pk.stem, ...gd.stem], color: "bark" },
78
+ { name: "Olive leaves", paths: olives, color: "olive" },
79
+ { name: "Wheat stalks", paths: wheatS, color: "gold", o: { strokeWidth: 1.6 * s } },
80
+ { name: "Wheat", paths: wheatG, color: "gold" },
81
+ { name: "Gold maples", paths: golds, color: "mustard" },
82
+ { name: "Maple leaves", paths: rusts, color: "rust" },
83
+ { name: "Maple veins", paths: leaves.flatMap((l) => l.v), color: "rustDeep", o: { strokeWidth: 1.2 * s } },
84
+ { name: "Acorns", paths: nuts, color: "acorn" },
85
+ { name: "Acorn caps", paths: caps, color: "bark" }
86
+ ];
87
+ }
88
+ var holidays_thanksgiving_dinner_menu_default = defineTemplate({
89
+ id: "print-holidays-thanksgiving-dinner-menu",
90
+ meta: {
91
+ name: NAME,
92
+ description: "A menu card for a family Thanksgiving dinner: a half-wreath of maple and oak leaves, wheat and acorns in rust, gold and olive arches over the family\u2019s name and the date, then the meal course by course in a serif with small-capital headings and a line of thanks. 5 \xD7 7 inches with bleed",
93
+ category: "menu",
94
+ tags: ["thanksgiving", "menu", "dinner", "family", "autumn", "fall", "harvest", "leaves", "wreath", "friendsgiving", "place setting", "print", "card"],
95
+ platforms: ["print"],
96
+ formats: ["card"],
97
+ useCases: ["menu", "event"],
98
+ created: "2026-10-10",
99
+ updated: "2026-10-10"
100
+ },
101
+ stableNumbers: true,
102
+ build() {
103
+ const k = new Kit(NAME, preset("invitation-5x7"));
104
+ k.quantizeGeometry = true;
105
+ k.brand(
106
+ { paper: "#FBF4E7", text: "#3B2416", onPaper: "#8A4B24", primary: "#A8481F", onPrimary: "#FFF8EE", line: "#E2CDB0" },
107
+ { name: "the Nguyen family" }
108
+ );
109
+ k.palette({ rust: "#B4512A", rustDeep: "#7E3216", mustard: "#D69A2D", gold: "#C9A04A", olive: "#7C8A4A", acorn: "#A86F3D", bark: "#5E3F26" });
110
+ k.textStyle("Kicker 10", { size: 10, fontWeight: 700, letterSpacing: 3, lineHeight: 14 });
111
+ k.textStyle("Title 40", { ...SERIF, size: 40, fontWeight: 600, fontStyle: "italic", letterSpacing: -0.8, lineHeight: 42 });
112
+ k.textStyle("Host 13", { ...SERIF, size: 13, fontWeight: 400, lineHeight: 18 });
113
+ k.textStyle("Course 9", { size: 9, fontWeight: 800, letterSpacing: 2.6, lineHeight: 12 });
114
+ k.textStyle("Dish 12.5", { ...SERIF, size: 12.5, fontWeight: 400, lineHeight: 18 });
115
+ k.textStyle("Thanks 12", { ...SERIF, size: 12, fontWeight: 400, fontStyle: "italic", lineHeight: 17 });
116
+ k.component("Course", { gap: 4, width: 376, align: "CENTER", props: { Course: "COURSE", Dishes: "What we are eating" } }, (id) => {
117
+ k.propText(id, "Course", { style: "Course 9", color: "onPaper", align: "CENTER", width: "FILL", name: "Course name" });
118
+ k.propText(id, "Dishes", { style: "Dish 12.5", color: "text", align: "CENTER", width: "FILL", name: "Dishes" });
119
+ });
120
+ flourishComponent(k, "Leaf rule", "primary", maple(0, 0, 20)[0], { rule: 34, size: 11 });
121
+ const sheet = k.sheet;
122
+ const { width: W, height: H } = k.node(sheet);
123
+ k.flowSheet(sheet, 0, PAD, "paper", "MIN", "CENTER");
124
+ draw(k, sheet, art(W, H));
125
+ const c = { align: "CENTER", width: "FILL" };
126
+ k.text(sheet, "THURSDAY 26 NOVEMBER", { style: "Kicker 10", color: "onPaper", ...c, name: "Kicker" });
127
+ k.stack(sheet, { height: 6, name: "Gap" });
128
+ k.text(sheet, "Thanksgiving", { style: "Title 40", color: "text", ...c, name: "Title" });
129
+ k.text(sheet, "at the table of {{brand.name}}", { style: "Host 13", color: "onPaper", ...c, name: "Host" });
130
+ k.stack(sheet, { height: 12, name: "Gap" });
131
+ for (const [i, [course, dishes]] of MENU.entries()) {
132
+ k.instance(sheet, "Course", { Course: course, Dishes: dishes }, { name: "Course", width: "FILL" });
133
+ if (i < MENU.length - 1) k.stack(sheet, { height: 9, name: "Gap" });
134
+ }
135
+ k.stack(sheet, { height: 16, name: "Gap" });
136
+ k.instance(sheet, "Leaf rule", {}, { name: "Divider" });
137
+ k.stack(sheet, { height: 10, name: "Gap" });
138
+ k.text(sheet, "For the hands that made it and the people round it, we give thanks.", { style: "Thanks 12", color: "onPaper", ...c, name: "Thanks" });
139
+ return k.finish();
140
+ }
141
+ });
142
+
143
+ export {
144
+ holidays_thanksgiving_dinner_menu_default
145
+ };