@affinda/wc 0.0.28 → 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-accordion.entry.esm.js.map +1 -1
- package/dist/affinda/af-feature-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-footer.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-paperclip-decoration.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.css +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-068ac2fb.entry.js +2 -0
- package/dist/affinda/{p-b14c1a4b.entry.js.map → p-068ac2fb.entry.js.map} +1 -1
- package/dist/affinda/{p-9bb5202e.entry.js → p-09dfcd40.entry.js} +2 -2
- package/dist/affinda/p-0acadf6f.entry.js +2 -0
- package/dist/affinda/p-0acadf6f.entry.js.map +1 -0
- package/dist/affinda/{p-6eca2722.entry.js → p-15f0bd34.entry.js} +2 -2
- package/dist/affinda/{p-97ac8f5f.entry.js → p-1b4b0c88.entry.js} +2 -2
- package/dist/affinda/{p-2c655ae2.entry.js → p-1c96856a.entry.js} +2 -2
- package/dist/affinda/p-2237e652.entry.js +2 -0
- package/dist/affinda/{p-5e5d16dd.entry.js.map → p-2237e652.entry.js.map} +1 -1
- package/dist/affinda/{p-4cbdf940.entry.js → p-24e74c10.entry.js} +2 -2
- package/dist/affinda/p-2526604b.entry.js +2 -0
- package/dist/affinda/p-2526604b.entry.js.map +1 -0
- package/dist/affinda/{p-bf941fa7.entry.js → p-256970e3.entry.js} +2 -2
- package/dist/affinda/p-32d62fbb.entry.js +2 -0
- package/dist/affinda/{p-af3f6e16.entry.js → p-342b08e5.entry.js} +2 -2
- package/dist/affinda/{p-102e8b8c.entry.js → p-35607741.entry.js} +2 -2
- package/dist/affinda/{p-c7ba4e7f.entry.js → p-364ffa25.entry.js} +2 -2
- package/dist/affinda/{p-e9f8ef54.entry.js → p-365a75e2.entry.js} +2 -2
- package/dist/affinda/p-3ed408f6.entry.js +2 -0
- package/dist/affinda/{p-80c96efd.entry.js → p-4058a1eb.entry.js} +2 -2
- package/dist/affinda/{p-159fe9b1.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-f9b6d1c6.entry.js → p-43f40921.entry.js} +2 -2
- package/dist/affinda/p-44d960ca.entry.js +2 -0
- package/dist/affinda/{p-da999c10.entry.js.map → p-44d960ca.entry.js.map} +1 -1
- package/dist/affinda/{p-0f3267ea.entry.js → p-4a355b69.entry.js} +2 -2
- package/dist/affinda/p-4a9b192b.entry.js +2 -0
- package/dist/affinda/{p-d60d1943.entry.js.map → p-4a9b192b.entry.js.map} +1 -1
- package/dist/affinda/{p-3ecf43aa.entry.js → p-4b2c0698.entry.js} +2 -2
- package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
- package/dist/affinda/{p-cc22a8da.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
- package/dist/affinda/{p-12652bf5.entry.js → p-4f59b554.entry.js} +2 -2
- package/dist/affinda/{p-4e8bd716.entry.js → p-5c163c5b.entry.js} +2 -2
- package/dist/affinda/{p-8d9d0cb3.entry.js → p-5e5e7d75.entry.js} +2 -2
- package/dist/affinda/{p-648e2d76.entry.js → p-61a6b43d.entry.js} +2 -2
- package/dist/affinda/p-631d141c.entry.js +2 -0
- package/dist/affinda/p-631d141c.entry.js.map +1 -0
- package/dist/affinda/p-6475796d.entry.js +2 -0
- package/dist/affinda/{p-50590601.entry.js.map → p-6475796d.entry.js.map} +1 -1
- package/dist/affinda/p-6756aa66.entry.js +2 -0
- package/dist/affinda/{p-432c7bfc.entry.js → p-6c33fee6.entry.js} +2 -2
- package/dist/affinda/p-6e181b2b.entry.js +2 -0
- package/dist/affinda/{p-816deae3.entry.js → p-6ea474a3.entry.js} +2 -2
- package/dist/affinda/{p-ef41e743.entry.js → p-7111051c.entry.js} +2 -2
- package/dist/affinda/{p-23aa03dc.entry.js → p-76cb736d.entry.js} +2 -2
- package/dist/affinda/{p-e78112d9.entry.js → p-7867c2ff.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-11e7ddf3.entry.js → p-827f3050.entry.js} +2 -2
- package/dist/affinda/{p-77ed47d5.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-5e444a9a.entry.js → p-862a2509.entry.js} +2 -2
- package/dist/affinda/{p-7238fc21.entry.js → p-86f6dfdc.entry.js} +2 -2
- package/dist/affinda/{p-e0163836.entry.js → p-90ef7baa.entry.js} +2 -2
- package/dist/affinda/{p-ab0b621e.entry.js → p-9480f00d.entry.js} +2 -2
- package/dist/affinda/{p-3ca3e4dc.entry.js → p-95d4696a.entry.js} +2 -2
- package/dist/affinda/{p-892f9bc3.entry.js → p-9aed7039.entry.js} +2 -2
- package/dist/affinda/{p-bfc17d0c.entry.js → p-9c1e9bd8.entry.js} +2 -2
- package/dist/affinda/{p-be45f85c.entry.js → p-9ce0adc2.entry.js} +2 -2
- package/dist/affinda/{p-8da30e7a.entry.js → p-9eba91fd.entry.js} +2 -2
- package/dist/affinda/{p-aa5c6cc0.entry.js → p-9f3e7116.entry.js} +2 -2
- package/dist/affinda/p-MwnBSqEY.js +3 -0
- package/dist/affinda/p-MwnBSqEY.js.map +1 -0
- package/dist/affinda/{p-636045e8.entry.js → p-a02d6192.entry.js} +2 -2
- package/dist/affinda/p-a1e80460.entry.js +2 -0
- package/dist/affinda/{p-6bb831c5.entry.js.map → p-a1e80460.entry.js.map} +1 -1
- package/dist/affinda/{p-2140698f.entry.js → p-a25d3257.entry.js} +2 -2
- package/dist/affinda/{p-401fc5b1.entry.js → p-a7a8f18c.entry.js} +2 -2
- package/dist/affinda/{p-a4d39bdd.entry.js → p-a8d75eb1.entry.js} +2 -2
- package/dist/affinda/{p-a3865306.entry.js → p-ae430873.entry.js} +2 -2
- package/dist/affinda/p-b39eea31.entry.js +2 -0
- package/dist/affinda/{p-570283f6.entry.js.map → p-b39eea31.entry.js.map} +1 -1
- package/dist/affinda/{p-2aa112c2.entry.js → p-b9ec0e75.entry.js} +2 -2
- package/dist/affinda/{p-2aa112c2.entry.js.map → p-b9ec0e75.entry.js.map} +1 -1
- package/dist/affinda/{p-5ab389c6.entry.js → p-bbfc9df6.entry.js} +2 -2
- package/dist/affinda/{p-a002c784.entry.js → p-bed7d9a1.entry.js} +2 -2
- package/dist/affinda/p-d7d82986.entry.js +2 -0
- package/dist/affinda/{p-07f9580c.entry.js.map → p-d7d82986.entry.js.map} +1 -1
- package/dist/affinda/p-dabd389a.entry.js +2 -0
- package/dist/affinda/p-dabd389a.entry.js.map +1 -0
- package/dist/affinda/{p-eb96f29b.entry.js → p-dcc89b4c.entry.js} +2 -2
- package/dist/affinda/{p-1dff35bf.entry.js → p-de75cb4f.entry.js} +2 -2
- package/dist/affinda/{p-7b7d9c6a.entry.js → p-e07e27f1.entry.js} +2 -2
- package/dist/affinda/{p-8f6884c8.entry.js → p-eeda78ea.entry.js} +2 -2
- package/dist/affinda/{p-d54abc45.entry.js → p-f19cb091.entry.js} +2 -2
- package/dist/cjs/af-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/af-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/af-button-group.cjs.entry.js +1 -1
- package/dist/cjs/af-button.cjs.entry.js +1 -1
- package/dist/cjs/af-card.cjs.entry.js +3 -3
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-center.cjs.entry.js +2 -2
- package/dist/cjs/af-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +21 -6
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
- package/dist/cjs/af-container.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.cjs.entry.js +2 -2
- package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-accordion.cjs.entry.js +4 -4
- package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
- package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
- package/dist/cjs/af-fieldset.cjs.entry.js +1 -1
- package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
- package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/af-footer.cjs.entry.js +3 -3
- package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
- package/dist/cjs/af-grid.cjs.entry.js +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
- package/dist/cjs/af-icon.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.cjs.entry.js +3 -3
- package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-image.cjs.entry.js +2 -2
- package/dist/cjs/af-in-page-banner.cjs.entry.js +3 -3
- package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/af-inline.cjs.entry.js +2 -2
- package/dist/cjs/af-inline.entry.cjs.js.map +1 -1
- package/dist/cjs/af-input.cjs.entry.js +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +3 -3
- package/dist/cjs/af-nav-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-menu.cjs.entry.js +2 -2
- package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
- 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 +39 -0
- package/dist/cjs/af-paperclip-decoration.entry.cjs.js.map +1 -0
- package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
- package/dist/cjs/af-radio.cjs.entry.js +1 -1
- package/dist/cjs/af-section.cjs.entry.js +3 -3
- package/dist/cjs/af-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-show.cjs.entry.js +2 -2
- package/dist/cjs/af-social-link.cjs.entry.js +2 -2
- package/dist/cjs/af-spacer.cjs.entry.js +2 -2
- package/dist/cjs/af-split-section.cjs.entry.js +3 -3
- package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stack.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/af-stepper.cjs.entry.js +2 -2
- package/dist/cjs/af-switch.cjs.entry.js +1 -1
- package/dist/cjs/af-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/af-tab.cjs.entry.js +1 -1
- package/dist/cjs/af-tag.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
- package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
- package/dist/cjs/af-text-image.cjs.entry.js +1 -1
- package/dist/cjs/af-textarea.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
- package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
- package/dist/cjs/af-typography-lockup.cjs.entry.js +11 -5
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/af-video-container.cjs.entry.js +2 -2
- package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
- package/dist/cjs/affinda.cjs.js +2 -2
- package/dist/cjs/{index-CcvVbx1D.js → index-BzZA0USq.js} +3 -3
- package/dist/cjs/index-BzZA0USq.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +6 -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.css +4 -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.css +36 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +61 -16
- 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.css +27 -5
- 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.css +5 -2
- 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.css +5 -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.css +6 -4
- 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.css +4 -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.css +11 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +152 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js.map +1 -0
- 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.css +36 -12
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +27 -9
- 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 +2 -2
- package/dist/components/af-accordion.js +2 -2
- package/dist/components/af-aspect-ratio.js +1 -1
- package/dist/components/af-button-group.js +1 -1
- package/dist/components/af-button.js +1 -1
- package/dist/components/af-card.js +1 -1
- package/dist/components/af-center.js +2 -2
- package/dist/components/af-checkbox.js +1 -1
- package/dist/components/af-client-carousel.js +23 -7
- package/dist/components/af-client-carousel.js.map +1 -1
- package/dist/components/af-color-swatch.js +1 -1
- package/dist/components/af-contact-item.js +2 -2
- package/dist/components/af-container.js +1 -1
- package/dist/components/af-divider.js +2 -2
- package/dist/components/af-divider.js.map +1 -1
- package/dist/components/af-feature-accordion.js +4 -4
- package/dist/components/af-feature-accordion.js.map +1 -1
- package/dist/components/af-feature-card.js +1 -1
- package/dist/components/af-feature-grid.js +3 -3
- package/dist/components/af-fieldset.js +1 -1
- package/dist/components/af-footer-column.js +2 -2
- package/dist/components/af-footer-link.js +2 -2
- package/dist/components/af-footer.js +3 -3
- package/dist/components/af-footer.js.map +1 -1
- package/dist/components/af-grid-callout.js +2 -2
- package/dist/components/af-grid.js +3 -3
- package/dist/components/af-grid.js.map +1 -1
- package/dist/components/af-heading.js +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-button.js +1 -1
- package/dist/components/af-icon-text.js +5 -5
- package/dist/components/af-icon.js +1 -1
- 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 +4 -4
- package/dist/components/af-in-page-banner.js.map +1 -1
- package/dist/components/af-inline.js +2 -2
- package/dist/components/af-inline.js.map +1 -1
- package/dist/components/af-input.js +1 -1
- package/dist/components/af-logo-well.js +2 -2
- package/dist/components/af-logo.js +1 -1
- package/dist/components/af-nav-accordion-item.js +3 -3
- package/dist/components/af-nav-accordion.js +2 -2
- package/dist/components/af-nav-card.js +1 -1
- package/dist/components/af-nav-item.js +1 -1
- package/dist/components/af-nav-menu-nest.js +2 -2
- package/dist/components/af-nav-menu.js +2 -2
- 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.d.ts +11 -0
- package/dist/components/af-paperclip-decoration.js +64 -0
- package/dist/components/af-paperclip-decoration.js.map +1 -0
- package/dist/components/af-progress-line.js +1 -1
- package/dist/components/af-radio.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 +2 -2
- package/dist/components/af-social-link.js +2 -2
- package/dist/components/af-spacer.js +2 -2
- package/dist/components/af-split-section.js +4 -4
- package/dist/components/af-split-section.js.map +1 -1
- package/dist/components/af-stack.js +2 -2
- 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 +2 -2
- package/dist/components/af-stepper.js +2 -2
- package/dist/components/af-switch.js +1 -1
- package/dist/components/af-tab-bar.js +1 -1
- package/dist/components/af-tab.js +1 -1
- package/dist/components/af-tag.js +1 -1
- package/dist/components/af-testimonial-carousel.js +3 -3
- package/dist/components/af-testimonial-stat.js +4 -4
- package/dist/components/af-testimonial.js +6 -6
- package/dist/components/af-text-image-nest.js +2 -2
- package/dist/components/af-text-image.js +2 -2
- package/dist/components/af-text.js +1 -1
- package/dist/components/af-textarea.js +1 -1
- package/dist/components/af-theme-override.js +2 -2
- 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 +4 -4
- package/dist/components/af-visually-hidden.js +2 -2
- package/dist/components/index.js +25 -24
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-CNuja1ax.js → p--gChEc0P.js} +3 -3
- package/dist/components/{p-CNuja1ax.js.map → p--gChEc0P.js.map} +1 -1
- package/dist/components/{p-TfjpcU9q.js → p-3Gzh4deR.js} +7 -7
- package/dist/components/p-3Gzh4deR.js.map +1 -0
- package/dist/components/{p-DCu8UsJv.js → p-BRDu9zN1.js} +3 -3
- package/dist/components/{p-DCu8UsJv.js.map → p-BRDu9zN1.js.map} +1 -1
- package/dist/components/{p-CSsp_M05.js → p-BROLmNeM.js} +3 -3
- package/dist/components/{p-CSsp_M05.js.map → p-BROLmNeM.js.map} +1 -1
- package/dist/components/{p-Dz4dEIxw.js → p-BT13eL0Y.js} +3 -3
- package/dist/components/{p-Dz4dEIxw.js.map → p-BT13eL0Y.js.map} +1 -1
- package/dist/components/{p-DAYoQm46.js → p-BW-FxZwa.js} +3 -3
- package/dist/components/{p-DAYoQm46.js.map → p-BW-FxZwa.js.map} +1 -1
- package/dist/components/{p-DwhGQrZK.js → p-BXmiPS9x.js} +5 -5
- package/dist/components/{p-DwhGQrZK.js.map → p-BXmiPS9x.js.map} +1 -1
- package/dist/components/{p-aAVeavhK.js → p-B_OoX__z.js} +3 -3
- package/dist/components/{p-aAVeavhK.js.map → p-B_OoX__z.js.map} +1 -1
- package/dist/components/{p-C0R_vg0S.js → p-BgXXQG75.js} +3 -3
- package/dist/components/{p-C0R_vg0S.js.map → p-BgXXQG75.js.map} +1 -1
- package/dist/components/{p-DqgLTGE0.js → p-C4G6votC.js} +3 -3
- package/dist/components/{p-DqgLTGE0.js.map → p-C4G6votC.js.map} +1 -1
- package/dist/components/p-CJxqw006.js +53 -0
- package/dist/components/p-CJxqw006.js.map +1 -0
- package/dist/components/{p-CHLm_AuW.js → p-CP8rLe_C.js} +3 -3
- package/dist/components/{p-CHLm_AuW.js.map → p-CP8rLe_C.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-Bw8fdMnn.js → p-CX0pktY8.js} +3 -3
- package/dist/components/{p-Bw8fdMnn.js.map → p-CX0pktY8.js.map} +1 -1
- package/dist/components/{p-CAUqW6Mp.js → p-CYKk6Qhi.js} +3 -3
- package/dist/components/{p-CAUqW6Mp.js.map → p-CYKk6Qhi.js.map} +1 -1
- package/dist/components/{p-N0xV1Erp.js → p-ClZAZSzR.js} +14 -8
- package/dist/components/p-ClZAZSzR.js.map +1 -0
- package/dist/components/{p-DkaLi-uL.js → p-CoL_hRAR.js} +3 -3
- package/dist/components/{p-DkaLi-uL.js.map → p-CoL_hRAR.js.map} +1 -1
- package/dist/components/{p-CB9GFAlk.js → p-D8DmhESZ.js} +3 -3
- package/dist/components/{p-CB9GFAlk.js.map → p-D8DmhESZ.js.map} +1 -1
- package/dist/components/{p-B3Yr4Hxx.js → p-DJC-C2BS.js} +3 -3
- package/dist/components/{p-B3Yr4Hxx.js.map → p-DJC-C2BS.js.map} +1 -1
- package/dist/components/{p-CqQyDZ-4.js → p-DOgb6SUj.js} +3 -3
- package/dist/components/p-DOgb6SUj.js.map +1 -0
- package/dist/components/{p-Dxa6cHAb.js → p-DbVc-b1e.js} +3 -3
- package/dist/components/{p-Dxa6cHAb.js.map → p-DbVc-b1e.js.map} +1 -1
- package/dist/components/{p-D3oGtcJ5.js → p-Dd3nOGt_.js} +3 -3
- package/dist/components/{p-D3oGtcJ5.js.map → p-Dd3nOGt_.js.map} +1 -1
- package/dist/components/{p-DRujYIJW.js → p-DqJRvNOl.js} +6 -6
- package/dist/components/p-DqJRvNOl.js.map +1 -0
- package/dist/components/{p-DGBMGvZK.js → p-Dx_UXI2a.js} +3 -3
- package/dist/components/{p-DGBMGvZK.js.map → p-Dx_UXI2a.js.map} +1 -1
- package/dist/components/{p-DENib4OL.js → p-DyZaoX4Q.js} +3 -3
- package/dist/components/{p-DENib4OL.js.map → p-DyZaoX4Q.js.map} +1 -1
- package/dist/components/{p-CKcuq0NU.js → p-LRPXnaSx.js} +4 -4
- package/dist/components/{p-CKcuq0NU.js.map → p-LRPXnaSx.js.map} +1 -1
- package/dist/components/{p-DMOGClIa.js → p-NtJ_O8-z.js} +3 -3
- package/dist/components/{p-DMOGClIa.js.map → p-NtJ_O8-z.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-D30gSxh2.js → p-kEqwmn80.js} +3 -3
- package/dist/components/{p-D30gSxh2.js.map → p-kEqwmn80.js.map} +1 -1
- package/dist/components/{p-XrKBGe-M.js → p-mbl86-w6.js} +5 -5
- package/dist/components/p-mbl86-w6.js.map +1 -0
- package/dist/components/{p-BHAWxoQE.js → p-nA3Uvhwb.js} +5 -5
- package/dist/components/{p-BHAWxoQE.js.map → p-nA3Uvhwb.js.map} +1 -1
- package/dist/esm/af-accordion-item.entry.js +2 -2
- package/dist/esm/af-accordion.entry.js +2 -2
- package/dist/esm/af-aspect-ratio.entry.js +1 -1
- package/dist/esm/af-button-group.entry.js +1 -1
- package/dist/esm/af-button.entry.js +1 -1
- package/dist/esm/af-card.entry.js +3 -3
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-center.entry.js +2 -2
- package/dist/esm/af-checkbox.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js +21 -6
- package/dist/esm/af-client-carousel.entry.js.map +1 -1
- package/dist/esm/af-color-swatch.entry.js +1 -1
- package/dist/esm/af-contact-item.entry.js +2 -2
- package/dist/esm/af-container.entry.js +1 -1
- package/dist/esm/af-divider.entry.js +2 -2
- package/dist/esm/af-divider.entry.js.map +1 -1
- package/dist/esm/af-feature-accordion.entry.js +4 -4
- package/dist/esm/af-feature-accordion.entry.js.map +1 -1
- package/dist/esm/af-feature-card.entry.js +1 -1
- package/dist/esm/af-feature-card.entry.js.map +1 -1
- package/dist/esm/af-feature-grid.entry.js +2 -2
- package/dist/esm/af-fieldset.entry.js +1 -1
- package/dist/esm/af-footer-column.entry.js +2 -2
- package/dist/esm/af-footer-link.entry.js +2 -2
- package/dist/esm/af-footer.entry.js +3 -3
- package/dist/esm/af-footer.entry.js.map +1 -1
- package/dist/esm/af-grid-callout.entry.js +1 -1
- package/dist/esm/af-grid.entry.js +3 -3
- 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 +3 -3
- 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 +2 -2
- package/dist/esm/af-icon-button.entry.js +1 -1
- package/dist/esm/af-icon-text.entry.js +2 -2
- package/dist/esm/af-icon.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js +3 -3
- package/dist/esm/af-illustrated-card.entry.js.map +1 -1
- package/dist/esm/af-image.entry.js +2 -2
- package/dist/esm/af-in-page-banner.entry.js +3 -3
- package/dist/esm/af-in-page-banner.entry.js.map +1 -1
- package/dist/esm/af-inline.entry.js +2 -2
- package/dist/esm/af-inline.entry.js.map +1 -1
- package/dist/esm/af-input.entry.js +1 -1
- package/dist/esm/af-logo-well.entry.js +2 -2
- package/dist/esm/af-nav-accordion-item.entry.js +3 -3
- package/dist/esm/af-nav-accordion.entry.js +2 -2
- package/dist/esm/af-nav-card.entry.js +1 -1
- package/dist/esm/af-nav-menu-nest.entry.js +2 -2
- package/dist/esm/af-nav-menu.entry.js +2 -2
- package/dist/esm/af-number-badge.entry.js +2 -2
- 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 +37 -0
- package/dist/esm/af-paperclip-decoration.entry.js.map +1 -0
- package/dist/esm/af-progress-line.entry.js +3 -3
- package/dist/esm/af-radio.entry.js +1 -1
- package/dist/esm/af-section.entry.js +3 -3
- package/dist/esm/af-section.entry.js.map +1 -1
- package/dist/esm/af-show.entry.js +2 -2
- package/dist/esm/af-social-link.entry.js +2 -2
- package/dist/esm/af-spacer.entry.js +2 -2
- package/dist/esm/af-split-section.entry.js +3 -3
- package/dist/esm/af-split-section.entry.js.map +1 -1
- package/dist/esm/af-stack.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/af-stepper.entry.js +2 -2
- package/dist/esm/af-switch.entry.js +1 -1
- package/dist/esm/af-tab-bar.entry.js +1 -1
- package/dist/esm/af-tab.entry.js +1 -1
- package/dist/esm/af-tag.entry.js +1 -1
- package/dist/esm/af-testimonial-carousel.entry.js +2 -2
- package/dist/esm/af-testimonial-stat.entry.js +2 -2
- package/dist/esm/af-testimonial.entry.js +3 -3
- package/dist/esm/af-text-image-nest.entry.js +2 -2
- package/dist/esm/af-text-image.entry.js +1 -1
- package/dist/esm/af-textarea.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js +2 -2
- package/dist/esm/af-theme-override.entry.js.map +1 -1
- package/dist/esm/af-typography-lockup.entry.js +11 -5
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/af-video-container.entry.js +2 -2
- package/dist/esm/af-visually-hidden.entry.js +2 -2
- package/dist/esm/affinda.js +3 -3
- package/dist/esm/{index-nb89SRN6.js → index-MwnBSqEY.js} +3 -3
- package/dist/esm/index-MwnBSqEY.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/af-card/af-card.d.ts +2 -1
- package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +26 -13
- 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-paperclip-decoration/af-paperclip-decoration.d.ts +50 -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 +12 -4
- package/dist/types/components.d.ts +800 -64
- package/dist/types/types.d.ts +57 -0
- package/package.json +3 -3
- package/dist/affinda/p-07f9580c.entry.js +0 -2
- package/dist/affinda/p-50590601.entry.js +0 -2
- package/dist/affinda/p-570283f6.entry.js +0 -2
- package/dist/affinda/p-5b3ff010.entry.js +0 -2
- package/dist/affinda/p-5e5d16dd.entry.js +0 -2
- package/dist/affinda/p-6bb831c5.entry.js +0 -2
- package/dist/affinda/p-9229defb.entry.js +0 -2
- package/dist/affinda/p-9229defb.entry.js.map +0 -1
- package/dist/affinda/p-94adb381.entry.js +0 -2
- package/dist/affinda/p-b14c1a4b.entry.js +0 -2
- package/dist/affinda/p-cc22a8da.entry.js +0 -2
- package/dist/affinda/p-d60d1943.entry.js +0 -2
- package/dist/affinda/p-d7e29257.entry.js +0 -2
- package/dist/affinda/p-da999c10.entry.js +0 -2
- package/dist/affinda/p-f9e3c2b7.entry.js +0 -2
- package/dist/affinda/p-nb89SRN6.js +0 -3
- package/dist/affinda/p-nb89SRN6.js.map +0 -1
- package/dist/cjs/index-CcvVbx1D.js.map +0 -1
- package/dist/components/p-BO4blShf.js +0 -53
- package/dist/components/p-BO4blShf.js.map +0 -1
- package/dist/components/p-CqQyDZ-4.js.map +0 -1
- package/dist/components/p-DRujYIJW.js.map +0 -1
- package/dist/components/p-N0xV1Erp.js.map +0 -1
- package/dist/components/p-TfjpcU9q.js.map +0 -1
- package/dist/components/p-XrKBGe-M.js.map +0 -1
- package/dist/esm/index-nb89SRN6.js.map +0 -1
- /package/dist/affinda/{p-9bb5202e.entry.js.map → p-09dfcd40.entry.js.map} +0 -0
- /package/dist/affinda/{p-6eca2722.entry.js.map → p-15f0bd34.entry.js.map} +0 -0
- /package/dist/affinda/{p-97ac8f5f.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
- /package/dist/affinda/{p-2c655ae2.entry.js.map → p-1c96856a.entry.js.map} +0 -0
- /package/dist/affinda/{p-4cbdf940.entry.js.map → p-24e74c10.entry.js.map} +0 -0
- /package/dist/affinda/{p-bf941fa7.entry.js.map → p-256970e3.entry.js.map} +0 -0
- /package/dist/affinda/{p-5b3ff010.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
- /package/dist/affinda/{p-af3f6e16.entry.js.map → p-342b08e5.entry.js.map} +0 -0
- /package/dist/affinda/{p-102e8b8c.entry.js.map → p-35607741.entry.js.map} +0 -0
- /package/dist/affinda/{p-c7ba4e7f.entry.js.map → p-364ffa25.entry.js.map} +0 -0
- /package/dist/affinda/{p-e9f8ef54.entry.js.map → p-365a75e2.entry.js.map} +0 -0
- /package/dist/affinda/{p-d7e29257.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
- /package/dist/affinda/{p-80c96efd.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-159fe9b1.entry.js.map → p-41bbb218.entry.js.map} +0 -0
- /package/dist/affinda/{p-f9b6d1c6.entry.js.map → p-43f40921.entry.js.map} +0 -0
- /package/dist/affinda/{p-0f3267ea.entry.js.map → p-4a355b69.entry.js.map} +0 -0
- /package/dist/affinda/{p-3ecf43aa.entry.js.map → p-4b2c0698.entry.js.map} +0 -0
- /package/dist/affinda/{p-12652bf5.entry.js.map → p-4f59b554.entry.js.map} +0 -0
- /package/dist/affinda/{p-4e8bd716.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
- /package/dist/affinda/{p-8d9d0cb3.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
- /package/dist/affinda/{p-648e2d76.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
- /package/dist/affinda/{p-94adb381.entry.js.map → p-6756aa66.entry.js.map} +0 -0
- /package/dist/affinda/{p-432c7bfc.entry.js.map → p-6c33fee6.entry.js.map} +0 -0
- /package/dist/affinda/{p-f9e3c2b7.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
- /package/dist/affinda/{p-816deae3.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
- /package/dist/affinda/{p-ef41e743.entry.js.map → p-7111051c.entry.js.map} +0 -0
- /package/dist/affinda/{p-23aa03dc.entry.js.map → p-76cb736d.entry.js.map} +0 -0
- /package/dist/affinda/{p-e78112d9.entry.js.map → p-7867c2ff.entry.js.map} +0 -0
- /package/dist/affinda/{p-11e7ddf3.entry.js.map → p-827f3050.entry.js.map} +0 -0
- /package/dist/affinda/{p-77ed47d5.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
- /package/dist/affinda/{p-5e444a9a.entry.js.map → p-862a2509.entry.js.map} +0 -0
- /package/dist/affinda/{p-7238fc21.entry.js.map → p-86f6dfdc.entry.js.map} +0 -0
- /package/dist/affinda/{p-e0163836.entry.js.map → p-90ef7baa.entry.js.map} +0 -0
- /package/dist/affinda/{p-ab0b621e.entry.js.map → p-9480f00d.entry.js.map} +0 -0
- /package/dist/affinda/{p-3ca3e4dc.entry.js.map → p-95d4696a.entry.js.map} +0 -0
- /package/dist/affinda/{p-892f9bc3.entry.js.map → p-9aed7039.entry.js.map} +0 -0
- /package/dist/affinda/{p-bfc17d0c.entry.js.map → p-9c1e9bd8.entry.js.map} +0 -0
- /package/dist/affinda/{p-be45f85c.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
- /package/dist/affinda/{p-8da30e7a.entry.js.map → p-9eba91fd.entry.js.map} +0 -0
- /package/dist/affinda/{p-aa5c6cc0.entry.js.map → p-9f3e7116.entry.js.map} +0 -0
- /package/dist/affinda/{p-636045e8.entry.js.map → p-a02d6192.entry.js.map} +0 -0
- /package/dist/affinda/{p-2140698f.entry.js.map → p-a25d3257.entry.js.map} +0 -0
- /package/dist/affinda/{p-401fc5b1.entry.js.map → p-a7a8f18c.entry.js.map} +0 -0
- /package/dist/affinda/{p-a4d39bdd.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
- /package/dist/affinda/{p-a3865306.entry.js.map → p-ae430873.entry.js.map} +0 -0
- /package/dist/affinda/{p-5ab389c6.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
- /package/dist/affinda/{p-a002c784.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
- /package/dist/affinda/{p-eb96f29b.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
- /package/dist/affinda/{p-1dff35bf.entry.js.map → p-de75cb4f.entry.js.map} +0 -0
- /package/dist/affinda/{p-7b7d9c6a.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
- /package/dist/affinda/{p-8f6884c8.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
- /package/dist/affinda/{p-d54abc45.entry.js.map → p-f19cb091.entry.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afContactItemCss = ".sc-af-contact-item-h{display:block}.contact-item.sc-af-contact-item{display:flex;flex-direction:column;gap:4px}.contact-item__label.sc-af-contact-item{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.contact-item__value.sc-af-contact-item{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}";
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ const AfContactItem = class {
|
|
|
11
11
|
this.value = '';
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: '96c81142044b30c89d0b57ca51796bb11b20a939' }, h("div", { key: '91e097ce9e31a20896a2df199c905a848a35065b', class: "contact-item" }, this.label && (h("h5", { key: '8ed3a89a50249ca99f50637ec1486b0def63a057', class: "contact-item__label" }, this.label)), this.value && (h("p", { key: '1503e602ac07c85a88b612eb600f07c4cb152e00', class: "contact-item__value" }, this.value)), h("slot", { key: '700f83924b662a99f5450a97b79b48c9b21e9cd0' }))));
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
AfContactItem.style = afContactItemCss;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afContainerCss = ":host{display:block;width:100%}.container{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;padding-left:20px;padding-right:20px}@media (min-width: 768px){.container{padding-left:32px;padding-right:32px}.max-width-medium{max-width:768px}}@media (min-width: 1024px){.container{padding-left:64px;padding-right:64px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}@media (min-width: 1440px){.container{padding-left:80px;padding-right:80px}.max-width-xlarge{max-width:1440px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}.max-width-fluid{max-width:none}";
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afDividerCss = ":host{box-sizing:border-box;flex-shrink:0}:host([hidden]){display:none}:host(.divider--horizontal){display:block;width:100%;height:1px;background-color:var(--colour-tints-inkwell-100, #d4d4d4)}:host(.divider--vertical){display:inline-block;width:1px;height:100%;min-height:1em;background-color:var(--colour-tints-inkwell-100, #d4d4d4);align-self:stretch}";
|
|
4
4
|
|
|
@@ -28,7 +28,7 @@ const AfDivider = class {
|
|
|
28
28
|
marginTop: spacingValue,
|
|
29
29
|
marginBottom: spacingValue,
|
|
30
30
|
};
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'b8c2649ffe99bf4c816cf3e9d0be51c1a40fe43a', class: {
|
|
32
32
|
'divider': true,
|
|
33
33
|
'divider--horizontal': !isVertical,
|
|
34
34
|
'divider--vertical': isVertical,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-divider.entry.js","sources":["src/components/af-divider/af-divider.css?tag=af-divider&encapsulation=shadow","src/components/af-divider/af-divider.tsx"],"sourcesContent":[":host {\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(.divider--horizontal) {\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n}\n\n:host(.divider--vertical) {\n display: inline-block;\n width: 1px;\n height: 100%;\n min-height: 1em;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n align-self: stretch;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Orientation = 'horizontal' | 'vertical';\ntype Spacing =
|
|
1
|
+
{"version":3,"file":"af-divider.entry.js","sources":["src/components/af-divider/af-divider.css?tag=af-divider&encapsulation=shadow","src/components/af-divider/af-divider.tsx"],"sourcesContent":[":host {\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(.divider--horizontal) {\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n}\n\n:host(.divider--vertical) {\n display: inline-block;\n width: 1px;\n height: 100%;\n min-height: 1em;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n align-self: stretch;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Orientation = 'horizontal' | 'vertical';\ntype Spacing = Gap | 'none';\n\n/**\n * Divider component for visual separation between content.\n * Supports horizontal and vertical orientations with theme-aware styling.\n */\n@Component({\n tag: 'af-divider',\n styleUrl: 'af-divider.css',\n shadow: true,\n})\nexport class AfDivider {\n /**\n * Orientation of the divider.\n */\n @Prop() orientation: Orientation = 'horizontal';\n\n /**\n * Spacing (margin) around the divider using space tokens.\n * For horizontal: margin-top and margin-bottom\n * For vertical: margin-left and margin-right\n */\n @Prop() spacing: Spacing = '4';\n\n render() {\n const isVertical = this.orientation === 'vertical';\n const spacingValue = this.spacing === 'none' ? '0' : `var(--space-${this.spacing})`;\n\n const style: Record<string, string> = isVertical\n ? {\n marginLeft: spacingValue,\n marginRight: spacingValue,\n }\n : {\n marginTop: spacingValue,\n marginBottom: spacingValue,\n };\n\n return (\n <Host\n class={{\n 'divider': true,\n 'divider--horizontal': !isVertical,\n 'divider--vertical': isVertical,\n }}\n style={style}\n role=\"separator\"\n aria-orientation={this.orientation}\n ></Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,YAAY,GAAG,oWAAoW;;MCe5W,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAgB,YAAY;AAE/C;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,GAAG;AA6B/B;IA3BC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU;AAClD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,GAAG,GAAG,CAAA,YAAA,EAAe,IAAI,CAAC,OAAO,GAAG;QAEnF,MAAM,KAAK,GAA2B;AACpC,cAAE;AACE,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,WAAW,EAAE,YAAY;AAC1B;AACH,cAAE;AACE,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,YAAY,EAAE,YAAY;aAC3B;QAEL,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,IAAI;gBACf,qBAAqB,EAAE,CAAC,UAAU;AAClC,gBAAA,mBAAmB,EAAE,UAAU;AAChC,aAAA,EACD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,WAAW,EAAA,kBAAA,EACE,IAAI,CAAC,WAAW,EAAA,CAC5B;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
|
-
const afFeatureAccordionCss = ".sc-af-feature-accordion-h{display:block;width:100%}.feature-accordion.sc-af-feature-accordion{padding:0 24px;--_heading-color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));--_body-color:var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));--_border-color:var(--af-background-border-default, rgba(20, 52, 59, 0.12))
|
|
3
|
+
const afFeatureAccordionCss = ".sc-af-feature-accordion-h{display:block;width:100%}.feature-accordion.sc-af-feature-accordion{padding:0 24px;--_heading-color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));--_body-color:var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));--_border-color:var(--af-background-border-default, rgba(20, 52, 59, 0.12))}.feature-accordion__heading.sc-af-feature-accordion{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:400;font-size:clamp(36px, 5vw, 52px);line-height:1.05;letter-spacing:-0.025em;color:var(--_heading-color);margin:0 0 56px 0}.feature-accordion__content.sc-af-feature-accordion{display:flex;gap:48px}.feature-accordion__list.sc-af-feature-accordion{display:flex;flex-direction:column;flex:1;min-width:0}.accordion-item.sc-af-feature-accordion{border-bottom:1px solid var(--_border-color)}.accordion-item.sc-af-feature-accordion:first-child{border-top:1px solid var(--_border-color)}.accordion-item__header.sc-af-feature-accordion{display:flex;align-items:center;justify-content:space-between;width:100%;padding:24px 0;background:none;border:none;cursor:pointer;text-align:left;gap:16px}.accordion-item__header.sc-af-feature-accordion:hover .accordion-item__title.sc-af-feature-accordion{color:var(--_heading-color)}.accordion-item__title.sc-af-feature-accordion{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;font-size:22px;line-height:1.25;color:var(--_heading-color);margin:0;flex:1;transition:color 0.2s ease}.accordion-item.sc-af-feature-accordion:not(.accordion-item--expanded) .accordion-item__title.sc-af-feature-accordion{opacity:0.7}.accordion-item__icon.sc-af-feature-accordion{flex-shrink:0;width:24px;height:24px;color:var(--_heading-color);transition:transform 0.2s ease}.accordion-item.sc-af-feature-accordion:not(.accordion-item--expanded) .accordion-item__icon.sc-af-feature-accordion{opacity:0.5}.accordion-item__content.sc-af-feature-accordion{overflow:hidden;transition:max-height 0.3s ease, opacity 0.3s ease}.accordion-item__description.sc-af-feature-accordion{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:400;font-size:17px;line-height:1.6;color:var(--_body-color);margin:0 0 20px 0;padding-right:40px;opacity:0.85}.accordion-item__timer-track.sc-af-feature-accordion{height:3px;background-color:var(--_border-color);border-radius:2px;margin-bottom:8px;overflow:hidden;display:flex;justify-content:flex-start}.accordion-item__timer-progress.sc-af-feature-accordion{height:100%;background-color:var(--af-accent-progress, var(--colour-softclay-600, #9e8765));border-radius:2px;transition:width 0.05s linear}.feature-accordion__image-container.sc-af-feature-accordion{display:flex;align-items:center;justify-content:center;background-color:var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));border-radius:20px;overflow:hidden;flex:1;min-width:0}.feature-accordion__image-wrapper.sc-af-feature-accordion{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--af-feature-accordion-image-pad, 40px)}.feature-accordion__image.sc-af-feature-accordion{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 8px 32px rgba(0, 0, 0, 0.12)}.feature-accordion__image-placeholder.sc-af-feature-accordion{width:100%;height:100%;display:flex;align-items:center;justify-content:center}@media (max-width: 1024px){.feature-accordion__content.sc-af-feature-accordion{gap:32px}.feature-accordion__heading.sc-af-feature-accordion{margin-bottom:40px}.accordion-item__title.sc-af-feature-accordion{font-size:20px}}@media (max-width: 768px){.feature-accordion__content.sc-af-feature-accordion{flex-direction:column;gap:32px}.feature-accordion__image-container.sc-af-feature-accordion{order:-1;min-height:280px;flex:none}.feature-accordion__list.sc-af-feature-accordion{flex:none}.accordion-item__title.sc-af-feature-accordion{font-size:18px}.accordion-item__description.sc-af-feature-accordion{font-size:15px;padding-right:0}}";
|
|
4
4
|
|
|
5
5
|
const AfFeatureAccordion = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -87,13 +87,13 @@ const AfFeatureAccordion = class {
|
|
|
87
87
|
render() {
|
|
88
88
|
const items = this.getItems();
|
|
89
89
|
const currentItem = items[this.expandedIndex];
|
|
90
|
-
return (h(Host, { key: '
|
|
90
|
+
return (h(Host, { key: '335d71685c8aad8e3ffc0b32c95b8ddd3b670491' }, h("div", { key: '03d0f317865722652ad21e8dfd38e3806e890993', class: "feature-accordion" }, h("div", { key: 'ddc8fa8c2690f670cd3fdd7efa55c7c11ff29e14', class: "feature-accordion__container" }, h("h2", { key: '2d81b47cdc05b6924f2a5a17407bd5d073b6f955', class: "feature-accordion__heading" }, this.heading), h("div", { key: 'ea1c924a393afab5a8dfe223d3404798a7cacf46', class: "feature-accordion__content" }, h("div", { key: '64edad33b88cc793e93debad5f2f051f795deb65', class: "feature-accordion__list" }, items.map((item, index) => (h("div", { class: {
|
|
91
91
|
'accordion-item': true,
|
|
92
92
|
'accordion-item--expanded': this.expandedIndex === index
|
|
93
93
|
}, key: index }, h("button", { class: "accordion-item__header", onClick: () => this.handleItemClick(index), "aria-expanded": this.expandedIndex === index ? 'true' : 'false' }, h("h4", { class: "accordion-item__title" }, item.title), h("span", { class: "accordion-item__icon" }, this.expandedIndex === index ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5 12H19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M12 5V19M5 12H19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))))), h("div", { class: "accordion-item__content", style: {
|
|
94
94
|
maxHeight: this.expandedIndex === index ? '200px' : '0',
|
|
95
95
|
opacity: this.expandedIndex === index ? '1' : '0'
|
|
96
|
-
} }, h("p", { class: "accordion-item__description" }, item.description), this.expandedIndex === index && this.autoCycle && (h("div", { class: "accordion-item__timer-track" }, h("div", { class: "accordion-item__timer-progress", style: { width: `${this.timerProgress}%` } })))))))), h("div", { key: '
|
|
96
|
+
} }, h("p", { class: "accordion-item__description" }, item.description), this.expandedIndex === index && this.autoCycle && (h("div", { class: "accordion-item__timer-track" }, h("div", { class: "accordion-item__timer-progress", style: { width: `${this.timerProgress}%` } })))))))), h("div", { key: 'ca61ce3c070f35e9084dcd2bdd4c0fdf8c873fb5', class: "feature-accordion__image-container" }, h("div", { key: 'f741bd15d6fdd17b8947a099a94ba37c5d9a797b', class: "feature-accordion__image-wrapper" }, currentItem?.imageUrl && (h("img", { key: '8f8dbccdfb3ac4857d0a8bb8bcc317b00ac1cb87', src: currentItem.imageUrl, alt: currentItem.imageAlt || currentItem.title, class: "feature-accordion__image" })), !currentItem?.imageUrl && (h("div", { key: 'a06a0cb9eccf2504e9515c9da650cb9b2717173b', class: "feature-accordion__image-placeholder" }, h("slot", { key: '31097d47af5bb4f131aecfddb2ed370bb84c3b34', name: "image" }))))))))));
|
|
97
97
|
}
|
|
98
98
|
get el() { return getElement(this); }
|
|
99
99
|
static get watchers() { return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-feature-accordion.entry.js","sources":["src/components/af-feature-accordion/af-feature-accordion.css?tag=af-feature-accordion&encapsulation=scoped","src/components/af-feature-accordion/af-feature-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.feature-accordion {\n /* Inherits theme from parent Section via CSS custom properties */\n padding: 0 24px;\n \n /* Internal custom properties that inherit from parent Section's theme */\n --_heading-color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n --_body-color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n --_border-color: var(--af-background-border-default, rgba(20, 52, 59, 0.12));\n --_level-1-bg: var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));\n}\n\n.feature-accordion__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: clamp(36px, 5vw, 52px);\n line-height: 1.05;\n letter-spacing: -0.025em;\n color: var(--_heading-color);\n margin: 0 0 56px 0;\n}\n\n.feature-accordion__content {\n display: flex;\n gap: 48px;\n}\n\n/* Accordion List */\n.feature-accordion__list {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n\n/* Accordion Item */\n.accordion-item {\n border-bottom: 1px solid var(--_border-color);\n}\n\n.accordion-item:first-child {\n border-top: 1px solid var(--_border-color);\n}\n\n.accordion-item__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 24px 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n gap: 16px;\n}\n\n.accordion-item__header:hover .accordion-item__title {\n color: var(--_heading-color);\n}\n\n.accordion-item__title {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n font-size: 22px;\n line-height: 1.25;\n color: var(--_heading-color);\n margin: 0;\n flex: 1;\n transition: color 0.2s ease;\n}\n\n/* Collapsed items have lighter text */\n.accordion-item:not(.accordion-item--expanded) .accordion-item__title {\n opacity: 0.7;\n}\n\n.accordion-item__icon {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n color: var(--_heading-color);\n transition: transform 0.2s ease;\n}\n\n.accordion-item:not(.accordion-item--expanded) .accordion-item__icon {\n opacity: 0.5;\n}\n\n.accordion-item__content {\n overflow: hidden;\n transition: max-height 0.3s ease, opacity 0.3s ease;\n}\n\n.accordion-item__description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: 17px;\n line-height: 1.6;\n color: var(--_body-color);\n margin: 0 0 20px 0;\n padding-right: 40px;\n opacity: 0.85;\n}\n\n/* Timer track - the progress bar at the bottom of expanded items */\n.accordion-item__timer-track {\n height: 3px;\n background-color: var(--_border-color);\n border-radius: 2px;\n margin-bottom: 8px;\n overflow: hidden;\n display: flex;\n justify-content: flex-start;\n}\n\n.accordion-item__timer-progress {\n height: 100%;\n background-color: var(--colour-brand-ice, #a6fffb);\n border-radius: 2px;\n transition: width 0.05s linear;\n}\n\n/* Image Container - stretches full height to align with accordion */\n.feature-accordion__image-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--_level-1-bg);\n border-radius: 20px;\n overflow: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.feature-accordion__image-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: 32px;\n}\n\n.feature-accordion__image {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n object-fit: contain;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n}\n\n.feature-accordion__image-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Tablet */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .feature-accordion__content {\n gap: 32px;\n }\n\n .feature-accordion__heading {\n margin-bottom: 40px;\n }\n\n .accordion-item__title {\n font-size: 20px;\n }\n}\n\n/* Mobile */\n/* mobile-only */\n@media (max-width: 768px) {\n .feature-accordion__content {\n flex-direction: column;\n gap: 32px;\n }\n\n .feature-accordion__image-container {\n order: -1;\n min-height: 280px;\n flex: none;\n }\n\n .feature-accordion__list {\n flex: none;\n }\n\n .accordion-item__title {\n font-size: 18px;\n }\n\n .accordion-item__description {\n font-size: 15px;\n padding-right: 0;\n }\n}\n","import { Component, h, Host, Prop, State, Element, Watch } from '@stencil/core';\n\nexport interface FeatureAccordionItem {\n title: string;\n description: string;\n imageUrl?: string;\n imageAlt?: string;\n}\n\n/**\n * Feature accordion component with expandable items and accompanying image.\n * Used for showcasing product features with visual examples.\n * Features auto-cycling through items with a progress timer.\n * \n * **Must be wrapped in a Section component** to inherit theme styling.\n * The component automatically adapts colors based on the parent Section's theme.\n * \n * @example\n * ```tsx\n * <Section theme=\"inkwell\">\n * <FeatureAccordion heading=\"Features\" items={...} />\n * </Section>\n * ```\n */\n@Component({\n tag: 'af-feature-accordion',\n styleUrl: 'af-feature-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureAccordion {\n @Element() el!: HTMLElement;\n\n /** Section heading */\n @Prop() heading: string = 'Give AI agents your paperwork';\n\n /** JSON string of accordion items */\n @Prop() items: string = '[]';\n\n /** Auto-cycle interval in milliseconds (default: 6000ms = 6 seconds) */\n @Prop() cycleInterval: number = 6000;\n\n /** Whether auto-cycling is enabled */\n @Prop() autoCycle: boolean = true;\n\n /** Currently expanded item index */\n @State() expandedIndex: number = 0;\n\n /** Progress of current timer (0-100) */\n @State() timerProgress: number = 100;\n\n private progressTimer: number | null = null;\n private progressStartTime: number = 0;\n\n componentDidLoad() {\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n disconnectedCallback() {\n this.stopCycling();\n }\n\n @Watch('autoCycle')\n handleAutoCycleChange(newValue: boolean) {\n if (newValue) {\n this.startCycling();\n } else {\n this.stopCycling();\n }\n }\n\n private getItems(): FeatureAccordionItem[] {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n\n private startCycling() {\n this.stopCycling();\n this.progressStartTime = Date.now();\n this.timerProgress = 100;\n \n // Progress animation frame\n const updateProgress = () => {\n const elapsed = Date.now() - this.progressStartTime;\n const remaining = this.cycleInterval - elapsed;\n \n if (remaining <= 0) {\n this.moveToNextItem();\n } else {\n this.timerProgress = (remaining / this.cycleInterval) * 100;\n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n };\n \n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n\n private stopCycling() {\n if (this.progressTimer) {\n cancelAnimationFrame(this.progressTimer);\n this.progressTimer = null;\n }\n }\n\n private moveToNextItem() {\n const items = this.getItems();\n if (items.length === 0) return;\n \n this.expandedIndex = (this.expandedIndex + 1) % items.length;\n // Restart the cycling timer for the new item\n this.startCycling();\n }\n\n private handleItemClick(index: number) {\n // Reset timer when user clicks\n this.expandedIndex = index;\n // Restart the cycling timer for the clicked item\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n render() {\n const items = this.getItems();\n const currentItem = items[this.expandedIndex];\n\n return (\n <Host>\n <div class=\"feature-accordion\">\n <div class=\"feature-accordion__container\">\n <h2 class=\"feature-accordion__heading\">{this.heading}</h2>\n \n <div class=\"feature-accordion__content\">\n {/* Left side - Accordion */}\n <div class=\"feature-accordion__list\">\n {items.map((item, index) => (\n <div \n class={{\n 'accordion-item': true,\n 'accordion-item--expanded': this.expandedIndex === index\n }}\n key={index}\n >\n <button \n class=\"accordion-item__header\"\n onClick={() => this.handleItemClick(index)}\n aria-expanded={this.expandedIndex === index ? 'true' : 'false'}\n >\n <h4 class=\"accordion-item__title\">{item.title}</h4>\n <span class=\"accordion-item__icon\">\n {this.expandedIndex === index ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n )}\n </span>\n </button>\n <div \n class=\"accordion-item__content\"\n style={{ \n maxHeight: this.expandedIndex === index ? '200px' : '0',\n opacity: this.expandedIndex === index ? '1' : '0'\n }}\n >\n <p class=\"accordion-item__description\">{item.description}</p>\n {this.expandedIndex === index && this.autoCycle && (\n <div class=\"accordion-item__timer-track\">\n <div \n class=\"accordion-item__timer-progress\"\n style={{ width: `${this.timerProgress}%` }}\n ></div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n\n {/* Right side - Image */}\n <div class=\"feature-accordion__image-container\">\n <div class=\"feature-accordion__image-wrapper\">\n {currentItem?.imageUrl && (\n <img \n src={currentItem.imageUrl} \n alt={currentItem.imageAlt || currentItem.title}\n class=\"feature-accordion__image\"\n />\n )}\n {!currentItem?.imageUrl && (\n <div class=\"feature-accordion__image-placeholder\">\n <slot name=\"image\"></slot>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"af-feature-accordion.entry.js","sources":["src/components/af-feature-accordion/af-feature-accordion.css?tag=af-feature-accordion&encapsulation=scoped","src/components/af-feature-accordion/af-feature-accordion.tsx"],"sourcesContent":["/*\n * af-feature-accordion\n * ---------------------------------------------------------------------------\n * Themable CSS custom properties (safe to override from consumers):\n *\n * --af-accent-progress Colour of the per-item timer/progress bar.\n * Defaults to --colour-softclay-600 (brand\n * soft-clay). Override to retheme the accent.\n * --af-feature-accordion-image-pad\n * Padding around the accompanying image\n * inside its rounded container. Defaults to\n * 40px — tune for tighter or looser rhythm.\n *\n * The component also inherits the following theme tokens from its parent\n * <af-section> (or any ancestor setting them):\n *\n * --af-typography-heading-primary heading colour\n * --af-typography-body-default body colour\n * --af-background-border-default rule/divider colour\n * --af-background-level-1 image-container background\n */\n\n:host {\n display: block;\n width: 100%;\n}\n\n.feature-accordion {\n /* Inherits theme from parent Section via CSS custom properties */\n padding: 0 24px;\n\n /* Internal custom properties that inherit from parent Section's theme */\n --_heading-color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n --_body-color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n --_border-color: var(--af-background-border-default, rgba(20, 52, 59, 0.12));\n}\n\n.feature-accordion__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: clamp(36px, 5vw, 52px);\n line-height: 1.05;\n letter-spacing: -0.025em;\n color: var(--_heading-color);\n margin: 0 0 56px 0;\n}\n\n.feature-accordion__content {\n display: flex;\n gap: 48px;\n}\n\n/* Accordion List */\n.feature-accordion__list {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n\n/* Accordion Item */\n.accordion-item {\n border-bottom: 1px solid var(--_border-color);\n}\n\n.accordion-item:first-child {\n border-top: 1px solid var(--_border-color);\n}\n\n.accordion-item__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 24px 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n gap: 16px;\n}\n\n.accordion-item__header:hover .accordion-item__title {\n color: var(--_heading-color);\n}\n\n.accordion-item__title {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n font-size: 22px;\n line-height: 1.25;\n color: var(--_heading-color);\n margin: 0;\n flex: 1;\n transition: color 0.2s ease;\n}\n\n/* Collapsed items have lighter text */\n.accordion-item:not(.accordion-item--expanded) .accordion-item__title {\n opacity: 0.7;\n}\n\n.accordion-item__icon {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n color: var(--_heading-color);\n transition: transform 0.2s ease;\n}\n\n.accordion-item:not(.accordion-item--expanded) .accordion-item__icon {\n opacity: 0.5;\n}\n\n.accordion-item__content {\n overflow: hidden;\n transition: max-height 0.3s ease, opacity 0.3s ease;\n}\n\n.accordion-item__description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: 17px;\n line-height: 1.6;\n color: var(--_body-color);\n margin: 0 0 20px 0;\n padding-right: 40px;\n opacity: 0.85;\n}\n\n/* Timer track - the progress bar at the bottom of expanded items */\n.accordion-item__timer-track {\n height: 3px;\n background-color: var(--_border-color);\n border-radius: 2px;\n margin-bottom: 8px;\n overflow: hidden;\n display: flex;\n justify-content: flex-start;\n}\n\n.accordion-item__timer-progress {\n height: 100%;\n background-color: var(--af-accent-progress, var(--colour-softclay-600, #9e8765));\n border-radius: 2px;\n transition: width 0.05s linear;\n}\n\n/* Image Container - stretches full height to align with accordion */\n.feature-accordion__image-container {\n display: flex;\n align-items: center;\n justify-content: center;\n /* Flows from parent Section's theme; mist-green fallback for unthemed use */\n background-color: var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));\n border-radius: 20px;\n overflow: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.feature-accordion__image-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: var(--af-feature-accordion-image-pad, 40px);\n}\n\n.feature-accordion__image {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n object-fit: contain;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n}\n\n.feature-accordion__image-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Tablet */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .feature-accordion__content {\n gap: 32px;\n }\n\n .feature-accordion__heading {\n margin-bottom: 40px;\n }\n\n .accordion-item__title {\n font-size: 20px;\n }\n}\n\n/* Mobile */\n/* mobile-only */\n@media (max-width: 768px) {\n .feature-accordion__content {\n flex-direction: column;\n gap: 32px;\n }\n\n .feature-accordion__image-container {\n order: -1;\n min-height: 280px;\n flex: none;\n }\n\n .feature-accordion__list {\n flex: none;\n }\n\n .accordion-item__title {\n font-size: 18px;\n }\n\n .accordion-item__description {\n font-size: 15px;\n padding-right: 0;\n }\n}\n","import { Component, h, Host, Prop, State, Element, Watch } from '@stencil/core';\n\nexport interface FeatureAccordionItem {\n title: string;\n description: string;\n imageUrl?: string;\n imageAlt?: string;\n}\n\n/**\n * Feature accordion component with expandable items and accompanying image.\n * Used for showcasing product features with visual examples.\n * Features auto-cycling through items with a progress timer.\n * \n * **Must be wrapped in a Section component** to inherit theme styling.\n * The component automatically adapts colors based on the parent Section's theme.\n * \n * @example\n * ```tsx\n * <Section theme=\"inkwell\">\n * <FeatureAccordion heading=\"Features\" items={...} />\n * </Section>\n * ```\n */\n@Component({\n tag: 'af-feature-accordion',\n styleUrl: 'af-feature-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureAccordion {\n @Element() el!: HTMLElement;\n\n /** Section heading */\n @Prop() heading: string = 'Give AI agents your paperwork';\n\n /** JSON string of accordion items */\n @Prop() items: string = '[]';\n\n /** Auto-cycle interval in milliseconds (default: 6000ms = 6 seconds) */\n @Prop() cycleInterval: number = 6000;\n\n /** Whether auto-cycling is enabled */\n @Prop() autoCycle: boolean = true;\n\n /** Currently expanded item index */\n @State() expandedIndex: number = 0;\n\n /** Progress of current timer (0-100) */\n @State() timerProgress: number = 100;\n\n private progressTimer: number | null = null;\n private progressStartTime: number = 0;\n\n componentDidLoad() {\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n disconnectedCallback() {\n this.stopCycling();\n }\n\n @Watch('autoCycle')\n handleAutoCycleChange(newValue: boolean) {\n if (newValue) {\n this.startCycling();\n } else {\n this.stopCycling();\n }\n }\n\n private getItems(): FeatureAccordionItem[] {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n\n private startCycling() {\n this.stopCycling();\n this.progressStartTime = Date.now();\n this.timerProgress = 100;\n \n // Progress animation frame\n const updateProgress = () => {\n const elapsed = Date.now() - this.progressStartTime;\n const remaining = this.cycleInterval - elapsed;\n \n if (remaining <= 0) {\n this.moveToNextItem();\n } else {\n this.timerProgress = (remaining / this.cycleInterval) * 100;\n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n };\n \n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n\n private stopCycling() {\n if (this.progressTimer) {\n cancelAnimationFrame(this.progressTimer);\n this.progressTimer = null;\n }\n }\n\n private moveToNextItem() {\n const items = this.getItems();\n if (items.length === 0) return;\n \n this.expandedIndex = (this.expandedIndex + 1) % items.length;\n // Restart the cycling timer for the new item\n this.startCycling();\n }\n\n private handleItemClick(index: number) {\n // Reset timer when user clicks\n this.expandedIndex = index;\n // Restart the cycling timer for the clicked item\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n render() {\n const items = this.getItems();\n const currentItem = items[this.expandedIndex];\n\n return (\n <Host>\n <div class=\"feature-accordion\">\n <div class=\"feature-accordion__container\">\n <h2 class=\"feature-accordion__heading\">{this.heading}</h2>\n \n <div class=\"feature-accordion__content\">\n {/* Left side - Accordion */}\n <div class=\"feature-accordion__list\">\n {items.map((item, index) => (\n <div \n class={{\n 'accordion-item': true,\n 'accordion-item--expanded': this.expandedIndex === index\n }}\n key={index}\n >\n <button \n class=\"accordion-item__header\"\n onClick={() => this.handleItemClick(index)}\n aria-expanded={this.expandedIndex === index ? 'true' : 'false'}\n >\n <h4 class=\"accordion-item__title\">{item.title}</h4>\n <span class=\"accordion-item__icon\">\n {this.expandedIndex === index ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n )}\n </span>\n </button>\n <div \n class=\"accordion-item__content\"\n style={{ \n maxHeight: this.expandedIndex === index ? '200px' : '0',\n opacity: this.expandedIndex === index ? '1' : '0'\n }}\n >\n <p class=\"accordion-item__description\">{item.description}</p>\n {this.expandedIndex === index && this.autoCycle && (\n <div class=\"accordion-item__timer-track\">\n <div \n class=\"accordion-item__timer-progress\"\n style={{ width: `${this.timerProgress}%` }}\n ></div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n\n {/* Right side - Image */}\n <div class=\"feature-accordion__image-container\">\n <div class=\"feature-accordion__image-wrapper\">\n {currentItem?.imageUrl && (\n <img \n src={currentItem.imageUrl} \n alt={currentItem.imageAlt || currentItem.title}\n class=\"feature-accordion__image\"\n />\n )}\n {!currentItem?.imageUrl && (\n <div class=\"feature-accordion__image-placeholder\">\n <slot name=\"image\"></slot>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,qBAAqB,GAAG,s+HAAs+H;;MC8Bv/H,kBAAkB,GAAA,MAAA;AAN/B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUU,QAAA,IAAO,CAAA,OAAA,GAAW,+BAA+B;;AAGjD,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI;;AAGpB,QAAA,IAAa,CAAA,aAAA,GAAW,IAAI;;AAG5B,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI;;AAGxB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC;;AAGzB,QAAA,IAAa,CAAA,aAAA,GAAW,GAAG;AAE5B,QAAA,IAAa,CAAA,aAAA,GAAkB,IAAI;AACnC,QAAA,IAAiB,CAAA,iBAAA,GAAW,CAAC;AA8JtC;IA5JC,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,YAAY,EAAE;;;IAIvB,oBAAoB,GAAA;QAClB,IAAI,CAAC,WAAW,EAAE;;AAIpB,IAAA,qBAAqB,CAAC,QAAiB,EAAA;QACrC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,EAAE;;aACd;YACL,IAAI,CAAC,WAAW,EAAE;;;IAId,QAAQ,GAAA;AACd,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;AAC7B,QAAA,MAAM;AACN,YAAA,OAAO,EAAE;;;IAIL,YAAY,GAAA;QAClB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG;;QAGxB,MAAM,cAAc,GAAG,MAAK;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB;AACnD,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO;AAE9C,YAAA,IAAI,SAAS,IAAI,CAAC,EAAE;gBAClB,IAAI,CAAC,cAAc,EAAE;;iBAChB;AACL,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG;AAC3D,gBAAA,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,cAAc,CAAC;;AAE9D,SAAC;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,cAAc,CAAC;;IAGpD,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;AACxC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;;IAIrB,cAAc,GAAA;AACpB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC7B,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE;AAExB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;;QAE5D,IAAI,CAAC,YAAY,EAAE;;AAGb,IAAA,eAAe,CAAC,KAAa,EAAA;;AAEnC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;AAE1B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,YAAY,EAAE;;;IAIvB,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QAE7C,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,4BAA4B,IAAE,IAAI,CAAC,OAAO,CAAM,EAE1D,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EAErC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,yBAAyB,IACjC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACrB,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,gBAAgB,EAAE,IAAI;AACtB,gBAAA,0BAA0B,EAAE,IAAI,CAAC,aAAa,KAAK;aACpD,EACD,GAAG,EAAE,KAAK,EAAA,EAEV,CAAA,CAAA,QAAA,EAAA,EACE,KAAK,EAAC,wBAAwB,EAC9B,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAA,eAAA,EAC3B,IAAI,CAAC,aAAa,KAAK,KAAK,GAAG,MAAM,GAAG,OAAO,EAAA,EAE9D,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAM,EACnD,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,sBAAsB,EAAA,EAC/B,IAAI,CAAC,aAAa,KAAK,KAAK,IAC3B,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EAC5F,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,UAAU,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAE,CAAA,CAC9E,KAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EAC5F,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,kBAAkB,EAAC,MAAM,EAAC,cAAc,EAAc,cAAA,EAAA,GAAG,oBAAgB,OAAO,EAAA,CAAE,CACtF,CACP,CACI,CACA,EACT,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAC,yBAAyB,EAC/B,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,IAAI,CAAC,aAAa,KAAK,KAAK,GAAG,OAAO,GAAG,GAAG;AACvD,gBAAA,OAAO,EAAE,IAAI,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,GAAG;AAC/C,aAAA,EAAA,EAED,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAC,6BAA6B,IAAE,IAAI,CAAC,WAAW,CAAK,EAC5D,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAC7C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,gCAAgC,EACtC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,aAAa,GAAG,EAAE,EACrC,CAAA,CACH,CACP,CACG,CACF,CACP,CAAC,CACE,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oCAAoC,EAAA,EAC7C,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC1C,WAAW,EAAE,QAAQ,KACpB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,WAAW,CAAC,QAAQ,EACzB,GAAG,EAAE,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,EAC9C,KAAK,EAAC,0BAA0B,EAAA,CAChC,CACH,EACA,CAAC,WAAW,EAAE,QAAQ,KACrB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sCAAsC,EAAA,EAC/C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACP,CACG,CACF,CACF,CACF,CACF,CACD;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afFeatureCardCss = ".sc-af-feature-card-h{display:block;--af-card-padding:0;--af-card-gap:0}[card-size=\"default\"].sc-af-feature-card-h{width:544px}[card-size=\"large\"].sc-af-feature-card-h{width:777px}[card-size=\"flexible\"].sc-af-feature-card-h{display:flex;width:100%;height:100%}.feature-card.sc-af-feature-card{overflow:hidden;position:relative;display:flex;flex-direction:column;box-sizing:border-box;border-radius:var(--border-radius-card-level-1, 32px);width:100%;height:100%;isolation:isolate}.feature-card--layout-full-bleed.sc-af-feature-card{background:var(--background-base, var(--colour-brand-inkwell, #14343b))}[card-size=\"default\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card,[card-size=\"large\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{height:660px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{min-height:480px}.feature-card__background.sc-af-feature-card{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:0}.feature-card__background-image.sc-af-feature-card{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}.feature-card__overlay.sc-af-feature-card{position:absolute;bottom:0;left:0;right:0;border-radius:0;backdrop-filter:blur(2px);background:linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);z-index:1;padding:124px 32px 32px 32px;--af-typography-heading-primary:var(--typography-heading-secondary, #ffffff);--af-typography-heading-secondary:var(--typography-heading-secondary, #ffffff);--af-typography-body-default:var(--typography-body-dark, #ffffff);--colour-typography-heading-primary:var(--typography-heading-secondary, #ffffff);--colour-typography-heading-secondary:var(--typography-heading-secondary, #ffffff);--colour-typography-body-default:var(--typography-body-dark, #ffffff)}.feature-card--layout-standard.sc-af-feature-card{background:var(--background-level-1, var(--colour-mistgreen-200, #e8eeed))}.feature-card--layout-standard.sc-af-feature-card af-card.sc-af-feature-card{--border-radius-card-level-1:0}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-standard.sc-af-feature-card{min-height:400px}.feature-card__content.sc-af-feature-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;z-index:1;padding:40px 32px 12px 32px;flex:1 1 auto}[card-size=\"large\"].sc-af-feature-card-h .feature-card__content.sc-af-feature-card{padding:40px 40px 0 40px}.feature-card__image-area.sc-af-feature-card{position:relative;width:100%;height:160px;flex-shrink:0;overflow:hidden;border-radius:0}.feature-card__image.sc-af-feature-card{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:0}.feature-card.sc-af-feature-card af-typography-lockup.sc-af-feature-card{--colour-typography-heading-primary:var(--af-typography-heading-primary, var(--typography-heading-primary, #14343b));--colour-typography-body-default:var(--af-typography-body-default, var(--typography-body-default, #2b484f))}@media (max-width: 768px){.feature-card.sc-af-feature-card{border-radius:var(--border-radius-card-level-1, 24px)}[card-size=\"default\"].sc-af-feature-card-h,[card-size=\"large\"].sc-af-feature-card-h{width:335px}[card-size=\"default\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card,[card-size=\"large\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{height:442px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-standard.sc-af-feature-card{min-height:340px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{min-height:380px}.feature-card__overlay.sc-af-feature-card{padding:80px 24px 28px 24px}.feature-card__content.sc-af-feature-card{padding:32px 24px 12px 24px}.feature-card__image-area.sc-af-feature-card{height:192px}}";
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-feature-card.entry.js","sources":["src/components/af-feature-card/af-feature-card.css?tag=af-feature-card&encapsulation=scoped","src/components/af-feature-card/af-feature-card.tsx"],"sourcesContent":["/* ==========================================================================\n Feature Card - Figma Specs\n \n Desktop Full-bleed: 544px × 660px, radius 32px\n Desktop Standard default: 544px width, radius 32px\n Desktop Standard large: 777px width, radius 32px\n Mobile Full-bleed: 335px × 442px, radius 24px\n Mobile Standard: 335px width, radius 24px\n ========================================================================== */\n\n/* ==========================================================================\n Host Element - Controls outer dimensions\n ========================================================================== */\n\n:host {\n display: block;\n --af-card-padding: 0;\n --af-card-gap: 0;\n}\n\n/* Fixed size hosts constrain to Figma dimensions */\n:host([card-size=\"default\"]) {\n width: 544px;\n}\n\n:host([card-size=\"large\"]) {\n width: 777px;\n}\n\n/* Flexible cards fill their container */\n:host([card-size=\"flexible\"]) {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Base Feature Card Styles\n ========================================================================== */\n\n.feature-card {\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-radius: var(--border-radius-card-level-1, 32px);\n width: 100%;\n height: 100%;\n /* Ensure proper clipping of absolutely positioned children with border-radius */\n isolation: isolate;\n}\n\n/* ==========================================================================\n Full Bleed Layout Mode\n Figma: 544px × 660px (desktop), 335px × 442px (mobile)\n ========================================================================== */\n\n.feature-card--layout-full-bleed {\n background: var(--background-base, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Full-bleed fixed sizes have explicit heights on host */\n:host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n:host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 660px;\n}\n\n/* Full-bleed flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 480px;\n}\n\n.feature-card__background {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n border-radius: 0;\n}\n\n.feature-card__background-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n border-radius: 0;\n}\n\n/* Overlay gradient with text */\n.feature-card__overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 0;\n backdrop-filter: blur(2px);\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n z-index: 1;\n /* Desktop: pt-124px px-32px pb-32px */\n padding: 124px 32px 32px 32px;\n\n /* White text on dark overlay */\n --af-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --af-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --af-typography-body-default: var(--typography-body-dark, #ffffff);\n --colour-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-body-default: var(--typography-body-dark, #ffffff);\n}\n\n/* ==========================================================================\n Standard Layout Mode\n \n Structure: .feature-card > af-card[stretch] > [content] + [image-area]\n \n When cardSize=\"flexible\", af-card receives stretch prop which enables\n the flex chain. Content grows to fill space, image stays at bottom.\n ========================================================================== */\n\n.feature-card--layout-standard {\n background: var(--background-level-1, var(--colour-mistgreen-200, #e8eeed));\n}\n\n/* Remove border-radius from inner af-card - outer .feature-card handles rounding */\n.feature-card--layout-standard af-card {\n --border-radius-card-level-1: 0;\n}\n\n/* Standard flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 400px;\n}\n\n/* Content area - grows to push image to bottom (when af-card has stretch) */\n.feature-card__content {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n z-index: 1;\n /* Desktop default: pt-40px px-32px pb-12px */\n padding: 40px 32px 12px 32px;\n flex: 1 1 auto;\n}\n\n/* Large card content padding: pt-40px px-40px pb-0 */\n:host([card-size=\"large\"]) .feature-card__content {\n padding: 40px 40px 0 40px;\n}\n\n/* ==========================================================================\n Image Area (Standard Layout)\n Figma: 160px height (desktop), 192px height (mobile)\n ========================================================================== */\n\n.feature-card__image-area {\n position: relative;\n width: 100%;\n height: 160px;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 0;\n}\n\n.feature-card__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center top;\n border-radius: 0;\n}\n\n/* ==========================================================================\n Typography Lockup Styling\n ========================================================================== */\n\n.feature-card af-typography-lockup {\n --colour-typography-heading-primary: var(--af-typography-heading-primary, var(--typography-heading-primary, #14343b));\n --colour-typography-body-default: var(--af-typography-body-default, var(--typography-body-default, #2b484f));\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (max-width: 768px)\n \n Figma:\n - Full-bleed: 335px × 442px, radius 24px\n - Standard: 335px width, radius 24px\n ========================================================================== */\n\n/* mobile-only */\n@media (max-width: 768px) {\n .feature-card {\n border-radius: var(--border-radius-card-level-1, 24px);\n }\n\n /* Mobile fixed widths on host */\n :host([card-size=\"default\"]),\n :host([card-size=\"large\"]) {\n width: 335px;\n }\n\n /* Mobile full-bleed height: 442px */\n :host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n :host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 442px;\n }\n\n /* Mobile flexible minimum heights */\n :host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 340px;\n }\n\n :host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 380px;\n }\n\n /* Mobile overlay padding: pt-80px px-24px pb-28px */\n .feature-card__overlay {\n padding: 80px 24px 28px 24px;\n }\n\n /* Mobile content padding: pt-32px px-24px pb-12px */\n .feature-card__content {\n padding: 32px 24px 12px 24px;\n }\n\n /* Mobile image area: 192px height */\n .feature-card__image-area {\n height: 192px;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Feature Card molecule component that combines a card with an image.\n * \n * Two layout modes:\n * - `standard`: Theme background with text at top and image at bottom\n * - `full-bleed`: Image covers entire card with text overlay at bottom\n * \n * Responsive: Automatically adapts to mobile viewport (≤768px).\n * \n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n * \n * @slot - Heading text content\n * @slot body - Description/body text content\n */\n@Component({\n tag: 'af-feature-card',\n styleUrl: 'af-feature-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Only applies to 'standard' layout mode. Defaults to 'mist-green'.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * Layout mode for the card.\n * - 'standard': Theme background with text at top and image at bottom\n * - 'full-bleed': Image covers entire card with text overlay at bottom\n */\n @Prop() layout: 'standard' | 'full-bleed' = 'standard';\n\n /**\n * Card size variant.\n * - 'default': Fixed 544px × 420px\n * - 'large': Fixed 777px × 480px \n * - 'flexible': Fills container (for grid layouts)\n */\n @Prop({ reflect: true }) cardSize: 'default' | 'large' | 'flexible' = 'default';\n\n /**\n * Heading size for typography lockup (1-5, where 1 is largest).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 3;\n\n /**\n * Background/feature image URL.\n */\n @Prop() imageSrc?: string;\n\n /**\n * Image alt text for accessibility.\n * Provide meaningful alt text for feature images.\n * Only use empty string for purely decorative images.\n */\n @Prop() imageAlt: string = '';\n\n render() {\n const hasImage = !!this.imageSrc;\n const isFullBleed = this.layout === 'full-bleed';\n\n const wrapperClasses = {\n 'feature-card': true,\n [`feature-card--layout-${this.layout}`]: true,\n [`feature-card--size-${this.cardSize}`]: true,\n };\n\n // Full-bleed mode: image background with overlay\n if (isFullBleed) {\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Background image */}\n {hasImage && (\n <div class=\"feature-card__background\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__background-image\"\n />\n </div>\n )}\n\n {/* Content overlay with gradient */}\n <div class=\"feature-card__overlay\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </div>\n </Host>\n );\n }\n\n // Standard mode: theme card with image at bottom\n const isFlexible = this.cardSize === 'flexible';\n \n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme} stretch={isFlexible}>\n {/* Content area with typography lockup */}\n <div class=\"feature-card__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Image area at bottom */}\n {hasImage && (\n <div class=\"feature-card__image-area\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__image\"\n />\n </div>\n )}\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"af-feature-card.entry.js","sources":["src/components/af-feature-card/af-feature-card.css?tag=af-feature-card&encapsulation=scoped","src/components/af-feature-card/af-feature-card.tsx"],"sourcesContent":["/* ==========================================================================\n Feature Card - Figma Specs\n \n Desktop Full-bleed: 544px × 660px, radius 32px\n Desktop Standard default: 544px width, radius 32px\n Desktop Standard large: 777px width, radius 32px\n Mobile Full-bleed: 335px × 442px, radius 24px\n Mobile Standard: 335px width, radius 24px\n ========================================================================== */\n\n/* ==========================================================================\n Host Element - Controls outer dimensions\n ========================================================================== */\n\n:host {\n display: block;\n --af-card-padding: 0;\n --af-card-gap: 0;\n}\n\n/* Fixed size hosts constrain to Figma dimensions */\n:host([card-size=\"default\"]) {\n width: 544px;\n}\n\n:host([card-size=\"large\"]) {\n width: 777px;\n}\n\n/* Flexible cards fill their container */\n:host([card-size=\"flexible\"]) {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Base Feature Card Styles\n ========================================================================== */\n\n.feature-card {\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-radius: var(--border-radius-card-level-1, 32px);\n width: 100%;\n height: 100%;\n /* Ensure proper clipping of absolutely positioned children with border-radius */\n isolation: isolate;\n}\n\n/* ==========================================================================\n Full Bleed Layout Mode\n Figma: 544px × 660px (desktop), 335px × 442px (mobile)\n ========================================================================== */\n\n.feature-card--layout-full-bleed {\n background: var(--background-base, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Full-bleed fixed sizes have explicit heights on host */\n:host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n:host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 660px;\n}\n\n/* Full-bleed flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 480px;\n}\n\n.feature-card__background {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n border-radius: 0;\n}\n\n.feature-card__background-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n border-radius: 0;\n}\n\n/* Overlay gradient with text */\n.feature-card__overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 0;\n backdrop-filter: blur(2px);\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n z-index: 1;\n /* Desktop: pt-124px px-32px pb-32px */\n padding: 124px 32px 32px 32px;\n\n /* White text on dark overlay */\n --af-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --af-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --af-typography-body-default: var(--typography-body-dark, #ffffff);\n --colour-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-body-default: var(--typography-body-dark, #ffffff);\n}\n\n/* ==========================================================================\n Standard Layout Mode\n \n Structure: .feature-card > af-card[stretch] > [content] + [image-area]\n \n When cardSize=\"flexible\", af-card receives stretch prop which enables\n the flex chain. Content grows to fill space, image stays at bottom.\n ========================================================================== */\n\n.feature-card--layout-standard {\n background: var(--background-level-1, var(--colour-mistgreen-200, #e8eeed));\n}\n\n/* Remove border-radius from inner af-card - outer .feature-card handles rounding */\n.feature-card--layout-standard af-card {\n --border-radius-card-level-1: 0;\n}\n\n/* Standard flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 400px;\n}\n\n/* Content area - grows to push image to bottom (when af-card has stretch) */\n.feature-card__content {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n z-index: 1;\n /* Desktop default: pt-40px px-32px pb-12px */\n padding: 40px 32px 12px 32px;\n flex: 1 1 auto;\n}\n\n/* Large card content padding: pt-40px px-40px pb-0 */\n:host([card-size=\"large\"]) .feature-card__content {\n padding: 40px 40px 0 40px;\n}\n\n/* ==========================================================================\n Image Area (Standard Layout)\n Figma: 160px height (desktop), 192px height (mobile)\n ========================================================================== */\n\n.feature-card__image-area {\n position: relative;\n width: 100%;\n height: 160px;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 0;\n}\n\n.feature-card__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center top;\n border-radius: 0;\n}\n\n/* ==========================================================================\n Typography Lockup Styling\n ========================================================================== */\n\n.feature-card af-typography-lockup {\n --colour-typography-heading-primary: var(--af-typography-heading-primary, var(--typography-heading-primary, #14343b));\n --colour-typography-body-default: var(--af-typography-body-default, var(--typography-body-default, #2b484f));\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (max-width: 768px)\n \n Figma:\n - Full-bleed: 335px × 442px, radius 24px\n - Standard: 335px width, radius 24px\n ========================================================================== */\n\n/* mobile-only */\n@media (max-width: 768px) {\n .feature-card {\n border-radius: var(--border-radius-card-level-1, 24px);\n }\n\n /* Mobile fixed widths on host */\n :host([card-size=\"default\"]),\n :host([card-size=\"large\"]) {\n width: 335px;\n }\n\n /* Mobile full-bleed height: 442px */\n :host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n :host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 442px;\n }\n\n /* Mobile flexible minimum heights */\n :host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 340px;\n }\n\n :host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 380px;\n }\n\n /* Mobile overlay padding: pt-80px px-24px pb-28px */\n .feature-card__overlay {\n padding: 80px 24px 28px 24px;\n }\n\n /* Mobile content padding: pt-32px px-24px pb-12px */\n .feature-card__content {\n padding: 32px 24px 12px 24px;\n }\n\n /* Mobile image area: 192px height */\n .feature-card__image-area {\n height: 192px;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * Feature Card molecule component that combines a card with an image.\n * \n * Two layout modes:\n * - `standard`: Theme background with text at top and image at bottom\n * - `full-bleed`: Image covers entire card with text overlay at bottom\n * \n * Responsive: Automatically adapts to mobile viewport (≤768px).\n * \n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n * \n * @slot - Heading text content\n * @slot body - Description/body text content\n */\n@Component({\n tag: 'af-feature-card',\n styleUrl: 'af-feature-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Only applies to 'standard' layout mode. Defaults to 'mist-green'.\n */\n @Prop() theme?: Theme = 'mist-green';\n\n /**\n * Layout mode for the card.\n * - 'standard': Theme background with text at top and image at bottom\n * - 'full-bleed': Image covers entire card with text overlay at bottom\n */\n @Prop() layout: 'standard' | 'full-bleed' = 'standard';\n\n /**\n * Card size variant.\n * - 'default': Fixed 544px × 420px\n * - 'large': Fixed 777px × 480px \n * - 'flexible': Fills container (for grid layouts)\n */\n @Prop({ reflect: true }) cardSize: 'default' | 'large' | 'flexible' = 'default';\n\n /**\n * Heading size for typography lockup (1-5, where 1 is largest).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 3;\n\n /**\n * Background/feature image URL.\n */\n @Prop() imageSrc?: string;\n\n /**\n * Image alt text for accessibility.\n * Provide meaningful alt text for feature images.\n * Only use empty string for purely decorative images.\n */\n @Prop() imageAlt: string = '';\n\n render() {\n const hasImage = !!this.imageSrc;\n const isFullBleed = this.layout === 'full-bleed';\n\n const wrapperClasses = {\n 'feature-card': true,\n [`feature-card--layout-${this.layout}`]: true,\n [`feature-card--size-${this.cardSize}`]: true,\n };\n\n // Full-bleed mode: image background with overlay\n if (isFullBleed) {\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Background image */}\n {hasImage && (\n <div class=\"feature-card__background\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__background-image\"\n />\n </div>\n )}\n\n {/* Content overlay with gradient */}\n <div class=\"feature-card__overlay\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </div>\n </Host>\n );\n }\n\n // Standard mode: theme card with image at bottom\n const isFlexible = this.cardSize === 'flexible';\n \n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme} stretch={isFlexible}>\n {/* Content area with typography lockup */}\n <div class=\"feature-card__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Image area at bottom */}\n {hasImage && (\n <div class=\"feature-card__image-area\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__image\"\n />\n </div>\n )}\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afFeatureGridCss = ".sc-af-feature-grid-h{display:block;width:100%}.feature-grid.sc-af-feature-grid{display:flex;flex-direction:column;align-items:center;width:100%}.feature-grid__cards.sc-af-feature-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;width:100%;max-width:1440px;align-items:stretch}.feature-grid__cards.sc-af-feature-grid>af-feature-card.sc-af-feature-grid{height:100%}.feature-grid--cols-3.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(3, 1fr)}.feature-grid--cols-2.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--cols-1.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:1fr}.feature-grid__progress.sc-af-feature-grid{display:none;width:100%;margin-top:16px}@media (max-width: 767px){.feature-grid__cards.sc-af-feature-grid{gap:16px}.feature-grid--mobile-list.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:1fr;gap:20px}.feature-grid--mobile-grid.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid::-webkit-scrollbar{display:none}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid>af-feature-card.sc-af-feature-grid{flex:0 0 280px;scroll-snap-align:start}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__progress.sc-af-feature-grid{display:block}}@media (min-width: 768px) and (max-width: 1023px){.feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--cols-3.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid,.feature-grid--cols-4.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}}";
|
|
4
4
|
|
|
@@ -78,7 +78,7 @@ const AfFeatureGrid = class {
|
|
|
78
78
|
[`feature-grid--mobile-${this.mobileLayout}`]: true,
|
|
79
79
|
};
|
|
80
80
|
const showProgressLine = this.mobileLayout === 'scroll';
|
|
81
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: '9aacf2968c1723a036ab7583b052f56d7673543f' }, h("div", { key: 'c965c986ee73a4913e45406b461824927a541331', class: gridClasses }, h("div", { key: '177edb18e1342d60eda11adad85dad87a6c002c3', class: "feature-grid__cards" }, h("slot", { key: 'e0f15eba0bd58263f7a33474f34093785158f03d' })), showProgressLine && (h("div", { key: 'b952584d6b23121bfb820ebdcc1a526a34597f67', class: "feature-grid__progress" }, h("af-progress-line", { key: '97b4ac99e10078b6345a5567a6603290b8467af5', progress: this.scrollProgress }))))));
|
|
82
82
|
}
|
|
83
83
|
get host() { return getElement(this); }
|
|
84
84
|
static get watchers() { return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afFieldsetCss = ":host{display:block}.fieldset{display:flex;flex-direction:column;border:none;padding:0;margin:0;min-inline-size:0}.fieldset.disabled{opacity:0.5;pointer-events:none}.legend{display:block;font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2);letter-spacing:var(--letter-spacing-heading, -0.02em);color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));padding:0;margin:0 0 12px 0;width:100%}.items{display:flex}.items.orientation-vertical{flex-direction:column;gap:8px;align-items:flex-start}.items.orientation-horizontal{flex-direction:row;flex-wrap:wrap;gap:28px;align-items:center}::slotted(*){flex-shrink:0}.items.orientation-vertical ::slotted(*){width:100%}";
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afFooterColumnCss = ".sc-af-footer-column-h{display:block}.footer-column.sc-af-footer-column{display:flex;flex-direction:column;gap:16px}.footer-column__heading.sc-af-footer-column{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer-column__list.sc-af-footer-column{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer-column__list.sc-af-footer-column-s>li,.footer-column__list .sc-af-footer-column-s>li{margin:0}";
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ const AfFooterColumn = class {
|
|
|
9
9
|
this.heading = '';
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: '02afc8f33ad0417467d4e795e77a1da74c7ede57' }, h("div", { key: 'f24cbe4720cf6e5df7351e9fe8cec05cca8753b0', class: "footer-column" }, this.heading && (h("h5", { key: '1f615da8d2c755dd0ab5a9679275538d4bb5945e', class: "footer-column__heading" }, this.heading)), h("ul", { key: '0ecdc874412334c418e049dcb0fff738cfdaa52b', class: "footer-column__list" }, h("slot", { key: '148b478bbd04204b3467329f98171a538b22d650' })))));
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
AfFooterColumn.style = afFooterColumnCss;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afFooterLinkCss = ".sc-af-footer-link-h{display:contents}li.sc-af-footer-link{margin:0;list-style:none}.footer-link.sc-af-footer-link{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer-link.sc-af-footer-link:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer-link__external-icon.sc-af-footer-link{opacity:0.7;flex-shrink:0}";
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ const AfFooterLink = class {
|
|
|
11
11
|
this.external = false;
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: 'f6c6f0433dc6bcffe507c33c0dec2590a7b167c6' }, h("li", { key: 'c2e69faa620fe59b1cec6e5c32ed37d3a34d9fb7' }, h("a", { key: '35330c42625be987164190b40d1ed1649a259a7f', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '43940df1b20b76d4f9dbec8a94ec39cd56080af3' }), this.external && (h("svg", { key: '7a3e086ead102abed43ed7e765d3012c5e963306', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: 'e3c266072bca65c154cf925fadc4beb59dfe8f86', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
AfFooterLink.style = afFooterLinkCss;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
|
-
const afFooterCss = ".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color
|
|
3
|
+
const afFooterCss = ".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color:var(--status-ok, #3E8F6E)}.footer__status-dot--issue.sc-af-footer{background-color:var(--status-issue, #B94A3B)}.footer__status-text.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7)}.footer__status-link.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:underline;text-underline-offset:2px;margin-left:8px}.footer__status-link.sc-af-footer:hover{text-decoration:none}.footer__bottom.sc-af-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px 0;border-top:1px solid rgba(198, 213, 209, 0.1);background-color:rgba(198, 213, 209, 0.05);margin:0 -24px;padding-left:calc(24px + env(safe-area-inset-left));padding-right:calc(24px + env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom))}.footer__copyright.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);margin:0}.footer__legal.sc-af-footer{display:flex;gap:24px}.footer__legal.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);text-decoration:underline;text-underline-offset:2px}.footer__legal.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:none}.footer__badges.sc-af-footer{display:flex;gap:16px;align-items:center}.footer__badge.sc-af-footer{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.footer__badge.sc-af-footer svg.sc-af-footer{width:100%;height:100%}@media (max-width: 1024px){.footer__top.sc-af-footer{grid-template-columns:1fr;gap:48px}.footer__brand.sc-af-footer{flex-direction:row;gap:16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{flex:1}}@media (max-width: 768px){.footer.sc-af-footer{padding:48px 0 0}.footer__top.sc-af-footer{gap:32px}.footer__brand.sc-af-footer{flex-direction:column}.footer__nav-columns.sc-af-footer{grid-template-columns:repeat(2, 1fr);gap:32px}.footer__bottom.sc-af-footer{flex-direction:column;align-items:flex-start;gap:16px}.footer__legal.sc-af-footer{flex-wrap:wrap;gap:16px}}@media (max-width: 480px){.footer__container.sc-af-footer{padding:0 16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{padding:24px}.footer__nav-columns.sc-af-footer{grid-template-columns:1fr;gap:24px}.footer__bottom.sc-af-footer{margin:0 -16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.footer__badges.sc-af-footer{width:100%;justify-content:flex-start}}";
|
|
4
4
|
|
|
5
5
|
const AfFooter = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -17,7 +17,7 @@ const AfFooter = class {
|
|
|
17
17
|
this.showStatus = true;
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
|
-
return (h(Host, { key: '
|
|
20
|
+
return (h(Host, { key: '0f0b3ac453f4bf2f17d0185484c312aae99d4f5e' }, h("footer", { key: '017d608cb00c9fb3da012fe9941e80cd9d5135e8', class: "footer" }, h("div", { key: '545a499bd2b75a1efea1efe1659e336753bcce46', class: "footer__container" }, h("div", { key: '66ed8e54b1af9445e15cb4e650d54a240f158c8c', class: "footer__top" }, h("div", { key: 'b4b442dbcaf2e52aae6c76706ecff5aa928bf2f5', class: "footer__brand" }, h("div", { key: '73ad4e70efa91fe96c6de0b80f270c470c73c8e4', class: "footer__brand-card" }, h("div", { key: '0ef27728bb86632b9451ed94220528f527ba62bb', class: "footer__logo" }, h("slot", { key: '5f6de1e2b9f7e9523ce49414ec1bf88a8411478b', name: "logo" })), h("div", { key: 'fdc742da1adce4e0a874c2ee1998e051aea5f10a', class: "footer__social" }, h("slot", { key: '3073881efc66cf692b3d986e11798587cba6f272', name: "social" }))), h("div", { key: '5fe296475d338597af763acb3957a406b5fdf887', class: "footer__contact-card" }, h("slot", { key: '38be1a96c41c246fba05b7ec080b50330ab43f22', name: "contact" }))), h("div", { key: 'e12c9774d5d4806728b375386a0491ed2e7a1d74', class: "footer__nav" }, h("div", { key: '6c5e293d11a87f48add7799c86fe5ff14618094c', class: "footer__nav-columns" }, h("slot", { key: '5d189a739cbdb1b989eb77008aac4b3f91be4940', name: "nav" })), this.showStatus && (h("div", { key: '29f8108dfd88e8f83f75dc765870621055bb952a', class: "footer__status" }, h("span", { key: '4e61880dc288cfc19fbef5a91fdc5295512d725a', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: 'dd1055516d076ac8a814e7b60bedf6989341225c', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: '7ddb72ef4df731dcadc479a6ecbe059b1ca569cb', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: 'c5acf298a42067cad20c914350e6f89b98e16162', class: "footer__bottom" }, this.copyrightText && (h("p", { key: 'ed923670ea3258db98b0eb7a5e197e87b5f45784', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '7a71bf0cf0f44bb38c4c696fd151ecbea2d3de1b', class: "footer__legal" }, h("slot", { key: 'afef7ce942c8fe362fb83d03438604378b4ac8f7', name: "legal" })), h("div", { key: 'b8940476d2cae97bc70916f4252e2a3337da37b8', class: "footer__badges" }, h("slot", { key: '3b076b800f2771237ea8f7fc2f1cc2c46c2e4ccc', name: "badges" })))))));
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
AfFooter.style = afFooterCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-footer.entry.js","sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 120px 0 0; /* Extra padding at top for overlapping cards */\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n background-color: #22c55e;\n}\n\n.footer__status-dot--issue {\n background-color: #ef4444;\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n /* Honour iOS safe-area insets so the copyright strip doesn't sit under the\n home indicator (bottom) or under landscape edge cutouts (left/right). */\n padding-left: calc(24px + env(safe-area-inset-left));\n padding-right: calc(24px + env(safe-area-inset-right));\n padding-bottom: max(24px, env(safe-area-inset-bottom));\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n/* mobile-only */\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n/* ≤ small */\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: calc(16px + env(safe-area-inset-left));\n padding-right: calc(16px + env(safe-area-inset-right));\n /* padding-bottom inherits from base rule with max(24px, safe-area-inset-bottom) */\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"af-footer.entry.js","sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 120px 0 0; /* Extra padding at top for overlapping cards */\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n /* Affinda-palette green — tuned to sit comfortably against the inkwell\n * footer backdrop without the candy-bright Tailwind default. */\n background-color: var(--status-ok, #3E8F6E);\n}\n\n.footer__status-dot--issue {\n /* Affinda-palette red — darkened toward soft-clay to match brand tone. */\n background-color: var(--status-issue, #B94A3B);\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n /* Honour iOS safe-area insets so the copyright strip doesn't sit under the\n home indicator (bottom) or under landscape edge cutouts (left/right). */\n padding-left: calc(24px + env(safe-area-inset-left));\n padding-right: calc(24px + env(safe-area-inset-right));\n padding-bottom: max(24px, env(safe-area-inset-bottom));\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n/* mobile-only */\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n/* ≤ small */\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: calc(16px + env(safe-area-inset-left));\n padding-right: calc(16px + env(safe-area-inset-right));\n /* padding-bottom inherits from base rule with max(24px, safe-area-inset-bottom) */\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afGridCalloutCss = ".sc-af-grid-callout-h{display:block;width:100%}.grid-callout.sc-af-grid-callout{display:flex;width:100%;gap:40px;align-items:stretch}.grid-callout__image-container.sc-af-grid-callout{flex:0 0 auto;width:45%;min-height:400px;position:relative;overflow:hidden}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0 4000px 4000px 0;margin-left:calc(-1 * var(--container-padding, 80px))}.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:4000px 0 0 4000px;margin-right:calc(-1 * var(--container-padding, 80px))}.grid-callout__image.sc-af-grid-callout{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grid-callout__content.sc-af-grid-callout{flex:1;display:flex;flex-direction:column;gap:48px;padding:40px 0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:40px}.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-right:40px}.grid-callout--no-image.sc-af-grid-callout{flex-direction:column}.grid-callout--no-image.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding:0}.grid-callout__heading.sc-af-grid-callout{max-width:840px}.grid-callout__items.sc-af-grid-callout{display:grid;gap:40px;width:100%}.grid-callout__items--cols-2.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items--cols-3.sc-af-grid-callout{grid-template-columns:repeat(3, 1fr)}.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(4, 1fr)}.grid-callout__cta.sc-af-grid-callout{display:flex;gap:12px;flex-wrap:wrap}.grid-callout__cta.sc-af-grid-callout:empty{display:none}@media (max-width: 1024px){.grid-callout.sc-af-grid-callout{gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:40%}.grid-callout__content.sc-af-grid-callout{gap:40px}.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items.sc-af-grid-callout{gap:32px}}@media (max-width: 768px){.grid-callout.sc-af-grid-callout{flex-direction:column;gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:calc(100% + 2 * var(--container-padding, 20px));min-height:280px;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px));border-radius:0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px))}.grid-callout__content.sc-af-grid-callout{padding:0;gap:32px}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:0;padding-right:0}.grid-callout__items.sc-af-grid-callout{grid-template-columns:1fr;gap:32px}.grid-callout__items--cols-2.sc-af-grid-callout,.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:1fr}}";
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-MwnBSqEY.js';
|
|
2
2
|
|
|
3
3
|
const afGridCss = ":host{display:block;box-sizing:border-box}:host([hidden]){display:none}.grid{display:grid;grid-template-columns:repeat(var(--grid-columns), 1fr);gap:var(--grid-gap);align-items:var(--grid-align)}@media (max-width: 1024px){.grid{grid-template-columns:repeat(var(--grid-columns-lg), 1fr)}}@media (max-width: 768px){.grid{grid-template-columns:repeat(var(--grid-columns-md), 1fr)}}@media (max-width: 480px){.grid{grid-template-columns:repeat(var(--grid-columns-sm), 1fr)}}";
|
|
4
4
|
|
|
@@ -26,14 +26,14 @@ const AfGrid = class {
|
|
|
26
26
|
end: 'end',
|
|
27
27
|
stretch: 'stretch',
|
|
28
28
|
};
|
|
29
|
-
return (h(Host, { key: '
|
|
29
|
+
return (h(Host, { key: '440c50dbd3a572f292b6a5b4b31845a70b5871bf', style: {
|
|
30
30
|
'--grid-columns': String(this.columns),
|
|
31
31
|
'--grid-columns-lg': String(this.columnsLg ?? this.columns),
|
|
32
32
|
'--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),
|
|
33
33
|
'--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),
|
|
34
34
|
'--grid-gap': `var(--space-${this.gap})`,
|
|
35
35
|
'--grid-align': alignMap[this.align],
|
|
36
|
-
} }, h("div", { key: '
|
|
36
|
+
} }, h("div", { key: '76ddac9b00743e64fa4e49e9fa80d02088dc858c', class: "grid" }, h("slot", { key: 'ac6ce8acf4e1ca3acabff3176b06a57eee265b72' }))));
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
AfGrid.style = afGridCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-grid.entry.js","sources":["src/components/af-grid/af-grid.css?tag=af-grid&encapsulation=shadow","src/components/af-grid/af-grid.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--grid-columns), 1fr);\n gap: var(--grid-gap);\n align-items: var(--grid-align);\n}\n\n/* ≤ tablet */\n/* Large breakpoint: 1024px and below */\n@media (max-width: 1024px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-lg), 1fr);\n }\n}\n\n/* mobile-only */\n/* Medium breakpoint: 768px and below */\n@media (max-width: 768px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-md), 1fr);\n }\n}\n\n/* ≤ small */\n/* Small breakpoint: 480px and below */\n@media (max-width: 480px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-sm), 1fr);\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\
|
|
1
|
+
{"version":3,"file":"af-grid.entry.js","sources":["src/components/af-grid/af-grid.css?tag=af-grid&encapsulation=shadow","src/components/af-grid/af-grid.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--grid-columns), 1fr);\n gap: var(--grid-gap);\n align-items: var(--grid-align);\n}\n\n/* ≤ tablet */\n/* Large breakpoint: 1024px and below */\n@media (max-width: 1024px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-lg), 1fr);\n }\n}\n\n/* mobile-only */\n/* Medium breakpoint: 768px and below */\n@media (max-width: 768px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-md), 1fr);\n }\n}\n\n/* ≤ small */\n/* Small breakpoint: 480px and below */\n@media (max-width: 480px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-sm), 1fr);\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Columns = 1 | 2 | 3 | 4 | 5 | 6 | 12;\ntype Align = 'start' | 'center' | 'end' | 'stretch';\n\n/**\n * Generic CSS Grid component for flexible column layouts.\n * Supports responsive column counts at different breakpoints.\n *\n * @slot - Grid items\n */\n@Component({\n tag: 'af-grid',\n styleUrl: 'af-grid.css',\n shadow: true,\n})\nexport class AfGrid {\n /**\n * Number of columns at the default (largest) breakpoint.\n */\n @Prop() columns: Columns = 3;\n\n /**\n * Number of columns at the large breakpoint (1024px and below).\n */\n @Prop() columnsLg?: Columns;\n\n /**\n * Number of columns at the medium breakpoint (768px and below).\n */\n @Prop() columnsMd?: Columns;\n\n /**\n * Number of columns at the small breakpoint (375px and below).\n */\n @Prop() columnsSm?: Columns;\n\n /**\n * Gap between grid items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items within their grid cells.\n */\n @Prop() align: Align = 'stretch';\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'start',\n center: 'center',\n end: 'end',\n stretch: 'stretch',\n };\n\n return (\n <Host\n style={{\n '--grid-columns': String(this.columns),\n '--grid-columns-lg': String(this.columnsLg ?? this.columns),\n '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),\n '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),\n '--grid-gap': `var(--space-${this.gap})`,\n '--grid-align': alignMap[this.align],\n } as Record<string, string>}\n >\n <div class=\"grid\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,udAAud;;MCiB5d,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,CAAC;AAiB5B;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AA2BjC;IAzBC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,OAAO,EAAE,SAAS;SACnB;QAED,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC3D,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC7E,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;AACpF,gBAAA,YAAY,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AACxC,gBAAA,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACX,aAAA,EAAA,EAE3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;"}
|