@affinda/wc 0.1.0 → 0.2.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/dist/affinda/af-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
- package/dist/affinda/af-divider.entry.esm.js.map +1 -1
- package/dist/affinda/af-feature-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-grid.entry.esm.js.map +1 -1
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
- package/dist/affinda/af-hero.entry.esm.js.map +1 -0
- package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
- package/dist/affinda/af-inline.entry.esm.js.map +1 -1
- package/dist/affinda/af-numbered-stepper-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-numbered-stepper.entry.esm.js.map +1 -0
- package/dist/affinda/af-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-split-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-stack.entry.esm.js.map +1 -1
- package/dist/affinda/af-stat.entry.esm.js.map +1 -0
- package/dist/affinda/af-stats-row.entry.esm.js.map +1 -0
- package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/index.esm.js.map +1 -1
- package/dist/affinda/{p-4cf65950.entry.js → p-068ac2fb.entry.js} +2 -2
- package/dist/affinda/{p-4b154e23.entry.js → p-09dfcd40.entry.js} +2 -2
- package/dist/affinda/{p-f10a31cb.entry.js → p-0acadf6f.entry.js} +2 -2
- package/dist/affinda/{p-e1e98cd6.entry.js → p-1b4b0c88.entry.js} +2 -2
- package/dist/affinda/p-2237e652.entry.js +2 -0
- package/dist/affinda/{p-56fe6e6e.entry.js.map → p-2237e652.entry.js.map} +1 -1
- package/dist/affinda/p-2526604b.entry.js +2 -0
- package/dist/affinda/p-2526604b.entry.js.map +1 -0
- package/dist/affinda/{p-8c4e3047.entry.js → p-256970e3.entry.js} +2 -2
- package/dist/affinda/p-32d62fbb.entry.js +2 -0
- package/dist/affinda/{p-3ee906de.entry.js → p-342b08e5.entry.js} +2 -2
- package/dist/affinda/{p-a84ae4a5.entry.js → p-365a75e2.entry.js} +2 -2
- package/dist/affinda/p-3ed408f6.entry.js +2 -0
- package/dist/affinda/{p-edb1a010.entry.js → p-4058a1eb.entry.js} +2 -2
- package/dist/affinda/{p-94f51238.entry.js → p-41bbb218.entry.js} +2 -2
- package/dist/affinda/p-436673bb.entry.js +2 -0
- package/dist/affinda/p-436673bb.entry.js.map +1 -0
- package/dist/affinda/{p-c8c4783c.entry.js → p-44d960ca.entry.js} +2 -2
- package/dist/affinda/{p-e1cbe95a.entry.js → p-4a9b192b.entry.js} +2 -2
- package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
- package/dist/affinda/{p-49521f2e.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
- package/dist/affinda/{p-b2633acb.entry.js → p-5c163c5b.entry.js} +2 -2
- package/dist/affinda/{p-48aadea9.entry.js → p-5e5e7d75.entry.js} +2 -2
- package/dist/affinda/{p-da2d84f7.entry.js → p-61a6b43d.entry.js} +2 -2
- package/dist/affinda/{p-ea42c40b.entry.js → p-631d141c.entry.js} +2 -2
- package/dist/affinda/{p-6038a213.entry.js → p-6475796d.entry.js} +2 -2
- package/dist/affinda/p-6756aa66.entry.js +2 -0
- package/dist/affinda/p-6e181b2b.entry.js +2 -0
- package/dist/affinda/{p-0201c8bd.entry.js → p-6ea474a3.entry.js} +2 -2
- package/dist/affinda/{p-a71d528d.entry.js → p-7111051c.entry.js} +2 -2
- package/dist/affinda/p-7d3cdda1.entry.js +2 -0
- package/dist/affinda/p-7d3cdda1.entry.js.map +1 -0
- package/dist/affinda/{p-0137e7a5.entry.js → p-827f3050.entry.js} +2 -2
- package/dist/affinda/{p-78518e6c.entry.js → p-83bb96cc.entry.js} +2 -2
- package/dist/affinda/p-85cc55bb.entry.js +2 -0
- package/dist/affinda/p-85cc55bb.entry.js.map +1 -0
- package/dist/affinda/{p-2e6192eb.entry.js → p-9480f00d.entry.js} +2 -2
- package/dist/affinda/{p-e055407b.entry.js → p-9ce0adc2.entry.js} +2 -2
- package/dist/affinda/{p-81706709.entry.js → p-a02d6192.entry.js} +2 -2
- package/dist/affinda/p-a1e80460.entry.js +2 -0
- package/dist/affinda/{p-ef5857cf.entry.js.map → p-a1e80460.entry.js.map} +1 -1
- package/dist/affinda/{p-ad41f905.entry.js → p-a25d3257.entry.js} +2 -2
- package/dist/affinda/{p-50a67fb6.entry.js → p-a7a8f18c.entry.js} +2 -2
- package/dist/affinda/{p-5f6a5741.entry.js → p-a8d75eb1.entry.js} +2 -2
- package/dist/affinda/{p-5265e82e.entry.js → p-ae430873.entry.js} +2 -2
- package/dist/affinda/{p-081cc890.entry.js → p-b39eea31.entry.js} +2 -2
- package/dist/affinda/{p-4c4406bf.entry.js → p-b9ec0e75.entry.js} +2 -2
- package/dist/affinda/{p-feb3d03f.entry.js → p-bbfc9df6.entry.js} +2 -2
- package/dist/affinda/{p-6c58b283.entry.js → p-bed7d9a1.entry.js} +2 -2
- package/dist/affinda/{p-3a0e45c3.entry.js → p-d7d82986.entry.js} +2 -2
- package/dist/affinda/p-dabd389a.entry.js +2 -0
- package/dist/affinda/p-dabd389a.entry.js.map +1 -0
- package/dist/affinda/{p-a35029eb.entry.js → p-dcc89b4c.entry.js} +2 -2
- package/dist/affinda/{p-6e40dbdf.entry.js → p-de75cb4f.entry.js} +2 -2
- package/dist/affinda/{p-f9315f9e.entry.js → p-e07e27f1.entry.js} +2 -2
- package/dist/affinda/{p-dbe7ab88.entry.js → p-eeda78ea.entry.js} +2 -2
- package/dist/affinda/{p-b2b28366.entry.js → p-f19cb091.entry.js} +2 -2
- package/dist/cjs/af-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/af-accordion.cjs.entry.js +1 -1
- package/dist/cjs/af-card.cjs.entry.js +1 -1
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-center.cjs.entry.js +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +1 -1
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
- package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
- package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/af-footer.cjs.entry.js +1 -1
- package/dist/cjs/af-grid.cjs.entry.js +2 -2
- package/dist/cjs/af-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
- package/dist/cjs/af-heading_5.cjs.entry.js +1 -1
- package/dist/cjs/af-hero.cjs.entry.js +94 -0
- package/dist/cjs/af-hero.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-image.cjs.entry.js +1 -1
- package/dist/cjs/af-in-page-banner.cjs.entry.js +1 -1
- package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/af-inline.cjs.entry.js +1 -1
- package/dist/cjs/af-inline.entry.cjs.js.map +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
- package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
- package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +25 -0
- package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-numbered-stepper.cjs.entry.js +36 -0
- package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +1 -0
- package/dist/cjs/af-paperclip-decoration.cjs.entry.js +1 -1
- package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
- package/dist/cjs/af-section.cjs.entry.js +2 -2
- package/dist/cjs/af-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-show.cjs.entry.js +1 -1
- package/dist/cjs/af-social-link.cjs.entry.js +1 -1
- package/dist/cjs/af-spacer.cjs.entry.js +1 -1
- package/dist/cjs/af-split-section.cjs.entry.js +2 -2
- package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stack.cjs.entry.js +1 -1
- package/dist/cjs/af-stack.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stat.cjs.entry.js +18 -0
- package/dist/cjs/af-stat.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stats-row.cjs.entry.js +18 -0
- package/dist/cjs/af-stats-row.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stepper-step.cjs.entry.js +1 -1
- package/dist/cjs/af-stepper.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial.cjs.entry.js +2 -2
- package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
- package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/af-video-container.cjs.entry.js +1 -1
- package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
- package/dist/cjs/affinda.cjs.js +1 -1
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/af-accordion/af-accordion.js +1 -1
- package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
- package/dist/collection/components/af-card/af-card.js +9 -3
- package/dist/collection/components/af-card/af-card.js.map +1 -1
- package/dist/collection/components/af-center/af-center.js +1 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +4 -3
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
- package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
- package/dist/collection/components/af-divider/af-divider.js +1 -1
- package/dist/collection/components/af-divider/af-divider.js.map +1 -1
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
- package/dist/collection/components/af-feature-card/af-feature-card.js +8 -2
- package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -1
- package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
- package/dist/collection/components/af-footer/af-footer.js +1 -1
- package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
- package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
- package/dist/collection/components/af-grid/af-grid.js +5 -4
- package/dist/collection/components/af-grid/af-grid.js.map +1 -1
- package/dist/collection/components/af-hero/af-hero.css +282 -0
- package/dist/collection/components/af-hero/af-hero.js +314 -0
- package/dist/collection/components/af-hero/af-hero.js.map +1 -0
- package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
- package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +9 -3
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
- package/dist/collection/components/af-image/af-image.js +1 -1
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +7 -6
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
- package/dist/collection/components/af-inline/af-inline.js +4 -3
- package/dist/collection/components/af-inline/af-inline.js.map +1 -1
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
- package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
- package/dist/collection/components/af-navbar/af-navbar.js +10 -4
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
- package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.css +30 -0
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +92 -0
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +1 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +113 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +66 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +1 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
- package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
- package/dist/collection/components/af-section/af-section.js +18 -6
- package/dist/collection/components/af-section/af-section.js.map +1 -1
- package/dist/collection/components/af-show/af-show.js +1 -1
- package/dist/collection/components/af-social-link/af-social-link.js +1 -1
- package/dist/collection/components/af-spacer/af-spacer.js +1 -1
- package/dist/collection/components/af-split-section/af-split-section.js +16 -8
- package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
- package/dist/collection/components/af-stack/af-stack.js +4 -3
- package/dist/collection/components/af-stack/af-stack.js.map +1 -1
- package/dist/collection/components/af-stat/af-stat.css +25 -0
- package/dist/collection/components/af-stat/af-stat.js +69 -0
- package/dist/collection/components/af-stat/af-stat.js.map +1 -0
- package/dist/collection/components/af-stats-row/af-stats-row.css +32 -0
- package/dist/collection/components/af-stats-row/af-stats-row.js +33 -0
- package/dist/collection/components/af-stats-row/af-stats-row.js.map +1 -0
- package/dist/collection/components/af-stepper/af-stepper.js +1 -1
- package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
- package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
- package/dist/collection/components/af-theme-override/af-theme-override.js +9 -3
- package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +9 -3
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
- package/dist/collection/components/af-video-container/af-video-container.js +1 -1
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
- package/dist/collection/components.js +1 -0
- package/dist/collection/components.js.map +1 -1
- package/dist/collection/types.js +2 -0
- package/dist/collection/types.js.map +1 -0
- package/dist/components/af-accordion-item.js +1 -1
- package/dist/components/af-accordion.js +1 -1
- package/dist/components/af-card.js +1 -1
- package/dist/components/af-center.js +1 -1
- package/dist/components/af-client-carousel.js +1 -1
- package/dist/components/af-client-carousel.js.map +1 -1
- package/dist/components/af-contact-item.js +1 -1
- package/dist/components/af-divider.js +1 -1
- package/dist/components/af-divider.js.map +1 -1
- package/dist/components/af-feature-accordion.js +2 -2
- package/dist/components/af-feature-card.js +1 -1
- package/dist/components/af-feature-grid.js +2 -2
- package/dist/components/af-footer-column.js +1 -1
- package/dist/components/af-footer-link.js +1 -1
- package/dist/components/af-footer.js +1 -1
- package/dist/components/af-grid-callout.js +1 -1
- package/dist/components/af-grid.js +2 -2
- package/dist/components/af-grid.js.map +1 -1
- package/dist/components/af-hero.d.ts +11 -0
- package/dist/components/af-hero.js +9 -0
- package/dist/components/af-hero.js.map +1 -0
- package/dist/components/af-icon-box.js +1 -1
- package/dist/components/af-icon-text.js +3 -3
- package/dist/components/af-illustrated-card.js +1 -1
- package/dist/components/af-image.js +1 -1
- package/dist/components/af-in-page-banner.js +1 -1
- package/dist/components/af-in-page-banner.js.map +1 -1
- package/dist/components/af-inline.js +1 -1
- package/dist/components/af-inline.js.map +1 -1
- package/dist/components/af-logo-well.js +1 -1
- package/dist/components/af-nav-accordion-item.js +2 -2
- package/dist/components/af-nav-accordion.js +1 -1
- package/dist/components/af-nav-menu-nest.js +1 -1
- package/dist/components/af-nav-menu.js +1 -1
- package/dist/components/af-navbar.js +1 -1
- package/dist/components/af-number-badge.js +1 -58
- package/dist/components/af-number-badge.js.map +1 -1
- package/dist/components/af-numbered-stepper-item.d.ts +11 -0
- package/dist/components/af-numbered-stepper-item.js +58 -0
- package/dist/components/af-numbered-stepper-item.js.map +1 -0
- package/dist/components/af-numbered-stepper.d.ts +11 -0
- package/dist/components/af-numbered-stepper.js +57 -0
- package/dist/components/af-numbered-stepper.js.map +1 -0
- package/dist/components/af-paperclip-decoration.js +1 -1
- package/dist/components/af-progress-line.js +1 -1
- package/dist/components/af-section.js +1 -46
- package/dist/components/af-section.js.map +1 -1
- package/dist/components/af-show.js +1 -1
- package/dist/components/af-social-link.js +1 -1
- package/dist/components/af-spacer.js +1 -1
- package/dist/components/af-split-section.js +2 -2
- package/dist/components/af-split-section.js.map +1 -1
- package/dist/components/af-stack.js +1 -1
- package/dist/components/af-stack.js.map +1 -1
- package/dist/components/af-stat.d.ts +11 -0
- package/dist/components/af-stat.js +53 -0
- package/dist/components/af-stat.js.map +1 -0
- package/dist/components/af-stats-row.d.ts +11 -0
- package/dist/components/af-stats-row.js +37 -0
- package/dist/components/af-stats-row.js.map +1 -0
- package/dist/components/af-stepper-step.js +1 -1
- package/dist/components/af-stepper.js +1 -1
- package/dist/components/af-testimonial-carousel.js +2 -2
- package/dist/components/af-testimonial-stat.js +1 -1
- package/dist/components/af-testimonial.js +2 -2
- package/dist/components/af-text-image-nest.js +1 -1
- package/dist/components/af-text-image.js +1 -1
- package/dist/components/af-theme-override.js +1 -1
- package/dist/components/af-theme-override.js.map +1 -1
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/af-video-container.js +1 -1
- package/dist/components/af-visually-hidden.js +1 -1
- package/dist/components/index.js +5 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-C6-JATRR.js → p-3Gzh4deR.js} +5 -5
- package/dist/components/p-3Gzh4deR.js.map +1 -0
- package/dist/components/{p-DO9J0XTo.js → p-BXmiPS9x.js} +4 -4
- package/dist/components/{p-DO9J0XTo.js.map → p-BXmiPS9x.js.map} +1 -1
- package/dist/components/{p-CKLkuSI3.js → p-CJxqw006.js} +3 -3
- package/dist/components/{p-CKLkuSI3.js.map → p-CJxqw006.js.map} +1 -1
- package/dist/components/p-CRnEuh5f.js +136 -0
- package/dist/components/p-CRnEuh5f.js.map +1 -0
- package/dist/components/{p-DNeNJhuM.js → p-ClZAZSzR.js} +3 -3
- package/dist/components/{p-DNeNJhuM.js.map → p-ClZAZSzR.js.map} +1 -1
- package/dist/components/{p-HMlLQQwp.js → p-DqJRvNOl.js} +3 -3
- package/dist/components/{p-HMlLQQwp.js.map → p-DqJRvNOl.js.map} +1 -1
- package/dist/components/{p-Bh6Cfgtj.js → p-LRPXnaSx.js} +3 -3
- package/dist/components/{p-Bh6Cfgtj.js.map → p-LRPXnaSx.js.map} +1 -1
- package/dist/components/p-O26uYJSV.js +51 -0
- package/dist/components/p-O26uYJSV.js.map +1 -0
- package/dist/components/p-QoDae21y.js +63 -0
- package/dist/components/p-QoDae21y.js.map +1 -0
- package/dist/components/{p-CNzQtskW.js → p-mbl86-w6.js} +4 -4
- package/dist/components/p-mbl86-w6.js.map +1 -0
- package/dist/components/{p-i_6TLQJ5.js → p-nA3Uvhwb.js} +3 -3
- package/dist/components/{p-i_6TLQJ5.js.map → p-nA3Uvhwb.js.map} +1 -1
- package/dist/esm/af-accordion-item.entry.js +1 -1
- package/dist/esm/af-accordion.entry.js +1 -1
- package/dist/esm/af-card.entry.js +1 -1
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-center.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js.map +1 -1
- package/dist/esm/af-contact-item.entry.js +1 -1
- package/dist/esm/af-divider.entry.js +1 -1
- package/dist/esm/af-divider.entry.js.map +1 -1
- package/dist/esm/af-feature-accordion.entry.js +2 -2
- package/dist/esm/af-feature-card.entry.js.map +1 -1
- package/dist/esm/af-feature-grid.entry.js +1 -1
- package/dist/esm/af-footer-column.entry.js +1 -1
- package/dist/esm/af-footer-link.entry.js +1 -1
- package/dist/esm/af-footer.entry.js +1 -1
- package/dist/esm/af-grid.entry.js +2 -2
- package/dist/esm/af-grid.entry.js.map +1 -1
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
- package/dist/esm/af-heading_5.entry.js +1 -1
- package/dist/esm/af-hero.entry.js +92 -0
- package/dist/esm/af-hero.entry.js.map +1 -0
- package/dist/esm/af-icon-box.entry.js +1 -1
- package/dist/esm/af-icon-text.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js.map +1 -1
- package/dist/esm/af-image.entry.js +1 -1
- package/dist/esm/af-in-page-banner.entry.js +1 -1
- package/dist/esm/af-in-page-banner.entry.js.map +1 -1
- package/dist/esm/af-inline.entry.js +1 -1
- package/dist/esm/af-inline.entry.js.map +1 -1
- package/dist/esm/af-logo-well.entry.js +1 -1
- package/dist/esm/af-nav-accordion-item.entry.js +2 -2
- package/dist/esm/af-nav-accordion.entry.js +1 -1
- package/dist/esm/af-nav-menu-nest.entry.js +1 -1
- package/dist/esm/af-nav-menu.entry.js +1 -1
- package/dist/esm/af-number-badge.entry.js +1 -1
- package/dist/esm/af-numbered-stepper-item.entry.js +23 -0
- package/dist/esm/af-numbered-stepper-item.entry.js.map +1 -0
- package/dist/esm/af-numbered-stepper.entry.js +34 -0
- package/dist/esm/af-numbered-stepper.entry.js.map +1 -0
- package/dist/esm/af-paperclip-decoration.entry.js +1 -1
- package/dist/esm/af-progress-line.entry.js +2 -2
- package/dist/esm/af-section.entry.js +2 -2
- package/dist/esm/af-section.entry.js.map +1 -1
- package/dist/esm/af-show.entry.js +1 -1
- package/dist/esm/af-social-link.entry.js +1 -1
- package/dist/esm/af-spacer.entry.js +1 -1
- package/dist/esm/af-split-section.entry.js +2 -2
- package/dist/esm/af-split-section.entry.js.map +1 -1
- package/dist/esm/af-stack.entry.js +1 -1
- package/dist/esm/af-stack.entry.js.map +1 -1
- package/dist/esm/af-stat.entry.js +16 -0
- package/dist/esm/af-stat.entry.js.map +1 -0
- package/dist/esm/af-stats-row.entry.js +16 -0
- package/dist/esm/af-stats-row.entry.js.map +1 -0
- package/dist/esm/af-stepper-step.entry.js +1 -1
- package/dist/esm/af-stepper.entry.js +1 -1
- package/dist/esm/af-testimonial-carousel.entry.js +1 -1
- package/dist/esm/af-testimonial-stat.entry.js +1 -1
- package/dist/esm/af-testimonial.entry.js +2 -2
- package/dist/esm/af-text-image-nest.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js.map +1 -1
- package/dist/esm/af-typography-lockup.entry.js +1 -1
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/af-video-container.entry.js +1 -1
- package/dist/esm/af-visually-hidden.entry.js +1 -1
- package/dist/esm/affinda.js +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/af-card/af-card.d.ts +2 -1
- package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +1 -1
- package/dist/types/components/af-divider/af-divider.d.ts +2 -1
- package/dist/types/components/af-feature-card/af-feature-card.d.ts +2 -1
- package/dist/types/components/af-grid/af-grid.d.ts +1 -1
- package/dist/types/components/af-hero/af-hero.d.ts +93 -0
- package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -1
- package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +2 -3
- package/dist/types/components/af-inline/af-inline.d.ts +1 -1
- package/dist/types/components/af-navbar/af-navbar.d.ts +2 -1
- package/dist/types/components/af-numbered-stepper/af-numbered-stepper.d.ts +38 -0
- package/dist/types/components/af-numbered-stepper-item/af-numbered-stepper-item.d.ts +22 -0
- package/dist/types/components/af-section/af-section.d.ts +3 -2
- package/dist/types/components/af-split-section/af-split-section.d.ts +2 -3
- package/dist/types/components/af-stack/af-stack.d.ts +1 -1
- package/dist/types/components/af-stat/af-stat.d.ts +15 -0
- package/dist/types/components/af-stats-row/af-stats-row.d.ts +17 -0
- package/dist/types/components/af-theme-override/af-theme-override.d.ts +2 -1
- package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +2 -1
- package/dist/types/components.d.ts +569 -20
- package/dist/types/types.d.ts +57 -0
- package/package.json +2 -2
- package/dist/affinda/p-083fc528.entry.js +0 -2
- package/dist/affinda/p-0e469ad2.entry.js +0 -2
- package/dist/affinda/p-41643147.entry.js +0 -2
- package/dist/affinda/p-49521f2e.entry.js +0 -2
- package/dist/affinda/p-56fe6e6e.entry.js +0 -2
- package/dist/affinda/p-a6eda8af.entry.js +0 -2
- package/dist/affinda/p-ef5857cf.entry.js +0 -2
- package/dist/components/p-C6-JATRR.js.map +0 -1
- package/dist/components/p-CNzQtskW.js.map +0 -1
- /package/dist/affinda/{p-4cf65950.entry.js.map → p-068ac2fb.entry.js.map} +0 -0
- /package/dist/affinda/{p-4b154e23.entry.js.map → p-09dfcd40.entry.js.map} +0 -0
- /package/dist/affinda/{p-f10a31cb.entry.js.map → p-0acadf6f.entry.js.map} +0 -0
- /package/dist/affinda/{p-e1e98cd6.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
- /package/dist/affinda/{p-8c4e3047.entry.js.map → p-256970e3.entry.js.map} +0 -0
- /package/dist/affinda/{p-a6eda8af.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
- /package/dist/affinda/{p-3ee906de.entry.js.map → p-342b08e5.entry.js.map} +0 -0
- /package/dist/affinda/{p-a84ae4a5.entry.js.map → p-365a75e2.entry.js.map} +0 -0
- /package/dist/affinda/{p-41643147.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
- /package/dist/affinda/{p-edb1a010.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-94f51238.entry.js.map → p-41bbb218.entry.js.map} +0 -0
- /package/dist/affinda/{p-c8c4783c.entry.js.map → p-44d960ca.entry.js.map} +0 -0
- /package/dist/affinda/{p-e1cbe95a.entry.js.map → p-4a9b192b.entry.js.map} +0 -0
- /package/dist/affinda/{p-b2633acb.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
- /package/dist/affinda/{p-48aadea9.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
- /package/dist/affinda/{p-da2d84f7.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
- /package/dist/affinda/{p-ea42c40b.entry.js.map → p-631d141c.entry.js.map} +0 -0
- /package/dist/affinda/{p-6038a213.entry.js.map → p-6475796d.entry.js.map} +0 -0
- /package/dist/affinda/{p-083fc528.entry.js.map → p-6756aa66.entry.js.map} +0 -0
- /package/dist/affinda/{p-0e469ad2.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
- /package/dist/affinda/{p-0201c8bd.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
- /package/dist/affinda/{p-a71d528d.entry.js.map → p-7111051c.entry.js.map} +0 -0
- /package/dist/affinda/{p-0137e7a5.entry.js.map → p-827f3050.entry.js.map} +0 -0
- /package/dist/affinda/{p-78518e6c.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
- /package/dist/affinda/{p-2e6192eb.entry.js.map → p-9480f00d.entry.js.map} +0 -0
- /package/dist/affinda/{p-e055407b.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
- /package/dist/affinda/{p-81706709.entry.js.map → p-a02d6192.entry.js.map} +0 -0
- /package/dist/affinda/{p-ad41f905.entry.js.map → p-a25d3257.entry.js.map} +0 -0
- /package/dist/affinda/{p-50a67fb6.entry.js.map → p-a7a8f18c.entry.js.map} +0 -0
- /package/dist/affinda/{p-5f6a5741.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
- /package/dist/affinda/{p-5265e82e.entry.js.map → p-ae430873.entry.js.map} +0 -0
- /package/dist/affinda/{p-081cc890.entry.js.map → p-b39eea31.entry.js.map} +0 -0
- /package/dist/affinda/{p-4c4406bf.entry.js.map → p-b9ec0e75.entry.js.map} +0 -0
- /package/dist/affinda/{p-feb3d03f.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
- /package/dist/affinda/{p-6c58b283.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
- /package/dist/affinda/{p-3a0e45c3.entry.js.map → p-d7d82986.entry.js.map} +0 -0
- /package/dist/affinda/{p-a35029eb.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
- /package/dist/affinda/{p-6e40dbdf.entry.js.map → p-de75cb4f.entry.js.map} +0 -0
- /package/dist/affinda/{p-f9315f9e.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
- /package/dist/affinda/{p-dbe7ab88.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
- /package/dist/affinda/{p-b2b28366.entry.js.map → p-f19cb091.entry.js.map} +0 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
position: relative;
|
|
4
|
+
width: 100%;
|
|
5
|
+
/* Image-lift custom property — consumers override per-page via inline
|
|
6
|
+
style or a page-level rule. The negative value pulls the photo's
|
|
7
|
+
crown above the hero top so it reads behind the floating navbar
|
|
8
|
+
pill. Matches the live Webflow stack (~-260px on .page-banner). */
|
|
9
|
+
--af-hero-image-lift: -260px;
|
|
10
|
+
/* Blob mask container size override — rarely needed; defaults to the
|
|
11
|
+
photo column's natural dimensions. */
|
|
12
|
+
--af-hero-image-min-height: 360px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.hero__section {
|
|
16
|
+
position: relative;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* -----------------------------------------------------------------
|
|
21
|
+
Paperclip watermark slot (inkwell-centered only)
|
|
22
|
+
----------------------------------------------------------------- */
|
|
23
|
+
.hero__paperclip {
|
|
24
|
+
position: absolute;
|
|
25
|
+
top: 50%;
|
|
26
|
+
right: 0;
|
|
27
|
+
transform: translateY(-50%);
|
|
28
|
+
pointer-events: none;
|
|
29
|
+
z-index: 0;
|
|
30
|
+
/* Default size — consumers can resize the slotted decoration via its
|
|
31
|
+
own width/height props. */
|
|
32
|
+
width: 655px;
|
|
33
|
+
height: 754px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@media (max-width: 991px) {
|
|
37
|
+
.hero__paperclip {
|
|
38
|
+
width: 480px;
|
|
39
|
+
height: 552px;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@media (max-width: 767px) {
|
|
44
|
+
.hero__paperclip {
|
|
45
|
+
display: none;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* -----------------------------------------------------------------
|
|
50
|
+
Inner wrapper — top/bottom padding
|
|
51
|
+
----------------------------------------------------------------- */
|
|
52
|
+
.hero__inner {
|
|
53
|
+
position: relative;
|
|
54
|
+
z-index: 1;
|
|
55
|
+
padding-bottom: 40px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host(.hero--pad-default) .hero__inner {
|
|
59
|
+
padding-top: 124px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
:host(.hero--pad-loose) .hero__inner {
|
|
63
|
+
padding-top: 164px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Centered variant uses slightly tighter top padding to match the live
|
|
67
|
+
/platform hero (80px), since the lockup is typically tall. */
|
|
68
|
+
:host(.hero--inkwell-centered.hero--pad-default) .hero__inner {
|
|
69
|
+
padding-top: 80px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* -----------------------------------------------------------------
|
|
73
|
+
Grid layout (photo + illustration variants)
|
|
74
|
+
----------------------------------------------------------------- */
|
|
75
|
+
.hero__grid {
|
|
76
|
+
display: grid;
|
|
77
|
+
grid-template-columns: 5fr 7fr;
|
|
78
|
+
gap: 40px;
|
|
79
|
+
align-items: center;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Illustration variants use a looser two-column split so the art
|
|
83
|
+
doesn't dominate. */
|
|
84
|
+
:host(.hero--soft-clay-illustration) .hero__grid,
|
|
85
|
+
:host(.hero--mist-green-illustration) .hero__grid {
|
|
86
|
+
grid-template-columns: 1fr auto;
|
|
87
|
+
gap: 48px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.hero__copy {
|
|
91
|
+
/* Small inset pushes heading inward from the hard container edge —
|
|
92
|
+
matches the live .page-banner-text treatment. Only applied to
|
|
93
|
+
left-aligned variants. */
|
|
94
|
+
padding-left: 16px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:host(.hero--inkwell-photo.hero--pad-loose) .hero__copy {
|
|
98
|
+
/* Mirrors ListingHero's `padding-bottom: 120px` — combined with
|
|
99
|
+
`align-items: center` on the grid, this shifts the heading visually
|
|
100
|
+
upward so the subtitle lines up near the image's vertical centre. */
|
|
101
|
+
padding-bottom: 120px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host(.hero--inkwell-centered) .hero__copy {
|
|
105
|
+
padding-left: 0;
|
|
106
|
+
text-align: center;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.hero__badge:not(:has(*)) {
|
|
110
|
+
display: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.hero__badge:has(*) {
|
|
114
|
+
margin-bottom: 16px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.hero__copy ::slotted([slot='badge']) {
|
|
118
|
+
display: inline-block;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.hero__buttons {
|
|
122
|
+
margin-top: 32px;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.hero__buttons:empty {
|
|
126
|
+
display: none;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:host(.hero--inkwell-centered) .hero__buttons {
|
|
130
|
+
display: flex;
|
|
131
|
+
justify-content: center;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* -----------------------------------------------------------------
|
|
135
|
+
Photo (inkwell-photo)
|
|
136
|
+
Blob-mask shape defined once as a CSS custom property so Stencil
|
|
137
|
+
doesn't duplicate the giant base64 URL for prefixed/unprefixed pairs.
|
|
138
|
+
----------------------------------------------------------------- */
|
|
139
|
+
:host {
|
|
140
|
+
--af-hero-blob-mask: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=');
|
|
141
|
+
--af-hero-blob-mask-mobile: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 768"><path fill="%23000" d="M1024 0H384A384 384 0 0 0 384 768H1024V0Z"/></svg>');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.hero__image {
|
|
145
|
+
min-height: var(--af-hero-image-min-height);
|
|
146
|
+
overflow: visible;
|
|
147
|
+
margin-top: var(--af-hero-image-lift);
|
|
148
|
+
position: relative;
|
|
149
|
+
z-index: 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.hero__image--masked ::slotted(img),
|
|
153
|
+
.hero__image--masked ::slotted(picture img),
|
|
154
|
+
.hero__image--masked ::slotted(.af-hero-image) {
|
|
155
|
+
display: block;
|
|
156
|
+
width: 100%;
|
|
157
|
+
height: auto;
|
|
158
|
+
-webkit-mask-image: var(--af-hero-blob-mask);
|
|
159
|
+
mask-image: var(--af-hero-blob-mask);
|
|
160
|
+
-webkit-mask-size: 100% 100%;
|
|
161
|
+
mask-size: 100% 100%;
|
|
162
|
+
-webkit-mask-repeat: no-repeat;
|
|
163
|
+
mask-repeat: no-repeat;
|
|
164
|
+
-webkit-mask-position: center;
|
|
165
|
+
mask-position: center;
|
|
166
|
+
mask-mode: alpha;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* Fallback: some consumers slot a raw <img> wrapped in a container.
|
|
170
|
+
Descendant selector per repo convention. */
|
|
171
|
+
.hero__image--masked img {
|
|
172
|
+
-webkit-mask-image: var(--af-hero-blob-mask);
|
|
173
|
+
mask-image: var(--af-hero-blob-mask);
|
|
174
|
+
-webkit-mask-size: 100% 100%;
|
|
175
|
+
mask-size: 100% 100%;
|
|
176
|
+
-webkit-mask-repeat: no-repeat;
|
|
177
|
+
mask-repeat: no-repeat;
|
|
178
|
+
-webkit-mask-position: center;
|
|
179
|
+
mask-position: center;
|
|
180
|
+
mask-mode: alpha;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* -----------------------------------------------------------------
|
|
184
|
+
Illustration (inkwell/soft-clay/mist-green -illustration)
|
|
185
|
+
----------------------------------------------------------------- */
|
|
186
|
+
.hero__illustration {
|
|
187
|
+
flex: 0 0 auto;
|
|
188
|
+
width: 100%;
|
|
189
|
+
max-width: 432px;
|
|
190
|
+
line-height: 0;
|
|
191
|
+
justify-self: end;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.hero__illustration ::slotted(svg),
|
|
195
|
+
.hero__illustration ::slotted(img) {
|
|
196
|
+
width: 100%;
|
|
197
|
+
height: auto;
|
|
198
|
+
display: block;
|
|
199
|
+
border-radius: 16px;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:host(.hero--inkwell-illustration) .hero__illustration {
|
|
203
|
+
max-width: none;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* -----------------------------------------------------------------
|
|
207
|
+
Logos-below overlap
|
|
208
|
+
Painted in the theme's background token so the strip cleanly overlaps
|
|
209
|
+
the bottom of the photo on the -photo variant. Empty = collapsed.
|
|
210
|
+
----------------------------------------------------------------- */
|
|
211
|
+
.hero__logos {
|
|
212
|
+
position: relative;
|
|
213
|
+
z-index: 2;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.hero__logos:not(:has(*)) {
|
|
217
|
+
display: none;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Photo variant pulls the logos row up so it covers the image's bottom
|
|
221
|
+
edge — matches the ListingHero `.listing-hero__footer` treatment. */
|
|
222
|
+
:host(.hero--inkwell-photo) .hero__logos:has(*) {
|
|
223
|
+
margin-top: -240px;
|
|
224
|
+
padding-top: 48px;
|
|
225
|
+
padding-bottom: 48px;
|
|
226
|
+
background: var(--af-background-base, var(--colour-brand-inkwell, #14343b));
|
|
227
|
+
border-top: 1px solid
|
|
228
|
+
var(--af-background-border-subtle, var(--colour-inkwell-450, #203e45));
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/* -----------------------------------------------------------------
|
|
232
|
+
Mobile / tablet
|
|
233
|
+
----------------------------------------------------------------- */
|
|
234
|
+
@media (max-width: 991px) {
|
|
235
|
+
:host(.hero--pad-default) .hero__inner,
|
|
236
|
+
:host(.hero--pad-loose) .hero__inner {
|
|
237
|
+
padding-top: 112px;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.hero__grid {
|
|
241
|
+
grid-template-columns: 1fr;
|
|
242
|
+
gap: 32px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
:host(.hero--soft-clay-illustration) .hero__grid,
|
|
246
|
+
:host(.hero--mist-green-illustration) .hero__grid {
|
|
247
|
+
grid-template-columns: 1fr;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.hero__copy {
|
|
251
|
+
padding-left: 0;
|
|
252
|
+
padding-bottom: 0;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.hero__illustration {
|
|
256
|
+
max-width: 360px;
|
|
257
|
+
margin-inline: auto;
|
|
258
|
+
justify-self: center;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/* Photo on mobile: swap the desktop blob mask for the softer D-curve
|
|
262
|
+
mobile variant, and drop the lift so the image doesn't crash into
|
|
263
|
+
the navbar. */
|
|
264
|
+
.hero__image {
|
|
265
|
+
margin-top: 0;
|
|
266
|
+
min-height: auto;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
:host(.hero--inkwell-photo) .hero__image--masked ::slotted(img),
|
|
270
|
+
:host(.hero--inkwell-photo) .hero__image--masked img {
|
|
271
|
+
-webkit-mask-image: var(--af-hero-blob-mask-mobile);
|
|
272
|
+
mask-image: var(--af-hero-blob-mask-mobile);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
:host(.hero--inkwell-photo) .hero__logos:has(*) {
|
|
276
|
+
margin-top: 24px;
|
|
277
|
+
padding-top: 32px;
|
|
278
|
+
padding-bottom: 32px;
|
|
279
|
+
background: transparent;
|
|
280
|
+
border-top: none;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Blob-shape mask used to clip hero photos on the inkwell-photo variant.
|
|
4
|
+
* Extracted from the 7+ hand-rolled copies in the website so the path is
|
|
5
|
+
* defined exactly once. Intrinsic viewBox: 741 × 940.
|
|
6
|
+
*/
|
|
7
|
+
const BLOB_MASK_URL = "url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=')";
|
|
8
|
+
/**
|
|
9
|
+
* Mobile blob shape — simpler D-curve matching the live mobile banner.
|
|
10
|
+
*/
|
|
11
|
+
const BLOB_MASK_URL_MOBILE = "url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 768\"><path fill=\"%23000\" d=\"M1024 0H384A384 384 0 0 0 384 768H1024V0Z\"/></svg>')";
|
|
12
|
+
/**
|
|
13
|
+
* Map each variant to its underlying section theme token. Keeps one source
|
|
14
|
+
* of truth instead of having consumers spell the theme twice.
|
|
15
|
+
*/
|
|
16
|
+
const VARIANT_THEMES = {
|
|
17
|
+
'inkwell-photo': 'inkwell',
|
|
18
|
+
'inkwell-illustration': 'inkwell',
|
|
19
|
+
'inkwell-centered': 'inkwell',
|
|
20
|
+
'soft-clay-illustration': 'soft-clay',
|
|
21
|
+
'mist-green-illustration': 'mist-green',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Unified top-of-page hero — replaces the 7+ hand-rolled hero implementations
|
|
25
|
+
* the Affinda marketing site (and sibling apps) currently ship. Covers five
|
|
26
|
+
* canonical patterns via the `variant` prop:
|
|
27
|
+
*
|
|
28
|
+
* - `inkwell-photo` — inkwell background, blob-masked photo on the right.
|
|
29
|
+
* Use for: listing / archive pages (blog, case-studies, whitepapers,
|
|
30
|
+
* value-creation, about-us) and industry landing pages that carry a
|
|
31
|
+
* photograph instead of an illustration.
|
|
32
|
+
* - `inkwell-illustration` — inkwell background, illustration on the right.
|
|
33
|
+
* Use for: industry landing pages, /industries, /integrations, /platform
|
|
34
|
+
* with bespoke art.
|
|
35
|
+
* - `inkwell-centered` — inkwell background, centred typography lockup.
|
|
36
|
+
* Slot `<af-paperclip-decoration />` into the `paperclip` slot for the
|
|
37
|
+
* watermark treatment. Use for: `/`, `/au`, `/platform`.
|
|
38
|
+
* - `soft-clay-illustration` — soft-clay background, illustration on the
|
|
39
|
+
* right. Use for: /news, /industries overview, /security, /compare.
|
|
40
|
+
* - `mist-green-illustration` — same layout as soft-clay-illustration but on
|
|
41
|
+
* the mist-green theme. Reserved for future pages.
|
|
42
|
+
*
|
|
43
|
+
* ## Slots
|
|
44
|
+
*
|
|
45
|
+
* - default — heading content (use when richer markup than the `heading`
|
|
46
|
+
* prop can express is needed; e.g. coloured spans or line breaks).
|
|
47
|
+
* - `description` — supporting copy under the heading.
|
|
48
|
+
* - `badge` — optional pre-heading label (pill, version tag).
|
|
49
|
+
* - `buttons` — hero CTAs (usually an `<af-button-group>`).
|
|
50
|
+
* - `image` — the photograph for the `inkwell-photo` variant. Wrapped in
|
|
51
|
+
* the blob mask automatically.
|
|
52
|
+
* - `illustration` — the illustration SVG for `-illustration` variants.
|
|
53
|
+
* - `paperclip` — watermark for `inkwell-centered`. Consumers typically
|
|
54
|
+
* slot `<af-paperclip-decoration />` here.
|
|
55
|
+
* - `logos-below` — overlap row at the bottom gutter (logo carousel etc.).
|
|
56
|
+
* Painted with the theme's background so it cleanly overlaps the image's
|
|
57
|
+
* lower edge on the photo variant.
|
|
58
|
+
*
|
|
59
|
+
* ## Float-navbar handling
|
|
60
|
+
*
|
|
61
|
+
* When `floatNavbar` is true (the default for the inkwell variants) the
|
|
62
|
+
* component sets `data-af-hero-float-navbar="true"` on `<body>` via a
|
|
63
|
+
* lifecycle hook, and a companion rule in `@affinda/css/base.css` applies
|
|
64
|
+
* the `body > header { position: absolute }` / `main { padding-top: 0 }`
|
|
65
|
+
* / navbar-spacer-transparent treatment. Consumers already import
|
|
66
|
+
* `@affinda/css` so no extra import is required. The rule deactivates
|
|
67
|
+
* when the hero is removed from the DOM.
|
|
68
|
+
*
|
|
69
|
+
* ## Image lift
|
|
70
|
+
*
|
|
71
|
+
* The `inkwell-photo` variant renders the photo column with
|
|
72
|
+
* `margin-top: var(--af-hero-image-lift, -260px)`. Override per-page by
|
|
73
|
+
* setting `--af-hero-image-lift` on the `<af-hero>` element.
|
|
74
|
+
*/
|
|
75
|
+
export class AfHero {
|
|
76
|
+
constructor() {
|
|
77
|
+
/** Layout / theme preset. See variant docs in the component header. */
|
|
78
|
+
this.variant = 'inkwell-photo';
|
|
79
|
+
/** Heading text (use the default slot for richer markup). */
|
|
80
|
+
this.heading = '';
|
|
81
|
+
/** Description text (use the `description` slot for richer markup). */
|
|
82
|
+
this.description = '';
|
|
83
|
+
/**
|
|
84
|
+
* Top padding preset. `default` = 124px (matches IndustryHero /
|
|
85
|
+
* IllustrationHero). `loose` = 164px (matches ListingHero — gives the
|
|
86
|
+
* image a touch more breathing room above the lockup on archive pages).
|
|
87
|
+
*/
|
|
88
|
+
this.topPad = 'default';
|
|
89
|
+
/** Typography lockup max-width (px). Defaults to 620, matching the live site. */
|
|
90
|
+
this.maxWidth = 620;
|
|
91
|
+
/**
|
|
92
|
+
* Whether to apply the blob mask to the slotted `image`. Defaults to
|
|
93
|
+
* `true` for `inkwell-photo`. Set `false` if you want to slot in a
|
|
94
|
+
* pre-masked raster or a custom wrapper.
|
|
95
|
+
*/
|
|
96
|
+
this.maskImage = true;
|
|
97
|
+
}
|
|
98
|
+
get resolvedFloatNavbar() {
|
|
99
|
+
if (typeof this.floatNavbar === 'boolean')
|
|
100
|
+
return this.floatNavbar;
|
|
101
|
+
return (this.variant === 'inkwell-photo' ||
|
|
102
|
+
this.variant === 'inkwell-illustration' ||
|
|
103
|
+
this.variant === 'inkwell-centered');
|
|
104
|
+
}
|
|
105
|
+
get theme() {
|
|
106
|
+
return VARIANT_THEMES[this.variant];
|
|
107
|
+
}
|
|
108
|
+
connectedCallback() {
|
|
109
|
+
if (this.resolvedFloatNavbar && typeof document !== 'undefined') {
|
|
110
|
+
document.body.setAttribute('data-af-hero-float-navbar', 'true');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
disconnectedCallback() {
|
|
114
|
+
if (typeof document !== 'undefined' && !document.querySelector('af-hero')) {
|
|
115
|
+
document.body.removeAttribute('data-af-hero-float-navbar');
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
renderCopy() {
|
|
119
|
+
const alignment = this.variant === 'inkwell-centered' ? 'center' : 'left';
|
|
120
|
+
return (h("div", { class: "hero__copy" }, h("div", { class: "hero__badge" }, h("slot", { name: "badge" })), h("af-typography-lockup", { "heading-size": "1", "text-alignment": alignment, "max-width": String(this.maxWidth) }, this.heading ? h("h1", null, this.heading) : h("slot", null), this.description ? (h("span", { slot: "description" }, this.description)) : (h("slot", { name: "description", slot: "description" }))), h("div", { class: "hero__buttons" }, h("slot", { name: "buttons" }))));
|
|
121
|
+
}
|
|
122
|
+
renderPhoto() {
|
|
123
|
+
return (h("div", { class: {
|
|
124
|
+
hero__image: true,
|
|
125
|
+
'hero__image--masked': this.maskImage,
|
|
126
|
+
} }, h("slot", { name: "image" })));
|
|
127
|
+
}
|
|
128
|
+
renderIllustration() {
|
|
129
|
+
return (h("div", { class: "hero__illustration" }, h("slot", { name: "illustration" })));
|
|
130
|
+
}
|
|
131
|
+
render() {
|
|
132
|
+
const v = this.variant;
|
|
133
|
+
const centered = v === 'inkwell-centered';
|
|
134
|
+
const hasImage = v === 'inkwell-photo';
|
|
135
|
+
const hasIllustration = v === 'inkwell-illustration' ||
|
|
136
|
+
v === 'soft-clay-illustration' ||
|
|
137
|
+
v === 'mist-green-illustration';
|
|
138
|
+
return (h(Host, { key: '6e8e522c6593a79fbb93eaf421c6b3f41a2072f5', class: {
|
|
139
|
+
[`hero--${v}`]: true,
|
|
140
|
+
[`hero--pad-${this.topPad}`]: true,
|
|
141
|
+
[`hero--theme-${this.theme}`]: true,
|
|
142
|
+
'hero--float-navbar': this.resolvedFloatNavbar,
|
|
143
|
+
} }, h("af-section", { key: 'dc6181658d53a8c7166d3f090df9666d35310338', theme: this.theme, padding: "none", container: false, class: "hero__section" }, centered && (h("div", { key: 'b8357ea1cc08dafa3a3f5e4cd8c545bef1e3df1c', class: "hero__paperclip", "aria-hidden": "true" }, h("slot", { key: 'da4b0dcb83e6e8c09b9962ba7d0c09e02f6721c5', name: "paperclip" }))), h("af-container", { key: '0dbffc963a56e53ed7206b59cccfd74f5bd792ee', class: "hero__inner" }, centered ? (this.renderCopy()) : (h("div", { class: "hero__grid" }, this.renderCopy(), hasImage && this.renderPhoto(), hasIllustration && this.renderIllustration()))), h("div", { key: 'd4316dbc5ba954ce2a52d73dfb73575b77f394db', class: "hero__logos" }, h("slot", { key: 'd9ff55a2c238d5db322aef90cb28006d91f7dffc', name: "logos-below" })))));
|
|
144
|
+
}
|
|
145
|
+
static get is() { return "af-hero"; }
|
|
146
|
+
static get encapsulation() { return "scoped"; }
|
|
147
|
+
static get originalStyleUrls() {
|
|
148
|
+
return {
|
|
149
|
+
"$": ["af-hero.css"]
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
static get styleUrls() {
|
|
153
|
+
return {
|
|
154
|
+
"$": ["af-hero.css"]
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
static get properties() {
|
|
158
|
+
return {
|
|
159
|
+
"variant": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"mutable": false,
|
|
162
|
+
"complexType": {
|
|
163
|
+
"original": "HeroVariant",
|
|
164
|
+
"resolved": "\"inkwell-centered\" | \"inkwell-illustration\" | \"inkwell-photo\" | \"mist-green-illustration\" | \"soft-clay-illustration\"",
|
|
165
|
+
"references": {
|
|
166
|
+
"HeroVariant": {
|
|
167
|
+
"location": "local",
|
|
168
|
+
"path": "/home/runner/work/affinda-ui/affinda-ui/packages/wc/src/components/af-hero/af-hero.tsx",
|
|
169
|
+
"id": "src/components/af-hero/af-hero.tsx::HeroVariant"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"required": false,
|
|
174
|
+
"optional": false,
|
|
175
|
+
"docs": {
|
|
176
|
+
"tags": [],
|
|
177
|
+
"text": "Layout / theme preset. See variant docs in the component header."
|
|
178
|
+
},
|
|
179
|
+
"getter": false,
|
|
180
|
+
"setter": false,
|
|
181
|
+
"reflect": true,
|
|
182
|
+
"attribute": "variant",
|
|
183
|
+
"defaultValue": "'inkwell-photo'"
|
|
184
|
+
},
|
|
185
|
+
"heading": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"mutable": false,
|
|
188
|
+
"complexType": {
|
|
189
|
+
"original": "string",
|
|
190
|
+
"resolved": "string",
|
|
191
|
+
"references": {}
|
|
192
|
+
},
|
|
193
|
+
"required": false,
|
|
194
|
+
"optional": false,
|
|
195
|
+
"docs": {
|
|
196
|
+
"tags": [],
|
|
197
|
+
"text": "Heading text (use the default slot for richer markup)."
|
|
198
|
+
},
|
|
199
|
+
"getter": false,
|
|
200
|
+
"setter": false,
|
|
201
|
+
"reflect": false,
|
|
202
|
+
"attribute": "heading",
|
|
203
|
+
"defaultValue": "''"
|
|
204
|
+
},
|
|
205
|
+
"description": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"mutable": false,
|
|
208
|
+
"complexType": {
|
|
209
|
+
"original": "string",
|
|
210
|
+
"resolved": "string",
|
|
211
|
+
"references": {}
|
|
212
|
+
},
|
|
213
|
+
"required": false,
|
|
214
|
+
"optional": false,
|
|
215
|
+
"docs": {
|
|
216
|
+
"tags": [],
|
|
217
|
+
"text": "Description text (use the `description` slot for richer markup)."
|
|
218
|
+
},
|
|
219
|
+
"getter": false,
|
|
220
|
+
"setter": false,
|
|
221
|
+
"reflect": false,
|
|
222
|
+
"attribute": "description",
|
|
223
|
+
"defaultValue": "''"
|
|
224
|
+
},
|
|
225
|
+
"floatNavbar": {
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"mutable": false,
|
|
228
|
+
"complexType": {
|
|
229
|
+
"original": "boolean",
|
|
230
|
+
"resolved": "boolean | undefined",
|
|
231
|
+
"references": {}
|
|
232
|
+
},
|
|
233
|
+
"required": false,
|
|
234
|
+
"optional": true,
|
|
235
|
+
"docs": {
|
|
236
|
+
"tags": [],
|
|
237
|
+
"text": "Float the site header over the hero and paint the navbar-spacer\ntransparent so the hero background flows to the top of the viewport.\nDefaults to true for the three inkwell variants, false for the\nsoft-clay / mist-green illustration variants (whose consumers don't\nalways want a full-bleed crown)."
|
|
238
|
+
},
|
|
239
|
+
"getter": false,
|
|
240
|
+
"setter": false,
|
|
241
|
+
"reflect": true,
|
|
242
|
+
"attribute": "float-navbar"
|
|
243
|
+
},
|
|
244
|
+
"topPad": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"mutable": false,
|
|
247
|
+
"complexType": {
|
|
248
|
+
"original": "HeroTopPad",
|
|
249
|
+
"resolved": "\"default\" | \"loose\"",
|
|
250
|
+
"references": {
|
|
251
|
+
"HeroTopPad": {
|
|
252
|
+
"location": "local",
|
|
253
|
+
"path": "/home/runner/work/affinda-ui/affinda-ui/packages/wc/src/components/af-hero/af-hero.tsx",
|
|
254
|
+
"id": "src/components/af-hero/af-hero.tsx::HeroTopPad"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"required": false,
|
|
259
|
+
"optional": false,
|
|
260
|
+
"docs": {
|
|
261
|
+
"tags": [],
|
|
262
|
+
"text": "Top padding preset. `default` = 124px (matches IndustryHero /\nIllustrationHero). `loose` = 164px (matches ListingHero \u2014 gives the\nimage a touch more breathing room above the lockup on archive pages)."
|
|
263
|
+
},
|
|
264
|
+
"getter": false,
|
|
265
|
+
"setter": false,
|
|
266
|
+
"reflect": false,
|
|
267
|
+
"attribute": "top-pad",
|
|
268
|
+
"defaultValue": "'default'"
|
|
269
|
+
},
|
|
270
|
+
"maxWidth": {
|
|
271
|
+
"type": "number",
|
|
272
|
+
"mutable": false,
|
|
273
|
+
"complexType": {
|
|
274
|
+
"original": "number",
|
|
275
|
+
"resolved": "number",
|
|
276
|
+
"references": {}
|
|
277
|
+
},
|
|
278
|
+
"required": false,
|
|
279
|
+
"optional": false,
|
|
280
|
+
"docs": {
|
|
281
|
+
"tags": [],
|
|
282
|
+
"text": "Typography lockup max-width (px). Defaults to 620, matching the live site."
|
|
283
|
+
},
|
|
284
|
+
"getter": false,
|
|
285
|
+
"setter": false,
|
|
286
|
+
"reflect": false,
|
|
287
|
+
"attribute": "max-width",
|
|
288
|
+
"defaultValue": "620"
|
|
289
|
+
},
|
|
290
|
+
"maskImage": {
|
|
291
|
+
"type": "boolean",
|
|
292
|
+
"mutable": false,
|
|
293
|
+
"complexType": {
|
|
294
|
+
"original": "boolean",
|
|
295
|
+
"resolved": "boolean",
|
|
296
|
+
"references": {}
|
|
297
|
+
},
|
|
298
|
+
"required": false,
|
|
299
|
+
"optional": false,
|
|
300
|
+
"docs": {
|
|
301
|
+
"tags": [],
|
|
302
|
+
"text": "Whether to apply the blob mask to the slotted `image`. Defaults to\n`true` for `inkwell-photo`. Set `false` if you want to slot in a\npre-masked raster or a custom wrapper."
|
|
303
|
+
},
|
|
304
|
+
"getter": false,
|
|
305
|
+
"setter": false,
|
|
306
|
+
"reflect": false,
|
|
307
|
+
"attribute": "mask-image",
|
|
308
|
+
"defaultValue": "true"
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
static get elementRef() { return "el"; }
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=af-hero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-hero.js","sourceRoot":"","sources":["../../../src/components/af-hero/af-hero.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Prop, Element } from '@stencil/core';\n\nexport type HeroVariant =\n | 'inkwell-photo'\n | 'inkwell-illustration'\n | 'inkwell-centered'\n | 'soft-clay-illustration'\n | 'mist-green-illustration';\n\nexport type HeroTopPad = 'default' | 'loose';\n\n/**\n * Blob-shape mask used to clip hero photos on the inkwell-photo variant.\n * Extracted from the 7+ hand-rolled copies in the website so the path is\n * defined exactly once. Intrinsic viewBox: 741 × 940.\n */\nconst BLOB_MASK_URL =\n \"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=')\";\n\n/**\n * Mobile blob shape — simpler D-curve matching the live mobile banner.\n */\nconst BLOB_MASK_URL_MOBILE =\n \"url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 1024 768\\\"><path fill=\\\"%23000\\\" d=\\\"M1024 0H384A384 384 0 0 0 384 768H1024V0Z\\\"/></svg>')\";\n\n/**\n * Map each variant to its underlying section theme token. Keeps one source\n * of truth instead of having consumers spell the theme twice.\n */\nconst VARIANT_THEMES: Record<HeroVariant, 'inkwell' | 'soft-clay' | 'mist-green'> = {\n 'inkwell-photo': 'inkwell',\n 'inkwell-illustration': 'inkwell',\n 'inkwell-centered': 'inkwell',\n 'soft-clay-illustration': 'soft-clay',\n 'mist-green-illustration': 'mist-green',\n};\n\n/**\n * Unified top-of-page hero — replaces the 7+ hand-rolled hero implementations\n * the Affinda marketing site (and sibling apps) currently ship. Covers five\n * canonical patterns via the `variant` prop:\n *\n * - `inkwell-photo` — inkwell background, blob-masked photo on the right.\n * Use for: listing / archive pages (blog, case-studies, whitepapers,\n * value-creation, about-us) and industry landing pages that carry a\n * photograph instead of an illustration.\n * - `inkwell-illustration` — inkwell background, illustration on the right.\n * Use for: industry landing pages, /industries, /integrations, /platform\n * with bespoke art.\n * - `inkwell-centered` — inkwell background, centred typography lockup.\n * Slot `<af-paperclip-decoration />` into the `paperclip` slot for the\n * watermark treatment. Use for: `/`, `/au`, `/platform`.\n * - `soft-clay-illustration` — soft-clay background, illustration on the\n * right. Use for: /news, /industries overview, /security, /compare.\n * - `mist-green-illustration` — same layout as soft-clay-illustration but on\n * the mist-green theme. Reserved for future pages.\n *\n * ## Slots\n *\n * - default — heading content (use when richer markup than the `heading`\n * prop can express is needed; e.g. coloured spans or line breaks).\n * - `description` — supporting copy under the heading.\n * - `badge` — optional pre-heading label (pill, version tag).\n * - `buttons` — hero CTAs (usually an `<af-button-group>`).\n * - `image` — the photograph for the `inkwell-photo` variant. Wrapped in\n * the blob mask automatically.\n * - `illustration` — the illustration SVG for `-illustration` variants.\n * - `paperclip` — watermark for `inkwell-centered`. Consumers typically\n * slot `<af-paperclip-decoration />` here.\n * - `logos-below` — overlap row at the bottom gutter (logo carousel etc.).\n * Painted with the theme's background so it cleanly overlaps the image's\n * lower edge on the photo variant.\n *\n * ## Float-navbar handling\n *\n * When `floatNavbar` is true (the default for the inkwell variants) the\n * component sets `data-af-hero-float-navbar=\"true\"` on `<body>` via a\n * lifecycle hook, and a companion rule in `@affinda/css/base.css` applies\n * the `body > header { position: absolute }` / `main { padding-top: 0 }`\n * / navbar-spacer-transparent treatment. Consumers already import\n * `@affinda/css` so no extra import is required. The rule deactivates\n * when the hero is removed from the DOM.\n *\n * ## Image lift\n *\n * The `inkwell-photo` variant renders the photo column with\n * `margin-top: var(--af-hero-image-lift, -260px)`. Override per-page by\n * setting `--af-hero-image-lift` on the `<af-hero>` element.\n */\n@Component({\n tag: 'af-hero',\n styleUrl: 'af-hero.css',\n shadow: false,\n scoped: true,\n})\nexport class AfHero {\n @Element() el!: HTMLElement;\n\n /** Layout / theme preset. See variant docs in the component header. */\n @Prop({ reflect: true }) variant: HeroVariant = 'inkwell-photo';\n\n /** Heading text (use the default slot for richer markup). */\n @Prop() heading: string = '';\n\n /** Description text (use the `description` slot for richer markup). */\n @Prop() description: string = '';\n\n /**\n * Float the site header over the hero and paint the navbar-spacer\n * transparent so the hero background flows to the top of the viewport.\n * Defaults to true for the three inkwell variants, false for the\n * soft-clay / mist-green illustration variants (whose consumers don't\n * always want a full-bleed crown).\n */\n @Prop({ reflect: true }) floatNavbar?: boolean;\n\n /**\n * Top padding preset. `default` = 124px (matches IndustryHero /\n * IllustrationHero). `loose` = 164px (matches ListingHero — gives the\n * image a touch more breathing room above the lockup on archive pages).\n */\n @Prop() topPad: HeroTopPad = 'default';\n\n /** Typography lockup max-width (px). Defaults to 620, matching the live site. */\n @Prop() maxWidth: number = 620;\n\n /**\n * Whether to apply the blob mask to the slotted `image`. Defaults to\n * `true` for `inkwell-photo`. Set `false` if you want to slot in a\n * pre-masked raster or a custom wrapper.\n */\n @Prop() maskImage: boolean = true;\n\n private get resolvedFloatNavbar(): boolean {\n if (typeof this.floatNavbar === 'boolean') return this.floatNavbar;\n return (\n this.variant === 'inkwell-photo' ||\n this.variant === 'inkwell-illustration' ||\n this.variant === 'inkwell-centered'\n );\n }\n\n private get theme() {\n return VARIANT_THEMES[this.variant];\n }\n\n connectedCallback() {\n if (this.resolvedFloatNavbar && typeof document !== 'undefined') {\n document.body.setAttribute('data-af-hero-float-navbar', 'true');\n }\n }\n\n disconnectedCallback() {\n if (typeof document !== 'undefined' && !document.querySelector('af-hero')) {\n document.body.removeAttribute('data-af-hero-float-navbar');\n }\n }\n\n private renderCopy() {\n const alignment = this.variant === 'inkwell-centered' ? 'center' : 'left';\n return (\n <div class=\"hero__copy\">\n <div class=\"hero__badge\">\n <slot name=\"badge\"></slot>\n </div>\n <af-typography-lockup\n heading-size=\"1\"\n text-alignment={alignment}\n max-width={String(this.maxWidth)}\n >\n {this.heading ? <h1>{this.heading}</h1> : <slot></slot>}\n {this.description ? (\n <span slot=\"description\">{this.description}</span>\n ) : (\n <slot name=\"description\" slot=\"description\"></slot>\n )}\n </af-typography-lockup>\n <div class=\"hero__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n );\n }\n\n private renderPhoto() {\n return (\n <div\n class={{\n hero__image: true,\n 'hero__image--masked': this.maskImage,\n }}\n >\n <slot name=\"image\"></slot>\n </div>\n );\n }\n\n private renderIllustration() {\n return (\n <div class=\"hero__illustration\">\n <slot name=\"illustration\"></slot>\n </div>\n );\n }\n\n render() {\n const v = this.variant;\n const centered = v === 'inkwell-centered';\n const hasImage = v === 'inkwell-photo';\n const hasIllustration =\n v === 'inkwell-illustration' ||\n v === 'soft-clay-illustration' ||\n v === 'mist-green-illustration';\n\n return (\n <Host\n class={{\n [`hero--${v}`]: true,\n [`hero--pad-${this.topPad}`]: true,\n [`hero--theme-${this.theme}`]: true,\n 'hero--float-navbar': this.resolvedFloatNavbar,\n }}\n >\n <af-section\n theme={this.theme}\n padding=\"none\"\n container={false}\n class=\"hero__section\"\n >\n {centered && (\n <div class=\"hero__paperclip\" aria-hidden=\"true\">\n <slot name=\"paperclip\"></slot>\n </div>\n )}\n <af-container class=\"hero__inner\">\n {centered ? (\n this.renderCopy()\n ) : (\n <div class=\"hero__grid\">\n {this.renderCopy()}\n {hasImage && this.renderPhoto()}\n {hasIllustration && this.renderIllustration()}\n </div>\n )}\n </af-container>\n <div class=\"hero__logos\">\n <slot name=\"logos-below\"></slot>\n </div>\n </af-section>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -27,7 +27,7 @@ export class AfIconBox {
|
|
|
27
27
|
[`icon-box--size-${this.size}`]: true,
|
|
28
28
|
};
|
|
29
29
|
const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '59cf379ff62d3a5ed7fd7398f240976a023d1f8a' }, h("div", { key: '9fc4e502df8da3cf2112702cd2216a8c7a03a21f', class: containerClasses }, h("af-icon", { key: '8bc89de5589f531829a8377862c7b1bda4c7ce60', name: this.icon, size: iconSize }))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "af-icon-box"; }
|
|
33
33
|
static get encapsulation() { return "scoped"; }
|
|
@@ -43,7 +43,7 @@ export class AfIconText {
|
|
|
43
43
|
'icon-text': true,
|
|
44
44
|
[`icon-text--${this.orientation}`]: true,
|
|
45
45
|
};
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: '439c52c428eb8bdd4a1d89143a3e1f3b1f1ae272' }, h("div", { key: 'ff0edf1e55f225abc3a31e928d08388cae6209e2', class: containerClasses }, h("af-icon-box", { key: '8a88ed7babd257ce508c90139b3d431b80aa9d32', icon: this.icon, size: this.iconSize, class: "icon-text__icon" }), h("af-typography-lockup", { key: 'b1d4722558f9f27daccfeb7e5efe954f0af3ece0', headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "icon-text__lockup" }, h("slot", { key: '02ab65533f8d40c24b46082271b06c7acac914db' }), h("span", { key: '3d0556c8b0f5b3d262c44efcb271541d74f46535', slot: "description" }, h("slot", { key: '155f5bfba6ac9a9e58ba3b4bec1d736b995c327d', name: "description" })), h("span", { key: '8fb65696a03bed3776953fc1b51c077b12030837', slot: "buttons" }, h("slot", { key: 'bc30a8813ec47e8a265282f841e30bbabfe1f06f', name: "buttons" }))))));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "af-icon-text"; }
|
|
49
49
|
static get encapsulation() { return "scoped"; }
|