@affinda/wc 0.0.16 → 0.0.18
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-button.entry.esm.js.map +1 -1
- package/dist/affinda/af-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-center.entry.esm.js.map +1 -0
- package/dist/affinda/af-checkbox.entry.esm.js.map +1 -1
- package/dist/affinda/af-divider.entry.esm.js.map +1 -0
- package/dist/affinda/af-fieldset.entry.esm.js.map +1 -1
- 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 -1
- package/dist/affinda/af-inline.entry.esm.js.map +1 -0
- package/dist/affinda/af-input.entry.esm.js.map +1 -1
- 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 -1
- package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -1
- package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -1
- package/dist/affinda/af-radio.entry.esm.js.map +1 -1
- package/dist/affinda/af-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-show.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 -1
- package/dist/affinda/af-stack.entry.esm.js.map +1 -0
- package/dist/affinda/af-switch.entry.esm.js.map +1 -1
- package/dist/affinda/af-textarea.entry.esm.js.map +1 -1
- package/dist/affinda/af-theme-override.entry.esm.js.map +1 -0
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
- package/dist/affinda/af-visually-hidden.entry.esm.js.map +1 -0
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/{p-acbbe39a.entry.js → p-01993cc8.entry.js} +2 -2
- package/dist/affinda/p-02830771.entry.js +2 -0
- package/dist/affinda/p-02830771.entry.js.map +1 -0
- package/dist/affinda/{p-a4e4eb4d.entry.js → p-04de9a0a.entry.js} +2 -2
- package/dist/affinda/{p-a6365e94.entry.js → p-080cf84f.entry.js} +2 -2
- package/dist/affinda/{p-b3b0ed0c.entry.js → p-0b5bc045.entry.js} +2 -2
- package/dist/affinda/{p-864778d0.entry.js → p-0d97a3c5.entry.js} +2 -2
- package/dist/affinda/{p-2b4dc22c.entry.js → p-16f808d5.entry.js} +2 -2
- package/dist/affinda/{p-52ab3bf0.entry.js → p-19eb7cb9.entry.js} +2 -2
- package/dist/affinda/p-1c32cfcb.entry.js +2 -0
- package/dist/affinda/p-1c32cfcb.entry.js.map +1 -0
- package/dist/affinda/p-266af3e1.entry.js +2 -0
- package/dist/affinda/p-266af3e1.entry.js.map +1 -0
- package/dist/affinda/p-288c2656.entry.js +2 -0
- package/dist/affinda/p-288c2656.entry.js.map +1 -0
- package/dist/affinda/p-2e5e4960.entry.js +2 -0
- package/dist/affinda/p-2e5e4960.entry.js.map +1 -0
- package/dist/affinda/{p-1d65fd18.entry.js → p-2e750d43.entry.js} +2 -2
- package/dist/affinda/p-302d0cf7.entry.js +2 -0
- package/dist/affinda/{p-231ba1d0.entry.js.map → p-302d0cf7.entry.js.map} +1 -1
- package/dist/affinda/{p-861f4f57.entry.js → p-331f9627.entry.js} +2 -2
- package/dist/affinda/p-389a6246.entry.js +2 -0
- package/dist/affinda/{p-7f20fbe0.entry.js.map → p-389a6246.entry.js.map} +1 -1
- package/dist/affinda/{p-77bf8a81.entry.js → p-3d2fb635.entry.js} +2 -2
- package/dist/affinda/{p-e5af21c2.entry.js → p-3e16bb11.entry.js} +2 -2
- package/dist/affinda/p-4c5f92a9.entry.js +2 -0
- package/dist/affinda/{p-ea06c83b.entry.js.map → p-4c5f92a9.entry.js.map} +1 -1
- package/dist/affinda/p-544b7c9c.entry.js +2 -0
- package/dist/affinda/p-544b7c9c.entry.js.map +1 -0
- package/dist/affinda/p-57eae3cd.entry.js +2 -0
- package/dist/affinda/{p-c3e31251.entry.js.map → p-57eae3cd.entry.js.map} +1 -1
- package/dist/affinda/p-6294b6d1.entry.js +2 -0
- package/dist/affinda/p-6294b6d1.entry.js.map +1 -0
- package/dist/affinda/{p-f45b0060.entry.js → p-63314e14.entry.js} +2 -2
- package/dist/affinda/{p-45e1923c.entry.js → p-68f1f661.entry.js} +2 -2
- package/dist/affinda/{p-b17735c9.entry.js → p-6af1634a.entry.js} +2 -2
- package/dist/affinda/p-6b92463e.entry.js +2 -0
- package/dist/affinda/{p-697bf0b7.entry.js.map → p-6b92463e.entry.js.map} +1 -1
- package/dist/affinda/p-709271d1.entry.js +2 -0
- package/dist/affinda/p-709271d1.entry.js.map +1 -0
- package/dist/affinda/{p-8ea22b5d.entry.js → p-7792cd53.entry.js} +2 -2
- package/dist/affinda/{p-85a78bcf.entry.js → p-8f24dfe3.entry.js} +2 -2
- package/dist/affinda/p-8f528f9d.entry.js +2 -0
- package/dist/affinda/p-8f528f9d.entry.js.map +1 -0
- package/dist/affinda/{p-44b25840.entry.js → p-920e6d30.entry.js} +2 -2
- package/dist/affinda/{p-10801ee1.entry.js → p-96df0106.entry.js} +2 -2
- package/dist/affinda/p-9de05d1d.entry.js +2 -0
- package/dist/affinda/p-9de05d1d.entry.js.map +1 -0
- package/dist/affinda/{p-a36abb83.entry.js → p-9e21b6c1.entry.js} +2 -2
- package/dist/affinda/{p-BmU_CFQ4.js → p-B0LVveHp.js} +3 -3
- package/dist/affinda/p-B0LVveHp.js.map +1 -0
- package/dist/affinda/{p-c11088fa.entry.js → p-a2c71cad.entry.js} +2 -2
- package/dist/affinda/p-a6402689.entry.js +2 -0
- package/dist/affinda/{p-be049760.entry.js.map → p-a6402689.entry.js.map} +1 -1
- package/dist/affinda/p-a7574570.entry.js +2 -0
- package/dist/affinda/{p-98901734.entry.js.map → p-a7574570.entry.js.map} +1 -1
- package/dist/affinda/p-a942522f.entry.js +2 -0
- package/dist/affinda/{p-c0ee2420.entry.js.map → p-a942522f.entry.js.map} +1 -1
- package/dist/affinda/{p-96eac3af.entry.js → p-adacb8c4.entry.js} +2 -2
- package/dist/affinda/p-af25dad7.entry.js +2 -0
- package/dist/affinda/{p-ce3356f1.entry.js.map → p-af25dad7.entry.js.map} +1 -1
- package/dist/affinda/p-b0d668d0.entry.js +2 -0
- package/dist/affinda/p-b0d668d0.entry.js.map +1 -0
- package/dist/affinda/{p-e5d9913c.entry.js → p-b10103f4.entry.js} +2 -2
- package/dist/affinda/p-b2338fab.entry.js +2 -0
- package/dist/affinda/{p-c298b370.entry.js.map → p-b2338fab.entry.js.map} +1 -1
- package/dist/affinda/p-b56e9e2d.entry.js +2 -0
- package/dist/affinda/p-b56e9e2d.entry.js.map +1 -0
- package/dist/affinda/{p-1d9e532f.entry.js → p-bd7170d7.entry.js} +2 -2
- package/dist/affinda/p-c72cfcbd.entry.js +2 -0
- package/dist/affinda/p-c72cfcbd.entry.js.map +1 -0
- package/dist/affinda/p-c74481bd.entry.js +2 -0
- package/dist/affinda/p-c74481bd.entry.js.map +1 -0
- package/dist/affinda/{p-0cd160a4.entry.js → p-cc4e73dc.entry.js} +2 -2
- package/dist/affinda/p-d47a77e2.entry.js +2 -0
- package/dist/affinda/p-d47a77e2.entry.js.map +1 -0
- package/dist/affinda/{p-3d3c9f62.entry.js → p-d51c4b1b.entry.js} +2 -2
- package/dist/affinda/p-d6e55455.entry.js +2 -0
- package/dist/affinda/{p-81571029.entry.js → p-d90366f6.entry.js} +2 -2
- package/dist/affinda/{p-31d4c1a4.entry.js → p-db9249e4.entry.js} +2 -2
- package/dist/affinda/p-e156a8bb.entry.js +2 -0
- package/dist/affinda/p-e156a8bb.entry.js.map +1 -0
- package/dist/affinda/{p-5bbf2c8c.entry.js → p-e305c2b7.entry.js} +2 -2
- package/dist/affinda/{p-71144002.entry.js → p-e7d8d909.entry.js} +2 -2
- package/dist/affinda/p-e9bc1739.entry.js +2 -0
- package/dist/affinda/p-e9bc1739.entry.js.map +1 -0
- package/dist/affinda/{p-425253ee.entry.js → p-f7a13cd3.entry.js} +2 -2
- package/dist/affinda/p-f9e7cf8f.entry.js +2 -0
- package/dist/affinda/p-f9e7cf8f.entry.js.map +1 -0
- package/dist/affinda/p-fd772813.entry.js +2 -0
- package/dist/affinda/p-fefe9597.entry.js +2 -0
- package/dist/cjs/af-accordion-item.cjs.entry.js +105 -0
- package/dist/cjs/af-accordion-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-accordion.cjs.entry.js +102 -0
- package/dist/cjs/af-accordion.entry.cjs.js.map +1 -0
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/af-button-group.cjs.entry.js +2 -2
- package/dist/cjs/af-button.cjs.entry.js +1 -1
- package/dist/cjs/af-button.entry.cjs.js.map +1 -1
- package/dist/cjs/af-card.cjs.entry.js +3 -3
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-center.cjs.entry.js +42 -0
- package/dist/cjs/af-center.entry.cjs.js.map +1 -0
- package/dist/cjs/af-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +2 -2
- package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
- package/dist/cjs/af-container.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.cjs.entry.js +43 -0
- package/dist/cjs/af-divider.entry.cjs.js.map +1 -0
- package/dist/cjs/af-feature-accordion.cjs.entry.js +3 -3
- package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
- package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
- package/dist/cjs/af-fieldset.cjs.entry.js +3 -3
- package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -1
- package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
- package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/af-footer.cjs.entry.js +2 -2
- package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
- package/dist/cjs/af-grid.cjs.entry.js +44 -0
- 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 -1
- package/dist/cjs/af-heading_5.cjs.entry.js +17 -17
- package/dist/cjs/af-icon-box.cjs.entry.js +2 -2
- package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
- package/dist/cjs/af-icon.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
- package/dist/cjs/af-image.cjs.entry.js +2 -2
- package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
- package/dist/cjs/af-inline.cjs.entry.js +58 -0
- package/dist/cjs/af-inline.entry.cjs.js.map +1 -0
- package/dist/cjs/af-input.cjs.entry.js +3 -3
- package/dist/cjs/af-input.entry.cjs.js.map +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +86 -0
- package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-accordion.cjs.entry.js +82 -0
- package/dist/cjs/af-nav-accordion.entry.cjs.js.map +1 -0
- package/dist/cjs/af-nav-card.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +4 -3
- package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -1
- package/dist/cjs/af-nav-menu.cjs.entry.js +3 -3
- package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
- package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
- package/dist/cjs/af-radio.cjs.entry.js +15 -6
- package/dist/cjs/af-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/af-section.cjs.entry.js +4 -4
- package/dist/cjs/af-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-show.cjs.entry.js +23 -0
- package/dist/cjs/af-show.entry.cjs.js.map +1 -0
- package/dist/cjs/af-social-link.cjs.entry.js +2 -2
- package/dist/cjs/af-spacer.cjs.entry.js +45 -0
- package/dist/cjs/af-spacer.entry.cjs.js.map +1 -0
- package/dist/cjs/af-split-section.cjs.entry.js +4 -4
- package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stack.cjs.entry.js +64 -0
- package/dist/cjs/af-stack.entry.cjs.js.map +1 -0
- package/dist/cjs/af-switch.cjs.entry.js +3 -3
- package/dist/cjs/af-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/af-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/af-tab.cjs.entry.js +2 -2
- package/dist/cjs/af-tag.cjs.entry.js +3 -3
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
- package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
- package/dist/cjs/af-text-image.cjs.entry.js +1 -1
- package/dist/cjs/af-textarea.cjs.entry.js +3 -3
- package/dist/cjs/af-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/af-theme-override.cjs.entry.js +23 -0
- package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -0
- package/dist/cjs/af-typography-lockup.cjs.entry.js +22 -9
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/af-video-container.cjs.entry.js +2 -2
- package/dist/cjs/af-visually-hidden.cjs.entry.js +23 -0
- package/dist/cjs/af-visually-hidden.entry.cjs.js.map +1 -0
- package/dist/cjs/affinda.cjs.js +2 -2
- package/dist/cjs/{index-ybEiHT0b.js → index-n-fnurTP.js} +19 -2
- package/dist/cjs/index-n-fnurTP.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +14 -2
- package/dist/collection/components/af-accordion/af-accordion.css +21 -0
- package/dist/collection/components/af-accordion/af-accordion.js +207 -0
- package/dist/collection/components/af-accordion/af-accordion.js.map +1 -0
- package/dist/collection/components/af-accordion-item/af-accordion-item.css +86 -0
- package/dist/collection/components/af-accordion-item/af-accordion-item.js +224 -0
- package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +1 -0
- package/dist/collection/components/af-button/af-button.js +1 -1
- package/dist/collection/components/af-button/af-button.js.map +1 -1
- package/dist/collection/components/af-button-group/af-button-group.js +1 -1
- package/dist/collection/components/af-card/af-card.css +11 -0
- package/dist/collection/components/af-card/af-card.js +1 -1
- package/dist/collection/components/af-center/af-center.css +9 -0
- package/dist/collection/components/af-center/af-center.js +119 -0
- package/dist/collection/components/af-center/af-center.js.map +1 -0
- package/dist/collection/components/af-checkbox/af-checkbox.css +31 -18
- package/dist/collection/components/af-checkbox/af-checkbox.js +1 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -1
- package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
- package/dist/collection/components/af-divider/af-divider.css +25 -0
- package/dist/collection/components/af-divider/af-divider.js +104 -0
- package/dist/collection/components/af-divider/af-divider.js.map +1 -0
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
- package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
- package/dist/collection/components/af-fieldset/af-fieldset.css +2 -1
- package/dist/collection/components/af-fieldset/af-fieldset.js +1 -1
- package/dist/collection/components/af-footer/af-footer.js +1 -1
- package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
- package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
- package/dist/collection/components/af-grid/af-grid.css +37 -0
- package/dist/collection/components/af-grid/af-grid.js +204 -0
- package/dist/collection/components/af-grid/af-grid.js.map +1 -0
- package/dist/collection/components/af-heading/af-heading.css +5 -1
- package/dist/collection/components/af-heading/af-heading.js +9 -9
- package/dist/collection/components/af-heading/af-heading.js.map +1 -1
- package/dist/collection/components/af-icon/af-icon.js +1 -1
- package/dist/collection/components/af-icon-box/af-icon-box.js +2 -2
- package/dist/collection/components/af-icon-text/af-icon-text.js +2 -2
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -1
- package/dist/collection/components/af-image/af-image.js +1 -1
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -1
- package/dist/collection/components/af-inline/af-inline.css +9 -0
- package/dist/collection/components/af-inline/af-inline.js +166 -0
- package/dist/collection/components/af-inline/af-inline.js.map +1 -0
- package/dist/collection/components/af-input/af-input.css +25 -25
- package/dist/collection/components/af-input/af-input.js +1 -1
- package/dist/collection/components/af-logo/af-logo.css +1 -1
- package/dist/collection/components/af-logo/af-logo.js +1 -1
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.css +21 -0
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +185 -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.css +146 -0
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +265 -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 -1
- package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -1
- package/dist/collection/components/af-nav-item/af-nav-item.css +21 -15
- package/dist/collection/components/af-nav-item/af-nav-item.js +2 -2
- package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -1
- package/dist/collection/components/af-nav-menu/af-nav-menu.css +4 -4
- package/dist/collection/components/af-nav-menu/af-nav-menu.js +2 -2
- package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -1
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +5 -5
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +3 -2
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -1
- package/dist/collection/components/af-navbar/af-navbar.css +144 -46
- package/dist/collection/components/af-navbar/af-navbar.js +36 -2
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
- package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
- package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
- package/dist/collection/components/af-radio/af-radio.css +35 -18
- package/dist/collection/components/af-radio/af-radio.js +17 -7
- package/dist/collection/components/af-radio/af-radio.js.map +1 -1
- package/dist/collection/components/af-section/af-section.css +139 -0
- package/dist/collection/components/af-section/af-section.js +4 -4
- package/dist/collection/components/af-section/af-section.js.map +1 -1
- package/dist/collection/components/af-show/af-show.css +78 -0
- package/dist/collection/components/af-show/af-show.js +88 -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 -1
- package/dist/collection/components/af-spacer/af-spacer.css +10 -0
- package/dist/collection/components/af-spacer/af-spacer.js +120 -0
- package/dist/collection/components/af-spacer/af-spacer.js.map +1 -0
- package/dist/collection/components/af-split-section/af-split-section.css +4 -0
- package/dist/collection/components/af-split-section/af-split-section.js +4 -4
- package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
- package/dist/collection/components/af-stack/af-stack.css +9 -0
- package/dist/collection/components/af-stack/af-stack.js +197 -0
- package/dist/collection/components/af-stack/af-stack.js.map +1 -0
- package/dist/collection/components/af-switch/af-switch.css +15 -9
- package/dist/collection/components/af-switch/af-switch.js +1 -1
- package/dist/collection/components/af-tab/af-tab.js +1 -1
- package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -1
- package/dist/collection/components/af-tag/af-tag.js +2 -2
- package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
- package/dist/collection/components/af-text/af-text.css +2 -0
- package/dist/collection/components/af-text/af-text.js +8 -11
- package/dist/collection/components/af-text/af-text.js.map +1 -1
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
- package/dist/collection/components/af-textarea/af-textarea.css +22 -21
- package/dist/collection/components/af-textarea/af-textarea.js +1 -1
- package/dist/collection/components/af-theme-override/af-theme-override.css +376 -0
- package/dist/collection/components/af-theme-override/af-theme-override.js +60 -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.css +57 -20
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +104 -14
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
- package/dist/collection/components/af-video-container/af-video-container.js +1 -1
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.css +23 -0
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +57 -0
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +1 -0
- package/dist/components/af-accordion-item.d.ts +11 -0
- package/dist/components/af-accordion-item.js +133 -0
- package/dist/components/af-accordion-item.js.map +1 -0
- package/dist/components/{af-hero-section.d.ts → af-accordion.d.ts} +4 -4
- package/dist/components/af-accordion.js +128 -0
- package/dist/components/af-accordion.js.map +1 -0
- package/dist/components/af-button-group.js +1 -1
- package/dist/components/af-card.js +1 -1
- package/dist/components/af-center.d.ts +11 -0
- package/dist/components/af-center.js +66 -0
- package/dist/components/af-center.js.map +1 -0
- package/dist/components/af-checkbox.js +1 -1
- package/dist/components/af-client-carousel.js +1 -1
- package/dist/components/af-contact-item.js +1 -1
- package/dist/components/af-divider.d.ts +11 -0
- package/dist/components/af-divider.js +66 -0
- package/dist/components/af-divider.js.map +1 -0
- package/dist/components/af-feature-accordion.js +2 -2
- package/dist/components/af-feature-card.js +1 -1
- package/dist/components/af-feature-grid.js +2 -2
- package/dist/components/af-fieldset.js +1 -1
- package/dist/components/af-footer-column.js +1 -1
- package/dist/components/af-footer-link.js +1 -1
- package/dist/components/af-footer.js +1 -1
- package/dist/components/af-grid-callout.js +1 -1
- package/dist/components/af-grid.d.ts +11 -0
- package/dist/components/af-grid.js +71 -0
- package/dist/components/af-grid.js.map +1 -0
- package/dist/components/af-heading.js +1 -1
- package/dist/components/af-icon-box.js +1 -1
- package/dist/components/af-icon-text.js +3 -3
- package/dist/components/af-illustrated-card.js +1 -1
- package/dist/components/af-image.js +1 -1
- package/dist/components/af-in-page-banner.js +1 -1
- package/dist/components/af-inline.d.ts +11 -0
- package/dist/components/af-inline.js +83 -0
- package/dist/components/af-inline.js.map +1 -0
- package/dist/components/af-input.js +1 -1
- package/dist/components/af-logo-well.js +1 -1
- package/dist/components/af-logo.js +1 -1
- package/dist/components/af-nav-accordion-item.d.ts +11 -0
- package/dist/components/af-nav-accordion-item.js +117 -0
- package/dist/components/af-nav-accordion-item.js.map +1 -0
- package/dist/components/af-nav-accordion.d.ts +11 -0
- package/dist/components/af-nav-accordion.js +106 -0
- package/dist/components/af-nav-accordion.js.map +1 -0
- package/dist/components/af-nav-card.js +2 -3
- package/dist/components/af-nav-card.js.map +1 -1
- package/dist/components/af-nav-item.js +1 -1
- package/dist/components/af-nav-menu-nest.js +4 -4
- package/dist/components/af-nav-menu-nest.js.map +1 -1
- package/dist/components/af-nav-menu.js +3 -4
- package/dist/components/af-nav-menu.js.map +1 -1
- package/dist/components/af-navbar.js +1 -1
- package/dist/components/af-number-badge.js +1 -1
- package/dist/components/af-progress-line.js +1 -1
- package/dist/components/af-radio.js +1 -1
- package/dist/components/af-section.js +3 -3
- package/dist/components/af-section.js.map +1 -1
- package/dist/components/af-show.d.ts +11 -0
- package/dist/components/af-show.js +46 -0
- package/dist/components/af-show.js.map +1 -0
- package/dist/components/af-social-link.js +1 -1
- package/dist/components/af-spacer.d.ts +11 -0
- package/dist/components/af-spacer.js +69 -0
- package/dist/components/af-spacer.js.map +1 -0
- package/dist/components/af-split-section.js +3 -3
- package/dist/components/af-split-section.js.map +1 -1
- package/dist/components/af-stack.d.ts +11 -0
- package/dist/components/af-stack.js +90 -0
- package/dist/components/af-stack.js.map +1 -0
- package/dist/components/af-switch.js +1 -1
- package/dist/components/af-tab-bar.js +1 -1
- package/dist/components/af-tab.js +1 -1
- package/dist/components/af-tag.js +1 -1
- package/dist/components/af-testimonial-carousel.js +2 -2
- package/dist/components/af-testimonial-stat.js +3 -3
- package/dist/components/af-testimonial.js +3 -3
- package/dist/components/af-text-image-nest.js +1 -1
- package/dist/components/af-text-image.js +1 -1
- package/dist/components/af-text.js +1 -1
- package/dist/components/af-textarea.js +1 -1
- package/dist/components/af-theme-override.d.ts +11 -0
- package/dist/components/af-theme-override.js +44 -0
- package/dist/components/af-theme-override.js.map +1 -0
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/af-video-container.js +1 -1
- package/dist/components/af-visually-hidden.d.ts +11 -0
- package/dist/components/af-visually-hidden.js +45 -0
- package/dist/components/af-visually-hidden.js.map +1 -0
- package/dist/components/index.js +18 -18
- package/dist/components/p-BBVslKpK.js +59 -0
- package/dist/components/p-BBVslKpK.js.map +1 -0
- package/dist/components/{p-C0f6y_zg.js → p-BQz_OQzK.js} +4 -4
- package/dist/components/{p-C0f6y_zg.js.map → p-BQz_OQzK.js.map} +1 -1
- package/dist/components/{p-DZ-qivXD.js → p-BUoRUEpQ.js} +3 -3
- package/dist/components/{p-DZ-qivXD.js.map → p-BUoRUEpQ.js.map} +1 -1
- package/dist/components/{p-Cqp0DdgH.js → p-Bi5ytUXg.js} +4 -4
- package/dist/components/{p-Cqp0DdgH.js.map → p-Bi5ytUXg.js.map} +1 -1
- package/dist/components/{p-xDRMXxWJ.js → p-BvIMp8pz.js} +3 -3
- package/dist/components/{p-xDRMXxWJ.js.map → p-BvIMp8pz.js.map} +1 -1
- package/dist/components/{p-Dvi1lz3x.js → p-C8_mFdv5.js} +4 -4
- package/dist/components/{p-Dvi1lz3x.js.map → p-C8_mFdv5.js.map} +1 -1
- package/dist/components/{p-ByHIHg3l.js → p-CAYG3IzP.js} +3 -3
- package/dist/components/{p-ByHIHg3l.js.map → p-CAYG3IzP.js.map} +1 -1
- package/dist/components/{p-D99aXp3U.js → p-CLmCtN_R.js} +4 -4
- package/dist/components/p-CLmCtN_R.js.map +1 -0
- package/dist/components/p-CUSad8vm.js +74 -0
- package/dist/components/p-CUSad8vm.js.map +1 -0
- package/dist/components/p-ChgW4Hec.js +100 -0
- package/dist/components/p-ChgW4Hec.js.map +1 -0
- package/dist/components/{p-CCAq3Zj6.js → p-CnNV1GZE.js} +5 -5
- package/dist/components/{p-CCAq3Zj6.js.map → p-CnNV1GZE.js.map} +1 -1
- package/dist/components/p-CxngDK-N.js.map +1 -1
- package/dist/components/{p-wwnR-hlX.js → p-D66k2SSB.js} +4 -4
- package/dist/components/{p-wwnR-hlX.js.map → p-D66k2SSB.js.map} +1 -1
- package/dist/components/p-DBnL9UHx.js.map +1 -1
- package/dist/components/{p-DOkvrcIE.js → p-DReSTue0.js} +6 -8
- package/dist/components/p-DReSTue0.js.map +1 -0
- package/dist/components/p-DUQu3N38.js +70 -0
- package/dist/components/p-DUQu3N38.js.map +1 -0
- package/dist/components/{p-DhdRcSve.js → p-DZ6UMG8G.js} +3 -3
- package/dist/components/{p-DhdRcSve.js.map → p-DZ6UMG8G.js.map} +1 -1
- package/dist/components/p-Dd7Lt2QL.js +81 -0
- package/dist/components/p-Dd7Lt2QL.js.map +1 -0
- package/dist/components/p-DkvJiyn0.js +73 -0
- package/dist/components/p-DkvJiyn0.js.map +1 -0
- package/dist/components/p-Dvo_cxk-.js +141 -0
- package/dist/components/p-Dvo_cxk-.js.map +1 -0
- package/dist/components/{p-CZyCImor.js → p-Dwhi37rN.js} +4 -4
- package/dist/components/p-Dwhi37rN.js.map +1 -0
- package/dist/components/{p-l95vl6T1.js → p-Ws-qvw9w.js} +3 -3
- package/dist/components/{p-l95vl6T1.js.map → p-Ws-qvw9w.js.map} +1 -1
- package/dist/components/p-hOnulRmz.js +84 -0
- package/dist/components/p-hOnulRmz.js.map +1 -0
- package/dist/components/{p-BRsO61_R.js → p-zDoPXonz.js} +4 -4
- package/dist/components/p-zDoPXonz.js.map +1 -0
- package/dist/esm/af-accordion-item.entry.js +103 -0
- package/dist/esm/af-accordion-item.entry.js.map +1 -0
- package/dist/esm/af-accordion.entry.js +100 -0
- package/dist/esm/af-accordion.entry.js.map +1 -0
- package/dist/esm/af-aspect-ratio.entry.js +1 -1
- package/dist/esm/af-button-group.entry.js +2 -2
- package/dist/esm/af-button.entry.js +1 -1
- package/dist/esm/af-button.entry.js.map +1 -1
- package/dist/esm/af-card.entry.js +3 -3
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-center.entry.js +40 -0
- package/dist/esm/af-center.entry.js.map +1 -0
- package/dist/esm/af-checkbox.entry.js +3 -3
- package/dist/esm/af-checkbox.entry.js.map +1 -1
- package/dist/esm/af-client-carousel.entry.js +2 -2
- package/dist/esm/af-color-swatch.entry.js +1 -1
- package/dist/esm/af-contact-item.entry.js +2 -2
- package/dist/esm/af-container.entry.js +1 -1
- package/dist/esm/af-divider.entry.js +41 -0
- package/dist/esm/af-divider.entry.js.map +1 -0
- package/dist/esm/af-feature-accordion.entry.js +3 -3
- package/dist/esm/af-feature-card.entry.js +1 -1
- package/dist/esm/af-feature-grid.entry.js +2 -2
- package/dist/esm/af-fieldset.entry.js +3 -3
- package/dist/esm/af-fieldset.entry.js.map +1 -1
- package/dist/esm/af-footer-column.entry.js +2 -2
- package/dist/esm/af-footer-link.entry.js +2 -2
- package/dist/esm/af-footer.entry.js +2 -2
- package/dist/esm/af-grid-callout.entry.js +1 -1
- package/dist/esm/af-grid.entry.js +42 -0
- 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 -1
- package/dist/esm/af-heading_5.entry.js +17 -17
- package/dist/esm/af-icon-box.entry.js +2 -2
- package/dist/esm/af-icon-button.entry.js +1 -1
- package/dist/esm/af-icon-text.entry.js +2 -2
- package/dist/esm/af-icon.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js +2 -2
- package/dist/esm/af-image.entry.js +2 -2
- package/dist/esm/af-in-page-banner.entry.js +2 -2
- package/dist/esm/af-inline.entry.js +56 -0
- package/dist/esm/af-inline.entry.js.map +1 -0
- package/dist/esm/af-input.entry.js +3 -3
- package/dist/esm/af-input.entry.js.map +1 -1
- package/dist/esm/af-logo-well.entry.js +2 -2
- package/dist/esm/af-nav-accordion-item.entry.js +84 -0
- package/dist/esm/af-nav-accordion-item.entry.js.map +1 -0
- package/dist/esm/af-nav-accordion.entry.js +80 -0
- package/dist/esm/af-nav-accordion.entry.js.map +1 -0
- package/dist/esm/af-nav-card.entry.js +2 -2
- package/dist/esm/af-nav-card.entry.js.map +1 -1
- package/dist/esm/af-nav-menu-nest.entry.js +4 -3
- package/dist/esm/af-nav-menu-nest.entry.js.map +1 -1
- package/dist/esm/af-nav-menu.entry.js +3 -3
- package/dist/esm/af-nav-menu.entry.js.map +1 -1
- package/dist/esm/af-number-badge.entry.js +2 -2
- package/dist/esm/af-progress-line.entry.js +3 -3
- package/dist/esm/af-radio.entry.js +15 -6
- package/dist/esm/af-radio.entry.js.map +1 -1
- package/dist/esm/af-section.entry.js +4 -4
- package/dist/esm/af-section.entry.js.map +1 -1
- package/dist/esm/af-show.entry.js +21 -0
- package/dist/esm/af-show.entry.js.map +1 -0
- package/dist/esm/af-social-link.entry.js +2 -2
- package/dist/esm/af-spacer.entry.js +43 -0
- package/dist/esm/af-spacer.entry.js.map +1 -0
- package/dist/esm/af-split-section.entry.js +4 -4
- package/dist/esm/af-split-section.entry.js.map +1 -1
- package/dist/esm/af-stack.entry.js +62 -0
- package/dist/esm/af-stack.entry.js.map +1 -0
- package/dist/esm/af-switch.entry.js +3 -3
- package/dist/esm/af-switch.entry.js.map +1 -1
- package/dist/esm/af-tab-bar.entry.js +2 -2
- package/dist/esm/af-tab.entry.js +2 -2
- package/dist/esm/af-tag.entry.js +3 -3
- package/dist/esm/af-testimonial-carousel.entry.js +2 -2
- package/dist/esm/af-testimonial-stat.entry.js +2 -2
- package/dist/esm/af-testimonial.entry.js +3 -3
- package/dist/esm/af-text-image-nest.entry.js +2 -2
- package/dist/esm/af-text-image.entry.js +1 -1
- package/dist/esm/af-textarea.entry.js +3 -3
- package/dist/esm/af-textarea.entry.js.map +1 -1
- package/dist/esm/af-theme-override.entry.js +21 -0
- package/dist/esm/af-theme-override.entry.js.map +1 -0
- package/dist/esm/af-typography-lockup.entry.js +22 -9
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/af-video-container.entry.js +2 -2
- package/dist/esm/af-visually-hidden.entry.js +21 -0
- package/dist/esm/af-visually-hidden.entry.js.map +1 -0
- package/dist/esm/affinda.js +3 -3
- package/dist/esm/{index-BmU_CFQ4.js → index-B0LVveHp.js} +19 -2
- package/dist/esm/index-B0LVveHp.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/af-accordion/af-accordion.d.ts +55 -0
- package/dist/types/components/af-accordion-item/af-accordion-item.d.ts +44 -0
- package/dist/types/components/af-button/af-button.d.ts +1 -1
- package/dist/types/components/af-center/af-center.d.ts +28 -0
- package/dist/types/components/af-divider/af-divider.d.ts +20 -0
- package/dist/types/components/af-grid/af-grid.d.ts +38 -0
- package/dist/types/components/af-heading/af-heading.d.ts +3 -3
- package/dist/types/components/af-inline/af-inline.d.ts +30 -0
- package/dist/types/components/af-nav-accordion/af-nav-accordion.d.ts +45 -0
- package/dist/types/components/af-nav-accordion-item/af-nav-accordion-item.d.ts +57 -0
- package/dist/types/components/af-navbar/af-navbar.d.ts +14 -0
- package/dist/types/components/af-radio/af-radio.d.ts +4 -1
- package/dist/types/components/af-section/af-section.d.ts +1 -1
- package/dist/types/components/af-show/af-show.d.ts +27 -0
- package/dist/types/components/af-spacer/af-spacer.d.ts +29 -0
- package/dist/types/components/af-split-section/af-split-section.d.ts +1 -1
- package/dist/types/components/af-stack/af-stack.d.ts +37 -0
- package/dist/types/components/af-text/af-text.d.ts +3 -3
- package/dist/types/components/af-theme-override/af-theme-override.d.ts +18 -0
- package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +19 -4
- package/dist/types/components/af-visually-hidden/af-visually-hidden.d.ts +15 -0
- package/dist/types/components.d.ts +1006 -138
- package/package.json +7 -7
- package/dist/affinda/af-hero-section.entry.esm.js.map +0 -1
- package/dist/affinda/p-231ba1d0.entry.js +0 -2
- package/dist/affinda/p-3f691578.entry.js +0 -2
- package/dist/affinda/p-3f691578.entry.js.map +0 -1
- package/dist/affinda/p-53ae16fe.entry.js +0 -2
- package/dist/affinda/p-53b5149d.entry.js +0 -2
- package/dist/affinda/p-53b5149d.entry.js.map +0 -1
- package/dist/affinda/p-57713942.entry.js +0 -2
- package/dist/affinda/p-57713942.entry.js.map +0 -1
- package/dist/affinda/p-697bf0b7.entry.js +0 -2
- package/dist/affinda/p-6b2d0ff4.entry.js +0 -2
- package/dist/affinda/p-72f02343.entry.js +0 -2
- package/dist/affinda/p-7f20fbe0.entry.js +0 -2
- package/dist/affinda/p-98901734.entry.js +0 -2
- package/dist/affinda/p-9f470d8b.entry.js +0 -2
- package/dist/affinda/p-9f470d8b.entry.js.map +0 -1
- package/dist/affinda/p-BmU_CFQ4.js.map +0 -1
- package/dist/affinda/p-aaa28806.entry.js +0 -2
- package/dist/affinda/p-aaa28806.entry.js.map +0 -1
- package/dist/affinda/p-be049760.entry.js +0 -2
- package/dist/affinda/p-c0ee2420.entry.js +0 -2
- package/dist/affinda/p-c298b370.entry.js +0 -2
- package/dist/affinda/p-c3e31251.entry.js +0 -2
- package/dist/affinda/p-ce3356f1.entry.js +0 -2
- package/dist/affinda/p-df148383.entry.js +0 -2
- package/dist/affinda/p-df148383.entry.js.map +0 -1
- package/dist/affinda/p-ea06c83b.entry.js +0 -2
- package/dist/cjs/af-hero-section.cjs.entry.js +0 -30
- package/dist/cjs/af-hero-section.entry.cjs.js.map +0 -1
- package/dist/cjs/index-ybEiHT0b.js.map +0 -1
- package/dist/collection/components/af-hero-section/af-hero-section.css +0 -175
- package/dist/collection/components/af-hero-section/af-hero-section.js +0 -186
- package/dist/collection/components/af-hero-section/af-hero-section.js.map +0 -1
- package/dist/components/af-hero-section.js +0 -69
- package/dist/components/af-hero-section.js.map +0 -1
- package/dist/components/p-BMp8QbY-.js +0 -68
- package/dist/components/p-BMp8QbY-.js.map +0 -1
- package/dist/components/p-BRN73McC.js +0 -59
- package/dist/components/p-BRN73McC.js.map +0 -1
- package/dist/components/p-BRsO61_R.js.map +0 -1
- package/dist/components/p-Bh4YP9vE.js +0 -74
- package/dist/components/p-Bh4YP9vE.js.map +0 -1
- package/dist/components/p-Br0VERLB.js +0 -81
- package/dist/components/p-Br0VERLB.js.map +0 -1
- package/dist/components/p-CZyCImor.js.map +0 -1
- package/dist/components/p-C_M8AOaj.js +0 -65
- package/dist/components/p-C_M8AOaj.js.map +0 -1
- package/dist/components/p-D99aXp3U.js.map +0 -1
- package/dist/components/p-DOkvrcIE.js.map +0 -1
- package/dist/components/p-DW5DrJlQ.js +0 -70
- package/dist/components/p-DW5DrJlQ.js.map +0 -1
- package/dist/components/p-DzkSL2bi.js +0 -141
- package/dist/components/p-DzkSL2bi.js.map +0 -1
- package/dist/components/p-_bQXTXUb.js +0 -98
- package/dist/components/p-_bQXTXUb.js.map +0 -1
- package/dist/esm/af-hero-section.entry.js +0 -28
- package/dist/esm/af-hero-section.entry.js.map +0 -1
- package/dist/esm/index-BmU_CFQ4.js.map +0 -1
- package/dist/types/components/af-hero-section/af-hero-section.d.ts +0 -27
- /package/dist/affinda/{p-acbbe39a.entry.js.map → p-01993cc8.entry.js.map} +0 -0
- /package/dist/affinda/{p-a4e4eb4d.entry.js.map → p-04de9a0a.entry.js.map} +0 -0
- /package/dist/affinda/{p-a6365e94.entry.js.map → p-080cf84f.entry.js.map} +0 -0
- /package/dist/affinda/{p-b3b0ed0c.entry.js.map → p-0b5bc045.entry.js.map} +0 -0
- /package/dist/affinda/{p-864778d0.entry.js.map → p-0d97a3c5.entry.js.map} +0 -0
- /package/dist/affinda/{p-2b4dc22c.entry.js.map → p-16f808d5.entry.js.map} +0 -0
- /package/dist/affinda/{p-52ab3bf0.entry.js.map → p-19eb7cb9.entry.js.map} +0 -0
- /package/dist/affinda/{p-1d65fd18.entry.js.map → p-2e750d43.entry.js.map} +0 -0
- /package/dist/affinda/{p-861f4f57.entry.js.map → p-331f9627.entry.js.map} +0 -0
- /package/dist/affinda/{p-77bf8a81.entry.js.map → p-3d2fb635.entry.js.map} +0 -0
- /package/dist/affinda/{p-e5af21c2.entry.js.map → p-3e16bb11.entry.js.map} +0 -0
- /package/dist/affinda/{p-f45b0060.entry.js.map → p-63314e14.entry.js.map} +0 -0
- /package/dist/affinda/{p-45e1923c.entry.js.map → p-68f1f661.entry.js.map} +0 -0
- /package/dist/affinda/{p-b17735c9.entry.js.map → p-6af1634a.entry.js.map} +0 -0
- /package/dist/affinda/{p-8ea22b5d.entry.js.map → p-7792cd53.entry.js.map} +0 -0
- /package/dist/affinda/{p-85a78bcf.entry.js.map → p-8f24dfe3.entry.js.map} +0 -0
- /package/dist/affinda/{p-44b25840.entry.js.map → p-920e6d30.entry.js.map} +0 -0
- /package/dist/affinda/{p-10801ee1.entry.js.map → p-96df0106.entry.js.map} +0 -0
- /package/dist/affinda/{p-a36abb83.entry.js.map → p-9e21b6c1.entry.js.map} +0 -0
- /package/dist/affinda/{p-c11088fa.entry.js.map → p-a2c71cad.entry.js.map} +0 -0
- /package/dist/affinda/{p-96eac3af.entry.js.map → p-adacb8c4.entry.js.map} +0 -0
- /package/dist/affinda/{p-e5d9913c.entry.js.map → p-b10103f4.entry.js.map} +0 -0
- /package/dist/affinda/{p-1d9e532f.entry.js.map → p-bd7170d7.entry.js.map} +0 -0
- /package/dist/affinda/{p-0cd160a4.entry.js.map → p-cc4e73dc.entry.js.map} +0 -0
- /package/dist/affinda/{p-3d3c9f62.entry.js.map → p-d51c4b1b.entry.js.map} +0 -0
- /package/dist/affinda/{p-53ae16fe.entry.js.map → p-d6e55455.entry.js.map} +0 -0
- /package/dist/affinda/{p-81571029.entry.js.map → p-d90366f6.entry.js.map} +0 -0
- /package/dist/affinda/{p-31d4c1a4.entry.js.map → p-db9249e4.entry.js.map} +0 -0
- /package/dist/affinda/{p-5bbf2c8c.entry.js.map → p-e305c2b7.entry.js.map} +0 -0
- /package/dist/affinda/{p-71144002.entry.js.map → p-e7d8d909.entry.js.map} +0 -0
- /package/dist/affinda/{p-425253ee.entry.js.map → p-f7a13cd3.entry.js.map} +0 -0
- /package/dist/affinda/{p-72f02343.entry.js.map → p-fd772813.entry.js.map} +0 -0
- /package/dist/affinda/{p-6b2d0ff4.entry.js.map → p-fefe9597.entry.js.map} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-B0LVveHp.js';
|
|
2
|
+
|
|
3
|
+
const afAccordionItemCss = ":host{display:block;width:100%}.accordion-item{width:100%}.trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid var(--af-background-border-subtle, #e8eeed);cursor:pointer;font:inherit;text-align:left;color:var(--af-typography-body-dark, #14343b);transition:background-color 0.2s ease}.trigger:hover:not(:disabled){background-color:var(--af-background-base-hover, rgba(20, 52, 59, 0.02))}.trigger:focus-visible{outline:2px solid var(--af-background-border-active, #8a7049);outline-offset:-2px}.trigger:disabled{cursor:not-allowed;opacity:0.5}.trigger-content{flex:1;min-width:0}.chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-typography-body-dark, #14343b);transition:transform 0.3s ease}.chevron.is-open{transform:rotate(180deg)}.content-wrapper{overflow:hidden;transition:max-height 0.3s ease}.content{padding:0}:host(.is-disabled) .trigger{cursor:not-allowed;opacity:0.5}:host(.is-disabled) .trigger:hover{background-color:transparent}:host(.is-open) .trigger{border-bottom-color:transparent}";
|
|
4
|
+
|
|
5
|
+
const AfAccordionItem = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.accordionToggle = createEvent(this, "af-accordion-toggle");
|
|
9
|
+
/**
|
|
10
|
+
* Whether this item is currently expanded
|
|
11
|
+
*/
|
|
12
|
+
this.open = false;
|
|
13
|
+
/**
|
|
14
|
+
* Whether this item is disabled (cannot be toggled)
|
|
15
|
+
*/
|
|
16
|
+
this.disabled = false;
|
|
17
|
+
this.contentHeight = 0;
|
|
18
|
+
this.handleTriggerClick = () => {
|
|
19
|
+
if (!this.disabled) {
|
|
20
|
+
this.toggle();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
handleOpenChange(newValue) {
|
|
25
|
+
if (newValue) {
|
|
26
|
+
this.measureContent();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
componentDidLoad() {
|
|
30
|
+
// #region agent log
|
|
31
|
+
fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ location: 'af-accordion-item.tsx:componentDidLoad', message: 'Component loaded', data: { itemId: this.itemId, hasShadowRoot: !!this.el.shadowRoot }, timestamp: Date.now(), sessionId: 'debug-session', hypothesisId: 'E' }) }).catch(() => { });
|
|
32
|
+
// #endregion
|
|
33
|
+
// #region agent log
|
|
34
|
+
const shadowRoot = this.el.shadowRoot;
|
|
35
|
+
const triggerSlot = shadowRoot?.querySelector('slot[name="trigger"]');
|
|
36
|
+
const assignedNodes = triggerSlot?.assignedNodes() || [];
|
|
37
|
+
const assignedElements = triggerSlot?.assignedElements() || [];
|
|
38
|
+
fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ location: 'af-accordion-item.tsx:componentDidLoad:slotCheck', message: 'Checking trigger slot content', data: { hasTriggerSlot: !!triggerSlot, assignedNodesCount: assignedNodes.length, assignedElementsCount: assignedElements.length, assignedContent: assignedElements.map(el => ({ tagName: el.tagName, textContent: el.textContent })) }, timestamp: Date.now(), sessionId: 'debug-session', hypothesisId: 'A' }) }).catch(() => { });
|
|
39
|
+
// #endregion
|
|
40
|
+
// #region agent log
|
|
41
|
+
const triggerContent = shadowRoot?.querySelector('.trigger-content');
|
|
42
|
+
const triggerContentStyles = triggerContent ? getComputedStyle(triggerContent) : null;
|
|
43
|
+
fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ location: 'af-accordion-item.tsx:componentDidLoad:styleCheck', message: 'Checking trigger-content styles', data: { hasTriggerContent: !!triggerContent, width: triggerContent?.offsetWidth, height: triggerContent?.offsetHeight, color: triggerContentStyles?.color, display: triggerContentStyles?.display, visibility: triggerContentStyles?.visibility }, timestamp: Date.now(), sessionId: 'debug-session', hypothesisId: 'B,C' }) }).catch(() => { });
|
|
44
|
+
// #endregion
|
|
45
|
+
// #region agent log
|
|
46
|
+
const lightDomChildren = Array.from(this.el.children);
|
|
47
|
+
const slottedTrigger = this.el.querySelector('[slot="trigger"]');
|
|
48
|
+
fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ location: 'af-accordion-item.tsx:componentDidLoad:lightDomCheck', message: 'Checking light DOM for slotted content', data: { lightDomChildCount: lightDomChildren.length, lightDomTags: lightDomChildren.map(c => c.tagName), hasSlottedTrigger: !!slottedTrigger, slottedTriggerText: slottedTrigger?.textContent }, timestamp: Date.now(), sessionId: 'debug-session', hypothesisId: 'D' }) }).catch(() => { });
|
|
49
|
+
// #endregion
|
|
50
|
+
if (this.open) {
|
|
51
|
+
this.measureContent();
|
|
52
|
+
}
|
|
53
|
+
// Set up ResizeObserver to handle dynamic content changes
|
|
54
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
55
|
+
if (this.open && this.contentRef) {
|
|
56
|
+
this.contentHeight = this.contentRef.scrollHeight;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
if (this.contentRef) {
|
|
60
|
+
this.resizeObserver.observe(this.contentRef);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
disconnectedCallback() {
|
|
64
|
+
// Clean up ResizeObserver
|
|
65
|
+
if (this.resizeObserver) {
|
|
66
|
+
this.resizeObserver.disconnect();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Programmatically toggle the accordion item
|
|
71
|
+
*/
|
|
72
|
+
async toggle() {
|
|
73
|
+
if (!this.disabled) {
|
|
74
|
+
this.open = !this.open;
|
|
75
|
+
this.accordionToggle.emit({ itemId: this.itemId, open: this.open });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
measureContent() {
|
|
79
|
+
// Use requestAnimationFrame to ensure DOM has updated before measuring
|
|
80
|
+
requestAnimationFrame(() => {
|
|
81
|
+
if (this.contentRef) {
|
|
82
|
+
this.contentHeight = this.contentRef.scrollHeight;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
render() {
|
|
87
|
+
// #region agent log
|
|
88
|
+
fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ location: 'af-accordion-item.tsx:render', message: 'Render called', data: { itemId: this.itemId, open: this.open }, timestamp: Date.now(), sessionId: 'debug-session', hypothesisId: 'E' }) }).catch(() => { });
|
|
89
|
+
// #endregion
|
|
90
|
+
const contentStyle = {
|
|
91
|
+
maxHeight: this.open ? `${this.contentHeight}px` : '0px'
|
|
92
|
+
};
|
|
93
|
+
return (h(Host, { key: '3fe538b657584129ecdce848caf5a9425287a354', class: { 'is-open': this.open, 'is-disabled': this.disabled } }, h("div", { key: '6d1766d97738f60f1d21a7f623ef732a15a9e911', class: "accordion-item" }, h("button", { key: '8782c20a4d74f655786586d7d7fd4255a6fc2806', class: "trigger", onClick: this.handleTriggerClick, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { key: '54aff551c3547148f92c26bc51a42417a36ff4d3', class: "trigger-content" }, h("slot", { key: '5692b3c1b11ff38b3bde8c7dd30a2c2a2e1b5c67', name: "trigger" })), h("div", { key: '88d0a967e3ed518d8355c824f226ad21abf96c0f', class: { 'chevron': true, 'is-open': this.open } }, h("svg", { key: 'd879b4f0a2b6b4de5782c783d2202fb6c9cb73f8', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { key: '590eaf035dc51886a303dee77152c64c227e9ccb', d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '02c882442a9cbe57b4888b07c95f2b6f252f1cc7', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '6975a215a16bcfb27cc76aba7daed2a19d0f143d', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '9b7d50813485ff195d0105bf2d97d1c032ab5aff' }))))));
|
|
94
|
+
}
|
|
95
|
+
get el() { return getElement(this); }
|
|
96
|
+
static get watchers() { return {
|
|
97
|
+
"open": ["handleOpenChange"]
|
|
98
|
+
}; }
|
|
99
|
+
};
|
|
100
|
+
AfAccordionItem.style = afAccordionItemCss;
|
|
101
|
+
|
|
102
|
+
export { AfAccordionItem as af_accordion_item };
|
|
103
|
+
//# sourceMappingURL=af-accordion-item.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-accordion-item.entry.js","sources":["src/components/af-accordion-item/af-accordion-item.css?tag=af-accordion-item&encapsulation=shadow","src/components/af-accordion-item/af-accordion-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.accordion-item {\n width: 100%;\n}\n\n/* Trigger button - clickable header */\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 16px 0;\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n cursor: pointer;\n font: inherit;\n text-align: left;\n color: var(--af-typography-body-dark, #14343b);\n transition: background-color 0.2s ease;\n}\n\n.trigger:hover:not(:disabled) {\n background-color: var(--af-background-base-hover, rgba(20, 52, 59, 0.02));\n}\n\n.trigger:focus-visible {\n outline: 2px solid var(--af-background-border-active, #8a7049);\n outline-offset: -2px;\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.trigger-content {\n flex: 1;\n min-width: 0;\n}\n\n/* Chevron indicator */\n.chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-typography-body-dark, #14343b);\n transition: transform 0.3s ease;\n}\n\n.chevron.is-open {\n transform: rotate(180deg);\n}\n\n/* Content wrapper - handles animation */\n.content-wrapper {\n overflow: hidden;\n transition: max-height 0.3s ease;\n}\n\n.content {\n padding: 0;\n}\n\n/* Disabled state */\n:host(.is-disabled) .trigger {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n:host(.is-disabled) .trigger:hover {\n background-color: transparent;\n}\n\n/* Open state styling */\n:host(.is-open) .trigger {\n border-bottom-color: transparent;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * A single collapsible accordion item with header and content.\n * Can be used standalone or within an af-accordion container.\n * \n * @slot trigger - The clickable header content\n * @slot - The collapsible content (default slot)\n */\n@Component({\n tag: 'af-accordion-item',\n styleUrl: 'af-accordion-item.css',\n shadow: true,\n})\nexport class AfAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item.\n * Used by parent af-accordion to track open state.\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Whether this item is currently expanded\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /**\n * Whether this item is disabled (cannot be toggled)\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-accordion-toggle' }) accordionToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n\n private contentRef?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n componentDidLoad() {\n // #region agent log\n fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'af-accordion-item.tsx:componentDidLoad',message:'Component loaded',data:{itemId:this.itemId,hasShadowRoot:!!this.el.shadowRoot},timestamp:Date.now(),sessionId:'debug-session',hypothesisId:'E'})}).catch(()=>{});\n // #endregion\n\n // #region agent log\n const shadowRoot = this.el.shadowRoot;\n const triggerSlot = shadowRoot?.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement | null;\n const assignedNodes = triggerSlot?.assignedNodes() || [];\n const assignedElements = triggerSlot?.assignedElements() || [];\n fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'af-accordion-item.tsx:componentDidLoad:slotCheck',message:'Checking trigger slot content',data:{hasTriggerSlot:!!triggerSlot,assignedNodesCount:assignedNodes.length,assignedElementsCount:assignedElements.length,assignedContent:assignedElements.map(el => ({tagName:(el as Element).tagName,textContent:(el as Element).textContent}))},timestamp:Date.now(),sessionId:'debug-session',hypothesisId:'A'})}).catch(()=>{});\n // #endregion\n\n // #region agent log\n const triggerContent = shadowRoot?.querySelector('.trigger-content') as HTMLElement | null;\n const triggerContentStyles = triggerContent ? getComputedStyle(triggerContent) : null;\n fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'af-accordion-item.tsx:componentDidLoad:styleCheck',message:'Checking trigger-content styles',data:{hasTriggerContent:!!triggerContent,width:triggerContent?.offsetWidth,height:triggerContent?.offsetHeight,color:triggerContentStyles?.color,display:triggerContentStyles?.display,visibility:triggerContentStyles?.visibility},timestamp:Date.now(),sessionId:'debug-session',hypothesisId:'B,C'})}).catch(()=>{});\n // #endregion\n\n // #region agent log\n const lightDomChildren = Array.from(this.el.children);\n const slottedTrigger = this.el.querySelector('[slot=\"trigger\"]');\n fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'af-accordion-item.tsx:componentDidLoad:lightDomCheck',message:'Checking light DOM for slotted content',data:{lightDomChildCount:lightDomChildren.length,lightDomTags:lightDomChildren.map(c => c.tagName),hasSlottedTrigger:!!slottedTrigger,slottedTriggerText:slottedTrigger?.textContent},timestamp:Date.now(),sessionId:'debug-session',hypothesisId:'D'})}).catch(()=>{});\n // #endregion\n\n if (this.open) {\n this.measureContent();\n }\n \n // Set up ResizeObserver to handle dynamic content changes\n this.resizeObserver = new ResizeObserver(() => {\n if (this.open && this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n \n if (this.contentRef) {\n this.resizeObserver.observe(this.contentRef);\n }\n }\n\n disconnectedCallback() {\n // Clean up ResizeObserver\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled) {\n this.open = !this.open;\n this.accordionToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n // Use requestAnimationFrame to ensure DOM has updated before measuring\n requestAnimationFrame(() => {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n }\n\n private handleTriggerClick = () => {\n if (!this.disabled) {\n this.toggle();\n }\n };\n\n render() {\n // #region agent log\n fetch('http://127.0.0.1:7242/ingest/b0b55d5e-d10c-4b52-9f1d-02a40f4c5e87',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'af-accordion-item.tsx:render',message:'Render called',data:{itemId:this.itemId,open:this.open},timestamp:Date.now(),sessionId:'debug-session',hypothesisId:'E'})}).catch(()=>{});\n // #endregion\n\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n return (\n <Host class={{ 'is-open': this.open, 'is-disabled': this.disabled }}>\n <div class=\"accordion-item\">\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n disabled={this.disabled}\n type=\"button\"\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\"></slot>\n </div>\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n <div\n id={`content-${this.itemId}`}\n class=\"content-wrapper\"\n style={contentStyle}\n aria-hidden={!this.open ? 'true' : 'false'}\n >\n <div class=\"content\" ref={(el) => (this.contentRef = el)}>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,kBAAkB,GAAG,8oCAA8oC;;MCc5pC,eAAe,GAAA,MAAA;AAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAcE;;AAEG;AACqC,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAE7D;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAOzC,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC;AAgF1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,MAAK;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,MAAM,EAAE;;AAEjB,SAAC;AA6CF;AA3HC,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE;;;IAIzB,gBAAgB,GAAA;;AAEd,QAAA,KAAK,CAAC,mEAAmE,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAC,wCAAwC,EAAC,OAAO,EAAC,kBAAkB,EAAC,IAAI,EAAC,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,EAAC,aAAa,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAC,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,MAAK,GAAC,CAAC;;;AAIrX,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU;QACrC,MAAM,WAAW,GAAG,UAAU,EAAE,aAAa,CAAC,sBAAsB,CAA2B;QAC/F,MAAM,aAAa,GAAG,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE;QACxD,MAAM,gBAAgB,GAAG,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAC9D,KAAK,CAAC,mEAAmE,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAC,kDAAkD,EAAC,OAAO,EAAC,+BAA+B,EAAC,IAAI,EAAC,EAAC,cAAc,EAAC,CAAC,CAAC,WAAW,EAAC,kBAAkB,EAAC,aAAa,CAAC,MAAM,EAAC,qBAAqB,EAAC,gBAAgB,CAAC,MAAM,EAAC,eAAe,EAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,OAAO,EAAE,EAAc,CAAC,OAAO,EAAC,WAAW,EAAE,EAAc,CAAC,WAAW,EAAC,CAAC,CAAC,EAAC,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,MAAI,GAAE,CAAC;;;QAIjkB,MAAM,cAAc,GAAG,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAuB;AAC1F,QAAA,MAAM,oBAAoB,GAAG,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;QACrF,KAAK,CAAC,mEAAmE,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAC,mDAAmD,EAAC,OAAO,EAAC,iCAAiC,EAAC,IAAI,EAAC,EAAC,iBAAiB,EAAC,CAAC,CAAC,cAAc,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,KAAK,EAAC,oBAAoB,EAAE,KAAK,EAAC,OAAO,EAAC,oBAAoB,EAAE,OAAO,EAAC,UAAU,EAAC,oBAAoB,EAAE,UAAU,EAAC,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,MAAI,GAAE,CAAC;;;AAIxjB,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAChE,KAAK,CAAC,mEAAmE,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAC,sDAAsD,EAAC,OAAO,EAAC,wCAAwC,EAAC,IAAI,EAAC,EAAC,kBAAkB,EAAC,gBAAgB,CAAC,MAAM,EAAC,YAAY,EAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAC,iBAAiB,EAAC,CAAC,CAAC,cAAc,EAAC,kBAAkB,EAAC,cAAc,EAAE,WAAW,EAAC,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,MAAI,GAAE,CAAC;;AAGlhB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,cAAc,EAAE;;;AAIvB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YAC5C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;;AAErD,SAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;;;IAIhD,oBAAoB,GAAA;;AAElB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;;;AAIpC;;AAEG;AAEH,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;;;IAI/D,cAAc,GAAA;;QAEpB,qBAAqB,CAAC,MAAK;AACzB,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;;AAErD,SAAC,CAAC;;IASJ,MAAM,GAAA;;AAEJ,QAAA,KAAK,CAAC,mEAAmE,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAC,8BAA8B,EAAC,OAAO,EAAC,eAAe,EAAC,IAAI,EAAC,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,MAAK,GAAC,CAAC;;AAGpV,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,aAAa,CAAA,EAAA,CAAI,GAAG;SACpD;AAED,QAAA,QACE,CAAC,CAAA,IAAI,qDAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAA,EACjE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzB,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAA,eAAA,EACjB,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC5B,eAAA,EAAA,CAAW,QAAA,EAAA,IAAI,CAAC,MAAM,CAAA,CAAE,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAA,EACnD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/E,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,cAAc,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CACpF,CACF,CACC,EACT,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,CAAW,QAAA,EAAA,IAAI,CAAC,MAAM,CAAE,CAAA,EAC5B,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,YAAY,EACN,aAAA,EAAA,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAAA,EAE1C,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAA,EACtD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACF,CACD;;;;;;;;;;;"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-B0LVveHp.js';
|
|
2
|
+
|
|
3
|
+
const afAccordionCss = ".sc-af-accordion-h{display:block;width:100%}.accordion.sc-af-accordion{display:flex;flex-direction:column;width:100%}.sc-af-accordion-s>af-accordion-item{display:block}.sc-af-accordion-s>af-accordion-item:last-child{--accordion-item-border:transparent}";
|
|
4
|
+
|
|
5
|
+
const AfAccordion = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.accordionChange = createEvent(this, "af-accordion-change");
|
|
9
|
+
/**
|
|
10
|
+
* Behavior mode for the accordion.
|
|
11
|
+
* - `independent`: Multiple items can be open simultaneously
|
|
12
|
+
* - `exclusive`: Only one item can be open at a time
|
|
13
|
+
*/
|
|
14
|
+
this.mode = 'independent';
|
|
15
|
+
this.internalValue = [];
|
|
16
|
+
}
|
|
17
|
+
isControlled() {
|
|
18
|
+
return this.value !== undefined;
|
|
19
|
+
}
|
|
20
|
+
componentWillLoad() {
|
|
21
|
+
// Initialize internal value from defaultValue or value
|
|
22
|
+
const initialValue = this.isControlled() ? this.value : this.defaultValue;
|
|
23
|
+
this.internalValue = this.normalizeValue(initialValue);
|
|
24
|
+
}
|
|
25
|
+
handleValueChange(newValue) {
|
|
26
|
+
if (this.isControlled()) {
|
|
27
|
+
this.internalValue = this.normalizeValue(newValue);
|
|
28
|
+
this.syncItems();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
componentDidLoad() {
|
|
32
|
+
this.syncItems();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Listen for toggle events from child accordion items
|
|
36
|
+
*/
|
|
37
|
+
handleItemToggle(event) {
|
|
38
|
+
event.stopPropagation();
|
|
39
|
+
const { itemId, open } = event.detail;
|
|
40
|
+
let newValue;
|
|
41
|
+
if (this.mode === 'exclusive') {
|
|
42
|
+
// In exclusive mode, only one item can be open
|
|
43
|
+
newValue = open ? [itemId] : [];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// In independent mode, toggle the item
|
|
47
|
+
if (open) {
|
|
48
|
+
newValue = [...this.internalValue, itemId];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
newValue = this.internalValue.filter(id => id !== itemId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (!this.isControlled()) {
|
|
55
|
+
this.internalValue = newValue;
|
|
56
|
+
this.syncItems();
|
|
57
|
+
}
|
|
58
|
+
// Emit change event
|
|
59
|
+
const emitValue = this.mode === 'exclusive'
|
|
60
|
+
? (newValue.length > 0 ? newValue[0] : null)
|
|
61
|
+
: newValue;
|
|
62
|
+
this.accordionChange.emit({ value: emitValue });
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Normalize value prop to array format for internal use
|
|
66
|
+
*/
|
|
67
|
+
normalizeValue(value) {
|
|
68
|
+
if (value === undefined || value === null) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
if (Array.isArray(value)) {
|
|
72
|
+
// In exclusive mode, only keep the first item
|
|
73
|
+
return this.mode === 'exclusive' ? value.slice(0, 1) : value;
|
|
74
|
+
}
|
|
75
|
+
return [value];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Sync the open state of all child accordion items
|
|
79
|
+
*/
|
|
80
|
+
syncItems() {
|
|
81
|
+
const items = this.el.querySelectorAll('af-accordion-item');
|
|
82
|
+
items.forEach((element) => {
|
|
83
|
+
const item = element;
|
|
84
|
+
if (item.itemId) {
|
|
85
|
+
item.open = this.internalValue.includes(item.itemId);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
render() {
|
|
90
|
+
return (h(Host, { key: 'cbe6ed9c242541a2081de85d941a6263ff0dd36c', class: { [`mode-${this.mode}`]: true } }, h("div", { key: '51c97481cb155908e946edbb88d9dcebffc9a9a9', class: "accordion" }, h("slot", { key: '354736a0c86e27193cc156d63e6b7bcb623c1b54' }))));
|
|
91
|
+
}
|
|
92
|
+
get el() { return getElement(this); }
|
|
93
|
+
static get watchers() { return {
|
|
94
|
+
"value": ["handleValueChange"]
|
|
95
|
+
}; }
|
|
96
|
+
};
|
|
97
|
+
AfAccordion.style = afAccordionCss;
|
|
98
|
+
|
|
99
|
+
export { AfAccordion as af_accordion };
|
|
100
|
+
//# sourceMappingURL=af-accordion.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-accordion.entry.js","sources":["src/components/af-accordion/af-accordion.css?tag=af-accordion&encapsulation=scoped","src/components/af-accordion/af-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.accordion {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Ensure proper stacking for accordion items */\n::slotted(af-accordion-item) {\n display: block;\n}\n\n/* Remove bottom border from last item */\n::slotted(af-accordion-item:last-child) {\n --accordion-item-border: transparent;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Listen } from '@stencil/core';\n\n/**\n * Accordion container that manages multiple accordion items.\n * Controls which items are open based on mode (independent or exclusive).\n * \n * @slot - Place af-accordion-item components here\n */\n@Component({\n tag: 'af-accordion',\n styleUrl: 'af-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfAccordion {\n @Element() el!: HTMLElement;\n\n /**\n * Behavior mode for the accordion.\n * - `independent`: Multiple items can be open simultaneously\n * - `exclusive`: Only one item can be open at a time\n */\n @Prop() mode: 'independent' | 'exclusive' = 'independent';\n\n /**\n * Currently open item(s) for controlled mode.\n * In independent mode, can be an array of item IDs.\n * In exclusive mode, should be a single item ID or null.\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Default open item(s) for uncontrolled mode.\n * Used as initial state when value prop is not provided.\n */\n @Prop() defaultValue?: string | string[];\n\n /**\n * Emitted when the open state of items changes.\n * Returns the new value (string[] for independent, string | null for exclusive).\n */\n @Event({ eventName: 'af-accordion-change' }) accordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n private isControlled(): boolean {\n return this.value !== undefined;\n }\n\n componentWillLoad() {\n // Initialize internal value from defaultValue or value\n const initialValue = this.isControlled() ? this.value : this.defaultValue;\n this.internalValue = this.normalizeValue(initialValue);\n }\n\n @Watch('value')\n handleValueChange(newValue: string | string[] | undefined) {\n if (this.isControlled()) {\n this.internalValue = this.normalizeValue(newValue);\n this.syncItems();\n }\n }\n\n componentDidLoad() {\n this.syncItems();\n }\n\n /**\n * Listen for toggle events from child accordion items\n */\n @Listen('af-accordion-toggle')\n handleItemToggle(event: CustomEvent<{ itemId: string; open: boolean }>) {\n event.stopPropagation();\n const { itemId, open } = event.detail;\n\n let newValue: string[];\n\n if (this.mode === 'exclusive') {\n // In exclusive mode, only one item can be open\n newValue = open ? [itemId] : [];\n } else {\n // In independent mode, toggle the item\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n if (!this.isControlled()) {\n this.internalValue = newValue;\n this.syncItems();\n }\n\n // Emit change event\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.accordionChange.emit({ value: emitValue });\n }\n\n /**\n * Normalize value prop to array format for internal use\n */\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n // In exclusive mode, only keep the first item\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n /**\n * Sync the open state of all child accordion items\n */\n private syncItems() {\n const items = this.el.querySelectorAll('af-accordion-item');\n items.forEach((element) => {\n const item = element as HTMLElement & { itemId?: string; open?: boolean };\n if (item.itemId) {\n item.open = this.internalValue.includes(item.itemId);\n }\n });\n }\n\n render() {\n return (\n <Host class={{ [`mode-${this.mode}`]: true }}>\n <div class=\"accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
3
|
const afAspectRatioCss = ":host{display:block;width:100%}.aspect-ratio-container{width:100%;position:relative;overflow:hidden}.aspect-ratio-container ::slotted(*){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}";
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
3
|
const afButtonGroupCss = ":host{display:inline-block}.button-group{display:inline-flex;align-items:center;box-sizing:border-box}.direction-horizontal{flex-direction:row}.direction-vertical{flex-direction:column}::slotted(*){flex-shrink:0}";
|
|
4
4
|
|
|
@@ -19,7 +19,7 @@ const AfButtonGroup = class {
|
|
|
19
19
|
'button-group': true,
|
|
20
20
|
[`direction-${this.direction}`]: true
|
|
21
21
|
};
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: '476e29cb69f3ff7b616cc0fbe1de00709db6bdc0' }, h("div", { key: '6c3002a6540e4a7581f93affac1933c36ad48199', class: classes, style: { gap: this.gap } }, h("slot", { key: '44559af160fcaee6596a46a9428215587634eec5' }))));
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
AfButtonGroup.style = afButtonGroupCss;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
3
|
const afButtonCss = ":host{display:inline-block}:host([variant=\"primary\"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant=\"secondary\"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant=\"tertiary\"]){color:var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B))}:host([full-width]),:host(.full-width){display:block;width:100%}:host([full-width]) .button,:host(.full-width) .button{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:9999px;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;white-space:nowrap;width:var(--af-button-width, auto)}.size-default{padding:12px 24px;font-size:17px;line-height:20px}.size-small{padding:8px 16px;font-size:14px;line-height:16px}.icon-left,.icon-right{display:none;align-items:center;justify-content:center;flex-shrink:0}.icon-left.has-content,.icon-right.has-content{display:flex}.size-default .icon-left,.size-default .icon-right{width:24px;height:24px}.size-small .icon-left,.size-small .icon-right{width:20px;height:20px}.size-default .icon-left.has-content{margin-right:12px}.size-default .icon-right.has-content{margin-left:12px}.size-small .icon-left.has-content{margin-right:8px}.size-small .icon-right.has-content{margin-left:8px}.label{flex:0 1 auto;display:flex;align-items:center;justify-content:center}.size-default .label{height:24px}.size-small .label{height:20px}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b))}.variant-primary .icon-left,.variant-primary .icon-right{color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2);border-color:var(--af-button-primary-stroke, #14343B)}.variant-primary:focus:not(.disabled),.variant-primary:focus-visible:not(.disabled){background:var(--af-button-primary-bg, #A6FFFB);border-color:var(--af-button-primary-stroke, #14343B);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);outline:none}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b))}.variant-secondary .icon-left,.variant-secondary .icon-right{color:var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));border-color:var(--af-button-secondary-stroke, currentColor)}.variant-secondary:focus:not(.disabled),.variant-secondary:focus-visible:not(.disabled){background:var(--af-background-base, #FFF);border-color:var(--af-button-secondary-stroke, currentColor);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);outline:none}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-tertiary{background:transparent;border-color:transparent;border-radius:0;color:var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343b));padding-left:0;padding-right:0}.variant-tertiary .label{border-bottom:2px solid var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-tertiary .icon-left,.variant-tertiary .icon-right{color:var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343b))}.variant-tertiary:hover:not(.disabled){opacity:0.8}.variant-tertiary:focus:not(.disabled),.variant-tertiary:focus-visible:not(.disabled){outline:none}.variant-tertiary:focus-visible:not(.disabled) .label{box-shadow:0 4px 0 0 var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-tertiary:active:not(.disabled){opacity:0.6}.disabled{cursor:not-allowed;pointer-events:none}.variant-primary.disabled{border:1px solid var(--af-button-primary-stroke, #14343B);background:var(--af-button-primary-bg, #A6FFFB);opacity:0.6}.variant-secondary.disabled{border:1px solid var(--af-button-secondary-stroke, currentColor);opacity:0.6}.variant-tertiary.disabled{opacity:0.6}button.button{font:inherit;cursor:pointer}button.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-tertiary{background:transparent;border:none}a.button{text-decoration:none;color:inherit}a.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-tertiary{background:transparent;border:none}";
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-button.entry.js","sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n/* Set color on host for slotted content (icons) inheritance */\n:host([variant=\"primary\"]) {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n:host([variant=\"secondary\"]) {\n color: var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)));\n}\n\n:host([variant=\"tertiary\"]) {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n/* Full-width mode - when host is display: block */\n:host([full-width]),\n:host(.full-width) {\n display: block;\n width: 100%;\n}\n\n:host([full-width]) .button,\n:host(.full-width) .button {\n width: 100%;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border-radius: 9999px;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n box-sizing: border-box;\n white-space: nowrap;\n /* Allow width to be controlled from outside via CSS custom property */\n width: var(--af-button-width, auto);\n}\n\n/* Size variants */\n.size-default {\n padding: 12px 24px;\n font-size: 17px;\n line-height: 20px;\n}\n\n.size-small {\n padding: 8px 16px;\n font-size: 14px;\n line-height: 16px;\n}\n\n/* Icon slots - only show when they have slotted content */\n.icon-left,\n.icon-right {\n display: none;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-left.has-content,\n.icon-right.has-content {\n display: flex;\n}\n\n.size-default .icon-left,\n.size-default .icon-right {\n width: 24px;\n height: 24px;\n}\n\n.size-small .icon-left,\n.size-small .icon-right {\n width: 20px;\n height: 20px;\n}\n\n/* Add spacing between icon and label only when icon is present */\n.size-default .icon-left.has-content {\n margin-right: 12px;\n}\n\n.size-default .icon-right.has-content {\n margin-left: 12px;\n}\n\n.size-small .icon-left.has-content {\n margin-right: 8px;\n}\n\n.size-small .icon-right.has-content {\n margin-left: 8px;\n}\n\n/* Label styling */\n.label {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.size-default .label {\n height: 24px;\n}\n\n.size-small .label {\n height: 20px;\n}\n\n/* ==========================================================================\n Primary Button\n Filled background with ice color, inkwell text\n ========================================================================== */\n\n.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border-color: var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary .icon-left,\n.variant-primary .icon-right {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary:hover:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n border-color: var(--af-button-primary-stroke, #14343B);\n}\n\n.variant-primary:focus:not(.disabled),\n.variant-primary:focus-visible:not(.disabled) {\n background: var(--af-button-primary-bg, #A6FFFB);\n border-color: var(--af-button-primary-stroke, #14343B);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);\n outline: none;\n}\n\n.variant-primary:active:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n}\n\n/* ==========================================================================\n Secondary Button\n Transparent background with visible border\n ========================================================================== */\n\n.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border-color: var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary .icon-left,\n.variant-secondary .icon-right {\n color: var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary:hover:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n border-color: var(--af-button-secondary-stroke, currentColor);\n}\n\n.variant-secondary:focus:not(.disabled),\n.variant-secondary:focus-visible:not(.disabled) {\n background: var(--af-background-base, #FFF);\n border-color: var(--af-button-secondary-stroke, currentColor);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);\n outline: none;\n}\n\n.variant-secondary:active:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n}\n\n/* ==========================================================================\n Tertiary Button\n Text-only link style with underline, no border or background\n ========================================================================== */\n\n.variant-tertiary {\n background: transparent;\n border-color: transparent;\n border-radius: 0;\n color: var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343b));\n padding-left: 0;\n padding-right: 0;\n}\n\n.variant-tertiary .label {\n border-bottom: 2px solid var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary .icon-left,\n.variant-tertiary .icon-right {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-tertiary:hover:not(.disabled) {\n opacity: 0.8;\n}\n\n.variant-tertiary:focus:not(.disabled),\n.variant-tertiary:focus-visible:not(.disabled) {\n outline: none;\n}\n\n.variant-tertiary:focus-visible:not(.disabled) .label {\n box-shadow: 0 4px 0 0 var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary:active:not(.disabled) {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Disabled states\n ========================================================================== */\n\n.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.variant-primary.disabled {\n border: 1px solid var(--af-button-primary-stroke, #14343B);\n background: var(--af-button-primary-bg, #A6FFFB);\n opacity: 0.6;\n}\n\n.variant-secondary.disabled {\n border: 1px solid var(--af-button-secondary-stroke, currentColor);\n opacity: 0.6;\n}\n\n.variant-tertiary.disabled {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Reset button element styles\n ========================================================================== */\n\nbutton.button {\n font: inherit;\n cursor: pointer;\n}\n\nbutton.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n\n/* ==========================================================================\n Reset anchor element styles (when using href prop)\n ========================================================================== */\n\na.button {\n text-decoration: none;\n color: inherit;\n}\n\na.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * Button component that inherits colors from theme context.\n * Colors are determined by the parent theme (af-section, af-hero-section, etc.)\n * via CSS custom properties.\n * \n * @slot - Button label text\n * @slot icon-left - Icon displayed before the label\n * @slot icon-right - Icon displayed after the label\n */\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)\n * - `secondary` - Supporting action with outlined style\n * - `tertiary` - Subtle text-link style with underline\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n\n /**\n * The size of the button.\n * - `default` - Standard size for primary CTAs\n * - `small` - Compact size for inline or secondary contexts\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to render as a link instead of a button\n */\n @Prop() href?: string;\n\n @State() hasIconLeft: boolean = false;\n @State() hasIconRight: boolean = false;\n\n private handleSlotChange = (slotName: 'icon-left' | 'icon-right') => (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes().length > 0;\n if (slotName === 'icon-left') {\n this.hasIconLeft = hasContent;\n } else {\n this.hasIconRight = hasContent;\n }\n };\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class={{ 'icon-left': true, 'has-content': this.hasIconLeft }}>\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChange('icon-left')}></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class={{ 'icon-right': true, 'has-content': this.hasIconRight }}>\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChange('icon-right')}></slot>\n </span>\n ];\n\n // Render as anchor if href is provided (and not disabled)\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,k9KAAk9K;;MCgBz9K,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAyC,SAAS;AAElF;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS;AAE7C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ;AAO7C,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;QAE9B,IAAgB,CAAA,gBAAA,GAAG,CAAC,QAAoC,KAAK,CAAC,KAAY,KAAI;AACpF,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;AAClD,YAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;AAC5B,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;iBACxB;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,UAAU;;AAElC,SAAC;AAyCF;IAvCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EACjE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,WAAW,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAS,CAC3E;AACP,YAAA,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACR;AACP,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,EAAA,EACnE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAS;SAErF;;QAGD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAC/B,EAAA,OAAO,CACN,CACC;;AAIX,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAA,EAC7D,OAAO,CACD,CACJ;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"af-button.entry.js","sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n/* Set color on host for slotted content (icons) inheritance */\n:host([variant=\"primary\"]) {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n:host([variant=\"secondary\"]) {\n color: var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)));\n}\n\n:host([variant=\"tertiary\"]) {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n/* Full-width mode - when host is display: block */\n:host([full-width]),\n:host(.full-width) {\n display: block;\n width: 100%;\n}\n\n:host([full-width]) .button,\n:host(.full-width) .button {\n width: 100%;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border-radius: 9999px;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n box-sizing: border-box;\n white-space: nowrap;\n /* Allow width to be controlled from outside via CSS custom property */\n width: var(--af-button-width, auto);\n}\n\n/* Size variants */\n.size-default {\n padding: 12px 24px;\n font-size: 17px;\n line-height: 20px;\n}\n\n.size-small {\n padding: 8px 16px;\n font-size: 14px;\n line-height: 16px;\n}\n\n/* Icon slots - only show when they have slotted content */\n.icon-left,\n.icon-right {\n display: none;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-left.has-content,\n.icon-right.has-content {\n display: flex;\n}\n\n.size-default .icon-left,\n.size-default .icon-right {\n width: 24px;\n height: 24px;\n}\n\n.size-small .icon-left,\n.size-small .icon-right {\n width: 20px;\n height: 20px;\n}\n\n/* Add spacing between icon and label only when icon is present */\n.size-default .icon-left.has-content {\n margin-right: 12px;\n}\n\n.size-default .icon-right.has-content {\n margin-left: 12px;\n}\n\n.size-small .icon-left.has-content {\n margin-right: 8px;\n}\n\n.size-small .icon-right.has-content {\n margin-left: 8px;\n}\n\n/* Label styling */\n.label {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.size-default .label {\n height: 24px;\n}\n\n.size-small .label {\n height: 20px;\n}\n\n/* ==========================================================================\n Primary Button\n Filled background with ice color, inkwell text\n ========================================================================== */\n\n.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border-color: var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary .icon-left,\n.variant-primary .icon-right {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary:hover:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n border-color: var(--af-button-primary-stroke, #14343B);\n}\n\n.variant-primary:focus:not(.disabled),\n.variant-primary:focus-visible:not(.disabled) {\n background: var(--af-button-primary-bg, #A6FFFB);\n border-color: var(--af-button-primary-stroke, #14343B);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);\n outline: none;\n}\n\n.variant-primary:active:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n}\n\n/* ==========================================================================\n Secondary Button\n Transparent background with visible border\n ========================================================================== */\n\n.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border-color: var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary .icon-left,\n.variant-secondary .icon-right {\n color: var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary:hover:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n border-color: var(--af-button-secondary-stroke, currentColor);\n}\n\n.variant-secondary:focus:not(.disabled),\n.variant-secondary:focus-visible:not(.disabled) {\n background: var(--af-background-base, #FFF);\n border-color: var(--af-button-secondary-stroke, currentColor);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);\n outline: none;\n}\n\n.variant-secondary:active:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n}\n\n/* ==========================================================================\n Tertiary Button\n Text-only link style with underline, no border or background\n ========================================================================== */\n\n.variant-tertiary {\n background: transparent;\n border-color: transparent;\n border-radius: 0;\n color: var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343b));\n padding-left: 0;\n padding-right: 0;\n}\n\n.variant-tertiary .label {\n border-bottom: 2px solid var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary .icon-left,\n.variant-tertiary .icon-right {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-tertiary:hover:not(.disabled) {\n opacity: 0.8;\n}\n\n.variant-tertiary:focus:not(.disabled),\n.variant-tertiary:focus-visible:not(.disabled) {\n outline: none;\n}\n\n.variant-tertiary:focus-visible:not(.disabled) .label {\n box-shadow: 0 4px 0 0 var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary:active:not(.disabled) {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Disabled states\n ========================================================================== */\n\n.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.variant-primary.disabled {\n border: 1px solid var(--af-button-primary-stroke, #14343B);\n background: var(--af-button-primary-bg, #A6FFFB);\n opacity: 0.6;\n}\n\n.variant-secondary.disabled {\n border: 1px solid var(--af-button-secondary-stroke, currentColor);\n opacity: 0.6;\n}\n\n.variant-tertiary.disabled {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Reset button element styles\n ========================================================================== */\n\nbutton.button {\n font: inherit;\n cursor: pointer;\n}\n\nbutton.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n\n/* ==========================================================================\n Reset anchor element styles (when using href prop)\n ========================================================================== */\n\na.button {\n text-decoration: none;\n color: inherit;\n}\n\na.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * Button component that inherits colors from theme context.\n * Colors are determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n * \n * @slot - Button label text\n * @slot icon-left - Icon displayed before the label\n * @slot icon-right - Icon displayed after the label\n */\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)\n * - `secondary` - Supporting action with outlined style\n * - `tertiary` - Subtle text-link style with underline\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n\n /**\n * The size of the button.\n * - `default` - Standard size for primary CTAs\n * - `small` - Compact size for inline or secondary contexts\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to render as a link instead of a button\n */\n @Prop() href?: string;\n\n @State() hasIconLeft: boolean = false;\n @State() hasIconRight: boolean = false;\n\n private handleSlotChange = (slotName: 'icon-left' | 'icon-right') => (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes().length > 0;\n if (slotName === 'icon-left') {\n this.hasIconLeft = hasContent;\n } else {\n this.hasIconRight = hasContent;\n }\n };\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class={{ 'icon-left': true, 'has-content': this.hasIconLeft }}>\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChange('icon-left')}></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class={{ 'icon-right': true, 'has-content': this.hasIconRight }}>\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChange('icon-right')}></slot>\n </span>\n ];\n\n // Render as anchor if href is provided (and not disabled)\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,k9KAAk9K;;MCgBz9K,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAyC,SAAS;AAElF;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS;AAE7C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ;AAO7C,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;QAE9B,IAAgB,CAAA,gBAAA,GAAG,CAAC,QAAoC,KAAK,CAAC,KAAY,KAAI;AACpF,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;AAClD,YAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;AAC5B,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;iBACxB;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,UAAU;;AAElC,SAAC;AAyCF;IAvCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EACjE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,WAAW,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAS,CAC3E;AACP,YAAA,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACR;AACP,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,EAAA,EACnE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAS;SAErF;;QAGD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAC/B,EAAA,OAAO,CACN,CACC;;AAIX,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAA,EAC7D,OAAO,CACD,CACJ;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
|
-
const afCardCss = ".sc-af-card-h{display:block;width:100%}[stretch].sc-af-card-h{display:flex;flex-direction:column;height:100%}[stretch].sc-af-card-h .card.sc-af-card{flex:1 1 auto}[stretch].sc-af-card-h .card__content.sc-af-card{flex:1 1 auto}.card.sc-af-card{border-radius:var(--border-radius-card-level-1, 32px);overflow:hidden;position:relative;display:flex;flex-direction:column;box-sizing:border-box}.card.theme-white.sc-af-card{background-color:var(--colour-brand-white, #ffffff);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-200, #e8eeed)}.card.theme-white-ivory.sc-af-card{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-ivory-200, #ffefcc)}.card.theme-inkwell.sc-af-card{background-color:var(--colour-brand-inkwell, #14343b);--af-typography-heading-primary:var(--colour-brand-mist-green, #c6d5d1);--af-typography-body-default:var(--colour-inkwell-100, #d0d6d8);--af-background-level-1:var(--colour-inkwell-450, #203e45);--af-button-secondary-text:var(--colour-brand-white, #ffffff);--af-button-secondary-stroke:var(--colour-brand-white, #ffffff);--af-button-tertiary-text:var(--colour-brand-white, #ffffff);--af-button-tertiary-icon:var(--colour-brand-white, #ffffff)}.card.theme-mist-green.sc-af-card{background-color:var(--colour-brand-mist-green, #c6d5d1);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-300, #dde6e3)}.card.theme-soft-clay.sc-af-card{background-color:var(--colour-softclay-400, #c0ab8d);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-softclay-500, #b09670)}.card__content.sc-af-card{position:relative;padding:var(--af-card-padding, 40px);display:flex;flex-direction:column;gap:var(--af-card-gap, 24px);flex:1;box-sizing:border-box;z-index:1}.card__content.sc-af-card-s>af-heading,.card__content .sc-af-card-s>af-heading{margin-bottom:0}.card__content.sc-af-card-s>af-text,.card__content .sc-af-card-s>af-text{line-height:1.44}";
|
|
3
|
+
const afCardCss = ".sc-af-card-h{display:block;width:100%}[stretch].sc-af-card-h{display:flex;flex-direction:column;height:100%}[stretch].sc-af-card-h .card.sc-af-card{flex:1 1 auto}[stretch].sc-af-card-h .card__content.sc-af-card{flex:1 1 auto}.card.sc-af-card{border-radius:var(--border-radius-card-level-1, 32px);overflow:hidden;position:relative;display:flex;flex-direction:column;box-sizing:border-box}.card.theme-white.sc-af-card{background-color:var(--colour-brand-white, #ffffff);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-200, #e8eeed)}.card.theme-white-ivory.sc-af-card{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-ivory-200, #ffefcc)}.card.theme-inkwell.sc-af-card{background-color:var(--colour-brand-inkwell, #14343b);--af-typography-heading-primary:var(--colour-brand-mist-green, #c6d5d1);--af-typography-body-default:var(--colour-inkwell-100, #d0d6d8);--af-background-level-1:var(--colour-inkwell-450, #203e45);--af-button-secondary-text:var(--colour-brand-white, #ffffff);--af-button-secondary-stroke:var(--colour-brand-white, #ffffff);--af-button-tertiary-text:var(--colour-brand-white, #ffffff);--af-button-tertiary-icon:var(--colour-brand-white, #ffffff);--af-form-control-bg:var(--colour-inkwell-450, #203e45);--af-form-control-bg-checked:var(--colour-brand-mist-green, #c6d5d1);--af-form-control-bg-disabled:var(--colour-inkwell-400, #2b484f);--af-form-control-bg-checked-disabled:var(--colour-mistgreen-700, #9eaaa7);--af-form-control-stroke:var(--colour-inkwell-350, #60767b);--af-form-control-stroke-hover:var(--colour-brand-white, #ffffff);--af-form-control-stroke-disabled:var(--colour-inkwell-400, #2b484f);--af-form-control-icon:var(--colour-brand-inkwell, #14343b);--af-form-control-label:var(--colour-brand-white, #ffffff)}.card.theme-mist-green.sc-af-card{background-color:var(--colour-brand-mist-green, #c6d5d1);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-300, #dde6e3)}.card.theme-soft-clay.sc-af-card{background-color:var(--colour-softclay-400, #c0ab8d);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-softclay-500, #b09670)}.card__content.sc-af-card{position:relative;padding:var(--af-card-padding, 40px);display:flex;flex-direction:column;gap:var(--af-card-gap, 24px);flex:1;box-sizing:border-box;z-index:1}.card__content.sc-af-card-s>af-heading,.card__content .sc-af-card-s>af-heading{margin-bottom:0}.card__content.sc-af-card-s>af-text,.card__content .sc-af-card-s>af-text{line-height:1.44}";
|
|
4
4
|
|
|
5
5
|
const AfCard = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -23,7 +23,7 @@ const AfCard = class {
|
|
|
23
23
|
'card': true,
|
|
24
24
|
[`theme-${this.theme}`]: true
|
|
25
25
|
};
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: 'efd6ae011a1fb247ac79b2ecc5feaf4c9589bcba' }, h("div", { key: 'e8e4bba3554986337e2f13c2cf9be83971035158', class: classes }, h("div", { key: 'fecb01569f2b407a1239aa60c66fba67cf3f09dc', class: "card__content" }, h("slot", { key: 'd65732b56be56fe4399297cc35b9f842a7719bd6' })))));
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
AfCard.style = afCardCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-card.entry.js","sources":["src/components/af-card/af-card.css?tag=af-card&encapsulation=scoped","src/components/af-card/af-card.tsx"],"sourcesContent":["/* Theme CSS custom properties follow the global token structure from @affinda/tokens */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Stretch Mode\n \n When stretch attribute is present, the card fills its container height\n and uses flexbox to distribute space between children. This enables\n equal-height cards in grid/flex layouts.\n ========================================================================== */\n\n:host([stretch]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n:host([stretch]) .card {\n flex: 1 1 auto;\n}\n\n:host([stretch]) .card__content {\n flex: 1 1 auto;\n}\n\n/* ==========================================================================\n Base Card Styles\n ========================================================================== */\n\n.card {\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n/* ==========================================================================\n Theme Variants\n \n Background colors from Figma tokens:\n - white: #ffffff (Colour/Brand/White)\n - white-ivory: #fff9ee (Colour/Brand/Ivory-Paper)\n - inkwell: #14343b (Colour/Brand/Inkwell)\n - mist-green: #c6d5d1 (Colour/Brand/Mist-Green)\n - soft-clay: #c0ab8d (Colour/Softclay/400)\n ========================================================================== */\n\n/* WHITE THEME */\n.card.theme-white {\n background-color: var(--colour-brand-white, #ffffff);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n}\n\n/* WHITE-IVORY THEME */\n.card.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n}\n\n/* INKWELL THEME (Dark) */\n.card.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n \n /* Typography - light colors on dark background */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n \n /* Button variants for dark theme */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-text: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);\n}\n\n/* MIST-GREEN THEME */\n.card.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n}\n\n/* SOFT-CLAY THEME */\n.card.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n}\n\n/* ==========================================================================\n Card Content\n ========================================================================== */\n\n.card__content {\n position: relative;\n padding: var(--af-card-padding, 40px);\n display: flex;\n flex-direction: column;\n gap: var(--af-card-gap, 24px);\n flex: 1;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Heading spacing within cards */\n.card__content ::slotted(af-heading) {\n margin-bottom: 0;\n}\n\n/* Text line-height within cards */\n.card__content ::slotted(af-text) {\n line-height: 1.44;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Card atom component - a themed container with consistent styling.\n * Provides theme context to children via CSS custom properties.\n * \n * This is a base building block used by molecule components like\n * af-feature-card and af-illustrated-card.\n */\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfCard {\n /**\n * Theme - sets background color and provides theme context to children.\n * Defaults to 'mist-green' if not specified.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * When true, the card stretches to fill its container height.\n * Use this when the card is in a flex/grid container and needs to\n * participate in equal-height layouts. The card's content will use\n * flexbox to distribute space between children.\n */\n @Prop({ reflect: true }) stretch: boolean = false;\n\n render() {\n const classes = {\n 'card': true,\n [`theme-${this.theme}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"card__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"af-card.entry.js","sources":["src/components/af-card/af-card.css?tag=af-card&encapsulation=scoped","src/components/af-card/af-card.tsx"],"sourcesContent":["/* Theme CSS custom properties follow the global token structure from @affinda/tokens */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Stretch Mode\n \n When stretch attribute is present, the card fills its container height\n and uses flexbox to distribute space between children. This enables\n equal-height cards in grid/flex layouts.\n ========================================================================== */\n\n:host([stretch]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n:host([stretch]) .card {\n flex: 1 1 auto;\n}\n\n:host([stretch]) .card__content {\n flex: 1 1 auto;\n}\n\n/* ==========================================================================\n Base Card Styles\n ========================================================================== */\n\n.card {\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n/* ==========================================================================\n Theme Variants\n \n Background colors from Figma tokens:\n - white: #ffffff (Colour/Brand/White)\n - white-ivory: #fff9ee (Colour/Brand/Ivory-Paper)\n - inkwell: #14343b (Colour/Brand/Inkwell)\n - mist-green: #c6d5d1 (Colour/Brand/Mist-Green)\n - soft-clay: #c0ab8d (Colour/Softclay/400)\n ========================================================================== */\n\n/* WHITE THEME */\n.card.theme-white {\n background-color: var(--colour-brand-white, #ffffff);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n}\n\n/* WHITE-IVORY THEME */\n.card.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n}\n\n/* INKWELL THEME (Dark) */\n.card.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n \n /* Typography - light colors on dark background */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n \n /* Button variants for dark theme */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-text: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-inkwell-450, #203e45);\n --af-form-control-bg-checked: var(--colour-brand-mist-green, #c6d5d1);\n --af-form-control-bg-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-bg-checked-disabled: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke: var(--colour-inkwell-350, #60767b);\n --af-form-control-stroke-hover: var(--colour-brand-white, #ffffff);\n --af-form-control-stroke-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-icon: var(--colour-brand-inkwell, #14343b);\n --af-form-control-label: var(--colour-brand-white, #ffffff);\n}\n\n/* MIST-GREEN THEME */\n.card.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n}\n\n/* SOFT-CLAY THEME */\n.card.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n}\n\n/* ==========================================================================\n Card Content\n ========================================================================== */\n\n.card__content {\n position: relative;\n padding: var(--af-card-padding, 40px);\n display: flex;\n flex-direction: column;\n gap: var(--af-card-gap, 24px);\n flex: 1;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Heading spacing within cards */\n.card__content ::slotted(af-heading) {\n margin-bottom: 0;\n}\n\n/* Text line-height within cards */\n.card__content ::slotted(af-text) {\n line-height: 1.44;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Card atom component - a themed container with consistent styling.\n * Provides theme context to children via CSS custom properties.\n * \n * This is a base building block used by molecule components like\n * af-feature-card and af-illustrated-card.\n */\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfCard {\n /**\n * Theme - sets background color and provides theme context to children.\n * Defaults to 'mist-green' if not specified.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * When true, the card stretches to fill its container height.\n * Use this when the card is in a flex/grid container and needs to\n * participate in equal-height layouts. The card's content will use\n * flexbox to distribute space between children.\n */\n @Prop({ reflect: true }) stretch: boolean = false;\n\n render() {\n const classes = {\n 'card': true,\n [`theme-${this.theme}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"card__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,u/FAAu/F;;MCe5/F,MAAM,GAAA,MAAA;AANnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsE,YAAY;AAE/F;;;;;AAKG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAkBlD;IAhBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;SAC1B;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACD;;;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-B0LVveHp.js';
|
|
2
|
+
|
|
3
|
+
const afCenterCss = ":host{display:flex;box-sizing:border-box}:host([hidden]){display:none}";
|
|
4
|
+
|
|
5
|
+
const AfCenter = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
/**
|
|
9
|
+
* Which axis to center on.
|
|
10
|
+
* - 'horizontal': Center horizontally (justify-content: center)
|
|
11
|
+
* - 'vertical': Center vertically (align-items: center)
|
|
12
|
+
* - 'both': Center on both axes
|
|
13
|
+
*/
|
|
14
|
+
this.axis = 'both';
|
|
15
|
+
/**
|
|
16
|
+
* Use inline-flex instead of flex.
|
|
17
|
+
* Useful when the center container should only take up as much space as needed.
|
|
18
|
+
*/
|
|
19
|
+
this.inline = false;
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
const style = {
|
|
23
|
+
display: this.inline ? 'inline-flex' : 'flex',
|
|
24
|
+
};
|
|
25
|
+
if (this.axis === 'horizontal' || this.axis === 'both') {
|
|
26
|
+
style.justifyContent = 'center';
|
|
27
|
+
}
|
|
28
|
+
if (this.axis === 'vertical' || this.axis === 'both') {
|
|
29
|
+
style.alignItems = 'center';
|
|
30
|
+
}
|
|
31
|
+
if (this.minHeight) {
|
|
32
|
+
style.minHeight = this.minHeight;
|
|
33
|
+
}
|
|
34
|
+
return (h(Host, { key: 'ea24131f49ed2e71639eb55ac38c19519d8e4608', style: style }, h("slot", { key: '6547ee3e9cae65dd7373e8cb7b5adfa29042f851' })));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
AfCenter.style = afCenterCss;
|
|
38
|
+
|
|
39
|
+
export { AfCenter as af_center };
|
|
40
|
+
//# sourceMappingURL=af-center.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-center.entry.js","sources":["src/components/af-center/af-center.css?tag=af-center&encapsulation=shadow","src/components/af-center/af-center.tsx"],"sourcesContent":[":host {\n display: flex;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Axis = 'horizontal' | 'vertical' | 'both';\n\n/**\n * Center layout component for quickly centering content.\n * Supports horizontal, vertical, or both axes.\n *\n * @slot - Content to center\n */\n@Component({\n tag: 'af-center',\n styleUrl: 'af-center.css',\n shadow: true,\n})\nexport class AfCenter {\n /**\n * Which axis to center on.\n * - 'horizontal': Center horizontally (justify-content: center)\n * - 'vertical': Center vertically (align-items: center)\n * - 'both': Center on both axes\n */\n @Prop() axis: Axis = 'both';\n\n /**\n * Use inline-flex instead of flex.\n * Useful when the center container should only take up as much space as needed.\n */\n @Prop() inline: boolean = false;\n\n /**\n * Set a minimum height. Useful for vertical centering in a viewport.\n * Accepts any valid CSS value (e.g., '100vh', '400px').\n */\n @Prop() minHeight?: string;\n\n render() {\n const style: Record<string, string> = {\n display: this.inline ? 'inline-flex' : 'flex',\n };\n\n if (this.axis === 'horizontal' || this.axis === 'both') {\n style.justifyContent = 'center';\n }\n\n if (this.axis === 'vertical' || this.axis === 'both') {\n style.alignItems = 'center';\n }\n\n if (this.minHeight) {\n style.minHeight = this.minHeight;\n }\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,wEAAwE;;MCe/E,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAS,MAAM;AAE3B;;;AAGG;AACK,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AA+BhC;IAvBC,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,MAAM;SAC9C;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtD,YAAA,KAAK,CAAC,cAAc,GAAG,QAAQ;;AAGjC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACpD,YAAA,KAAK,CAAC,UAAU,GAAG,QAAQ;;AAG7B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;;QAGlC,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,KAAK,EAAA,EAChB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-B0LVveHp.js';
|
|
2
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(--
|
|
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
4
|
|
|
5
5
|
const AfCheckbox = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -47,7 +47,7 @@ const AfCheckbox = class {
|
|
|
47
47
|
'checked': this.checked || this.indeterminate,
|
|
48
48
|
'disabled': this.disabled
|
|
49
49
|
};
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: '3133417b8722f3d3b854391a2f9362405d6b645d' }, h("label", { key: '375fa0931469ba89017cd8f6962a9f130a8099b7', class: checkboxClasses }, h("input", { key: 'b4714d31bfd2689ed8276bec0fa5580dc4b7457c', 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: 'c3472bec48c64733eeadb17c86dd25699fb3efd8', class: controlClasses }, this.checked && !this.indeterminate && (h("svg", { key: '2d569ab2de0fc5b75ca605c48e395ecf0b61e084', class: "icon", viewBox: "0 0 16 16", fill: "none" }, h("path", { key: '3d9991a86bd8065687bca3b206878fe8cabd991c', d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), this.indeterminate && (h("svg", { key: '81c46466f7853a4c85a20c08ab4e79b30d76de90', class: "icon", viewBox: "0 0 16 16", fill: "none" }, h("path", { key: 'c55aca66a778a9a65a5d621b28607565451e0560', d: "M3 8H13", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })))), h("span", { key: '9f8c25404a57227172617b6b28a30c9fd816edfa', class: "label" }, h("slot", { key: '087b50963a66f4bd79aedd7af52cb8c9697c8b4f' })))));
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
AfCheckbox.style = afCheckboxCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-checkbox.entry.js","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(--
|
|
1
|
+
{"version":3,"file":"af-checkbox.entry.js","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"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
3
|
const afClientCarouselCss = ":host{display:block;width:100%}.client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row{display:flex;width:100%;overflow:hidden;position:relative}.logo-track{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left .logo-track{animation-name:scroll-left;animation-duration:40s}.scroll-right .logo-track{animation-name:scroll-right;animation-duration:40s}:host(:hover) .logo-track{animation-play-state:paused}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}::slotted(*){display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}:host(.theme-inkwell),.client-carousel.theme-inkwell{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}:host(.theme-white),.client-carousel.theme-white{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-mist-green),.client-carousel.theme-mist-green{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-soft-clay),.client-carousel.theme-soft-clay{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-white-ivory),.client-carousel.theme-white-ivory{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel{padding:24px 0}.carousel-container{gap:var(--space-3, 12px)}.logo-track{gap:var(--space-3, 12px)}::slotted(*){gap:var(--space-3, 12px)}}";
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ const AfClientCarousel = class {
|
|
|
9
9
|
this.theme = 'inkwell';
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: '2e7ecfbbde6c66bcb8c2b581ef65938451b46f10', class: `theme-${this.theme}` }, h("div", { key: 'c17d3a429c31fd0c8b45792be5af4191079ec070', class: `client-carousel theme-${this.theme}` }, h("div", { key: '42f1dde981082b450991ab1d9e73e06f357fc7b7', class: "carousel-container" }, h("div", { key: 'be3106cce710d07ef4ace805f7beea181c2881e3', class: "carousel-row scroll-left" }, h("div", { key: 'c5b6959756e7f86ba2bba6b5b6b403e906c804bb', class: "logo-track" }, h("slot", { key: '712acf9f80c4eec3f1f44c6854fca813a3d942a9', name: "row-1" }), h("slot", { key: '6a8819dcc886bb5d8f6898390f615612e38d7a4e', name: "row-1" }))), h("div", { key: 'e5811147386c7232e8b2ca191e08eae1a66a3204', class: "carousel-row scroll-right" }, h("div", { key: 'f38087992cc2b1c4e5f876d02b1a976aafc4df63', class: "logo-track" }, h("slot", { key: '3240385b3d01e8da8decc67313ddca23f1a076f5', name: "row-2" }), h("slot", { key: 'e7fa32487ab745ab3ac86e10fc9a7211b576a15d', name: "row-2" })))))));
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
AfClientCarousel.style = afClientCarouselCss;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-B0LVveHp.js';
|
|
2
2
|
|
|
3
3
|
const afColorSwatchCss = ":host{display:block}.swatch{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ece6f5;background:white}.color-preview{width:100%;height:120px;flex-shrink:0}.size-large .color-preview{height:140px}.color-info{padding:16px;display:flex;flex-direction:column;gap:4px}.color-name{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;color:#14343B}.color-value{font-family:'Helvetica', 'Inter', monospace, system-ui, sans-serif;font-size:14px;color:#708380}";
|
|
4
4
|
|