@tryvitris/website-harness 0.1.0-beta.5 → 0.1.0-beta.7
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/README.md +6 -4
- package/agent/graph.yaml +0 -2
- package/agent/refs/components.md +5 -41
- package/agent/refs/compose.md +1 -1
- package/agent/refs/implement.md +2 -2
- package/agent/refs/jev.md +1 -1
- package/agent/refs/layout.md +1 -1
- package/agent/refs/storyboard.md +1 -1
- package/agent/refs/template-adaptation.md +1 -1
- package/bin/api/agent/evaluate.js +10 -15
- package/bin/api/agent/grade.js +10 -15
- package/bin/api/cli/api.js +18 -23
- package/bin/api/cli.js +20 -25
- package/bin/api/engine.js +11 -16
- package/bin/api/hosting.js +12 -17
- package/bin/api/index.js +2 -3
- package/bin/api/references.js +1 -2
- package/bin/api/render.js +2 -4
- package/bin/chunks/{chunk-4GZCAWWK.js → chunk-4MFPATAB.js} +2 -4
- package/bin/chunks/{chunk-5OOPJNGN.js → chunk-5JTBC6UK.js} +1 -4
- package/bin/chunks/{chunk-Z2UNY47A.js → chunk-5YSPWKFF.js} +1 -1
- package/bin/chunks/{chunk-FYN4T4SV.js → chunk-7V3OKLKH.js} +15 -26
- package/bin/chunks/{chunk-3CTBXY5K.js → chunk-FRABKM65.js} +1936 -1899
- package/bin/chunks/{chunk-4DM5TTLG.js → chunk-H7Y72HXC.js} +5 -5
- package/bin/chunks/{chunk-R7YELY3C.js → chunk-HL6JVA4A.js} +100 -81
- package/bin/chunks/{chunk-54JC5L35.js → chunk-O55LAQ2C.js} +3 -5
- package/bin/chunks/{chunk-VH7PM7KJ.js → chunk-P56ZDMX7.js} +4 -6
- package/bin/chunks/{chunk-7VLBEAFW.js → chunk-PGFFKPK6.js} +2 -2
- package/bin/chunks/{chunk-YQYHROLZ.js → chunk-QRWGFLUU.js} +2 -2
- package/bin/chunks/{chunk-CBEJZO4L.js → chunk-TTAUU3AZ.js} +2 -2
- package/bin/chunks/{chunk-E5Y46VBX.js → chunk-VTI32UGJ.js} +200 -103
- package/bin/chunks/{chunk-DRJQ4OOU.js → chunk-WOORR67N.js} +0 -45
- package/bin/chunks/{chunk-B5I45LFD.js → chunk-YZWEXHT4.js} +11 -13
- package/bin/chunks/{chunk-YCVGD2CG.js → chunk-ZIROO2U4.js} +1204 -1176
- package/bin/chunks/{chunk-42IXFXUD.js → chunk-ZWFG4GPG.js} +11 -15
- package/bin/chunks/{design-context-store-IAT2P2OC.js → design-context-store-DCZOAK56.js} +10 -15
- package/bin/chunks/{packets-VBMY4SQJ.js → packets-QOLWPRNV.js} +10 -15
- package/bin/chunks/{policy-2I37JUU3.js → policy-MP2JZXI3.js} +1 -1
- package/bin/chunks/{preparation-S4MG3RPL.js → preparation-T2IOD5SJ.js} +10 -15
- package/bin/chunks/{questions-HKELBDFL.js → questions-XK545GCX.js} +1 -11
- package/bin/types/src/agent/composition-authoring.d.ts +2 -2
- package/bin/types/src/agent/jev/calibration.d.ts +2 -2
- package/bin/types/src/agent/jev/config.d.ts +1 -1
- package/bin/types/src/agent/jev/questions.d.ts +0 -10
- package/bin/types/src/agent/jev/types.d.ts +0 -2
- package/bin/types/src/agent/site-inputs.d.ts +9 -1
- package/bin/types/src/agent/template-catalog.d.ts +20 -0
- package/bin/types/src/agent/theme-selection.d.ts +4 -2
- package/bin/types/src/build/archives.d.ts +2 -0
- package/bin/vitris-art.js +10 -15
- package/bin/vitris-build.js +3 -5
- package/bin/vitris-create-site.js +12 -17
- package/bin/vitris-cursor-hook.js +10 -15
- package/bin/vitris-eval.js +12 -17
- package/bin/vitris-go.js +14 -19
- package/bin/vitris-harvest.js +11 -16
- package/bin/vitris-knowledge.js +11 -16
- package/bin/vitris-launch-preflight.js +11 -17
- package/bin/vitris-motion-view.js +13 -19
- package/bin/vitris-references.js +4 -7
- package/bin/vitris-refresh.js +11 -16
- package/bin/vitris-stock.js +1 -1
- package/bin/vitris-themes.js +10 -15
- package/bin/vitris-upgrade.js +11 -16
- package/bin/vitris-verify-browser.js +43 -8
- package/bin/vitris-verify-performance.js +3 -5
- package/bin/vitris.js +20 -25
- package/design-system/MASTER.md +2 -2
- package/docs/CLI.md +2 -1
- package/docs/DISTRIBUTION.md +1 -1
- package/package.json +2 -7
- package/templates/site/README.md +2 -0
- package/templates/site/gitignore +1 -0
- package/bin/chunks/chunk-6H3T46F5.js +0 -25
- package/bin/chunks/chunk-ANMJRJQ5.js +0 -31
- package/bin/chunks/chunk-FOXUQXTV.js +0 -278
- package/bin/chunks/chunk-HNORQ74T.js +0 -40
- package/bin/chunks/chunk-T7DGRVTP.js +0 -458
- package/bin/types/src/agent/jev/block-catalog.d.ts +0 -95
- package/bin/types/src/agent/jev/component-select.d.ts +0 -102
- package/bin/types/src/blocks/library-profile.d.ts +0 -9
- package/bin/types/src/blocks/metadata.d.ts +0 -65
- package/bin/vitris-blocks.js +0 -238
- package/blocks/CONVENTIONS.md +0 -121
- package/blocks/INDEX.md +0 -130
- package/blocks/about/about-awards/README.md +0 -36
- package/blocks/about/about-awards/styles.css +0 -13
- package/blocks/about/about-awards/template.html +0 -1
- package/blocks/about/about-credentials/README.md +0 -33
- package/blocks/about/about-credentials/block.meta.json +0 -85
- package/blocks/about/about-credentials/styles.css +0 -4
- package/blocks/about/about-credentials/template.html +0 -1
- package/blocks/about/about-founder/README.md +0 -35
- package/blocks/about/about-founder/styles.css +0 -9
- package/blocks/about/about-founder/template.html +0 -1
- package/blocks/about/about-mission/README.md +0 -31
- package/blocks/about/about-mission/styles.css +0 -5
- package/blocks/about/about-mission/template.html +0 -1
- package/blocks/about/about-statement/README.md +0 -28
- package/blocks/about/about-statement/styles.css +0 -7
- package/blocks/about/about-statement/template.html +0 -1
- package/blocks/about/about-story/README.md +0 -35
- package/blocks/about/about-story/styles.css +0 -5
- package/blocks/about/about-story/template.html +0 -1
- package/blocks/about/about-timeline/README.md +0 -33
- package/blocks/about/about-timeline/styles.css +0 -8
- package/blocks/about/about-timeline/template.html +0 -1
- package/blocks/about/about-values/README.md +0 -31
- package/blocks/about/about-values/styles.css +0 -3
- package/blocks/about/about-values/template.html +0 -1
- package/blocks/blog/blog-featured/README.md +0 -39
- package/blocks/blog/blog-featured/styles.css +0 -12
- package/blocks/blog/blog-featured/template.html +0 -1
- package/blocks/blog/blog-index/README.md +0 -34
- package/blocks/blog/blog-index/styles.css +0 -6
- package/blocks/blog/blog-index/template.html +0 -1
- package/blocks/blog/blog-post-header/README.md +0 -31
- package/blocks/blog/blog-post-header/styles.css +0 -8
- package/blocks/blog/blog-post-header/template.html +0 -1
- package/blocks/contact/contact-cards/README.md +0 -32
- package/blocks/contact/contact-cards/styles.css +0 -7
- package/blocks/contact/contact-cards/template.html +0 -1
- package/blocks/contact/contact-chips/README.md +0 -41
- package/blocks/contact/contact-chips/styles.css +0 -13
- package/blocks/contact/contact-chips/template.html +0 -1
- package/blocks/contact/contact-hours/README.md +0 -41
- package/blocks/contact/contact-hours/block.meta.json +0 -87
- package/blocks/contact/contact-hours/styles.css +0 -8
- package/blocks/contact/contact-hours/template.html +0 -1
- package/blocks/contact/contact-map/README.md +0 -39
- package/blocks/contact/contact-map/styles.css +0 -10
- package/blocks/contact/contact-map/template.html +0 -1
- package/blocks/contact/contact-offices/README.md +0 -32
- package/blocks/contact/contact-offices/styles.css +0 -8
- package/blocks/contact/contact-offices/template.html +0 -1
- package/blocks/contact/contact-phone-first/README.md +0 -33
- package/blocks/contact/contact-phone-first/block.meta.json +0 -86
- package/blocks/contact/contact-phone-first/styles.css +0 -11
- package/blocks/contact/contact-phone-first/template.html +0 -1
- package/blocks/contact/contact-split/README.md +0 -43
- package/blocks/contact/contact-split/styles.css +0 -12
- package/blocks/contact/contact-split/template.html +0 -1
- package/blocks/contact/contact-visit/README.md +0 -36
- package/blocks/contact/contact-visit/block.meta.json +0 -88
- package/blocks/contact/contact-visit/styles.css +0 -13
- package/blocks/contact/contact-visit/template.html +0 -1
- package/blocks/contact/service-areas/README.md +0 -32
- package/blocks/contact/service-areas/styles.css +0 -9
- package/blocks/contact/service-areas/template.html +0 -1
- package/blocks/content/glossary/README.md +0 -35
- package/blocks/content/glossary/styles.css +0 -6
- package/blocks/content/glossary/template.html +0 -1
- package/blocks/content/list-split/README.md +0 -33
- package/blocks/content/list-split/styles.css +0 -13
- package/blocks/content/list-split/template.html +0 -1
- package/blocks/content/prose-split/README.md +0 -32
- package/blocks/content/prose-split/styles.css +0 -12
- package/blocks/content/prose-split/template.html +0 -1
- package/blocks/content/specification-ledger/README.md +0 -32
- package/blocks/content/specification-ledger/block.meta.json +0 -85
- package/blocks/content/specification-ledger/styles.css +0 -10
- package/blocks/content/specification-ledger/template.html +0 -1
- package/blocks/cta/cta-band/README.md +0 -33
- package/blocks/cta/cta-band/styles.css +0 -11
- package/blocks/cta/cta-band/template.html +0 -1
- package/blocks/cta/cta-card/README.md +0 -35
- package/blocks/cta/cta-card/styles.css +0 -8
- package/blocks/cta/cta-card/template.html +0 -1
- package/blocks/cta/cta-floating-bar/README.md +0 -28
- package/blocks/cta/cta-floating-bar/styles.css +0 -8
- package/blocks/cta/cta-floating-bar/template.html +0 -1
- package/blocks/cta/cta-inline/README.md +0 -30
- package/blocks/cta/cta-inline/styles.css +0 -9
- package/blocks/cta/cta-inline/template.html +0 -1
- package/blocks/cta/cta-newsletter/README.md +0 -34
- package/blocks/cta/cta-newsletter/styles.css +0 -8
- package/blocks/cta/cta-newsletter/template.html +0 -1
- package/blocks/cta/cta-photo-fan/README.md +0 -36
- package/blocks/cta/cta-photo-fan/styles.css +0 -14
- package/blocks/cta/cta-photo-fan/template.html +0 -1
- package/blocks/cta/cta-split/README.md +0 -38
- package/blocks/cta/cta-split/styles.css +0 -10
- package/blocks/cta/cta-split/template.html +0 -1
- package/blocks/faq/faq-accordion/README.md +0 -36
- package/blocks/faq/faq-accordion/styles.css +0 -6
- package/blocks/faq/faq-accordion/template.html +0 -1
- package/blocks/faq/faq-grouped/README.md +0 -40
- package/blocks/faq/faq-grouped/styles.css +0 -20
- package/blocks/faq/faq-grouped/template.html +0 -1
- package/blocks/faq/faq-split/README.md +0 -37
- package/blocks/faq/faq-split/styles.css +0 -5
- package/blocks/faq/faq-split/template.html +0 -1
- package/blocks/faq/faq-tabs/README.md +0 -36
- package/blocks/faq/faq-tabs/styles.css +0 -3
- package/blocks/faq/faq-tabs/template.html +0 -1
- package/blocks/feature/feature-bento/README.md +0 -33
- package/blocks/feature/feature-bento/styles.css +0 -7
- package/blocks/feature/feature-bento/template.html +0 -1
- package/blocks/feature/feature-compare-table/README.md +0 -44
- package/blocks/feature/feature-compare-table/styles.css +0 -15
- package/blocks/feature/feature-compare-table/template.html +0 -1
- package/blocks/feature/feature-comparison/README.md +0 -34
- package/blocks/feature/feature-comparison/styles.css +0 -6
- package/blocks/feature/feature-comparison/template.html +0 -1
- package/blocks/feature/feature-grid-3/README.md +0 -34
- package/blocks/feature/feature-grid-3/styles.css +0 -8
- package/blocks/feature/feature-grid-3/template.html +0 -1
- package/blocks/feature/feature-icon-list/README.md +0 -39
- package/blocks/feature/feature-icon-list/styles.css +0 -9
- package/blocks/feature/feature-icon-list/template.html +0 -1
- package/blocks/feature/feature-spotlight/README.md +0 -39
- package/blocks/feature/feature-spotlight/styles.css +0 -5
- package/blocks/feature/feature-spotlight/template.html +0 -1
- package/blocks/feature/feature-stats-band/README.md +0 -33
- package/blocks/feature/feature-stats-band/styles.css +0 -8
- package/blocks/feature/feature-stats-band/template.html +0 -1
- package/blocks/feature/feature-tabs/README.md +0 -38
- package/blocks/feature/feature-tabs/styles.css +0 -7
- package/blocks/feature/feature-tabs/template.html +0 -1
- package/blocks/feature/feature-thumb-list/README.md +0 -38
- package/blocks/feature/feature-thumb-list/styles.css +0 -13
- package/blocks/feature/feature-thumb-list/template.html +0 -1
- package/blocks/feature/feature-zigzag/README.md +0 -31
- package/blocks/feature/feature-zigzag/styles.css +0 -6
- package/blocks/feature/feature-zigzag/template.html +0 -1
- package/blocks/footer/footer-columns/README.md +0 -39
- package/blocks/footer/footer-columns/styles.css +0 -16
- package/blocks/footer/footer-columns/template.html +0 -1
- package/blocks/footer/footer-compact/README.md +0 -33
- package/blocks/footer/footer-compact/styles.css +0 -12
- package/blocks/footer/footer-compact/template.html +0 -1
- package/blocks/footer/footer-cta/README.md +0 -37
- package/blocks/footer/footer-cta/styles.css +0 -18
- package/blocks/footer/footer-cta/template.html +0 -1
- package/blocks/footer/footer-social/README.md +0 -37
- package/blocks/footer/footer-social/styles.css +0 -17
- package/blocks/footer/footer-social/template.html +0 -1
- package/blocks/footer/footer-wordmark/README.md +0 -40
- package/blocks/footer/footer-wordmark/styles.css +0 -19
- package/blocks/footer/footer-wordmark/template.html +0 -1
- package/blocks/gallery/gallery-before-after/README.md +0 -31
- package/blocks/gallery/gallery-before-after/styles.css +0 -6
- package/blocks/gallery/gallery-before-after/template.html +0 -1
- package/blocks/gallery/gallery-carousel/README.md +0 -32
- package/blocks/gallery/gallery-carousel/styles.css +0 -7
- package/blocks/gallery/gallery-carousel/template.html +0 -1
- package/blocks/gallery/gallery-grid/README.md +0 -39
- package/blocks/gallery/gallery-grid/styles.css +0 -13
- package/blocks/gallery/gallery-grid/template.html +0 -1
- package/blocks/gallery/gallery-masonry/README.md +0 -33
- package/blocks/gallery/gallery-masonry/styles.css +0 -4
- package/blocks/gallery/gallery-masonry/template.html +0 -1
- package/blocks/gallery/gallery-mosaic-split/README.md +0 -40
- package/blocks/gallery/gallery-mosaic-split/styles.css +0 -15
- package/blocks/gallery/gallery-mosaic-split/template.html +0 -1
- package/blocks/hero/hero-asymmetric/README.md +0 -34
- package/blocks/hero/hero-asymmetric/styles.css +0 -13
- package/blocks/hero/hero-asymmetric/template.html +0 -10
- package/blocks/hero/hero-before-after/README.md +0 -38
- package/blocks/hero/hero-before-after/styles.css +0 -8
- package/blocks/hero/hero-before-after/template.html +0 -19
- package/blocks/hero/hero-editorial/README.md +0 -34
- package/blocks/hero/hero-editorial/block.meta.json +0 -85
- package/blocks/hero/hero-editorial/styles.css +0 -6
- package/blocks/hero/hero-editorial/template.html +0 -10
- package/blocks/hero/hero-evidence/README.md +0 -32
- package/blocks/hero/hero-evidence/block.meta.json +0 -85
- package/blocks/hero/hero-evidence/styles.css +0 -13
- package/blocks/hero/hero-evidence/template.html +0 -1
- package/blocks/hero/hero-form/README.md +0 -46
- package/blocks/hero/hero-form/styles.css +0 -11
- package/blocks/hero/hero-form/template.html +0 -15
- package/blocks/hero/hero-menu/README.md +0 -36
- package/blocks/hero/hero-menu/styles.css +0 -7
- package/blocks/hero/hero-menu/template.html +0 -10
- package/blocks/hero/hero-overlay/README.md +0 -35
- package/blocks/hero/hero-overlay/styles.css +0 -14
- package/blocks/hero/hero-overlay/template.html +0 -10
- package/blocks/hero/hero-page/README.md +0 -35
- package/blocks/hero/hero-page/styles.css +0 -19
- package/blocks/hero/hero-page/template.html +0 -1
- package/blocks/hero/hero-product/README.md +0 -41
- package/blocks/hero/hero-product/styles.css +0 -11
- package/blocks/hero/hero-product/template.html +0 -14
- package/blocks/hero/hero-service/README.md +0 -37
- package/blocks/hero/hero-service/block.meta.json +0 -85
- package/blocks/hero/hero-service/styles.css +0 -17
- package/blocks/hero/hero-service/template.html +0 -1
- package/blocks/hero/hero-split/README.md +0 -36
- package/blocks/hero/hero-split/styles.css +0 -7
- package/blocks/hero/hero-split/template.html +0 -11
- package/blocks/hero/hero-statement/README.md +0 -33
- package/blocks/hero/hero-statement/styles.css +0 -8
- package/blocks/hero/hero-statement/template.html +0 -1
- package/blocks/hero/hero-stats/README.md +0 -37
- package/blocks/hero/hero-stats/styles.css +0 -10
- package/blocks/hero/hero-stats/template.html +0 -10
- package/blocks/hero/hero-video-still/README.md +0 -36
- package/blocks/hero/hero-video-still/styles.css +0 -9
- package/blocks/hero/hero-video-still/template.html +0 -13
- package/blocks/icons.md +0 -44
- package/blocks/incentives/incentive-banner/README.md +0 -28
- package/blocks/incentives/incentive-banner/styles.css +0 -7
- package/blocks/incentives/incentive-banner/template.html +0 -1
- package/blocks/incentives/incentive-cards/README.md +0 -31
- package/blocks/incentives/incentive-cards/styles.css +0 -4
- package/blocks/incentives/incentive-cards/template.html +0 -1
- package/blocks/navbar/nav-announcement/README.md +0 -35
- package/blocks/navbar/nav-announcement/styles.css +0 -10
- package/blocks/navbar/nav-announcement/template.html +0 -14
- package/blocks/navbar/nav-centered/README.md +0 -35
- package/blocks/navbar/nav-centered/styles.css +0 -11
- package/blocks/navbar/nav-centered/template.html +0 -12
- package/blocks/navbar/nav-minimal/README.md +0 -29
- package/blocks/navbar/nav-minimal/styles.css +0 -5
- package/blocks/navbar/nav-minimal/template.html +0 -6
- package/blocks/navbar/nav-split/README.md +0 -34
- package/blocks/navbar/nav-split/styles.css +0 -11
- package/blocks/navbar/nav-split/template.html +0 -11
- package/blocks/navbar/nav-utility/README.md +0 -37
- package/blocks/navbar/nav-utility/styles.css +0 -17
- package/blocks/navbar/nav-utility/template.html +0 -12
- package/blocks/pricing/menu-featured/README.md +0 -34
- package/blocks/pricing/menu-featured/styles.css +0 -4
- package/blocks/pricing/menu-featured/template.html +0 -1
- package/blocks/pricing/menu-sections/README.md +0 -33
- package/blocks/pricing/menu-sections/styles.css +0 -9
- package/blocks/pricing/menu-sections/template.html +0 -1
- package/blocks/pricing/pricing-table/README.md +0 -40
- package/blocks/pricing/pricing-table/styles.css +0 -9
- package/blocks/pricing/pricing-table/template.html +0 -1
- package/blocks/pricing/pricing-tiers/README.md +0 -34
- package/blocks/pricing/pricing-tiers/styles.css +0 -7
- package/blocks/pricing/pricing-tiers/template.html +0 -1
- package/blocks/pricing/pricing-toggle/README.md +0 -34
- package/blocks/pricing/pricing-toggle/styles.css +0 -10
- package/blocks/pricing/pricing-toggle/template.html +0 -1
- package/blocks/process/process-carousel/README.md +0 -33
- package/blocks/process/process-carousel/styles.css +0 -5
- package/blocks/process/process-carousel/template.html +0 -1
- package/blocks/process/process-split/README.md +0 -35
- package/blocks/process/process-split/styles.css +0 -6
- package/blocks/process/process-split/template.html +0 -1
- package/blocks/process/process-stepper/README.md +0 -40
- package/blocks/process/process-stepper/styles.css +0 -11
- package/blocks/process/process-stepper/template.html +0 -1
- package/blocks/process/process-steps/README.md +0 -35
- package/blocks/process/process-steps/styles.css +0 -6
- package/blocks/process/process-steps/template.html +0 -1
- package/blocks/process/process-sticky/README.md +0 -38
- package/blocks/process/process-sticky/styles.css +0 -12
- package/blocks/process/process-sticky/template.html +0 -1
- package/blocks/process/process-timeline/README.md +0 -35
- package/blocks/process/process-timeline/styles.css +0 -10
- package/blocks/process/process-timeline/template.html +0 -1
- package/blocks/services/services-cards/README.md +0 -34
- package/blocks/services/services-cards/styles.css +0 -3
- package/blocks/services/services-cards/template.html +0 -1
- package/blocks/services/services-carousel/README.md +0 -34
- package/blocks/services/services-carousel/styles.css +0 -6
- package/blocks/services/services-carousel/template.html +0 -1
- package/blocks/services/services-list/README.md +0 -32
- package/blocks/services/services-list/block.meta.json +0 -85
- package/blocks/services/services-list/styles.css +0 -10
- package/blocks/services/services-list/template.html +0 -1
- package/blocks/services/services-menu/README.md +0 -39
- package/blocks/services/services-menu/styles.css +0 -6
- package/blocks/services/services-menu/template.html +0 -1
- package/blocks/services/services-packages/README.md +0 -34
- package/blocks/services/services-packages/styles.css +0 -6
- package/blocks/services/services-packages/template.html +0 -1
- package/blocks/services/services-panels/README.md +0 -36
- package/blocks/services/services-panels/styles.css +0 -15
- package/blocks/services/services-panels/template.html +0 -1
- package/blocks/services/services-photo-grid/README.md +0 -39
- package/blocks/services/services-photo-grid/styles.css +0 -10
- package/blocks/services/services-photo-grid/template.html +0 -1
- package/blocks/services/services-priority/README.md +0 -33
- package/blocks/services/services-priority/block.meta.json +0 -86
- package/blocks/services/services-priority/styles.css +0 -16
- package/blocks/services/services-priority/template.html +0 -1
- package/blocks/stats/stats-cards/README.md +0 -31
- package/blocks/stats/stats-cards/styles.css +0 -4
- package/blocks/stats/stats-cards/template.html +0 -1
- package/blocks/stats/stats-mosaic/README.md +0 -27
- package/blocks/stats/stats-mosaic/styles.css +0 -9
- package/blocks/stats/stats-mosaic/template.html +0 -1
- package/blocks/stats/stats-row/README.md +0 -29
- package/blocks/stats/stats-row/styles.css +0 -8
- package/blocks/stats/stats-row/template.html +0 -1
- package/blocks/stats/stats-split/README.md +0 -35
- package/blocks/stats/stats-split/styles.css +0 -3
- package/blocks/stats/stats-split/template.html +0 -1
- package/blocks/team/team-featured/README.md +0 -42
- package/blocks/team/team-featured/styles.css +0 -9
- package/blocks/team/team-featured/template.html +0 -1
- package/blocks/team/team-grid/README.md +0 -35
- package/blocks/team/team-grid/styles.css +0 -8
- package/blocks/team/team-grid/template.html +0 -1
- package/blocks/team/team-list/README.md +0 -32
- package/blocks/team/team-list/styles.css +0 -7
- package/blocks/team/team-list/template.html +0 -1
- package/blocks/testimonial/testimonial-carousel/README.md +0 -32
- package/blocks/testimonial/testimonial-carousel/styles.css +0 -7
- package/blocks/testimonial/testimonial-carousel/template.html +0 -1
- package/blocks/testimonial/testimonial-grid/README.md +0 -32
- package/blocks/testimonial/testimonial-grid/styles.css +0 -5
- package/blocks/testimonial/testimonial-grid/template.html +0 -1
- package/blocks/testimonial/testimonial-mosaic/README.md +0 -38
- package/blocks/testimonial/testimonial-mosaic/styles.css +0 -14
- package/blocks/testimonial/testimonial-mosaic/template.html +0 -1
- package/blocks/testimonial/testimonial-platform/README.md +0 -34
- package/blocks/testimonial/testimonial-platform/styles.css +0 -17
- package/blocks/testimonial/testimonial-platform/template.html +0 -1
- package/blocks/testimonial/testimonial-rating/README.md +0 -28
- package/blocks/testimonial/testimonial-rating/styles.css +0 -6
- package/blocks/testimonial/testimonial-rating/template.html +0 -1
- package/blocks/testimonial/testimonial-spotlight/README.md +0 -31
- package/blocks/testimonial/testimonial-spotlight/styles.css +0 -9
- package/blocks/testimonial/testimonial-spotlight/template.html +0 -1
- package/blocks/testimonial/testimonial-switcher/README.md +0 -39
- package/blocks/testimonial/testimonial-switcher/styles.css +0 -23
- package/blocks/testimonial/testimonial-switcher/template.html +0 -1
- package/blocks/testimonial/testimonial-wall/README.md +0 -34
- package/blocks/testimonial/testimonial-wall/styles.css +0 -7
- package/blocks/testimonial/testimonial-wall/template.html +0 -1
- package/blocks/trust-strip/trust-badges/README.md +0 -30
- package/blocks/trust-strip/trust-badges/styles.css +0 -5
- package/blocks/trust-strip/trust-badges/template.html +0 -1
- package/blocks/trust-strip/trust-certs/README.md +0 -31
- package/blocks/trust-strip/trust-certs/styles.css +0 -12
- package/blocks/trust-strip/trust-certs/template.html +0 -1
- package/blocks/trust-strip/trust-logos/README.md +0 -32
- package/blocks/trust-strip/trust-logos/styles.css +0 -5
- package/blocks/trust-strip/trust-logos/template.html +0 -1
- package/blocks/trust-strip/trust-quote/README.md +0 -29
- package/blocks/trust-strip/trust-quote/styles.css +0 -5
- package/blocks/trust-strip/trust-quote/template.html +0 -1
- package/blocks/trust-strip/trust-reviews/README.md +0 -35
- package/blocks/trust-strip/trust-reviews/styles.css +0 -9
- package/blocks/trust-strip/trust-reviews/template.html +0 -1
- package/blocks/work/case-alternating/README.md +0 -34
- package/blocks/work/case-alternating/block.meta.json +0 -86
- package/blocks/work/case-alternating/styles.css +0 -7
- package/blocks/work/case-alternating/template.html +0 -1
- package/blocks/work/case-carousel/README.md +0 -26
- package/blocks/work/case-carousel/styles.css +0 -7
- package/blocks/work/case-carousel/template.html +0 -1
- package/blocks/work/case-header/README.md +0 -38
- package/blocks/work/case-header/styles.css +0 -18
- package/blocks/work/case-header/template.html +0 -1
- package/blocks/work/project-evidence/README.md +0 -35
- package/blocks/work/project-evidence/block.meta.json +0 -87
- package/blocks/work/project-evidence/styles.css +0 -12
- package/blocks/work/project-evidence/template.html +0 -1
- package/blocks/work/project-grid/README.md +0 -38
- package/blocks/work/project-grid/styles.css +0 -9
- package/blocks/work/project-grid/template.html +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# hero-service
|
|
2
|
-
|
|
3
|
-
Service page header: photo band with an overlapping title card and a dark quote card.
|
|
4
|
-
|
|
5
|
-
- **Category:** hero
|
|
6
|
-
- **Media:** wide service photo
|
|
7
|
-
- **Registers:** trade, beauty, professional
|
|
8
|
-
- **Variants:** (none)
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `media` | `<img>` wide photo (LCP, `fetchpriority="high"`) |
|
|
15
|
-
| `breadcrumb` | Optional `<a>` trail ending in `<span aria-current="page">` |
|
|
16
|
-
| `(default)` | `<h1>` + `<p class="lede">` |
|
|
17
|
-
| `aside` | `<h3>` + `<p>` + `.btn` / `.btn-outline` + optional rating line |
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<hero-service>
|
|
23
|
-
<img src="/media/harvest/roof-aerial.jpg" alt="Aerial view of a finished architectural shingle roof" width="2000" height="900" slot="media" fetchpriority="high">
|
|
24
|
-
<a slot="breadcrumb" href="/">Home</a>
|
|
25
|
-
<a slot="breadcrumb" href="/services">Services</a>
|
|
26
|
-
<span slot="breadcrumb" aria-current="page">Roofing</span>
|
|
27
|
-
<h1>Roofing. Done in days.</h1>
|
|
28
|
-
<p class="lede">Roof replacement, repair, storm help, and free inspections across Greater Portland — one licensed crew, backed by a 25-year written warranty.</p>
|
|
29
|
-
<h3 slot="aside">Get a free estimate</h3>
|
|
30
|
-
<p slot="aside">An honest look and a fixed written quote within 24 hours — whether or not you hire us.</p>
|
|
31
|
-
<a slot="aside" class="btn" href="/contact">Get my free estimate</a>
|
|
32
|
-
<a slot="aside" class="btn-outline" href="tel:+15550102000"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M6 3h4l2 5-3 2a12 12 0 0 0 6 6l2-3 5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 4 5a2 2 0 0 1 2-2z"/></svg>(555) 010-2000</a>
|
|
33
|
-
<small slot="aside"><span class="rating" aria-label="5 out of 5 stars"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg></span> 4.9 from 1,200+ homeowners</small>
|
|
34
|
-
</hero-service>
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 1,
|
|
3
|
-
"id": "hero/hero-service",
|
|
4
|
-
"revision": 1,
|
|
5
|
-
"status": "draft",
|
|
6
|
-
"owner": "Vitris design library",
|
|
7
|
-
"sourceHash": "a42eb489095bb023c481f496b83c27adcdcabacbd266915de550446fac384f8e",
|
|
8
|
-
"fit": {
|
|
9
|
-
"visitorJobs": [
|
|
10
|
-
"Confirm a specific service and see the next action"
|
|
11
|
-
],
|
|
12
|
-
"pageRoles": [
|
|
13
|
-
"service opening"
|
|
14
|
-
],
|
|
15
|
-
"useWhen": [
|
|
16
|
-
"Confirm a specific service and see the next action"
|
|
17
|
-
],
|
|
18
|
-
"avoidWhen": [
|
|
19
|
-
"The content or media cannot support this composition"
|
|
20
|
-
]
|
|
21
|
-
},
|
|
22
|
-
"content": {
|
|
23
|
-
"requiredSlots": [
|
|
24
|
-
"media",
|
|
25
|
-
"default"
|
|
26
|
-
],
|
|
27
|
-
"optionalSlots": [
|
|
28
|
-
"breadcrumb",
|
|
29
|
-
"aside"
|
|
30
|
-
],
|
|
31
|
-
"testedItemCounts": [
|
|
32
|
-
1
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"media": {
|
|
36
|
-
"min": 1,
|
|
37
|
-
"max": 8,
|
|
38
|
-
"optionalBehavior": "Recompose without empty media frames when media is optional",
|
|
39
|
-
"aspect": [
|
|
40
|
-
"content-dependent"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"composition": {
|
|
44
|
-
"hierarchy": "image and overlapping information",
|
|
45
|
-
"alignment": "offset",
|
|
46
|
-
"density": "layered",
|
|
47
|
-
"mediaProminence": "high",
|
|
48
|
-
"geometry": [
|
|
49
|
-
"overlap",
|
|
50
|
-
"image-led"
|
|
51
|
-
],
|
|
52
|
-
"boundary": "section boundary adapts to adjacent content"
|
|
53
|
-
},
|
|
54
|
-
"adaptation": {
|
|
55
|
-
"flexible": [
|
|
56
|
-
"spacing",
|
|
57
|
-
"surface treatment",
|
|
58
|
-
"type scale"
|
|
59
|
-
],
|
|
60
|
-
"invariants": [
|
|
61
|
-
"semantic reading order",
|
|
62
|
-
"one clear section purpose"
|
|
63
|
-
],
|
|
64
|
-
"customWhen": [
|
|
65
|
-
"The visitor job needs a different hierarchy"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"responsive": {
|
|
69
|
-
"readingOrder": "DOM order follows the visitor narrative",
|
|
70
|
-
"reflow": "Stack or resize according to content",
|
|
71
|
-
"crop": "Keep important subjects visible"
|
|
72
|
-
},
|
|
73
|
-
"interaction": {
|
|
74
|
-
"behavior": "Native links and controls",
|
|
75
|
-
"islands": []
|
|
76
|
-
},
|
|
77
|
-
"evidence": {
|
|
78
|
-
"provenance": [
|
|
79
|
-
"Original Vitris block source"
|
|
80
|
-
],
|
|
81
|
-
"testedContexts": [],
|
|
82
|
-
"accessibility": [],
|
|
83
|
-
"previewManifest": "../../../design-system/block-previews/v1/hero--hero-service.json"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
.c-hero-service__media{height:clamp(16rem,42vw,30rem);background:var(--color-surface-2)}
|
|
2
|
-
.c-hero-service__media img{width:100%;height:100%;object-fit:cover}
|
|
3
|
-
.c-hero-service__cards{position:relative;display:grid;gap:var(--space-4);margin-top:calc(-1 * var(--space-8));padding-bottom:var(--section-y)}
|
|
4
|
-
.c-hero-service__title{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-6);box-shadow:var(--shadow-2)}
|
|
5
|
-
.c-hero-service__title h1{font-size:var(--step-4);max-width:18ch}
|
|
6
|
-
.c-hero-service__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--step-0);color:var(--color-muted)}
|
|
7
|
-
.c-hero-service__crumbs:empty{display:none}
|
|
8
|
-
.c-hero-service__crumbs > * + *::before{content:"/";margin-right:var(--space-2);color:var(--color-border)}
|
|
9
|
-
.c-hero-service__crumbs a{color:inherit;text-decoration:none}
|
|
10
|
-
.c-hero-service__crumbs [aria-current]{color:var(--color-text)}
|
|
11
|
-
.c-hero-service__aside{display:grid;gap:var(--space-3);align-content:start;padding:var(--space-6);border-radius:var(--radius-lg)}
|
|
12
|
-
.c-hero-service__aside h3{font-size:var(--step-2)}
|
|
13
|
-
.c-hero-service__aside p{margin:0;color:var(--color-muted)}
|
|
14
|
-
.c-hero-service__aside .btn,.c-hero-service__aside .btn-outline{width:100%}
|
|
15
|
-
.c-hero-service__aside .btn + .btn-outline{margin-top:calc(-1 * var(--space-1))}
|
|
16
|
-
.c-hero-service__aside small{display:flex;align-items:center;gap:.4rem;color:var(--color-muted)}
|
|
17
|
-
@media(min-width:900px){.c-hero-service__cards{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-5);margin-top:calc(-1 * var(--space-9))}.c-hero-service__title{padding:var(--space-7)}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<section class="c-hero-service"><div class="c-hero-service__media"><slot name="media"></slot></div><div class="wrap c-hero-service__cards"><div class="card c-hero-service__title"><nav class="c-hero-service__crumbs" aria-label="Breadcrumb"><slot name="breadcrumb"></slot></nav><slot></slot></div><aside class="card c-hero-service__aside" data-scheme="dark"><slot name="aside"></slot></aside></div></section>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# hero-split
|
|
2
|
-
|
|
3
|
-
50/50 copy + media; default trade/home-service hero.
|
|
4
|
-
|
|
5
|
-
- **Category:** hero
|
|
6
|
-
- **Media:** photo or illustration LCP
|
|
7
|
-
- **Registers:** trade, beauty, food, professional
|
|
8
|
-
- **Variants:** reverse, dark
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `eyebrow` | `<p class="eyebrow">` short category or location line |
|
|
15
|
-
| `(default)` | `<h1>` + `<p class="lede lede--lg">` (one sentence) |
|
|
16
|
-
| `actions` | 1–2 buttons (`btn btn-lg` primary, `btn-outline btn-lg` secondary) |
|
|
17
|
-
| `proof` | Optional `.byline` with avatars + rating text |
|
|
18
|
-
| `media` | LCP `<img>` with `fetchpriority="high"`, width/height set |
|
|
19
|
-
|
|
20
|
-
## Example
|
|
21
|
-
|
|
22
|
-
```html
|
|
23
|
-
<hero-split>
|
|
24
|
-
<p slot="eyebrow" class="eyebrow eyebrow--accent">Roofing · Portland, ME</p>
|
|
25
|
-
<h1>Roofs that outlast the weather they were built for.</h1>
|
|
26
|
-
<p class="lede lede--lg">Licensed, insured, and local since 2009. Written estimates in 48 hours, workmanship guaranteed for ten years.</p>
|
|
27
|
-
<a slot="actions" class="btn btn-lg" href="/contact">Get a free estimate</a>
|
|
28
|
-
<a slot="actions" class="btn-outline btn-lg" href="/work">See our work</a>
|
|
29
|
-
<div slot="proof" class="byline"><div class="avatar-group"><img src="/media/harvest/review-1.jpg" alt="" width="96" height="96" class="avatar avatar--sm"><img src="/media/harvest/review-2.jpg" alt="" width="96" height="96" class="avatar avatar--sm"><img src="/media/harvest/review-3.jpg" alt="" width="96" height="96" class="avatar avatar--sm"></div><div><span class="rating" aria-label="5 out of 5 stars"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z"/></svg></span><span> 4.9 from 212 local reviews</span></div></div>
|
|
30
|
-
<img src="/media/harvest/hero-roof.jpg" alt="Crew finishing a standing-seam metal roof" width="1600" height="1200" slot="media" fetchpriority="high">
|
|
31
|
-
</hero-split>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Variants: `<hero-split variant="reverse">` (also: `dark`).
|
|
35
|
-
|
|
36
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
.c-hero-split__copy{display:grid;gap:var(--space-5);align-content:center}
|
|
2
|
-
.c-hero-split__copy h1{max-width:18ch}
|
|
3
|
-
.c-hero-split__copy .btn-group{margin-top:var(--space-2)}
|
|
4
|
-
.c-hero-split__proof:empty{display:none}
|
|
5
|
-
.c-hero-split--reverse .split > :first-child{order:2}
|
|
6
|
-
.c-hero-split--dark{--color-bg:#141210;--color-text:#F7F4EF;--color-muted:#B8B0A4;--color-surface:#1E1B18;--color-surface-2:#2A2622;--color-border:#3A342E;--color-focus:#F7F4EF;background:var(--color-bg);color:var(--color-text)}
|
|
7
|
-
.c-hero-split--dark .frame{box-shadow:none}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<section class="c-hero-split section section--roomy">
|
|
2
|
-
<div class="wrap split">
|
|
3
|
-
<div class="c-hero-split__copy">
|
|
4
|
-
<slot name="eyebrow"></slot>
|
|
5
|
-
<slot></slot>
|
|
6
|
-
<div class="btn-group"><slot name="actions"></slot></div>
|
|
7
|
-
<div class="c-hero-split__proof"><slot name="proof"></slot></div>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="c-hero-split__media frame ratio-4x3"><slot name="media"></slot></div>
|
|
10
|
-
</div>
|
|
11
|
-
</section>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# hero-statement
|
|
2
|
-
|
|
3
|
-
One huge centered statement with a three-image filmstrip beneath — studio / agency opener.
|
|
4
|
-
|
|
5
|
-
- **Category:** hero
|
|
6
|
-
- **Media:** 3 landscape stills
|
|
7
|
-
- **Registers:** b2b, beauty, professional
|
|
8
|
-
- **Variants:** dark
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `eyebrow` | Optional `<p class="eyebrow">` |
|
|
15
|
-
| `(default)` | `<h1>` (2–4 words) + optional `<p class="lede">` |
|
|
16
|
-
| `strip` | 3 `<div class="frame ratio-4x3">` tiles with an `<img>` each |
|
|
17
|
-
|
|
18
|
-
## Example
|
|
19
|
-
|
|
20
|
-
```html
|
|
21
|
-
<hero-statement>
|
|
22
|
-
<p slot="eyebrow" class="eyebrow">Brand & identity studio · Portland</p>
|
|
23
|
-
<h1>We are Hive.</h1>
|
|
24
|
-
<p class="lede">A four-person studio designing the marks small businesses are known for.</p>
|
|
25
|
-
<div slot="strip" class="frame ratio-4x3"><img src="/media/harvest/work-1.jpg" alt="Logo lockup on a storefront awning" width="1200" height="900" fetchpriority="high"></div>
|
|
26
|
-
<div slot="strip" class="frame ratio-4x3"><img src="/media/harvest/work-2.jpg" alt="Business cards and letterhead on a desk" width="1200" height="900"></div>
|
|
27
|
-
<div slot="strip" class="frame ratio-4x3"><img src="/media/harvest/work-3.jpg" alt="Vehicle wrap on a delivery van" width="1200" height="900"></div>
|
|
28
|
-
</hero-statement>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Variants: `<hero-statement variant="dark">`.
|
|
32
|
-
|
|
33
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
.c-hero-statement__copy{display:grid;gap:var(--space-5);justify-items:center;text-align:center}
|
|
2
|
-
.c-hero-statement h1{max-width:none;font-size:clamp(2.75rem,1.5rem + 6vw,6.5rem);line-height:.98;letter-spacing:-.04em}
|
|
3
|
-
.c-hero-statement .lede{text-align:center;max-width:40rem}
|
|
4
|
-
.c-hero-statement__strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-8)}
|
|
5
|
-
.c-hero-statement__strip:empty{display:none}
|
|
6
|
-
.c-hero-statement__strip .frame{box-shadow:none}
|
|
7
|
-
@media(min-width:720px){.c-hero-statement__strip{gap:var(--space-4);margin-top:var(--space-9)}}
|
|
8
|
-
.c-hero-statement--dark{--color-bg:#141210;--color-text:#F7F4EF;--color-muted:#B8B0A4;--color-surface:#1E1B18;--color-surface-2:#2A2622;--color-border:#3A342E;--color-focus:#F7F4EF;background:var(--color-bg);color:var(--color-text)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<section class="c-hero-statement section section--roomy"><div class="wrap c-hero-statement__copy"><slot name="eyebrow"></slot><slot></slot></div><div class="wrap c-hero-statement__strip"><slot name="strip"></slot></div></section>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# hero-stats
|
|
2
|
-
|
|
3
|
-
Headline with proof metrics under the fold of the hero.
|
|
4
|
-
|
|
5
|
-
- **Category:** hero
|
|
6
|
-
- **Media:** optional LCP
|
|
7
|
-
- **Registers:** trade, b2b, professional
|
|
8
|
-
- **Variants:** dark
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `eyebrow` | Short line above headline |
|
|
15
|
-
| `(default)` | `<h1>` + `<p class="lede lede--lg">` |
|
|
16
|
-
| `actions` | 1–2 buttons |
|
|
17
|
-
| `stats` | 3–4 `.stat` blocks (`data-count-to` on the value for count-up) |
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<hero-stats>
|
|
23
|
-
<p slot="eyebrow" class="eyebrow eyebrow--accent">Electrical contractors · Since 1998</p>
|
|
24
|
-
<h1>Wired right the first time.</h1>
|
|
25
|
-
<p class="lede lede--lg">Residential and light-commercial electrical for Cumberland County. Panel upgrades, EV chargers, generators, and the odd mystery outlet.</p>
|
|
26
|
-
<a slot="actions" class="btn btn-lg" href="/contact">Get a free estimate</a>
|
|
27
|
-
<a slot="actions" class="btn-outline btn-lg" href="/work">See our work</a>
|
|
28
|
-
<div slot="stats" class="stat"><p class="stat__value" data-count-to="26">26</p><p class="stat__label">Years in business</p></div>
|
|
29
|
-
<div slot="stats" class="stat"><p class="stat__value" data-count-to="4800" data-count-suffix="+">4800+</p><p class="stat__label">Jobs completed</p></div>
|
|
30
|
-
<div slot="stats" class="stat"><p class="stat__value">4.9</p><p class="stat__label">Average rating</p></div>
|
|
31
|
-
<div slot="stats" class="stat"><p class="stat__value" data-count-to="24" data-count-suffix="h">24h</p><p class="stat__label">Emergency response</p></div>
|
|
32
|
-
</hero-stats>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Variants: `<hero-stats variant="dark">`.
|
|
36
|
-
|
|
37
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
.c-hero-stats__copy{display:grid;gap:var(--space-5);max-width:46rem}
|
|
2
|
-
.c-hero-stats__copy h1{max-width:16ch}
|
|
3
|
-
.c-hero-stats__copy .btn-group{margin-top:var(--space-2)}
|
|
4
|
-
.c-hero-stats__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}
|
|
5
|
-
.c-hero-stats__row .stat--sm .stat__value{font-size:var(--step-3)}
|
|
6
|
-
@media(min-width:720px){
|
|
7
|
-
.c-hero-stats__row{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
|
|
8
|
-
.c-hero-stats__row .stat + .stat{border-left:1px solid var(--color-border);padding-left:var(--space-5)}
|
|
9
|
-
}
|
|
10
|
-
.c-hero-stats--dark{--color-bg:#141210;--color-text:#F7F4EF;--color-muted:#B8B0A4;--color-surface:#1E1B18;--color-surface-2:#2A2622;--color-border:#3A342E;--color-focus:#F7F4EF;background:var(--color-bg);color:var(--color-text)}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<section class="c-hero-stats section section--roomy">
|
|
2
|
-
<div class="wrap">
|
|
3
|
-
<div class="c-hero-stats__copy">
|
|
4
|
-
<slot name="eyebrow"></slot>
|
|
5
|
-
<slot></slot>
|
|
6
|
-
<div class="btn-group"><slot name="actions"></slot></div>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="c-hero-stats__row" data-island="counter"><slot name="stats"></slot></div>
|
|
9
|
-
</div>
|
|
10
|
-
</section>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# hero-video-still
|
|
2
|
-
|
|
3
|
-
Poster still with play affordance linking to content clip — never autoplay bg.
|
|
4
|
-
|
|
5
|
-
- **Category:** hero
|
|
6
|
-
- **Media:** poster still
|
|
7
|
-
- **Registers:** beauty, food, b2b
|
|
8
|
-
- **Variants:** center
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `eyebrow` | Short line above headline |
|
|
15
|
-
| `(default)` | `<h1>` + `<p class="lede lede--lg">` |
|
|
16
|
-
| `actions` | 1–2 buttons |
|
|
17
|
-
| `media` | Poster `<img>` (21:9 crop) |
|
|
18
|
-
| `play-label` | Short label next to the play icon; set the play link `href` in the template when you copy the block |
|
|
19
|
-
|
|
20
|
-
## Example
|
|
21
|
-
|
|
22
|
-
```html
|
|
23
|
-
<hero-video-still>
|
|
24
|
-
<p slot="eyebrow" class="eyebrow eyebrow--accent">Farm-to-table · Freeport</p>
|
|
25
|
-
<h1>Dinner starts in the field at 6 a.m.</h1>
|
|
26
|
-
<p class="lede lede--lg">A 40-seat dining room, a five-acre garden, and a menu that changes when the weather does.</p>
|
|
27
|
-
<a slot="actions" class="btn btn-lg" href="/reserve">Reserve a table</a>
|
|
28
|
-
<a slot="actions" class="btn-outline btn-lg" href="/menu">Tonight's menu</a>
|
|
29
|
-
<img src="/media/harvest/kitchen-still.jpg" alt="Cooks plating at the pass" width="2100" height="900" slot="media" fetchpriority="high">
|
|
30
|
-
<span slot="play-label">Watch the 60-second tour</span>
|
|
31
|
-
</hero-video-still>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Variants: `<hero-video-still variant="center">`.
|
|
35
|
-
|
|
36
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
.c-hero-video-still__copy{display:grid;gap:var(--space-5);max-width:46rem;margin-bottom:var(--space-7)}
|
|
2
|
-
.c-hero-video-still__copy h1{max-width:16ch}
|
|
3
|
-
.c-hero-video-still__copy .btn-group{margin-top:var(--space-2)}
|
|
4
|
-
.c-hero-video-still__frame{box-shadow:var(--shadow-3)}
|
|
5
|
-
.c-hero-video-still__frame::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--color-text) 18%,transparent);pointer-events:none}
|
|
6
|
-
.c-hero-video-still__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;box-shadow:var(--shadow-3)}
|
|
7
|
-
.c-hero-video-still__play .icon{fill:currentColor;stroke:none}
|
|
8
|
-
@media(max-width:599px){.c-hero-video-still__play{width:3.5rem;height:3.5rem;padding:0;border-radius:var(--radius-pill)}.c-hero-video-still__play > span{display:none}}
|
|
9
|
-
.c-hero-video-still--center .c-hero-video-still__copy{margin-inline:auto;text-align:center;justify-items:center}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<section class="c-hero-video-still section section--roomy">
|
|
2
|
-
<div class="wrap">
|
|
3
|
-
<div class="c-hero-video-still__copy">
|
|
4
|
-
<slot name="eyebrow"></slot>
|
|
5
|
-
<slot></slot>
|
|
6
|
-
<div class="btn-group"><slot name="actions"></slot></div>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="c-hero-video-still__frame frame ratio-21x9">
|
|
9
|
-
<slot name="media"></slot>
|
|
10
|
-
<a class="btn btn-lg c-hero-video-still__play" href="#video"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M7 5v14l11-7z"/></svg><slot name="play-label"></slot></a>
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
</section>
|
package/blocks/icons.md
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Icons
|
|
2
|
-
|
|
3
|
-
Copy an SVG into a block or component. Use class `icon` (and `icon--lg` when needed). Paths use `stroke` via CSS on `.icon`.
|
|
4
|
-
|
|
5
|
-
```html
|
|
6
|
-
<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 13l4 4L19 7"/></svg>
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## Set (Lucide-style, ISC)
|
|
10
|
-
|
|
11
|
-
| Name | Path `d` |
|
|
12
|
-
|------|----------|
|
|
13
|
-
| check | `M5 13l4 4L19 7` |
|
|
14
|
-
| chevron-right | `M9 6l6 6-6 6` |
|
|
15
|
-
| chevron-down | `M6 9l6 6 6-6` |
|
|
16
|
-
| arrow-right | `M5 12h14M13 6l6 6-6 6` |
|
|
17
|
-
| plus | `M12 5v14M5 12h14` |
|
|
18
|
-
| minus | `M5 12h14` |
|
|
19
|
-
| menu | `M4 7h16M4 12h16M4 17h16` |
|
|
20
|
-
| x | `M6 6l12 12M18 6L6 18` |
|
|
21
|
-
| phone | `M6 3h4l2 5-3 2a12 12 0 006 6l2-3 5 2v4a2 2 0 01-2 2A16 16 0 014 5a2 2 0 012-2z` |
|
|
22
|
-
| mail | `M4 6h16v12H4zM4 6l8 7 8-7` |
|
|
23
|
-
| map-pin | `M12 21s7-5.2 7-11a7 7 0 10-14 0c0 5.8 7 11 7 11zM12 10.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3z` |
|
|
24
|
-
| clock | `M12 7v5l3 2M12 21a9 9 0 110-18 9 9 0 010 18z` |
|
|
25
|
-
| star | `M12 3l2.6 5.3L20 9.2l-4 3.9.9 5.4L12 15.9 7.1 18.5 8 13.1 4 9.2l5.4-.9L12 3z` |
|
|
26
|
-
| shield | `M12 3l8 3v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6l8-3z` |
|
|
27
|
-
| wrench | `M14.5 6.5a4 4 0 01-5.2 5.2L4 17l3 3 5.3-5.3a4 4 0 015.2-5.2l-3-3z` |
|
|
28
|
-
| home | `M4 11l8-7 8 7v9a1 1 0 01-1 1h-5v-6H10v6H5a1 1 0 01-1-1v-9z` |
|
|
29
|
-
| users | `M16 20v-1a4 4 0 00-4-4H7a4 4 0 00-4 4v1M9.5 11a3 3 0 100-6 3 3 0 000 6zM17 11a3 3 0 100-6` |
|
|
30
|
-
| camera | `M4 8h3l2-2h6l2 2h3v11H4V8zM12 17a3.5 3.5 0 100-7 3.5 3.5 0 000 7z` |
|
|
31
|
-
| heart | `M12 20s-7-4.4-7-10a4 4 0 017-2.5A4 4 0 0119 10c0 5.6-7 10-7 10z` |
|
|
32
|
-
| leaf | `M5 19c8 0 12-6 14-14-8 2-14 6-14 14zM5 19c2-4 6-7 11-9` |
|
|
33
|
-
| truck | `M3 7h11v10H3zM14 10h4l3 3v4h-7V10zM7 20a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM17 20a1.5 1.5 0 100-3 1.5 1.5 0 000 3z` |
|
|
34
|
-
| building | `M4 20V6l8-3 8 3v14H4zM9 20v-5h6v5` |
|
|
35
|
-
| briefcase | `M8 7V5a2 2 0 012-2h4a2 2 0 012 2v2M4 7h16v12H4V7z` |
|
|
36
|
-
| sparkles | `M12 3l1.2 3.8L17 8l-3.8 1.2L12 13l-1.2-3.8L7 8l3.8-1.2L12 3zM6 14l.8 2.2L9 17l-2.2.8L6 20l-.8-2.2L3 17l2.2-.8L6 14z` |
|
|
37
|
-
| quote | `M7 8h5v5H9a3 3 0 00-3 3v1h6v-4H8V8zm8 0h5v5h-3a3 3 0 00-3 3v1h6v-4h-4V8z` |
|
|
38
|
-
| play | `M8 5v14l11-7L8 5z` |
|
|
39
|
-
| image | `M4 5h16v14H4V5zm0 10l4-4 3 3 4-5 5 6` |
|
|
40
|
-
| link | `M10 13a5 5 0 007 0l2-2a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-2 2a5 5 0 007 7l1-1` |
|
|
41
|
-
| calendar | `M5 4h14v16H5V4zm0 4h14M9 2v4M15 2v4` |
|
|
42
|
-
| search | `M11 18a7 7 0 100-14 7 7 0 000 14zM20 20l-3.5-3.5` |
|
|
43
|
-
|
|
44
|
-
Add `fill="none"` is unnecessary — `.icon { fill: none; stroke: currentColor }` is in primitives.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# incentive-banner
|
|
2
|
-
|
|
3
|
-
Promo / offer banner.
|
|
4
|
-
|
|
5
|
-
- **Category:** incentives
|
|
6
|
-
- **Media:** none
|
|
7
|
-
- **Registers:** trade, beauty, food
|
|
8
|
-
- **Variants:** accent
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `(default)` | One line: `<strong>` offer + short terms |
|
|
15
|
-
| `actions` | One `<a>` (text link or `.btn.btn-sm`) |
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
|
|
19
|
-
```html
|
|
20
|
-
<incentive-banner>
|
|
21
|
-
<strong>0% financing for 12 months</strong> on full roof replacements — approvals in minutes.
|
|
22
|
-
<a slot="actions" href="/financing">See terms</a>
|
|
23
|
-
</incentive-banner>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Variants: `<incentive-banner variant="accent">`.
|
|
27
|
-
|
|
28
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
.c-incentive-banner{gap:var(--space-2) var(--space-3);padding-block:var(--space-3)}
|
|
2
|
-
.c-incentive-banner__icon .icon{width:1.1rem;height:1.1rem;color:var(--color-accent)}
|
|
3
|
-
.c-incentive-banner__text{margin:0}
|
|
4
|
-
.c-incentive-banner__text strong{font-weight:600}
|
|
5
|
-
.c-incentive-banner > a{font-weight:600;text-underline-offset:.2em}
|
|
6
|
-
.c-incentive-banner--accent{background:var(--color-accent);color:var(--color-accent-text);border-bottom-color:transparent}
|
|
7
|
-
.c-incentive-banner--accent .c-incentive-banner__icon .icon{color:var(--color-accent-text)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<aside class="c-incentive-banner announcement"><span class="c-incentive-banner__icon" aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M13 2 4 14h7l-1 8 9-12h-7l1-8z"/></svg></span><p class="c-incentive-banner__text"><slot></slot></p><slot name="actions"></slot></aside>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# incentive-cards
|
|
2
|
-
|
|
3
|
-
Offer cards (financing, warranty, gift).
|
|
4
|
-
|
|
5
|
-
- **Category:** incentives
|
|
6
|
-
- **Media:** optional icons
|
|
7
|
-
- **Registers:** trade, beauty, professional
|
|
8
|
-
- **Variants:** (none)
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `eyebrow` | Optional `<p class="eyebrow">` |
|
|
15
|
-
| `heading` | `<h2>` |
|
|
16
|
-
| `lede` | Optional `<p class="lede">` |
|
|
17
|
-
| `cards` | 3 `.card` offers: `.icon-tile`, `<h3>`, `<p>`, optional `<a class="btn-arrow">` |
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<incentive-cards>
|
|
23
|
-
<p slot="eyebrow" class="eyebrow eyebrow--accent">Offers</p>
|
|
24
|
-
<h2 slot="heading">Ways to make it easier</h2>
|
|
25
|
-
<div slot="cards" class="card"><div class="card__body"><span class="icon-tile"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M13 2 4 14h7l-1 8 9-12h-7l1-8z"/></svg></span><h3>0% for 12 months</h3><p>Financing through our lending partner. Five-minute application, no hard credit pull to see your rate.</p><a class="btn-arrow" href="/financing">Financing details</a></div></div>
|
|
26
|
-
<div slot="cards" class="card"><div class="card__body"><span class="icon-tile"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3 4 6v6c0 5 3.5 8.5 8 9 4.5-.5 8-4 8-9V6l-8-3z"/><path d="m9 12 2 2 4-4"/></svg></span><h3>10-year workmanship warranty</h3><p>Any leak caused by installation, we fix free. Transferable if you sell the house.</p><a class="btn-arrow" href="/warranty">Read the warranty</a></div></div>
|
|
27
|
-
<div slot="cards" class="card"><div class="card__body"><span class="icon-tile"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 21s-7-4.6-9-9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c-2 4.4-9 9-9 9z"/></svg></span><h3>$250 referral credit</h3><p>When a neighbor you refer books a replacement, you both get $250 off your next service.</p><a class="btn-arrow" href="/referrals">How referrals work</a></div></div>
|
|
28
|
-
</incentive-cards>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
.c-incentive-cards__grid .card{background:var(--color-surface-2);border-color:transparent}
|
|
2
|
-
.c-incentive-cards__grid .card__body{padding:var(--space-6);gap:var(--space-3)}
|
|
3
|
-
.c-incentive-cards__grid .card__body > .icon-tile{margin-bottom:var(--space-2);background:var(--color-surface)}
|
|
4
|
-
.c-incentive-cards__grid .card__body > h3{font-size:var(--step-2)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<section class="c-incentive-cards section"><div class="wrap"><div class="section__head"><slot name="eyebrow"></slot><slot name="heading"></slot><slot name="lede"></slot></div><div class="grid grid--3 c-incentive-cards__grid"><slot name="cards"></slot></div></div></section>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# nav-announcement
|
|
2
|
-
|
|
3
|
-
Announcement strip above sticky split nav.
|
|
4
|
-
|
|
5
|
-
- **Category:** navbar
|
|
6
|
-
- **Media:** logo optional
|
|
7
|
-
- **Registers:** trade, beauty, food, b2b
|
|
8
|
-
- **Variants:** accent
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `announcement` | One short line, optionally with an inline `<a>` |
|
|
15
|
-
| `brand` | Business name or logo |
|
|
16
|
-
| `links` | 3–5 `<a>` primary links |
|
|
17
|
-
| `actions` | Primary CTA button |
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<nav-announcement>
|
|
23
|
-
<span slot="announcement">Spring roof inspections are free through May — <a href="/contact">book yours</a></span>
|
|
24
|
-
<span slot="brand">Harbor Roofing</span>
|
|
25
|
-
<a slot="links" href="/services">Services</a>
|
|
26
|
-
<a slot="links" href="/work">Our work</a>
|
|
27
|
-
<a slot="links" href="/about">About</a>
|
|
28
|
-
<a slot="links" href="/contact">Contact</a>
|
|
29
|
-
<a slot="actions" class="btn" href="/contact">Free estimate</a>
|
|
30
|
-
</nav-announcement>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Variants: `<nav-announcement variant="accent">`.
|
|
34
|
-
|
|
35
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
.c-nav-announcement__inner{display:flex;align-items:center;gap:var(--space-5);min-height:var(--header-h)}
|
|
2
|
-
.c-nav-announcement__links{display:none;margin-inline:auto}
|
|
3
|
-
.c-nav-announcement__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}
|
|
4
|
-
.c-nav-announcement__cta > :not(:first-child){display:none}
|
|
5
|
-
.c-nav-announcement--accent .c-nav-announcement__strip{background:var(--color-accent);color:var(--color-accent-text);border-bottom-color:transparent}
|
|
6
|
-
@media(min-width:900px){
|
|
7
|
-
.c-nav-announcement__links{display:flex}
|
|
8
|
-
.c-nav-announcement__cta > :not(:first-child){display:inline-flex}
|
|
9
|
-
.c-nav-announcement__toggle{display:none}
|
|
10
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<div class="c-nav-announcement">
|
|
2
|
-
<div class="announcement c-nav-announcement__strip"><slot name="announcement"></slot></div>
|
|
3
|
-
<header class="c-nav-announcement__bar header--sticky" data-island="header">
|
|
4
|
-
<div class="wrap c-nav-announcement__inner">
|
|
5
|
-
<a class="brand" href="/"><slot name="brand"></slot></a>
|
|
6
|
-
<nav class="nav-links c-nav-announcement__links" aria-label="Primary"><slot name="links"></slot></nav>
|
|
7
|
-
<div class="c-nav-announcement__actions">
|
|
8
|
-
<div class="btn-group c-nav-announcement__cta"><slot name="actions"></slot></div>
|
|
9
|
-
<button type="button" class="btn-ghost btn-icon c-nav-announcement__toggle" data-nav-toggle aria-expanded="false" aria-label="Open menu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="nav-drawer"><div class="nav-drawer__panel"><nav aria-label="Mobile"><slot name="links"></slot></nav><div class="btn-group"><slot name="actions"></slot></div></div></div>
|
|
13
|
-
</header>
|
|
14
|
-
</div>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# nav-centered
|
|
2
|
-
|
|
3
|
-
Centered mark with flanking link clusters — beauty / premium.
|
|
4
|
-
|
|
5
|
-
- **Category:** navbar
|
|
6
|
-
- **Media:** logo preferred
|
|
7
|
-
- **Registers:** beauty, food, professional
|
|
8
|
-
- **Variants:** static
|
|
9
|
-
|
|
10
|
-
## Slots
|
|
11
|
-
|
|
12
|
-
| Slot | Content |
|
|
13
|
-
|------|---------|
|
|
14
|
-
| `links-left` | 2–3 `<a>` links shown left of the brand |
|
|
15
|
-
| `brand` | Wordmark or logo (centered) |
|
|
16
|
-
| `links-right` | 1–2 `<a>` links shown right of the brand |
|
|
17
|
-
| `actions` | Primary CTA button (right edge) |
|
|
18
|
-
|
|
19
|
-
## Example
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<nav-centered>
|
|
23
|
-
<a slot="links-left" href="/services">Services</a>
|
|
24
|
-
<a slot="links-left" href="/gallery">Gallery</a>
|
|
25
|
-
<a slot="links-left" href="/team">Team</a>
|
|
26
|
-
<span slot="brand">Maison Lune</span>
|
|
27
|
-
<a slot="links-right" href="/about">About</a>
|
|
28
|
-
<a slot="links-right" href="/contact">Visit</a>
|
|
29
|
-
<a slot="actions" class="btn" href="/book">Book now</a>
|
|
30
|
-
</nav-centered>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Variants: `<nav-centered variant="static">`.
|
|
34
|
-
|
|
35
|
-
Copy this folder into the site repo as `components/<your-name>/`, rename the root class to `c-<your-name>`, and adapt slots, copy, and media.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
.c-nav-centered__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--header-h);gap:var(--space-3)}
|
|
2
|
-
.c-nav-centered__brand{justify-self:center;font-size:var(--step-3);letter-spacing:.02em;text-transform:uppercase;font-weight:600}
|
|
3
|
-
.c-nav-centered__left{display:none}
|
|
4
|
-
.c-nav-centered__links{display:none}
|
|
5
|
-
.c-nav-centered__right{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2)}
|
|
6
|
-
.c-nav-centered__cta{display:none}
|
|
7
|
-
.c-nav-centered--static{position:static;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-bg)}
|
|
8
|
-
@media(min-width:900px){
|
|
9
|
-
.c-nav-centered__left,.c-nav-centered__links,.c-nav-centered__cta{display:flex}
|
|
10
|
-
.c-nav-centered__toggle{display:none}
|
|
11
|
-
}
|