@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,22 @@
1
+ /- kdl-version 2
2
+ $elements {
3
+ - (ref)"../components/hs-nav.jxn"
4
+ - (ref)"../components/hs-footer.jxn"
5
+ - (ref)"../components/hs-callbar.jxn"
6
+ }
7
+
8
+ div {
9
+ style {
10
+ minHeight "100vh"
11
+ display flex
12
+ flexDirection column
13
+ backgroundColor "var(--color-bg-white)"
14
+ }
15
+ hs-nav
16
+ main {
17
+ style flex="1"
18
+ slot
19
+ }
20
+ hs-footer
21
+ hs-callbar
22
+ }
@@ -9,10 +9,10 @@
9
9
  "dev": "jx dev"
10
10
  },
11
11
  "dependencies": {
12
- "@jxsuite/parser": "^4.3.2"
12
+ "@jxsuite/parser": "^4.3.4"
13
13
  },
14
14
  "devDependencies": {
15
- "@jxsuite/compiler": "^8.4.0",
16
- "@jxsuite/runtime": "^6.2.1"
15
+ "@jxsuite/compiler": "^8.6.0",
16
+ "@jxsuite/runtime": "^6.3.0"
17
17
  }
18
18
  }
@@ -0,0 +1,113 @@
1
+ /- kdl-version 2
2
+ $schema "./project.schema.json"
3
+ project "Summit Heating & Cooling"
4
+
5
+ url "https://example.com"
6
+
7
+ defaults layout="./layouts/base.jxn" lang=en
8
+
9
+ $head {
10
+ meta name=viewport content="width=device-width, initial-scale=1"
11
+ meta name=description content="Summit Heating & Cooling — licensed, insured HVAC contractor serving Northern Colorado with AC and furnace installation, repair, heat pumps, and 24/7 emergency service."
12
+ link rel=icon href="/favicon.svg"
13
+ link rel=preconnect href="https://fonts.googleapis.com"
14
+ link rel=preconnect href="https://fonts.gstatic.com" crossorigin=""
15
+ link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Barlow:wght@400;500;600;700&display=swap"
16
+ }
17
+
18
+ $media {
19
+ -- "1200px"
20
+ --lg "(max-width: 1024px)"
21
+ --md "(max-width: 768px)"
22
+ --sm "(max-width: 640px)"
23
+ }
24
+
25
+ style {
26
+ --color-primary "#f4511e"
27
+ --color-primary-hover "#d84315"
28
+ --color-primary-soft "rgba(244, 81, 30, 0.12)"
29
+ --color-ink "#0e1a23"
30
+ --color-steel "#122430"
31
+ --color-steel-2 "#1a3341"
32
+ --color-steel-line "#28414f"
33
+ --color-bg-dark "#0e1a23"
34
+ --color-bg-steel "#122430"
35
+ --color-bg-cream "#eef1f4"
36
+ --color-bg-concrete "#e5eaee"
37
+ --color-bg-white "#ffffff"
38
+ --color-text-primary "#14212b"
39
+ --color-text-white "#ffffff"
40
+ --color-text-muted "#5c6b77"
41
+ --color-text-steel-muted "#9fb2be"
42
+ --color-border "#d9e0e6"
43
+ --color-border-strong "#c1cbd3"
44
+ --color-accent "#f4511e"
45
+ --hazard "repeating-linear-gradient(-45deg, #f4511e 0 16px, #0e1a23 16px 32px)"
46
+ --font-heading "'Oswald', 'Arial Narrow', 'Segoe UI', system-ui, sans-serif"
47
+ --font-body "'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"
48
+ --max-width "1200px"
49
+ --max-width-narrow "820px"
50
+ --radius "0.5rem"
51
+ --radius-sm "0.35rem"
52
+ --shadow-card "0 2px 4px rgba(14,26,35,0.05), 0 16px 40px -22px rgba(14,26,35,0.35)"
53
+ --shadow-float "0 34px 70px -30px rgba(14,26,35,0.5)"
54
+ margin "0"
55
+ padding "0"
56
+ fontFamily "var(--font-body)"
57
+ fontSize "17px"
58
+ lineHeight "1.6"
59
+ color "var(--color-text-primary)"
60
+ backgroundColor "var(--color-bg-white)"
61
+ WebkitFontSmoothing antialiased
62
+ h1 {
63
+ fontFamily "var(--font-heading)"
64
+ }
65
+ h2 {
66
+ fontFamily "var(--font-heading)"
67
+ }
68
+ h3 {
69
+ fontFamily "var(--font-heading)"
70
+ }
71
+ h4 {
72
+ fontFamily "var(--font-heading)"
73
+ }
74
+ strong {
75
+ color "var(--color-text-primary)"
76
+ }
77
+ a {
78
+ color "var(--color-primary)"
79
+ fontWeight "600"
80
+ }
81
+ }
82
+
83
+ images {
84
+ optimize #true
85
+ widths 320 640 960 1280 1920
86
+ formats webp avif
87
+ quality webp=80 avif=65 jpeg=80 png=80
88
+ sizes "(max-width: 768px) 100vw, 50vw"
89
+ lazyLoad #true
90
+ }
91
+
92
+ content {
93
+ services {
94
+ source "./content/services/"
95
+ format Markdown
96
+ schema {
97
+ type object
98
+ properties {
99
+ name type=string
100
+ summary type=string
101
+ icon type=string
102
+ order type=number
103
+ }
104
+ required name summary
105
+ }
106
+ }
107
+ }
108
+
109
+ build outDir="./dist" format=directory trailingSlash=always
110
+
111
+ extensions {
112
+ - "@jxsuite/parser"
113
+ }
@@ -0,0 +1,63 @@
1
+ /- kdl-version 2
2
+
3
+ mu-band {
4
+ state index="" label="" tone=chalk
5
+ style {
6
+ display block
7
+ borderBlockStart "2px solid var(--color-ink)"
8
+ paddingBlock "var(--band-space)"
9
+ paddingInline "var(--gutter)"
10
+ backgroundColor "${state.tone === 'card' ? 'var(--color-card)' : state.tone === 'ink' ? 'var(--color-ink)' : 'var(--color-chalk)'}"
11
+ color "${state.tone === 'ink' ? 'var(--color-chalk)' : 'var(--color-ink)'}"
12
+ }
13
+ div {
14
+ style {
15
+ maxWidth "var(--max-width)"
16
+ marginInline auto
17
+ display grid
18
+ gridTemplateColumns "var(--label-column) minmax(0, 1fr)"
19
+ columnGap "clamp(1.5rem, 4vw, 3.5rem)"
20
+ @--md gridTemplateColumns="minmax(0, 1fr)" rowGap="1.75rem"
21
+ }
22
+ div {
23
+ style display=flex flexDirection=column alignItems=start gap="0.6rem" {
24
+ @--md flexDirection=row alignItems=baseline gap="0.9rem"
25
+ }
26
+ span "${state.index}" {
27
+ style {
28
+ display "${state.index ? 'block' : 'none'}"
29
+ fontFamily "var(--font-label)"
30
+ fontSize "0.95rem"
31
+ fontWeight "500"
32
+ fontVariantNumeric tabular-nums
33
+ lineHeight "1"
34
+ color "${state.tone === 'ink' ? 'var(--color-chalk)' : 'var(--color-pigment)'}"
35
+ }
36
+ }
37
+ span aria-hidden="true" {
38
+ style {
39
+ display block
40
+ width "2.25rem"
41
+ height "2px"
42
+ backgroundColor "${state.tone === 'ink' ? 'rgba(231, 227, 218, 0.5)' : 'var(--color-pigment)'}"
43
+ @--md display=none
44
+ }
45
+ }
46
+ span "${state.label}" {
47
+ style {
48
+ display "${state.label ? 'block' : 'none'}"
49
+ fontFamily "var(--font-label)"
50
+ fontSize "0.66rem"
51
+ lineHeight "1.5"
52
+ letterSpacing "var(--label-tracking)"
53
+ textTransform "var(--label-case)"
54
+ color "${state.tone === 'ink' ? 'rgba(231, 227, 218, 0.7)' : 'var(--color-muted)'}"
55
+ }
56
+ }
57
+ }
58
+ div {
59
+ style minWidth="0"
60
+ slot
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,76 @@
1
+ /- kdl-version 2
2
+
3
+ mu-cta {
4
+ state kicker="" heading="" text="" label="" href="/visit/"
5
+ style {
6
+ display block
7
+ backgroundColor "var(--color-ink)"
8
+ color "var(--color-chalk)"
9
+ borderBlockStart "2px solid var(--color-ink)"
10
+ paddingBlock "clamp(2.6rem, 6vw, 4rem)"
11
+ paddingInline "var(--gutter)"
12
+ }
13
+ div {
14
+ style {
15
+ maxWidth "var(--max-width)"
16
+ marginInline auto
17
+ display flex
18
+ flexWrap wrap
19
+ alignItems center
20
+ justifyContent space-between
21
+ gap "1.75rem"
22
+ }
23
+ div {
24
+ style minWidth="0"
25
+ p "${state.kicker}" {
26
+ style {
27
+ display "${state.kicker ? 'block' : 'none'}"
28
+ margin "0 0 0.9rem"
29
+ fontFamily "var(--font-label)"
30
+ fontSize "0.66rem"
31
+ letterSpacing "var(--label-tracking)"
32
+ textTransform "var(--label-case)"
33
+ color "rgba(231, 227, 218, 0.6)"
34
+ }
35
+ }
36
+ h2 "${state.heading}" {
37
+ style {
38
+ margin "0"
39
+ fontFamily "var(--font-display)"
40
+ fontSize "clamp(1.7rem, 3.4vw, 2.5rem)"
41
+ fontWeight "500"
42
+ lineHeight "calc(1.1 * var(--leading-scale))"
43
+ letterSpacing "var(--display-tracking)"
44
+ maxWidth "20ch"
45
+ }
46
+ }
47
+ p "${state.text}" {
48
+ style {
49
+ display "${state.text ? 'block' : 'none'}"
50
+ margin "1rem 0 0"
51
+ fontSize "1.03rem"
52
+ lineHeight "1.65"
53
+ color "rgba(231, 227, 218, 0.75)"
54
+ maxWidth "46ch"
55
+ }
56
+ }
57
+ }
58
+ a href="${state.href}" "${state.label}" {
59
+ style {
60
+ display inline-block
61
+ padding "1rem 1.8rem"
62
+ backgroundColor "var(--color-chalk)"
63
+ color "var(--color-ink)"
64
+ border "2px solid var(--color-chalk)"
65
+ fontFamily "var(--font-label)"
66
+ fontSize "0.72rem"
67
+ letterSpacing "var(--label-tracking)"
68
+ textTransform "var(--label-case)"
69
+ textDecoration none
70
+ whiteSpace nowrap
71
+ transition "background-color 0.15s, color 0.15s"
72
+ :hover backgroundColor=transparent color="var(--color-chalk)"
73
+ }
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,118 @@
1
+ /- kdl-version 2
2
+
3
+ mu-exhibition-card {
4
+ state {
5
+ title ""
6
+ description ""
7
+ gallery ""
8
+ status ""
9
+ href "#"
10
+ hue 214
11
+ date ""
12
+ until ""
13
+ locale en
14
+ opens {
15
+ $expression {
16
+ operator call
17
+ target (ref)"window#/Intl/formatDate"
18
+ value {
19
+ - (ref)"#/state/date"
20
+ - (ref)"#/state/locale"
21
+ - day=numeric month=long
22
+ }
23
+ }
24
+ }
25
+ closes {
26
+ $expression {
27
+ operator call
28
+ target (ref)"window#/Intl/formatDate"
29
+ value {
30
+ - (ref)"#/state/until"
31
+ - (ref)"#/state/locale"
32
+ - day=numeric month=long year=numeric
33
+ }
34
+ }
35
+ }
36
+ }
37
+ style display=block height="100%"
38
+ a href="${state.href}" {
39
+ style {
40
+ display flex
41
+ flexDirection column
42
+ height "100%"
43
+ border "2px solid var(--color-ink)"
44
+ backgroundColor "var(--color-card)"
45
+ color inherit
46
+ textDecoration none
47
+ transition "border-color 0.15s"
48
+ :hover borderColor="var(--color-pigment)"
49
+ }
50
+ div aria-hidden="true" {
51
+ style {
52
+ aspectRatio "5 / 4"
53
+ borderBlockEnd "2px solid var(--color-ink)"
54
+ background "radial-gradient(circle at 64% 38%, hsl(${state.hue} 55% 45%) 0 29%, transparent 29.5%), repeating-linear-gradient(${state.hue}deg, var(--color-chalk-deep) 0 9px, var(--color-card) 9px 18px)"
55
+ }
56
+ }
57
+ div {
58
+ style display=flex flexDirection=column gap="0.75rem" flex="1" padding="1.25rem"
59
+ p "${state.status}" {
60
+ style {
61
+ display "${state.status ? 'inline-block' : 'none'}"
62
+ alignSelf start
63
+ margin "0"
64
+ paddingInline "0.55rem"
65
+ paddingBlock "0.3rem"
66
+ backgroundColor "var(--color-pigment-tint)"
67
+ color "var(--color-pigment-deep)"
68
+ fontFamily "var(--font-label)"
69
+ fontSize "0.62rem"
70
+ letterSpacing "var(--label-tracking)"
71
+ textTransform "var(--label-case)"
72
+ }
73
+ }
74
+ h3 "${state.title}" {
75
+ style {
76
+ margin "0"
77
+ fontFamily "var(--font-display)"
78
+ fontSize "1.3rem"
79
+ fontWeight "500"
80
+ lineHeight "calc(1.15 * var(--leading-scale))"
81
+ letterSpacing "-0.015em"
82
+ }
83
+ }
84
+ p {
85
+ style {
86
+ display flex
87
+ flexWrap wrap
88
+ gap "0.4rem"
89
+ margin "0"
90
+ fontFamily "var(--font-label)"
91
+ fontSize "0.72rem"
92
+ fontVariantNumeric tabular-nums
93
+ color "var(--color-pigment)"
94
+ }
95
+ span "${state.opens}"
96
+ span aria-hidden="true" — {
97
+ style opacity="0.55"
98
+ }
99
+ span "${state.closes}"
100
+ }
101
+ p "${state.description}" {
102
+ style margin="0" fontSize="0.97rem" lineHeight="1.6" color="var(--color-muted)"
103
+ }
104
+ p "${state.gallery}" {
105
+ style {
106
+ margin "auto 0 0"
107
+ paddingBlockStart "0.9rem"
108
+ borderBlockStart "1px solid var(--color-hairline)"
109
+ fontFamily "var(--font-label)"
110
+ fontSize "0.64rem"
111
+ letterSpacing "var(--label-tracking)"
112
+ textTransform "var(--label-case)"
113
+ color "var(--color-muted)"
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,142 @@
1
+ /- kdl-version 2
2
+
3
+ mu-exhibition-row {
4
+ state {
5
+ index ""
6
+ title ""
7
+ description ""
8
+ gallery ""
9
+ curator ""
10
+ curatorLabel "Curated by"
11
+ href "#"
12
+ hue 214
13
+ date ""
14
+ until ""
15
+ locale en
16
+ order 0
17
+ orderLabel {
18
+ $expression {
19
+ operator call
20
+ target (ref)"window#/Intl/formatNumber"
21
+ value {
22
+ - (ref)"#/state/order"
23
+ - (ref)"#/state/locale"
24
+ - minimumIntegerDigits=2 useGrouping=#false
25
+ }
26
+ }
27
+ }
28
+ opens {
29
+ $expression {
30
+ operator call
31
+ target (ref)"window#/Intl/formatDate"
32
+ value {
33
+ - (ref)"#/state/date"
34
+ - (ref)"#/state/locale"
35
+ - day=numeric month=long year=numeric
36
+ }
37
+ }
38
+ }
39
+ closes {
40
+ $expression {
41
+ operator call
42
+ target (ref)"window#/Intl/formatDate"
43
+ value {
44
+ - (ref)"#/state/until"
45
+ - (ref)"#/state/locale"
46
+ - day=numeric month=long year=numeric
47
+ }
48
+ }
49
+ }
50
+ }
51
+ style display=block borderBlockStart="1px solid var(--color-hairline)"
52
+ a href="${state.href}" {
53
+ style {
54
+ display grid
55
+ gridTemplateColumns "var(--label-column) 7.5rem minmax(0, 1fr)"
56
+ columnGap "clamp(1.25rem, 3.5vw, 3rem)"
57
+ alignItems start
58
+ paddingBlock "clamp(1.75rem, 4vw, 2.75rem)"
59
+ color inherit
60
+ textDecoration none
61
+ @--md gridTemplateColumns="4.5rem minmax(0, 1fr)" rowGap="1rem"
62
+ :hover color="var(--color-pigment)"
63
+ transition "color 0.15s"
64
+ }
65
+ span "${state.index ? state.index : state.orderLabel}" {
66
+ style {
67
+ fontFamily "var(--font-label)"
68
+ fontSize "0.95rem"
69
+ fontVariantNumeric tabular-nums
70
+ lineHeight "1.1"
71
+ color "var(--color-pigment)"
72
+ }
73
+ }
74
+ span aria-hidden="true" {
75
+ style {
76
+ display block
77
+ aspectRatio "1"
78
+ border "2px solid var(--color-ink)"
79
+ background "radial-gradient(circle at 60% 40%, hsl(${state.hue} 55% 45%) 0 34%, transparent 34.5%), repeating-linear-gradient(${state.hue}deg, var(--color-chalk-deep) 0 7px, var(--color-card) 7px 14px)"
80
+ @--md display=none
81
+ }
82
+ }
83
+ div {
84
+ style minWidth="0"
85
+ h2 "${state.title}" {
86
+ style {
87
+ margin "0"
88
+ fontFamily "var(--font-display)"
89
+ fontSize "clamp(1.6rem, 3.4vw, 2.4rem)"
90
+ fontWeight "500"
91
+ lineHeight "calc(1.06 * var(--leading-scale))"
92
+ letterSpacing "var(--display-tracking)"
93
+ }
94
+ }
95
+ p {
96
+ style {
97
+ display flex
98
+ flexWrap wrap
99
+ gap "0.45rem"
100
+ margin "0.85rem 0 0"
101
+ fontFamily "var(--font-label)"
102
+ fontSize "0.7rem"
103
+ fontVariantNumeric tabular-nums
104
+ color "var(--color-pigment)"
105
+ }
106
+ span "${state.opens}"
107
+ span aria-hidden="true" — {
108
+ style opacity="0.55"
109
+ }
110
+ span "${state.closes}"
111
+ }
112
+ p "${state.description}" {
113
+ style {
114
+ margin "0.9rem 0 0"
115
+ fontSize "1.05rem"
116
+ lineHeight "1.7"
117
+ color "var(--color-muted)"
118
+ maxWidth "var(--measure)"
119
+ }
120
+ }
121
+ p {
122
+ style {
123
+ display flex
124
+ flexWrap wrap
125
+ gap "0.4rem 1.5rem"
126
+ margin "1.1rem 0 0"
127
+ fontFamily "var(--font-label)"
128
+ fontSize "0.64rem"
129
+ letterSpacing "var(--label-tracking)"
130
+ textTransform "var(--label-case)"
131
+ color "var(--color-muted)"
132
+ }
133
+ span "${state.gallery}"
134
+ span {
135
+ style display="${state.curator ? 'inline-flex' : 'none'}" gap="0.35rem"
136
+ span "${state.curatorLabel}"
137
+ span "${state.curator}"
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,40 @@
1
+ /- kdl-version 2
2
+
3
+ mu-fact {
4
+ state term="" value="" note="" layout=row
5
+ style {
6
+ display grid
7
+ gridTemplateColumns "${state.layout === 'stack' ? 'minmax(0, 1fr)' : 'var(--label-column) minmax(0, 1fr)'}"
8
+ columnGap "clamp(1rem, 3vw, 2rem)"
9
+ paddingBlock "0.95rem"
10
+ borderBlockStart "1px solid var(--color-hairline)"
11
+ @--sm gridTemplateColumns="minmax(0, 1fr)" rowGap="0.3rem"
12
+ rowGap "0.3rem"
13
+ }
14
+ span "${state.term}" {
15
+ style {
16
+ paddingBlockStart "0.28rem"
17
+ fontFamily "var(--font-label)"
18
+ fontSize "0.66rem"
19
+ lineHeight "1.5"
20
+ letterSpacing "var(--label-tracking)"
21
+ textTransform "var(--label-case)"
22
+ color "var(--color-muted)"
23
+ }
24
+ }
25
+ div {
26
+ style minWidth="0"
27
+ p "${state.value}" {
28
+ style margin="0" fontSize="1.03rem" lineHeight="1.55"
29
+ }
30
+ p "${state.note}" {
31
+ style {
32
+ display "${state.note ? 'block' : 'none'}"
33
+ margin "0.25rem 0 0"
34
+ fontSize "0.9rem"
35
+ lineHeight "1.55"
36
+ color "var(--color-muted)"
37
+ }
38
+ }
39
+ }
40
+ }