@jxsuite/starters 3.4.0 → 3.5.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 (500) hide show
  1. package/package.json +5 -5
  2. package/sites/blog/components/bl-author-bio.jxn +64 -0
  3. package/sites/blog/components/bl-contact-form.jxn +77 -0
  4. package/sites/blog/components/bl-contact-info.jxn +32 -0
  5. package/sites/blog/components/bl-cta.jxn +52 -0
  6. package/sites/blog/components/bl-footer.jxn +85 -0
  7. package/sites/blog/components/bl-masthead.jxn +111 -0
  8. package/sites/blog/components/bl-nav.jxn +62 -0
  9. package/sites/blog/components/bl-newsletter-cta.jxn +104 -0
  10. package/sites/blog/components/bl-post-card.jxn +106 -0
  11. package/sites/blog/components/bl-post-list.jxn +11 -0
  12. package/sites/blog/components/bl-prose.jxn +67 -0
  13. package/sites/blog/components/bl-section-header.jxn +52 -0
  14. package/sites/blog/components/bl-tag-pill.jxn +19 -0
  15. package/sites/blog/document.schema.json +11 -2
  16. package/sites/blog/layouts/base.jxn +17 -0
  17. package/sites/blog/layouts/post.jxn +13 -0
  18. package/sites/blog/package.json +3 -3
  19. package/sites/blog/pages/[slug].jxn +107 -0
  20. package/sites/blog/project.jxn +1 -1
  21. package/sites/course/components/co-application.jxn +106 -0
  22. package/sites/course/components/co-cohort.jxn +132 -0
  23. package/sites/course/components/co-cta.jxn +95 -0
  24. package/sites/course/components/co-curriculum-accordion.jxn +917 -0
  25. package/sites/course/components/co-faq.jxn +348 -0
  26. package/sites/course/components/co-footer.jxn +138 -0
  27. package/sites/course/components/co-hero.jxn +354 -0
  28. package/sites/course/components/co-instructor-card.jxn +128 -0
  29. package/sites/course/components/co-mentor.jxn +51 -0
  30. package/sites/course/components/co-module-card.jxn +101 -0
  31. package/sites/course/components/co-nav.jxn +172 -0
  32. package/sites/course/components/co-outcome-card.jxn +57 -0
  33. package/sites/course/components/co-outcomes.jxn +179 -0
  34. package/sites/course/components/co-pricing.jxn +145 -0
  35. package/sites/course/components/co-section-header.jxn +55 -0
  36. package/sites/course/components/co-testimonial-card.jxn +69 -0
  37. package/sites/course/document.schema.json +11 -2
  38. package/sites/course/layouts/base.jxn +17 -0
  39. package/sites/course/package.json +3 -3
  40. package/sites/course/project.jxn +1 -1
  41. package/sites/event/components/ev-agenda-tabs.jxn +663 -0
  42. package/sites/event/components/ev-cta.jxn +93 -0
  43. package/sites/event/components/ev-feature.jxn +46 -0
  44. package/sites/event/components/ev-footer.jxn +135 -0
  45. package/sites/event/components/ev-hero.jxn +323 -0
  46. package/sites/event/components/ev-nav.jxn +142 -0
  47. package/sites/event/components/ev-reason.jxn +50 -0
  48. package/sites/event/components/ev-savedate.jxn +268 -0
  49. package/sites/event/components/ev-section-header.jxn +51 -0
  50. package/sites/event/components/ev-session-row.jxn +103 -0
  51. package/sites/event/components/ev-speaker-card.jxn +104 -0
  52. package/sites/event/components/ev-sponsors.jxn +110 -0
  53. package/sites/event/components/ev-stat.jxn +39 -0
  54. package/sites/event/components/ev-ticket-card.jxn +169 -0
  55. package/sites/event/components/ev-venue.jxn +61 -0
  56. package/sites/event/document.schema.json +11 -2
  57. package/sites/event/layouts/base.jxn +12 -0
  58. package/sites/event/package.json +3 -3
  59. package/sites/event/project.jxn +1 -1
  60. package/sites/fitness-studio/components/fs-band.jxn +119 -0
  61. package/sites/fitness-studio/components/fs-booking.jxn +92 -0
  62. package/sites/fitness-studio/components/fs-class-card.jxn +103 -0
  63. package/sites/fitness-studio/components/fs-class-grid.jxn +23 -0
  64. package/sites/fitness-studio/components/fs-cta.jxn +81 -0
  65. package/sites/fitness-studio/components/fs-feature.jxn +40 -0
  66. package/sites/fitness-studio/components/fs-footer.jxn +116 -0
  67. package/sites/fitness-studio/components/fs-hero.jxn +290 -0
  68. package/sites/fitness-studio/components/fs-hours.jxn +78 -0
  69. package/sites/fitness-studio/components/fs-instructor-card.jxn +104 -0
  70. package/sites/fitness-studio/components/fs-intro.jxn +231 -0
  71. package/sites/fitness-studio/components/fs-modality.jxn +133 -0
  72. package/sites/fitness-studio/components/fs-nav.jxn +95 -0
  73. package/sites/fitness-studio/components/fs-pricing-card.jxn +190 -0
  74. package/sites/fitness-studio/components/fs-pricing-table.jxn +322 -0
  75. package/sites/fitness-studio/components/fs-review.jxn +59 -0
  76. package/sites/fitness-studio/components/fs-schedule.jxn +714 -0
  77. package/sites/fitness-studio/components/fs-section-header.jxn +55 -0
  78. package/sites/fitness-studio/document.schema.json +11 -2
  79. package/sites/fitness-studio/layouts/base.jxn +17 -0
  80. package/sites/fitness-studio/package.json +3 -3
  81. package/sites/fitness-studio/project.jxn +1 -1
  82. package/sites/home-services/components/hs-callbar.jxn +60 -0
  83. package/sites/home-services/components/hs-cta.jxn +139 -0
  84. package/sites/home-services/components/hs-feature.jxn +43 -0
  85. package/sites/home-services/components/hs-footer.jxn +169 -0
  86. package/sites/home-services/components/hs-gallery.jxn +51 -0
  87. package/sites/home-services/components/hs-hero.jxn +308 -0
  88. package/sites/home-services/components/hs-intro.jxn +97 -0
  89. package/sites/home-services/components/hs-nav.jxn +207 -0
  90. package/sites/home-services/components/hs-reservation.jxn +125 -0
  91. package/sites/home-services/components/hs-review.jxn +84 -0
  92. package/sites/home-services/components/hs-section-header.jxn +56 -0
  93. package/sites/home-services/components/hs-service-card.jxn +68 -0
  94. package/sites/home-services/components/hs-stat.jxn +40 -0
  95. package/sites/home-services/components/hs-step.jxn +67 -0
  96. package/sites/home-services/components/hs-trust-bar.jxn +183 -0
  97. package/sites/home-services/document.schema.json +11 -2
  98. package/sites/home-services/layouts/base.jxn +22 -0
  99. package/sites/home-services/package.json +3 -3
  100. package/sites/home-services/project.jxn +1 -1
  101. package/sites/museum/components/mu-band.jxn +63 -0
  102. package/sites/museum/components/mu-cta.jxn +76 -0
  103. package/sites/museum/components/mu-exhibition-card.jxn +118 -0
  104. package/sites/museum/components/mu-exhibition-row.jxn +142 -0
  105. package/sites/museum/components/mu-fact.jxn +40 -0
  106. package/sites/museum/components/mu-footer.jxn +206 -0
  107. package/sites/museum/components/mu-hero.jxn +165 -0
  108. package/sites/museum/components/mu-more.jxn +30 -0
  109. package/sites/museum/components/mu-oculus.jxn +33 -0
  110. package/sites/museum/components/mu-pagehead.jxn +76 -0
  111. package/sites/museum/components/mu-quote.jxn +36 -0
  112. package/sites/museum/document.schema.json +11 -2
  113. package/sites/museum/layouts/ar.jxn +31 -0
  114. package/sites/museum/layouts/base.jxn +227 -0
  115. package/sites/museum/layouts/fr-ca.jxn +30 -0
  116. package/sites/museum/package.json +3 -3
  117. package/sites/museum/pages/about.jxn +228 -0
  118. package/sites/museum/pages/ar/about.jxn +232 -0
  119. package/sites/museum/pages/ar/exhibitions/[slug].jxn +150 -0
  120. package/sites/museum/pages/ar/exhibitions/index.jxn +82 -0
  121. package/sites/museum/pages/ar/index.jxn +206 -0
  122. package/sites/museum/pages/ar/visit.jxn +270 -0
  123. package/sites/museum/pages/exhibitions/[slug].jxn +146 -0
  124. package/sites/museum/pages/exhibitions/index.jxn +78 -0
  125. package/sites/museum/pages/fr-ca/a-propos.jxn +233 -0
  126. package/sites/museum/pages/fr-ca/expositions/[slug].jxn +151 -0
  127. package/sites/museum/pages/fr-ca/expositions/index.jxn +83 -0
  128. package/sites/museum/pages/fr-ca/index.jxn +206 -0
  129. package/sites/museum/pages/fr-ca/visite.jxn +271 -0
  130. package/sites/museum/pages/index.jxn +202 -0
  131. package/sites/museum/pages/visit.jxn +266 -0
  132. package/sites/museum/project.jxn +1 -1
  133. package/sites/nonprofit/components/np-contact-form.jxn +97 -0
  134. package/sites/nonprofit/components/np-contact-info.jxn +104 -0
  135. package/sites/nonprofit/components/np-cta.jxn +163 -0
  136. package/sites/nonprofit/components/np-donate-tier.jxn +103 -0
  137. package/sites/nonprofit/components/np-feature.jxn +46 -0
  138. package/sites/nonprofit/components/np-footer.jxn +194 -0
  139. package/sites/nonprofit/components/np-hero.jxn +275 -0
  140. package/sites/nonprofit/components/np-impact-band.jxn +83 -0
  141. package/sites/nonprofit/components/np-intro.jxn +130 -0
  142. package/sites/nonprofit/components/np-nav.jxn +157 -0
  143. package/sites/nonprofit/components/np-program-card.jxn +95 -0
  144. package/sites/nonprofit/components/np-section-header.jxn +63 -0
  145. package/sites/nonprofit/components/np-stat.jxn +51 -0
  146. package/sites/nonprofit/components/np-step.jxn +73 -0
  147. package/sites/nonprofit/components/np-team-member.jxn +60 -0
  148. package/sites/nonprofit/components/np-testimonial.jxn +120 -0
  149. package/sites/nonprofit/document.schema.json +11 -2
  150. package/sites/nonprofit/layouts/base.jxn +17 -0
  151. package/sites/nonprofit/package.json +3 -3
  152. package/sites/nonprofit/project.jxn +1 -1
  153. package/sites/portfolio/components/pv-about-split.jxn +53 -0
  154. package/sites/portfolio/components/pv-category-pill.jxn +19 -0
  155. package/sites/portfolio/components/pv-contact-form.jxn +72 -0
  156. package/sites/portfolio/components/pv-cta.jxn +62 -0
  157. package/sites/portfolio/components/pv-feature.jxn +28 -0
  158. package/sites/portfolio/components/pv-footer.jxn +113 -0
  159. package/sites/portfolio/components/pv-gallery.jxn +40 -0
  160. package/sites/portfolio/components/pv-hero.jxn +109 -0
  161. package/sites/portfolio/components/pv-nav.jxn +76 -0
  162. package/sites/portfolio/components/pv-project-card.jxn +118 -0
  163. package/sites/portfolio/components/pv-project-grid.jxn +29 -0
  164. package/sites/portfolio/components/pv-section-header.jxn +65 -0
  165. package/sites/portfolio/document.schema.json +11 -2
  166. package/sites/portfolio/layouts/base.jxn +12 -0
  167. package/sites/portfolio/package.json +3 -3
  168. package/sites/portfolio/pages/[slug].jxn +177 -0
  169. package/sites/portfolio/project.jxn +1 -1
  170. package/sites/professional-firm/components/pf-article-header.jxn +60 -0
  171. package/sites/professional-firm/components/pf-contact-form.jxn +74 -0
  172. package/sites/professional-firm/components/pf-contact-info.jxn +101 -0
  173. package/sites/professional-firm/components/pf-cta.jxn +63 -0
  174. package/sites/professional-firm/components/pf-feature.jxn +32 -0
  175. package/sites/professional-firm/components/pf-footer.jxn +171 -0
  176. package/sites/professional-firm/components/pf-hero.jxn +139 -0
  177. package/sites/professional-firm/components/pf-insight-row.jxn +111 -0
  178. package/sites/professional-firm/components/pf-intro.jxn +68 -0
  179. package/sites/professional-firm/components/pf-logo-bar.jxn +90 -0
  180. package/sites/professional-firm/components/pf-nav.jxn +93 -0
  181. package/sites/professional-firm/components/pf-section-header.jxn +53 -0
  182. package/sites/professional-firm/components/pf-service-row.jxn +67 -0
  183. package/sites/professional-firm/components/pf-statband.jxn +135 -0
  184. package/sites/professional-firm/components/pf-team-member.jxn +53 -0
  185. package/sites/professional-firm/document.schema.json +11 -2
  186. package/sites/professional-firm/layouts/article.jxn +88 -0
  187. package/sites/professional-firm/layouts/base.jxn +12 -0
  188. package/sites/professional-firm/package.json +3 -3
  189. package/sites/professional-firm/pages/insights/[slug].jxn +106 -0
  190. package/sites/professional-firm/project.jxn +1 -1
  191. package/sites/real-estate/components/re-agent-band.jxn +165 -0
  192. package/sites/real-estate/components/re-agent-card.jxn +78 -0
  193. package/sites/real-estate/components/re-contact-form.jxn +119 -0
  194. package/sites/real-estate/components/re-cta.jxn +98 -0
  195. package/sites/real-estate/components/re-detail-row.jxn +18 -0
  196. package/sites/real-estate/components/re-feature.jxn +41 -0
  197. package/sites/real-estate/components/re-footer.jxn +219 -0
  198. package/sites/real-estate/components/re-hero.jxn +367 -0
  199. package/sites/real-estate/components/re-intro.jxn +43 -0
  200. package/sites/real-estate/components/re-listing-card.jxn +210 -0
  201. package/sites/real-estate/components/re-listings-filter.jxn +371 -0
  202. package/sites/real-estate/components/re-nav.jxn +162 -0
  203. package/sites/real-estate/components/re-neighborhood.jxn +101 -0
  204. package/sites/real-estate/components/re-section-header.jxn +55 -0
  205. package/sites/real-estate/components/re-stat.jxn +26 -0
  206. package/sites/real-estate/components/re-step.jxn +42 -0
  207. package/sites/real-estate/components/re-testimonial.jxn +66 -0
  208. package/sites/real-estate/document.schema.json +11 -2
  209. package/sites/real-estate/layouts/base.jxn +17 -0
  210. package/sites/real-estate/package.json +3 -3
  211. package/sites/real-estate/pages/[slug].jxn +452 -0
  212. package/sites/real-estate/project.jxn +1 -1
  213. package/sites/restaurant/components/bit-cta.jxn +105 -0
  214. package/sites/restaurant/components/bit-feature.jxn +38 -0
  215. package/sites/restaurant/components/bit-footer.jxn +142 -0
  216. package/sites/restaurant/components/bit-gallery.jxn +50 -0
  217. package/sites/restaurant/components/bit-hero.jxn +194 -0
  218. package/sites/restaurant/components/bit-hours.jxn +145 -0
  219. package/sites/restaurant/components/bit-intro.jxn +75 -0
  220. package/sites/restaurant/components/bit-menu-group.jxn +51 -0
  221. package/sites/restaurant/components/bit-menu-item.jxn +50 -0
  222. package/sites/restaurant/components/bit-nav.jxn +145 -0
  223. package/sites/restaurant/components/bit-reservation.jxn +90 -0
  224. package/sites/restaurant/components/bit-review.jxn +54 -0
  225. package/sites/restaurant/components/bit-section-header.jxn +73 -0
  226. package/sites/restaurant/document.schema.json +11 -2
  227. package/sites/restaurant/layouts/base.jxn +17 -0
  228. package/sites/restaurant/package.json +3 -3
  229. package/sites/restaurant/project.jxn +1 -1
  230. package/sites/saas/components/sa-check-item.jxn +25 -0
  231. package/sites/saas/components/sa-contact-form.jxn +94 -0
  232. package/sites/saas/components/sa-cta.jxn +68 -0
  233. package/sites/saas/components/sa-faq.jxn +347 -0
  234. package/sites/saas/components/sa-feature-card.jxn +57 -0
  235. package/sites/saas/components/sa-feature-split.jxn +43 -0
  236. package/sites/saas/components/sa-footer.jxn +106 -0
  237. package/sites/saas/components/sa-hero.jxn +217 -0
  238. package/sites/saas/components/sa-logo-cloud.jxn +98 -0
  239. package/sites/saas/components/sa-nav.jxn +108 -0
  240. package/sites/saas/components/sa-pricing.jxn +317 -0
  241. package/sites/saas/components/sa-section-header.jxn +43 -0
  242. package/sites/saas/components/sa-stat.jxn +32 -0
  243. package/sites/saas/components/sa-testimonial-card.jxn +37 -0
  244. package/sites/saas/document.schema.json +11 -2
  245. package/sites/saas/layouts/base.jxn +17 -0
  246. package/sites/saas/package.json +3 -3
  247. package/sites/saas/project.jxn +1 -1
  248. package/sites/shop/components/shp-badge.jxn +17 -0
  249. package/sites/shop/components/shp-category-tile.jxn +79 -0
  250. package/sites/shop/components/shp-contact-form.jxn +84 -0
  251. package/sites/shop/components/shp-cta.jxn +85 -0
  252. package/sites/shop/components/shp-feature.jxn +44 -0
  253. package/sites/shop/components/shp-footer.jxn +311 -0
  254. package/sites/shop/components/shp-hero.jxn +311 -0
  255. package/sites/shop/components/shp-intro.jxn +42 -0
  256. package/sites/shop/components/shp-nav.jxn +273 -0
  257. package/sites/shop/components/shp-newsletter.jxn +119 -0
  258. package/sites/shop/components/shp-product-card.jxn +187 -0
  259. package/sites/shop/components/shp-product-filter.jxn +263 -0
  260. package/sites/shop/components/shp-review.jxn +38 -0
  261. package/sites/shop/components/shp-section-header.jxn +61 -0
  262. package/sites/shop/components/shp-service.jxn +58 -0
  263. package/sites/shop/components/shp-stat.jxn +27 -0
  264. package/sites/shop/components/shp-trust.jxn +39 -0
  265. package/sites/shop/components/shp-visit-info.jxn +82 -0
  266. package/sites/shop/document.schema.json +11 -2
  267. package/sites/shop/layouts/base.jxn +17 -0
  268. package/sites/shop/package.json +3 -3
  269. package/sites/shop/pages/products/[sku].jxn +351 -0
  270. package/sites/shop/project.jxn +1 -1
  271. package/sites/blog/components/bl-author-bio.json +0 -86
  272. package/sites/blog/components/bl-contact-form.json +0 -114
  273. package/sites/blog/components/bl-contact-info.json +0 -54
  274. package/sites/blog/components/bl-cta.json +0 -68
  275. package/sites/blog/components/bl-footer.json +0 -122
  276. package/sites/blog/components/bl-masthead.json +0 -134
  277. package/sites/blog/components/bl-nav.json +0 -90
  278. package/sites/blog/components/bl-newsletter-cta.json +0 -134
  279. package/sites/blog/components/bl-post-card.json +0 -132
  280. package/sites/blog/components/bl-post-list.json +0 -10
  281. package/sites/blog/components/bl-prose.json +0 -89
  282. package/sites/blog/components/bl-section-header.json +0 -70
  283. package/sites/blog/components/bl-tag-pill.json +0 -29
  284. package/sites/blog/layouts/base.json +0 -22
  285. package/sites/blog/layouts/post.json +0 -15
  286. package/sites/blog/pages/[slug].json +0 -148
  287. package/sites/course/components/co-application.json +0 -225
  288. package/sites/course/components/co-cohort.json +0 -172
  289. package/sites/course/components/co-cta.json +0 -126
  290. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  291. package/sites/course/components/co-faq.json +0 -524
  292. package/sites/course/components/co-footer.json +0 -195
  293. package/sites/course/components/co-hero.json +0 -475
  294. package/sites/course/components/co-instructor-card.json +0 -159
  295. package/sites/course/components/co-mentor.json +0 -65
  296. package/sites/course/components/co-module-card.json +0 -138
  297. package/sites/course/components/co-nav.json +0 -244
  298. package/sites/course/components/co-outcome-card.json +0 -84
  299. package/sites/course/components/co-outcomes.json +0 -248
  300. package/sites/course/components/co-pricing.json +0 -178
  301. package/sites/course/components/co-section-header.json +0 -74
  302. package/sites/course/components/co-testimonial-card.json +0 -109
  303. package/sites/course/layouts/base.json +0 -22
  304. package/sites/event/components/ev-agenda-tabs.json +0 -828
  305. package/sites/event/components/ev-cta.json +0 -126
  306. package/sites/event/components/ev-feature.json +0 -62
  307. package/sites/event/components/ev-footer.json +0 -197
  308. package/sites/event/components/ev-hero.json +0 -431
  309. package/sites/event/components/ev-nav.json +0 -186
  310. package/sites/event/components/ev-reason.json +0 -64
  311. package/sites/event/components/ev-savedate.json +0 -331
  312. package/sites/event/components/ev-section-header.json +0 -70
  313. package/sites/event/components/ev-session-row.json +0 -132
  314. package/sites/event/components/ev-speaker-card.json +0 -130
  315. package/sites/event/components/ev-sponsors.json +0 -131
  316. package/sites/event/components/ev-stat.json +0 -47
  317. package/sites/event/components/ev-ticket-card.json +0 -214
  318. package/sites/event/components/ev-venue.json +0 -86
  319. package/sites/event/layouts/base.json +0 -22
  320. package/sites/fitness-studio/components/fs-band.json +0 -149
  321. package/sites/fitness-studio/components/fs-booking.json +0 -147
  322. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  323. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  324. package/sites/fitness-studio/components/fs-cta.json +0 -106
  325. package/sites/fitness-studio/components/fs-feature.json +0 -56
  326. package/sites/fitness-studio/components/fs-footer.json +0 -178
  327. package/sites/fitness-studio/components/fs-hero.json +0 -375
  328. package/sites/fitness-studio/components/fs-hours.json +0 -109
  329. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  330. package/sites/fitness-studio/components/fs-intro.json +0 -294
  331. package/sites/fitness-studio/components/fs-modality.json +0 -171
  332. package/sites/fitness-studio/components/fs-nav.json +0 -128
  333. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  334. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  335. package/sites/fitness-studio/components/fs-review.json +0 -88
  336. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  337. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  338. package/sites/fitness-studio/layouts/base.json +0 -22
  339. package/sites/home-services/components/hs-callbar.json +0 -72
  340. package/sites/home-services/components/hs-cta.json +0 -184
  341. package/sites/home-services/components/hs-feature.json +0 -62
  342. package/sites/home-services/components/hs-footer.json +0 -232
  343. package/sites/home-services/components/hs-gallery.json +0 -104
  344. package/sites/home-services/components/hs-hero.json +0 -446
  345. package/sites/home-services/components/hs-intro.json +0 -122
  346. package/sites/home-services/components/hs-nav.json +0 -278
  347. package/sites/home-services/components/hs-reservation.json +0 -225
  348. package/sites/home-services/components/hs-review.json +0 -114
  349. package/sites/home-services/components/hs-section-header.json +0 -70
  350. package/sites/home-services/components/hs-service-card.json +0 -89
  351. package/sites/home-services/components/hs-stat.json +0 -54
  352. package/sites/home-services/components/hs-step.json +0 -80
  353. package/sites/home-services/components/hs-trust-bar.json +0 -256
  354. package/sites/home-services/layouts/base.json +0 -24
  355. package/sites/museum/components/mu-band.json +0 -92
  356. package/sites/museum/components/mu-cta.json +0 -101
  357. package/sites/museum/components/mu-exhibition-card.json +0 -191
  358. package/sites/museum/components/mu-exhibition-row.json +0 -237
  359. package/sites/museum/components/mu-fact.json +0 -64
  360. package/sites/museum/components/mu-footer.json +0 -256
  361. package/sites/museum/components/mu-hero.json +0 -236
  362. package/sites/museum/components/mu-more.json +0 -63
  363. package/sites/museum/components/mu-oculus.json +0 -44
  364. package/sites/museum/components/mu-pagehead.json +0 -105
  365. package/sites/museum/components/mu-quote.json +0 -49
  366. package/sites/museum/layouts/ar.json +0 -29
  367. package/sites/museum/layouts/base.json +0 -329
  368. package/sites/museum/layouts/fr-ca.json +0 -28
  369. package/sites/museum/pages/about.json +0 -378
  370. package/sites/museum/pages/ar/about.json +0 -314
  371. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  372. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  373. package/sites/museum/pages/ar/index.json +0 -246
  374. package/sites/museum/pages/ar/visit.json +0 -327
  375. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  376. package/sites/museum/pages/exhibitions/index.json +0 -93
  377. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  378. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  379. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  380. package/sites/museum/pages/fr-ca/index.json +0 -246
  381. package/sites/museum/pages/fr-ca/visite.json +0 -328
  382. package/sites/museum/pages/index.json +0 -236
  383. package/sites/museum/pages/visit.json +0 -317
  384. package/sites/nonprofit/components/np-contact-form.json +0 -162
  385. package/sites/nonprofit/components/np-contact-info.json +0 -159
  386. package/sites/nonprofit/components/np-cta.json +0 -203
  387. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  388. package/sites/nonprofit/components/np-feature.json +0 -57
  389. package/sites/nonprofit/components/np-footer.json +0 -257
  390. package/sites/nonprofit/components/np-hero.json +0 -360
  391. package/sites/nonprofit/components/np-impact-band.json +0 -108
  392. package/sites/nonprofit/components/np-intro.json +0 -166
  393. package/sites/nonprofit/components/np-nav.json +0 -216
  394. package/sites/nonprofit/components/np-program-card.json +0 -129
  395. package/sites/nonprofit/components/np-section-header.json +0 -79
  396. package/sites/nonprofit/components/np-stat.json +0 -69
  397. package/sites/nonprofit/components/np-step.json +0 -84
  398. package/sites/nonprofit/components/np-team-member.json +0 -74
  399. package/sites/nonprofit/components/np-testimonial.json +0 -169
  400. package/sites/nonprofit/layouts/base.json +0 -22
  401. package/sites/portfolio/components/pv-about-split.json +0 -71
  402. package/sites/portfolio/components/pv-category-pill.json +0 -25
  403. package/sites/portfolio/components/pv-contact-form.json +0 -126
  404. package/sites/portfolio/components/pv-cta.json +0 -80
  405. package/sites/portfolio/components/pv-feature.json +0 -48
  406. package/sites/portfolio/components/pv-footer.json +0 -167
  407. package/sites/portfolio/components/pv-gallery.json +0 -50
  408. package/sites/portfolio/components/pv-hero.json +0 -139
  409. package/sites/portfolio/components/pv-nav.json +0 -100
  410. package/sites/portfolio/components/pv-project-card.json +0 -160
  411. package/sites/portfolio/components/pv-project-grid.json +0 -30
  412. package/sites/portfolio/components/pv-section-header.json +0 -90
  413. package/sites/portfolio/layouts/base.json +0 -22
  414. package/sites/portfolio/pages/[slug].json +0 -260
  415. package/sites/professional-firm/components/pf-article-header.json +0 -93
  416. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  417. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  418. package/sites/professional-firm/components/pf-cta.json +0 -86
  419. package/sites/professional-firm/components/pf-feature.json +0 -52
  420. package/sites/professional-firm/components/pf-footer.json +0 -231
  421. package/sites/professional-firm/components/pf-hero.json +0 -174
  422. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  423. package/sites/professional-firm/components/pf-intro.json +0 -93
  424. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  425. package/sites/professional-firm/components/pf-nav.json +0 -135
  426. package/sites/professional-firm/components/pf-section-header.json +0 -77
  427. package/sites/professional-firm/components/pf-service-row.json +0 -104
  428. package/sites/professional-firm/components/pf-statband.json +0 -183
  429. package/sites/professional-firm/components/pf-team-member.json +0 -75
  430. package/sites/professional-firm/layouts/article.json +0 -130
  431. package/sites/professional-firm/layouts/base.json +0 -22
  432. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  433. package/sites/real-estate/components/re-agent-band.json +0 -240
  434. package/sites/real-estate/components/re-agent-card.json +0 -93
  435. package/sites/real-estate/components/re-contact-form.json +0 -181
  436. package/sites/real-estate/components/re-cta.json +0 -128
  437. package/sites/real-estate/components/re-detail-row.json +0 -26
  438. package/sites/real-estate/components/re-feature.json +0 -57
  439. package/sites/real-estate/components/re-footer.json +0 -291
  440. package/sites/real-estate/components/re-hero.json +0 -536
  441. package/sites/real-estate/components/re-intro.json +0 -60
  442. package/sites/real-estate/components/re-listing-card.json +0 -286
  443. package/sites/real-estate/components/re-listings-filter.json +0 -454
  444. package/sites/real-estate/components/re-nav.json +0 -216
  445. package/sites/real-estate/components/re-neighborhood.json +0 -135
  446. package/sites/real-estate/components/re-section-header.json +0 -69
  447. package/sites/real-estate/components/re-stat.json +0 -37
  448. package/sites/real-estate/components/re-step.json +0 -58
  449. package/sites/real-estate/components/re-testimonial.json +0 -91
  450. package/sites/real-estate/layouts/base.json +0 -22
  451. package/sites/real-estate/pages/[slug].json +0 -629
  452. package/sites/restaurant/components/bit-cta.json +0 -140
  453. package/sites/restaurant/components/bit-feature.json +0 -61
  454. package/sites/restaurant/components/bit-footer.json +0 -191
  455. package/sites/restaurant/components/bit-gallery.json +0 -74
  456. package/sites/restaurant/components/bit-hero.json +0 -253
  457. package/sites/restaurant/components/bit-hours.json +0 -183
  458. package/sites/restaurant/components/bit-intro.json +0 -96
  459. package/sites/restaurant/components/bit-menu-group.json +0 -74
  460. package/sites/restaurant/components/bit-menu-item.json +0 -72
  461. package/sites/restaurant/components/bit-nav.json +0 -214
  462. package/sites/restaurant/components/bit-reservation.json +0 -155
  463. package/sites/restaurant/components/bit-review.json +0 -84
  464. package/sites/restaurant/components/bit-section-header.json +0 -98
  465. package/sites/restaurant/layouts/base.json +0 -22
  466. package/sites/saas/components/sa-check-item.json +0 -40
  467. package/sites/saas/components/sa-contact-form.json +0 -153
  468. package/sites/saas/components/sa-cta.json +0 -102
  469. package/sites/saas/components/sa-faq.json +0 -413
  470. package/sites/saas/components/sa-feature-card.json +0 -69
  471. package/sites/saas/components/sa-feature-split.json +0 -60
  472. package/sites/saas/components/sa-footer.json +0 -145
  473. package/sites/saas/components/sa-hero.json +0 -277
  474. package/sites/saas/components/sa-logo-cloud.json +0 -119
  475. package/sites/saas/components/sa-nav.json +0 -138
  476. package/sites/saas/components/sa-pricing.json +0 -428
  477. package/sites/saas/components/sa-section-header.json +0 -55
  478. package/sites/saas/components/sa-stat.json +0 -44
  479. package/sites/saas/components/sa-testimonial-card.json +0 -57
  480. package/sites/saas/layouts/base.json +0 -22
  481. package/sites/shop/components/shp-badge.json +0 -18
  482. package/sites/shop/components/shp-category-tile.json +0 -104
  483. package/sites/shop/components/shp-contact-form.json +0 -156
  484. package/sites/shop/components/shp-cta.json +0 -121
  485. package/sites/shop/components/shp-feature.json +0 -60
  486. package/sites/shop/components/shp-footer.json +0 -411
  487. package/sites/shop/components/shp-hero.json +0 -395
  488. package/sites/shop/components/shp-intro.json +0 -59
  489. package/sites/shop/components/shp-nav.json +0 -358
  490. package/sites/shop/components/shp-newsletter.json +0 -166
  491. package/sites/shop/components/shp-product-card.json +0 -238
  492. package/sites/shop/components/shp-product-filter.json +0 -366
  493. package/sites/shop/components/shp-review.json +0 -54
  494. package/sites/shop/components/shp-section-header.json +0 -75
  495. package/sites/shop/components/shp-service.json +0 -83
  496. package/sites/shop/components/shp-stat.json +0 -37
  497. package/sites/shop/components/shp-trust.json +0 -58
  498. package/sites/shop/components/shp-visit-info.json +0 -132
  499. package/sites/shop/layouts/base.json +0 -22
  500. package/sites/shop/pages/products/[sku].json +0 -482
@@ -0,0 +1,266 @@
1
+ /- kdl-version 2
2
+
3
+ $element .title="Plan your visit — Atrium" .description="Hours, admission, transport and access for Atrium, the city museum of art and history. Free entry, Tuesday to Sunday, 10:00 to 18:00." {
4
+ state {
5
+ tourPrice {
6
+ $expression {
7
+ operator call
8
+ target (ref)"window#/Intl/formatNumber"
9
+ value {
10
+ - 12
11
+ - #null
12
+ - style=currency currency=CAD
13
+ }
14
+ }
15
+ }
16
+ membership {
17
+ $expression {
18
+ operator call
19
+ target (ref)"window#/Intl/formatNumber"
20
+ value {
21
+ - 45
22
+ - #null
23
+ - style=currency currency=CAD
24
+ }
25
+ }
26
+ }
27
+ trams {
28
+ $expression {
29
+ operator call
30
+ target (ref)"window#/Intl/formatList"
31
+ value {
32
+ - "2" "6" "11"
33
+ }
34
+ }
35
+ }
36
+ closedFrom {
37
+ $expression {
38
+ operator call
39
+ target (ref)"window#/Intl/formatDate"
40
+ value {
41
+ - "2026-12-24"
42
+ - #null
43
+ - day=numeric month=long
44
+ }
45
+ }
46
+ }
47
+ closedTo {
48
+ $expression {
49
+ operator call
50
+ target (ref)"window#/Intl/formatDate"
51
+ value {
52
+ - "2026-12-26"
53
+ - #null
54
+ - day=numeric month=long year=numeric
55
+ }
56
+ }
57
+ }
58
+ }
59
+ mu-pagehead {
60
+ $props {
61
+ kicker Visit
62
+ title "Ten to six, six days a week"
63
+ standfirst "There is no ticket desk, because there is no ticket. Walk in from the quay side, leave your bag at the counter if it is bigger than a satchel, and start wherever you like."
64
+ metaLabel Address
65
+ metaValue "2 Quai des Écluses, Old Harbour"
66
+ }
67
+ }
68
+ mu-band {
69
+ $props index="01" label=Hours tone=chalk
70
+ div {
71
+ style {
72
+ display grid
73
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
74
+ columnGap "clamp(2rem, 5vw, 4rem)"
75
+ @--md gridTemplateColumns="minmax(0, 1fr)"
76
+ }
77
+ div {
78
+ mu-fact {
79
+ $props {
80
+ term "Tue – Fri"
81
+ value "10:00 – 18:00"
82
+ note "Last entry to the reading room at 17:00."
83
+ }
84
+ }
85
+ mu-fact {
86
+ $props {
87
+ term "Sat – Sun"
88
+ value "10:00 – 18:00"
89
+ note "The courtyard stays open until 19:00 from May to September."
90
+ }
91
+ }
92
+ }
93
+ div {
94
+ mu-fact {
95
+ $props {
96
+ term Monday
97
+ value Closed
98
+ note "Conservation day. The café on the quay side stays open."
99
+ }
100
+ }
101
+ mu-fact {
102
+ $props {
103
+ term "Winter closure"
104
+ value "From ${state.closedFrom} to ${state.closedTo}"
105
+ note "The only three consecutive days the hall is shut all year."
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ mu-band {
112
+ $props index="02" label=Admission tone=card
113
+ div {
114
+ style {
115
+ display grid
116
+ gridTemplateColumns "minmax(0, 1fr) minmax(0, 1fr)"
117
+ columnGap "clamp(2rem, 5vw, 4rem)"
118
+ rowGap "1.5rem"
119
+ @--md gridTemplateColumns="minmax(0, 1fr)"
120
+ }
121
+ div {
122
+ style {
123
+ border "2px solid var(--color-ink)"
124
+ backgroundColor "var(--color-pigment)"
125
+ color "var(--color-card)"
126
+ padding "clamp(1.5rem, 3.5vw, 2.25rem)"
127
+ }
128
+ p "General admission" {
129
+ style {
130
+ margin "0 0 0.9rem"
131
+ fontFamily "var(--font-label)"
132
+ fontSize "0.66rem"
133
+ letterSpacing "var(--label-tracking)"
134
+ textTransform "var(--label-case)"
135
+ opacity "0.8"
136
+ }
137
+ }
138
+ p Free {
139
+ style {
140
+ margin "0"
141
+ fontFamily "var(--font-display)"
142
+ fontSize "clamp(2.4rem, 6vw, 3.6rem)"
143
+ fontWeight "700"
144
+ lineHeight "calc(1 * var(--leading-scale))"
145
+ letterSpacing "var(--display-tracking)"
146
+ }
147
+ }
148
+ p "Written into the founding subscription of 1897 and never changed. No ticket, no booking, no members-only hour." {
149
+ style margin="1.1rem 0 0" lineHeight="1.65" maxWidth="34ch"
150
+ }
151
+ }
152
+ div {
153
+ mu-fact {
154
+ $props {
155
+ term "Guided tour"
156
+ value "${state.tourPrice}"
157
+ note "Ninety minutes, Saturdays at 11:00 and 15:00. Book at the desk."
158
+ }
159
+ }
160
+ mu-fact {
161
+ $props {
162
+ term Membership
163
+ value "${state.membership}"
164
+ note "A year of tours, the quarterly, and a vote at the annual meeting."
165
+ }
166
+ }
167
+ mu-fact {
168
+ $props {
169
+ term Schools
170
+ value "No charge, ever"
171
+ note "Including the coach. Write to the education desk six weeks ahead."
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ mu-band {
178
+ $props index="03" label="Getting here" tone=chalk
179
+ div {
180
+ style {
181
+ display grid
182
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
183
+ columnGap "clamp(2rem, 5vw, 4rem)"
184
+ @--md gridTemplateColumns="minmax(0, 1fr)"
185
+ }
186
+ div {
187
+ mu-fact {
188
+ $props {
189
+ term Tram
190
+ value "Lines ${state.trams}"
191
+ note "Stop: Écluses. The hall is the glass roof on your left as you step down."
192
+ }
193
+ }
194
+ mu-fact {
195
+ $props {
196
+ term "On foot"
197
+ value "Eleven minutes from the old town gate"
198
+ note "Follow the quay; the last stretch is cobbled and uneven."
199
+ }
200
+ }
201
+ }
202
+ div {
203
+ mu-fact {
204
+ $props {
205
+ term "By bicycle"
206
+ value "Forty racks under the north canopy"
207
+ note "Covered, lit, and in view of the front desk."
208
+ }
209
+ }
210
+ mu-fact {
211
+ $props {
212
+ term "By car"
213
+ value "No museum car park"
214
+ note "Public parking at Bassin Nord, six minutes' walk over the lock bridge."
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+ mu-band {
221
+ $props index="04" label=Access tone=card
222
+ div {
223
+ style maxWidth="var(--measure)"
224
+ p "Every gallery is reachable step-free from the quay-side entrance, including the courtyard and the reading room. The only exception is the customs-house walk, which has four stone steps and no handrail; a level route around it is signed at the entrance." {
225
+ style margin="0 0 1.5rem" lineHeight="1.75"
226
+ }
227
+ mu-fact {
228
+ $props {
229
+ term Step-free
230
+ value "All galleries and the reading room"
231
+ note "Two lifts, both large enough for a wheelchair and a companion."
232
+ }
233
+ }
234
+ mu-fact {
235
+ $props {
236
+ term Seating
237
+ value "A bench in every room"
238
+ note "Folding stools at the desk, free to borrow, no deposit."
239
+ }
240
+ }
241
+ mu-fact {
242
+ $props {
243
+ term "Quiet hour"
244
+ value "Wednesdays, 10:00 – 11:00"
245
+ note "Lights up, sound off, and half the usual visitor numbers."
246
+ }
247
+ }
248
+ mu-fact {
249
+ $props {
250
+ term "Assistance dogs"
251
+ value "Welcome everywhere"
252
+ note "Water bowls at both entrances and in the courtyard."
253
+ }
254
+ }
255
+ }
256
+ }
257
+ mu-cta {
258
+ $props {
259
+ kicker "Before you come"
260
+ heading "See what is hanging this week."
261
+ text "Three exhibitions are open, and the programme lists what changes next."
262
+ label "What's on"
263
+ href "/exhibitions/"
264
+ }
265
+ }
266
+ }
@@ -4,7 +4,7 @@ project Atrium
4
4
 
5
5
  url "https://example.com"
6
6
 
7
- defaults layout="./layouts/base.json" lang=en
7
+ defaults layout="./layouts/base.jxn" lang=en
8
8
 
9
9
  i18n {
10
10
  defaultLocale en
@@ -0,0 +1,97 @@
1
+ /- kdl-version 2
2
+
3
+ np-contact-form {
4
+ state heading="Send us a message"
5
+ style {
6
+ display block
7
+ padding "clamp(1.75rem, 4vw, 2.5rem)"
8
+ backgroundColor "var(--color-bg-white)"
9
+ border "1px solid var(--color-border)"
10
+ borderRadius "var(--radius-lg)"
11
+ boxShadow "var(--shadow-card)"
12
+ }
13
+ h3 "${state.heading}" {
14
+ style {
15
+ fontFamily "var(--font-display)"
16
+ fontSize "1.75rem"
17
+ fontWeight "600"
18
+ color "var(--color-primary-deep)"
19
+ margin "0 0 1.5rem"
20
+ }
21
+ }
22
+ form action="#" method=post {
23
+ style display=grid gap="1rem" alignContent=start
24
+ input type=text name=name placeholder="Your name" required="true" aria-label="Your name" {
25
+ style {
26
+ width "100%"
27
+ padding "0.85rem 1rem"
28
+ border "1px solid var(--color-border-strong)"
29
+ borderRadius "var(--radius-sm)"
30
+ fontSize "1rem"
31
+ fontFamily inherit
32
+ backgroundColor "var(--color-bg-cream)"
33
+ }
34
+ }
35
+ input type=email name=email placeholder="Email address" required="true" aria-label="Email address" {
36
+ style {
37
+ width "100%"
38
+ padding "0.85rem 1rem"
39
+ border "1px solid var(--color-border-strong)"
40
+ borderRadius "var(--radius-sm)"
41
+ fontSize "1rem"
42
+ fontFamily inherit
43
+ backgroundColor "var(--color-bg-cream)"
44
+ }
45
+ }
46
+ select name=interest aria-label="I'm interested in" {
47
+ style {
48
+ width "100%"
49
+ padding "0.85rem 1rem"
50
+ border "1px solid var(--color-border-strong)"
51
+ borderRadius "var(--radius-sm)"
52
+ fontSize "1rem"
53
+ backgroundColor "var(--color-bg-cream)"
54
+ fontFamily inherit
55
+ }
56
+ option value=general "General question"
57
+ option value=volunteer "I want to volunteer"
58
+ option value=donate "I want to donate or fundraise"
59
+ option value=partner "Partnership or sponsorship"
60
+ }
61
+ textarea name=message rows="4" placeholder="How can we help?" aria-label=Message {
62
+ style {
63
+ width "100%"
64
+ padding "0.85rem 1rem"
65
+ border "1px solid var(--color-border-strong)"
66
+ borderRadius "var(--radius-sm)"
67
+ fontSize "1rem"
68
+ fontFamily inherit
69
+ backgroundColor "var(--color-bg-cream)"
70
+ }
71
+ }
72
+ button type=submit "Send message" {
73
+ style {
74
+ display inline-flex
75
+ alignItems center
76
+ justifyContent center
77
+ gap "0.4rem"
78
+ backgroundColor "var(--color-accent)"
79
+ color "var(--color-text-white)"
80
+ padding "0.95rem 1.75rem"
81
+ border none
82
+ borderRadius "999px"
83
+ fontSize "1rem"
84
+ fontFamily inherit
85
+ fontWeight "800"
86
+ cursor pointer
87
+ justifySelf start
88
+ boxShadow "0 12px 26px -12px rgba(242,106,61,0.8)"
89
+ transition "background-color 0.15s, transform 0.15s"
90
+ :hover backgroundColor="var(--color-accent-hover)" transform="translateY(-1px)"
91
+ }
92
+ }
93
+ p "This is a demo form. Wire it to your email or CRM in pages/contact.md." {
94
+ style fontSize="0.85rem" fontWeight="600" color="var(--color-text-muted)" margin="0"
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,104 @@
1
+ /- kdl-version 2
2
+
3
+ np-contact-info {
4
+ state {
5
+ line1 "240 Riverside Avenue"
6
+ line2 "Rivertown, CA 90210"
7
+ phone "(555) 204-7788"
8
+ phoneHref tel:+15552047788
9
+ email hello@rivertownfoundation.org
10
+ emailHref mailto:hello@rivertownfoundation.org
11
+ }
12
+ style display=block
13
+ div {
14
+ style {
15
+ padding "2rem"
16
+ backgroundColor "var(--color-primary-deep)"
17
+ color "var(--color-text-white)"
18
+ borderRadius "var(--radius-lg)"
19
+ }
20
+ h3 "Visit us" {
21
+ style {
22
+ fontFamily "var(--font-display)"
23
+ fontSize "1.5rem"
24
+ fontWeight "600"
25
+ margin "0 0 1rem"
26
+ }
27
+ }
28
+ p "${state.line1}" {
29
+ style margin="0 0 0.35rem" opacity="0.85" fontWeight="600"
30
+ }
31
+ p "${state.line2}" {
32
+ style margin="0 0 0.35rem" opacity="0.85" fontWeight="600"
33
+ }
34
+ p {
35
+ style margin="0.85rem 0 0.35rem"
36
+ a href="${state.phoneHref}" "${state.phone}" {
37
+ style color="var(--color-gold)" textDecoration=none fontWeight="800"
38
+ }
39
+ }
40
+ p {
41
+ style margin="0"
42
+ a href="${state.emailHref}" "${state.email}" {
43
+ style color="var(--color-gold)" textDecoration=none fontWeight="800"
44
+ }
45
+ }
46
+ }
47
+ div {
48
+ style {
49
+ marginTop "1.5rem"
50
+ padding "2rem"
51
+ backgroundColor "var(--color-bg-cream)"
52
+ border "1px solid var(--color-border)"
53
+ borderRadius "var(--radius-lg)"
54
+ }
55
+ h3 "Office hours" {
56
+ style {
57
+ fontFamily "var(--font-display)"
58
+ fontSize "1.5rem"
59
+ fontWeight "600"
60
+ color "var(--color-primary-deep)"
61
+ margin "0 0 1.25rem"
62
+ }
63
+ }
64
+ div {
65
+ style {
66
+ display flex
67
+ justifyContent space-between
68
+ padding "0.6rem 0"
69
+ borderBottom "1px solid var(--color-border)"
70
+ fontWeight "600"
71
+ }
72
+ span "Monday – Friday" {
73
+ style fontWeight="700"
74
+ }
75
+ span "9:00am – 5:00pm" {
76
+ style color="var(--color-text-muted)"
77
+ }
78
+ }
79
+ div {
80
+ style {
81
+ display flex
82
+ justifyContent space-between
83
+ padding "0.6rem 0"
84
+ borderBottom "1px solid var(--color-border)"
85
+ fontWeight "600"
86
+ }
87
+ span Saturday {
88
+ style fontWeight="700"
89
+ }
90
+ span "9:00am – 1:00pm (Pantry)" {
91
+ style color="var(--color-text-muted)"
92
+ }
93
+ }
94
+ div {
95
+ style display=flex justifyContent=space-between padding="0.6rem 0" fontWeight="600"
96
+ span Sunday {
97
+ style fontWeight="700"
98
+ }
99
+ span Closed {
100
+ style color="var(--color-text-muted)"
101
+ }
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,163 @@
1
+ /- kdl-version 2
2
+
3
+ np-cta {
4
+ state {
5
+ eyebrow ""
6
+ heading ""
7
+ headingAccent ""
8
+ text ""
9
+ cta "Donate Now"
10
+ ctaHref "/get-involved/"
11
+ cta2 ""
12
+ cta2Href "/get-involved/"
13
+ reassurance "Secure & tax-deductible · 94¢ of every dollar goes straight to programs"
14
+ bg type=string format=image default=""
15
+ }
16
+ style {
17
+ display block
18
+ padding "clamp(3rem, 7vw, 5rem) 1.5rem"
19
+ backgroundColor "var(--color-bg-cream)"
20
+ }
21
+ div {
22
+ style {
23
+ position relative
24
+ overflow hidden
25
+ maxWidth "var(--max-width-wide)"
26
+ margin "0 auto"
27
+ borderRadius "var(--radius-lg)"
28
+ background "linear-gradient(135deg, #21563c 0%, var(--color-primary-deep) 55%, #12301f 100%)"
29
+ color "var(--color-text-white)"
30
+ }
31
+ div {
32
+ style {
33
+ position absolute
34
+ top "-8rem"
35
+ right "-6rem"
36
+ width "26rem"
37
+ height "26rem"
38
+ borderRadius "50%"
39
+ background "radial-gradient(circle at center, rgba(233,166,61,0.35) 0%, rgba(233,166,61,0) 70%)"
40
+ }
41
+ }
42
+ div {
43
+ style {
44
+ position absolute
45
+ bottom "-10rem"
46
+ left "-7rem"
47
+ width "24rem"
48
+ height "24rem"
49
+ borderRadius "50%"
50
+ background "radial-gradient(circle at center, rgba(242,106,61,0.3) 0%, rgba(242,106,61,0) 70%)"
51
+ }
52
+ }
53
+ div {
54
+ style {
55
+ position relative
56
+ zIndex "2"
57
+ maxWidth "var(--max-width-narrow)"
58
+ margin "0 auto"
59
+ padding "clamp(3rem, 7vw, 4.75rem) 1.5rem"
60
+ textAlign center
61
+ }
62
+ p "${state.eyebrow}" {
63
+ style {
64
+ display "${state.eyebrow ? 'inline-flex' : 'none'}"
65
+ alignItems center
66
+ gap "0.5rem"
67
+ padding "0.35rem 0.95rem"
68
+ borderRadius "999px"
69
+ backgroundColor "rgba(255,255,255,0.12)"
70
+ textTransform uppercase
71
+ letterSpacing "0.14em"
72
+ fontSize "0.75rem"
73
+ fontWeight "800"
74
+ color "var(--color-gold)"
75
+ margin "0 0 1.25rem"
76
+ }
77
+ }
78
+ h2 {
79
+ style {
80
+ fontFamily "var(--font-display)"
81
+ fontSize "clamp(2.1rem, 4.6vw, 3.2rem)"
82
+ fontWeight "600"
83
+ lineHeight "1.08"
84
+ letterSpacing "-0.015em"
85
+ margin "0 0 1.15rem"
86
+ }
87
+ span "${state.heading} "
88
+ span "${state.headingAccent}" {
89
+ style fontStyle=italic fontWeight="500" color="var(--color-gold)"
90
+ }
91
+ }
92
+ p "${state.text}" {
93
+ style {
94
+ fontSize "1.14rem"
95
+ fontWeight "600"
96
+ lineHeight "1.65"
97
+ color "rgba(255,255,255,0.85)"
98
+ margin "0 auto 2rem"
99
+ maxWidth "52ch"
100
+ }
101
+ }
102
+ div {
103
+ style display=flex gap="0.85rem" flexWrap=wrap justifyContent=center
104
+ a href="${state.ctaHref}" {
105
+ style {
106
+ display inline-flex
107
+ alignItems center
108
+ gap "0.5rem"
109
+ backgroundColor "var(--color-accent)"
110
+ color "var(--color-text-white)"
111
+ padding "1rem 2.5rem"
112
+ borderRadius "999px"
113
+ fontSize "1.05rem"
114
+ fontWeight "800"
115
+ textDecoration none
116
+ boxShadow "0 18px 36px -14px rgba(242,106,61,0.85)"
117
+ transition "background-color 0.15s, transform 0.15s"
118
+ :hover {
119
+ backgroundColor "var(--color-accent-hover)"
120
+ transform "translateY(-2px)"
121
+ }
122
+ }
123
+ span ❤ {
124
+ style fontSize="0.95rem"
125
+ }
126
+ span "${state.cta}"
127
+ }
128
+ a href="${state.cta2Href}" "${state.cta2}" {
129
+ style {
130
+ display "${state.cta2 ? 'inline-flex' : 'none'}"
131
+ alignItems center
132
+ gap "0.5rem"
133
+ border "1px solid rgba(255,255,255,0.55)"
134
+ color "var(--color-text-white)"
135
+ padding "1rem 2rem"
136
+ borderRadius "999px"
137
+ fontSize "1.05rem"
138
+ fontWeight "800"
139
+ textDecoration none
140
+ transition "background-color 0.15s"
141
+ :hover backgroundColor="rgba(255,255,255,0.14)"
142
+ }
143
+ }
144
+ }
145
+ p {
146
+ style {
147
+ display "${state.reassurance ? 'flex' : 'none'}"
148
+ alignItems center
149
+ justifyContent center
150
+ gap "0.5rem"
151
+ margin "1.75rem 0 0"
152
+ fontSize "0.88rem"
153
+ fontWeight "700"
154
+ color "rgba(255,255,255,0.72)"
155
+ }
156
+ span 🔒 {
157
+ style color="var(--color-gold)"
158
+ }
159
+ span "${state.reassurance}"
160
+ }
161
+ }
162
+ }
163
+ }