@affinda/wc 0.0.26 → 0.0.27
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-accordion-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-accordion.entry.esm.js.map +1 -0
- package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -0
- package/dist/affinda/af-button-group.entry.esm.js.map +1 -0
- package/dist/affinda/af-button.entry.esm.js.map +1 -0
- package/dist/affinda/af-card.entry.esm.js.map +1 -0
- package/dist/affinda/af-center.entry.esm.js.map +1 -0
- package/dist/affinda/af-checkbox.entry.esm.js.map +1 -0
- package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -0
- package/dist/affinda/af-color-swatch.entry.esm.js.map +1 -0
- package/dist/affinda/af-contact-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-container.entry.esm.js.map +1 -0
- package/dist/affinda/af-divider.entry.esm.js.map +1 -0
- package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -0
- package/dist/affinda/af-feature-card.entry.esm.js.map +1 -0
- package/dist/affinda/af-feature-grid.entry.esm.js.map +1 -0
- package/dist/affinda/af-fieldset.entry.esm.js.map +1 -0
- package/dist/affinda/af-footer-column.entry.esm.js.map +1 -0
- package/dist/affinda/af-footer-link.entry.esm.js.map +1 -0
- package/dist/affinda/af-footer.entry.esm.js.map +1 -0
- package/dist/affinda/af-grid-callout.entry.esm.js.map +1 -0
- package/dist/affinda/af-grid.entry.esm.js.map +1 -0
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -0
- package/dist/affinda/af-icon-box.entry.esm.js.map +1 -0
- package/dist/affinda/af-icon-button.entry.esm.js.map +1 -0
- package/dist/affinda/af-icon-text.entry.esm.js.map +1 -0
- package/dist/affinda/af-icon.entry.esm.js.map +1 -0
- package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -0
- package/dist/affinda/af-image.entry.esm.js.map +1 -0
- package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -0
- package/dist/affinda/af-inline.entry.esm.js.map +1 -0
- package/dist/affinda/af-input.entry.esm.js.map +1 -0
- package/dist/affinda/af-logo-well.entry.esm.js.map +1 -0
- package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-nav-accordion.entry.esm.js.map +1 -0
- package/dist/affinda/af-nav-card.entry.esm.js.map +1 -0
- package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -0
- package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -0
- package/dist/affinda/af-number-badge.entry.esm.js.map +1 -0
- package/dist/affinda/af-progress-line.entry.esm.js.map +1 -0
- package/dist/affinda/af-radio.entry.esm.js.map +1 -0
- package/dist/affinda/af-section.entry.esm.js.map +1 -0
- package/dist/affinda/af-show.entry.esm.js.map +1 -0
- package/dist/affinda/af-social-link.entry.esm.js.map +1 -0
- package/dist/affinda/af-spacer.entry.esm.js.map +1 -0
- package/dist/affinda/af-split-section.entry.esm.js.map +1 -0
- package/dist/affinda/af-stack.entry.esm.js.map +1 -0
- package/dist/affinda/af-stepper-step.entry.esm.js.map +1 -0
- package/dist/affinda/af-stepper.entry.esm.js.map +1 -0
- package/dist/affinda/af-switch.entry.esm.js.map +1 -0
- package/dist/affinda/af-tab-bar.entry.esm.js.map +1 -0
- package/dist/affinda/af-tab.entry.esm.js.map +1 -0
- package/dist/affinda/af-tag.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial.entry.esm.js.map +1 -0
- package/dist/affinda/af-text-image-nest.entry.esm.js.map +1 -0
- package/dist/affinda/af-text-image.entry.esm.js.map +1 -0
- package/dist/affinda/af-textarea.entry.esm.js.map +1 -0
- package/dist/affinda/af-theme-override.entry.esm.js.map +1 -0
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -0
- package/dist/affinda/af-video-container.entry.esm.js.map +1 -0
- package/dist/affinda/af-visually-hidden.entry.esm.js.map +1 -0
- package/dist/affinda/affinda.css +1 -1
- package/dist/affinda/affinda.esm.js +2 -1
- package/dist/affinda/affinda.esm.js.map +1 -0
- package/dist/affinda/index.esm.js +2 -1
- package/dist/affinda/index.esm.js.map +1 -0
- package/dist/affinda/loader.esm.js.map +1 -0
- package/dist/affinda/p-02a4fea4.entry.js +2 -0
- package/dist/affinda/p-02a4fea4.entry.js.map +1 -0
- package/dist/affinda/p-0a3cf810.entry.js +2 -0
- package/dist/affinda/p-0a3cf810.entry.js.map +1 -0
- package/dist/affinda/p-150f8363.entry.js +2 -0
- package/dist/affinda/p-150f8363.entry.js.map +1 -0
- package/dist/affinda/p-17918daf.entry.js +2 -0
- package/dist/affinda/p-17918daf.entry.js.map +1 -0
- package/dist/affinda/p-1ddf3bd4.entry.js +2 -0
- package/dist/affinda/p-1ddf3bd4.entry.js.map +1 -0
- package/dist/affinda/p-226bad82.entry.js +2 -0
- package/dist/affinda/p-226bad82.entry.js.map +1 -0
- package/dist/affinda/p-23156b61.entry.js +2 -0
- package/dist/affinda/p-23156b61.entry.js.map +1 -0
- package/dist/affinda/p-28aaeb3e.entry.js +2 -0
- package/dist/affinda/p-28aaeb3e.entry.js.map +1 -0
- package/dist/affinda/p-29d51294.entry.js +2 -0
- package/dist/affinda/p-29d51294.entry.js.map +1 -0
- package/dist/affinda/p-2c8a4be1.entry.js +2 -0
- package/dist/affinda/p-2c8a4be1.entry.js.map +1 -0
- package/dist/affinda/p-398cb86b.entry.js +2 -0
- package/dist/affinda/p-398cb86b.entry.js.map +1 -0
- package/dist/affinda/p-3aae8a0c.entry.js +2 -0
- package/dist/affinda/p-3aae8a0c.entry.js.map +1 -0
- package/dist/affinda/p-3afcca1b.entry.js +2 -0
- package/dist/affinda/p-3afcca1b.entry.js.map +1 -0
- package/dist/affinda/p-42dc01c7.entry.js +2 -0
- package/dist/affinda/p-42dc01c7.entry.js.map +1 -0
- package/dist/affinda/p-45f6c49e.entry.js +2 -0
- package/dist/affinda/p-45f6c49e.entry.js.map +1 -0
- package/dist/affinda/p-4d5b0112.entry.js +2 -0
- package/dist/affinda/p-4d5b0112.entry.js.map +1 -0
- package/dist/affinda/p-4d984fae.entry.js +2 -0
- package/dist/affinda/p-4d984fae.entry.js.map +1 -0
- package/dist/affinda/p-4f899b6c.entry.js +2 -0
- package/dist/affinda/p-4f899b6c.entry.js.map +1 -0
- package/dist/affinda/p-50049e63.entry.js +2 -0
- package/dist/affinda/p-50049e63.entry.js.map +1 -0
- package/dist/affinda/p-56edd6de.entry.js +2 -0
- package/dist/affinda/p-56edd6de.entry.js.map +1 -0
- package/dist/affinda/p-58f74509.entry.js +2 -0
- package/dist/affinda/p-58f74509.entry.js.map +1 -0
- package/dist/affinda/p-5aea4c4f.entry.js +2 -0
- package/dist/affinda/p-5aea4c4f.entry.js.map +1 -0
- package/dist/affinda/p-6101a8e7.entry.js +2 -0
- package/dist/affinda/p-6101a8e7.entry.js.map +1 -0
- package/dist/affinda/p-64a0fa57.entry.js +2 -0
- package/dist/affinda/p-64a0fa57.entry.js.map +1 -0
- package/dist/affinda/p-6f32ce63.entry.js +2 -0
- package/dist/affinda/p-6f32ce63.entry.js.map +1 -0
- package/dist/affinda/p-72d92e22.entry.js +2 -0
- package/dist/affinda/p-72d92e22.entry.js.map +1 -0
- package/dist/affinda/p-7813390b.entry.js +2 -0
- package/dist/affinda/p-7813390b.entry.js.map +1 -0
- package/dist/affinda/p-78878799.entry.js +2 -0
- package/dist/affinda/p-78878799.entry.js.map +1 -0
- package/dist/affinda/p-7a8ca627.entry.js +2 -0
- package/dist/affinda/p-7a8ca627.entry.js.map +1 -0
- package/dist/affinda/p-7b595da0.entry.js +2 -0
- package/dist/affinda/p-7b595da0.entry.js.map +1 -0
- package/dist/affinda/{p-cf4d0d8e.entry.js → p-7fa67014.entry.js} +2 -1
- package/dist/affinda/p-7fa67014.entry.js.map +1 -0
- package/dist/affinda/p-81a91090.entry.js +2 -0
- package/dist/affinda/p-81a91090.entry.js.map +1 -0
- package/dist/affinda/p-8901e13c.entry.js +2 -0
- package/dist/affinda/p-8901e13c.entry.js.map +1 -0
- package/dist/affinda/p-89224154.entry.js +2 -0
- package/dist/affinda/p-89224154.entry.js.map +1 -0
- package/dist/affinda/p-8b26a82c.entry.js +2 -0
- package/dist/affinda/p-8b26a82c.entry.js.map +1 -0
- package/dist/affinda/{p-54d85947.entry.js → p-8b74fd5e.entry.js} +2 -1
- package/dist/affinda/p-8b74fd5e.entry.js.map +1 -0
- package/dist/affinda/p-9be8ba6a.entry.js +2 -0
- package/dist/affinda/p-9be8ba6a.entry.js.map +1 -0
- package/dist/affinda/p-9d0b9203.entry.js +2 -0
- package/dist/affinda/p-9d0b9203.entry.js.map +1 -0
- package/dist/affinda/p-C7nUZsb8.js +3 -0
- package/dist/affinda/p-C7nUZsb8.js.map +1 -0
- package/dist/affinda/p-a48057c0.entry.js +2 -0
- package/dist/affinda/p-a48057c0.entry.js.map +1 -0
- package/dist/affinda/p-a4a4d392.entry.js +2 -0
- package/dist/affinda/p-a4a4d392.entry.js.map +1 -0
- package/dist/affinda/p-a4b9a1f5.entry.js +2 -0
- package/dist/affinda/p-a4b9a1f5.entry.js.map +1 -0
- package/dist/affinda/p-aea8dcee.entry.js +2 -0
- package/dist/affinda/p-aea8dcee.entry.js.map +1 -0
- package/dist/affinda/p-b8e3c594.entry.js +2 -0
- package/dist/affinda/p-b8e3c594.entry.js.map +1 -0
- package/dist/affinda/p-bdc28cb8.entry.js +2 -0
- package/dist/affinda/p-bdc28cb8.entry.js.map +1 -0
- package/dist/affinda/p-bf2c549d.entry.js +2 -0
- package/dist/affinda/p-bf2c549d.entry.js.map +1 -0
- package/dist/affinda/p-bf52ca34.entry.js +2 -0
- package/dist/affinda/p-bf52ca34.entry.js.map +1 -0
- package/dist/affinda/p-bf8b5474.entry.js +2 -0
- package/dist/affinda/p-bf8b5474.entry.js.map +1 -0
- package/dist/affinda/p-c5ba91b3.entry.js +2 -0
- package/dist/affinda/p-c5ba91b3.entry.js.map +1 -0
- package/dist/affinda/p-c5fd819e.entry.js +2 -0
- package/dist/affinda/p-c5fd819e.entry.js.map +1 -0
- package/dist/affinda/p-c753a592.entry.js +2 -0
- package/dist/affinda/p-c753a592.entry.js.map +1 -0
- package/dist/affinda/p-ca59d877.entry.js +2 -0
- package/dist/affinda/p-ca59d877.entry.js.map +1 -0
- package/dist/affinda/p-d145dc5b.entry.js +2 -0
- package/dist/affinda/p-d145dc5b.entry.js.map +1 -0
- package/dist/affinda/p-d28466b0.entry.js +2 -0
- package/dist/affinda/p-d28466b0.entry.js.map +1 -0
- package/dist/affinda/p-d34da5ef.entry.js +2 -0
- package/dist/affinda/p-d34da5ef.entry.js.map +1 -0
- package/dist/affinda/p-e49c237f.entry.js +2 -0
- package/dist/affinda/p-e49c237f.entry.js.map +1 -0
- package/dist/affinda/p-e6ebdd17.entry.js +2 -0
- package/dist/affinda/p-e6ebdd17.entry.js.map +1 -0
- package/dist/affinda/p-eca53803.entry.js +2 -0
- package/dist/affinda/p-eca53803.entry.js.map +1 -0
- package/dist/affinda/p-ed1805f8.entry.js +2 -0
- package/dist/affinda/p-ed1805f8.entry.js.map +1 -0
- package/dist/affinda/p-f82ed42c.entry.js +2 -0
- package/dist/affinda/p-f82ed42c.entry.js.map +1 -0
- package/dist/affinda/p-f8c507a2.entry.js +2 -0
- package/dist/affinda/p-f8c507a2.entry.js.map +1 -0
- package/dist/affinda/p-fb054540.entry.js +2 -0
- package/dist/affinda/p-fb054540.entry.js.map +1 -0
- package/dist/affinda/p-fb76a5ef.entry.js +2 -0
- package/dist/affinda/p-fb76a5ef.entry.js.map +1 -0
- package/dist/affinda/p-fee5d2ac.entry.js +2 -0
- package/dist/affinda/p-fee5d2ac.entry.js.map +1 -0
- package/dist/cjs/af-accordion-item.cjs.entry.js +5 -6
- package/dist/cjs/af-accordion-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-accordion.cjs.entry.js +5 -6
- package/dist/cjs/af-accordion.entry.cjs.js.map +1 -0
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +4 -3
- package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -0
- package/dist/cjs/af-button-group.cjs.entry.js +4 -3
- package/dist/cjs/af-button-group.entry.cjs.js.map +1 -0
- package/dist/cjs/af-button.cjs.entry.js +4 -3
- package/dist/cjs/af-button.entry.cjs.js.map +1 -0
- package/dist/cjs/af-card.cjs.entry.js +4 -3
- package/dist/cjs/af-card.entry.cjs.js.map +1 -0
- package/dist/cjs/af-center.cjs.entry.js +4 -3
- package/dist/cjs/af-center.entry.cjs.js.map +1 -0
- package/dist/cjs/af-checkbox.cjs.entry.js +4 -3
- package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -0
- package/dist/cjs/af-client-carousel.cjs.entry.js +4 -3
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -0
- package/dist/cjs/af-color-swatch.cjs.entry.js +4 -3
- package/dist/cjs/af-color-swatch.entry.cjs.js.map +1 -0
- package/dist/cjs/af-contact-item.cjs.entry.js +4 -3
- package/dist/cjs/af-contact-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-container.cjs.entry.js +4 -3
- package/dist/cjs/af-container.entry.cjs.js.map +1 -0
- package/dist/cjs/af-divider.cjs.entry.js +4 -3
- package/dist/cjs/af-divider.entry.cjs.js.map +1 -0
- package/dist/cjs/af-feature-accordion.cjs.entry.js +5 -6
- package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -0
- package/dist/cjs/af-feature-card.cjs.entry.js +4 -3
- package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -0
- package/dist/cjs/af-feature-grid.cjs.entry.js +5 -6
- package/dist/cjs/af-feature-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/af-fieldset.cjs.entry.js +4 -3
- package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -0
- package/dist/cjs/af-footer-column.cjs.entry.js +4 -3
- package/dist/cjs/af-footer-column.entry.cjs.js.map +1 -0
- package/dist/cjs/af-footer-link.cjs.entry.js +4 -3
- package/dist/cjs/af-footer-link.entry.cjs.js.map +1 -0
- package/dist/cjs/af-footer.cjs.entry.js +4 -3
- package/dist/cjs/af-footer.entry.cjs.js.map +1 -0
- package/dist/cjs/af-grid-callout.cjs.entry.js +4 -3
- package/dist/cjs/af-grid-callout.entry.cjs.js.map +1 -0
- package/dist/cjs/af-grid.cjs.entry.js +4 -3
- package/dist/cjs/af-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -0
- package/dist/cjs/af-heading_5.cjs.entry.js +12 -11
- package/dist/cjs/af-icon-box.cjs.entry.js +4 -3
- package/dist/cjs/af-icon-box.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon-button.cjs.entry.js +4 -3
- package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon-text.cjs.entry.js +4 -3
- package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon.cjs.entry.js +4 -3
- package/dist/cjs/af-icon.entry.cjs.js.map +1 -0
- package/dist/cjs/af-illustrated-card.cjs.entry.js +4 -3
- package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -0
- package/dist/cjs/af-image.cjs.entry.js +4 -3
- package/dist/cjs/af-image.entry.cjs.js.map +1 -0
- package/dist/cjs/af-in-page-banner.cjs.entry.js +4 -3
- package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -0
- package/dist/cjs/af-inline.cjs.entry.js +4 -3
- package/dist/cjs/af-inline.entry.cjs.js.map +1 -0
- package/dist/cjs/af-input.cjs.entry.js +4 -3
- package/dist/cjs/af-input.entry.cjs.js.map +1 -0
- package/dist/cjs/af-logo-well.cjs.entry.js +4 -3
- package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +5 -6
- package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-accordion.cjs.entry.js +4 -3
- package/dist/cjs/af-nav-accordion.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-card.cjs.entry.js +4 -3
- package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +4 -3
- package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-menu.cjs.entry.js +4 -3
- package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -0
- package/dist/cjs/af-number-badge.cjs.entry.js +4 -3
- package/dist/cjs/af-number-badge.entry.cjs.js.map +1 -0
- package/dist/cjs/af-progress-line.cjs.entry.js +4 -3
- package/dist/cjs/af-progress-line.entry.cjs.js.map +1 -0
- package/dist/cjs/af-radio.cjs.entry.js +4 -3
- package/dist/cjs/af-radio.entry.cjs.js.map +1 -0
- package/dist/cjs/af-section.cjs.entry.js +4 -3
- package/dist/cjs/af-section.entry.cjs.js.map +1 -0
- package/dist/cjs/af-show.cjs.entry.js +4 -3
- package/dist/cjs/af-show.entry.cjs.js.map +1 -0
- package/dist/cjs/af-social-link.cjs.entry.js +4 -3
- package/dist/cjs/af-social-link.entry.cjs.js.map +1 -0
- package/dist/cjs/af-spacer.cjs.entry.js +4 -3
- package/dist/cjs/af-spacer.entry.cjs.js.map +1 -0
- package/dist/cjs/af-split-section.cjs.entry.js +4 -3
- package/dist/cjs/af-split-section.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stack.cjs.entry.js +4 -3
- package/dist/cjs/af-stack.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stepper-step.cjs.entry.js +4 -3
- package/dist/cjs/af-stepper-step.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stepper.cjs.entry.js +4 -3
- package/dist/cjs/af-stepper.entry.cjs.js.map +1 -0
- package/dist/cjs/af-switch.cjs.entry.js +4 -3
- package/dist/cjs/af-switch.entry.cjs.js.map +1 -0
- package/dist/cjs/af-tab-bar.cjs.entry.js +4 -3
- package/dist/cjs/af-tab-bar.entry.cjs.js.map +1 -0
- package/dist/cjs/af-tab.cjs.entry.js +4 -3
- package/dist/cjs/af-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/af-tag.cjs.entry.js +4 -3
- package/dist/cjs/af-tag.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +4 -3
- package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +4 -3
- package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial.cjs.entry.js +4 -3
- package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -0
- package/dist/cjs/af-text-image-nest.cjs.entry.js +4 -3
- package/dist/cjs/af-text-image-nest.entry.cjs.js.map +1 -0
- package/dist/cjs/af-text-image.cjs.entry.js +4 -3
- package/dist/cjs/af-text-image.entry.cjs.js.map +1 -0
- package/dist/cjs/af-textarea.cjs.entry.js +4 -3
- package/dist/cjs/af-textarea.entry.cjs.js.map +1 -0
- package/dist/cjs/af-theme-override.cjs.entry.js +4 -3
- package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -0
- package/dist/cjs/af-typography-lockup.cjs.entry.js +4 -3
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -0
- package/dist/cjs/af-video-container.cjs.entry.js +4 -3
- package/dist/cjs/af-video-container.entry.cjs.js.map +1 -0
- package/dist/cjs/af-visually-hidden.cjs.entry.js +4 -3
- package/dist/cjs/af-visually-hidden.entry.cjs.js.map +1 -0
- package/dist/cjs/affinda.cjs.js +4 -3
- package/dist/cjs/affinda.cjs.js.map +1 -0
- package/dist/cjs/{index-C1ry3YPK.js → index-BKMHxS4K.js} +260 -462
- package/dist/cjs/index-BKMHxS4K.js.map +1 -0
- package/dist/cjs/index.cjs.js +21 -20
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -2
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -3
- package/dist/collection/components/af-accordion/af-accordion.js +1 -0
- package/dist/collection/components/af-accordion/af-accordion.js.map +1 -0
- package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -0
- package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +1 -0
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +1 -0
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +1 -0
- package/dist/collection/components/af-button/af-button.js +1 -0
- package/dist/collection/components/af-button/af-button.js.map +1 -0
- package/dist/collection/components/af-button-group/af-button-group.js +1 -0
- package/dist/collection/components/af-button-group/af-button-group.js.map +1 -0
- package/dist/collection/components/af-card/af-card.js +1 -0
- package/dist/collection/components/af-card/af-card.js.map +1 -0
- package/dist/collection/components/af-center/af-center.js +1 -0
- package/dist/collection/components/af-center/af-center.js.map +1 -0
- package/dist/collection/components/af-checkbox/af-checkbox.js +1 -0
- package/dist/collection/components/af-checkbox/af-checkbox.js.map +1 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -0
- package/dist/collection/components/af-color-swatch/af-color-swatch.js +1 -0
- package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +1 -0
- package/dist/collection/components/af-contact-item/af-contact-item.js +1 -0
- package/dist/collection/components/af-contact-item/af-contact-item.js.map +1 -0
- package/dist/collection/components/af-container/af-container.js +1 -0
- package/dist/collection/components/af-container/af-container.js.map +1 -0
- package/dist/collection/components/af-divider/af-divider.js +1 -0
- package/dist/collection/components/af-divider/af-divider.js.map +1 -0
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +1 -0
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +1 -0
- package/dist/collection/components/af-feature-card/af-feature-card.js +1 -0
- package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -0
- package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -0
- package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +1 -0
- package/dist/collection/components/af-fieldset/af-fieldset.js +1 -0
- package/dist/collection/components/af-fieldset/af-fieldset.js.map +1 -0
- package/dist/collection/components/af-footer/af-footer.js +1 -0
- package/dist/collection/components/af-footer/af-footer.js.map +1 -0
- package/dist/collection/components/af-footer-column/af-footer-column.js +1 -0
- package/dist/collection/components/af-footer-column/af-footer-column.js.map +1 -0
- package/dist/collection/components/af-footer-link/af-footer-link.js +1 -0
- package/dist/collection/components/af-footer-link/af-footer-link.js.map +1 -0
- package/dist/collection/components/af-grid/af-grid.js +1 -0
- package/dist/collection/components/af-grid/af-grid.js.map +1 -0
- package/dist/collection/components/af-grid-callout/af-grid-callout.js +1 -0
- package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +1 -0
- package/dist/collection/components/af-heading/af-heading.js +1 -0
- package/dist/collection/components/af-heading/af-heading.js.map +1 -0
- package/dist/collection/components/af-icon/af-icon.js +3 -3
- package/dist/collection/components/af-icon/af-icon.js.map +1 -0
- package/dist/collection/components/af-icon-box/af-icon-box.js +3 -3
- package/dist/collection/components/af-icon-box/af-icon-box.js.map +1 -0
- package/dist/collection/components/af-icon-button/af-icon-button.js +1 -0
- package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -0
- package/dist/collection/components/af-icon-text/af-icon-text.js +3 -3
- package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -0
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -0
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -0
- package/dist/collection/components/af-image/af-image.js +1 -0
- package/dist/collection/components/af-image/af-image.js.map +1 -0
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +7 -7
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -0
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -0
- package/dist/collection/components/af-inline/af-inline.js +1 -0
- package/dist/collection/components/af-inline/af-inline.js.map +1 -0
- package/dist/collection/components/af-input/af-input.js +1 -0
- package/dist/collection/components/af-input/af-input.js.map +1 -0
- package/dist/collection/components/af-logo/af-logo.js +1 -0
- package/dist/collection/components/af-logo/af-logo.js.map +1 -0
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -0
- package/dist/collection/components/af-logo-well/af-logo-well.js.map +1 -0
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -0
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +1 -0
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +1 -0
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +1 -0
- package/dist/collection/components/af-nav-card/af-nav-card.js +1 -0
- package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -0
- package/dist/collection/components/af-nav-item/af-nav-item.js +1 -0
- package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -0
- package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -0
- package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -0
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -0
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -0
- package/dist/collection/components/af-navbar/af-navbar.js +1 -0
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -0
- package/dist/collection/components/af-number-badge/af-number-badge.js +3 -2
- package/dist/collection/components/af-number-badge/af-number-badge.js.map +1 -0
- package/dist/collection/components/af-progress-line/af-progress-line.js +1 -0
- package/dist/collection/components/af-progress-line/af-progress-line.js.map +1 -0
- package/dist/collection/components/af-radio/af-radio.js +1 -0
- package/dist/collection/components/af-radio/af-radio.js.map +1 -0
- package/dist/collection/components/af-section/af-section.js +1 -0
- package/dist/collection/components/af-section/af-section.js.map +1 -0
- package/dist/collection/components/af-show/af-show.js +1 -0
- package/dist/collection/components/af-show/af-show.js.map +1 -0
- package/dist/collection/components/af-social-link/af-social-link.js +1 -0
- package/dist/collection/components/af-social-link/af-social-link.js.map +1 -0
- package/dist/collection/components/af-spacer/af-spacer.js +1 -0
- package/dist/collection/components/af-spacer/af-spacer.js.map +1 -0
- package/dist/collection/components/af-split-section/af-split-section.js +1 -0
- package/dist/collection/components/af-split-section/af-split-section.js.map +1 -0
- package/dist/collection/components/af-stack/af-stack.js +1 -0
- package/dist/collection/components/af-stack/af-stack.js.map +1 -0
- package/dist/collection/components/af-stepper/af-stepper.js +1 -0
- package/dist/collection/components/af-stepper/af-stepper.js.map +1 -0
- package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -0
- package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +1 -0
- package/dist/collection/components/af-switch/af-switch.js +1 -0
- package/dist/collection/components/af-switch/af-switch.js.map +1 -0
- package/dist/collection/components/af-tab/af-tab.js +2 -1
- package/dist/collection/components/af-tab/af-tab.js.map +1 -0
- package/dist/collection/components/af-tab-bar/af-tab-bar.js +3 -2
- package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +1 -0
- package/dist/collection/components/af-tag/af-tag.js +3 -2
- package/dist/collection/components/af-tag/af-tag.js.map +1 -0
- package/dist/collection/components/af-testimonial/af-testimonial.js +1 -0
- package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -0
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -0
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -0
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -0
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -0
- package/dist/collection/components/af-text/af-text.js +1 -0
- package/dist/collection/components/af-text/af-text.js.map +1 -0
- package/dist/collection/components/af-text-image/af-text-image.js +1 -0
- package/dist/collection/components/af-text-image/af-text-image.js.map +1 -0
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -0
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +1 -0
- package/dist/collection/components/af-textarea/af-textarea.js +1 -0
- package/dist/collection/components/af-textarea/af-textarea.js.map +1 -0
- package/dist/collection/components/af-theme-override/af-theme-override.js +1 -0
- package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -0
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -0
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -0
- package/dist/collection/components/af-video-container/af-video-container.js +1 -0
- package/dist/collection/components/af-video-container/af-video-container.js.map +1 -0
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -0
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +1 -0
- package/dist/collection/components.js +1 -0
- package/dist/collection/components.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/components/af-accordion-item.js +107 -1
- package/dist/components/af-accordion-item.js.map +1 -0
- package/dist/components/af-accordion.js +128 -1
- package/dist/components/af-accordion.js.map +1 -0
- package/dist/components/af-aspect-ratio.js +9 -1
- package/dist/components/af-aspect-ratio.js.map +1 -0
- package/dist/components/af-button-group.js +9 -1
- package/dist/components/af-button-group.js.map +1 -0
- package/dist/components/af-button.js +9 -1
- package/dist/components/af-button.js.map +1 -0
- package/dist/components/af-card.js +9 -1
- package/dist/components/af-card.js.map +1 -0
- package/dist/components/af-center.js +66 -1
- package/dist/components/af-center.js.map +1 -0
- package/dist/components/af-checkbox.js +9 -1
- package/dist/components/af-checkbox.js.map +1 -0
- package/dist/components/af-client-carousel.js +80 -1
- package/dist/components/af-client-carousel.js.map +1 -0
- package/dist/components/af-color-swatch.js +9 -1
- package/dist/components/af-color-swatch.js.map +1 -0
- package/dist/components/af-contact-item.js +44 -1
- package/dist/components/af-contact-item.js.map +1 -0
- package/dist/components/af-container.js +9 -1
- package/dist/components/af-container.js.map +1 -0
- package/dist/components/af-divider.js +66 -1
- package/dist/components/af-divider.js.map +1 -0
- package/dist/components/af-feature-accordion.js +136 -1
- package/dist/components/af-feature-accordion.js.map +1 -0
- package/dist/components/af-feature-card.js +9 -1
- package/dist/components/af-feature-card.js.map +1 -0
- package/dist/components/af-feature-grid.js +124 -1
- package/dist/components/af-feature-grid.js.map +1 -0
- package/dist/components/af-fieldset.js +9 -1
- package/dist/components/af-fieldset.js.map +1 -0
- package/dist/components/af-footer-column.js +41 -1
- package/dist/components/af-footer-column.js.map +1 -0
- package/dist/components/af-footer-link.js +44 -1
- package/dist/components/af-footer-link.js.map +1 -0
- package/dist/components/af-footer.js +53 -1
- package/dist/components/af-footer.js.map +1 -0
- package/dist/components/af-grid-callout.js +82 -1
- package/dist/components/af-grid-callout.js.map +1 -0
- package/dist/components/af-grid.js +71 -1
- package/dist/components/af-grid.js.map +1 -0
- package/dist/components/af-heading.js +9 -1
- package/dist/components/af-heading.js.map +1 -0
- package/dist/components/af-icon-box.js +9 -1
- package/dist/components/af-icon-box.js.map +1 -0
- package/dist/components/af-icon-button.js +9 -1
- package/dist/components/af-icon-button.js.map +1 -0
- package/dist/components/af-icon-text.js +78 -1
- package/dist/components/af-icon-text.js.map +1 -0
- package/dist/components/af-icon.js +9 -1
- package/dist/components/af-icon.js.map +1 -0
- package/dist/components/af-illustrated-card.js +9 -1
- package/dist/components/af-illustrated-card.js.map +1 -0
- package/dist/components/af-image.js +9 -1
- package/dist/components/af-image.js.map +1 -0
- package/dist/components/af-in-page-banner.js +82 -1
- package/dist/components/af-in-page-banner.js.map +1 -0
- package/dist/components/af-inline.js +83 -1
- package/dist/components/af-inline.js.map +1 -0
- package/dist/components/af-input.js +9 -1
- package/dist/components/af-input.js.map +1 -0
- package/dist/components/af-logo-well.js +38 -1
- package/dist/components/af-logo-well.js.map +1 -0
- package/dist/components/af-logo.js +9 -1
- package/dist/components/af-logo.js.map +1 -0
- package/dist/components/af-nav-accordion-item.js +133 -1
- package/dist/components/af-nav-accordion-item.js.map +1 -0
- package/dist/components/af-nav-accordion.js +106 -1
- package/dist/components/af-nav-accordion.js.map +1 -0
- package/dist/components/af-nav-card.js +62 -1
- package/dist/components/af-nav-card.js.map +1 -0
- package/dist/components/af-nav-item.js +9 -1
- package/dist/components/af-nav-item.js.map +1 -0
- package/dist/components/af-nav-menu-nest.js +67 -1
- package/dist/components/af-nav-menu-nest.js.map +1 -0
- package/dist/components/af-nav-menu.js +65 -1
- package/dist/components/af-nav-menu.js.map +1 -0
- package/dist/components/af-navbar.js +9 -1
- package/dist/components/af-navbar.js.map +1 -0
- package/dist/components/af-number-badge.js +66 -1
- package/dist/components/af-number-badge.js.map +1 -0
- package/dist/components/af-progress-line.js +9 -1
- package/dist/components/af-progress-line.js.map +1 -0
- package/dist/components/af-radio.js +9 -1
- package/dist/components/af-radio.js.map +1 -0
- package/dist/components/af-section.js +54 -1
- package/dist/components/af-section.js.map +1 -0
- package/dist/components/af-show.js +46 -1
- package/dist/components/af-show.js.map +1 -0
- package/dist/components/af-social-link.js +63 -1
- package/dist/components/af-social-link.js.map +1 -0
- package/dist/components/af-spacer.js +69 -1
- package/dist/components/af-spacer.js.map +1 -0
- package/dist/components/af-split-section.js +71 -1
- package/dist/components/af-split-section.js.map +1 -0
- package/dist/components/af-stack.js +90 -1
- package/dist/components/af-stack.js.map +1 -0
- package/dist/components/af-stepper-step.js +44 -1
- package/dist/components/af-stepper-step.js.map +1 -0
- package/dist/components/af-stepper.js +55 -1
- package/dist/components/af-stepper.js.map +1 -0
- package/dist/components/af-switch.js +9 -1
- package/dist/components/af-switch.js.map +1 -0
- package/dist/components/af-tab-bar.js +9 -1
- package/dist/components/af-tab-bar.js.map +1 -0
- package/dist/components/af-tab.js +9 -1
- package/dist/components/af-tab.js.map +1 -0
- package/dist/components/af-tag.js +9 -1
- package/dist/components/af-tag.js.map +1 -0
- package/dist/components/af-testimonial-carousel.js +131 -1
- package/dist/components/af-testimonial-carousel.js.map +1 -0
- package/dist/components/af-testimonial-stat.js +57 -1
- package/dist/components/af-testimonial-stat.js.map +1 -0
- package/dist/components/af-testimonial.js +88 -1
- package/dist/components/af-testimonial.js.map +1 -0
- package/dist/components/af-text-image-nest.js +51 -1
- package/dist/components/af-text-image-nest.js.map +1 -0
- package/dist/components/af-text-image.js +95 -1
- package/dist/components/af-text-image.js.map +1 -0
- package/dist/components/af-text.js +9 -1
- package/dist/components/af-text.js.map +1 -0
- package/dist/components/af-textarea.js +9 -1
- package/dist/components/af-textarea.js.map +1 -0
- package/dist/components/af-theme-override.js +44 -1
- package/dist/components/af-theme-override.js.map +1 -0
- package/dist/components/af-typography-lockup.js +9 -1
- package/dist/components/af-typography-lockup.js.map +1 -0
- package/dist/components/af-video-container.js +70 -1
- package/dist/components/af-video-container.js.map +1 -0
- package/dist/components/af-visually-hidden.js +45 -1
- package/dist/components/af-visually-hidden.js.map +1 -0
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.js +27 -1
- package/dist/components/index.js.map +1 -0
- package/dist/components/p-0-_hX4o-.js +35 -0
- package/dist/components/p-0-_hX4o-.js.map +1 -0
- package/dist/components/p-287-nef9.js +151 -0
- package/dist/components/p-287-nef9.js.map +1 -0
- package/dist/components/p-BBpihWJI.js +1781 -0
- package/dist/components/p-BBpihWJI.js.map +1 -0
- package/dist/components/p-BFLKhcjQ.js +372 -0
- package/dist/components/p-BFLKhcjQ.js.map +1 -0
- package/dist/components/p-BJmoxr_I.js +94 -0
- package/dist/components/p-BJmoxr_I.js.map +1 -0
- package/dist/components/p-BQ1El6-J.js +48 -0
- package/dist/components/p-BQ1El6-J.js.map +1 -0
- package/dist/components/p-BgDSP0Qs.js +70 -0
- package/dist/components/p-BgDSP0Qs.js.map +1 -0
- package/dist/components/p-BjJS1_8G.js +102 -0
- package/dist/components/p-BjJS1_8G.js.map +1 -0
- package/dist/components/p-BnX_qYj5.js +58 -0
- package/dist/components/p-BnX_qYj5.js.map +1 -0
- package/dist/components/p-BntvCg5H.js +45 -0
- package/dist/components/p-BntvCg5H.js.map +1 -0
- package/dist/components/p-Btsw1ple.js +59 -0
- package/dist/components/p-Btsw1ple.js.map +1 -0
- package/dist/components/p-BxwCXPuv.js +53 -0
- package/dist/components/p-BxwCXPuv.js.map +1 -0
- package/dist/components/p-C8y3mc7N.js +108 -0
- package/dist/components/p-C8y3mc7N.js.map +1 -0
- package/dist/components/p-CBrB-J4s.js +71 -0
- package/dist/components/p-CBrB-J4s.js.map +1 -0
- package/dist/components/p-CVYQKqKI.js +48 -0
- package/dist/components/p-CVYQKqKI.js.map +1 -0
- package/dist/components/p-CkYQbs2f.js +89 -0
- package/dist/components/p-CkYQbs2f.js.map +1 -0
- package/dist/components/p-CrftZP-C.js +57 -0
- package/dist/components/p-CrftZP-C.js.map +1 -0
- package/dist/components/p-CyTj19Yy.js +92 -0
- package/dist/components/p-CyTj19Yy.js.map +1 -0
- package/dist/components/p-D-Xf1-qQ.js +127 -0
- package/dist/components/p-D-Xf1-qQ.js.map +1 -0
- package/dist/components/p-D4YzNoal.js +50 -0
- package/dist/components/p-D4YzNoal.js.map +1 -0
- package/dist/components/p-DIIZN41O.js +74 -0
- package/dist/components/p-DIIZN41O.js.map +1 -0
- package/dist/components/p-DREa7k5l.js +81 -0
- package/dist/components/p-DREa7k5l.js.map +1 -0
- package/dist/components/p-DcLua_lK.js +44 -0
- package/dist/components/p-DcLua_lK.js.map +1 -0
- package/dist/components/p-DvXggVot.js +141 -0
- package/dist/components/p-DvXggVot.js.map +1 -0
- package/dist/components/p-a9H_FzMp.js +93 -0
- package/dist/components/p-a9H_FzMp.js.map +1 -0
- package/dist/components/p-eAysTBjl.js +55 -0
- package/dist/components/p-eAysTBjl.js.map +1 -0
- package/dist/components/p-jTq4gh1Q.js +52 -0
- package/dist/components/p-jTq4gh1Q.js.map +1 -0
- package/dist/components/p-noO3IF9V.js +68 -0
- package/dist/components/p-noO3IF9V.js.map +1 -0
- package/dist/components/p-tiZXMu0t.js +196 -0
- package/dist/components/p-tiZXMu0t.js.map +1 -0
- package/dist/esm/af-accordion-item.entry.js +5 -6
- package/dist/esm/af-accordion-item.entry.js.map +1 -0
- package/dist/esm/af-accordion.entry.js +5 -6
- package/dist/esm/af-accordion.entry.js.map +1 -0
- package/dist/esm/af-aspect-ratio.entry.js +4 -3
- package/dist/esm/af-aspect-ratio.entry.js.map +1 -0
- package/dist/esm/af-button-group.entry.js +4 -3
- package/dist/esm/af-button-group.entry.js.map +1 -0
- package/dist/esm/af-button.entry.js +4 -3
- package/dist/esm/af-button.entry.js.map +1 -0
- package/dist/esm/af-card.entry.js +4 -3
- package/dist/esm/af-card.entry.js.map +1 -0
- package/dist/esm/af-center.entry.js +4 -3
- package/dist/esm/af-center.entry.js.map +1 -0
- package/dist/esm/af-checkbox.entry.js +4 -3
- package/dist/esm/af-checkbox.entry.js.map +1 -0
- package/dist/esm/af-client-carousel.entry.js +4 -3
- package/dist/esm/af-client-carousel.entry.js.map +1 -0
- package/dist/esm/af-color-swatch.entry.js +4 -3
- package/dist/esm/af-color-swatch.entry.js.map +1 -0
- package/dist/esm/af-contact-item.entry.js +4 -3
- package/dist/esm/af-contact-item.entry.js.map +1 -0
- package/dist/esm/af-container.entry.js +4 -3
- package/dist/esm/af-container.entry.js.map +1 -0
- package/dist/esm/af-divider.entry.js +4 -3
- package/dist/esm/af-divider.entry.js.map +1 -0
- package/dist/esm/af-feature-accordion.entry.js +5 -6
- package/dist/esm/af-feature-accordion.entry.js.map +1 -0
- package/dist/esm/af-feature-card.entry.js +4 -3
- package/dist/esm/af-feature-card.entry.js.map +1 -0
- package/dist/esm/af-feature-grid.entry.js +5 -6
- package/dist/esm/af-feature-grid.entry.js.map +1 -0
- package/dist/esm/af-fieldset.entry.js +4 -3
- package/dist/esm/af-fieldset.entry.js.map +1 -0
- package/dist/esm/af-footer-column.entry.js +4 -3
- package/dist/esm/af-footer-column.entry.js.map +1 -0
- package/dist/esm/af-footer-link.entry.js +4 -3
- package/dist/esm/af-footer-link.entry.js.map +1 -0
- package/dist/esm/af-footer.entry.js +4 -3
- package/dist/esm/af-footer.entry.js.map +1 -0
- package/dist/esm/af-grid-callout.entry.js +4 -3
- package/dist/esm/af-grid-callout.entry.js.map +1 -0
- package/dist/esm/af-grid.entry.js +4 -3
- package/dist/esm/af-grid.entry.js.map +1 -0
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -0
- package/dist/esm/af-heading_5.entry.js +12 -11
- package/dist/esm/af-icon-box.entry.js +4 -3
- package/dist/esm/af-icon-box.entry.js.map +1 -0
- package/dist/esm/af-icon-button.entry.js +4 -3
- package/dist/esm/af-icon-button.entry.js.map +1 -0
- package/dist/esm/af-icon-text.entry.js +4 -3
- package/dist/esm/af-icon-text.entry.js.map +1 -0
- package/dist/esm/af-icon.entry.js +4 -3
- package/dist/esm/af-icon.entry.js.map +1 -0
- package/dist/esm/af-illustrated-card.entry.js +4 -3
- package/dist/esm/af-illustrated-card.entry.js.map +1 -0
- package/dist/esm/af-image.entry.js +4 -3
- package/dist/esm/af-image.entry.js.map +1 -0
- package/dist/esm/af-in-page-banner.entry.js +4 -3
- package/dist/esm/af-in-page-banner.entry.js.map +1 -0
- package/dist/esm/af-inline.entry.js +4 -3
- package/dist/esm/af-inline.entry.js.map +1 -0
- package/dist/esm/af-input.entry.js +4 -3
- package/dist/esm/af-input.entry.js.map +1 -0
- package/dist/esm/af-logo-well.entry.js +4 -3
- package/dist/esm/af-logo-well.entry.js.map +1 -0
- package/dist/esm/af-nav-accordion-item.entry.js +5 -6
- package/dist/esm/af-nav-accordion-item.entry.js.map +1 -0
- package/dist/esm/af-nav-accordion.entry.js +4 -3
- package/dist/esm/af-nav-accordion.entry.js.map +1 -0
- package/dist/esm/af-nav-card.entry.js +4 -3
- package/dist/esm/af-nav-card.entry.js.map +1 -0
- package/dist/esm/af-nav-menu-nest.entry.js +4 -3
- package/dist/esm/af-nav-menu-nest.entry.js.map +1 -0
- package/dist/esm/af-nav-menu.entry.js +4 -3
- package/dist/esm/af-nav-menu.entry.js.map +1 -0
- package/dist/esm/af-number-badge.entry.js +4 -3
- package/dist/esm/af-number-badge.entry.js.map +1 -0
- package/dist/esm/af-progress-line.entry.js +4 -3
- package/dist/esm/af-progress-line.entry.js.map +1 -0
- package/dist/esm/af-radio.entry.js +4 -3
- package/dist/esm/af-radio.entry.js.map +1 -0
- package/dist/esm/af-section.entry.js +4 -3
- package/dist/esm/af-section.entry.js.map +1 -0
- package/dist/esm/af-show.entry.js +4 -3
- package/dist/esm/af-show.entry.js.map +1 -0
- package/dist/esm/af-social-link.entry.js +4 -3
- package/dist/esm/af-social-link.entry.js.map +1 -0
- package/dist/esm/af-spacer.entry.js +4 -3
- package/dist/esm/af-spacer.entry.js.map +1 -0
- package/dist/esm/af-split-section.entry.js +4 -3
- package/dist/esm/af-split-section.entry.js.map +1 -0
- package/dist/esm/af-stack.entry.js +4 -3
- package/dist/esm/af-stack.entry.js.map +1 -0
- package/dist/esm/af-stepper-step.entry.js +4 -3
- package/dist/esm/af-stepper-step.entry.js.map +1 -0
- package/dist/esm/af-stepper.entry.js +4 -3
- package/dist/esm/af-stepper.entry.js.map +1 -0
- package/dist/esm/af-switch.entry.js +4 -3
- package/dist/esm/af-switch.entry.js.map +1 -0
- package/dist/esm/af-tab-bar.entry.js +4 -3
- package/dist/esm/af-tab-bar.entry.js.map +1 -0
- package/dist/esm/af-tab.entry.js +4 -3
- package/dist/esm/af-tab.entry.js.map +1 -0
- package/dist/esm/af-tag.entry.js +4 -3
- package/dist/esm/af-tag.entry.js.map +1 -0
- package/dist/esm/af-testimonial-carousel.entry.js +4 -3
- package/dist/esm/af-testimonial-carousel.entry.js.map +1 -0
- package/dist/esm/af-testimonial-stat.entry.js +4 -3
- package/dist/esm/af-testimonial-stat.entry.js.map +1 -0
- package/dist/esm/af-testimonial.entry.js +4 -3
- package/dist/esm/af-testimonial.entry.js.map +1 -0
- package/dist/esm/af-text-image-nest.entry.js +4 -3
- package/dist/esm/af-text-image-nest.entry.js.map +1 -0
- package/dist/esm/af-text-image.entry.js +4 -3
- package/dist/esm/af-text-image.entry.js.map +1 -0
- package/dist/esm/af-textarea.entry.js +4 -3
- package/dist/esm/af-textarea.entry.js.map +1 -0
- package/dist/esm/af-theme-override.entry.js +4 -3
- package/dist/esm/af-theme-override.entry.js.map +1 -0
- package/dist/esm/af-typography-lockup.entry.js +4 -3
- package/dist/esm/af-typography-lockup.entry.js.map +1 -0
- package/dist/esm/af-video-container.entry.js +4 -3
- package/dist/esm/af-video-container.entry.js.map +1 -0
- package/dist/esm/af-visually-hidden.entry.js +4 -3
- package/dist/esm/af-visually-hidden.entry.js.map +1 -0
- package/dist/esm/affinda.js +5 -4
- package/dist/esm/affinda.js.map +1 -0
- package/dist/esm/{index-CPfAC9fk.js → index-C7nUZsb8.js} +260 -462
- package/dist/esm/index-C7nUZsb8.js.map +1 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/loader.js.map +1 -0
- package/dist/types/components.d.ts +131 -508
- package/dist/types/stencil-public-runtime.d.ts +6 -110
- package/package.json +16 -12
- package/dist/affinda/p-00a226ba.entry.js +0 -1
- package/dist/affinda/p-020bd9db.entry.js +0 -1
- package/dist/affinda/p-08dc48a4.entry.js +0 -1
- package/dist/affinda/p-0979ad4d.entry.js +0 -1
- package/dist/affinda/p-14c85efd.entry.js +0 -1
- package/dist/affinda/p-1e37fea2.entry.js +0 -1
- package/dist/affinda/p-1f810e9c.entry.js +0 -1
- package/dist/affinda/p-203a908b.entry.js +0 -1
- package/dist/affinda/p-23f9e0cc.entry.js +0 -1
- package/dist/affinda/p-29d0a985.entry.js +0 -1
- package/dist/affinda/p-2ab645a3.entry.js +0 -1
- package/dist/affinda/p-30c704f8.entry.js +0 -1
- package/dist/affinda/p-37977b9d.entry.js +0 -1
- package/dist/affinda/p-3b3f69a5.entry.js +0 -1
- package/dist/affinda/p-40456eb5.entry.js +0 -1
- package/dist/affinda/p-4196ab5d.entry.js +0 -1
- package/dist/affinda/p-4521a8f3.entry.js +0 -1
- package/dist/affinda/p-46c9b92e.entry.js +0 -1
- package/dist/affinda/p-485cfd5d.entry.js +0 -1
- package/dist/affinda/p-50a6a219.entry.js +0 -1
- package/dist/affinda/p-5136a894.entry.js +0 -1
- package/dist/affinda/p-542fd771.entry.js +0 -1
- package/dist/affinda/p-666fc4a6.entry.js +0 -1
- package/dist/affinda/p-687f157a.entry.js +0 -1
- package/dist/affinda/p-76b6d6e0.entry.js +0 -1
- package/dist/affinda/p-81eb85ec.entry.js +0 -1
- package/dist/affinda/p-82674a06.entry.js +0 -1
- package/dist/affinda/p-82fb88df.entry.js +0 -1
- package/dist/affinda/p-87daf220.entry.js +0 -1
- package/dist/affinda/p-90edefa8.entry.js +0 -1
- package/dist/affinda/p-9133ff23.entry.js +0 -1
- package/dist/affinda/p-92904a41.entry.js +0 -1
- package/dist/affinda/p-CPfAC9fk.js +0 -2
- package/dist/affinda/p-a12a37b6.entry.js +0 -1
- package/dist/affinda/p-a5179afb.entry.js +0 -1
- package/dist/affinda/p-a6210fab.entry.js +0 -1
- package/dist/affinda/p-ace3c850.entry.js +0 -1
- package/dist/affinda/p-ae43f07b.entry.js +0 -1
- package/dist/affinda/p-aec05709.entry.js +0 -1
- package/dist/affinda/p-b049555b.entry.js +0 -1
- package/dist/affinda/p-b477c08a.entry.js +0 -1
- package/dist/affinda/p-b8dde234.entry.js +0 -1
- package/dist/affinda/p-c03893bd.entry.js +0 -1
- package/dist/affinda/p-ca14e17a.entry.js +0 -1
- package/dist/affinda/p-cb889d6b.entry.js +0 -1
- package/dist/affinda/p-cd138311.entry.js +0 -1
- package/dist/affinda/p-cdfaffc6.entry.js +0 -1
- package/dist/affinda/p-cfb90374.entry.js +0 -1
- package/dist/affinda/p-cfe018f1.entry.js +0 -1
- package/dist/affinda/p-d3e3653e.entry.js +0 -1
- package/dist/affinda/p-d7129564.entry.js +0 -1
- package/dist/affinda/p-d8ad81a4.entry.js +0 -1
- package/dist/affinda/p-d9cfea73.entry.js +0 -1
- package/dist/affinda/p-da2759a0.entry.js +0 -1
- package/dist/affinda/p-dd47655f.entry.js +0 -1
- package/dist/affinda/p-e0915179.entry.js +0 -1
- package/dist/affinda/p-ebb36c5f.entry.js +0 -1
- package/dist/affinda/p-ecab0884.entry.js +0 -1
- package/dist/affinda/p-f3d5d1be.entry.js +0 -1
- package/dist/affinda/p-f617ae1d.entry.js +0 -1
- package/dist/affinda/p-fcb04e98.entry.js +0 -1
- package/dist/affinda/p-fd603900.entry.js +0 -1
- package/dist/components/p--UJ_xE9Z.js +0 -1
- package/dist/components/p-0KrQFK77.js +0 -1
- package/dist/components/p-BCCbAFc1.js +0 -1
- package/dist/components/p-BGeRQgDo.js +0 -1
- package/dist/components/p-BLzlyxBT.js +0 -1
- package/dist/components/p-BUFbtjxU.js +0 -1
- package/dist/components/p-BeVM-2kH.js +0 -1
- package/dist/components/p-BeX5VmwL.js +0 -1
- package/dist/components/p-BlfywPKX.js +0 -1
- package/dist/components/p-BqUK0ZTO.js +0 -1
- package/dist/components/p-BvLGR36l.js +0 -1
- package/dist/components/p-BwpItMWU.js +0 -1
- package/dist/components/p-BzH2LxRQ.js +0 -1
- package/dist/components/p-C5_nFNYV.js +0 -1
- package/dist/components/p-CDCZfKNt.js +0 -1
- package/dist/components/p-CSpMqpfj.js +0 -1
- package/dist/components/p-CTFMTG3E.js +0 -1
- package/dist/components/p-CVQiSujq.js +0 -1
- package/dist/components/p-CYXTWxXF.js +0 -1
- package/dist/components/p-C_BrhG1Q.js +0 -1
- package/dist/components/p-DRm58pvc.js +0 -1
- package/dist/components/p-DX19jO3u.js +0 -1
- package/dist/components/p-DsNqeD3z.js +0 -1
- package/dist/components/p-Dvos4xtG.js +0 -1
- package/dist/components/p-Dx31qPzk.js +0 -1
- package/dist/components/p-HhMv1A3-.js +0 -1
- package/dist/components/p-HkfUr6-S.js +0 -1
- package/dist/components/p-oawfHsaK.js +0 -1
- package/dist/components/p-vWuqpbX0.js +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
|
|
2
|
+
import { d as defineCustomElement$1 } from './p-BFLKhcjQ.js';
|
|
3
|
+
|
|
4
|
+
const afIconBoxCss = ".sc-af-icon-box-h{display:inline-block}.icon-box.sc-af-icon-box{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background-color:var(--af-background-contrast, var(--colour-brand-mist-green, #c6d5d1));color:var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));flex-shrink:0}.icon-box--size-small.sc-af-icon-box{width:48px;height:48px;padding:14px;border-radius:12px}.icon-box--size-default.sc-af-icon-box{width:64px;height:64px;padding:12px;border-radius:16px}.icon-box--size-large.sc-af-icon-box{width:80px;height:80px;padding:16px;border-radius:20px}";
|
|
5
|
+
|
|
6
|
+
const AfIconBox = /*@__PURE__*/ proxyCustomElement(class AfIconBox extends H {
|
|
7
|
+
constructor(registerHost) {
|
|
8
|
+
super();
|
|
9
|
+
if (registerHost !== false) {
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Size variant of the icon box
|
|
14
|
+
* - 'small': 48px container, 20px icon
|
|
15
|
+
* - 'default': 64px container, 40px icon
|
|
16
|
+
* - 'large': 80px container, 48px icon
|
|
17
|
+
*/
|
|
18
|
+
this.size = 'default';
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
const containerClasses = {
|
|
22
|
+
'icon-box': true,
|
|
23
|
+
[`icon-box--size-${this.size}`]: true,
|
|
24
|
+
};
|
|
25
|
+
const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;
|
|
26
|
+
return (h(Host, { key: 'e270fbfc75794a1bc2fce141cde5e6295d13c80c' }, h("div", { key: '3533c3e5afe2aaf1ee0227ffe9d37323b954753f', class: containerClasses }, h("af-icon", { key: 'e692e0110fb1233ced5d29f7b8f612c0ab89e058', name: this.icon, size: iconSize }))));
|
|
27
|
+
}
|
|
28
|
+
static get style() { return afIconBoxCss; }
|
|
29
|
+
}, [258, "af-icon-box", {
|
|
30
|
+
"icon": [1],
|
|
31
|
+
"size": [1]
|
|
32
|
+
}]);
|
|
33
|
+
function defineCustomElement() {
|
|
34
|
+
if (typeof customElements === "undefined") {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const components = ["af-icon-box", "af-icon"];
|
|
38
|
+
components.forEach(tagName => { switch (tagName) {
|
|
39
|
+
case "af-icon-box":
|
|
40
|
+
if (!customElements.get(tagName)) {
|
|
41
|
+
customElements.define(tagName, AfIconBox);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case "af-icon":
|
|
45
|
+
if (!customElements.get(tagName)) {
|
|
46
|
+
defineCustomElement$1();
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
} });
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { AfIconBox as A, defineCustomElement as d };
|
|
53
|
+
//# sourceMappingURL=p-eAysTBjl.js.map
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=p-eAysTBjl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-eAysTBjl.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,6lBAA6lB;;MCqBrmB,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,SAAS;AAkBxD;IAhBC,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;SACtC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE;QAE7E,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAA,CAAY,CAChD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-icon-box/af-icon-box.css?tag=af-icon-box&encapsulation=scoped","src/components/af-icon-box/af-icon-box.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.icon-box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 16px;\n background-color: var(--af-background-contrast, var(--colour-brand-mist-green, #c6d5d1));\n color: var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));\n flex-shrink: 0;\n}\n\n/* Size variants */\n.icon-box--size-small {\n width: 48px;\n height: 48px;\n padding: 14px;\n border-radius: 12px;\n}\n\n.icon-box--size-default {\n width: 64px;\n height: 64px;\n padding: 12px;\n border-radius: 16px;\n}\n\n.icon-box--size-large {\n width: 80px;\n height: 80px;\n padding: 16px;\n border-radius: 20px;\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconBox atom - a themed container for displaying an icon with a rounded background.\n * \n * Inherits theme colors from parent Section via CSS custom properties:\n * - Background uses `--af-background-contrast`\n * - Icon color uses `--af-background-icon-default`\n * \n * @example\n * ```html\n * <af-icon-box icon=\"settings\" size=\"default\"></af-icon-box>\n * ```\n */\n@Component({\n tag: 'af-icon-box',\n styleUrl: 'af-icon-box.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconBox {\n /**\n * The name of the icon to display (from @affinda/icons)\n */\n @Prop() icon!: IconName;\n\n /**\n * Size variant of the icon box\n * - 'small': 48px container, 20px icon\n * - 'default': 64px container, 40px icon\n * - 'large': 80px container, 48px icon\n */\n @Prop() size: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-box': true,\n [`icon-box--size-${this.size}`]: true,\n };\n\n const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon name={this.icon} size={iconSize}></af-icon>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
|
|
2
|
+
|
|
3
|
+
const afProgressLineCss = ".sc-af-progress-line-h{display:block;width:100%}.progress-line.sc-af-progress-line{position:relative;overflow:hidden}.progress-line--horizontal.sc-af-progress-line{height:3px;width:100%}.progress-line__background.sc-af-progress-line{position:absolute;inset:0;background:var(--af-background-border-default, var(--colour-background-border-default, #d1ddda));height:1px;top:50%;transform:translateY(-50%)}.progress-line__active.sc-af-progress-line{position:relative;height:100%;min-width:1px;background:var(--af-background-border-active, var(--colour-background-border-active, #8a7049));transition:width 0.15s ease-out}";
|
|
4
|
+
|
|
5
|
+
const AfProgressLine = /*@__PURE__*/ proxyCustomElement(class AfProgressLine extends H {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Progress value from 0 to 1 (0 = 0%, 1 = 100%).
|
|
13
|
+
*/
|
|
14
|
+
this.progress = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Orientation of the progress line.
|
|
17
|
+
* Currently only horizontal is supported.
|
|
18
|
+
*/
|
|
19
|
+
this.orientation = 'horizontal';
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
// Clamp progress between 0 and 1
|
|
23
|
+
const clampedProgress = Math.max(0, Math.min(1, this.progress));
|
|
24
|
+
const progressPercent = clampedProgress * 100;
|
|
25
|
+
return (h(Host, { key: 'ab4db165b98bbd164b87d65f2e013d6719a04f52' }, h("div", { key: 'ef6ffbf323aff182c9de107d07992f032606e422', class: {
|
|
26
|
+
'progress-line': true,
|
|
27
|
+
[`progress-line--${this.orientation}`]: true,
|
|
28
|
+
}, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: 'e7e2ab3850a97dc4d37194132dcdd9c7f3d614e3', class: "progress-line__background" }), h("div", { key: '00c16c1a7eebbcd314db1f12ee4344d2b2bebc9d', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
|
|
29
|
+
}
|
|
30
|
+
static get style() { return afProgressLineCss; }
|
|
31
|
+
}, [258, "af-progress-line", {
|
|
32
|
+
"progress": [2],
|
|
33
|
+
"orientation": [1]
|
|
34
|
+
}]);
|
|
35
|
+
function defineCustomElement() {
|
|
36
|
+
if (typeof customElements === "undefined") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const components = ["af-progress-line"];
|
|
40
|
+
components.forEach(tagName => { switch (tagName) {
|
|
41
|
+
case "af-progress-line":
|
|
42
|
+
if (!customElements.get(tagName)) {
|
|
43
|
+
customElements.define(tagName, AfProgressLine);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
} });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { AfProgressLine as A, defineCustomElement as d };
|
|
50
|
+
//# sourceMappingURL=p-jTq4gh1Q.js.map
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=p-jTq4gh1Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-jTq4gh1Q.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,0mBAA0mB;;MCcvnB,cAAc,iBAAAA,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;AAN3B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC;AAE5B;;;AAGG;AACK,QAAA,IAAW,CAAA,WAAA,GAAiB,YAAY;AA4BjD;IA1BC,MAAM,GAAA;;AAEJ,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/D,QAAA,MAAM,eAAe,GAAG,eAAe,GAAG,GAAG;QAE7C,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,CAAC,kBAAkB,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;AAC7C,aAAA,EACD,IAAI,EAAC,aAAa,EAAA,eAAA,EACH,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAC3B,eAAA,EAAA,CAAC,mBACD,GAAG,EAAA,EAElB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,uBAAuB,EAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAG,EAAA,eAAe,CAAG,CAAA,CAAA,EAAE,GACvC,CACE,CACD;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-progress-line/af-progress-line.css?tag=af-progress-line&encapsulation=scoped","src/components/af-progress-line/af-progress-line.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Progress Line Base Styles\n ========================================================================== */\n\n.progress-line {\n position: relative;\n overflow: hidden;\n}\n\n.progress-line--horizontal {\n height: 3px;\n width: 100%;\n}\n\n/* ==========================================================================\n Background Track\n ========================================================================== */\n\n.progress-line__background {\n position: absolute;\n inset: 0;\n background: var(--af-background-border-default, var(--colour-background-border-default, #d1ddda));\n height: 1px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* ==========================================================================\n Active Progress\n ========================================================================== */\n\n.progress-line__active {\n position: relative;\n height: 100%;\n min-width: 1px;\n background: var(--af-background-border-active, var(--colour-background-border-active, #8a7049));\n transition: width 0.15s ease-out;\n}\n\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Progress Line atom component for displaying scroll or completion progress.\n * \n * Shows a horizontal bar with a filled portion indicating progress.\n * Used primarily for carousel scroll indicators.\n */\n@Component({\n tag: 'af-progress-line',\n styleUrl: 'af-progress-line.css',\n shadow: false,\n scoped: true,\n})\nexport class AfProgressLine {\n /**\n * Progress value from 0 to 1 (0 = 0%, 1 = 100%).\n */\n @Prop() progress: number = 0;\n\n /**\n * Orientation of the progress line.\n * Currently only horizontal is supported.\n */\n @Prop() orientation: 'horizontal' = 'horizontal';\n\n render() {\n // Clamp progress between 0 and 1\n const clampedProgress = Math.max(0, Math.min(1, this.progress));\n const progressPercent = clampedProgress * 100;\n\n return (\n <Host>\n <div\n class={{\n 'progress-line': true,\n [`progress-line--${this.orientation}`]: true,\n }}\n role=\"progressbar\"\n aria-valuenow={Math.round(progressPercent)}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <div class=\"progress-line__background\" />\n <div\n class=\"progress-line__active\"\n style={{ width: `${progressPercent}%` }}\n />\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
|
|
2
|
+
import { d as defineCustomElement$2 } from './p-BxwCXPuv.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './p-287-nef9.js';
|
|
4
|
+
|
|
5
|
+
const afIllustratedCardCss = ".sc-af-illustrated-card-h{display:flex;flex-direction:column;width:100%;--af-card-padding:0;--af-card-gap:0}.illustrated-card.sc-af-illustrated-card{min-height:400px}.illustrated-card__content.sc-af-illustrated-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;z-index:1}.illustrated-card--breakpoint-desktop.illustrated-card--size-default.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 32px 12px 32px}.illustrated-card--breakpoint-desktop.illustrated-card--size-large.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 40px 0 40px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:32px 24px 12px 24px}.illustrated-card__illustration-area.sc-af-illustrated-card{position:relative;width:100%;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.illustrated-card--breakpoint-desktop.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:160px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:192px}.illustrated-card__illustration-placeholder.sc-af-illustrated-card{width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.illustrated-card__illustration-area.sc-af-illustrated-card-s>img,.illustrated-card__illustration-area .sc-af-illustrated-card-s>img,.illustrated-card__illustration-area.sc-af-illustrated-card img.sc-af-illustrated-card{max-width:100%;max-height:200px;height:auto;object-fit:contain}.illustrated-card.sc-af-illustrated-card af-typography-lockup.sc-af-illustrated-card{--colour-typography-heading-primary:var(--af-typography-heading-primary);--colour-typography-body-default:var(--af-typography-body-default)}";
|
|
6
|
+
|
|
7
|
+
const AfIllustratedCard = /*@__PURE__*/ proxyCustomElement(class AfIllustratedCard extends H {
|
|
8
|
+
constructor(registerHost) {
|
|
9
|
+
super();
|
|
10
|
+
if (registerHost !== false) {
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Theme variant - sets background color and provides theme context.
|
|
15
|
+
* Defaults to 'mist-green'.
|
|
16
|
+
*/
|
|
17
|
+
this.theme = 'mist-green';
|
|
18
|
+
/**
|
|
19
|
+
* Responsive breakpoint for typography sizing.
|
|
20
|
+
*/
|
|
21
|
+
this.breakpoint = 'desktop';
|
|
22
|
+
/**
|
|
23
|
+
* Card size variant (applies to desktop only).
|
|
24
|
+
*/
|
|
25
|
+
this.cardSize = 'default';
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
const wrapperClasses = {
|
|
29
|
+
'illustrated-card': true,
|
|
30
|
+
[`illustrated-card--breakpoint-${this.breakpoint}`]: true,
|
|
31
|
+
[`illustrated-card--size-${this.cardSize}`]: true,
|
|
32
|
+
};
|
|
33
|
+
return (h(Host, { key: 'afe7b84219cbe07a6949825042295def34dafe5e' }, h("div", { key: '9b5697ca0732d5bc5ac8170869bf04db5c3e9b07', class: wrapperClasses }, h("af-card", { key: '0de8d7d93eb225298664e9edcd7efec821c341c6', theme: this.theme }, h("div", { key: '4a691832606f011d996f005c533f423acc960ea2', class: "illustrated-card__content" }, h("af-typography-lockup", { key: '59d8417922cffd552df7610b72b4f2ec6c222105', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonLayout: "vertical" }, h("slot", { key: 'ee18abb24d0637f3bea71b48ccafdd3c6df0ea45' }), h("span", { key: 'be0bebfef478da4491ba1137ba1975052f4dcb5c', slot: "description" }, h("slot", { key: 'b05c91bd5d5085f74d94fabd22d8b79a2b008719', name: "body" })), h("span", { key: '79c1f836418dd6d2d2c96a1ea680bf05ade2b0d8', slot: "buttons" }, h("slot", { key: '03a5aff63f8225bf2323abe44e8e830562cf0c6c', name: "buttons" })))), h("div", { key: '1c75154af4e7cc89eceda3f16a958ca720f17450', class: "illustrated-card__illustration-area" }, h("slot", { key: '46071088a5aad6cbf64635a3961aa78e1f7b3fee', name: "illustration" }))))));
|
|
34
|
+
}
|
|
35
|
+
static get style() { return afIllustratedCardCss; }
|
|
36
|
+
}, [262, "af-illustrated-card", {
|
|
37
|
+
"theme": [1],
|
|
38
|
+
"breakpoint": [1],
|
|
39
|
+
"cardSize": [1, "card-size"]
|
|
40
|
+
}]);
|
|
41
|
+
function defineCustomElement() {
|
|
42
|
+
if (typeof customElements === "undefined") {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const components = ["af-illustrated-card", "af-card", "af-typography-lockup"];
|
|
46
|
+
components.forEach(tagName => { switch (tagName) {
|
|
47
|
+
case "af-illustrated-card":
|
|
48
|
+
if (!customElements.get(tagName)) {
|
|
49
|
+
customElements.define(tagName, AfIllustratedCard);
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
case "af-card":
|
|
53
|
+
if (!customElements.get(tagName)) {
|
|
54
|
+
defineCustomElement$2();
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
case "af-typography-lockup":
|
|
58
|
+
if (!customElements.get(tagName)) {
|
|
59
|
+
defineCustomElement$1();
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
} });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { AfIllustratedCard as A, defineCustomElement as d };
|
|
66
|
+
//# sourceMappingURL=p-noO3IF9V.js.map
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=p-noO3IF9V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-noO3IF9V.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,m4DAAm4D;;MCqBn5D,iBAAiB,iBAAAA,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;AAN9B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsE,YAAY;AAE/F;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAwB,SAAS;AAwClD;IAtCC,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;AACzD,YAAA,CAAC,0BAA0B,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;SAClD;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EACxB,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,KAAK,EAAE,IAAI,CAAC,KAAK,EAAA,EAExB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpC,CAAA,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAC,MAAM,EACpB,YAAY,EAAC,UAAU,EAAA,EAEvB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAA,CAAQ,CACpB,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAQ,CAAA,CACvB,CACc,CACnB,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qCAAqC,EAAA,EAC9C,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,cAAc,EAAA,CAAQ,CAC7B,CACE,CACN,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-illustrated-card/af-illustrated-card.css?tag=af-illustrated-card&encapsulation=scoped","src/components/af-illustrated-card/af-illustrated-card.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n \n /* Override card atom defaults - illustrated card handles its own spacing */\n --af-card-padding: 0;\n --af-card-gap: 0;\n}\n\n/* ==========================================================================\n Base Illustrated Card Styles\n ========================================================================== */\n\n.illustrated-card {\n min-height: 400px;\n}\n\n/* ==========================================================================\n Content Area\n ========================================================================== */\n\n.illustrated-card__content {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Desktop default size spacing */\n.illustrated-card--breakpoint-desktop.illustrated-card--size-default .illustrated-card__content {\n padding: 40px 32px 12px 32px;\n}\n\n/* Desktop large size spacing */\n.illustrated-card--breakpoint-desktop.illustrated-card--size-large .illustrated-card__content {\n padding: 40px 40px 0 40px;\n}\n\n/* Mobile spacing */\n.illustrated-card--breakpoint-mobile .illustrated-card__content {\n padding: 32px 24px 12px 24px;\n}\n\n/* ==========================================================================\n Illustration Area\n ========================================================================== */\n\n.illustrated-card__illustration-area {\n position: relative;\n width: 100%;\n flex: 1;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n box-sizing: border-box;\n}\n\n/* Desktop illustration area height */\n.illustrated-card--breakpoint-desktop .illustrated-card__illustration-area {\n min-height: 160px;\n}\n\n/* Mobile illustration area height */\n.illustrated-card--breakpoint-mobile .illustrated-card__illustration-area {\n min-height: 192px;\n}\n\n/* Illustration placeholder for when using data attributes */\n.illustrated-card__illustration-placeholder {\n width: 100%;\n height: 100%;\n min-height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Illustration image styling */\n.illustrated-card__illustration-area ::slotted(img),\n.illustrated-card__illustration-area img {\n max-width: 100%;\n max-height: 200px;\n height: auto;\n object-fit: contain;\n}\n\n/* ==========================================================================\n Typography Lockup Styling\n ========================================================================== */\n\n/* Pass theme colors to typography lockup */\n.illustrated-card af-typography-lockup {\n --colour-typography-heading-primary: var(--af-typography-heading-primary);\n --colour-typography-body-default: var(--af-typography-body-default);\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Illustrated Card molecule component that combines a card with an illustration.\n *\n * Uses a theme background with text at top, a button row in the middle, and\n * an illustration from @affinda/illustrations at the bottom.\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 * @slot buttons - Action buttons (rendered below the description, above the illustration)\n * @slot illustration - Illustration image element\n */\n@Component({\n tag: 'af-illustrated-card',\n styleUrl: 'af-illustrated-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIllustratedCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Defaults to 'mist-green'.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * Responsive breakpoint for typography sizing.\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Card size variant (applies to desktop only).\n */\n @Prop() cardSize: 'default' | 'large' = 'default';\n\n render() {\n const wrapperClasses = {\n 'illustrated-card': true,\n [`illustrated-card--breakpoint-${this.breakpoint}`]: true,\n [`illustrated-card--size-${this.cardSize}`]: true,\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme}>\n {/* Content area with typography lockup */}\n <div class=\"illustrated-card__content\">\n <af-typography-lockup\n headingSize={3}\n breakpoint={this.breakpoint}\n textAlignment=\"left\"\n buttonLayout=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Illustration area at bottom */}\n <div class=\"illustrated-card__illustration-area\">\n <slot name=\"illustration\"></slot>\n </div>\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
|
|
2
|
+
import { d as defineCustomElement$1 } from './p-0-_hX4o-.js';
|
|
3
|
+
|
|
4
|
+
const afNavbarCss = ".sc-af-navbar-h{display:block;width:100%}.navbar-spacer.sc-af-navbar{height:100px}.navbar-spacer.theme-white.sc-af-navbar{background-color:var(--colour-brand-white, #FFFFFF)}.navbar-spacer.theme-inkwell.sc-af-navbar{background-color:var(--colour-brand-inkwell, #14343B)}.navbar-spacer.theme-mist-green.sc-af-navbar{background-color:var(--colour-brand-mist-green, #C6D5D1)}.navbar-spacer.theme-soft-clay.sc-af-navbar{background-color:var(--colour-softclay-400, #c0ab8d)}.navbar-container.sc-af-navbar{position:fixed;top:max(32px, env(safe-area-inset-top));left:0;right:0;z-index:10;padding:0 calc(80px + env(safe-area-inset-right)) 0 calc(80px + env(safe-area-inset-left));box-sizing:border-box}.navbar.sc-af-navbar{background:var(--colour-background-white, #ffffff);border-radius:9999px;display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 40px;box-sizing:border-box;flex-wrap:nowrap}.navbar-left.sc-af-navbar{display:flex;align-items:center;gap:32px;flex-shrink:0}.logo.sc-af-navbar{display:flex;align-items:center;flex-shrink:0}.mobile-menu-toggle.sc-af-navbar{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--colour-brand-inkwell, #14343b);margin-left:auto}.mobile-menu-toggle.sc-af-navbar svg.sc-af-navbar{display:block}.nav-links.sc-af-navbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.navbar-right.sc-af-navbar{display:flex;align-items:center;gap:20px}.nav-actions.sc-af-navbar{display:flex;align-items:center;gap:12px}.nav-button.sc-af-navbar{display:flex;align-items:center}.dropdown-container.sc-af-navbar{position:absolute;top:100px;left:0;right:0;padding:8px 80px 0;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity 0.2s ease, transform 0.2s ease}.dropdown-container.is-open.sc-af-navbar{pointer-events:auto;opacity:1;transform:translateY(0)}.dropdown-panel.sc-af-navbar{background:var(--colour-background-base, #ffffff);border-radius:32px;overflow:hidden;box-shadow:0 4px 24px rgba(20, 52, 59, 0.12)}.dropdown-panel.sc-af-navbar:empty{display:none}.mobile-menu-panel.sc-af-navbar{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--colour-background-base, #ffffff);z-index:9;padding:max(100px, calc(100px + env(safe-area-inset-top)))\n calc(16px + env(safe-area-inset-right))\n max(24px, env(safe-area-inset-bottom))\n calc(16px + env(safe-area-inset-left));overflow-y:auto;opacity:0;pointer-events:none;transition:opacity 0.2s ease}.mobile-menu-panel.is-open.sc-af-navbar{display:block;opacity:1;pointer-events:auto}.mobile-button-container.sc-af-navbar{margin-bottom:8px}.mobile-button-container.sc-af-navbar-s>*,.mobile-button-container .sc-af-navbar-s>*{width:100%}.mobile-menu-content.sc-af-navbar{display:flex;flex-direction:column;width:100%}.mobile-menu-content.sc-af-navbar-s>*,.mobile-menu-content .sc-af-navbar-s>*{flex:0 0 auto;width:100%}@media (max-width: 1099px){.nav-actions.sc-af-navbar{display:none}.navbar-right.sc-af-navbar{gap:0}}@media (max-width: 1024px){.navbar-spacer.sc-af-navbar{height:88px}.navbar-container.sc-af-navbar{top:max(24px, env(safe-area-inset-top));padding:0 calc(40px + env(safe-area-inset-right)) 0 calc(40px + env(safe-area-inset-left))}.navbar-left.sc-af-navbar{gap:24px}.nav-links.sc-af-navbar{gap:4px}.dropdown-container.sc-af-navbar{padding:0 40px}}@media (max-width: 991px){.navbar-spacer.sc-af-navbar{height:72px}.navbar-container.sc-af-navbar{top:max(16px, env(safe-area-inset-top));padding:0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));z-index:11}.navbar.sc-af-navbar{padding:8px 8px 8px 24px;flex-direction:row;border-radius:9999px;gap:0}.navbar-left.sc-af-navbar{width:auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:16px;flex:1}.mobile-menu-toggle.sc-af-navbar{display:flex;padding:12px;margin-left:auto;border-radius:9999px;border:1px solid var(--colour-brand-inkwell, #14343b)}.mobile-menu-toggle.sc-af-navbar:hover{background:rgba(20, 52, 59, 0.05)}.nav-links.sc-af-navbar{display:none}.navbar-right.sc-af-navbar{display:none}.dropdown-container.sc-af-navbar{display:none}.mobile-menu-panel.sc-af-navbar{padding-top:max(88px, calc(88px + env(safe-area-inset-top)))}.mobile-button-container.sc-af-navbar{padding:0 12px;margin-bottom:8px}.mobile-button-container.sc-af-navbar-s>af-button,.mobile-button-container .sc-af-navbar-s>af-button,.mobile-button-container.sc-af-navbar-s>button,.mobile-button-container .sc-af-navbar-s>button{width:100%;display:flex;justify-content:center}}[force-mobile].sc-af-navbar-h .navbar-spacer.sc-af-navbar{height:72px}[force-mobile].sc-af-navbar-h .navbar-container.sc-af-navbar{top:max(16px, env(safe-area-inset-top));padding:0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));z-index:11}[force-mobile].sc-af-navbar-h .navbar.sc-af-navbar{padding:8px 8px 8px 24px;flex-direction:row;border-radius:9999px;gap:0}[force-mobile].sc-af-navbar-h .navbar-left.sc-af-navbar{width:auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:16px;flex:1}[force-mobile].sc-af-navbar-h .mobile-menu-toggle.sc-af-navbar{display:flex;padding:12px;margin-left:auto;border-radius:9999px;border:1px solid var(--colour-brand-inkwell, #14343b)}[force-mobile].sc-af-navbar-h .mobile-menu-toggle.sc-af-navbar:hover{background:rgba(20, 52, 59, 0.05)}[force-mobile].sc-af-navbar-h .nav-links.sc-af-navbar{display:none}[force-mobile].sc-af-navbar-h .navbar-right.sc-af-navbar{display:none}[force-mobile].sc-af-navbar-h .nav-actions.sc-af-navbar{display:none}[force-mobile].sc-af-navbar-h .dropdown-container.sc-af-navbar{display:none}[force-mobile].sc-af-navbar-h .mobile-menu-panel.sc-af-navbar{padding-top:max(88px, calc(88px + env(safe-area-inset-top)))}[force-mobile].sc-af-navbar-h .mobile-menu-panel.is-open.sc-af-navbar{display:block;opacity:1;pointer-events:auto}[force-mobile].sc-af-navbar-h .mobile-button-container.sc-af-navbar{padding:0 12px;margin-bottom:8px}.sc-af-navbar-h[force-mobile] .mobile-button-container.sc-af-navbar-s>af-button,.mobile-button-container .sc-af-navbar-s>af-button,.sc-af-navbar-h[force-mobile] .mobile-button-container.sc-af-navbar-s>button,.mobile-button-container .sc-af-navbar-s>button{width:100%;display:flex;justify-content:center}[force-mobile].sc-af-navbar-h .mobile-menu-content.sc-af-navbar{display:flex;flex-direction:column}.sc-af-navbar-h[force-mobile] .mobile-menu-content.sc-af-navbar-s>*,.mobile-menu-content .sc-af-navbar-s>*{flex:0 0 auto;width:100%}";
|
|
5
|
+
|
|
6
|
+
const AfNavbar = /*@__PURE__*/ proxyCustomElement(class AfNavbar extends H {
|
|
7
|
+
constructor(registerHost) {
|
|
8
|
+
super();
|
|
9
|
+
if (registerHost !== false) {
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
}
|
|
12
|
+
this.mobileMenuOpen = false;
|
|
13
|
+
/** The currently open dropdown identifier (null if none open) */
|
|
14
|
+
this.activeDropdown = null;
|
|
15
|
+
/** Whether to show the default Affinda logo when no logo slot content is provided */
|
|
16
|
+
this.showDefaultLogo = true;
|
|
17
|
+
/** Force mobile layout regardless of viewport size (useful for testing/stories) */
|
|
18
|
+
this.forceMobile = false;
|
|
19
|
+
this.toggleMobileMenu = () => {
|
|
20
|
+
this.mobileMenuOpen = !this.mobileMenuOpen;
|
|
21
|
+
// Close any open dropdown when toggling mobile menu
|
|
22
|
+
this.activeDropdown = null;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Opens a dropdown by its identifier
|
|
26
|
+
*/
|
|
27
|
+
this.openDropdown = (dropdownId) => {
|
|
28
|
+
this.activeDropdown = dropdownId;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Closes the currently open dropdown
|
|
32
|
+
*/
|
|
33
|
+
this.closeDropdown = () => {
|
|
34
|
+
this.activeDropdown = null;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Toggles a dropdown by its identifier
|
|
38
|
+
*/
|
|
39
|
+
this.toggleDropdown = (dropdownId) => {
|
|
40
|
+
if (this.activeDropdown === dropdownId) {
|
|
41
|
+
this.activeDropdown = null;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.activeDropdown = dropdownId;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Open the dropdown matching a `[data-dropdown]` trigger on click —
|
|
50
|
+
* acts as a toggle so keyboard/touch users can still dismiss it.
|
|
51
|
+
*/
|
|
52
|
+
handleTriggerClick(event) {
|
|
53
|
+
const target = event.target;
|
|
54
|
+
const trigger = target?.closest?.('[data-dropdown]');
|
|
55
|
+
if (!trigger || !this.el.contains(trigger))
|
|
56
|
+
return;
|
|
57
|
+
const id = trigger.getAttribute('data-dropdown');
|
|
58
|
+
if (!id)
|
|
59
|
+
return;
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
event.stopPropagation();
|
|
62
|
+
this.cancelScheduledClose();
|
|
63
|
+
this.lastActiveTrigger = trigger;
|
|
64
|
+
this.toggleDropdown(id);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Open the dropdown matching a `[data-dropdown]` trigger on hover.
|
|
68
|
+
* Uses mouseover (which bubbles) and checks for the trigger ancestor.
|
|
69
|
+
*/
|
|
70
|
+
handleHover(event) {
|
|
71
|
+
const target = event.target;
|
|
72
|
+
const trigger = target?.closest?.('[data-dropdown]');
|
|
73
|
+
if (!trigger || !this.el.contains(trigger))
|
|
74
|
+
return;
|
|
75
|
+
const id = trigger.getAttribute('data-dropdown');
|
|
76
|
+
if (!id || this.activeDropdown === id) {
|
|
77
|
+
this.cancelScheduledClose();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this.cancelScheduledClose();
|
|
81
|
+
this.lastActiveTrigger = trigger;
|
|
82
|
+
this.openDropdown(id);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* When the pointer leaves the navbar entirely (including any open
|
|
86
|
+
* dropdown panel), schedule a close. Re-entering cancels it.
|
|
87
|
+
*/
|
|
88
|
+
handleHostLeave() {
|
|
89
|
+
this.scheduleClose();
|
|
90
|
+
}
|
|
91
|
+
handleHostEnter() {
|
|
92
|
+
this.cancelScheduledClose();
|
|
93
|
+
}
|
|
94
|
+
scheduleClose() {
|
|
95
|
+
// Short 100ms debounce so the mouse has time to cross any tiny
|
|
96
|
+
// dead-zone between the nav pill, the dropdown panel, and the
|
|
97
|
+
// items inside it without accidentally closing the panel. A
|
|
98
|
+
// re-entering mouseenter on the host cancels the pending close.
|
|
99
|
+
this.cancelScheduledClose();
|
|
100
|
+
this.closeTimer = window.setTimeout(() => {
|
|
101
|
+
this.closeDropdown();
|
|
102
|
+
this.closeTimer = undefined;
|
|
103
|
+
}, 100);
|
|
104
|
+
}
|
|
105
|
+
cancelScheduledClose() {
|
|
106
|
+
if (this.closeTimer !== undefined) {
|
|
107
|
+
clearTimeout(this.closeTimer);
|
|
108
|
+
this.closeTimer = undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Handle clicks outside the navbar to close dropdowns
|
|
113
|
+
*/
|
|
114
|
+
handleDocumentClick(event) {
|
|
115
|
+
const path = event.composedPath();
|
|
116
|
+
if (!path.includes(this.el)) {
|
|
117
|
+
this.closeDropdown();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Keep the visibility of slotted dropdown panels, and the `data-active`
|
|
122
|
+
* flag on their triggers, in sync with the currently active dropdown.
|
|
123
|
+
* Each panel lives in the `dropdowns` slot and carries a `data-for`
|
|
124
|
+
* attribute that matches its trigger's id.
|
|
125
|
+
*/
|
|
126
|
+
componentDidLoad() {
|
|
127
|
+
this.syncDropdownState();
|
|
128
|
+
}
|
|
129
|
+
componentDidUpdate() {
|
|
130
|
+
this.syncDropdownState();
|
|
131
|
+
}
|
|
132
|
+
syncDropdownState() {
|
|
133
|
+
this.el.querySelectorAll('[data-for]').forEach((panel) => {
|
|
134
|
+
if (!this.el.contains(panel))
|
|
135
|
+
return;
|
|
136
|
+
panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;
|
|
137
|
+
});
|
|
138
|
+
this.el.querySelectorAll('[data-dropdown]').forEach((trigger) => {
|
|
139
|
+
if (!this.el.contains(trigger))
|
|
140
|
+
return;
|
|
141
|
+
const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;
|
|
142
|
+
if (active)
|
|
143
|
+
trigger.setAttribute('data-active', '');
|
|
144
|
+
else
|
|
145
|
+
trigger.removeAttribute('data-active');
|
|
146
|
+
trigger.setAttribute('aria-expanded', active ? 'true' : 'false');
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Handle escape key to close dropdowns. If a dropdown is open, restore
|
|
151
|
+
* focus to the trigger that opened it so keyboard users don't lose
|
|
152
|
+
* their place in the tab order.
|
|
153
|
+
*/
|
|
154
|
+
handleKeyDown(event) {
|
|
155
|
+
if (event.key === 'Escape' && this.activeDropdown !== null) {
|
|
156
|
+
const toFocus = this.lastActiveTrigger;
|
|
157
|
+
this.closeDropdown();
|
|
158
|
+
toFocus?.focus?.();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
render() {
|
|
162
|
+
const hasDropdown = this.activeDropdown !== null;
|
|
163
|
+
return (h(Host, { key: 'bb5b7b7b1fe78eed12b3c16e2878d7905352d40c', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'd35c38cfbb329a7811abbc4bbc5b83e3673d3dab', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '44d49577e393f60773db2d3b934ee1a253a3db1c', class: "navbar-container" }, h("div", { key: '172dfc9bcfd092c62537e2906dce3b97ae0bc6f3', class: "navbar theme-white" }, h("div", { key: 'bb10a24a359b569bd29082a75264e0d150a0cfae', class: "navbar-left" }, h("div", { key: 'd9b13adcdd2936fbfe3d177c81597b36998239a5', class: "logo" }, h("slot", { key: 'e6752d9755b854dbca123f4e45f7c4194fba9997', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: '414958654451d4ec05d2ede68f989d850d6e3326' }))), h("button", { key: '42361097f38ca78004d91299ff570f168b79c342', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '11cedc5ae46d5bc4c1254c73571fa6d99849db15', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: '2ab1f72977583995c0ee569e34df8c87ea5a2787', name: "start" }))), h("div", { key: 'aca92b065a53ee293a391bc32e3d1eb693acd7c0', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: 'c94a0d6c88f6dbbdc92a328effa898a3b275466c', class: "nav-actions" }, h("slot", { key: '051e4a16d64f9d8b66504921cfafd734a78a3148', name: "end" })), h("div", { key: 'fc60234ab1b58d4bfb675d7a4d65253995c3b548', class: "nav-button" }, h("slot", { key: '5a826f4d58eef982abd103e4b2fe076f0dfc138e', name: "button" })))), h("div", { key: 'cd7c0db3e62cdb689ec75855109091666177deb7', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: 'c40e3a8032991758e8fbe40507533b9335febfef', class: "dropdown-panel theme-white" }, h("slot", { key: '72680638403af582146ae0937d21dc8342cee1cb', name: "dropdowns" })))), h("div", { key: '12dbebc3c6bb463b63424d1ee431ecdcb2d11391', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: 'db40b156136d18f54647583d03fbc108c1ea6243', class: "mobile-button-container" }, h("slot", { key: '9a018110748c36f0129e30fadaffe4e15bf4c076', name: "mobile-button" }, h("slot", { key: '8929b69c67419e9ceccaca72b90ffede5a2ade29', name: "button" }))), h("div", { key: '151a7cad7ad32874176c59a1729a37049ca57f75', class: "mobile-menu-content" }, h("slot", { key: 'caee9dd00f204a52e0e3b7598b215020a2bec70e', name: "mobile-menu" })))));
|
|
164
|
+
}
|
|
165
|
+
get el() { return this; }
|
|
166
|
+
static get style() { return afNavbarCss; }
|
|
167
|
+
}, [262, "af-navbar", {
|
|
168
|
+
"showDefaultLogo": [4, "show-default-logo"],
|
|
169
|
+
"theme": [1],
|
|
170
|
+
"forceMobile": [516, "force-mobile"],
|
|
171
|
+
"mobileMenuOpen": [32],
|
|
172
|
+
"activeDropdown": [32]
|
|
173
|
+
}, [[0, "click", "handleTriggerClick"], [1, "mouseover", "handleHover"], [1, "mouseleave", "handleHostLeave"], [1, "mouseenter", "handleHostEnter"], [4, "click", "handleDocumentClick"], [4, "keydown", "handleKeyDown"]]]);
|
|
174
|
+
function defineCustomElement() {
|
|
175
|
+
if (typeof customElements === "undefined") {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const components = ["af-navbar", "af-logo"];
|
|
179
|
+
components.forEach(tagName => { switch (tagName) {
|
|
180
|
+
case "af-navbar":
|
|
181
|
+
if (!customElements.get(tagName)) {
|
|
182
|
+
customElements.define(tagName, AfNavbar);
|
|
183
|
+
}
|
|
184
|
+
break;
|
|
185
|
+
case "af-logo":
|
|
186
|
+
if (!customElements.get(tagName)) {
|
|
187
|
+
defineCustomElement$1();
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
} });
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export { AfNavbar as A, defineCustomElement as d };
|
|
194
|
+
//# sourceMappingURL=p-tiZXMu0t.js.map
|
|
195
|
+
|
|
196
|
+
//# sourceMappingURL=p-tiZXMu0t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-tiZXMu0t.js","mappings":";;;AAAA,MAAM,WAAW,GAAG,g4MAAg4M;;MC4Bv4M,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AANrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AASW,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;;AAG/B,QAAA,IAAc,CAAA,cAAA,GAAkB,IAAI;;AAGrC,QAAA,IAAe,CAAA,eAAA,GAAY,IAAI;;AAMd,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAE7C,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;;AAE1C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC5B,SAAC;AAED;;AAEG;AACK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,UAAkB,KAAI;AAC5C,YAAA,IAAI,CAAC,cAAc,GAAG,UAAU;AAClC,SAAC;AAED;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;AAC3B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC5B,SAAC;AAED;;AAEG;AACK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,UAAkB,KAAI;AAC9C,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE;AACtC,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;iBACrB;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,UAAU;;AAEpC,SAAC;AAqNF;AAzMC;;;AAGG;AAEH,IAAA,kBAAkB,CAAC,KAAiB,EAAA;AAClC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B;QACjD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAuB;QAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE;QAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;AAChD,QAAA,IAAI,CAAC,EAAE;YAAE;QACT,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;;AAGzB;;;AAGG;AAEH,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B;QACjD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAuB;QAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE;QAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,oBAAoB,EAAE;YAC3B;;QAEF,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;AAChC,QAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;;AAGvB;;;AAGG;IAEH,eAAe,GAAA;QACb,IAAI,CAAC,aAAa,EAAE;;IAItB,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;;IAGrB,aAAa,GAAA;;;;;QAKnB,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YACvC,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;SAC5B,EAAE,GAAG,CAAC;;IAGD,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACjC,YAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;;AAI/B;;AAEG;AAEH,IAAA,mBAAmB,CAAC,KAAiB,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC3B,IAAI,CAAC,aAAa,EAAE;;;AAIxB;;;;;AAKG;IACH,gBAAgB,GAAA;QACd,IAAI,CAAC,iBAAiB,EAAE;;IAG1B,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,EAAE;;IAGlB,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACpE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE;AAC9B,YAAA,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,cAAc;AACvE,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YAC3E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE;AAChC,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,cAAc;AAC5E,YAAA,IAAI,MAAM;AAAE,gBAAA,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;;AAC9C,gBAAA,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;AAC3C,YAAA,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAClE,SAAC,CAAC;;AAGJ;;;;AAIG;AAEH,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAC1D,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB;YACtC,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,OAAO,EAAE,KAAK,IAAI;;;IAItB,MAAM,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI;AAEhD,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAAA,EAE/C,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAC,KAAK,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,EAAE,CAAA,CAAE,EAAQ,CAAA,EAE9E,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAEd,EAAA,IAAI,CAAC,eAAe,IAAI,CAAmB,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACvC,CACH,EAGN,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EACnB,YAAA,EAAA,wBAAwB,mBACpB,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,OAAO,EAEpD,EAAA,IAAI,CAAC,cAAc,IAClB,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/E,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,sBAAsB,EAAA,cAAA,EAAc,GAAG,EAAgB,gBAAA,EAAA,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CAC5F,KAEN,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/E,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,yBAAyB,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CAC/F,CACP,CACM,EAET,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAE,CAAA,EAAA,EACjE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,EAGN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAE,CAAA,EAAA,EACpE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,KAAK,EAAA,CAAQ,CACpB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAQ,CAAA,CACvB,CACF,CACF,EAGN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,mBAAA,EAAsB,WAAW,GAAG,SAAS,GAAG,EAAE,EAAE,EAAA,EAC9D,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,WAAW,EAAQ,CAAA,CAC1B,CACF,CACF,EAGN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAiC,8BAAA,EAAA,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,EAAE,CAAA,CAAE,EAAA,EAEjF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EAClC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACtB,CACH,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC5B,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=scoped","src/components/af-navbar/af-navbar.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* Spacer element that sits in normal document flow to prevent content overlap */\n.navbar-spacer {\n height: 100px; /* Accounts for navbar height + top margin */\n}\n\n/* Theme variants for spacer background - matches section themes */\n.navbar-spacer.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n}\n\n.navbar-spacer.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n.navbar-spacer.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.navbar-spacer.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n}\n\n/* Sticky navbar that floats above the spacer */\n.navbar-container {\n position: fixed;\n /* Add safe-area-inset-top so the pill drops below the iOS notch / status bar\n when the page uses viewport-fit=cover. Falls back to the original 32px. */\n top: max(32px, env(safe-area-inset-top));\n left: 0;\n right: 0;\n z-index: 10;\n /* Horizontal padding honours safe-area-inset-left/right for landscape on\n notched devices; the inset is added on top of the existing 80px gutter. */\n padding: 0 calc(80px + env(safe-area-inset-right)) 0 calc(80px + env(safe-area-inset-left));\n box-sizing: border-box;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* Dropdown container. The container's top is raised 8px into what\n was previously a blank gap between the nav pill and the panel, and\n that 8px is absorbed as container top-padding — so the visible panel\n stays put, but the hoverable region is now continuous between the\n nav pill and the dropdown. Without this, the mouse crosses an\n un-hovered strip on its way from trigger to panel and the navbar's\n mouseleave handler fires a close. */\n.dropdown-container {\n position: absolute;\n top: 100px;\n left: 0;\n right: 0;\n padding: 8px 80px 0;\n pointer-events: none;\n opacity: 0;\n transform: translateY(-8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n\n.dropdown-container.is-open {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n}\n\n.dropdown-panel {\n background: var(--colour-background-base, #ffffff);\n border-radius: 32px;\n overflow: hidden;\n box-shadow: 0 4px 24px rgba(20, 52, 59, 0.12);\n}\n\n/* Hide empty dropdown slots */\n.dropdown-panel:empty {\n display: none;\n}\n\n/* Mobile menu panel - separate from navbar for proper positioning */\n.mobile-menu-panel {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--colour-background-base, #ffffff);\n z-index: 9;\n /* Full-viewport drawer: pad the top below the notch, the bottom above the\n home indicator, and the sides away from landscape edge cutouts. */\n padding:\n max(100px, calc(100px + env(safe-area-inset-top)))\n calc(16px + env(safe-area-inset-right))\n max(24px, env(safe-area-inset-bottom))\n calc(16px + env(safe-area-inset-left));\n overflow-y: auto;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n}\n\n.mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n/* Mobile CTA button container */\n.mobile-button-container {\n margin-bottom: 8px;\n}\n\n.mobile-button-container ::slotted(*) {\n width: 100%;\n}\n\n/* Mobile menu content - flex column ensures items stack vertically */\n.mobile-menu-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Force slotted items to take full width for composability */\n.mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-spacer {\n height: 88px;\n }\n\n .navbar-container {\n top: max(24px, env(safe-area-inset-top));\n padding: 0 calc(40px + env(safe-area-inset-right)) 0 calc(40px + env(safe-area-inset-left));\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n\n .dropdown-container {\n padding: 0 40px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-spacer {\n height: 72px;\n }\n\n .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11; /* Above mobile menu panel */\n }\n\n .navbar {\n padding: 8px 8px 8px 24px; /* Figma: 8px padding right, 24px left on mobile */\n flex-direction: row;\n border-radius: 9999px; /* Keep pill shape on mobile */\n gap: 0;\n }\n\n .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n }\n\n .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n }\n\n /* Hide nav links on mobile - they're in the mobile menu panel */\n .nav-links {\n display: none;\n }\n\n /* Hide right section on mobile - button is in mobile menu panel */\n .navbar-right {\n display: none;\n }\n\n /* Hide desktop dropdown on mobile */\n .dropdown-container {\n display: none;\n }\n\n /* Mobile menu panel adjustments */\n .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top))); /* Accounts for navbar height + notch */\n }\n\n .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n }\n\n .mobile-button-container ::slotted(af-button),\n .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n}\n\n/* ==========================================================================\n Force Mobile Mode\n Apply mobile styles regardless of viewport when force-mobile attribute is set\n ========================================================================== */\n\n:host([force-mobile]) .navbar-spacer {\n height: 72px;\n}\n\n:host([force-mobile]) .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11;\n}\n\n:host([force-mobile]) .navbar {\n padding: 8px 8px 8px 24px;\n flex-direction: row;\n border-radius: 9999px;\n gap: 0;\n}\n\n:host([force-mobile]) .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n}\n\n:host([force-mobile]) .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n}\n\n:host([force-mobile]) .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n}\n\n:host([force-mobile]) .nav-links {\n display: none;\n}\n\n:host([force-mobile]) .navbar-right {\n display: none;\n}\n\n:host([force-mobile]) .nav-actions {\n display: none;\n}\n\n:host([force-mobile]) .dropdown-container {\n display: none;\n}\n\n:host([force-mobile]) .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top)));\n}\n\n:host([force-mobile]) .mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n:host([force-mobile]) .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n}\n\n:host([force-mobile]) .mobile-button-container ::slotted(af-button),\n:host([force-mobile]) .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n/* Force mobile: flex column ensures items stack vertically */\n:host([force-mobile]) .mobile-menu-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Force mobile: slotted items take full width for composability */\n:host([force-mobile]) .mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n","import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n * \n * **Slots:**\n * - `logo` - Logo area (defaults to Affinda logo if empty)\n * - `start` - Primary navigation links (left side, desktop)\n * - `end` - Secondary/utility links (right side)\n * - `button` - Call-to-action button\n * - `dropdowns` - One or more dropdown panels, each a `<div data-for=\"id\">`\n * where `id` matches the `data-dropdown=\"id\"` attribute on the trigger.\n * Clicking a trigger toggles the matching panel; only one is visible at\n * a time.\n * - `mobile-menu` - Mobile menu content (use af-nav-accordion for accordion menus)\n * - `mobile-button` - CTA button for mobile menu (appears at top)\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: 'white' | 'inkwell' | 'mist-green' | 'soft-clay';\n\n /** Force mobile layout regardless of viewport size (useful for testing/stories) */\n @Prop({ reflect: true }) forceMobile: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /** Timer id used to debounce hover-driven closes. */\n private closeTimer?: number;\n\n /**\n * The trigger element that opened the currently active dropdown. Tracked\n * so an Esc keypress can close the dropdown and restore focus to the\n * trigger, matching WAI-ARIA menu-button guidance.\n */\n private lastActiveTrigger?: HTMLElement;\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on click —\n * acts as a toggle so keyboard/touch users can still dismiss it.\n */\n @Listen('click')\n handleTriggerClick(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.toggleDropdown(id);\n }\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on hover.\n * Uses mouseover (which bubbles) and checks for the trigger ancestor.\n */\n @Listen('mouseover')\n handleHover(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id || this.activeDropdown === id) {\n this.cancelScheduledClose();\n return;\n }\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.openDropdown(id);\n }\n\n /**\n * When the pointer leaves the navbar entirely (including any open\n * dropdown panel), schedule a close. Re-entering cancels it.\n */\n @Listen('mouseleave')\n handleHostLeave() {\n this.scheduleClose();\n }\n\n @Listen('mouseenter')\n handleHostEnter() {\n this.cancelScheduledClose();\n }\n\n private scheduleClose() {\n // Short 100ms debounce so the mouse has time to cross any tiny\n // dead-zone between the nav pill, the dropdown panel, and the\n // items inside it without accidentally closing the panel. A\n // re-entering mouseenter on the host cancels the pending close.\n this.cancelScheduledClose();\n this.closeTimer = window.setTimeout(() => {\n this.closeDropdown();\n this.closeTimer = undefined;\n }, 100);\n }\n\n private cancelScheduledClose() {\n if (this.closeTimer !== undefined) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Keep the visibility of slotted dropdown panels, and the `data-active`\n * flag on their triggers, in sync with the currently active dropdown.\n * Each panel lives in the `dropdowns` slot and carries a `data-for`\n * attribute that matches its trigger's id.\n */\n componentDidLoad() {\n this.syncDropdownState();\n }\n\n componentDidUpdate() {\n this.syncDropdownState();\n }\n\n private syncDropdownState() {\n this.el.querySelectorAll<HTMLElement>('[data-for]').forEach((panel) => {\n if (!this.el.contains(panel)) return;\n panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;\n });\n this.el.querySelectorAll<HTMLElement>('[data-dropdown]').forEach((trigger) => {\n if (!this.el.contains(trigger)) return;\n const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;\n if (active) trigger.setAttribute('data-active', '');\n else trigger.removeAttribute('data-active');\n trigger.setAttribute('aria-expanded', active ? 'true' : 'false');\n });\n }\n\n /**\n * Handle escape key to close dropdowns. If a dropdown is open, restore\n * focus to the trigger that opened it so keyboard users don't lose\n * their place in the tab order.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.activeDropdown !== null) {\n const toFocus = this.lastActiveTrigger;\n this.closeDropdown();\n toFocus?.focus?.();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar theme-white\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel theme-white\">\n <slot name=\"dropdowns\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu panel */}\n <div class={`mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}`}>\n {/* Mobile CTA button at top */}\n <div class=\"mobile-button-container\">\n <slot name=\"mobile-button\">\n <slot name=\"button\"></slot>\n </slot>\n </div>\n \n {/* Mobile navigation content */}\n <div class=\"mobile-menu-content\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-C7nUZsb8.js';
|
|
2
2
|
|
|
3
|
-
const afAccordionItemCss =
|
|
3
|
+
const afAccordionItemCss = ":host{display:block;width:100%}.accordion-item{width:100%}.trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid var(--af-background-border-subtle, #e8eeed);cursor:pointer;font:inherit;text-align:left;color:var(--af-typography-body-dark, #14343b);transition:background-color 0.2s ease}.trigger:hover:not(:disabled){background-color:var(--af-background-base-hover, rgba(20, 52, 59, 0.02))}.trigger:focus-visible{outline:2px solid var(--af-background-border-active, #8a7049);outline-offset:-2px}.trigger:disabled{cursor:not-allowed;opacity:0.5}.trigger-content{flex:1;min-width:0}.chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-typography-body-dark, #14343b);transition:transform 0.3s ease}.chevron.is-open{transform:rotate(180deg)}.content-wrapper{overflow:hidden;transition:max-height 0.3s ease}.content{padding:0}:host(.is-disabled) .trigger{cursor:not-allowed;opacity:0.5}:host(.is-disabled) .trigger:hover{background-color:transparent}:host(.is-open) .trigger{border-bottom-color:transparent}";
|
|
4
4
|
|
|
5
5
|
const AfAccordionItem = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -68,11 +68,10 @@ const AfAccordionItem = class {
|
|
|
68
68
|
}
|
|
69
69
|
get el() { return getElement(this); }
|
|
70
70
|
static get watchers() { return {
|
|
71
|
-
"open": [
|
|
72
|
-
"handleOpenChange": 0
|
|
73
|
-
}]
|
|
71
|
+
"open": ["handleOpenChange"]
|
|
74
72
|
}; }
|
|
75
73
|
};
|
|
76
|
-
AfAccordionItem.style = afAccordionItemCss
|
|
74
|
+
AfAccordionItem.style = afAccordionItemCss;
|
|
77
75
|
|
|
78
76
|
export { AfAccordionItem as af_accordion_item };
|
|
77
|
+
//# sourceMappingURL=af-accordion-item.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-accordion-item.entry.js","sources":["src/components/af-accordion-item/af-accordion-item.css?tag=af-accordion-item&encapsulation=shadow","src/components/af-accordion-item/af-accordion-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.accordion-item {\n width: 100%;\n}\n\n/* Trigger button - clickable header */\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 16px 0;\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n cursor: pointer;\n font: inherit;\n text-align: left;\n color: var(--af-typography-body-dark, #14343b);\n transition: background-color 0.2s ease;\n}\n\n.trigger:hover:not(:disabled) {\n background-color: var(--af-background-base-hover, rgba(20, 52, 59, 0.02));\n}\n\n.trigger:focus-visible {\n outline: 2px solid var(--af-background-border-active, #8a7049);\n outline-offset: -2px;\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.trigger-content {\n flex: 1;\n min-width: 0;\n}\n\n/* Chevron indicator */\n.chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-typography-body-dark, #14343b);\n transition: transform 0.3s ease;\n}\n\n.chevron.is-open {\n transform: rotate(180deg);\n}\n\n/* Content wrapper - handles animation */\n.content-wrapper {\n overflow: hidden;\n transition: max-height 0.3s ease;\n}\n\n.content {\n padding: 0;\n}\n\n/* Disabled state */\n:host(.is-disabled) .trigger {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n:host(.is-disabled) .trigger:hover {\n background-color: transparent;\n}\n\n/* Open state styling */\n:host(.is-open) .trigger {\n border-bottom-color: transparent;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * A single collapsible accordion item with header and content.\n * Can be used standalone or within an af-accordion container.\n *\n * @slot trigger - The clickable header content\n * @slot - The collapsible content (default slot)\n */\n@Component({\n tag: 'af-accordion-item',\n styleUrl: 'af-accordion-item.css',\n shadow: true,\n})\nexport class AfAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item.\n * Used by parent af-accordion to track open state.\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Whether this item is currently expanded\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /**\n * Whether this item is disabled (cannot be toggled)\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-accordion-toggle' }) accordionToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n\n private contentRef?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n componentDidLoad() {\n if (this.open) {\n this.measureContent();\n }\n\n this.resizeObserver = new ResizeObserver(() => {\n if (this.open && this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n\n if (this.contentRef) {\n this.resizeObserver.observe(this.contentRef);\n }\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled) {\n this.open = !this.open;\n this.accordionToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n requestAnimationFrame(() => {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n }\n\n private handleTriggerClick = () => {\n if (!this.disabled) {\n this.toggle();\n }\n };\n\n render() {\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n return (\n <Host class={{ 'is-open': this.open, 'is-disabled': this.disabled }}>\n <div class=\"accordion-item\">\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n disabled={this.disabled}\n type=\"button\"\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\"></slot>\n </div>\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n <div\n id={`content-${this.itemId}`}\n class=\"content-wrapper\"\n style={contentStyle}\n aria-hidden={!this.open ? 'true' : 'false'}\n >\n <div class=\"content\" ref={(el) => (this.contentRef = el)}>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-C7nUZsb8.js';
|
|
2
2
|
|
|
3
|
-
const afAccordionCss =
|
|
3
|
+
const afAccordionCss = ".sc-af-accordion-h{display:block;width:100%}.accordion.sc-af-accordion{display:flex;flex-direction:column;width:100%}.sc-af-accordion-s>af-accordion-item{display:block}.sc-af-accordion-s>af-accordion-item:last-child{--accordion-item-border:transparent}";
|
|
4
4
|
|
|
5
5
|
const AfAccordion = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -91,11 +91,10 @@ const AfAccordion = class {
|
|
|
91
91
|
}
|
|
92
92
|
get el() { return getElement(this); }
|
|
93
93
|
static get watchers() { return {
|
|
94
|
-
"value": [
|
|
95
|
-
"handleValueChange": 0
|
|
96
|
-
}]
|
|
94
|
+
"value": ["handleValueChange"]
|
|
97
95
|
}; }
|
|
98
96
|
};
|
|
99
|
-
AfAccordion.style = afAccordionCss
|
|
97
|
+
AfAccordion.style = afAccordionCss;
|
|
100
98
|
|
|
101
99
|
export { AfAccordion as af_accordion };
|
|
100
|
+
//# sourceMappingURL=af-accordion.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-accordion.entry.js","sources":["src/components/af-accordion/af-accordion.css?tag=af-accordion&encapsulation=scoped","src/components/af-accordion/af-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.accordion {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Ensure proper stacking for accordion items */\n::slotted(af-accordion-item) {\n display: block;\n}\n\n/* Remove bottom border from last item */\n::slotted(af-accordion-item:last-child) {\n --accordion-item-border: transparent;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Listen } from '@stencil/core';\n\n/**\n * Accordion container that manages multiple accordion items.\n * Controls which items are open based on mode (independent or exclusive).\n * \n * @slot - Place af-accordion-item components here\n */\n@Component({\n tag: 'af-accordion',\n styleUrl: 'af-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfAccordion {\n @Element() el!: HTMLElement;\n\n /**\n * Behavior mode for the accordion.\n * - `independent`: Multiple items can be open simultaneously\n * - `exclusive`: Only one item can be open at a time\n */\n @Prop() mode: 'independent' | 'exclusive' = 'independent';\n\n /**\n * Currently open item(s) for controlled mode.\n * In independent mode, can be an array of item IDs.\n * In exclusive mode, should be a single item ID or null.\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Default open item(s) for uncontrolled mode.\n * Used as initial state when value prop is not provided.\n */\n @Prop() defaultValue?: string | string[];\n\n /**\n * Emitted when the open state of items changes.\n * Returns the new value (string[] for independent, string | null for exclusive).\n */\n @Event({ eventName: 'af-accordion-change' }) accordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n private isControlled(): boolean {\n return this.value !== undefined;\n }\n\n componentWillLoad() {\n // Initialize internal value from defaultValue or value\n const initialValue = this.isControlled() ? this.value : this.defaultValue;\n this.internalValue = this.normalizeValue(initialValue);\n }\n\n @Watch('value')\n handleValueChange(newValue: string | string[] | undefined) {\n if (this.isControlled()) {\n this.internalValue = this.normalizeValue(newValue);\n this.syncItems();\n }\n }\n\n componentDidLoad() {\n this.syncItems();\n }\n\n /**\n * Listen for toggle events from child accordion items\n */\n @Listen('af-accordion-toggle')\n handleItemToggle(event: CustomEvent<{ itemId: string; open: boolean }>) {\n event.stopPropagation();\n const { itemId, open } = event.detail;\n\n let newValue: string[];\n\n if (this.mode === 'exclusive') {\n // In exclusive mode, only one item can be open\n newValue = open ? [itemId] : [];\n } else {\n // In independent mode, toggle the item\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n if (!this.isControlled()) {\n this.internalValue = newValue;\n this.syncItems();\n }\n\n // Emit change event\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.accordionChange.emit({ value: emitValue });\n }\n\n /**\n * Normalize value prop to array format for internal use\n */\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n // In exclusive mode, only keep the first item\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n /**\n * Sync the open state of all child accordion items\n */\n private syncItems() {\n const items = this.el.querySelectorAll('af-accordion-item');\n items.forEach((element) => {\n const item = element as HTMLElement & { itemId?: string; open?: boolean };\n if (item.itemId) {\n item.open = this.internalValue.includes(item.itemId);\n }\n });\n }\n\n render() {\n return (\n <Host class={{ [`mode-${this.mode}`]: true }}>\n <div class=\"accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-C7nUZsb8.js';
|
|
2
2
|
|
|
3
|
-
const afAspectRatioCss =
|
|
3
|
+
const afAspectRatioCss = ":host{display:block;width:100%}.aspect-ratio-container{width:100%;position:relative;overflow:hidden}.aspect-ratio-container ::slotted(*){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}";
|
|
4
4
|
|
|
5
5
|
const AfAspectRatio = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -75,6 +75,7 @@ const AfAspectRatio = class {
|
|
|
75
75
|
return (h("div", { key: '02bfa5463911ecd25903521e90a0570bb3bca0ad', class: "aspect-ratio-container", style: { aspectRatio: ratioValue } }, h("slot", { key: '9575c859052e8f1b1b362d9395fdfdf43d46b0b4' })));
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
AfAspectRatio.style = afAspectRatioCss
|
|
78
|
+
AfAspectRatio.style = afAspectRatioCss;
|
|
79
79
|
|
|
80
80
|
export { AfAspectRatio as af_aspect_ratio };
|
|
81
|
+
//# sourceMappingURL=af-aspect-ratio.entry.js.map
|