@affinda/wc 0.0.26 → 0.0.28
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-07f9580c.entry.js +2 -0
- package/dist/affinda/p-07f9580c.entry.js.map +1 -0
- package/dist/affinda/p-0f3267ea.entry.js +2 -0
- package/dist/affinda/p-0f3267ea.entry.js.map +1 -0
- package/dist/affinda/p-102e8b8c.entry.js +2 -0
- package/dist/affinda/p-102e8b8c.entry.js.map +1 -0
- package/dist/affinda/p-11e7ddf3.entry.js +2 -0
- package/dist/affinda/p-11e7ddf3.entry.js.map +1 -0
- package/dist/affinda/p-12652bf5.entry.js +2 -0
- package/dist/affinda/p-12652bf5.entry.js.map +1 -0
- package/dist/affinda/p-159fe9b1.entry.js +2 -0
- package/dist/affinda/p-159fe9b1.entry.js.map +1 -0
- package/dist/affinda/p-1dff35bf.entry.js +2 -0
- package/dist/affinda/p-1dff35bf.entry.js.map +1 -0
- package/dist/affinda/p-2140698f.entry.js +2 -0
- package/dist/affinda/p-2140698f.entry.js.map +1 -0
- package/dist/affinda/p-23aa03dc.entry.js +2 -0
- package/dist/affinda/p-23aa03dc.entry.js.map +1 -0
- package/dist/affinda/p-2aa112c2.entry.js +2 -0
- package/dist/affinda/p-2aa112c2.entry.js.map +1 -0
- package/dist/affinda/{p-cf4d0d8e.entry.js → p-2c655ae2.entry.js} +2 -1
- package/dist/affinda/p-2c655ae2.entry.js.map +1 -0
- package/dist/affinda/p-3ca3e4dc.entry.js +2 -0
- package/dist/affinda/p-3ca3e4dc.entry.js.map +1 -0
- package/dist/affinda/p-3ecf43aa.entry.js +2 -0
- package/dist/affinda/p-3ecf43aa.entry.js.map +1 -0
- package/dist/affinda/p-401fc5b1.entry.js +2 -0
- package/dist/affinda/p-401fc5b1.entry.js.map +1 -0
- package/dist/affinda/p-432c7bfc.entry.js +2 -0
- package/dist/affinda/p-432c7bfc.entry.js.map +1 -0
- package/dist/affinda/p-4cbdf940.entry.js +2 -0
- package/dist/affinda/p-4cbdf940.entry.js.map +1 -0
- package/dist/affinda/p-4e8bd716.entry.js +2 -0
- package/dist/affinda/p-4e8bd716.entry.js.map +1 -0
- package/dist/affinda/p-50590601.entry.js +2 -0
- package/dist/affinda/p-50590601.entry.js.map +1 -0
- package/dist/affinda/p-570283f6.entry.js +2 -0
- package/dist/affinda/p-570283f6.entry.js.map +1 -0
- package/dist/affinda/p-5ab389c6.entry.js +2 -0
- package/dist/affinda/p-5ab389c6.entry.js.map +1 -0
- package/dist/affinda/p-5b3ff010.entry.js +2 -0
- package/dist/affinda/p-5b3ff010.entry.js.map +1 -0
- package/dist/affinda/p-5e444a9a.entry.js +2 -0
- package/dist/affinda/p-5e444a9a.entry.js.map +1 -0
- package/dist/affinda/p-5e5d16dd.entry.js +2 -0
- package/dist/affinda/p-5e5d16dd.entry.js.map +1 -0
- package/dist/affinda/p-636045e8.entry.js +2 -0
- package/dist/affinda/p-636045e8.entry.js.map +1 -0
- package/dist/affinda/p-648e2d76.entry.js +2 -0
- package/dist/affinda/p-648e2d76.entry.js.map +1 -0
- package/dist/affinda/p-6bb831c5.entry.js +2 -0
- package/dist/affinda/p-6bb831c5.entry.js.map +1 -0
- package/dist/affinda/p-6eca2722.entry.js +2 -0
- package/dist/affinda/p-6eca2722.entry.js.map +1 -0
- package/dist/affinda/p-7238fc21.entry.js +2 -0
- package/dist/affinda/p-7238fc21.entry.js.map +1 -0
- package/dist/affinda/p-77ed47d5.entry.js +2 -0
- package/dist/affinda/p-77ed47d5.entry.js.map +1 -0
- package/dist/affinda/p-7b7d9c6a.entry.js +2 -0
- package/dist/affinda/p-7b7d9c6a.entry.js.map +1 -0
- package/dist/affinda/p-80c96efd.entry.js +2 -0
- package/dist/affinda/p-80c96efd.entry.js.map +1 -0
- package/dist/affinda/p-816deae3.entry.js +2 -0
- package/dist/affinda/p-816deae3.entry.js.map +1 -0
- package/dist/affinda/p-892f9bc3.entry.js +2 -0
- package/dist/affinda/p-892f9bc3.entry.js.map +1 -0
- package/dist/affinda/p-8d9d0cb3.entry.js +2 -0
- package/dist/affinda/p-8d9d0cb3.entry.js.map +1 -0
- package/dist/affinda/p-8da30e7a.entry.js +2 -0
- package/dist/affinda/p-8da30e7a.entry.js.map +1 -0
- package/dist/affinda/p-8f6884c8.entry.js +2 -0
- package/dist/affinda/p-8f6884c8.entry.js.map +1 -0
- package/dist/affinda/p-9229defb.entry.js +2 -0
- package/dist/affinda/p-9229defb.entry.js.map +1 -0
- package/dist/affinda/p-94adb381.entry.js +2 -0
- package/dist/affinda/p-94adb381.entry.js.map +1 -0
- package/dist/affinda/p-97ac8f5f.entry.js +2 -0
- package/dist/affinda/p-97ac8f5f.entry.js.map +1 -0
- package/dist/affinda/p-9bb5202e.entry.js +2 -0
- package/dist/affinda/p-9bb5202e.entry.js.map +1 -0
- package/dist/affinda/p-a002c784.entry.js +2 -0
- package/dist/affinda/p-a002c784.entry.js.map +1 -0
- package/dist/affinda/p-a3865306.entry.js +2 -0
- package/dist/affinda/p-a3865306.entry.js.map +1 -0
- package/dist/affinda/p-a4d39bdd.entry.js +2 -0
- package/dist/affinda/p-a4d39bdd.entry.js.map +1 -0
- package/dist/affinda/p-aa5c6cc0.entry.js +2 -0
- package/dist/affinda/p-aa5c6cc0.entry.js.map +1 -0
- package/dist/affinda/p-ab0b621e.entry.js +2 -0
- package/dist/affinda/p-ab0b621e.entry.js.map +1 -0
- package/dist/affinda/p-af3f6e16.entry.js +2 -0
- package/dist/affinda/p-af3f6e16.entry.js.map +1 -0
- package/dist/affinda/p-b14c1a4b.entry.js +2 -0
- package/dist/affinda/p-b14c1a4b.entry.js.map +1 -0
- package/dist/affinda/p-be45f85c.entry.js +2 -0
- package/dist/affinda/p-be45f85c.entry.js.map +1 -0
- package/dist/affinda/p-bf941fa7.entry.js +2 -0
- package/dist/affinda/p-bf941fa7.entry.js.map +1 -0
- package/dist/affinda/p-bfc17d0c.entry.js +2 -0
- package/dist/affinda/p-bfc17d0c.entry.js.map +1 -0
- package/dist/affinda/{p-54d85947.entry.js → p-c7ba4e7f.entry.js} +2 -1
- package/dist/affinda/p-c7ba4e7f.entry.js.map +1 -0
- package/dist/affinda/p-cc22a8da.entry.js +2 -0
- package/dist/affinda/p-cc22a8da.entry.js.map +1 -0
- package/dist/affinda/p-d54abc45.entry.js +2 -0
- package/dist/affinda/p-d54abc45.entry.js.map +1 -0
- package/dist/affinda/p-d60d1943.entry.js +2 -0
- package/dist/affinda/p-d60d1943.entry.js.map +1 -0
- package/dist/affinda/p-d7e29257.entry.js +2 -0
- package/dist/affinda/p-d7e29257.entry.js.map +1 -0
- package/dist/affinda/p-da999c10.entry.js +2 -0
- package/dist/affinda/p-da999c10.entry.js.map +1 -0
- package/dist/affinda/p-e0163836.entry.js +2 -0
- package/dist/affinda/p-e0163836.entry.js.map +1 -0
- package/dist/affinda/p-e78112d9.entry.js +2 -0
- package/dist/affinda/p-e78112d9.entry.js.map +1 -0
- package/dist/affinda/p-e9f8ef54.entry.js +2 -0
- package/dist/affinda/p-e9f8ef54.entry.js.map +1 -0
- package/dist/affinda/p-eb96f29b.entry.js +2 -0
- package/dist/affinda/p-eb96f29b.entry.js.map +1 -0
- package/dist/affinda/p-ef41e743.entry.js +2 -0
- package/dist/affinda/p-ef41e743.entry.js.map +1 -0
- package/dist/affinda/p-f9b6d1c6.entry.js +2 -0
- package/dist/affinda/p-f9b6d1c6.entry.js.map +1 -0
- package/dist/affinda/p-f9e3c2b7.entry.js +2 -0
- package/dist/affinda/p-f9e3c2b7.entry.js.map +1 -0
- package/dist/affinda/p-nb89SRN6.js +3 -0
- package/dist/affinda/p-nb89SRN6.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-CcvVbx1D.js} +260 -462
- package/dist/cjs/index-CcvVbx1D.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-B3Yr4Hxx.js +141 -0
- package/dist/components/p-B3Yr4Hxx.js.map +1 -0
- package/dist/components/p-BHAWxoQE.js +55 -0
- package/dist/components/p-BHAWxoQE.js.map +1 -0
- package/dist/components/p-BO4blShf.js +53 -0
- package/dist/components/p-BO4blShf.js.map +1 -0
- package/dist/components/p-Bw8fdMnn.js +59 -0
- package/dist/components/p-Bw8fdMnn.js.map +1 -0
- package/dist/components/p-C0R_vg0S.js +48 -0
- package/dist/components/p-C0R_vg0S.js.map +1 -0
- package/dist/components/p-CAUqW6Mp.js +45 -0
- package/dist/components/p-CAUqW6Mp.js.map +1 -0
- package/dist/components/p-CB9GFAlk.js +89 -0
- package/dist/components/p-CB9GFAlk.js.map +1 -0
- package/dist/components/p-CHLm_AuW.js +74 -0
- package/dist/components/p-CHLm_AuW.js.map +1 -0
- package/dist/components/p-CKcuq0NU.js +48 -0
- package/dist/components/p-CKcuq0NU.js.map +1 -0
- package/dist/components/p-CNuja1ax.js +92 -0
- package/dist/components/p-CNuja1ax.js.map +1 -0
- package/dist/components/p-CSsp_M05.js +70 -0
- package/dist/components/p-CSsp_M05.js.map +1 -0
- package/dist/components/p-CqQyDZ-4.js +1781 -0
- package/dist/components/p-CqQyDZ-4.js.map +1 -0
- package/dist/components/p-D30gSxh2.js +50 -0
- package/dist/components/p-D30gSxh2.js.map +1 -0
- package/dist/components/p-D3oGtcJ5.js +93 -0
- package/dist/components/p-D3oGtcJ5.js.map +1 -0
- package/dist/components/p-DAYoQm46.js +71 -0
- package/dist/components/p-DAYoQm46.js.map +1 -0
- package/dist/components/p-DCu8UsJv.js +35 -0
- package/dist/components/p-DCu8UsJv.js.map +1 -0
- package/dist/components/p-DENib4OL.js +58 -0
- package/dist/components/p-DENib4OL.js.map +1 -0
- package/dist/components/p-DGBMGvZK.js +57 -0
- package/dist/components/p-DGBMGvZK.js.map +1 -0
- package/dist/components/p-DMOGClIa.js +44 -0
- package/dist/components/p-DMOGClIa.js.map +1 -0
- package/dist/components/p-DRujYIJW.js +196 -0
- package/dist/components/p-DRujYIJW.js.map +1 -0
- package/dist/components/p-DkaLi-uL.js +102 -0
- package/dist/components/p-DkaLi-uL.js.map +1 -0
- package/dist/components/p-DqgLTGE0.js +108 -0
- package/dist/components/p-DqgLTGE0.js.map +1 -0
- package/dist/components/p-DwhGQrZK.js +52 -0
- package/dist/components/p-DwhGQrZK.js.map +1 -0
- package/dist/components/p-Dxa6cHAb.js +81 -0
- package/dist/components/p-Dxa6cHAb.js.map +1 -0
- package/dist/components/p-Dz4dEIxw.js +127 -0
- package/dist/components/p-Dz4dEIxw.js.map +1 -0
- package/dist/components/p-N0xV1Erp.js +151 -0
- package/dist/components/p-N0xV1Erp.js.map +1 -0
- package/dist/components/p-TfjpcU9q.js +68 -0
- package/dist/components/p-TfjpcU9q.js.map +1 -0
- package/dist/components/p-XrKBGe-M.js +94 -0
- package/dist/components/p-XrKBGe-M.js.map +1 -0
- package/dist/components/p-aAVeavhK.js +372 -0
- package/dist/components/p-aAVeavhK.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-nb89SRN6.js} +260 -462
- package/dist/esm/index-nb89SRN6.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 +17 -13
- 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,81 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CqQyDZ-4.js';
|
|
2
|
+
|
|
3
|
+
const afCheckboxCss = ":host{display:inline-block}.checkbox{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;line-height:20px;color:var(--af-form-control-label, var(--colour-brand-inkwell, #14343b));user-select:none}.checkbox.disabled{cursor:not-allowed;opacity:0.5}.input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.control{position:relative;display:block;flex-shrink:0;width:20px;height:20px;border-radius:var(--radii-checkbox, 4px);border:none;box-shadow:inset 0 0 0 1px var(--af-form-control-stroke, var(--colour-mistgreen-500, #d0d6d8));background:var(--af-form-control-bg, var(--colour-brand-white, #ffffff));transition:all 0.15s ease;box-sizing:border-box}.control.checked{background:var(--af-form-control-bg-checked, var(--colour-brand-inkwell, #14343b));box-shadow:none}.control.disabled{background:var(--af-form-control-bg-disabled, var(--colour-mistgreen-200, #e8ebeb));box-shadow:inset 0 0 0 1px var(--af-form-control-stroke-disabled, var(--colour-mistgreen-500, #d0d6d8))}.control.checked.disabled{background:var(--af-form-control-bg-checked-disabled, var(--colour-inkwell-350, #708380));box-shadow:none}.checkbox:not(.disabled):hover .control:not(.checked){box-shadow:inset 0 0 0 1px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b))}.input:focus-visible+.control{outline:none;box-shadow:inset 0 0 0 1px var(--af-form-control-stroke, var(--colour-mistgreen-500, #d0d6d8)),\n 0 0 0 4px var(--af-background-base, var(--colour-brand-white, #ffffff)), \n 0 0 0 5px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b))}.input:focus-visible+.control.checked{box-shadow:0 0 0 4px var(--af-background-base, var(--colour-brand-white, #ffffff)), \n 0 0 0 5px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b))}.icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:16px;height:16px;color:var(--af-form-control-icon, var(--colour-brand-white, #ffffff))}.label{display:flex;align-items:center;min-height:24px}.label:empty{display:none}";
|
|
4
|
+
|
|
5
|
+
const AfCheckbox = /*@__PURE__*/ proxyCustomElement(class AfCheckbox extends H {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
this.afChange = createEvent(this, "afChange");
|
|
13
|
+
/**
|
|
14
|
+
* Whether the checkbox is checked
|
|
15
|
+
*/
|
|
16
|
+
this.checked = false;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the checkbox is in an indeterminate state
|
|
19
|
+
*/
|
|
20
|
+
this.indeterminate = false;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the checkbox is disabled
|
|
23
|
+
*/
|
|
24
|
+
this.disabled = false;
|
|
25
|
+
this.handleChange = () => {
|
|
26
|
+
if (this.disabled)
|
|
27
|
+
return;
|
|
28
|
+
this.checked = !this.checked;
|
|
29
|
+
this.afChange.emit({ checked: this.checked });
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
componentDidLoad() {
|
|
33
|
+
if (this.inputEl) {
|
|
34
|
+
this.inputEl.indeterminate = this.indeterminate;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
componentDidUpdate() {
|
|
38
|
+
if (this.inputEl) {
|
|
39
|
+
this.inputEl.indeterminate = this.indeterminate;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const checkboxClasses = {
|
|
44
|
+
'checkbox': true,
|
|
45
|
+
'checked': this.checked,
|
|
46
|
+
'indeterminate': this.indeterminate,
|
|
47
|
+
'disabled': this.disabled
|
|
48
|
+
};
|
|
49
|
+
const controlClasses = {
|
|
50
|
+
'control': true,
|
|
51
|
+
'checked': this.checked || this.indeterminate,
|
|
52
|
+
'disabled': this.disabled
|
|
53
|
+
};
|
|
54
|
+
return (h(Host, { key: 'ac1342168fe00b6f44c4c66b0209b757f9e7aeea' }, h("label", { key: 'af654777ec1ab09e5adf5893c1c5d3b5b1d9cb05', class: checkboxClasses }, h("input", { key: '7e59073ceb227f2440a2aca07de4ba3bb9f5460e', type: "checkbox", class: "input", ref: (el) => this.inputEl = el ?? undefined, checked: this.checked, disabled: this.disabled, name: this.name, value: this.value, onChange: this.handleChange }), h("span", { key: '7e07dc92184ea28516d2789dfd3eccf5fc0066da', class: controlClasses }, this.checked && !this.indeterminate && (h("svg", { key: '10da3ed00d0d94d494a89532f44c64012ed775ce', class: "icon", viewBox: "0 0 16 16", fill: "none" }, h("path", { key: 'aae8aa17285c64b5448546504286a054a76873d9', d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), this.indeterminate && (h("svg", { key: '900391d075f2284e1f80891f34e9d4d24e635b2c', class: "icon", viewBox: "0 0 16 16", fill: "none" }, h("path", { key: '43cd04ad38021b0d9641ed3b5d7efa15b7e1281e', d: "M3 8H13", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })))), h("span", { key: 'c5eea42915108d23d6eb104ada070e843a6a24f1', class: "label" }, h("slot", { key: '8572b7a2c909d201c6800737dfb528baa52de573' })))));
|
|
55
|
+
}
|
|
56
|
+
static get style() { return afCheckboxCss; }
|
|
57
|
+
}, [257, "af-checkbox", {
|
|
58
|
+
"checked": [1540],
|
|
59
|
+
"indeterminate": [516],
|
|
60
|
+
"disabled": [516],
|
|
61
|
+
"name": [1],
|
|
62
|
+
"value": [1]
|
|
63
|
+
}]);
|
|
64
|
+
function defineCustomElement() {
|
|
65
|
+
if (typeof customElements === "undefined") {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const components = ["af-checkbox"];
|
|
69
|
+
components.forEach(tagName => { switch (tagName) {
|
|
70
|
+
case "af-checkbox":
|
|
71
|
+
if (!customElements.get(tagName)) {
|
|
72
|
+
customElements.define(tagName, AfCheckbox);
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
} });
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { AfCheckbox as A, defineCustomElement as d };
|
|
79
|
+
//# sourceMappingURL=p-Dxa6cHAb.js.map
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=p-Dxa6cHAb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-Dxa6cHAb.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-checkbox/af-checkbox.css?tag=af-checkbox&encapsulation=shadow","src/components/af-checkbox/af-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n line-height: 20px;\n color: var(--af-form-control-label, var(--colour-brand-inkwell, #14343b));\n user-select: none;\n}\n\n.checkbox.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Hidden native input */\n.input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Custom checkbox control */\n.control {\n position: relative;\n display: block;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: var(--radii-checkbox, 4px);\n /* Use inset box-shadow instead of border to prevent layout shift */\n border: none;\n box-shadow: inset 0 0 0 1px var(--af-form-control-stroke, var(--colour-mistgreen-500, #d0d6d8));\n background: var(--af-form-control-bg, var(--colour-brand-white, #ffffff));\n transition: all 0.15s ease;\n box-sizing: border-box;\n}\n\n/* Checked/indeterminate state */\n.control.checked {\n background: var(--af-form-control-bg-checked, var(--colour-brand-inkwell, #14343b));\n box-shadow: none;\n}\n\n/* Disabled state */\n.control.disabled {\n background: var(--af-form-control-bg-disabled, var(--colour-mistgreen-200, #e8ebeb));\n box-shadow: inset 0 0 0 1px var(--af-form-control-stroke-disabled, var(--colour-mistgreen-500, #d0d6d8));\n}\n\n.control.checked.disabled {\n background: var(--af-form-control-bg-checked-disabled, var(--colour-inkwell-350, #708380));\n box-shadow: none;\n}\n\n/* Hover state */\n.checkbox:not(.disabled):hover .control:not(.checked) {\n box-shadow: inset 0 0 0 1px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Focus state */\n.input:focus-visible + .control {\n outline: none;\n box-shadow: \n inset 0 0 0 1px var(--af-form-control-stroke, var(--colour-mistgreen-500, #d0d6d8)),\n 0 0 0 4px var(--af-background-base, var(--colour-brand-white, #ffffff)), \n 0 0 0 5px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b));\n}\n\n.input:focus-visible + .control.checked {\n box-shadow: \n 0 0 0 4px var(--af-background-base, var(--colour-brand-white, #ffffff)), \n 0 0 0 5px var(--af-form-control-stroke-hover, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Icon styling - absolutely positioned to prevent layout shift */\n.icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 16px;\n height: 16px;\n color: var(--af-form-control-icon, var(--colour-brand-white, #ffffff));\n}\n\n/* Label styling */\n.label {\n display: flex;\n align-items: center;\n min-height: 24px;\n}\n\n/* Empty label - hide if no content */\n.label:empty {\n display: none;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\n\n/**\n * Checkbox component for selecting multiple options.\n * Supports checked, unchecked, and indeterminate states.\n * \n * @slot - Checkbox label text\n */\n@Component({\n tag: 'af-checkbox',\n styleUrl: 'af-checkbox.css',\n shadow: true\n})\nexport class AfCheckbox {\n /**\n * Whether the checkbox is checked\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * Whether the checkbox is in an indeterminate state\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /**\n * Whether the checkbox is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The name of the checkbox for form submission\n */\n @Prop() name?: string;\n\n /**\n * The value of the checkbox for form submission\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the checkbox checked state changes\n */\n @Event() afChange!: EventEmitter<{ checked: boolean }>;\n\n private inputEl?: HTMLInputElement;\n\n private handleChange = () => {\n if (this.disabled) return;\n this.checked = !this.checked;\n this.afChange.emit({ checked: this.checked });\n };\n\n componentDidLoad() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n componentDidUpdate() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n render() {\n const checkboxClasses = {\n 'checkbox': true,\n 'checked': this.checked,\n 'indeterminate': this.indeterminate,\n 'disabled': this.disabled\n };\n\n const controlClasses = {\n 'control': true,\n 'checked': this.checked || this.indeterminate,\n 'disabled': this.disabled\n };\n\n return (\n <Host>\n <label class={checkboxClasses}>\n <input\n type=\"checkbox\"\n class=\"input\"\n ref={(el) => this.inputEl = el ?? undefined}\n checked={this.checked}\n disabled={this.disabled}\n name={this.name}\n value={this.value}\n onChange={this.handleChange}\n />\n <span class={controlClasses}>\n {this.checked && !this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M13.5 4L6 11.5L2.5 8\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\" \n stroke-linejoin=\"round\"\n />\n </svg>\n )}\n {this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M3 8H13\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\"\n />\n </svg>\n )}\n </span>\n <span class=\"label\">\n <slot></slot>\n </span>\n </label>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CqQyDZ-4.js';
|
|
2
|
+
|
|
3
|
+
const afTextareaCss = ":host{display:block;width:100%}.textarea-wrapper{display:flex;flex-direction:column;gap:var(--sds-size-space-200, 8px);width:100%}.label-row{display:flex;align-items:center;gap:12px}.label{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:16px;line-height:24px;color:var(--af-input-label, var(--af-typography-body-dark, #14343b));cursor:default}.required{color:var(--af-input-error, var(--colour-error, #be292a));margin-left:2px}.info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--af-input-icon, var(--af-background-icon-default, #14343b));flex-shrink:0}.info-icon svg{width:20px;height:20px}.info-icon:hover{opacity:0.7}.info-icon:focus-visible{outline:2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));outline-offset:2px;border-radius:4px}.description{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-description, var(--af-typography-body-default, #2b484f));margin:0}.textarea-container{display:flex;background:var(--af-input-bg, #ffffff);border:1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));border-radius:var(--radii-input, 8px);transition:all 0.15s ease;box-sizing:border-box;overflow:hidden}.textarea-container.hovered{background:var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));border-color:var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1))}.textarea-container.focused{background:var(--af-input-bg, #ffffff);border-color:var(--af-input-border-active, var(--af-typography-body-dark, #14343b));box-shadow:0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b))}.textarea-container.error{border-color:var(--af-input-border-error, var(--colour-error, #be292a))}.textarea-container.disabled{background:var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));border-color:var(--af-input-border, var(--af-background-border-default, #d1ddda));cursor:not-allowed}.textarea{flex:1;min-width:0;min-height:108px;padding:12px 16px;border:none;background:transparent;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-text, var(--af-typography-body-dark, #14343b));outline:none;resize:vertical}.textarea::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));opacity:1}.textarea:disabled{cursor:not-allowed;color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));resize:none}.textarea:disabled::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b))}.error-row{display:flex;align-items:center;gap:12px}.error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-input-error, var(--colour-error, #be292a))}.error-icon svg{width:20px;height:20px}.error-text{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-error, var(--colour-error, #be292a))}";
|
|
4
|
+
|
|
5
|
+
const AfTextarea = /*@__PURE__*/ proxyCustomElement(class AfTextarea extends H {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
this.afInput = createEvent(this, "afInput");
|
|
13
|
+
this.afBlur = createEvent(this, "afBlur");
|
|
14
|
+
this.afFocus = createEvent(this, "afFocus");
|
|
15
|
+
this.afInfoClick = createEvent(this, "afInfoClick");
|
|
16
|
+
/**
|
|
17
|
+
* The current value of the textarea
|
|
18
|
+
*/
|
|
19
|
+
this.value = '';
|
|
20
|
+
/**
|
|
21
|
+
* Whether the textarea is disabled
|
|
22
|
+
*/
|
|
23
|
+
this.disabled = false;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the textarea is required
|
|
26
|
+
*/
|
|
27
|
+
this.required = false;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the textarea is read-only
|
|
30
|
+
*/
|
|
31
|
+
this.readonly = false;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to show the info icon next to the label
|
|
34
|
+
*/
|
|
35
|
+
this.showInfoIcon = false;
|
|
36
|
+
/**
|
|
37
|
+
* Number of visible rows (height)
|
|
38
|
+
*/
|
|
39
|
+
this.rows = 4;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the textarea is resizable
|
|
42
|
+
*/
|
|
43
|
+
this.resize = 'vertical';
|
|
44
|
+
this.isFocused = false;
|
|
45
|
+
this.isHovered = false;
|
|
46
|
+
this.handleInput = (event) => {
|
|
47
|
+
const target = event.target;
|
|
48
|
+
this.value = target.value;
|
|
49
|
+
this.afInput.emit({ value: this.value });
|
|
50
|
+
};
|
|
51
|
+
this.handleFocus = () => {
|
|
52
|
+
this.isFocused = true;
|
|
53
|
+
this.afFocus.emit();
|
|
54
|
+
};
|
|
55
|
+
this.handleBlur = () => {
|
|
56
|
+
this.isFocused = false;
|
|
57
|
+
this.afBlur.emit();
|
|
58
|
+
};
|
|
59
|
+
this.handleMouseEnter = () => {
|
|
60
|
+
this.isHovered = true;
|
|
61
|
+
};
|
|
62
|
+
this.handleMouseLeave = () => {
|
|
63
|
+
this.isHovered = false;
|
|
64
|
+
};
|
|
65
|
+
this.handleInfoClick = (event) => {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
this.afInfoClick.emit();
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
render() {
|
|
72
|
+
const hasError = !!this.error;
|
|
73
|
+
const hasValue = !!(this.value && this.value.length > 0);
|
|
74
|
+
const wrapperClasses = {
|
|
75
|
+
'textarea-wrapper': true,
|
|
76
|
+
'disabled': this.disabled,
|
|
77
|
+
'error': hasError,
|
|
78
|
+
'focused': this.isFocused,
|
|
79
|
+
'hovered': this.isHovered && !this.disabled && !this.isFocused,
|
|
80
|
+
'populated': hasValue
|
|
81
|
+
};
|
|
82
|
+
const textareaContainerClasses = {
|
|
83
|
+
'textarea-container': true,
|
|
84
|
+
'disabled': this.disabled,
|
|
85
|
+
'error': hasError,
|
|
86
|
+
'focused': this.isFocused,
|
|
87
|
+
'hovered': this.isHovered && !this.disabled && !this.isFocused
|
|
88
|
+
};
|
|
89
|
+
return (h(Host, { key: '88a61db3d3d625cb33566b0696ac7b7b3ac8d936' }, h("div", { key: '8648dea230fc9736ae3d37b65dc34e6e60fef966', class: wrapperClasses }, this.label && (h("div", { key: 'bb1a4c3d441623d6e57780f486d9b84b96197510', class: "label-row" }, h("label", { key: 'ef2bf25f44797127f45fe6db632678bfacf1bd58', class: "label", htmlFor: "textarea" }, this.label, this.required && h("span", { key: '8b844499eb020f76c526cd6be88695568f094315', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: '76bbd8a0feb29ae8480228d155b78833e400da34', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: 'e9216ef96b54a2f6c6bb01f1e2d46a4483d0f37e', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '6a5b3020e369ef4eb21dcb1147530db1223478af', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '9ddd81bdf497d5589552d09fc54ddccfd69ca8bf', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'f6c12cb8e526e37ce99fe7f8993d4c79bdaba1d8', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: 'bccc36e8dfc14969b1e1133a3f6dc63a088ea85d', name: "label-end" }))), this.description && (h("p", { key: '996377a9fa9efb3e18339d5b4fcaa8fc71b2ab6f', class: "description" }, this.description)), h("div", { key: '3fedeb84278c68211e15915630bae5331a07a138', class: textareaContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("textarea", { key: '1a9d3873af28103d77ffda96d33db77caee1d72b', ref: (el) => this.textareaEl = el ?? undefined, id: "textarea", class: "textarea", name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, rows: this.rows, maxlength: this.maxlength, minlength: this.minlength, style: { resize: this.resize }, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur })), hasError && (h("div", { key: '483e536c546f7b75d887827d070ea39af9932f0f', class: "error-row", id: "error-message" }, h("span", { key: 'caafe8df9d66a1fe32809a32f273347d56deeba5', class: "error-icon" }, h("svg", { key: '0ae4361974775f89a2f9ba69867e02465adcdfc4', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '098c189b4551f4714f40e4ebbba886dfcc9806f6', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'bb29173d7d17694493242b1742944fbbadb480a8', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '48a2fb783e0604e24f0c19ba9086cea72bc93b25', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: '01ba2e635e379805f9505e1e7ac7c5dcdd0fa270', class: "error-text" }, this.error))))));
|
|
90
|
+
}
|
|
91
|
+
static get style() { return afTextareaCss; }
|
|
92
|
+
}, [257, "af-textarea", {
|
|
93
|
+
"label": [1],
|
|
94
|
+
"description": [1],
|
|
95
|
+
"placeholder": [1],
|
|
96
|
+
"value": [1025],
|
|
97
|
+
"name": [1],
|
|
98
|
+
"disabled": [516],
|
|
99
|
+
"required": [4],
|
|
100
|
+
"readonly": [4],
|
|
101
|
+
"error": [1],
|
|
102
|
+
"showInfoIcon": [4, "show-info-icon"],
|
|
103
|
+
"rows": [2],
|
|
104
|
+
"maxlength": [2],
|
|
105
|
+
"minlength": [2],
|
|
106
|
+
"resize": [1],
|
|
107
|
+
"isFocused": [32],
|
|
108
|
+
"isHovered": [32]
|
|
109
|
+
}]);
|
|
110
|
+
function defineCustomElement() {
|
|
111
|
+
if (typeof customElements === "undefined") {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const components = ["af-textarea"];
|
|
115
|
+
components.forEach(tagName => { switch (tagName) {
|
|
116
|
+
case "af-textarea":
|
|
117
|
+
if (!customElements.get(tagName)) {
|
|
118
|
+
customElements.define(tagName, AfTextarea);
|
|
119
|
+
}
|
|
120
|
+
break;
|
|
121
|
+
} });
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export { AfTextarea as A, defineCustomElement as d };
|
|
125
|
+
//# sourceMappingURL=p-Dz4dEIxw.js.map
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=p-Dz4dEIxw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-Dz4dEIxw.js","mappings":";;AAAA,MAAM,aAAa,GAAG,+zGAA+zG;;MCYx0G,UAAU,iBAAAA,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;AALvB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;;AAqBE;;AAEG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAO3C;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAElD;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAOjC;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;AAErC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC;AAYxB;;AAEG;AACK,QAAA,IAAM,CAAA,MAAA,GAAgD,UAAU;AAsBvD,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAInC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAY,KAAI;AACrC,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B;AAClD,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC1C,SAAC;AAEO,QAAA,IAAW,CAAA,WAAA,GAAG,MAAK;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,SAAC;AAEO,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACpB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,SAAC;AAEO,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAiB,KAAI;YAC9C,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,SAAC;AAsGF;IApGC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAExD,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,IAAI,CAAC,QAAQ;AACzB,YAAA,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;AAC9D,YAAA,WAAW,EAAE;SACd;AAED,QAAA,MAAM,wBAAwB,GAAG;AAC/B,YAAA,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,IAAI,CAAC,QAAQ;AACzB,YAAA,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC;SACtD;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EAEvB,IAAI,CAAC,KAAK,KACT,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACpB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAA,EACpC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,UAAU,QAAS,CAC3C,EACP,IAAI,CAAC,YAAY,KAChB,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,IAAI,CAAC,eAAe,gBAClB,kBAAkB,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EACrE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,mHAAmH,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EACrN,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EAC7G,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,aAAa,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAiB,iBAAA,EAAA,OAAO,EAAE,CAAA,CAC3G,CACC,CACV,EACD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,WAAW,EAAA,CAAQ,CAC1B,CACP,EAGA,IAAI,CAAC,WAAW,KACf,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAE,EAAA,IAAI,CAAC,WAAW,CAAK,CAC9C,EAGD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EAGnC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,SAAS,EAC9C,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAChB,cAAA,EAAA,QAAQ,GAAG,MAAM,GAAG,SAAS,EAAA,kBAAA,EACzB,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,SAAS,EAC3F,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,GACvB,CACE,EAGL,QAAQ,KACP,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,eAAe,EAAA,EACvC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EACrE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,mHAAmH,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EACrN,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EAC7G,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,aAAa,EAAC,MAAM,EAAC,cAAc,EAAc,cAAA,EAAA,KAAK,oBAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CAC3G,CACD,EACP,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,YAAY,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CACxC,CACP,CACG,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-textarea/af-textarea.css?tag=af-textarea&encapsulation=shadow","src/components/af-textarea/af-textarea.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* Wrapper */\n.textarea-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--sds-size-space-200, 8px);\n width: 100%;\n}\n\n/* Label row */\n.label-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.label {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-label, var(--af-typography-body-dark, #14343b));\n cursor: default;\n}\n\n.required {\n color: var(--af-input-error, var(--colour-error, #be292a));\n margin-left: 2px;\n}\n\n/* Info icon button */\n.info-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--af-input-icon, var(--af-background-icon-default, #14343b));\n flex-shrink: 0;\n}\n\n.info-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.info-icon:hover {\n opacity: 0.7;\n}\n\n.info-icon:focus-visible {\n outline: 2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Description */\n.description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-description, var(--af-typography-body-default, #2b484f));\n margin: 0;\n}\n\n/* Textarea container */\n.textarea-container {\n display: flex;\n background: var(--af-input-bg, #ffffff);\n border: 1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));\n border-radius: var(--radii-input, 8px);\n transition: all 0.15s ease;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* Hover state */\n.textarea-container.hovered {\n background: var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));\n border-color: var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1));\n}\n\n/* Focus state */\n.textarea-container.focused {\n background: var(--af-input-bg, #ffffff);\n border-color: var(--af-input-border-active, var(--af-typography-body-dark, #14343b));\n box-shadow: \n 0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n}\n\n/* Error state */\n.textarea-container.error {\n border-color: var(--af-input-border-error, var(--colour-error, #be292a));\n}\n\n/* Disabled state */\n.textarea-container.disabled {\n background: var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));\n border-color: var(--af-input-border, var(--af-background-border-default, #d1ddda));\n cursor: not-allowed;\n}\n\n/* Native textarea */\n.textarea {\n flex: 1;\n min-width: 0;\n min-height: 108px;\n padding: 12px 16px;\n border: none;\n background: transparent;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-text, var(--af-typography-body-dark, #14343b));\n outline: none;\n resize: vertical;\n}\n\n.textarea::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n opacity: 1;\n}\n\n.textarea:disabled {\n cursor: not-allowed;\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n resize: none;\n}\n\n.textarea:disabled::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n}\n\n/* Error row */\n.error-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.error-icon {\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-input-error, var(--colour-error, #be292a));\n}\n\n.error-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.error-text {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-error, var(--colour-error, #be292a));\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Textarea component for multi-line text input with label, description, and error states.\n * \n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-textarea',\n styleUrl: 'af-textarea.css',\n shadow: true\n})\nexport class AfTextarea {\n /**\n * The label text for the textarea\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the textarea\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the textarea\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The name of the textarea for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the textarea is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the textarea is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the textarea is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Number of visible rows (height)\n */\n @Prop() rows: number = 4;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Whether the textarea is resizable\n */\n @Prop() resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical';\n\n /**\n * Emitted when the textarea value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the textarea loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the textarea gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private textareaEl?: HTMLTextAreaElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.afInput.emit({ value: this.value });\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n this.afFocus.emit();\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n this.afBlur.emit();\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n\n const wrapperClasses = {\n 'textarea-wrapper': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const textareaContainerClasses = {\n 'textarea-container': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"textarea\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button \n type=\"button\" \n class=\"info-icon\" \n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Textarea container */}\n <div \n class={textareaContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Native textarea */}\n <textarea\n ref={(el) => this.textareaEl = el ?? undefined}\n id=\"textarea\"\n class=\"textarea\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n rows={this.rows}\n maxlength={this.maxlength}\n minlength={this.minlength}\n style={{ resize: this.resize }}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-CqQyDZ-4.js';
|
|
2
|
+
|
|
3
|
+
const afTypographyLockupCss = ":host{display:block}.lockup{display:flex;flex-direction:column}.breakpoint-desktop.heading-1.lockup{gap:var(--space-6, 24px)}.breakpoint-mobile.heading-1.lockup{gap:var(--space-5, 20px)}.breakpoint-desktop.heading-2.lockup,.breakpoint-desktop.heading-3.lockup{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-2.lockup{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-3.lockup,.breakpoint-desktop.heading-4.lockup,.breakpoint-desktop.heading-5.lockup{gap:var(--space-3, 12px)}.breakpoint-mobile.heading-4.lockup,.breakpoint-mobile.heading-5.lockup{gap:var(--space-2, 8px)}.text-left{align-items:flex-start}.text-center{align-items:center}.text-right{align-items:flex-end}.text-justify{align-items:stretch}.align-left{text-align:left;--af-text-align:left}.align-center{text-align:center;--af-text-align:center}.align-right{text-align:right;--af-text-align:right}.align-justify{text-align:justify;--af-text-align:justify}.copy{display:flex;flex-direction:column;width:100%;max-width:840px}.breakpoint-desktop.heading-1 .copy{gap:var(--space-6, 24px)}.breakpoint-mobile.heading-1 .copy{gap:var(--space-5, 20px)}.breakpoint-desktop.heading-2 .copy,.breakpoint-desktop.heading-3 .copy{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-2 .copy{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-3 .copy,.breakpoint-desktop.heading-4 .copy,.breakpoint-desktop.heading-5 .copy{gap:var(--space-3, 12px)}.breakpoint-mobile.heading-4 .copy,.breakpoint-mobile.heading-5 .copy{gap:var(--space-2, 8px)}.heading{display:flex;flex-direction:column;font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);color:var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));line-height:var(--line-height-heading-tight, 1);letter-spacing:var(--letter-spacing-heading, -0.02em);white-space:normal}.breakpoint-desktop.heading-1 .heading{font-size:var(--font-size-heading-1-desktop, 56px)}.breakpoint-desktop.heading-2 .heading{font-size:var(--font-size-heading-2-desktop, 44px)}.breakpoint-desktop.heading-3 .heading{font-size:var(--font-size-heading-3-desktop, 34px)}.breakpoint-desktop.heading-4 .heading{font-size:var(--font-size-heading-4-desktop, 24px);line-height:var(--line-height-heading-relaxed, 1.2)}.breakpoint-desktop.heading-5 .heading{font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2)}.breakpoint-mobile.heading-1 .heading{font-size:var(--font-size-heading-1-mobile, 38px)}.breakpoint-mobile.heading-2 .heading{font-size:var(--font-size-heading-2-mobile, 32px)}.breakpoint-mobile.heading-3 .heading{font-size:var(--font-size-heading-3-mobile, 25px)}.breakpoint-mobile.heading-4 .heading{font-size:var(--font-size-heading-4-mobile, 20px);line-height:var(--line-height-heading-normal, 1.1)}.breakpoint-mobile.heading-5 .heading{font-size:var(--font-size-heading-5-mobile, 18px);line-height:var(--line-height-heading-normal, 1.1)}.description{font-family:var(--typography-bodyfont, 'NeuSans', sans-serif);font-size:var(--font-size-body-large, 18px);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-body-large, 26px);color:var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));white-space:normal}.heading.heading-color-primary{color:var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B))}.heading.heading-color-secondary{color:var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670))}.description.description-color-default{color:var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F))}.description.description-color-secondary{color:var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670))}.breakpoint-mobile.heading-3 .description,.breakpoint-desktop.heading-4 .description,.breakpoint-mobile.heading-4 .description,.breakpoint-desktop.heading-5 .description,.breakpoint-mobile.heading-5 .description{font-size:var(--font-size-body-medium, 16px);line-height:var(--line-height-body-medium, 24px)}.description:empty{display:none}.buttons{display:flex;flex-direction:row;gap:var(--space-3, 12px)}.buttons:empty{display:none}.layout-horizontal .buttons{align-items:center}.text-left.layout-horizontal{flex-direction:row;align-items:center;gap:var(--space-4, 16px)}.text-left.layout-horizontal .copy{flex:1 0 0;max-width:950px}.text-left.layout-horizontal.heading-3 .copy,.text-left.layout-horizontal.heading-4 .copy{max-width:840px}.text-left.layout-horizontal .buttons{flex-shrink:0}.layout-vertical .buttons{align-items:flex-start}.buttons.align-left{justify-content:flex-start}.buttons.align-center{justify-content:center}.buttons.align-right{justify-content:flex-end}.buttons.align-justify{justify-content:space-between}.breakpoint-mobile .buttons{flex-direction:column;align-items:stretch}.breakpoint-mobile .buttons.align-center{align-items:center}.breakpoint-mobile .buttons.align-right{align-items:flex-end}.breakpoint-mobile .buttons.align-left{align-items:flex-start}.text-center .copy{max-width:840px}::slotted(*){margin:0}";
|
|
4
|
+
|
|
5
|
+
const AfTypographyLockup = /*@__PURE__*/ proxyCustomElement(class AfTypographyLockup extends H {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
/**
|
|
13
|
+
* The heading size (1-5, where 1 is largest). Controls visual scale
|
|
14
|
+
* only — pair with a matching <h1>-<h5> slotted element for correct
|
|
15
|
+
* document outline (see component docblock).
|
|
16
|
+
*/
|
|
17
|
+
this.headingSize = 2;
|
|
18
|
+
/**
|
|
19
|
+
* The breakpoint for responsive typography
|
|
20
|
+
*/
|
|
21
|
+
this.breakpoint = 'desktop';
|
|
22
|
+
/**
|
|
23
|
+
* Text alignment for the entire lockup (heading and description).
|
|
24
|
+
* Can be overridden individually with headingAlignment and descriptionAlignment.
|
|
25
|
+
*/
|
|
26
|
+
this.textAlignment = 'left';
|
|
27
|
+
/**
|
|
28
|
+
* Button layout direction (horizontal or vertical stacking)
|
|
29
|
+
*/
|
|
30
|
+
this.buttonLayout = 'vertical';
|
|
31
|
+
/**
|
|
32
|
+
* Heading colour variant. Matches the Webflow pattern of `h1.primary` vs
|
|
33
|
+
* `h1.secondary`, where "secondary" renders in the theme's accent/heading-
|
|
34
|
+
* secondary colour (soft-clay on most themes).
|
|
35
|
+
* - `primary` (default) - uses `--af-typography-heading-primary`
|
|
36
|
+
* - `secondary` - uses `--af-typography-heading-secondary`
|
|
37
|
+
*/
|
|
38
|
+
this.headingColor = 'primary';
|
|
39
|
+
/**
|
|
40
|
+
* Description colour variant. Same pattern as `headingColor`; useful for
|
|
41
|
+
* hero-style lockups where the description is rendered in the accent colour.
|
|
42
|
+
* - `default` (default) - uses `--af-typography-body-default`
|
|
43
|
+
* - `secondary` - uses `--af-typography-heading-secondary`
|
|
44
|
+
*/
|
|
45
|
+
this.descriptionColor = 'default';
|
|
46
|
+
/**
|
|
47
|
+
* Whether the consumer passed anything into the description / buttons
|
|
48
|
+
* slots. The CSS `:empty` selector can't help here — the `<slot>`
|
|
49
|
+
* element itself counts as a child, so the wrapper divs would always
|
|
50
|
+
* render as empty-but-visible lines of gap. Tracked on mount and on
|
|
51
|
+
* any `slotchange` so wrappers collapse cleanly when there's nothing
|
|
52
|
+
* to show.
|
|
53
|
+
*/
|
|
54
|
+
this.hasDescription = false;
|
|
55
|
+
this.hasButtons = false;
|
|
56
|
+
this.syncSlotState = () => {
|
|
57
|
+
this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;
|
|
58
|
+
this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
componentDidLoad() {
|
|
62
|
+
this.syncSlotState();
|
|
63
|
+
this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);
|
|
64
|
+
this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);
|
|
65
|
+
// Dev-time check that the slotted semantic tag (h1-h6) is within one
|
|
66
|
+
// level of the visual headingSize. Pairs with the class-level docblock;
|
|
67
|
+
// silent in production unless the author explicitly turned on dev mode
|
|
68
|
+
// via `window.__AF_STRICT_HEADINGS__`.
|
|
69
|
+
if (typeof window === 'undefined')
|
|
70
|
+
return;
|
|
71
|
+
const strict = window
|
|
72
|
+
.__AF_STRICT_HEADINGS__;
|
|
73
|
+
if (!strict)
|
|
74
|
+
return;
|
|
75
|
+
const heading = Array.from(this.el.children).find((child) => !child.hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName));
|
|
76
|
+
if (!heading)
|
|
77
|
+
return;
|
|
78
|
+
const slottedLevel = Number(heading.tagName.slice(1));
|
|
79
|
+
const expected = this.headingSize;
|
|
80
|
+
if (Math.abs(slottedLevel - expected) > 1) {
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
console.warn(`[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +
|
|
83
|
+
`expected an <h${expected}> for document outline. Pass deliberately or align the two.`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
disconnectedCallback() {
|
|
87
|
+
this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);
|
|
88
|
+
this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);
|
|
89
|
+
}
|
|
90
|
+
render() {
|
|
91
|
+
const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;
|
|
92
|
+
const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;
|
|
93
|
+
const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;
|
|
94
|
+
const containerClasses = {
|
|
95
|
+
'lockup': true,
|
|
96
|
+
[`text-${this.textAlignment}`]: true,
|
|
97
|
+
[`layout-${this.buttonLayout}`]: true,
|
|
98
|
+
[`heading-${this.headingSize}`]: true,
|
|
99
|
+
[`breakpoint-${this.breakpoint}`]: true
|
|
100
|
+
};
|
|
101
|
+
const headingClasses = {
|
|
102
|
+
'heading': true,
|
|
103
|
+
[`align-${effectiveHeadingAlignment}`]: true,
|
|
104
|
+
[`heading-color-${this.headingColor}`]: true
|
|
105
|
+
};
|
|
106
|
+
const descriptionClasses = {
|
|
107
|
+
'description': true,
|
|
108
|
+
[`align-${effectiveDescriptionAlignment}`]: true,
|
|
109
|
+
[`description-color-${this.descriptionColor}`]: true
|
|
110
|
+
};
|
|
111
|
+
const buttonsClasses = {
|
|
112
|
+
'buttons': true,
|
|
113
|
+
[`align-${effectiveButtonsAlignment}`]: true
|
|
114
|
+
};
|
|
115
|
+
const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};
|
|
116
|
+
return (h(Host, { key: '9b31ef730abc5e33919d32480e260937ae450529' }, h("div", { key: '95d33308deeb9c5488a89ef7161322a25b2e348f', class: containerClasses }, h("div", { key: '78cff6a371d382a9ff69d06d25180efd667958ab', class: "copy", style: copyStyle }, h("div", { key: '963e6233660bbe45084f42a70e0a1d54236c514e', class: headingClasses, part: "heading" }, h("slot", { key: 'b0b90701b673581cc08be3f79dea8068a85050ab' })), h("div", { key: 'db4b15e80e9bbe683b425e3cc8e92a2fa00774e1', class: descriptionClasses, part: "body", hidden: !this.hasDescription }, h("slot", { key: 'd581dab0571d6e400be15fa6a285d0774f5dc978', name: "description", ref: (el) => (this.descriptionSlot = el) }))), h("div", { key: 'fb160cbfc354f41eefe600f295c3d86146eb6065', class: buttonsClasses, part: "buttons", hidden: !this.hasButtons }, h("slot", { key: 'a801bbb9ac25136b0073f68ab05ae7738d6079e5', name: "buttons", ref: (el) => (this.buttonsSlot = el) })))));
|
|
117
|
+
}
|
|
118
|
+
get el() { return this; }
|
|
119
|
+
static get style() { return afTypographyLockupCss; }
|
|
120
|
+
}, [257, "af-typography-lockup", {
|
|
121
|
+
"headingSize": [2, "heading-size"],
|
|
122
|
+
"breakpoint": [1],
|
|
123
|
+
"textAlignment": [1, "text-alignment"],
|
|
124
|
+
"headingAlignment": [1, "heading-alignment"],
|
|
125
|
+
"descriptionAlignment": [1, "description-alignment"],
|
|
126
|
+
"buttonLayout": [1, "button-layout"],
|
|
127
|
+
"buttonsAlignment": [1, "buttons-alignment"],
|
|
128
|
+
"maxWidth": [2, "max-width"],
|
|
129
|
+
"headingColor": [1, "heading-color"],
|
|
130
|
+
"descriptionColor": [1, "description-color"],
|
|
131
|
+
"hasDescription": [32],
|
|
132
|
+
"hasButtons": [32]
|
|
133
|
+
}]);
|
|
134
|
+
function defineCustomElement() {
|
|
135
|
+
if (typeof customElements === "undefined") {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const components = ["af-typography-lockup"];
|
|
139
|
+
components.forEach(tagName => { switch (tagName) {
|
|
140
|
+
case "af-typography-lockup":
|
|
141
|
+
if (!customElements.get(tagName)) {
|
|
142
|
+
customElements.define(tagName, AfTypographyLockup);
|
|
143
|
+
}
|
|
144
|
+
break;
|
|
145
|
+
} });
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export { AfTypographyLockup as A, defineCustomElement as d };
|
|
149
|
+
//# sourceMappingURL=p-N0xV1Erp.js.map
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=p-N0xV1Erp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-N0xV1Erp.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-typography-lockup/af-typography-lockup.css?tag=af-typography-lockup&encapsulation=shadow","src/components/af-typography-lockup/af-typography-lockup.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.lockup {\n display: flex;\n flex-direction: column;\n}\n\n/* Lockup gap variations (between copy and buttons) - matches copy internal gap */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1.lockup {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1.lockup {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2.lockup,\n.breakpoint-desktop.heading-3.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3.lockup,\n.breakpoint-desktop.heading-4.lockup,\n.breakpoint-desktop.heading-5.lockup {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4.lockup,\n.breakpoint-mobile.heading-5.lockup {\n gap: var(--space-2, 8px);\n}\n\n/* Container alignment (affects flexbox positioning) */\n.text-left {\n align-items: flex-start;\n}\n\n.text-center {\n align-items: center;\n}\n\n.text-right {\n align-items: flex-end;\n}\n\n.text-justify {\n align-items: stretch;\n}\n\n/* Individual text alignment classes */\n.align-left {\n text-align: left;\n --af-text-align: left;\n}\n\n.align-center {\n text-align: center;\n --af-text-align: center;\n}\n\n.align-right {\n text-align: right;\n --af-text-align: right;\n}\n\n.align-justify {\n text-align: justify;\n --af-text-align: justify;\n}\n\n/* Copy section - base styles */\n.copy {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 840px;\n}\n\n/* Copy gap variations based on heading size and breakpoint */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1 .copy {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1 .copy {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2 .copy,\n.breakpoint-desktop.heading-3 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3 .copy,\n.breakpoint-desktop.heading-4 .copy,\n.breakpoint-desktop.heading-5 .copy {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4 .copy,\n.breakpoint-mobile.heading-5 .copy {\n gap: var(--space-2, 8px);\n}\n\n/* Heading styles - font-weight 400 (regular) matches Webflow's NeuSans usage.\n * display: flex collapses any whitespace-only text nodes that Astro (and\n * other templating engines) leave between the slotted heading and the\n * following named-slot siblings — those stray text nodes get projected into\n * the default slot and, without flex layout, each one occupies a full line\n * of the heading's line-height (user-visible \"extra line break\" after the\n * heading). */\n.heading {\n display: flex;\n flex-direction: column;\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n white-space: normal;\n}\n\n/* Desktop heading sizes */\n.breakpoint-desktop.heading-1 .heading {\n font-size: var(--font-size-heading-1-desktop, 56px);\n}\n\n.breakpoint-desktop.heading-2 .heading {\n font-size: var(--font-size-heading-2-desktop, 44px);\n}\n\n.breakpoint-desktop.heading-3 .heading {\n font-size: var(--font-size-heading-3-desktop, 34px);\n}\n\n.breakpoint-desktop.heading-4 .heading {\n font-size: var(--font-size-heading-4-desktop, 24px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n.breakpoint-desktop.heading-5 .heading {\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n/* Mobile heading sizes */\n.breakpoint-mobile.heading-1 .heading {\n font-size: var(--font-size-heading-1-mobile, 38px);\n}\n\n.breakpoint-mobile.heading-2 .heading {\n font-size: var(--font-size-heading-2-mobile, 32px);\n}\n\n.breakpoint-mobile.heading-3 .heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n}\n\n.breakpoint-mobile.heading-4 .heading {\n font-size: var(--font-size-heading-4-mobile, 20px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n.breakpoint-mobile.heading-5 .heading {\n font-size: var(--font-size-heading-5-mobile, 18px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n/* Description/body text - default (body/large) */\n.description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: var(--font-size-body-large, 18px);\n font-weight: var(--font-weight-regular, 400);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n white-space: normal;\n}\n\n/* Heading colour variants — matches Webflow's h1.primary / h1.secondary pattern */\n.heading.heading-color-primary {\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n}\n\n.heading.heading-color-secondary {\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));\n}\n\n/* Description colour variants */\n.description.description-color-default {\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n}\n\n.description.description-color-secondary {\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));\n}\n\n/* Description text size variations - smaller for heading 3 mobile, 4, and 5 */\n.breakpoint-mobile.heading-3 .description,\n.breakpoint-desktop.heading-4 .description,\n.breakpoint-mobile.heading-4 .description,\n.breakpoint-desktop.heading-5 .description,\n.breakpoint-mobile.heading-5 .description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.description:empty {\n display: none;\n}\n\n/* Buttons section */\n.buttons {\n display: flex;\n flex-direction: row;\n gap: var(--space-3, 12px);\n}\n\n.buttons:empty {\n display: none;\n}\n\n/* Button layout - horizontal (inline with copy) */\n.layout-horizontal .buttons {\n align-items: center;\n}\n\n.text-left.layout-horizontal {\n flex-direction: row;\n align-items: center;\n gap: var(--space-4, 16px);\n}\n\n.text-left.layout-horizontal .copy {\n flex: 1 0 0;\n max-width: 950px;\n}\n\n/* Heading 3, 4 horizontal: different max-width */\n.text-left.layout-horizontal.heading-3 .copy,\n.text-left.layout-horizontal.heading-4 .copy {\n max-width: 840px;\n}\n\n.text-left.layout-horizontal .buttons {\n flex-shrink: 0;\n}\n\n/* Button layout - vertical (stacked below copy) */\n.layout-vertical .buttons {\n align-items: flex-start;\n}\n\n/* Button position alignment */\n.buttons.align-left {\n justify-content: flex-start;\n}\n\n.buttons.align-center {\n justify-content: center;\n}\n\n.buttons.align-right {\n justify-content: flex-end;\n}\n\n.buttons.align-justify {\n justify-content: space-between;\n}\n\n/* Mobile button stacking - buttons stack vertically on mobile */\n.breakpoint-mobile .buttons {\n flex-direction: column;\n align-items: stretch;\n}\n\n.breakpoint-mobile .buttons.align-center {\n align-items: center;\n}\n\n.breakpoint-mobile .buttons.align-right {\n align-items: flex-end;\n}\n\n.breakpoint-mobile .buttons.align-left {\n align-items: flex-start;\n}\n\n/* Max width constraints for centered layouts */\n.text-center .copy {\n max-width: 840px;\n}\n\n/* Slot content styling */\n::slotted(*) {\n margin: 0;\n}\n","import { Component, Element, h, Prop, State, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n/**\n * Marketing-style composition of heading + description + buttons with\n * consistent spacing and alignment driven by the `headingSize` prop.\n *\n * **Semantic vs visual:** `headingSize` controls ONLY the visual scale\n * (the lockup sets font-size via a `heading-{1..5}` class). The semantic\n * level (h1-h6) is whatever the consumer slots in as default content.\n * Keep them aligned by convention so assistive tech and search engines\n * see the right hierarchy:\n *\n * headingSize=1 ↔ <h1> (or <h2> on non-top-of-page sections)\n * headingSize=2 ↔ <h2>\n * headingSize=3 ↔ <h3>\n * headingSize=4 ↔ <h4>\n * headingSize=5 ↔ <h5>\n *\n * When a design asks for a visually small H1 or a visually large H3,\n * pass the two independently — just do it deliberately, not by\n * accident. A console warning fires in dev mode if the slotted tag is\n * more than one level away from the prop.\n */\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n @Element() el!: HTMLElement;\n\n /**\n * The heading size (1-5, where 1 is largest). Controls visual scale\n * only — pair with a matching <h1>-<h5> slotted element for correct\n * document outline (see component docblock).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n /**\n * Whether the consumer passed anything into the description / buttons\n * slots. The CSS `:empty` selector can't help here — the `<slot>`\n * element itself counts as a child, so the wrapper divs would always\n * render as empty-but-visible lines of gap. Tracked on mount and on\n * any `slotchange` so wrappers collapse cleanly when there's nothing\n * to show.\n */\n @State() hasDescription: boolean = false;\n @State() hasButtons: boolean = false;\n\n private descriptionSlot?: HTMLSlotElement;\n private buttonsSlot?: HTMLSlotElement;\n\n componentDidLoad() {\n this.syncSlotState();\n this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);\n // Dev-time check that the slotted semantic tag (h1-h6) is within one\n // level of the visual headingSize. Pairs with the class-level docblock;\n // silent in production unless the author explicitly turned on dev mode\n // via `window.__AF_STRICT_HEADINGS__`.\n if (typeof window === 'undefined') return;\n const strict = (window as unknown as { __AF_STRICT_HEADINGS__?: boolean })\n .__AF_STRICT_HEADINGS__;\n if (!strict) return;\n const heading = Array.from(this.el.children).find(\n (child) => !(child as HTMLElement).hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName),\n );\n if (!heading) return;\n const slottedLevel = Number(heading.tagName.slice(1));\n const expected = this.headingSize;\n if (Math.abs(slottedLevel - expected) > 1) {\n // eslint-disable-next-line no-console\n console.warn(\n `[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +\n `expected an <h${expected}> for document outline. Pass deliberately or align the two.`,\n );\n }\n }\n\n disconnectedCallback() {\n this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);\n }\n\n private syncSlotState = () => {\n this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n };\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\" hidden={!this.hasDescription}>\n <slot name=\"description\" ref={(el) => (this.descriptionSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\" hidden={!this.hasButtons}>\n <slot name=\"buttons\" ref={(el) => (this.buttonsSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-CqQyDZ-4.js';
|
|
2
|
+
import { d as defineCustomElement$2 } from './p-BO4blShf.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './p-N0xV1Erp.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-TfjpcU9q.js.map
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=p-TfjpcU9q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-TfjpcU9q.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}
|