@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,233 @@
1
+ /- kdl-version 2
2
+ $layout "./layouts/fr-ca.jxn"
3
+ $translationKey about
4
+ $head {
5
+ meta name=description content="Atrium est le musée d'art et d'histoire de la ville : une halle de verre posée sur l'ancienne douane, à entrée libre, tenue par la ville et ses lecteurs depuis 1897."
6
+ }
7
+
8
+ $element .title="À propos du musée — Atrium" .description="Atrium est le musée d'art et d'histoire de la ville : une halle de verre posée sur l'ancienne douane, à entrée libre, tenue par la ville et ses lecteurs depuis 1897." {
9
+ state {
10
+ catalogued {
11
+ $expression {
12
+ operator call
13
+ target (ref)"window#/Intl/formatNumber"
14
+ value {
15
+ - 0.94
16
+ - #null
17
+ - style=percent
18
+ }
19
+ }
20
+ }
21
+ archive {
22
+ $expression {
23
+ operator call
24
+ target (ref)"window#/Intl/formatNumber"
25
+ value {
26
+ - 1240
27
+ - #null
28
+ - style=unit unit=meter unitDisplay=long
29
+ }
30
+ }
31
+ }
32
+ staff {
33
+ $expression {
34
+ operator call
35
+ target (ref)"window#/Intl/formatNumber"
36
+ value {
37
+ - 61
38
+ }
39
+ }
40
+ }
41
+ languages {
42
+ $expression {
43
+ operator call
44
+ target (ref)"window#/Intl/formatList"
45
+ value {
46
+ - anglais français arabe
47
+ }
48
+ }
49
+ }
50
+ }
51
+ mu-pagehead {
52
+ $props {
53
+ kicker "À propos"
54
+ title "Un musée qui se contredit lui-même"
55
+ standfirst "Atrium a été fondé par 240 ménages qui ont chacun donné ce qu'ils pouvaient et exigé, par écrit, que l'entrée reste gratuite. Elle l'est restée pendant cent vingt-neuf ans, à travers deux reconstructions et un incendie."
56
+ metaLabel "Salle de lecture"
57
+ metaValue "Deuxième étage, sans rendez-vous"
58
+ }
59
+ }
60
+ mu-band {
61
+ $props index="01" label="Le bâtiment" tone=chalk
62
+ div {
63
+ style {
64
+ display grid
65
+ gridTemplateColumns "minmax(0, 1.4fr) minmax(0, 0.8fr)"
66
+ columnGap "clamp(2rem, 5vw, 4rem)"
67
+ rowGap "1.25rem"
68
+ @--md gridTemplateColumns="minmax(0, 1fr)"
69
+ alignItems start
70
+ }
71
+ div {
72
+ style maxWidth="var(--measure)"
73
+ p "Le musée a commencé dans une pièce au-dessus de la douane, qu'il a débordée en dix-neuf ans. La halle de verre qui l'a remplacée en 1916 a été bâtie par-dessus la douane plutôt qu'à sa place : les vieux murs de pierre tiennent toujours debout à l'intérieur, sans plus rien porter, et la visite commence en passant entre eux." {
74
+ style margin="0" lineHeight="1.75"
75
+ }
76
+ p "Le toit est la raison pour laquelle on photographie le bâtiment et celle pour laquelle les restauratrices le détestent. Chaque objet du rez-de-chaussée est placé selon la lumière qu'il peut encaisser, ce qui explique que le cabinet de cartes occupe le coin le plus sombre et que la poêle à sel reste dehors, sous la pluie." {
77
+ style margin="1.1rem 0 0" lineHeight="1.75"
78
+ }
79
+ p "Rien ici n'est une copie. Là où le musée présente une reproduction — trois des cartes sont trop fragiles pour être accrochées — le cartel le dit dès la première ligne, dans le même corps que le titre." {
80
+ style margin="1.1rem 0 0" lineHeight="1.75"
81
+ }
82
+ p "Là où le musée ignore quelque chose, le cartel le dit aussi. Environ un objet sur neuf n'a pas d'auteur attribué, et le catalogue consigne le trou plutôt qu'une supposition." {
83
+ style margin="1.1rem 0 0" lineHeight="1.75"
84
+ }
85
+ }
86
+ mu-oculus {
87
+ $props size="20rem" tone=card
88
+ }
89
+ }
90
+ }
91
+ mu-band {
92
+ $props index="02" label="Ce que nous conservons" tone=card
93
+ div {
94
+ style {
95
+ display grid
96
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
97
+ columnGap "clamp(2rem, 5vw, 4rem)"
98
+ @--md gridTemplateColumns="minmax(0, 1fr)"
99
+ }
100
+ div {
101
+ mu-fact {
102
+ $props {
103
+ term Catalogué
104
+ value "${state.catalogued}"
105
+ note "De tout ce qui est inscrit à l'inventaire. Le reste est surtout le legs d'atelier de 2019."
106
+ }
107
+ }
108
+ mu-fact {
109
+ $props {
110
+ term Archives
111
+ value "${state.archive}"
112
+ note "De papier sur rayons : registres, carnets d'arpentage et correspondance d'atelier."
113
+ }
114
+ }
115
+ }
116
+ div {
117
+ mu-fact {
118
+ $props {
119
+ term Personnel
120
+ value "${state.staff}"
121
+ note "Conservation, restauration, accueil, et les deux personnes qui gardent le toit propre."
122
+ }
123
+ }
124
+ mu-fact {
125
+ $props {
126
+ term "Cartels en"
127
+ value "${state.languages}"
128
+ note "Chaque cartel, dans chaque salle, sans version abrégée pour aucune des trois."
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ mu-band {
135
+ $props index="03" label="Trois langues" tone=chalk
136
+ div {
137
+ style {
138
+ display grid
139
+ gridTemplateColumns "minmax(0, 1fr) minmax(0, 0.85fr)"
140
+ columnGap "clamp(2rem, 5vw, 4rem)"
141
+ alignItems start
142
+ @--md gridTemplateColumns="minmax(0, 1fr)" rowGap="2rem"
143
+ }
144
+ div {
145
+ style maxWidth="var(--measure)"
146
+ p "Un tiers de cette ville lit le français à la maison et une part grandissante lit l'arabe : le musée est donc écrit trois fois plutôt qu'une seule avec des traductions greffées par-dessus. Chaque langue a ses pages, ses textes de salle et sa lecture de la collection — le parcours arabe de la salle 2 n'est pas le parcours anglais inversé, c'est une autre thèse, signée par une autre conservatrice." {
147
+ style margin="0" lineHeight="1.75"
148
+ }
149
+ p "Chaque page porte le même sélecteur, et il ne liste que les langues dans lesquelles cette page existe vraiment. Si une langue manque au sélecteur, c'est que la page n'y a pas encore été écrite — un engagement que nous préférons montrer plutôt que cacher." {
150
+ style margin="1.1rem 0 0" lineHeight="1.75"
151
+ }
152
+ }
153
+ div {
154
+ style {
155
+ border "2px solid var(--color-ink)"
156
+ backgroundColor "var(--color-card)"
157
+ padding "clamp(1.25rem, 3vw, 1.9rem)"
158
+ }
159
+ p "Cette page, dans toutes les langues où elle existe" {
160
+ style {
161
+ margin "0 0 1.1rem"
162
+ fontFamily "var(--font-label)"
163
+ fontSize "0.66rem"
164
+ letterSpacing "var(--label-tracking)"
165
+ textTransform "var(--label-case)"
166
+ color "var(--color-muted)"
167
+ }
168
+ }
169
+ ul {
170
+ style listStyle=none margin="0" padding="0" display=grid gap="0.55rem"
171
+ .children {
172
+ $array items=(ref)"#/state/$page/alternates" {
173
+ li {
174
+ a .lang="${item.code}" dir="${item.dir}" href="${item.url}" hreflang="${item.code}" aria-current="${item.current ? 'page' : 'false'}" {
175
+ style {
176
+ display flex
177
+ alignItems baseline
178
+ gap "0.7rem"
179
+ textDecoration none
180
+ paddingBlock "0.35rem"
181
+ borderBlockEnd "1px solid var(--color-hairline)"
182
+ color "${item.current ? 'var(--color-muted)' : 'var(--color-pigment)'}"
183
+ :hover color="var(--color-ink)"
184
+ }
185
+ span "${item.code}" {
186
+ style {
187
+ fontFamily "var(--font-label)"
188
+ fontSize "0.64rem"
189
+ letterSpacing "var(--label-tracking)"
190
+ textTransform "var(--label-case)"
191
+ opacity "0.7"
192
+ }
193
+ }
194
+ span "${item.label}" {
195
+ style fontSize="1.02rem"
196
+ }
197
+ span "Vous êtes ici" {
198
+ style {
199
+ marginInlineStart auto
200
+ fontFamily "var(--font-label)"
201
+ fontSize "0.62rem"
202
+ letterSpacing "var(--label-tracking)"
203
+ textTransform "var(--label-case)"
204
+ display "${item.current ? 'inline' : 'none'}"
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+ mu-band {
216
+ $props index="04" label="Dans les mots des fondateurs" tone=ink
217
+ mu-quote {
218
+ $props {
219
+ quote "Que l'entrée soit libre, ou que ce musée soit autre chose que le nôtre."
220
+ attribution "Livre des procès-verbaux de la souscription, 4 novembre 1897"
221
+ }
222
+ }
223
+ }
224
+ mu-cta {
225
+ $props {
226
+ kicker Entrez
227
+ heading "La salle de lecture est ouverte à quiconque a une question."
228
+ text "Deuxième étage, au-dessus du cabinet de cartes. Sans rendez-vous pour lire ; demandez au comptoir pour manipuler."
229
+ label "Préparer sa visite"
230
+ href "/fr-ca/visite/"
231
+ }
232
+ }
233
+ }
@@ -0,0 +1,151 @@
1
+ /- kdl-version 2
2
+ $translationKey "exhibitions/${slug}"
3
+ $layout "./layouts/fr-ca.jxn"
4
+ $paths contentType=exhibitions param=slug field=id
5
+ $head {
6
+ meta name=description content="${state.entry.data.description}"
7
+ }
8
+
9
+ $element .title="${state.entry.data.title} — Atrium" .description="${state.entry.data.description}" {
10
+ state {
11
+ entry {
12
+ $prototype ContentEntry
13
+ $src "@jxsuite/parser/ContentEntry.class.json"
14
+ contentType exhibitions
15
+ field id
16
+ id (ref)"#/$params/slug"
17
+ }
18
+ opens {
19
+ $expression {
20
+ operator call
21
+ target (ref)"window#/Intl/formatDate"
22
+ value {
23
+ - (ref)"#/state/entry/data/date"
24
+ - #null
25
+ - day=numeric month=long year=numeric
26
+ }
27
+ }
28
+ }
29
+ closes {
30
+ $expression {
31
+ operator call
32
+ target (ref)"window#/Intl/formatDate"
33
+ value {
34
+ - (ref)"#/state/entry/data/until"
35
+ - #null
36
+ - day=numeric month=long year=numeric
37
+ }
38
+ }
39
+ }
40
+ works {
41
+ $expression {
42
+ operator call
43
+ target (ref)"window#/Intl/formatNumber"
44
+ value {
45
+ - (ref)"#/state/entry/data/works"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ article {
51
+ mu-pagehead {
52
+ $props {
53
+ kicker "${state.entry.data.gallery}"
54
+ title "${state.entry.data.title}"
55
+ standfirst "${state.entry.data.description}"
56
+ metaLabel Commissariat
57
+ metaValue "${state.entry.data.curator}"
58
+ }
59
+ }
60
+ mu-band {
61
+ $props index="01" label=L'exposition tone=chalk
62
+ div {
63
+ style {
64
+ display grid
65
+ gridTemplateColumns "minmax(0, 1.35fr) minmax(0, 0.75fr)"
66
+ columnGap "clamp(2rem, 5vw, 4rem)"
67
+ alignItems start
68
+ @--md gridTemplateColumns="minmax(0, 1fr)" rowGap="2.5rem"
69
+ }
70
+ div {
71
+ style maxWidth="var(--measure)" fontSize="1.08rem" lineHeight="1.8"
72
+ .children {
73
+ $array items=(ref)"#/state/entry/$children" {
74
+ p "${item.textContent}" {
75
+ style margin="0 0 1.35rem"
76
+ }
77
+ }
78
+ }
79
+ }
80
+ aside {
81
+ style {
82
+ border "2px solid var(--color-ink)"
83
+ backgroundColor "var(--color-card)"
84
+ padding "clamp(1.1rem, 2.5vw, 1.6rem)"
85
+ }
86
+ p Cartel {
87
+ style {
88
+ margin "0 0 0.5rem"
89
+ fontFamily "var(--font-label)"
90
+ fontSize "0.64rem"
91
+ letterSpacing "var(--label-tracking)"
92
+ textTransform "var(--label-case)"
93
+ color "var(--color-muted)"
94
+ }
95
+ }
96
+ div aria-hidden="true" {
97
+ style {
98
+ aspectRatio "4 / 3"
99
+ border "2px solid var(--color-ink)"
100
+ marginBlockEnd "1.1rem"
101
+ background "radial-gradient(circle at 62% 40%, hsl(${state.entry.data.hue} 55% 45%) 0 31%, transparent 31.5%), repeating-linear-gradient(${state.entry.data.hue}deg, var(--color-chalk-deep) 0 9px, var(--color-card) 9px 18px)"
102
+ }
103
+ }
104
+ mu-fact {
105
+ $props term=Ouverture value="${state.opens}" layout=stack
106
+ }
107
+ mu-fact {
108
+ $props term=Clôture value="${state.closes}" layout=stack
109
+ }
110
+ mu-fact {
111
+ $props term=Objets value="${state.works}" layout=stack
112
+ }
113
+ mu-fact {
114
+ $props term=Où value="${state.entry.data.gallery}" layout=stack
115
+ }
116
+ mu-fact {
117
+ $props term=Commissaire value="${state.entry.data.curator}" layout=stack
118
+ }
119
+ p "Chaque cartel de cette salle est écrit en trois langues, à longueur égale. Rien n'est abrégé pour le mur le plus court." {
120
+ style {
121
+ margin "1.25rem 0 0"
122
+ paddingBlockStart "0.9rem"
123
+ borderBlockStart "1px solid var(--color-hairline)"
124
+ fontSize "0.9rem"
125
+ lineHeight "1.6"
126
+ color "var(--color-muted)"
127
+ }
128
+ }
129
+ }
130
+ }
131
+ }
132
+ mu-band {
133
+ $props index="02" label="Aussi à l'affiche" tone=card
134
+ p "Deux autres expositions sont ouvertes en même temps, et le même billet — aucun — donne accès aux trois." {
135
+ style margin="0 0 1.5rem" lineHeight="1.75" maxWidth="var(--measure)"
136
+ }
137
+ mu-more {
138
+ $props label="Toute la programmation" href="/fr-ca/expositions/"
139
+ }
140
+ }
141
+ mu-cta {
142
+ $props {
143
+ kicker "Entrée libre"
144
+ heading "C'est au rez-de-chaussée, et c'est ouvert en ce moment."
145
+ text "De dix heures à six heures, du mardi au dimanche. Entrez par le côté du quai et tournez à gauche au mur de la douane."
146
+ label "Préparer sa visite"
147
+ href "/fr-ca/visite/"
148
+ }
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,83 @@
1
+ /- kdl-version 2
2
+ $translationKey exhibitions
3
+ $layout "./layouts/fr-ca.jxn"
4
+ $head {
5
+ meta name=description content="La programmation en cours à Atrium : trois expositions puisées dans la collection de la ville, avec dates, salles et commissaires."
6
+ }
7
+
8
+ $element .title="Expositions — Atrium" .description="La programmation en cours à Atrium : trois expositions puisées dans la collection de la ville, avec dates, salles et commissaires." {
9
+ state {
10
+ shows {
11
+ $prototype ContentCollection
12
+ $src "@jxsuite/parser/ContentCollection.class.json"
13
+ contentType exhibitions
14
+ filter {
15
+ - field=lang op="==" value=fr-CA
16
+ }
17
+ sort {
18
+ - field=order order=asc
19
+ }
20
+ }
21
+ }
22
+ mu-pagehead {
23
+ $props {
24
+ kicker Programmation
25
+ title "Ce qui est accroché, et jusqu'à quand"
26
+ standfirst "Trois expositions se tiennent en même temps : une longue, une saisonnière, une dans la cour. Toutes sont puisées dans les réserves du musée plutôt qu'empruntées ; ce que vous voyez ici, c'est la ville qui se regarde."
27
+ metaLabel Entrée
28
+ metaValue "Libre, sans réservation"
29
+ }
30
+ }
31
+ mu-band {
32
+ $props index="01" label="En ce moment" tone=chalk
33
+ div {
34
+ style borderBlockEnd="1px solid var(--color-hairline)"
35
+ .children {
36
+ $array items=(ref)"#/state/shows" {
37
+ mu-exhibition-row {
38
+ $props {
39
+ index "0${item.data.order}"
40
+ title "${item.data.title}"
41
+ description "${item.data.description}"
42
+ gallery "${item.data.gallery}"
43
+ curator "${item.data.curator}"
44
+ curatorLabel Commissariat
45
+ href "/fr-ca/expositions/${item.id}/"
46
+ hue "${item.data.hue}"
47
+ date "${item.data.date}"
48
+ until "${item.data.until}"
49
+ locale "${$page.locale}"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ mu-band {
57
+ $props index="02" label="Comment fonctionne la programmation" tone=card
58
+ div {
59
+ style {
60
+ display grid
61
+ gridTemplateColumns "minmax(0, 1fr) minmax(0, 1fr)"
62
+ columnGap "clamp(2rem, 5vw, 4rem)"
63
+ rowGap "1.25rem"
64
+ @--md gridTemplateColumns="minmax(0, 1fr)"
65
+ }
66
+ p "Une exposition change à chaque saison et deux se tiennent longtemps : il y a donc toujours quelque chose que vous n'avez pas vu et quelque chose sur quoi revenir. Rien n'est billetté séparément et rien ne ferme pour une location privée pendant les heures d'ouverture." {
67
+ style margin="0" lineHeight="1.75"
68
+ }
69
+ p "Chaque exposition est écrite de façon autonome dans chacune des langues que le musée publie : la commissaire qui a rédigé le texte de salle en arabe pour la salle 2 ne traduit pas la version anglaise, et les deux divergent par endroits. Le sélecteur en haut de cette page liste les langues où une page existe, et rien d'autre." {
70
+ style margin="0" lineHeight="1.75"
71
+ }
72
+ }
73
+ }
74
+ mu-cta {
75
+ $props {
76
+ kicker "Visites guidées"
77
+ heading "Quatre-vingt-dix minutes, le samedi, dans celle des trois langues qui vous convient."
78
+ text "Réservez au comptoir le jour même, ou écrivez à l'avance si vous venez en groupe de plus de huit personnes."
79
+ label "Renseignements aux visiteurs"
80
+ href "/fr-ca/visite/"
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,206 @@
1
+ /- kdl-version 2
2
+ $layout "./layouts/fr-ca.jxn"
3
+ $head {
4
+ meta name=description content="Un musée municipal sous une halle de verre : quatre siècles de port, de métiers et de cartes. Entrée libre, du mardi au dimanche, en anglais, en français et en arabe."
5
+ }
6
+
7
+ $element .title="Atrium — Musée municipal d'art et d'histoire" .description="Un musée municipal sous une halle de verre : quatre siècles de port, de métiers et de cartes. Entrée libre, du mardi au dimanche, en anglais, en français et en arabe." {
8
+ state {
9
+ objects {
10
+ $expression {
11
+ operator call
12
+ target (ref)"window#/Intl/formatNumber"
13
+ value {
14
+ - 18400
15
+ }
16
+ }
17
+ }
18
+ visitors {
19
+ $expression {
20
+ operator call
21
+ target (ref)"window#/Intl/formatNumber"
22
+ value {
23
+ - 212000
24
+ }
25
+ }
26
+ }
27
+ founded {
28
+ $expression {
29
+ operator call
30
+ target (ref)"window#/Intl/formatDate"
31
+ value {
32
+ - "1897-11-04"
33
+ - #null
34
+ - day=numeric month=long year=numeric
35
+ }
36
+ }
37
+ }
38
+ openDays {
39
+ $expression {
40
+ operator call
41
+ target (ref)"window#/Intl/formatList"
42
+ value {
43
+ - mardi mercredi jeudi vendredi samedi dimanche
44
+ }
45
+ }
46
+ }
47
+ shows {
48
+ $prototype ContentCollection
49
+ $src "@jxsuite/parser/ContentCollection.class.json"
50
+ contentType exhibitions
51
+ filter {
52
+ - field=lang op="==" value=fr-CA
53
+ }
54
+ sort {
55
+ - field=order order=asc
56
+ }
57
+ limit 3
58
+ }
59
+ }
60
+ mu-hero {
61
+ $props {
62
+ kicker "Musée municipal d'art et d'histoire"
63
+ title "Quatre siècles, une seule halle de verre"
64
+ standfirst "Atrium conserve ce que la ville a fabriqué, acheté, repêché et contesté depuis la pose du premier quai de pierre — et le montre gratuitement, en trois langues, six jours sur sept."
65
+ primaryLabel "Préparer sa visite"
66
+ primaryHref "/fr-ca/visite/"
67
+ secondaryLabel "À l'affiche"
68
+ secondaryHref "/fr-ca/expositions/"
69
+ noteLabel "Entrée libre"
70
+ note "Du mardi au dimanche, de 10 h à 18 h"
71
+ }
72
+ }
73
+ mu-band {
74
+ $props index="01" label="En salle en ce moment" tone=chalk
75
+ h2 "Trois expositions, et toutes parlent d'ici" {
76
+ style {
77
+ margin "0 0 2.25rem"
78
+ fontFamily "var(--font-display)"
79
+ fontSize "clamp(1.7rem, 3.6vw, 2.6rem)"
80
+ fontWeight "500"
81
+ lineHeight "calc(1.08 * var(--leading-scale))"
82
+ letterSpacing "var(--display-tracking)"
83
+ maxWidth "22ch"
84
+ }
85
+ }
86
+ div {
87
+ style {
88
+ display grid
89
+ gridTemplateColumns "repeat(3, minmax(0, 1fr))"
90
+ gap "clamp(1rem, 2.5vw, 1.75rem)"
91
+ @--md gridTemplateColumns="repeat(2, minmax(0, 1fr))"
92
+ @--sm gridTemplateColumns="minmax(0, 1fr)"
93
+ }
94
+ .children {
95
+ $array items=(ref)"#/state/shows" {
96
+ mu-exhibition-card {
97
+ $props {
98
+ title "${item.data.title}"
99
+ description "${item.data.description}"
100
+ gallery "${item.data.gallery}"
101
+ status "À l'affiche"
102
+ href "/fr-ca/expositions/${item.id}/"
103
+ hue "${item.data.hue}"
104
+ date "${item.data.date}"
105
+ until "${item.data.until}"
106
+ locale "${$page.locale}"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ mu-more {
113
+ $props label="Toute la programmation" href="/fr-ca/expositions/" space="2rem"
114
+ }
115
+ }
116
+ mu-band {
117
+ $props index="02" label="Le musée en chiffres" tone=card
118
+ div {
119
+ style {
120
+ display grid
121
+ gridTemplateColumns "repeat(2, minmax(0, 1fr))"
122
+ columnGap "clamp(2rem, 5vw, 4rem)"
123
+ @--md gridTemplateColumns="minmax(0, 1fr)"
124
+ }
125
+ div {
126
+ mu-fact {
127
+ $props {
128
+ term Objets
129
+ value "${state.objects}"
130
+ note "Catalogués, dont environ un dixième est exposé à un moment donné."
131
+ }
132
+ }
133
+ mu-fact {
134
+ $props {
135
+ term Visites
136
+ value "${state.visitors}"
137
+ note "Au cours de la dernière année complète, comptées à la porte."
138
+ }
139
+ }
140
+ }
141
+ div {
142
+ mu-fact {
143
+ $props {
144
+ term Fondation
145
+ value "${state.founded}"
146
+ note "Par une souscription de 240 ménages, dans une pièce au-dessus de la douane."
147
+ }
148
+ }
149
+ mu-fact {
150
+ $props {
151
+ term Ouvert
152
+ value "${state.openDays}"
153
+ note "Fermé le lundi, et les deux jours par année où la halle est nettoyée."
154
+ }
155
+ }
156
+ }
157
+ }
158
+ p "Chaque chiffre est mis en forme par la langue de la page : ce document affiche 18 400 en français, 18,400 en anglais et ١٨٬٤٠٠ en arabe, parce que la route avait déjà dit de quelle langue il s'agit." {
159
+ style {
160
+ margin "2rem 0 0"
161
+ paddingBlockStart "1.1rem"
162
+ borderBlockStart "1px solid var(--color-hairline)"
163
+ fontSize "0.95rem"
164
+ lineHeight "1.6"
165
+ color "var(--color-muted)"
166
+ maxWidth "var(--measure)"
167
+ }
168
+ }
169
+ }
170
+ mu-band {
171
+ $props index="03" label="Depuis la salle de lecture" tone=chalk
172
+ div {
173
+ style {
174
+ display grid
175
+ gridTemplateColumns "minmax(0, 1.05fr) minmax(0, 1fr)"
176
+ columnGap "clamp(2rem, 5vw, 4rem)"
177
+ alignItems start
178
+ @--md gridTemplateColumns="minmax(0, 1fr)" rowGap="2rem"
179
+ }
180
+ mu-quote {
181
+ $props {
182
+ quote "Un musée, c'est la salle où une ville garde ce sur quoi elle n'arrive pas à s'entendre."
183
+ attribution "Hélène Fournier, première conservatrice, 1897"
184
+ }
185
+ }
186
+ div {
187
+ style maxWidth="var(--measure)"
188
+ p "La salle de lecture du deuxième étage est ouverte à quiconque a une question. Ses rayons portent les registres du port, les carnets d'arpentage, quatre cents boîtes de correspondance d'atelier et les livres de procès-verbaux du musée lui-même — y compris ceux qui consignent des chicanes que le conseil d'administration aurait préféré taire." {
189
+ style margin="0" lineHeight="1.75"
190
+ }
191
+ p "Aucun rendez-vous pour lire ; il en faut un pour manipuler. Demandez au comptoir et un membre du personnel montera la boîte dans l'heure." {
192
+ style margin="1.1rem 0 0" lineHeight="1.75"
193
+ }
194
+ }
195
+ }
196
+ }
197
+ mu-cta {
198
+ $props {
199
+ kicker "Entrée libre"
200
+ heading "La halle est ouverte. Venez nous contredire."
201
+ text "Six jours sur sept, de dix heures à six heures, sans billet ni réservation. La cour reste ouverte une heure de plus pendant l'été."
202
+ label "Préparer sa visite"
203
+ href "/fr-ca/visite/"
204
+ }
205
+ }
206
+ }