@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.
- package/package.json +5 -5
- package/sites/blog/components/bl-author-bio.jxn +64 -0
- package/sites/blog/components/bl-contact-form.jxn +77 -0
- package/sites/blog/components/bl-contact-info.jxn +32 -0
- package/sites/blog/components/bl-cta.jxn +52 -0
- package/sites/blog/components/bl-footer.jxn +85 -0
- package/sites/blog/components/bl-masthead.jxn +111 -0
- package/sites/blog/components/bl-nav.jxn +62 -0
- package/sites/blog/components/bl-newsletter-cta.jxn +104 -0
- package/sites/blog/components/bl-post-card.jxn +106 -0
- package/sites/blog/components/bl-post-list.jxn +11 -0
- package/sites/blog/components/bl-prose.jxn +67 -0
- package/sites/blog/components/bl-section-header.jxn +52 -0
- package/sites/blog/components/bl-tag-pill.jxn +19 -0
- package/sites/blog/document.schema.json +11 -2
- package/sites/blog/layouts/base.jxn +17 -0
- package/sites/blog/layouts/post.jxn +13 -0
- package/sites/blog/package.json +3 -3
- package/sites/blog/pages/[slug].jxn +107 -0
- package/sites/blog/project.jxn +86 -0
- package/sites/course/components/co-application.jxn +106 -0
- package/sites/course/components/co-cohort.jxn +132 -0
- package/sites/course/components/co-cta.jxn +95 -0
- package/sites/course/components/co-curriculum-accordion.jxn +917 -0
- package/sites/course/components/co-faq.jxn +348 -0
- package/sites/course/components/co-footer.jxn +138 -0
- package/sites/course/components/co-hero.jxn +354 -0
- package/sites/course/components/co-instructor-card.jxn +128 -0
- package/sites/course/components/co-mentor.jxn +51 -0
- package/sites/course/components/co-module-card.jxn +101 -0
- package/sites/course/components/co-nav.jxn +172 -0
- package/sites/course/components/co-outcome-card.jxn +57 -0
- package/sites/course/components/co-outcomes.jxn +179 -0
- package/sites/course/components/co-pricing.jxn +145 -0
- package/sites/course/components/co-section-header.jxn +55 -0
- package/sites/course/components/co-testimonial-card.jxn +69 -0
- package/sites/course/document.schema.json +11 -2
- package/sites/course/layouts/base.jxn +17 -0
- package/sites/course/package.json +3 -3
- package/sites/course/project.jxn +94 -0
- package/sites/event/components/ev-agenda-tabs.jxn +663 -0
- package/sites/event/components/ev-cta.jxn +93 -0
- package/sites/event/components/ev-feature.jxn +46 -0
- package/sites/event/components/ev-footer.jxn +135 -0
- package/sites/event/components/ev-hero.jxn +323 -0
- package/sites/event/components/ev-nav.jxn +142 -0
- package/sites/event/components/ev-reason.jxn +50 -0
- package/sites/event/components/ev-savedate.jxn +268 -0
- package/sites/event/components/ev-section-header.jxn +51 -0
- package/sites/event/components/ev-session-row.jxn +103 -0
- package/sites/event/components/ev-speaker-card.jxn +104 -0
- package/sites/event/components/ev-sponsors.jxn +110 -0
- package/sites/event/components/ev-stat.jxn +39 -0
- package/sites/event/components/ev-ticket-card.jxn +169 -0
- package/sites/event/components/ev-venue.jxn +61 -0
- package/sites/event/document.schema.json +11 -2
- package/sites/event/layouts/base.jxn +12 -0
- package/sites/event/package.json +3 -3
- package/sites/event/project.jxn +114 -0
- package/sites/fitness-studio/components/fs-band.jxn +119 -0
- package/sites/fitness-studio/components/fs-booking.jxn +92 -0
- package/sites/fitness-studio/components/fs-class-card.jxn +103 -0
- package/sites/fitness-studio/components/fs-class-grid.jxn +23 -0
- package/sites/fitness-studio/components/fs-cta.jxn +81 -0
- package/sites/fitness-studio/components/fs-feature.jxn +40 -0
- package/sites/fitness-studio/components/fs-footer.jxn +116 -0
- package/sites/fitness-studio/components/fs-hero.jxn +290 -0
- package/sites/fitness-studio/components/fs-hours.jxn +78 -0
- package/sites/fitness-studio/components/fs-instructor-card.jxn +104 -0
- package/sites/fitness-studio/components/fs-intro.jxn +231 -0
- package/sites/fitness-studio/components/fs-modality.jxn +133 -0
- package/sites/fitness-studio/components/fs-nav.jxn +95 -0
- package/sites/fitness-studio/components/fs-pricing-card.jxn +190 -0
- package/sites/fitness-studio/components/fs-pricing-table.jxn +322 -0
- package/sites/fitness-studio/components/fs-review.jxn +59 -0
- package/sites/fitness-studio/components/fs-schedule.jxn +714 -0
- package/sites/fitness-studio/components/fs-section-header.jxn +55 -0
- package/sites/fitness-studio/document.schema.json +11 -2
- package/sites/fitness-studio/layouts/base.jxn +17 -0
- package/sites/fitness-studio/package.json +3 -3
- package/sites/fitness-studio/project.jxn +124 -0
- package/sites/home-services/components/hs-callbar.jxn +60 -0
- package/sites/home-services/components/hs-cta.jxn +139 -0
- package/sites/home-services/components/hs-feature.jxn +43 -0
- package/sites/home-services/components/hs-footer.jxn +169 -0
- package/sites/home-services/components/hs-gallery.jxn +51 -0
- package/sites/home-services/components/hs-hero.jxn +308 -0
- package/sites/home-services/components/hs-intro.jxn +97 -0
- package/sites/home-services/components/hs-nav.jxn +207 -0
- package/sites/home-services/components/hs-reservation.jxn +125 -0
- package/sites/home-services/components/hs-review.jxn +84 -0
- package/sites/home-services/components/hs-section-header.jxn +56 -0
- package/sites/home-services/components/hs-service-card.jxn +68 -0
- package/sites/home-services/components/hs-stat.jxn +40 -0
- package/sites/home-services/components/hs-step.jxn +67 -0
- package/sites/home-services/components/hs-trust-bar.jxn +183 -0
- package/sites/home-services/document.schema.json +11 -2
- package/sites/home-services/layouts/base.jxn +22 -0
- package/sites/home-services/package.json +3 -3
- package/sites/home-services/project.jxn +113 -0
- package/sites/museum/components/mu-band.jxn +63 -0
- package/sites/museum/components/mu-cta.jxn +76 -0
- package/sites/museum/components/mu-exhibition-card.jxn +118 -0
- package/sites/museum/components/mu-exhibition-row.jxn +142 -0
- package/sites/museum/components/mu-fact.jxn +40 -0
- package/sites/museum/components/mu-footer.jxn +206 -0
- package/sites/museum/components/mu-hero.jxn +165 -0
- package/sites/museum/components/mu-more.jxn +30 -0
- package/sites/museum/components/mu-oculus.jxn +33 -0
- package/sites/museum/components/mu-pagehead.jxn +76 -0
- package/sites/museum/components/mu-quote.jxn +36 -0
- package/sites/museum/document.schema.json +11 -2
- package/sites/museum/layouts/ar.jxn +31 -0
- package/sites/museum/layouts/base.jxn +227 -0
- package/sites/museum/layouts/fr-ca.jxn +30 -0
- package/sites/museum/package.json +3 -3
- package/sites/museum/pages/about.jxn +228 -0
- package/sites/museum/pages/ar/about.jxn +232 -0
- package/sites/museum/pages/ar/exhibitions/[slug].jxn +150 -0
- package/sites/museum/pages/ar/exhibitions/index.jxn +82 -0
- package/sites/museum/pages/ar/index.jxn +206 -0
- package/sites/museum/pages/ar/visit.jxn +270 -0
- package/sites/museum/pages/exhibitions/[slug].jxn +146 -0
- package/sites/museum/pages/exhibitions/index.jxn +78 -0
- package/sites/museum/pages/fr-ca/a-propos.jxn +233 -0
- package/sites/museum/pages/fr-ca/expositions/[slug].jxn +151 -0
- package/sites/museum/pages/fr-ca/expositions/index.jxn +83 -0
- package/sites/museum/pages/fr-ca/index.jxn +206 -0
- package/sites/museum/pages/fr-ca/visite.jxn +271 -0
- package/sites/museum/pages/index.jxn +202 -0
- package/sites/museum/pages/visit.jxn +266 -0
- package/sites/museum/project.jxn +130 -0
- package/sites/nonprofit/components/np-contact-form.jxn +97 -0
- package/sites/nonprofit/components/np-contact-info.jxn +104 -0
- package/sites/nonprofit/components/np-cta.jxn +163 -0
- package/sites/nonprofit/components/np-donate-tier.jxn +103 -0
- package/sites/nonprofit/components/np-feature.jxn +46 -0
- package/sites/nonprofit/components/np-footer.jxn +194 -0
- package/sites/nonprofit/components/np-hero.jxn +275 -0
- package/sites/nonprofit/components/np-impact-band.jxn +83 -0
- package/sites/nonprofit/components/np-intro.jxn +130 -0
- package/sites/nonprofit/components/np-nav.jxn +157 -0
- package/sites/nonprofit/components/np-program-card.jxn +95 -0
- package/sites/nonprofit/components/np-section-header.jxn +63 -0
- package/sites/nonprofit/components/np-stat.jxn +51 -0
- package/sites/nonprofit/components/np-step.jxn +73 -0
- package/sites/nonprofit/components/np-team-member.jxn +60 -0
- package/sites/nonprofit/components/np-testimonial.jxn +120 -0
- package/sites/nonprofit/document.schema.json +11 -2
- package/sites/nonprofit/layouts/base.jxn +17 -0
- package/sites/nonprofit/package.json +3 -3
- package/sites/nonprofit/project.jxn +99 -0
- package/sites/portfolio/components/pv-about-split.jxn +53 -0
- package/sites/portfolio/components/pv-category-pill.jxn +19 -0
- package/sites/portfolio/components/pv-contact-form.jxn +72 -0
- package/sites/portfolio/components/pv-cta.jxn +62 -0
- package/sites/portfolio/components/pv-feature.jxn +28 -0
- package/sites/portfolio/components/pv-footer.jxn +113 -0
- package/sites/portfolio/components/pv-gallery.jxn +40 -0
- package/sites/portfolio/components/pv-hero.jxn +109 -0
- package/sites/portfolio/components/pv-nav.jxn +76 -0
- package/sites/portfolio/components/pv-project-card.jxn +118 -0
- package/sites/portfolio/components/pv-project-grid.jxn +29 -0
- package/sites/portfolio/components/pv-section-header.jxn +65 -0
- package/sites/portfolio/document.schema.json +11 -2
- package/sites/portfolio/layouts/base.jxn +12 -0
- package/sites/portfolio/package.json +3 -3
- package/sites/portfolio/pages/[slug].jxn +177 -0
- package/sites/portfolio/project.jxn +85 -0
- package/sites/professional-firm/components/pf-article-header.jxn +60 -0
- package/sites/professional-firm/components/pf-contact-form.jxn +74 -0
- package/sites/professional-firm/components/pf-contact-info.jxn +101 -0
- package/sites/professional-firm/components/pf-cta.jxn +63 -0
- package/sites/professional-firm/components/pf-feature.jxn +32 -0
- package/sites/professional-firm/components/pf-footer.jxn +171 -0
- package/sites/professional-firm/components/pf-hero.jxn +139 -0
- package/sites/professional-firm/components/pf-insight-row.jxn +111 -0
- package/sites/professional-firm/components/pf-intro.jxn +68 -0
- package/sites/professional-firm/components/pf-logo-bar.jxn +90 -0
- package/sites/professional-firm/components/pf-nav.jxn +93 -0
- package/sites/professional-firm/components/pf-section-header.jxn +53 -0
- package/sites/professional-firm/components/pf-service-row.jxn +67 -0
- package/sites/professional-firm/components/pf-statband.jxn +135 -0
- package/sites/professional-firm/components/pf-team-member.jxn +53 -0
- package/sites/professional-firm/document.schema.json +11 -2
- package/sites/professional-firm/layouts/article.jxn +88 -0
- package/sites/professional-firm/layouts/base.jxn +12 -0
- package/sites/professional-firm/package.json +3 -3
- package/sites/professional-firm/pages/insights/[slug].jxn +106 -0
- package/sites/professional-firm/project.jxn +94 -0
- package/sites/real-estate/components/re-agent-band.jxn +165 -0
- package/sites/real-estate/components/re-agent-card.jxn +78 -0
- package/sites/real-estate/components/re-contact-form.jxn +119 -0
- package/sites/real-estate/components/re-cta.jxn +98 -0
- package/sites/real-estate/components/re-detail-row.jxn +18 -0
- package/sites/real-estate/components/re-feature.jxn +41 -0
- package/sites/real-estate/components/re-footer.jxn +219 -0
- package/sites/real-estate/components/re-hero.jxn +367 -0
- package/sites/real-estate/components/re-intro.jxn +43 -0
- package/sites/real-estate/components/re-listing-card.jxn +210 -0
- package/sites/real-estate/components/re-listings-filter.jxn +371 -0
- package/sites/real-estate/components/re-nav.jxn +162 -0
- package/sites/real-estate/components/re-neighborhood.jxn +101 -0
- package/sites/real-estate/components/re-section-header.jxn +55 -0
- package/sites/real-estate/components/re-stat.jxn +26 -0
- package/sites/real-estate/components/re-step.jxn +42 -0
- package/sites/real-estate/components/re-testimonial.jxn +66 -0
- package/sites/real-estate/document.schema.json +11 -2
- package/sites/real-estate/layouts/base.jxn +17 -0
- package/sites/real-estate/package.json +3 -3
- package/sites/real-estate/pages/[slug].jxn +452 -0
- package/sites/real-estate/project.jxn +103 -0
- package/sites/restaurant/components/bit-cta.jxn +105 -0
- package/sites/restaurant/components/bit-feature.jxn +38 -0
- package/sites/restaurant/components/bit-footer.jxn +142 -0
- package/sites/restaurant/components/bit-gallery.jxn +50 -0
- package/sites/restaurant/components/bit-hero.jxn +194 -0
- package/sites/restaurant/components/bit-hours.jxn +145 -0
- package/sites/restaurant/components/bit-intro.jxn +75 -0
- package/sites/restaurant/components/bit-menu-group.jxn +51 -0
- package/sites/restaurant/components/bit-menu-item.jxn +50 -0
- package/sites/restaurant/components/bit-nav.jxn +145 -0
- package/sites/restaurant/components/bit-reservation.jxn +90 -0
- package/sites/restaurant/components/bit-review.jxn +54 -0
- package/sites/restaurant/components/bit-section-header.jxn +73 -0
- package/sites/restaurant/document.schema.json +11 -2
- package/sites/restaurant/layouts/base.jxn +17 -0
- package/sites/restaurant/package.json +3 -3
- package/sites/restaurant/project.jxn +93 -0
- package/sites/saas/components/sa-check-item.jxn +25 -0
- package/sites/saas/components/sa-contact-form.jxn +94 -0
- package/sites/saas/components/sa-cta.jxn +68 -0
- package/sites/saas/components/sa-faq.jxn +347 -0
- package/sites/saas/components/sa-feature-card.jxn +57 -0
- package/sites/saas/components/sa-feature-split.jxn +43 -0
- package/sites/saas/components/sa-footer.jxn +106 -0
- package/sites/saas/components/sa-hero.jxn +217 -0
- package/sites/saas/components/sa-logo-cloud.jxn +98 -0
- package/sites/saas/components/sa-nav.jxn +108 -0
- package/sites/saas/components/sa-pricing.jxn +317 -0
- package/sites/saas/components/sa-section-header.jxn +43 -0
- package/sites/saas/components/sa-stat.jxn +32 -0
- package/sites/saas/components/sa-testimonial-card.jxn +37 -0
- package/sites/saas/document.schema.json +11 -2
- package/sites/saas/layouts/base.jxn +17 -0
- package/sites/saas/package.json +3 -3
- package/sites/saas/project.jxn +119 -0
- package/sites/shop/components/shp-badge.jxn +17 -0
- package/sites/shop/components/shp-category-tile.jxn +79 -0
- package/sites/shop/components/shp-contact-form.jxn +84 -0
- package/sites/shop/components/shp-cta.jxn +85 -0
- package/sites/shop/components/shp-feature.jxn +44 -0
- package/sites/shop/components/shp-footer.jxn +311 -0
- package/sites/shop/components/shp-hero.jxn +311 -0
- package/sites/shop/components/shp-intro.jxn +42 -0
- package/sites/shop/components/shp-nav.jxn +273 -0
- package/sites/shop/components/shp-newsletter.jxn +119 -0
- package/sites/shop/components/shp-product-card.jxn +187 -0
- package/sites/shop/components/shp-product-filter.jxn +263 -0
- package/sites/shop/components/shp-review.jxn +38 -0
- package/sites/shop/components/shp-section-header.jxn +61 -0
- package/sites/shop/components/shp-service.jxn +58 -0
- package/sites/shop/components/shp-stat.jxn +27 -0
- package/sites/shop/components/shp-trust.jxn +39 -0
- package/sites/shop/components/shp-visit-info.jxn +82 -0
- package/sites/shop/document.schema.json +11 -2
- package/sites/shop/layouts/base.jxn +17 -0
- package/sites/shop/package.json +3 -3
- package/sites/shop/pages/products/[sku].jxn +351 -0
- package/sites/shop/project.jxn +100 -0
- package/sites/blog/components/bl-author-bio.json +0 -86
- package/sites/blog/components/bl-contact-form.json +0 -114
- package/sites/blog/components/bl-contact-info.json +0 -54
- package/sites/blog/components/bl-cta.json +0 -68
- package/sites/blog/components/bl-footer.json +0 -122
- package/sites/blog/components/bl-masthead.json +0 -134
- package/sites/blog/components/bl-nav.json +0 -90
- package/sites/blog/components/bl-newsletter-cta.json +0 -134
- package/sites/blog/components/bl-post-card.json +0 -132
- package/sites/blog/components/bl-post-list.json +0 -10
- package/sites/blog/components/bl-prose.json +0 -89
- package/sites/blog/components/bl-section-header.json +0 -70
- package/sites/blog/components/bl-tag-pill.json +0 -29
- package/sites/blog/layouts/base.json +0 -22
- package/sites/blog/layouts/post.json +0 -15
- package/sites/blog/pages/[slug].json +0 -148
- package/sites/blog/project.json +0 -140
- package/sites/course/components/co-application.json +0 -225
- package/sites/course/components/co-cohort.json +0 -172
- package/sites/course/components/co-cta.json +0 -126
- package/sites/course/components/co-curriculum-accordion.json +0 -1476
- package/sites/course/components/co-faq.json +0 -524
- package/sites/course/components/co-footer.json +0 -195
- package/sites/course/components/co-hero.json +0 -475
- package/sites/course/components/co-instructor-card.json +0 -159
- package/sites/course/components/co-mentor.json +0 -65
- package/sites/course/components/co-module-card.json +0 -138
- package/sites/course/components/co-nav.json +0 -244
- package/sites/course/components/co-outcome-card.json +0 -84
- package/sites/course/components/co-outcomes.json +0 -248
- package/sites/course/components/co-pricing.json +0 -178
- package/sites/course/components/co-section-header.json +0 -74
- package/sites/course/components/co-testimonial-card.json +0 -109
- package/sites/course/layouts/base.json +0 -22
- package/sites/course/project.json +0 -141
- package/sites/event/components/ev-agenda-tabs.json +0 -828
- package/sites/event/components/ev-cta.json +0 -126
- package/sites/event/components/ev-feature.json +0 -62
- package/sites/event/components/ev-footer.json +0 -197
- package/sites/event/components/ev-hero.json +0 -431
- package/sites/event/components/ev-nav.json +0 -186
- package/sites/event/components/ev-reason.json +0 -64
- package/sites/event/components/ev-savedate.json +0 -331
- package/sites/event/components/ev-section-header.json +0 -70
- package/sites/event/components/ev-session-row.json +0 -132
- package/sites/event/components/ev-speaker-card.json +0 -130
- package/sites/event/components/ev-sponsors.json +0 -131
- package/sites/event/components/ev-stat.json +0 -47
- package/sites/event/components/ev-ticket-card.json +0 -214
- package/sites/event/components/ev-venue.json +0 -86
- package/sites/event/layouts/base.json +0 -22
- package/sites/event/project.json +0 -163
- package/sites/fitness-studio/components/fs-band.json +0 -149
- package/sites/fitness-studio/components/fs-booking.json +0 -147
- package/sites/fitness-studio/components/fs-class-card.json +0 -143
- package/sites/fitness-studio/components/fs-class-grid.json +0 -36
- package/sites/fitness-studio/components/fs-cta.json +0 -106
- package/sites/fitness-studio/components/fs-feature.json +0 -56
- package/sites/fitness-studio/components/fs-footer.json +0 -178
- package/sites/fitness-studio/components/fs-hero.json +0 -375
- package/sites/fitness-studio/components/fs-hours.json +0 -109
- package/sites/fitness-studio/components/fs-instructor-card.json +0 -136
- package/sites/fitness-studio/components/fs-intro.json +0 -294
- package/sites/fitness-studio/components/fs-modality.json +0 -171
- package/sites/fitness-studio/components/fs-nav.json +0 -128
- package/sites/fitness-studio/components/fs-pricing-card.json +0 -243
- package/sites/fitness-studio/components/fs-pricing-table.json +0 -458
- package/sites/fitness-studio/components/fs-review.json +0 -88
- package/sites/fitness-studio/components/fs-schedule.json +0 -1165
- package/sites/fitness-studio/components/fs-section-header.json +0 -77
- package/sites/fitness-studio/layouts/base.json +0 -22
- package/sites/fitness-studio/project.json +0 -175
- package/sites/home-services/components/hs-callbar.json +0 -72
- package/sites/home-services/components/hs-cta.json +0 -184
- package/sites/home-services/components/hs-feature.json +0 -62
- package/sites/home-services/components/hs-footer.json +0 -232
- package/sites/home-services/components/hs-gallery.json +0 -104
- package/sites/home-services/components/hs-hero.json +0 -446
- package/sites/home-services/components/hs-intro.json +0 -122
- package/sites/home-services/components/hs-nav.json +0 -278
- package/sites/home-services/components/hs-reservation.json +0 -225
- package/sites/home-services/components/hs-review.json +0 -114
- package/sites/home-services/components/hs-section-header.json +0 -70
- package/sites/home-services/components/hs-service-card.json +0 -89
- package/sites/home-services/components/hs-stat.json +0 -54
- package/sites/home-services/components/hs-step.json +0 -80
- package/sites/home-services/components/hs-trust-bar.json +0 -256
- package/sites/home-services/layouts/base.json +0 -24
- package/sites/home-services/project.json +0 -160
- package/sites/museum/components/mu-band.json +0 -92
- package/sites/museum/components/mu-cta.json +0 -101
- package/sites/museum/components/mu-exhibition-card.json +0 -191
- package/sites/museum/components/mu-exhibition-row.json +0 -237
- package/sites/museum/components/mu-fact.json +0 -64
- package/sites/museum/components/mu-footer.json +0 -256
- package/sites/museum/components/mu-hero.json +0 -236
- package/sites/museum/components/mu-more.json +0 -63
- package/sites/museum/components/mu-oculus.json +0 -44
- package/sites/museum/components/mu-pagehead.json +0 -105
- package/sites/museum/components/mu-quote.json +0 -49
- package/sites/museum/layouts/ar.json +0 -29
- package/sites/museum/layouts/base.json +0 -329
- package/sites/museum/layouts/fr-ca.json +0 -28
- package/sites/museum/pages/about.json +0 -378
- package/sites/museum/pages/ar/about.json +0 -314
- package/sites/museum/pages/ar/exhibitions/[slug].json +0 -211
- package/sites/museum/pages/ar/exhibitions/index.json +0 -103
- package/sites/museum/pages/ar/index.json +0 -246
- package/sites/museum/pages/ar/visit.json +0 -327
- package/sites/museum/pages/exhibitions/[slug].json +0 -200
- package/sites/museum/pages/exhibitions/index.json +0 -93
- package/sites/museum/pages/fr-ca/a-propos.json +0 -313
- package/sites/museum/pages/fr-ca/expositions/[slug].json +0 -215
- package/sites/museum/pages/fr-ca/expositions/index.json +0 -104
- package/sites/museum/pages/fr-ca/index.json +0 -246
- package/sites/museum/pages/fr-ca/visite.json +0 -328
- package/sites/museum/pages/index.json +0 -236
- package/sites/museum/pages/visit.json +0 -317
- package/sites/museum/project.json +0 -179
- package/sites/nonprofit/components/np-contact-form.json +0 -162
- package/sites/nonprofit/components/np-contact-info.json +0 -159
- package/sites/nonprofit/components/np-cta.json +0 -203
- package/sites/nonprofit/components/np-donate-tier.json +0 -116
- package/sites/nonprofit/components/np-feature.json +0 -57
- package/sites/nonprofit/components/np-footer.json +0 -257
- package/sites/nonprofit/components/np-hero.json +0 -360
- package/sites/nonprofit/components/np-impact-band.json +0 -108
- package/sites/nonprofit/components/np-intro.json +0 -166
- package/sites/nonprofit/components/np-nav.json +0 -216
- package/sites/nonprofit/components/np-program-card.json +0 -129
- package/sites/nonprofit/components/np-section-header.json +0 -79
- package/sites/nonprofit/components/np-stat.json +0 -69
- package/sites/nonprofit/components/np-step.json +0 -84
- package/sites/nonprofit/components/np-team-member.json +0 -74
- package/sites/nonprofit/components/np-testimonial.json +0 -169
- package/sites/nonprofit/layouts/base.json +0 -22
- package/sites/nonprofit/project.json +0 -147
- package/sites/portfolio/components/pv-about-split.json +0 -71
- package/sites/portfolio/components/pv-category-pill.json +0 -25
- package/sites/portfolio/components/pv-contact-form.json +0 -126
- package/sites/portfolio/components/pv-cta.json +0 -80
- package/sites/portfolio/components/pv-feature.json +0 -48
- package/sites/portfolio/components/pv-footer.json +0 -167
- package/sites/portfolio/components/pv-gallery.json +0 -50
- package/sites/portfolio/components/pv-hero.json +0 -139
- package/sites/portfolio/components/pv-nav.json +0 -100
- package/sites/portfolio/components/pv-project-card.json +0 -160
- package/sites/portfolio/components/pv-project-grid.json +0 -30
- package/sites/portfolio/components/pv-section-header.json +0 -90
- package/sites/portfolio/layouts/base.json +0 -22
- package/sites/portfolio/pages/[slug].json +0 -260
- package/sites/portfolio/project.json +0 -137
- package/sites/professional-firm/components/pf-article-header.json +0 -93
- package/sites/professional-firm/components/pf-contact-form.json +0 -146
- package/sites/professional-firm/components/pf-contact-info.json +0 -147
- package/sites/professional-firm/components/pf-cta.json +0 -86
- package/sites/professional-firm/components/pf-feature.json +0 -52
- package/sites/professional-firm/components/pf-footer.json +0 -231
- package/sites/professional-firm/components/pf-hero.json +0 -174
- package/sites/professional-firm/components/pf-insight-row.json +0 -144
- package/sites/professional-firm/components/pf-intro.json +0 -93
- package/sites/professional-firm/components/pf-logo-bar.json +0 -113
- package/sites/professional-firm/components/pf-nav.json +0 -135
- package/sites/professional-firm/components/pf-section-header.json +0 -77
- package/sites/professional-firm/components/pf-service-row.json +0 -104
- package/sites/professional-firm/components/pf-statband.json +0 -183
- package/sites/professional-firm/components/pf-team-member.json +0 -75
- package/sites/professional-firm/layouts/article.json +0 -130
- package/sites/professional-firm/layouts/base.json +0 -22
- package/sites/professional-firm/pages/insights/[slug].json +0 -129
- package/sites/professional-firm/project.json +0 -145
- package/sites/real-estate/components/re-agent-band.json +0 -240
- package/sites/real-estate/components/re-agent-card.json +0 -93
- package/sites/real-estate/components/re-contact-form.json +0 -181
- package/sites/real-estate/components/re-cta.json +0 -128
- package/sites/real-estate/components/re-detail-row.json +0 -26
- package/sites/real-estate/components/re-feature.json +0 -57
- package/sites/real-estate/components/re-footer.json +0 -291
- package/sites/real-estate/components/re-hero.json +0 -536
- package/sites/real-estate/components/re-intro.json +0 -60
- package/sites/real-estate/components/re-listing-card.json +0 -286
- package/sites/real-estate/components/re-listings-filter.json +0 -454
- package/sites/real-estate/components/re-nav.json +0 -216
- package/sites/real-estate/components/re-neighborhood.json +0 -135
- package/sites/real-estate/components/re-section-header.json +0 -69
- package/sites/real-estate/components/re-stat.json +0 -37
- package/sites/real-estate/components/re-step.json +0 -58
- package/sites/real-estate/components/re-testimonial.json +0 -91
- package/sites/real-estate/layouts/base.json +0 -22
- package/sites/real-estate/pages/[slug].json +0 -629
- package/sites/real-estate/project.json +0 -163
- package/sites/restaurant/components/bit-cta.json +0 -140
- package/sites/restaurant/components/bit-feature.json +0 -61
- package/sites/restaurant/components/bit-footer.json +0 -191
- package/sites/restaurant/components/bit-gallery.json +0 -74
- package/sites/restaurant/components/bit-hero.json +0 -253
- package/sites/restaurant/components/bit-hours.json +0 -183
- package/sites/restaurant/components/bit-intro.json +0 -96
- package/sites/restaurant/components/bit-menu-group.json +0 -74
- package/sites/restaurant/components/bit-menu-item.json +0 -72
- package/sites/restaurant/components/bit-nav.json +0 -214
- package/sites/restaurant/components/bit-reservation.json +0 -155
- package/sites/restaurant/components/bit-review.json +0 -84
- package/sites/restaurant/components/bit-section-header.json +0 -98
- package/sites/restaurant/layouts/base.json +0 -22
- package/sites/restaurant/project.json +0 -145
- package/sites/saas/components/sa-check-item.json +0 -40
- package/sites/saas/components/sa-contact-form.json +0 -153
- package/sites/saas/components/sa-cta.json +0 -102
- package/sites/saas/components/sa-faq.json +0 -413
- package/sites/saas/components/sa-feature-card.json +0 -69
- package/sites/saas/components/sa-feature-split.json +0 -60
- package/sites/saas/components/sa-footer.json +0 -145
- package/sites/saas/components/sa-hero.json +0 -277
- package/sites/saas/components/sa-logo-cloud.json +0 -119
- package/sites/saas/components/sa-nav.json +0 -138
- package/sites/saas/components/sa-pricing.json +0 -428
- package/sites/saas/components/sa-section-header.json +0 -55
- package/sites/saas/components/sa-stat.json +0 -44
- package/sites/saas/components/sa-testimonial-card.json +0 -57
- package/sites/saas/layouts/base.json +0 -22
- package/sites/saas/project.json +0 -166
- package/sites/shop/components/shp-badge.json +0 -18
- package/sites/shop/components/shp-category-tile.json +0 -104
- package/sites/shop/components/shp-contact-form.json +0 -156
- package/sites/shop/components/shp-cta.json +0 -121
- package/sites/shop/components/shp-feature.json +0 -60
- package/sites/shop/components/shp-footer.json +0 -411
- package/sites/shop/components/shp-hero.json +0 -395
- package/sites/shop/components/shp-intro.json +0 -59
- package/sites/shop/components/shp-nav.json +0 -358
- package/sites/shop/components/shp-newsletter.json +0 -166
- package/sites/shop/components/shp-product-card.json +0 -238
- package/sites/shop/components/shp-product-filter.json +0 -366
- package/sites/shop/components/shp-review.json +0 -54
- package/sites/shop/components/shp-section-header.json +0 -75
- package/sites/shop/components/shp-service.json +0 -83
- package/sites/shop/components/shp-stat.json +0 -37
- package/sites/shop/components/shp-trust.json +0 -58
- package/sites/shop/components/shp-visit-info.json +0 -132
- package/sites/shop/layouts/base.json +0 -22
- package/sites/shop/pages/products/[sku].json +0 -482
- package/sites/shop/project.json +0 -156
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/- kdl-version 2
|
|
2
|
+
|
|
3
|
+
$element .title="Plan your visit — Atrium" .description="Hours, admission, transport and access for Atrium, the city museum of art and history. Free entry, Tuesday to Sunday, 10:00 to 18:00." {
|
|
4
|
+
state {
|
|
5
|
+
tourPrice {
|
|
6
|
+
$expression {
|
|
7
|
+
operator call
|
|
8
|
+
target (ref)"window#/Intl/formatNumber"
|
|
9
|
+
value {
|
|
10
|
+
- 12
|
|
11
|
+
- #null
|
|
12
|
+
- style=currency currency=CAD
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
membership {
|
|
17
|
+
$expression {
|
|
18
|
+
operator call
|
|
19
|
+
target (ref)"window#/Intl/formatNumber"
|
|
20
|
+
value {
|
|
21
|
+
- 45
|
|
22
|
+
- #null
|
|
23
|
+
- style=currency currency=CAD
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
trams {
|
|
28
|
+
$expression {
|
|
29
|
+
operator call
|
|
30
|
+
target (ref)"window#/Intl/formatList"
|
|
31
|
+
value {
|
|
32
|
+
- "2" "6" "11"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
closedFrom {
|
|
37
|
+
$expression {
|
|
38
|
+
operator call
|
|
39
|
+
target (ref)"window#/Intl/formatDate"
|
|
40
|
+
value {
|
|
41
|
+
- "2026-12-24"
|
|
42
|
+
- #null
|
|
43
|
+
- day=numeric month=long
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
closedTo {
|
|
48
|
+
$expression {
|
|
49
|
+
operator call
|
|
50
|
+
target (ref)"window#/Intl/formatDate"
|
|
51
|
+
value {
|
|
52
|
+
- "2026-12-26"
|
|
53
|
+
- #null
|
|
54
|
+
- day=numeric month=long year=numeric
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
mu-pagehead {
|
|
60
|
+
$props {
|
|
61
|
+
kicker Visit
|
|
62
|
+
title "Ten to six, six days a week"
|
|
63
|
+
standfirst "There is no ticket desk, because there is no ticket. Walk in from the quay side, leave your bag at the counter if it is bigger than a satchel, and start wherever you like."
|
|
64
|
+
metaLabel Address
|
|
65
|
+
metaValue "2 Quai des Écluses, Old Harbour"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
mu-band {
|
|
69
|
+
$props index="01" label=Hours tone=chalk
|
|
70
|
+
div {
|
|
71
|
+
style {
|
|
72
|
+
display grid
|
|
73
|
+
gridTemplateColumns "repeat(2, minmax(0, 1fr))"
|
|
74
|
+
columnGap "clamp(2rem, 5vw, 4rem)"
|
|
75
|
+
@--md gridTemplateColumns="minmax(0, 1fr)"
|
|
76
|
+
}
|
|
77
|
+
div {
|
|
78
|
+
mu-fact {
|
|
79
|
+
$props {
|
|
80
|
+
term "Tue – Fri"
|
|
81
|
+
value "10:00 – 18:00"
|
|
82
|
+
note "Last entry to the reading room at 17:00."
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
mu-fact {
|
|
86
|
+
$props {
|
|
87
|
+
term "Sat – Sun"
|
|
88
|
+
value "10:00 – 18:00"
|
|
89
|
+
note "The courtyard stays open until 19:00 from May to September."
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
div {
|
|
94
|
+
mu-fact {
|
|
95
|
+
$props {
|
|
96
|
+
term Monday
|
|
97
|
+
value Closed
|
|
98
|
+
note "Conservation day. The café on the quay side stays open."
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
mu-fact {
|
|
102
|
+
$props {
|
|
103
|
+
term "Winter closure"
|
|
104
|
+
value "From ${state.closedFrom} to ${state.closedTo}"
|
|
105
|
+
note "The only three consecutive days the hall is shut all year."
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
mu-band {
|
|
112
|
+
$props index="02" label=Admission tone=card
|
|
113
|
+
div {
|
|
114
|
+
style {
|
|
115
|
+
display grid
|
|
116
|
+
gridTemplateColumns "minmax(0, 1fr) minmax(0, 1fr)"
|
|
117
|
+
columnGap "clamp(2rem, 5vw, 4rem)"
|
|
118
|
+
rowGap "1.5rem"
|
|
119
|
+
@--md gridTemplateColumns="minmax(0, 1fr)"
|
|
120
|
+
}
|
|
121
|
+
div {
|
|
122
|
+
style {
|
|
123
|
+
border "2px solid var(--color-ink)"
|
|
124
|
+
backgroundColor "var(--color-pigment)"
|
|
125
|
+
color "var(--color-card)"
|
|
126
|
+
padding "clamp(1.5rem, 3.5vw, 2.25rem)"
|
|
127
|
+
}
|
|
128
|
+
p "General admission" {
|
|
129
|
+
style {
|
|
130
|
+
margin "0 0 0.9rem"
|
|
131
|
+
fontFamily "var(--font-label)"
|
|
132
|
+
fontSize "0.66rem"
|
|
133
|
+
letterSpacing "var(--label-tracking)"
|
|
134
|
+
textTransform "var(--label-case)"
|
|
135
|
+
opacity "0.8"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
p Free {
|
|
139
|
+
style {
|
|
140
|
+
margin "0"
|
|
141
|
+
fontFamily "var(--font-display)"
|
|
142
|
+
fontSize "clamp(2.4rem, 6vw, 3.6rem)"
|
|
143
|
+
fontWeight "700"
|
|
144
|
+
lineHeight "calc(1 * var(--leading-scale))"
|
|
145
|
+
letterSpacing "var(--display-tracking)"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
p "Written into the founding subscription of 1897 and never changed. No ticket, no booking, no members-only hour." {
|
|
149
|
+
style margin="1.1rem 0 0" lineHeight="1.65" maxWidth="34ch"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
div {
|
|
153
|
+
mu-fact {
|
|
154
|
+
$props {
|
|
155
|
+
term "Guided tour"
|
|
156
|
+
value "${state.tourPrice}"
|
|
157
|
+
note "Ninety minutes, Saturdays at 11:00 and 15:00. Book at the desk."
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
mu-fact {
|
|
161
|
+
$props {
|
|
162
|
+
term Membership
|
|
163
|
+
value "${state.membership}"
|
|
164
|
+
note "A year of tours, the quarterly, and a vote at the annual meeting."
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
mu-fact {
|
|
168
|
+
$props {
|
|
169
|
+
term Schools
|
|
170
|
+
value "No charge, ever"
|
|
171
|
+
note "Including the coach. Write to the education desk six weeks ahead."
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
mu-band {
|
|
178
|
+
$props index="03" label="Getting here" tone=chalk
|
|
179
|
+
div {
|
|
180
|
+
style {
|
|
181
|
+
display grid
|
|
182
|
+
gridTemplateColumns "repeat(2, minmax(0, 1fr))"
|
|
183
|
+
columnGap "clamp(2rem, 5vw, 4rem)"
|
|
184
|
+
@--md gridTemplateColumns="minmax(0, 1fr)"
|
|
185
|
+
}
|
|
186
|
+
div {
|
|
187
|
+
mu-fact {
|
|
188
|
+
$props {
|
|
189
|
+
term Tram
|
|
190
|
+
value "Lines ${state.trams}"
|
|
191
|
+
note "Stop: Écluses. The hall is the glass roof on your left as you step down."
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
mu-fact {
|
|
195
|
+
$props {
|
|
196
|
+
term "On foot"
|
|
197
|
+
value "Eleven minutes from the old town gate"
|
|
198
|
+
note "Follow the quay; the last stretch is cobbled and uneven."
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
div {
|
|
203
|
+
mu-fact {
|
|
204
|
+
$props {
|
|
205
|
+
term "By bicycle"
|
|
206
|
+
value "Forty racks under the north canopy"
|
|
207
|
+
note "Covered, lit, and in view of the front desk."
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
mu-fact {
|
|
211
|
+
$props {
|
|
212
|
+
term "By car"
|
|
213
|
+
value "No museum car park"
|
|
214
|
+
note "Public parking at Bassin Nord, six minutes' walk over the lock bridge."
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
mu-band {
|
|
221
|
+
$props index="04" label=Access tone=card
|
|
222
|
+
div {
|
|
223
|
+
style maxWidth="var(--measure)"
|
|
224
|
+
p "Every gallery is reachable step-free from the quay-side entrance, including the courtyard and the reading room. The only exception is the customs-house walk, which has four stone steps and no handrail; a level route around it is signed at the entrance." {
|
|
225
|
+
style margin="0 0 1.5rem" lineHeight="1.75"
|
|
226
|
+
}
|
|
227
|
+
mu-fact {
|
|
228
|
+
$props {
|
|
229
|
+
term Step-free
|
|
230
|
+
value "All galleries and the reading room"
|
|
231
|
+
note "Two lifts, both large enough for a wheelchair and a companion."
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
mu-fact {
|
|
235
|
+
$props {
|
|
236
|
+
term Seating
|
|
237
|
+
value "A bench in every room"
|
|
238
|
+
note "Folding stools at the desk, free to borrow, no deposit."
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
mu-fact {
|
|
242
|
+
$props {
|
|
243
|
+
term "Quiet hour"
|
|
244
|
+
value "Wednesdays, 10:00 – 11:00"
|
|
245
|
+
note "Lights up, sound off, and half the usual visitor numbers."
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
mu-fact {
|
|
249
|
+
$props {
|
|
250
|
+
term "Assistance dogs"
|
|
251
|
+
value "Welcome everywhere"
|
|
252
|
+
note "Water bowls at both entrances and in the courtyard."
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
mu-cta {
|
|
258
|
+
$props {
|
|
259
|
+
kicker "Before you come"
|
|
260
|
+
heading "See what is hanging this week."
|
|
261
|
+
text "Three exhibitions are open, and the programme lists what changes next."
|
|
262
|
+
label "What's on"
|
|
263
|
+
href "/exhibitions/"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/- kdl-version 2
|
|
2
|
+
$schema "./project.schema.json"
|
|
3
|
+
project Atrium
|
|
4
|
+
|
|
5
|
+
url "https://example.com"
|
|
6
|
+
|
|
7
|
+
defaults layout="./layouts/base.jxn" lang=en
|
|
8
|
+
|
|
9
|
+
i18n {
|
|
10
|
+
defaultLocale en
|
|
11
|
+
locales en fr-CA ar
|
|
12
|
+
routing prefix-except-default
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
$head {
|
|
16
|
+
meta name=viewport content="width=device-width, initial-scale=1"
|
|
17
|
+
meta name=description content="Atrium is the city museum of art and history — four centuries of the harbour, its makers and its maps, in a glass hall open to everyone, in English, French and Arabic."
|
|
18
|
+
link rel=icon href="/favicon.svg" type="image/svg+xml"
|
|
19
|
+
link rel=preconnect href="https://fonts.googleapis.com"
|
|
20
|
+
link rel=preconnect href="https://fonts.gstatic.com" crossorigin=""
|
|
21
|
+
link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Noto+Sans+Display:wght@400;500;700&family=Noto+Sans+Mono:wght@400;500&family=Noto+Serif:wght@400;500;600&family=Noto+Kufi+Arabic:wght@400;500;700&family=Noto+Naskh+Arabic:wght@400;500;600&display=swap"
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
$media {
|
|
25
|
+
--lg "(max-width: 1080px)"
|
|
26
|
+
--md "(max-width: 840px)"
|
|
27
|
+
--sm "(max-width: 600px)"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
style {
|
|
31
|
+
--color-ink "#17181d"
|
|
32
|
+
--color-ink-deep "#0b0c10"
|
|
33
|
+
--color-chalk "#e7e3da"
|
|
34
|
+
--color-chalk-deep "#d8d3c6"
|
|
35
|
+
--color-card "#f7f5f0"
|
|
36
|
+
--color-pigment "#2438c8"
|
|
37
|
+
--color-pigment-deep "#182a9c"
|
|
38
|
+
--color-pigment-tint "rgba(36, 56, 200, 0.09)"
|
|
39
|
+
--color-clay "#ad4529"
|
|
40
|
+
--color-muted "#5c5a66"
|
|
41
|
+
--color-hairline "#cbc5b8"
|
|
42
|
+
--font-display "'Noto Sans Display', 'Noto Kufi Arabic', system-ui, -apple-system, sans-serif"
|
|
43
|
+
--font-text "'Noto Serif', 'Noto Naskh Arabic', Georgia, 'Times New Roman', serif"
|
|
44
|
+
--font-label "'Noto Sans Mono', 'Noto Kufi Arabic', ui-monospace, SFMono-Regular, Menlo, monospace"
|
|
45
|
+
--label-tracking "0.16em"
|
|
46
|
+
--label-case uppercase
|
|
47
|
+
--display-tracking "-0.035em"
|
|
48
|
+
--radius "0"
|
|
49
|
+
--max-width "1240px"
|
|
50
|
+
--measure "62ch"
|
|
51
|
+
--label-column "9.5rem"
|
|
52
|
+
--gutter "clamp(1.25rem, 4vw, 3rem)"
|
|
53
|
+
--band-space "clamp(3.25rem, 7vw, 6rem)"
|
|
54
|
+
--flip-inline "1"
|
|
55
|
+
--leading-scale "1"
|
|
56
|
+
margin "0"
|
|
57
|
+
padding "0"
|
|
58
|
+
fontFamily "var(--font-text)"
|
|
59
|
+
fontSize "17px"
|
|
60
|
+
lineHeight "1.7"
|
|
61
|
+
color "var(--color-ink)"
|
|
62
|
+
backgroundColor "var(--color-chalk)"
|
|
63
|
+
WebkitFontSmoothing antialiased
|
|
64
|
+
":lang(ar)" {
|
|
65
|
+
--label-tracking "0"
|
|
66
|
+
--label-case none
|
|
67
|
+
--display-tracking "0"
|
|
68
|
+
--flip-inline "-1"
|
|
69
|
+
--leading-scale "1.35"
|
|
70
|
+
}
|
|
71
|
+
":dir(rtl)" {
|
|
72
|
+
--flip-inline "-1"
|
|
73
|
+
}
|
|
74
|
+
":lang(ar) h1, :lang(ar) h2, :lang(ar) h3" {
|
|
75
|
+
textWrap balance
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
images optimize=#false lazyLoad=#true
|
|
80
|
+
|
|
81
|
+
content {
|
|
82
|
+
exhibitions {
|
|
83
|
+
source "./content/exhibitions/{locale}/"
|
|
84
|
+
format Markdown
|
|
85
|
+
schema {
|
|
86
|
+
type object
|
|
87
|
+
properties {
|
|
88
|
+
title type=string description="Exhibition title, as it appears on the wall."
|
|
89
|
+
description {
|
|
90
|
+
type string
|
|
91
|
+
description "One-sentence standfirst for cards and search results."
|
|
92
|
+
}
|
|
93
|
+
date {
|
|
94
|
+
type string
|
|
95
|
+
description "Opening date, ISO 8601 (YYYY-MM-DD) — Intl/formatDate renders it in each page's own language."
|
|
96
|
+
}
|
|
97
|
+
until type=string description="Closing date, ISO 8601 (YYYY-MM-DD)."
|
|
98
|
+
gallery type=string description="Where in the building it hangs."
|
|
99
|
+
curator {
|
|
100
|
+
type string
|
|
101
|
+
description "Curator's name — a proper noun, so it stays the same in every language."
|
|
102
|
+
}
|
|
103
|
+
works {
|
|
104
|
+
type number
|
|
105
|
+
description "Number of objects on show; formatted with Intl/formatNumber, so Arabic pages get Arabic-Indic digits."
|
|
106
|
+
}
|
|
107
|
+
hue {
|
|
108
|
+
type number
|
|
109
|
+
description "Hue (0–360) of this exhibition's drawn plate. The starter ships no photographs; each card's art is CSS, generated from this one number."
|
|
110
|
+
}
|
|
111
|
+
enKey {
|
|
112
|
+
type string
|
|
113
|
+
description "This entry's id, repeated as a field only the English entries carry. Three translations share one id, and ContentEntry matches a field value across the whole collection — so each locale's detail route matches its own key field, and the value being the id is what keeps the three URLs parallel."
|
|
114
|
+
}
|
|
115
|
+
lang {
|
|
116
|
+
type string
|
|
117
|
+
description "BCP 47 tag of the directory this entry came from. One collection holds every language at once, so a locale's index filters on this to list only its own."
|
|
118
|
+
}
|
|
119
|
+
order type=number description="Running order on the exhibitions index."
|
|
120
|
+
}
|
|
121
|
+
required title description date until gallery lang
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
build outDir="./dist" format=directory trailingSlash=always
|
|
127
|
+
|
|
128
|
+
extensions {
|
|
129
|
+
- "@jxsuite/parser"
|
|
130
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/- kdl-version 2
|
|
2
|
+
|
|
3
|
+
np-contact-form {
|
|
4
|
+
state heading="Send us a message"
|
|
5
|
+
style {
|
|
6
|
+
display block
|
|
7
|
+
padding "clamp(1.75rem, 4vw, 2.5rem)"
|
|
8
|
+
backgroundColor "var(--color-bg-white)"
|
|
9
|
+
border "1px solid var(--color-border)"
|
|
10
|
+
borderRadius "var(--radius-lg)"
|
|
11
|
+
boxShadow "var(--shadow-card)"
|
|
12
|
+
}
|
|
13
|
+
h3 "${state.heading}" {
|
|
14
|
+
style {
|
|
15
|
+
fontFamily "var(--font-display)"
|
|
16
|
+
fontSize "1.75rem"
|
|
17
|
+
fontWeight "600"
|
|
18
|
+
color "var(--color-primary-deep)"
|
|
19
|
+
margin "0 0 1.5rem"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
form action="#" method=post {
|
|
23
|
+
style display=grid gap="1rem" alignContent=start
|
|
24
|
+
input type=text name=name placeholder="Your name" required="true" aria-label="Your name" {
|
|
25
|
+
style {
|
|
26
|
+
width "100%"
|
|
27
|
+
padding "0.85rem 1rem"
|
|
28
|
+
border "1px solid var(--color-border-strong)"
|
|
29
|
+
borderRadius "var(--radius-sm)"
|
|
30
|
+
fontSize "1rem"
|
|
31
|
+
fontFamily inherit
|
|
32
|
+
backgroundColor "var(--color-bg-cream)"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
input type=email name=email placeholder="Email address" required="true" aria-label="Email address" {
|
|
36
|
+
style {
|
|
37
|
+
width "100%"
|
|
38
|
+
padding "0.85rem 1rem"
|
|
39
|
+
border "1px solid var(--color-border-strong)"
|
|
40
|
+
borderRadius "var(--radius-sm)"
|
|
41
|
+
fontSize "1rem"
|
|
42
|
+
fontFamily inherit
|
|
43
|
+
backgroundColor "var(--color-bg-cream)"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
select name=interest aria-label="I'm interested in" {
|
|
47
|
+
style {
|
|
48
|
+
width "100%"
|
|
49
|
+
padding "0.85rem 1rem"
|
|
50
|
+
border "1px solid var(--color-border-strong)"
|
|
51
|
+
borderRadius "var(--radius-sm)"
|
|
52
|
+
fontSize "1rem"
|
|
53
|
+
backgroundColor "var(--color-bg-cream)"
|
|
54
|
+
fontFamily inherit
|
|
55
|
+
}
|
|
56
|
+
option value=general "General question"
|
|
57
|
+
option value=volunteer "I want to volunteer"
|
|
58
|
+
option value=donate "I want to donate or fundraise"
|
|
59
|
+
option value=partner "Partnership or sponsorship"
|
|
60
|
+
}
|
|
61
|
+
textarea name=message rows="4" placeholder="How can we help?" aria-label=Message {
|
|
62
|
+
style {
|
|
63
|
+
width "100%"
|
|
64
|
+
padding "0.85rem 1rem"
|
|
65
|
+
border "1px solid var(--color-border-strong)"
|
|
66
|
+
borderRadius "var(--radius-sm)"
|
|
67
|
+
fontSize "1rem"
|
|
68
|
+
fontFamily inherit
|
|
69
|
+
backgroundColor "var(--color-bg-cream)"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
button type=submit "Send message" {
|
|
73
|
+
style {
|
|
74
|
+
display inline-flex
|
|
75
|
+
alignItems center
|
|
76
|
+
justifyContent center
|
|
77
|
+
gap "0.4rem"
|
|
78
|
+
backgroundColor "var(--color-accent)"
|
|
79
|
+
color "var(--color-text-white)"
|
|
80
|
+
padding "0.95rem 1.75rem"
|
|
81
|
+
border none
|
|
82
|
+
borderRadius "999px"
|
|
83
|
+
fontSize "1rem"
|
|
84
|
+
fontFamily inherit
|
|
85
|
+
fontWeight "800"
|
|
86
|
+
cursor pointer
|
|
87
|
+
justifySelf start
|
|
88
|
+
boxShadow "0 12px 26px -12px rgba(242,106,61,0.8)"
|
|
89
|
+
transition "background-color 0.15s, transform 0.15s"
|
|
90
|
+
:hover backgroundColor="var(--color-accent-hover)" transform="translateY(-1px)"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
p "This is a demo form. Wire it to your email or CRM in pages/contact.md." {
|
|
94
|
+
style fontSize="0.85rem" fontWeight="600" color="var(--color-text-muted)" margin="0"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/- kdl-version 2
|
|
2
|
+
|
|
3
|
+
np-contact-info {
|
|
4
|
+
state {
|
|
5
|
+
line1 "240 Riverside Avenue"
|
|
6
|
+
line2 "Rivertown, CA 90210"
|
|
7
|
+
phone "(555) 204-7788"
|
|
8
|
+
phoneHref tel:+15552047788
|
|
9
|
+
email hello@rivertownfoundation.org
|
|
10
|
+
emailHref mailto:hello@rivertownfoundation.org
|
|
11
|
+
}
|
|
12
|
+
style display=block
|
|
13
|
+
div {
|
|
14
|
+
style {
|
|
15
|
+
padding "2rem"
|
|
16
|
+
backgroundColor "var(--color-primary-deep)"
|
|
17
|
+
color "var(--color-text-white)"
|
|
18
|
+
borderRadius "var(--radius-lg)"
|
|
19
|
+
}
|
|
20
|
+
h3 "Visit us" {
|
|
21
|
+
style {
|
|
22
|
+
fontFamily "var(--font-display)"
|
|
23
|
+
fontSize "1.5rem"
|
|
24
|
+
fontWeight "600"
|
|
25
|
+
margin "0 0 1rem"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
p "${state.line1}" {
|
|
29
|
+
style margin="0 0 0.35rem" opacity="0.85" fontWeight="600"
|
|
30
|
+
}
|
|
31
|
+
p "${state.line2}" {
|
|
32
|
+
style margin="0 0 0.35rem" opacity="0.85" fontWeight="600"
|
|
33
|
+
}
|
|
34
|
+
p {
|
|
35
|
+
style margin="0.85rem 0 0.35rem"
|
|
36
|
+
a href="${state.phoneHref}" "${state.phone}" {
|
|
37
|
+
style color="var(--color-gold)" textDecoration=none fontWeight="800"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
p {
|
|
41
|
+
style margin="0"
|
|
42
|
+
a href="${state.emailHref}" "${state.email}" {
|
|
43
|
+
style color="var(--color-gold)" textDecoration=none fontWeight="800"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
div {
|
|
48
|
+
style {
|
|
49
|
+
marginTop "1.5rem"
|
|
50
|
+
padding "2rem"
|
|
51
|
+
backgroundColor "var(--color-bg-cream)"
|
|
52
|
+
border "1px solid var(--color-border)"
|
|
53
|
+
borderRadius "var(--radius-lg)"
|
|
54
|
+
}
|
|
55
|
+
h3 "Office hours" {
|
|
56
|
+
style {
|
|
57
|
+
fontFamily "var(--font-display)"
|
|
58
|
+
fontSize "1.5rem"
|
|
59
|
+
fontWeight "600"
|
|
60
|
+
color "var(--color-primary-deep)"
|
|
61
|
+
margin "0 0 1.25rem"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
div {
|
|
65
|
+
style {
|
|
66
|
+
display flex
|
|
67
|
+
justifyContent space-between
|
|
68
|
+
padding "0.6rem 0"
|
|
69
|
+
borderBottom "1px solid var(--color-border)"
|
|
70
|
+
fontWeight "600"
|
|
71
|
+
}
|
|
72
|
+
span "Monday – Friday" {
|
|
73
|
+
style fontWeight="700"
|
|
74
|
+
}
|
|
75
|
+
span "9:00am – 5:00pm" {
|
|
76
|
+
style color="var(--color-text-muted)"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
div {
|
|
80
|
+
style {
|
|
81
|
+
display flex
|
|
82
|
+
justifyContent space-between
|
|
83
|
+
padding "0.6rem 0"
|
|
84
|
+
borderBottom "1px solid var(--color-border)"
|
|
85
|
+
fontWeight "600"
|
|
86
|
+
}
|
|
87
|
+
span Saturday {
|
|
88
|
+
style fontWeight="700"
|
|
89
|
+
}
|
|
90
|
+
span "9:00am – 1:00pm (Pantry)" {
|
|
91
|
+
style color="var(--color-text-muted)"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
div {
|
|
95
|
+
style display=flex justifyContent=space-between padding="0.6rem 0" fontWeight="600"
|
|
96
|
+
span Sunday {
|
|
97
|
+
style fontWeight="700"
|
|
98
|
+
}
|
|
99
|
+
span Closed {
|
|
100
|
+
style color="var(--color-text-muted)"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|