@jxsuite/starters 3.3.2 → 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 (513) 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 +86 -0
  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 +94 -0
  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 +114 -0
  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 +124 -0
  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 +113 -0
  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 +130 -0
  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 +99 -0
  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 +85 -0
  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 +94 -0
  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 +103 -0
  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 +93 -0
  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 +119 -0
  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 +100 -0
  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/blog/project.json +0 -140
  288. package/sites/course/components/co-application.json +0 -225
  289. package/sites/course/components/co-cohort.json +0 -172
  290. package/sites/course/components/co-cta.json +0 -126
  291. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  292. package/sites/course/components/co-faq.json +0 -524
  293. package/sites/course/components/co-footer.json +0 -195
  294. package/sites/course/components/co-hero.json +0 -475
  295. package/sites/course/components/co-instructor-card.json +0 -159
  296. package/sites/course/components/co-mentor.json +0 -65
  297. package/sites/course/components/co-module-card.json +0 -138
  298. package/sites/course/components/co-nav.json +0 -244
  299. package/sites/course/components/co-outcome-card.json +0 -84
  300. package/sites/course/components/co-outcomes.json +0 -248
  301. package/sites/course/components/co-pricing.json +0 -178
  302. package/sites/course/components/co-section-header.json +0 -74
  303. package/sites/course/components/co-testimonial-card.json +0 -109
  304. package/sites/course/layouts/base.json +0 -22
  305. package/sites/course/project.json +0 -141
  306. package/sites/event/components/ev-agenda-tabs.json +0 -828
  307. package/sites/event/components/ev-cta.json +0 -126
  308. package/sites/event/components/ev-feature.json +0 -62
  309. package/sites/event/components/ev-footer.json +0 -197
  310. package/sites/event/components/ev-hero.json +0 -431
  311. package/sites/event/components/ev-nav.json +0 -186
  312. package/sites/event/components/ev-reason.json +0 -64
  313. package/sites/event/components/ev-savedate.json +0 -331
  314. package/sites/event/components/ev-section-header.json +0 -70
  315. package/sites/event/components/ev-session-row.json +0 -132
  316. package/sites/event/components/ev-speaker-card.json +0 -130
  317. package/sites/event/components/ev-sponsors.json +0 -131
  318. package/sites/event/components/ev-stat.json +0 -47
  319. package/sites/event/components/ev-ticket-card.json +0 -214
  320. package/sites/event/components/ev-venue.json +0 -86
  321. package/sites/event/layouts/base.json +0 -22
  322. package/sites/event/project.json +0 -163
  323. package/sites/fitness-studio/components/fs-band.json +0 -149
  324. package/sites/fitness-studio/components/fs-booking.json +0 -147
  325. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  326. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  327. package/sites/fitness-studio/components/fs-cta.json +0 -106
  328. package/sites/fitness-studio/components/fs-feature.json +0 -56
  329. package/sites/fitness-studio/components/fs-footer.json +0 -178
  330. package/sites/fitness-studio/components/fs-hero.json +0 -375
  331. package/sites/fitness-studio/components/fs-hours.json +0 -109
  332. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  333. package/sites/fitness-studio/components/fs-intro.json +0 -294
  334. package/sites/fitness-studio/components/fs-modality.json +0 -171
  335. package/sites/fitness-studio/components/fs-nav.json +0 -128
  336. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  337. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  338. package/sites/fitness-studio/components/fs-review.json +0 -88
  339. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  340. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  341. package/sites/fitness-studio/layouts/base.json +0 -22
  342. package/sites/fitness-studio/project.json +0 -175
  343. package/sites/home-services/components/hs-callbar.json +0 -72
  344. package/sites/home-services/components/hs-cta.json +0 -184
  345. package/sites/home-services/components/hs-feature.json +0 -62
  346. package/sites/home-services/components/hs-footer.json +0 -232
  347. package/sites/home-services/components/hs-gallery.json +0 -104
  348. package/sites/home-services/components/hs-hero.json +0 -446
  349. package/sites/home-services/components/hs-intro.json +0 -122
  350. package/sites/home-services/components/hs-nav.json +0 -278
  351. package/sites/home-services/components/hs-reservation.json +0 -225
  352. package/sites/home-services/components/hs-review.json +0 -114
  353. package/sites/home-services/components/hs-section-header.json +0 -70
  354. package/sites/home-services/components/hs-service-card.json +0 -89
  355. package/sites/home-services/components/hs-stat.json +0 -54
  356. package/sites/home-services/components/hs-step.json +0 -80
  357. package/sites/home-services/components/hs-trust-bar.json +0 -256
  358. package/sites/home-services/layouts/base.json +0 -24
  359. package/sites/home-services/project.json +0 -160
  360. package/sites/museum/components/mu-band.json +0 -92
  361. package/sites/museum/components/mu-cta.json +0 -101
  362. package/sites/museum/components/mu-exhibition-card.json +0 -191
  363. package/sites/museum/components/mu-exhibition-row.json +0 -237
  364. package/sites/museum/components/mu-fact.json +0 -64
  365. package/sites/museum/components/mu-footer.json +0 -256
  366. package/sites/museum/components/mu-hero.json +0 -236
  367. package/sites/museum/components/mu-more.json +0 -63
  368. package/sites/museum/components/mu-oculus.json +0 -44
  369. package/sites/museum/components/mu-pagehead.json +0 -105
  370. package/sites/museum/components/mu-quote.json +0 -49
  371. package/sites/museum/layouts/ar.json +0 -29
  372. package/sites/museum/layouts/base.json +0 -329
  373. package/sites/museum/layouts/fr-ca.json +0 -28
  374. package/sites/museum/pages/about.json +0 -378
  375. package/sites/museum/pages/ar/about.json +0 -314
  376. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  377. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  378. package/sites/museum/pages/ar/index.json +0 -246
  379. package/sites/museum/pages/ar/visit.json +0 -327
  380. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  381. package/sites/museum/pages/exhibitions/index.json +0 -93
  382. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  383. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  384. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  385. package/sites/museum/pages/fr-ca/index.json +0 -246
  386. package/sites/museum/pages/fr-ca/visite.json +0 -328
  387. package/sites/museum/pages/index.json +0 -236
  388. package/sites/museum/pages/visit.json +0 -317
  389. package/sites/museum/project.json +0 -179
  390. package/sites/nonprofit/components/np-contact-form.json +0 -162
  391. package/sites/nonprofit/components/np-contact-info.json +0 -159
  392. package/sites/nonprofit/components/np-cta.json +0 -203
  393. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  394. package/sites/nonprofit/components/np-feature.json +0 -57
  395. package/sites/nonprofit/components/np-footer.json +0 -257
  396. package/sites/nonprofit/components/np-hero.json +0 -360
  397. package/sites/nonprofit/components/np-impact-band.json +0 -108
  398. package/sites/nonprofit/components/np-intro.json +0 -166
  399. package/sites/nonprofit/components/np-nav.json +0 -216
  400. package/sites/nonprofit/components/np-program-card.json +0 -129
  401. package/sites/nonprofit/components/np-section-header.json +0 -79
  402. package/sites/nonprofit/components/np-stat.json +0 -69
  403. package/sites/nonprofit/components/np-step.json +0 -84
  404. package/sites/nonprofit/components/np-team-member.json +0 -74
  405. package/sites/nonprofit/components/np-testimonial.json +0 -169
  406. package/sites/nonprofit/layouts/base.json +0 -22
  407. package/sites/nonprofit/project.json +0 -147
  408. package/sites/portfolio/components/pv-about-split.json +0 -71
  409. package/sites/portfolio/components/pv-category-pill.json +0 -25
  410. package/sites/portfolio/components/pv-contact-form.json +0 -126
  411. package/sites/portfolio/components/pv-cta.json +0 -80
  412. package/sites/portfolio/components/pv-feature.json +0 -48
  413. package/sites/portfolio/components/pv-footer.json +0 -167
  414. package/sites/portfolio/components/pv-gallery.json +0 -50
  415. package/sites/portfolio/components/pv-hero.json +0 -139
  416. package/sites/portfolio/components/pv-nav.json +0 -100
  417. package/sites/portfolio/components/pv-project-card.json +0 -160
  418. package/sites/portfolio/components/pv-project-grid.json +0 -30
  419. package/sites/portfolio/components/pv-section-header.json +0 -90
  420. package/sites/portfolio/layouts/base.json +0 -22
  421. package/sites/portfolio/pages/[slug].json +0 -260
  422. package/sites/portfolio/project.json +0 -137
  423. package/sites/professional-firm/components/pf-article-header.json +0 -93
  424. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  425. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  426. package/sites/professional-firm/components/pf-cta.json +0 -86
  427. package/sites/professional-firm/components/pf-feature.json +0 -52
  428. package/sites/professional-firm/components/pf-footer.json +0 -231
  429. package/sites/professional-firm/components/pf-hero.json +0 -174
  430. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  431. package/sites/professional-firm/components/pf-intro.json +0 -93
  432. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  433. package/sites/professional-firm/components/pf-nav.json +0 -135
  434. package/sites/professional-firm/components/pf-section-header.json +0 -77
  435. package/sites/professional-firm/components/pf-service-row.json +0 -104
  436. package/sites/professional-firm/components/pf-statband.json +0 -183
  437. package/sites/professional-firm/components/pf-team-member.json +0 -75
  438. package/sites/professional-firm/layouts/article.json +0 -130
  439. package/sites/professional-firm/layouts/base.json +0 -22
  440. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  441. package/sites/professional-firm/project.json +0 -145
  442. package/sites/real-estate/components/re-agent-band.json +0 -240
  443. package/sites/real-estate/components/re-agent-card.json +0 -93
  444. package/sites/real-estate/components/re-contact-form.json +0 -181
  445. package/sites/real-estate/components/re-cta.json +0 -128
  446. package/sites/real-estate/components/re-detail-row.json +0 -26
  447. package/sites/real-estate/components/re-feature.json +0 -57
  448. package/sites/real-estate/components/re-footer.json +0 -291
  449. package/sites/real-estate/components/re-hero.json +0 -536
  450. package/sites/real-estate/components/re-intro.json +0 -60
  451. package/sites/real-estate/components/re-listing-card.json +0 -286
  452. package/sites/real-estate/components/re-listings-filter.json +0 -454
  453. package/sites/real-estate/components/re-nav.json +0 -216
  454. package/sites/real-estate/components/re-neighborhood.json +0 -135
  455. package/sites/real-estate/components/re-section-header.json +0 -69
  456. package/sites/real-estate/components/re-stat.json +0 -37
  457. package/sites/real-estate/components/re-step.json +0 -58
  458. package/sites/real-estate/components/re-testimonial.json +0 -91
  459. package/sites/real-estate/layouts/base.json +0 -22
  460. package/sites/real-estate/pages/[slug].json +0 -629
  461. package/sites/real-estate/project.json +0 -163
  462. package/sites/restaurant/components/bit-cta.json +0 -140
  463. package/sites/restaurant/components/bit-feature.json +0 -61
  464. package/sites/restaurant/components/bit-footer.json +0 -191
  465. package/sites/restaurant/components/bit-gallery.json +0 -74
  466. package/sites/restaurant/components/bit-hero.json +0 -253
  467. package/sites/restaurant/components/bit-hours.json +0 -183
  468. package/sites/restaurant/components/bit-intro.json +0 -96
  469. package/sites/restaurant/components/bit-menu-group.json +0 -74
  470. package/sites/restaurant/components/bit-menu-item.json +0 -72
  471. package/sites/restaurant/components/bit-nav.json +0 -214
  472. package/sites/restaurant/components/bit-reservation.json +0 -155
  473. package/sites/restaurant/components/bit-review.json +0 -84
  474. package/sites/restaurant/components/bit-section-header.json +0 -98
  475. package/sites/restaurant/layouts/base.json +0 -22
  476. package/sites/restaurant/project.json +0 -145
  477. package/sites/saas/components/sa-check-item.json +0 -40
  478. package/sites/saas/components/sa-contact-form.json +0 -153
  479. package/sites/saas/components/sa-cta.json +0 -102
  480. package/sites/saas/components/sa-faq.json +0 -413
  481. package/sites/saas/components/sa-feature-card.json +0 -69
  482. package/sites/saas/components/sa-feature-split.json +0 -60
  483. package/sites/saas/components/sa-footer.json +0 -145
  484. package/sites/saas/components/sa-hero.json +0 -277
  485. package/sites/saas/components/sa-logo-cloud.json +0 -119
  486. package/sites/saas/components/sa-nav.json +0 -138
  487. package/sites/saas/components/sa-pricing.json +0 -428
  488. package/sites/saas/components/sa-section-header.json +0 -55
  489. package/sites/saas/components/sa-stat.json +0 -44
  490. package/sites/saas/components/sa-testimonial-card.json +0 -57
  491. package/sites/saas/layouts/base.json +0 -22
  492. package/sites/saas/project.json +0 -166
  493. package/sites/shop/components/shp-badge.json +0 -18
  494. package/sites/shop/components/shp-category-tile.json +0 -104
  495. package/sites/shop/components/shp-contact-form.json +0 -156
  496. package/sites/shop/components/shp-cta.json +0 -121
  497. package/sites/shop/components/shp-feature.json +0 -60
  498. package/sites/shop/components/shp-footer.json +0 -411
  499. package/sites/shop/components/shp-hero.json +0 -395
  500. package/sites/shop/components/shp-intro.json +0 -59
  501. package/sites/shop/components/shp-nav.json +0 -358
  502. package/sites/shop/components/shp-newsletter.json +0 -166
  503. package/sites/shop/components/shp-product-card.json +0 -238
  504. package/sites/shop/components/shp-product-filter.json +0 -366
  505. package/sites/shop/components/shp-review.json +0 -54
  506. package/sites/shop/components/shp-section-header.json +0 -75
  507. package/sites/shop/components/shp-service.json +0 -83
  508. package/sites/shop/components/shp-stat.json +0 -37
  509. package/sites/shop/components/shp-trust.json +0 -58
  510. package/sites/shop/components/shp-visit-info.json +0 -132
  511. package/sites/shop/layouts/base.json +0 -22
  512. package/sites/shop/pages/products/[sku].json +0 -482
  513. package/sites/shop/project.json +0 -156
@@ -0,0 +1,94 @@
1
+ /- kdl-version 2
2
+
3
+ sa-contact-form {
4
+ state {
5
+ heading "Send us a message"
6
+ note "This is a demo form. Wire it to your CRM or email in pages/contact.md."
7
+ }
8
+ style display=block
9
+ h3 "${state.heading}" {
10
+ style {
11
+ fontFamily "var(--font-heading)"
12
+ fontSize "1.5rem"
13
+ fontWeight "600"
14
+ letterSpacing "-0.01em"
15
+ margin "0 0 1.25rem"
16
+ }
17
+ }
18
+ form action="#" method=post {
19
+ style display=grid gap="1rem" alignContent=start
20
+ input type=text name=name placeholder="Your name" required="true" aria-label="Your name" {
21
+ style {
22
+ width "100%"
23
+ padding "0.75rem 0.9rem"
24
+ border "1px solid var(--color-border)"
25
+ borderRadius "var(--radius)"
26
+ fontSize "1rem"
27
+ fontFamily inherit
28
+ }
29
+ }
30
+ input type=email name=email placeholder="Work email" required="true" aria-label="Work email" {
31
+ style {
32
+ width "100%"
33
+ padding "0.75rem 0.9rem"
34
+ border "1px solid var(--color-border)"
35
+ borderRadius "var(--radius)"
36
+ fontSize "1rem"
37
+ fontFamily inherit
38
+ }
39
+ }
40
+ div {
41
+ style display=grid gridTemplateColumns="1fr 1fr" gap="1rem" {
42
+ @--sm gridTemplateColumns="1fr"
43
+ }
44
+ input type=text name=company placeholder=Company aria-label=Company {
45
+ style {
46
+ width "100%"
47
+ padding "0.75rem 0.9rem"
48
+ border "1px solid var(--color-border)"
49
+ borderRadius "var(--radius)"
50
+ fontSize "1rem"
51
+ fontFamily inherit
52
+ }
53
+ }
54
+ input type=number name=team min="1" max="10000" placeholder="Team size" aria-label="Team size" {
55
+ style {
56
+ width "100%"
57
+ padding "0.75rem 0.9rem"
58
+ border "1px solid var(--color-border)"
59
+ borderRadius "var(--radius)"
60
+ fontSize "1rem"
61
+ fontFamily inherit
62
+ }
63
+ }
64
+ }
65
+ textarea name=message rows="4" placeholder="How can we help?" aria-label=Message {
66
+ style {
67
+ width "100%"
68
+ padding "0.75rem 0.9rem"
69
+ border "1px solid var(--color-border)"
70
+ borderRadius "var(--radius)"
71
+ fontSize "1rem"
72
+ fontFamily inherit
73
+ }
74
+ }
75
+ button type=submit "Send message" {
76
+ style {
77
+ backgroundColor "var(--color-primary)"
78
+ color "var(--color-text-white)"
79
+ padding "0.85rem 1.5rem"
80
+ border none
81
+ borderRadius "var(--radius)"
82
+ fontSize "1rem"
83
+ fontWeight "600"
84
+ cursor pointer
85
+ justifySelf start
86
+ transition "background-color 0.15s"
87
+ :hover backgroundColor="var(--color-primary-hover)"
88
+ }
89
+ }
90
+ p "${state.note}" {
91
+ style fontSize="0.85rem" color="var(--color-text-muted)" margin="0"
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,68 @@
1
+ /- kdl-version 2
2
+
3
+ sa-cta {
4
+ state heading="" text="" cta="Get started free" ctaHref="/pricing/" cta2="" cta2Href="/contact/"
5
+ style {
6
+ display block
7
+ position relative
8
+ overflow hidden
9
+ backgroundColor "var(--color-bg-dark)"
10
+ color "var(--color-text-white)"
11
+ background "radial-gradient(ellipse 70% 60% at 50% 120%, rgba(99, 102, 241, 0.3), transparent 70%), var(--color-bg-dark)"
12
+ padding "clamp(3.5rem, 9vw, 6rem) 1.5rem"
13
+ textAlign center
14
+ }
15
+ div {
16
+ style position=relative zIndex="10" maxWidth="var(--max-width-narrow)" margin="0 auto"
17
+ h2 "${state.heading}" {
18
+ style {
19
+ fontFamily "var(--font-heading)"
20
+ fontSize "clamp(1.9rem, 4vw, 2.9rem)"
21
+ fontWeight "700"
22
+ letterSpacing "-0.03em"
23
+ lineHeight "1.12"
24
+ margin "0 0 1rem"
25
+ }
26
+ }
27
+ p "${state.text}" {
28
+ style {
29
+ fontSize "1.1rem"
30
+ lineHeight "1.7"
31
+ color "rgba(255, 255, 255, 0.72)"
32
+ margin "0 auto 2rem"
33
+ maxWidth "48ch"
34
+ }
35
+ }
36
+ div {
37
+ style display=flex gap="0.75rem" justifyContent=center flexWrap=wrap
38
+ a href="${state.ctaHref}" "${state.cta}" {
39
+ style {
40
+ display inline-block
41
+ backgroundColor "var(--color-primary)"
42
+ color "var(--color-text-white)"
43
+ padding "0.9rem 2.25rem"
44
+ borderRadius "var(--radius)"
45
+ fontSize "1.05rem"
46
+ fontWeight "600"
47
+ textDecoration none
48
+ transition "background-color 0.15s"
49
+ :hover backgroundColor="var(--color-primary-hover)"
50
+ }
51
+ }
52
+ a href="${state.cta2Href}" "${state.cta2}" {
53
+ style {
54
+ display "${state.cta2 ? 'inline-block' : 'none'}"
55
+ border "1px solid rgba(255, 255, 255, 0.28)"
56
+ color "var(--color-text-white)"
57
+ padding "0.9rem 2.25rem"
58
+ borderRadius "var(--radius)"
59
+ fontSize "1.05rem"
60
+ fontWeight "600"
61
+ textDecoration none
62
+ transition "background-color 0.15s"
63
+ :hover backgroundColor="rgba(255, 255, 255, 0.1)"
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,347 @@
1
+ /- kdl-version 2
2
+
3
+ sa-faq {
4
+ state open=0
5
+ style {
6
+ display block
7
+ maxWidth "var(--max-width-narrow)"
8
+ margin "0 auto"
9
+ borderTop "1px solid var(--color-border)"
10
+ }
11
+ div {
12
+ style borderBottom="1px solid var(--color-border)"
13
+ button {
14
+ (on)onclick {
15
+ $expression {
16
+ operator "="
17
+ target (ref)"#/state/open"
18
+ value {
19
+ operator ||
20
+ target {
21
+ operator &&
22
+ target operator="===" target=(ref)"#/state/open" value=0
23
+ value -1
24
+ }
25
+ value 0
26
+ }
27
+ }
28
+ }
29
+ style {
30
+ display flex
31
+ alignItems center
32
+ justifyContent space-between
33
+ gap "1rem"
34
+ width "100%"
35
+ padding "1.4rem 0.25rem"
36
+ border none
37
+ background transparent
38
+ cursor pointer
39
+ textAlign left
40
+ fontFamily "var(--font-heading)"
41
+ fontSize "1.1rem"
42
+ fontWeight "600"
43
+ color "var(--color-text-primary)"
44
+ }
45
+ span "Can I change plans or cancel at any time?"
46
+ span ⌄ {
47
+ style {
48
+ flexShrink "0"
49
+ color "var(--color-primary)"
50
+ fontSize "1.1rem"
51
+ transition "transform 0.2s"
52
+ transform "${state.open === 0 ? 'rotate(180deg)' : 'rotate(0deg)'}"
53
+ }
54
+ }
55
+ }
56
+ div "Absolutely. Upgrade, downgrade, or cancel from your billing settings whenever you like. Changes are prorated automatically, so you only ever pay for what you use." {
57
+ style {
58
+ display "${state.open === 0 ? 'block' : 'none'}"
59
+ padding "0 0.25rem 1.4rem"
60
+ color "var(--color-text-muted)"
61
+ fontSize "1rem"
62
+ lineHeight "1.7"
63
+ maxWidth "60ch"
64
+ }
65
+ }
66
+ }
67
+ div {
68
+ style borderBottom="1px solid var(--color-border)"
69
+ button {
70
+ (on)onclick {
71
+ $expression {
72
+ operator "="
73
+ target (ref)"#/state/open"
74
+ value {
75
+ operator ||
76
+ target {
77
+ operator &&
78
+ target operator="===" target=(ref)"#/state/open" value=1
79
+ value -1
80
+ }
81
+ value 1
82
+ }
83
+ }
84
+ }
85
+ style {
86
+ display flex
87
+ alignItems center
88
+ justifyContent space-between
89
+ gap "1rem"
90
+ width "100%"
91
+ padding "1.4rem 0.25rem"
92
+ border none
93
+ background transparent
94
+ cursor pointer
95
+ textAlign left
96
+ fontFamily "var(--font-heading)"
97
+ fontSize "1.1rem"
98
+ fontWeight "600"
99
+ color "var(--color-text-primary)"
100
+ }
101
+ span "Is there a free plan?"
102
+ span ⌄ {
103
+ style {
104
+ flexShrink "0"
105
+ color "var(--color-primary)"
106
+ fontSize "1.1rem"
107
+ transition "transform 0.2s"
108
+ transform "${state.open === 1 ? 'rotate(180deg)' : 'rotate(0deg)'}"
109
+ }
110
+ }
111
+ }
112
+ div "Yes. The Starter plan is free forever and includes up to three projects — no credit card required. It’s a great way to explore Flowlark before inviting your whole team." {
113
+ style {
114
+ display "${state.open === 1 ? 'block' : 'none'}"
115
+ padding "0 0.25rem 1.4rem"
116
+ color "var(--color-text-muted)"
117
+ fontSize "1rem"
118
+ lineHeight "1.7"
119
+ maxWidth "60ch"
120
+ }
121
+ }
122
+ }
123
+ div {
124
+ style borderBottom="1px solid var(--color-border)"
125
+ button {
126
+ (on)onclick {
127
+ $expression {
128
+ operator "="
129
+ target (ref)"#/state/open"
130
+ value {
131
+ operator ||
132
+ target {
133
+ operator &&
134
+ target operator="===" target=(ref)"#/state/open" value=2
135
+ value -1
136
+ }
137
+ value 2
138
+ }
139
+ }
140
+ }
141
+ style {
142
+ display flex
143
+ alignItems center
144
+ justifyContent space-between
145
+ gap "1rem"
146
+ width "100%"
147
+ padding "1.4rem 0.25rem"
148
+ border none
149
+ background transparent
150
+ cursor pointer
151
+ textAlign left
152
+ fontFamily "var(--font-heading)"
153
+ fontSize "1.1rem"
154
+ fontWeight "600"
155
+ color "var(--color-text-primary)"
156
+ }
157
+ span "How does annual billing save me money?"
158
+ span ⌄ {
159
+ style {
160
+ flexShrink "0"
161
+ color "var(--color-primary)"
162
+ fontSize "1.1rem"
163
+ transition "transform 0.2s"
164
+ transform "${state.open === 2 ? 'rotate(180deg)' : 'rotate(0deg)'}"
165
+ }
166
+ }
167
+ }
168
+ div "Choosing annual billing gives you roughly two months free — a 20% discount versus paying month to month. Toggle the switch above to compare the two side by side." {
169
+ style {
170
+ display "${state.open === 2 ? 'block' : 'none'}"
171
+ padding "0 0.25rem 1.4rem"
172
+ color "var(--color-text-muted)"
173
+ fontSize "1rem"
174
+ lineHeight "1.7"
175
+ maxWidth "60ch"
176
+ }
177
+ }
178
+ }
179
+ div {
180
+ style borderBottom="1px solid var(--color-border)"
181
+ button {
182
+ (on)onclick {
183
+ $expression {
184
+ operator "="
185
+ target (ref)"#/state/open"
186
+ value {
187
+ operator ||
188
+ target {
189
+ operator &&
190
+ target operator="===" target=(ref)"#/state/open" value=3
191
+ value -1
192
+ }
193
+ value 3
194
+ }
195
+ }
196
+ }
197
+ style {
198
+ display flex
199
+ alignItems center
200
+ justifyContent space-between
201
+ gap "1rem"
202
+ width "100%"
203
+ padding "1.4rem 0.25rem"
204
+ border none
205
+ background transparent
206
+ cursor pointer
207
+ textAlign left
208
+ fontFamily "var(--font-heading)"
209
+ fontSize "1.1rem"
210
+ fontWeight "600"
211
+ color "var(--color-text-primary)"
212
+ }
213
+ span "Do you offer discounts for startups or nonprofits?"
214
+ span ⌄ {
215
+ style {
216
+ flexShrink "0"
217
+ color "var(--color-primary)"
218
+ fontSize "1.1rem"
219
+ transition "transform 0.2s"
220
+ transform "${state.open === 3 ? 'rotate(180deg)' : 'rotate(0deg)'}"
221
+ }
222
+ }
223
+ }
224
+ div "We do. Early-stage startups and registered nonprofits qualify for meaningful discounts on Pro and Scale. Reach out through the contact page and our team will get you set up." {
225
+ style {
226
+ display "${state.open === 3 ? 'block' : 'none'}"
227
+ padding "0 0.25rem 1.4rem"
228
+ color "var(--color-text-muted)"
229
+ fontSize "1rem"
230
+ lineHeight "1.7"
231
+ maxWidth "60ch"
232
+ }
233
+ }
234
+ }
235
+ div {
236
+ style borderBottom="1px solid var(--color-border)"
237
+ button {
238
+ (on)onclick {
239
+ $expression {
240
+ operator "="
241
+ target (ref)"#/state/open"
242
+ value {
243
+ operator ||
244
+ target {
245
+ operator &&
246
+ target operator="===" target=(ref)"#/state/open" value=4
247
+ value -1
248
+ }
249
+ value 4
250
+ }
251
+ }
252
+ }
253
+ style {
254
+ display flex
255
+ alignItems center
256
+ justifyContent space-between
257
+ gap "1rem"
258
+ width "100%"
259
+ padding "1.4rem 0.25rem"
260
+ border none
261
+ background transparent
262
+ cursor pointer
263
+ textAlign left
264
+ fontFamily "var(--font-heading)"
265
+ fontSize "1.1rem"
266
+ fontWeight "600"
267
+ color "var(--color-text-primary)"
268
+ }
269
+ span "Is my data secure?"
270
+ span ⌄ {
271
+ style {
272
+ flexShrink "0"
273
+ color "var(--color-primary)"
274
+ fontSize "1.1rem"
275
+ transition "transform 0.2s"
276
+ transform "${state.open === 4 ? 'rotate(180deg)' : 'rotate(0deg)'}"
277
+ }
278
+ }
279
+ }
280
+ div "Security is built in, not bolted on. Data is encrypted in transit and at rest, and the Scale plan adds SSO, SCIM provisioning, and audit logs for teams with stricter compliance needs." {
281
+ style {
282
+ display "${state.open === 4 ? 'block' : 'none'}"
283
+ padding "0 0.25rem 1.4rem"
284
+ color "var(--color-text-muted)"
285
+ fontSize "1rem"
286
+ lineHeight "1.7"
287
+ maxWidth "60ch"
288
+ }
289
+ }
290
+ }
291
+ div {
292
+ style borderBottom="1px solid var(--color-border)"
293
+ button {
294
+ (on)onclick {
295
+ $expression {
296
+ operator "="
297
+ target (ref)"#/state/open"
298
+ value {
299
+ operator ||
300
+ target {
301
+ operator &&
302
+ target operator="===" target=(ref)"#/state/open" value=5
303
+ value -1
304
+ }
305
+ value 5
306
+ }
307
+ }
308
+ }
309
+ style {
310
+ display flex
311
+ alignItems center
312
+ justifyContent space-between
313
+ gap "1rem"
314
+ width "100%"
315
+ padding "1.4rem 0.25rem"
316
+ border none
317
+ background transparent
318
+ cursor pointer
319
+ textAlign left
320
+ fontFamily "var(--font-heading)"
321
+ fontSize "1.1rem"
322
+ fontWeight "600"
323
+ color "var(--color-text-primary)"
324
+ }
325
+ span "What kind of support do you offer?"
326
+ span ⌄ {
327
+ style {
328
+ flexShrink "0"
329
+ color "var(--color-primary)"
330
+ fontSize "1.1rem"
331
+ transition "transform 0.2s"
332
+ transform "${state.open === 5 ? 'rotate(180deg)' : 'rotate(0deg)'}"
333
+ }
334
+ }
335
+ }
336
+ div "Every plan includes documentation and community help. Pro adds priority email support, and Scale includes a dedicated success manager plus guaranteed response times." {
337
+ style {
338
+ display "${state.open === 5 ? 'block' : 'none'}"
339
+ padding "0 0.25rem 1.4rem"
340
+ color "var(--color-text-muted)"
341
+ fontSize "1rem"
342
+ lineHeight "1.7"
343
+ maxWidth "60ch"
344
+ }
345
+ }
346
+ }
347
+ }
@@ -0,0 +1,57 @@
1
+ /- kdl-version 2
2
+
3
+ sa-feature-card {
4
+ state icon="" title="" text="" col="2"
5
+ style {
6
+ display flex
7
+ flexDirection column
8
+ gridColumn "span ${state.col}"
9
+ padding "1.9rem"
10
+ backgroundColor "var(--color-bg-elev)"
11
+ borderRadius "var(--radius)"
12
+ border "1px solid var(--color-border)"
13
+ position relative
14
+ overflow hidden
15
+ transition "border-color 0.18s, transform 0.18s, box-shadow 0.18s"
16
+ @--md gridColumn="span 1"
17
+ :hover {
18
+ borderColor "rgba(124, 116, 255, 0.5)"
19
+ transform "translateY(-3px)"
20
+ boxShadow "0 18px 44px -20px var(--glow)"
21
+ }
22
+ }
23
+ div "${state.icon}" {
24
+ style {
25
+ display inline-flex
26
+ alignItems center
27
+ justifyContent center
28
+ width "2.9rem"
29
+ height "2.9rem"
30
+ borderRadius "0.7rem"
31
+ background "linear-gradient(150deg, rgba(124,116,255,0.28), rgba(34,211,238,0.14))"
32
+ border "1px solid var(--color-border)"
33
+ fontSize "1.45rem"
34
+ lineHeight "1"
35
+ marginBottom "1.1rem"
36
+ }
37
+ }
38
+ h3 "${state.title}" {
39
+ style {
40
+ fontFamily "var(--font-heading)"
41
+ fontSize "1.22rem"
42
+ fontWeight "600"
43
+ letterSpacing "-0.01em"
44
+ margin "0 0 0.5rem"
45
+ color "var(--color-text-primary)"
46
+ }
47
+ }
48
+ p "${state.text}" {
49
+ style {
50
+ margin "0"
51
+ color "var(--color-text-muted)"
52
+ fontSize "0.98rem"
53
+ lineHeight "1.65"
54
+ maxWidth "46ch"
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,43 @@
1
+ /- kdl-version 2
2
+
3
+ sa-feature-split {
4
+ state {
5
+ image type=string format=image default=""
6
+ imageAlt ""
7
+ reverse #false
8
+ }
9
+ style display=block padding="clamp(3rem, 7vw, 5rem) 1.5rem"
10
+ div {
11
+ style {
12
+ maxWidth "var(--max-width)"
13
+ margin "0 auto"
14
+ display grid
15
+ gridTemplateColumns "1fr 1fr"
16
+ gap "clamp(2rem, 5vw, 4rem)"
17
+ alignItems center
18
+ @--md gridTemplateColumns="1fr"
19
+ }
20
+ div {
21
+ style order="${state.reverse ? '2' : '1'}"
22
+ img src="${state.image}" alt="${state.imageAlt}" loading=lazy {
23
+ style {
24
+ width "100%"
25
+ height auto
26
+ borderRadius "var(--radius)"
27
+ display block
28
+ border "1px solid var(--color-border)"
29
+ boxShadow "0 18px 48px rgba(20, 20, 43, 0.12)"
30
+ }
31
+ }
32
+ }
33
+ div {
34
+ style {
35
+ order "${state.reverse ? '1' : '2'}"
36
+ fontSize "1.05rem"
37
+ lineHeight "1.75"
38
+ color "var(--color-text-primary)"
39
+ }
40
+ slot
41
+ }
42
+ }
43
+ }