@jxsuite/starters 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/package.json +5 -5
  2. package/sites/blog/components/bl-author-bio.jxn +64 -0
  3. package/sites/blog/components/bl-contact-form.jxn +77 -0
  4. package/sites/blog/components/bl-contact-info.jxn +32 -0
  5. package/sites/blog/components/bl-cta.jxn +52 -0
  6. package/sites/blog/components/bl-footer.jxn +85 -0
  7. package/sites/blog/components/bl-masthead.jxn +111 -0
  8. package/sites/blog/components/bl-nav.jxn +62 -0
  9. package/sites/blog/components/bl-newsletter-cta.jxn +104 -0
  10. package/sites/blog/components/bl-post-card.jxn +106 -0
  11. package/sites/blog/components/bl-post-list.jxn +11 -0
  12. package/sites/blog/components/bl-prose.jxn +67 -0
  13. package/sites/blog/components/bl-section-header.jxn +52 -0
  14. package/sites/blog/components/bl-tag-pill.jxn +19 -0
  15. package/sites/blog/document.schema.json +26 -2
  16. package/sites/blog/layouts/base.jxn +17 -0
  17. package/sites/blog/layouts/post.jxn +13 -0
  18. package/sites/blog/package.json +3 -3
  19. package/sites/blog/pages/[slug].jxn +107 -0
  20. package/sites/blog/project.jxn +1 -1
  21. package/sites/course/components/co-application.jxn +106 -0
  22. package/sites/course/components/co-cohort.jxn +132 -0
  23. package/sites/course/components/co-cta.jxn +95 -0
  24. package/sites/course/components/co-curriculum-accordion.jxn +917 -0
  25. package/sites/course/components/co-faq.jxn +348 -0
  26. package/sites/course/components/co-footer.jxn +138 -0
  27. package/sites/course/components/co-hero.jxn +354 -0
  28. package/sites/course/components/co-instructor-card.jxn +128 -0
  29. package/sites/course/components/co-mentor.jxn +51 -0
  30. package/sites/course/components/co-module-card.jxn +101 -0
  31. package/sites/course/components/co-nav.jxn +172 -0
  32. package/sites/course/components/co-outcome-card.jxn +57 -0
  33. package/sites/course/components/co-outcomes.jxn +179 -0
  34. package/sites/course/components/co-pricing.jxn +145 -0
  35. package/sites/course/components/co-section-header.jxn +55 -0
  36. package/sites/course/components/co-testimonial-card.jxn +69 -0
  37. package/sites/course/document.schema.json +26 -2
  38. package/sites/course/layouts/base.jxn +17 -0
  39. package/sites/course/package.json +3 -3
  40. package/sites/course/project.jxn +1 -1
  41. package/sites/event/components/ev-agenda-tabs.jxn +663 -0
  42. package/sites/event/components/ev-cta.jxn +93 -0
  43. package/sites/event/components/ev-feature.jxn +46 -0
  44. package/sites/event/components/ev-footer.jxn +135 -0
  45. package/sites/event/components/ev-hero.jxn +323 -0
  46. package/sites/event/components/ev-nav.jxn +142 -0
  47. package/sites/event/components/ev-reason.jxn +50 -0
  48. package/sites/event/components/ev-savedate.jxn +268 -0
  49. package/sites/event/components/ev-section-header.jxn +51 -0
  50. package/sites/event/components/ev-session-row.jxn +103 -0
  51. package/sites/event/components/ev-speaker-card.jxn +104 -0
  52. package/sites/event/components/ev-sponsors.jxn +110 -0
  53. package/sites/event/components/ev-stat.jxn +39 -0
  54. package/sites/event/components/ev-ticket-card.jxn +169 -0
  55. package/sites/event/components/ev-venue.jxn +61 -0
  56. package/sites/event/document.schema.json +26 -2
  57. package/sites/event/layouts/base.jxn +12 -0
  58. package/sites/event/package.json +3 -3
  59. package/sites/event/project.jxn +1 -1
  60. package/sites/fitness-studio/components/fs-band.jxn +119 -0
  61. package/sites/fitness-studio/components/fs-booking.jxn +92 -0
  62. package/sites/fitness-studio/components/fs-class-card.jxn +103 -0
  63. package/sites/fitness-studio/components/fs-class-grid.jxn +23 -0
  64. package/sites/fitness-studio/components/fs-cta.jxn +81 -0
  65. package/sites/fitness-studio/components/fs-feature.jxn +40 -0
  66. package/sites/fitness-studio/components/fs-footer.jxn +116 -0
  67. package/sites/fitness-studio/components/fs-hero.jxn +290 -0
  68. package/sites/fitness-studio/components/fs-hours.jxn +78 -0
  69. package/sites/fitness-studio/components/fs-instructor-card.jxn +104 -0
  70. package/sites/fitness-studio/components/fs-intro.jxn +231 -0
  71. package/sites/fitness-studio/components/fs-modality.jxn +133 -0
  72. package/sites/fitness-studio/components/fs-nav.jxn +95 -0
  73. package/sites/fitness-studio/components/fs-pricing-card.jxn +190 -0
  74. package/sites/fitness-studio/components/fs-pricing-table.jxn +322 -0
  75. package/sites/fitness-studio/components/fs-review.jxn +59 -0
  76. package/sites/fitness-studio/components/fs-schedule.jxn +714 -0
  77. package/sites/fitness-studio/components/fs-section-header.jxn +55 -0
  78. package/sites/fitness-studio/document.schema.json +26 -2
  79. package/sites/fitness-studio/layouts/base.jxn +17 -0
  80. package/sites/fitness-studio/package.json +3 -3
  81. package/sites/fitness-studio/project.jxn +1 -1
  82. package/sites/home-services/components/hs-callbar.jxn +60 -0
  83. package/sites/home-services/components/hs-cta.jxn +139 -0
  84. package/sites/home-services/components/hs-feature.jxn +43 -0
  85. package/sites/home-services/components/hs-footer.jxn +169 -0
  86. package/sites/home-services/components/hs-gallery.jxn +51 -0
  87. package/sites/home-services/components/hs-hero.jxn +308 -0
  88. package/sites/home-services/components/hs-intro.jxn +97 -0
  89. package/sites/home-services/components/hs-nav.jxn +207 -0
  90. package/sites/home-services/components/hs-reservation.jxn +125 -0
  91. package/sites/home-services/components/hs-review.jxn +84 -0
  92. package/sites/home-services/components/hs-section-header.jxn +56 -0
  93. package/sites/home-services/components/hs-service-card.jxn +68 -0
  94. package/sites/home-services/components/hs-stat.jxn +40 -0
  95. package/sites/home-services/components/hs-step.jxn +67 -0
  96. package/sites/home-services/components/hs-trust-bar.jxn +183 -0
  97. package/sites/home-services/document.schema.json +26 -2
  98. package/sites/home-services/layouts/base.jxn +22 -0
  99. package/sites/home-services/package.json +3 -3
  100. package/sites/home-services/project.jxn +1 -1
  101. package/sites/museum/components/mu-band.jxn +63 -0
  102. package/sites/museum/components/mu-cta.jxn +76 -0
  103. package/sites/museum/components/mu-exhibition-card.jxn +118 -0
  104. package/sites/museum/components/mu-exhibition-row.jxn +142 -0
  105. package/sites/museum/components/mu-fact.jxn +40 -0
  106. package/sites/museum/components/mu-footer.jxn +206 -0
  107. package/sites/museum/components/mu-hero.jxn +165 -0
  108. package/sites/museum/components/mu-more.jxn +30 -0
  109. package/sites/museum/components/mu-oculus.jxn +33 -0
  110. package/sites/museum/components/mu-pagehead.jxn +76 -0
  111. package/sites/museum/components/mu-quote.jxn +36 -0
  112. package/sites/museum/document.schema.json +26 -2
  113. package/sites/museum/layouts/ar.jxn +31 -0
  114. package/sites/museum/layouts/base.jxn +227 -0
  115. package/sites/museum/layouts/fr-ca.jxn +30 -0
  116. package/sites/museum/package.json +3 -3
  117. package/sites/museum/pages/about.jxn +228 -0
  118. package/sites/museum/pages/ar/about.jxn +232 -0
  119. package/sites/museum/pages/ar/exhibitions/[slug].jxn +150 -0
  120. package/sites/museum/pages/ar/exhibitions/index.jxn +82 -0
  121. package/sites/museum/pages/ar/index.jxn +206 -0
  122. package/sites/museum/pages/ar/visit.jxn +270 -0
  123. package/sites/museum/pages/exhibitions/[slug].jxn +146 -0
  124. package/sites/museum/pages/exhibitions/index.jxn +78 -0
  125. package/sites/museum/pages/fr-ca/a-propos.jxn +233 -0
  126. package/sites/museum/pages/fr-ca/expositions/[slug].jxn +151 -0
  127. package/sites/museum/pages/fr-ca/expositions/index.jxn +83 -0
  128. package/sites/museum/pages/fr-ca/index.jxn +206 -0
  129. package/sites/museum/pages/fr-ca/visite.jxn +271 -0
  130. package/sites/museum/pages/index.jxn +202 -0
  131. package/sites/museum/pages/visit.jxn +266 -0
  132. package/sites/museum/project.jxn +1 -1
  133. package/sites/nonprofit/components/np-contact-form.jxn +97 -0
  134. package/sites/nonprofit/components/np-contact-info.jxn +104 -0
  135. package/sites/nonprofit/components/np-cta.jxn +163 -0
  136. package/sites/nonprofit/components/np-donate-tier.jxn +103 -0
  137. package/sites/nonprofit/components/np-feature.jxn +46 -0
  138. package/sites/nonprofit/components/np-footer.jxn +194 -0
  139. package/sites/nonprofit/components/np-hero.jxn +275 -0
  140. package/sites/nonprofit/components/np-impact-band.jxn +83 -0
  141. package/sites/nonprofit/components/np-intro.jxn +130 -0
  142. package/sites/nonprofit/components/np-nav.jxn +157 -0
  143. package/sites/nonprofit/components/np-program-card.jxn +95 -0
  144. package/sites/nonprofit/components/np-section-header.jxn +63 -0
  145. package/sites/nonprofit/components/np-stat.jxn +51 -0
  146. package/sites/nonprofit/components/np-step.jxn +73 -0
  147. package/sites/nonprofit/components/np-team-member.jxn +60 -0
  148. package/sites/nonprofit/components/np-testimonial.jxn +120 -0
  149. package/sites/nonprofit/document.schema.json +26 -2
  150. package/sites/nonprofit/layouts/base.jxn +17 -0
  151. package/sites/nonprofit/package.json +3 -3
  152. package/sites/nonprofit/project.jxn +1 -1
  153. package/sites/portfolio/components/pv-about-split.jxn +53 -0
  154. package/sites/portfolio/components/pv-category-pill.jxn +19 -0
  155. package/sites/portfolio/components/pv-contact-form.jxn +72 -0
  156. package/sites/portfolio/components/pv-cta.jxn +62 -0
  157. package/sites/portfolio/components/pv-feature.jxn +28 -0
  158. package/sites/portfolio/components/pv-footer.jxn +113 -0
  159. package/sites/portfolio/components/pv-gallery.jxn +40 -0
  160. package/sites/portfolio/components/pv-hero.jxn +109 -0
  161. package/sites/portfolio/components/pv-nav.jxn +76 -0
  162. package/sites/portfolio/components/pv-project-card.jxn +118 -0
  163. package/sites/portfolio/components/pv-project-grid.jxn +29 -0
  164. package/sites/portfolio/components/pv-section-header.jxn +65 -0
  165. package/sites/portfolio/document.schema.json +26 -2
  166. package/sites/portfolio/layouts/base.jxn +12 -0
  167. package/sites/portfolio/package.json +3 -3
  168. package/sites/portfolio/pages/[slug].jxn +177 -0
  169. package/sites/portfolio/project.jxn +1 -1
  170. package/sites/professional-firm/components/pf-article-header.jxn +60 -0
  171. package/sites/professional-firm/components/pf-contact-form.jxn +74 -0
  172. package/sites/professional-firm/components/pf-contact-info.jxn +101 -0
  173. package/sites/professional-firm/components/pf-cta.jxn +63 -0
  174. package/sites/professional-firm/components/pf-feature.jxn +32 -0
  175. package/sites/professional-firm/components/pf-footer.jxn +171 -0
  176. package/sites/professional-firm/components/pf-hero.jxn +139 -0
  177. package/sites/professional-firm/components/pf-insight-row.jxn +111 -0
  178. package/sites/professional-firm/components/pf-intro.jxn +68 -0
  179. package/sites/professional-firm/components/pf-logo-bar.jxn +90 -0
  180. package/sites/professional-firm/components/pf-nav.jxn +93 -0
  181. package/sites/professional-firm/components/pf-section-header.jxn +53 -0
  182. package/sites/professional-firm/components/pf-service-row.jxn +67 -0
  183. package/sites/professional-firm/components/pf-statband.jxn +135 -0
  184. package/sites/professional-firm/components/pf-team-member.jxn +53 -0
  185. package/sites/professional-firm/document.schema.json +26 -2
  186. package/sites/professional-firm/layouts/article.jxn +88 -0
  187. package/sites/professional-firm/layouts/base.jxn +12 -0
  188. package/sites/professional-firm/package.json +3 -3
  189. package/sites/professional-firm/pages/insights/[slug].jxn +106 -0
  190. package/sites/professional-firm/project.jxn +1 -1
  191. package/sites/real-estate/components/re-agent-band.jxn +165 -0
  192. package/sites/real-estate/components/re-agent-card.jxn +78 -0
  193. package/sites/real-estate/components/re-contact-form.jxn +119 -0
  194. package/sites/real-estate/components/re-cta.jxn +98 -0
  195. package/sites/real-estate/components/re-detail-row.jxn +18 -0
  196. package/sites/real-estate/components/re-feature.jxn +41 -0
  197. package/sites/real-estate/components/re-footer.jxn +219 -0
  198. package/sites/real-estate/components/re-hero.jxn +367 -0
  199. package/sites/real-estate/components/re-intro.jxn +43 -0
  200. package/sites/real-estate/components/re-listing-card.jxn +210 -0
  201. package/sites/real-estate/components/re-listings-filter.jxn +371 -0
  202. package/sites/real-estate/components/re-nav.jxn +162 -0
  203. package/sites/real-estate/components/re-neighborhood.jxn +101 -0
  204. package/sites/real-estate/components/re-section-header.jxn +55 -0
  205. package/sites/real-estate/components/re-stat.jxn +26 -0
  206. package/sites/real-estate/components/re-step.jxn +42 -0
  207. package/sites/real-estate/components/re-testimonial.jxn +66 -0
  208. package/sites/real-estate/document.schema.json +26 -2
  209. package/sites/real-estate/layouts/base.jxn +17 -0
  210. package/sites/real-estate/package.json +3 -3
  211. package/sites/real-estate/pages/[slug].jxn +452 -0
  212. package/sites/real-estate/project.jxn +1 -1
  213. package/sites/restaurant/components/bit-cta.jxn +105 -0
  214. package/sites/restaurant/components/bit-feature.jxn +38 -0
  215. package/sites/restaurant/components/bit-footer.jxn +142 -0
  216. package/sites/restaurant/components/bit-gallery.jxn +50 -0
  217. package/sites/restaurant/components/bit-hero.jxn +194 -0
  218. package/sites/restaurant/components/bit-hours.jxn +145 -0
  219. package/sites/restaurant/components/bit-intro.jxn +75 -0
  220. package/sites/restaurant/components/bit-menu-group.jxn +51 -0
  221. package/sites/restaurant/components/bit-menu-item.jxn +50 -0
  222. package/sites/restaurant/components/bit-nav.jxn +145 -0
  223. package/sites/restaurant/components/bit-reservation.jxn +90 -0
  224. package/sites/restaurant/components/bit-review.jxn +54 -0
  225. package/sites/restaurant/components/bit-section-header.jxn +73 -0
  226. package/sites/restaurant/document.schema.json +26 -2
  227. package/sites/restaurant/layouts/base.jxn +17 -0
  228. package/sites/restaurant/package.json +3 -3
  229. package/sites/restaurant/project.jxn +1 -1
  230. package/sites/saas/components/sa-check-item.jxn +25 -0
  231. package/sites/saas/components/sa-contact-form.jxn +94 -0
  232. package/sites/saas/components/sa-cta.jxn +68 -0
  233. package/sites/saas/components/sa-faq.jxn +347 -0
  234. package/sites/saas/components/sa-feature-card.jxn +57 -0
  235. package/sites/saas/components/sa-feature-split.jxn +43 -0
  236. package/sites/saas/components/sa-footer.jxn +106 -0
  237. package/sites/saas/components/sa-hero.jxn +217 -0
  238. package/sites/saas/components/sa-logo-cloud.jxn +98 -0
  239. package/sites/saas/components/sa-nav.jxn +108 -0
  240. package/sites/saas/components/sa-pricing.jxn +317 -0
  241. package/sites/saas/components/sa-section-header.jxn +43 -0
  242. package/sites/saas/components/sa-stat.jxn +32 -0
  243. package/sites/saas/components/sa-testimonial-card.jxn +37 -0
  244. package/sites/saas/document.schema.json +26 -2
  245. package/sites/saas/layouts/base.jxn +17 -0
  246. package/sites/saas/package.json +3 -3
  247. package/sites/saas/project.jxn +1 -1
  248. package/sites/shop/components/shp-badge.jxn +17 -0
  249. package/sites/shop/components/shp-category-tile.jxn +79 -0
  250. package/sites/shop/components/shp-contact-form.jxn +84 -0
  251. package/sites/shop/components/shp-cta.jxn +85 -0
  252. package/sites/shop/components/shp-feature.jxn +44 -0
  253. package/sites/shop/components/shp-footer.jxn +311 -0
  254. package/sites/shop/components/shp-hero.jxn +311 -0
  255. package/sites/shop/components/shp-intro.jxn +42 -0
  256. package/sites/shop/components/shp-nav.jxn +273 -0
  257. package/sites/shop/components/shp-newsletter.jxn +119 -0
  258. package/sites/shop/components/shp-product-card.jxn +187 -0
  259. package/sites/shop/components/shp-product-filter.jxn +263 -0
  260. package/sites/shop/components/shp-review.jxn +38 -0
  261. package/sites/shop/components/shp-section-header.jxn +61 -0
  262. package/sites/shop/components/shp-service.jxn +58 -0
  263. package/sites/shop/components/shp-stat.jxn +27 -0
  264. package/sites/shop/components/shp-trust.jxn +39 -0
  265. package/sites/shop/components/shp-visit-info.jxn +82 -0
  266. package/sites/shop/document.schema.json +26 -2
  267. package/sites/shop/layouts/base.jxn +17 -0
  268. package/sites/shop/package.json +3 -3
  269. package/sites/shop/pages/products/[sku].jxn +351 -0
  270. package/sites/shop/project.jxn +1 -1
  271. package/sites/blog/components/bl-author-bio.json +0 -86
  272. package/sites/blog/components/bl-contact-form.json +0 -114
  273. package/sites/blog/components/bl-contact-info.json +0 -54
  274. package/sites/blog/components/bl-cta.json +0 -68
  275. package/sites/blog/components/bl-footer.json +0 -122
  276. package/sites/blog/components/bl-masthead.json +0 -134
  277. package/sites/blog/components/bl-nav.json +0 -90
  278. package/sites/blog/components/bl-newsletter-cta.json +0 -134
  279. package/sites/blog/components/bl-post-card.json +0 -132
  280. package/sites/blog/components/bl-post-list.json +0 -10
  281. package/sites/blog/components/bl-prose.json +0 -89
  282. package/sites/blog/components/bl-section-header.json +0 -70
  283. package/sites/blog/components/bl-tag-pill.json +0 -29
  284. package/sites/blog/layouts/base.json +0 -22
  285. package/sites/blog/layouts/post.json +0 -15
  286. package/sites/blog/pages/[slug].json +0 -148
  287. package/sites/course/components/co-application.json +0 -225
  288. package/sites/course/components/co-cohort.json +0 -172
  289. package/sites/course/components/co-cta.json +0 -126
  290. package/sites/course/components/co-curriculum-accordion.json +0 -1476
  291. package/sites/course/components/co-faq.json +0 -524
  292. package/sites/course/components/co-footer.json +0 -195
  293. package/sites/course/components/co-hero.json +0 -475
  294. package/sites/course/components/co-instructor-card.json +0 -159
  295. package/sites/course/components/co-mentor.json +0 -65
  296. package/sites/course/components/co-module-card.json +0 -138
  297. package/sites/course/components/co-nav.json +0 -244
  298. package/sites/course/components/co-outcome-card.json +0 -84
  299. package/sites/course/components/co-outcomes.json +0 -248
  300. package/sites/course/components/co-pricing.json +0 -178
  301. package/sites/course/components/co-section-header.json +0 -74
  302. package/sites/course/components/co-testimonial-card.json +0 -109
  303. package/sites/course/layouts/base.json +0 -22
  304. package/sites/event/components/ev-agenda-tabs.json +0 -828
  305. package/sites/event/components/ev-cta.json +0 -126
  306. package/sites/event/components/ev-feature.json +0 -62
  307. package/sites/event/components/ev-footer.json +0 -197
  308. package/sites/event/components/ev-hero.json +0 -431
  309. package/sites/event/components/ev-nav.json +0 -186
  310. package/sites/event/components/ev-reason.json +0 -64
  311. package/sites/event/components/ev-savedate.json +0 -331
  312. package/sites/event/components/ev-section-header.json +0 -70
  313. package/sites/event/components/ev-session-row.json +0 -132
  314. package/sites/event/components/ev-speaker-card.json +0 -130
  315. package/sites/event/components/ev-sponsors.json +0 -131
  316. package/sites/event/components/ev-stat.json +0 -47
  317. package/sites/event/components/ev-ticket-card.json +0 -214
  318. package/sites/event/components/ev-venue.json +0 -86
  319. package/sites/event/layouts/base.json +0 -22
  320. package/sites/fitness-studio/components/fs-band.json +0 -149
  321. package/sites/fitness-studio/components/fs-booking.json +0 -147
  322. package/sites/fitness-studio/components/fs-class-card.json +0 -143
  323. package/sites/fitness-studio/components/fs-class-grid.json +0 -36
  324. package/sites/fitness-studio/components/fs-cta.json +0 -106
  325. package/sites/fitness-studio/components/fs-feature.json +0 -56
  326. package/sites/fitness-studio/components/fs-footer.json +0 -178
  327. package/sites/fitness-studio/components/fs-hero.json +0 -375
  328. package/sites/fitness-studio/components/fs-hours.json +0 -109
  329. package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
  330. package/sites/fitness-studio/components/fs-intro.json +0 -294
  331. package/sites/fitness-studio/components/fs-modality.json +0 -171
  332. package/sites/fitness-studio/components/fs-nav.json +0 -128
  333. package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
  334. package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
  335. package/sites/fitness-studio/components/fs-review.json +0 -88
  336. package/sites/fitness-studio/components/fs-schedule.json +0 -1165
  337. package/sites/fitness-studio/components/fs-section-header.json +0 -77
  338. package/sites/fitness-studio/layouts/base.json +0 -22
  339. package/sites/home-services/components/hs-callbar.json +0 -72
  340. package/sites/home-services/components/hs-cta.json +0 -184
  341. package/sites/home-services/components/hs-feature.json +0 -62
  342. package/sites/home-services/components/hs-footer.json +0 -232
  343. package/sites/home-services/components/hs-gallery.json +0 -104
  344. package/sites/home-services/components/hs-hero.json +0 -446
  345. package/sites/home-services/components/hs-intro.json +0 -122
  346. package/sites/home-services/components/hs-nav.json +0 -278
  347. package/sites/home-services/components/hs-reservation.json +0 -225
  348. package/sites/home-services/components/hs-review.json +0 -114
  349. package/sites/home-services/components/hs-section-header.json +0 -70
  350. package/sites/home-services/components/hs-service-card.json +0 -89
  351. package/sites/home-services/components/hs-stat.json +0 -54
  352. package/sites/home-services/components/hs-step.json +0 -80
  353. package/sites/home-services/components/hs-trust-bar.json +0 -256
  354. package/sites/home-services/layouts/base.json +0 -24
  355. package/sites/museum/components/mu-band.json +0 -92
  356. package/sites/museum/components/mu-cta.json +0 -101
  357. package/sites/museum/components/mu-exhibition-card.json +0 -191
  358. package/sites/museum/components/mu-exhibition-row.json +0 -237
  359. package/sites/museum/components/mu-fact.json +0 -64
  360. package/sites/museum/components/mu-footer.json +0 -256
  361. package/sites/museum/components/mu-hero.json +0 -236
  362. package/sites/museum/components/mu-more.json +0 -63
  363. package/sites/museum/components/mu-oculus.json +0 -44
  364. package/sites/museum/components/mu-pagehead.json +0 -105
  365. package/sites/museum/components/mu-quote.json +0 -49
  366. package/sites/museum/layouts/ar.json +0 -29
  367. package/sites/museum/layouts/base.json +0 -329
  368. package/sites/museum/layouts/fr-ca.json +0 -28
  369. package/sites/museum/pages/about.json +0 -378
  370. package/sites/museum/pages/ar/about.json +0 -314
  371. package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
  372. package/sites/museum/pages/ar/exhibitions/index.json +0 -103
  373. package/sites/museum/pages/ar/index.json +0 -246
  374. package/sites/museum/pages/ar/visit.json +0 -327
  375. package/sites/museum/pages/exhibitions/[slug].json +0 -200
  376. package/sites/museum/pages/exhibitions/index.json +0 -93
  377. package/sites/museum/pages/fr-ca/a-propos.json +0 -313
  378. package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
  379. package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
  380. package/sites/museum/pages/fr-ca/index.json +0 -246
  381. package/sites/museum/pages/fr-ca/visite.json +0 -328
  382. package/sites/museum/pages/index.json +0 -236
  383. package/sites/museum/pages/visit.json +0 -317
  384. package/sites/nonprofit/components/np-contact-form.json +0 -162
  385. package/sites/nonprofit/components/np-contact-info.json +0 -159
  386. package/sites/nonprofit/components/np-cta.json +0 -203
  387. package/sites/nonprofit/components/np-donate-tier.json +0 -116
  388. package/sites/nonprofit/components/np-feature.json +0 -57
  389. package/sites/nonprofit/components/np-footer.json +0 -257
  390. package/sites/nonprofit/components/np-hero.json +0 -360
  391. package/sites/nonprofit/components/np-impact-band.json +0 -108
  392. package/sites/nonprofit/components/np-intro.json +0 -166
  393. package/sites/nonprofit/components/np-nav.json +0 -216
  394. package/sites/nonprofit/components/np-program-card.json +0 -129
  395. package/sites/nonprofit/components/np-section-header.json +0 -79
  396. package/sites/nonprofit/components/np-stat.json +0 -69
  397. package/sites/nonprofit/components/np-step.json +0 -84
  398. package/sites/nonprofit/components/np-team-member.json +0 -74
  399. package/sites/nonprofit/components/np-testimonial.json +0 -169
  400. package/sites/nonprofit/layouts/base.json +0 -22
  401. package/sites/portfolio/components/pv-about-split.json +0 -71
  402. package/sites/portfolio/components/pv-category-pill.json +0 -25
  403. package/sites/portfolio/components/pv-contact-form.json +0 -126
  404. package/sites/portfolio/components/pv-cta.json +0 -80
  405. package/sites/portfolio/components/pv-feature.json +0 -48
  406. package/sites/portfolio/components/pv-footer.json +0 -167
  407. package/sites/portfolio/components/pv-gallery.json +0 -50
  408. package/sites/portfolio/components/pv-hero.json +0 -139
  409. package/sites/portfolio/components/pv-nav.json +0 -100
  410. package/sites/portfolio/components/pv-project-card.json +0 -160
  411. package/sites/portfolio/components/pv-project-grid.json +0 -30
  412. package/sites/portfolio/components/pv-section-header.json +0 -90
  413. package/sites/portfolio/layouts/base.json +0 -22
  414. package/sites/portfolio/pages/[slug].json +0 -260
  415. package/sites/professional-firm/components/pf-article-header.json +0 -93
  416. package/sites/professional-firm/components/pf-contact-form.json +0 -146
  417. package/sites/professional-firm/components/pf-contact-info.json +0 -147
  418. package/sites/professional-firm/components/pf-cta.json +0 -86
  419. package/sites/professional-firm/components/pf-feature.json +0 -52
  420. package/sites/professional-firm/components/pf-footer.json +0 -231
  421. package/sites/professional-firm/components/pf-hero.json +0 -174
  422. package/sites/professional-firm/components/pf-insight-row.json +0 -144
  423. package/sites/professional-firm/components/pf-intro.json +0 -93
  424. package/sites/professional-firm/components/pf-logo-bar.json +0 -113
  425. package/sites/professional-firm/components/pf-nav.json +0 -135
  426. package/sites/professional-firm/components/pf-section-header.json +0 -77
  427. package/sites/professional-firm/components/pf-service-row.json +0 -104
  428. package/sites/professional-firm/components/pf-statband.json +0 -183
  429. package/sites/professional-firm/components/pf-team-member.json +0 -75
  430. package/sites/professional-firm/layouts/article.json +0 -130
  431. package/sites/professional-firm/layouts/base.json +0 -22
  432. package/sites/professional-firm/pages/insights/[slug].json +0 -129
  433. package/sites/real-estate/components/re-agent-band.json +0 -240
  434. package/sites/real-estate/components/re-agent-card.json +0 -93
  435. package/sites/real-estate/components/re-contact-form.json +0 -181
  436. package/sites/real-estate/components/re-cta.json +0 -128
  437. package/sites/real-estate/components/re-detail-row.json +0 -26
  438. package/sites/real-estate/components/re-feature.json +0 -57
  439. package/sites/real-estate/components/re-footer.json +0 -291
  440. package/sites/real-estate/components/re-hero.json +0 -536
  441. package/sites/real-estate/components/re-intro.json +0 -60
  442. package/sites/real-estate/components/re-listing-card.json +0 -286
  443. package/sites/real-estate/components/re-listings-filter.json +0 -454
  444. package/sites/real-estate/components/re-nav.json +0 -216
  445. package/sites/real-estate/components/re-neighborhood.json +0 -135
  446. package/sites/real-estate/components/re-section-header.json +0 -69
  447. package/sites/real-estate/components/re-stat.json +0 -37
  448. package/sites/real-estate/components/re-step.json +0 -58
  449. package/sites/real-estate/components/re-testimonial.json +0 -91
  450. package/sites/real-estate/layouts/base.json +0 -22
  451. package/sites/real-estate/pages/[slug].json +0 -629
  452. package/sites/restaurant/components/bit-cta.json +0 -140
  453. package/sites/restaurant/components/bit-feature.json +0 -61
  454. package/sites/restaurant/components/bit-footer.json +0 -191
  455. package/sites/restaurant/components/bit-gallery.json +0 -74
  456. package/sites/restaurant/components/bit-hero.json +0 -253
  457. package/sites/restaurant/components/bit-hours.json +0 -183
  458. package/sites/restaurant/components/bit-intro.json +0 -96
  459. package/sites/restaurant/components/bit-menu-group.json +0 -74
  460. package/sites/restaurant/components/bit-menu-item.json +0 -72
  461. package/sites/restaurant/components/bit-nav.json +0 -214
  462. package/sites/restaurant/components/bit-reservation.json +0 -155
  463. package/sites/restaurant/components/bit-review.json +0 -84
  464. package/sites/restaurant/components/bit-section-header.json +0 -98
  465. package/sites/restaurant/layouts/base.json +0 -22
  466. package/sites/saas/components/sa-check-item.json +0 -40
  467. package/sites/saas/components/sa-contact-form.json +0 -153
  468. package/sites/saas/components/sa-cta.json +0 -102
  469. package/sites/saas/components/sa-faq.json +0 -413
  470. package/sites/saas/components/sa-feature-card.json +0 -69
  471. package/sites/saas/components/sa-feature-split.json +0 -60
  472. package/sites/saas/components/sa-footer.json +0 -145
  473. package/sites/saas/components/sa-hero.json +0 -277
  474. package/sites/saas/components/sa-logo-cloud.json +0 -119
  475. package/sites/saas/components/sa-nav.json +0 -138
  476. package/sites/saas/components/sa-pricing.json +0 -428
  477. package/sites/saas/components/sa-section-header.json +0 -55
  478. package/sites/saas/components/sa-stat.json +0 -44
  479. package/sites/saas/components/sa-testimonial-card.json +0 -57
  480. package/sites/saas/layouts/base.json +0 -22
  481. package/sites/shop/components/shp-badge.json +0 -18
  482. package/sites/shop/components/shp-category-tile.json +0 -104
  483. package/sites/shop/components/shp-contact-form.json +0 -156
  484. package/sites/shop/components/shp-cta.json +0 -121
  485. package/sites/shop/components/shp-feature.json +0 -60
  486. package/sites/shop/components/shp-footer.json +0 -411
  487. package/sites/shop/components/shp-hero.json +0 -395
  488. package/sites/shop/components/shp-intro.json +0 -59
  489. package/sites/shop/components/shp-nav.json +0 -358
  490. package/sites/shop/components/shp-newsletter.json +0 -166
  491. package/sites/shop/components/shp-product-card.json +0 -238
  492. package/sites/shop/components/shp-product-filter.json +0 -366
  493. package/sites/shop/components/shp-review.json +0 -54
  494. package/sites/shop/components/shp-section-header.json +0 -75
  495. package/sites/shop/components/shp-service.json +0 -83
  496. package/sites/shop/components/shp-stat.json +0 -37
  497. package/sites/shop/components/shp-trust.json +0 -58
  498. package/sites/shop/components/shp-visit-info.json +0 -132
  499. package/sites/shop/layouts/base.json +0 -22
  500. package/sites/shop/pages/products/[sku].json +0 -482
@@ -0,0 +1,271 @@
1
+ /- kdl-version 2
2
+ $layout "./layouts/fr-ca.jxn"
3
+ $translationKey visit
4
+ $head {
5
+ meta name=description content="Heures, admission, transport et accessibilité au musée municipal d'art et d'histoire Atrium. Entrée libre, du mardi au dimanche, de 10 h à 18 h."
6
+ }
7
+
8
+ $element .title="Préparer sa visite — Atrium" .description="Heures, admission, transport et accessibilité au musée municipal d'art et d'histoire Atrium. Entrée libre, du mardi au dimanche, de 10 h à 18 h." {
9
+ state {
10
+ tourPrice {
11
+ $expression {
12
+ operator call
13
+ target (ref)"window#/Intl/formatNumber"
14
+ value {
15
+ - 12
16
+ - #null
17
+ - style=currency currency=CAD
18
+ }
19
+ }
20
+ }
21
+ membership {
22
+ $expression {
23
+ operator call
24
+ target (ref)"window#/Intl/formatNumber"
25
+ value {
26
+ - 45
27
+ - #null
28
+ - style=currency currency=CAD
29
+ }
30
+ }
31
+ }
32
+ trams {
33
+ $expression {
34
+ operator call
35
+ target (ref)"window#/Intl/formatList"
36
+ value {
37
+ - "2" "6" "11"
38
+ }
39
+ }
40
+ }
41
+ closedFrom {
42
+ $expression {
43
+ operator call
44
+ target (ref)"window#/Intl/formatDate"
45
+ value {
46
+ - "2026-12-24"
47
+ - #null
48
+ - day=numeric month=long
49
+ }
50
+ }
51
+ }
52
+ closedTo {
53
+ $expression {
54
+ operator call
55
+ target (ref)"window#/Intl/formatDate"
56
+ value {
57
+ - "2026-12-26"
58
+ - #null
59
+ - day=numeric month=long year=numeric
60
+ }
61
+ }
62
+ }
63
+ }
64
+ mu-pagehead {
65
+ $props {
66
+ kicker Visite
67
+ title "De dix heures à six heures, six jours sur sept"
68
+ standfirst "Il n'y a pas de billetterie, parce qu'il n'y a pas de billet. Entrez par le côté du quai, laissez votre sac au comptoir s'il est plus gros qu'une sacoche, et commencez où vous voulez."
69
+ metaLabel Adresse
70
+ metaValue "2, quai des Écluses, Vieux-Port"
71
+ }
72
+ }
73
+ mu-band {
74
+ $props index="01" label=Heures tone=chalk
75
+ div {
76
+ style {
77
+ display grid
78
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
79
+ columnGap "clamp(2rem, 5vw, 4rem)"
80
+ @--md gridTemplateColumns="minmax(0, 1fr)"
81
+ }
82
+ div {
83
+ mu-fact {
84
+ $props {
85
+ term "Mar. – ven."
86
+ value "10 h – 18 h"
87
+ note "Dernière entrée à la salle de lecture à 17 h."
88
+ }
89
+ }
90
+ mu-fact {
91
+ $props {
92
+ term "Sam. – dim."
93
+ value "10 h – 18 h"
94
+ note "La cour reste ouverte jusqu'à 19 h de mai à septembre."
95
+ }
96
+ }
97
+ }
98
+ div {
99
+ mu-fact {
100
+ $props {
101
+ term Lundi
102
+ value Fermé
103
+ note "Journée de conservation. Le café côté quai reste ouvert."
104
+ }
105
+ }
106
+ mu-fact {
107
+ $props {
108
+ term "Fermeture d'hiver"
109
+ value "Du ${state.closedFrom} au ${state.closedTo}"
110
+ note "Les trois seuls jours consécutifs de fermeture de toute l'année."
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ mu-band {
117
+ $props index="02" label=Admission tone=card
118
+ div {
119
+ style {
120
+ display grid
121
+ gridTemplateColumns "minmax(0, 1fr) minmax(0, 1fr)"
122
+ columnGap "clamp(2rem, 5vw, 4rem)"
123
+ rowGap "1.5rem"
124
+ @--md gridTemplateColumns="minmax(0, 1fr)"
125
+ }
126
+ div {
127
+ style {
128
+ border "2px solid var(--color-ink)"
129
+ backgroundColor "var(--color-pigment)"
130
+ color "var(--color-card)"
131
+ padding "clamp(1.5rem, 3.5vw, 2.25rem)"
132
+ }
133
+ p "Admission générale" {
134
+ style {
135
+ margin "0 0 0.9rem"
136
+ fontFamily "var(--font-label)"
137
+ fontSize "0.66rem"
138
+ letterSpacing "var(--label-tracking)"
139
+ textTransform "var(--label-case)"
140
+ opacity "0.8"
141
+ }
142
+ }
143
+ p Gratuite {
144
+ style {
145
+ margin "0"
146
+ fontFamily "var(--font-display)"
147
+ fontSize "clamp(2.4rem, 6vw, 3.6rem)"
148
+ fontWeight "700"
149
+ lineHeight "calc(1 * var(--leading-scale))"
150
+ letterSpacing "var(--display-tracking)"
151
+ }
152
+ }
153
+ p "Inscrite dans la souscription fondatrice de 1897 et jamais modifiée depuis. Pas de billet, pas de réservation, pas d'heure réservée aux membres." {
154
+ style margin="1.1rem 0 0" lineHeight="1.65" maxWidth="34ch"
155
+ }
156
+ }
157
+ div {
158
+ mu-fact {
159
+ $props {
160
+ term "Visite guidée"
161
+ value "${state.tourPrice}"
162
+ note "Quatre-vingt-dix minutes, le samedi à 11 h et à 15 h. Réservation au comptoir."
163
+ }
164
+ }
165
+ mu-fact {
166
+ $props {
167
+ term Adhésion
168
+ value "${state.membership}"
169
+ note "Une année de visites guidées, la revue trimestrielle et un droit de vote à l'assemblée annuelle."
170
+ }
171
+ }
172
+ mu-fact {
173
+ $props {
174
+ term Écoles
175
+ value "Jamais de frais"
176
+ note "L'autobus compris. Écrivez au service éducatif six semaines à l'avance."
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+ mu-band {
183
+ $props index="03" label="S'y rendre" tone=chalk
184
+ div {
185
+ style {
186
+ display grid
187
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
188
+ columnGap "clamp(2rem, 5vw, 4rem)"
189
+ @--md gridTemplateColumns="minmax(0, 1fr)"
190
+ }
191
+ div {
192
+ mu-fact {
193
+ $props {
194
+ term Tramway
195
+ value "Lignes ${state.trams}"
196
+ note "Arrêt Écluses. La halle est le toit de verre à votre gauche en descendant."
197
+ }
198
+ }
199
+ mu-fact {
200
+ $props {
201
+ term "À pied"
202
+ value "Onze minutes de la porte de la vieille ville"
203
+ note "Suivez le quai ; le dernier tronçon est pavé et inégal."
204
+ }
205
+ }
206
+ }
207
+ div {
208
+ mu-fact {
209
+ $props {
210
+ term "À vélo"
211
+ value "Quarante supports sous l'auvent nord"
212
+ note "Couverts, éclairés et à la vue du comptoir d'accueil."
213
+ }
214
+ }
215
+ mu-fact {
216
+ $props {
217
+ term "En auto"
218
+ value "Pas de stationnement au musée"
219
+ note "Stationnement public au Bassin Nord, à six minutes de marche par le pont de l'écluse."
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ mu-band {
226
+ $props index="04" label=Accessibilité tone=card
227
+ div {
228
+ style maxWidth="var(--measure)"
229
+ p "Toutes les salles sont accessibles sans marche depuis l'entrée côté quai, y compris la cour et la salle de lecture. Seule exception : le passage de la douane, qui compte quatre marches de pierre sans main courante ; un contournement de plain-pied est indiqué dès l'entrée." {
230
+ style margin="0 0 1.5rem" lineHeight="1.75"
231
+ }
232
+ mu-fact {
233
+ $props {
234
+ term "Sans marche"
235
+ value "Toutes les salles et la salle de lecture"
236
+ note "Deux ascenseurs, tous deux assez grands pour un fauteuil roulant et un accompagnateur."
237
+ }
238
+ }
239
+ mu-fact {
240
+ $props {
241
+ term "Places assises"
242
+ value "Un banc dans chaque salle"
243
+ note "Tabourets pliants au comptoir, prêtés gratuitement, sans dépôt."
244
+ }
245
+ }
246
+ mu-fact {
247
+ $props {
248
+ term "Heure calme"
249
+ value "Le mercredi, de 10 h à 11 h"
250
+ note "Éclairage doux, son coupé, et deux fois moins de monde qu'à l'habitude."
251
+ }
252
+ }
253
+ mu-fact {
254
+ $props {
255
+ term "Chiens d'assistance"
256
+ value "Bienvenus partout"
257
+ note "Bols d'eau aux deux entrées et dans la cour."
258
+ }
259
+ }
260
+ }
261
+ }
262
+ mu-cta {
263
+ $props {
264
+ kicker "Avant de venir"
265
+ heading "Voyez ce qui est accroché cette semaine."
266
+ text "Trois expositions sont ouvertes, et la programmation indique ce qui change ensuite."
267
+ label "À l'affiche"
268
+ href "/fr-ca/expositions/"
269
+ }
270
+ }
271
+ }
@@ -0,0 +1,202 @@
1
+ /- kdl-version 2
2
+
3
+ $element .title="Atrium — City Museum of Art and History" .description="A city museum in a glass hall: four centuries of the harbour, its makers and its maps. Free entry, Tuesday to Sunday, in English, French and Arabic." {
4
+ state {
5
+ objects {
6
+ $expression {
7
+ operator call
8
+ target (ref)"window#/Intl/formatNumber"
9
+ value {
10
+ - 18400
11
+ }
12
+ }
13
+ }
14
+ visitors {
15
+ $expression {
16
+ operator call
17
+ target (ref)"window#/Intl/formatNumber"
18
+ value {
19
+ - 212000
20
+ }
21
+ }
22
+ }
23
+ founded {
24
+ $expression {
25
+ operator call
26
+ target (ref)"window#/Intl/formatDate"
27
+ value {
28
+ - "1897-11-04"
29
+ - #null
30
+ - day=numeric month=long year=numeric
31
+ }
32
+ }
33
+ }
34
+ openDays {
35
+ $expression {
36
+ operator call
37
+ target (ref)"window#/Intl/formatList"
38
+ value {
39
+ - Tuesday Wednesday Thursday Friday Saturday Sunday
40
+ }
41
+ }
42
+ }
43
+ shows {
44
+ $prototype ContentCollection
45
+ $src "@jxsuite/parser/ContentCollection.class.json"
46
+ contentType exhibitions
47
+ filter {
48
+ - field=lang op="==" value=en
49
+ }
50
+ sort {
51
+ - field=order order=asc
52
+ }
53
+ limit 3
54
+ }
55
+ }
56
+ mu-hero {
57
+ $props {
58
+ kicker "City Museum of Art & History"
59
+ title "Four centuries, one glass hall"
60
+ standfirst "Atrium holds what the city made, bought, salvaged and argued over since the first stone quay went in — and shows it free, in three languages, six days a week."
61
+ primaryLabel "Plan your visit"
62
+ primaryHref "/visit/"
63
+ secondaryLabel "What's on"
64
+ secondaryHref "/exhibitions/"
65
+ noteLabel "Free entry"
66
+ note "Tuesday to Sunday, 10:00–18:00"
67
+ }
68
+ }
69
+ mu-band {
70
+ $props index="01" label="Now on view" tone=chalk
71
+ h2 "Three exhibitions, all of them about this place" {
72
+ style {
73
+ margin "0 0 2.25rem"
74
+ fontFamily "var(--font-display)"
75
+ fontSize "clamp(1.7rem, 3.6vw, 2.6rem)"
76
+ fontWeight "500"
77
+ lineHeight "calc(1.08 * var(--leading-scale))"
78
+ letterSpacing "var(--display-tracking)"
79
+ maxWidth "22ch"
80
+ }
81
+ }
82
+ div {
83
+ style {
84
+ display grid
85
+ gridTemplateColumns "repeat(3, minmax(0, 1fr))"
86
+ gap "clamp(1rem, 2.5vw, 1.75rem)"
87
+ @--md gridTemplateColumns="repeat(2, minmax(0, 1fr))"
88
+ @--sm gridTemplateColumns="minmax(0, 1fr)"
89
+ }
90
+ .children {
91
+ $array items=(ref)"#/state/shows" {
92
+ mu-exhibition-card {
93
+ $props {
94
+ title "${item.data.title}"
95
+ description "${item.data.description}"
96
+ gallery "${item.data.gallery}"
97
+ status "Open now"
98
+ href "/exhibitions/${item.id}/"
99
+ hue "${item.data.hue}"
100
+ date "${item.data.date}"
101
+ until "${item.data.until}"
102
+ locale "${$page.locale}"
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ mu-more {
109
+ $props label="The whole programme" href="/exhibitions/" space="2rem"
110
+ }
111
+ }
112
+ mu-band {
113
+ $props index="02" label="The museum in numbers" tone=card
114
+ div {
115
+ style {
116
+ display grid
117
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
118
+ columnGap "clamp(2rem, 5vw, 4rem)"
119
+ @--md gridTemplateColumns="minmax(0, 1fr)"
120
+ }
121
+ div {
122
+ mu-fact {
123
+ $props {
124
+ term Objects
125
+ value "${state.objects}"
126
+ note "Catalogued, of which about a tenth are on show at any one time."
127
+ }
128
+ }
129
+ mu-fact {
130
+ $props {
131
+ term Visitors
132
+ value "${state.visitors}"
133
+ note "In the last full year, counted at the door."
134
+ }
135
+ }
136
+ }
137
+ div {
138
+ mu-fact {
139
+ $props {
140
+ term Founded
141
+ value "${state.founded}"
142
+ note "By a subscription of 240 households, in a room above the customs house."
143
+ }
144
+ }
145
+ mu-fact {
146
+ $props {
147
+ term Open
148
+ value "${state.openDays}"
149
+ note "Closed Mondays, and on the two days a year the hall is cleaned."
150
+ }
151
+ }
152
+ }
153
+ }
154
+ p "Every figure here is formatted by the page's own language: this document renders 18,400 in English, 18 400 in French and ١٨٬٤٠٠ in Arabic, because the route already said which language it is." {
155
+ style {
156
+ margin "2rem 0 0"
157
+ paddingBlockStart "1.1rem"
158
+ borderBlockStart "1px solid var(--color-hairline)"
159
+ fontSize "0.95rem"
160
+ lineHeight "1.6"
161
+ color "var(--color-muted)"
162
+ maxWidth "var(--measure)"
163
+ }
164
+ }
165
+ }
166
+ mu-band {
167
+ $props index="03" label="From the reading room" tone=chalk
168
+ div {
169
+ style {
170
+ display grid
171
+ gridTemplateColumns "minmax(0, 1.05fr) minmax(0, 1fr)"
172
+ columnGap "clamp(2rem, 5vw, 4rem)"
173
+ alignItems start
174
+ @--md gridTemplateColumns="minmax(0, 1fr)" rowGap="2rem"
175
+ }
176
+ mu-quote {
177
+ $props {
178
+ quote "A museum is a room where a city keeps the things it cannot agree about."
179
+ attribution "Hélène Fournier, first curator, 1897"
180
+ }
181
+ }
182
+ div {
183
+ style maxWidth="var(--measure)"
184
+ p "The reading room on the second floor is open to anyone with a question. Its shelves hold the harbour ledgers, the survey notebooks, four hundred boxes of workshop correspondence, and the museum's own minute books — including the ones recording arguments the trustees would rather have kept quiet." {
185
+ style margin="0" lineHeight="1.75"
186
+ }
187
+ p "No appointment is needed to read; one is needed to handle. Ask at the desk and a member of staff will bring the box up within the hour." {
188
+ style margin="1.1rem 0 0" lineHeight="1.75"
189
+ }
190
+ }
191
+ }
192
+ }
193
+ mu-cta {
194
+ $props {
195
+ kicker "Free entry"
196
+ heading "The hall is open. Come and disagree with us."
197
+ text "Six days a week, ten to six, no ticket and no booking. The courtyard stays open an hour later through the summer."
198
+ label "Plan your visit"
199
+ href "/visit/"
200
+ }
201
+ }
202
+ }