@affinda/wc 0.0.21 → 0.0.22
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/affinda.css +1 -1
- package/dist/affinda/affinda.esm.js +1 -2
- package/dist/affinda/index.esm.js +1 -2
- package/dist/affinda/p-00a226ba.entry.js +1 -0
- package/dist/affinda/p-020bd9db.entry.js +1 -0
- package/dist/affinda/p-0264279f.entry.js +1 -0
- package/dist/affinda/p-08dc48a4.entry.js +1 -0
- package/dist/affinda/p-09184969.entry.js +1 -0
- package/dist/affinda/p-0ae3495c.entry.js +1 -0
- package/dist/affinda/p-0c6b7f0b.entry.js +1 -0
- package/dist/affinda/p-14c85efd.entry.js +1 -0
- package/dist/affinda/p-20fe557e.entry.js +1 -0
- package/dist/affinda/p-26a60b00.entry.js +1 -0
- package/dist/affinda/p-289cb56f.entry.js +1 -0
- package/dist/affinda/p-29d0a985.entry.js +1 -0
- package/dist/affinda/p-2c0c94c5.entry.js +1 -0
- package/dist/affinda/p-2ce405df.entry.js +1 -0
- package/dist/affinda/p-2d4c1202.entry.js +1 -0
- package/dist/affinda/p-2f1e0c44.entry.js +1 -0
- package/dist/affinda/p-3899a278.entry.js +1 -0
- package/dist/affinda/p-404f2cea.entry.js +1 -0
- package/dist/affinda/p-468d16b1.entry.js +1 -0
- package/dist/affinda/p-46efe4e4.entry.js +1 -0
- package/dist/affinda/p-5136a894.entry.js +1 -0
- package/dist/affinda/{p-6af1634a.entry.js → p-54d85947.entry.js} +1 -2
- package/dist/affinda/p-589a860a.entry.js +1 -0
- package/dist/affinda/p-63e86a14.entry.js +1 -0
- package/dist/affinda/p-6c99b2bb.entry.js +1 -0
- package/dist/affinda/p-7ed6ee6a.entry.js +1 -0
- package/dist/affinda/p-81de8fbd.entry.js +1 -0
- package/dist/affinda/p-81eb85ec.entry.js +1 -0
- package/dist/affinda/p-854f6a9e.entry.js +1 -0
- package/dist/affinda/p-8742f8fe.entry.js +1 -0
- package/dist/affinda/p-8c394de2.entry.js +1 -0
- package/dist/affinda/p-9018ddec.entry.js +1 -0
- package/dist/affinda/p-90edefa8.entry.js +1 -0
- package/dist/affinda/p-9fea6229.entry.js +1 -0
- package/dist/affinda/p-CPfAC9fk.js +2 -0
- package/dist/affinda/p-a5179afb.entry.js +1 -0
- package/dist/affinda/p-a5f7d3d6.entry.js +1 -0
- package/dist/affinda/p-a8af25d5.entry.js +1 -0
- package/dist/affinda/p-ace3c850.entry.js +1 -0
- package/dist/affinda/p-ae43f07b.entry.js +1 -0
- package/dist/affinda/p-aec05709.entry.js +1 -0
- package/dist/affinda/p-af9e25ea.entry.js +1 -0
- package/dist/affinda/p-b477c08a.entry.js +1 -0
- package/dist/affinda/p-b9f58a18.entry.js +1 -0
- package/dist/affinda/p-bd3f81fc.entry.js +1 -0
- package/dist/affinda/p-ca14e17a.entry.js +1 -0
- package/dist/affinda/p-cb889d6b.entry.js +1 -0
- package/dist/affinda/p-cbf0911b.entry.js +1 -0
- package/dist/affinda/{p-2e750d43.entry.js → p-cf4d0d8e.entry.js} +1 -2
- package/dist/affinda/p-cfb90374.entry.js +1 -0
- package/dist/affinda/p-d7129564.entry.js +1 -0
- package/dist/affinda/p-d9cfea73.entry.js +1 -0
- package/dist/affinda/p-df7b1b09.entry.js +1 -0
- package/dist/affinda/p-e0915179.entry.js +1 -0
- package/dist/affinda/p-e3cd6671.entry.js +1 -0
- package/dist/affinda/p-e61dfb97.entry.js +1 -0
- package/dist/affinda/p-e6b4761c.entry.js +1 -0
- package/dist/affinda/p-ecab0884.entry.js +1 -0
- package/dist/affinda/p-ef754e65.entry.js +1 -0
- package/dist/affinda/p-f3d5d1be.entry.js +1 -0
- package/dist/affinda/p-f79781ff.entry.js +1 -0
- package/dist/affinda/p-f825b81f.entry.js +1 -0
- package/dist/affinda/p-fc1452ba.entry.js +1 -0
- package/dist/affinda/p-ffdd2c30.entry.js +1 -0
- package/dist/cjs/af-accordion-item.cjs.entry.js +7 -6
- package/dist/cjs/af-accordion.cjs.entry.js +7 -6
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +3 -4
- package/dist/cjs/af-button-group.cjs.entry.js +4 -5
- package/dist/cjs/af-button.cjs.entry.js +3 -4
- package/dist/cjs/af-card.cjs.entry.js +4 -5
- package/dist/cjs/af-center.cjs.entry.js +4 -5
- package/dist/cjs/af-checkbox.cjs.entry.js +4 -5
- package/dist/cjs/af-client-carousel.cjs.entry.js +4 -5
- package/dist/cjs/af-color-swatch.cjs.entry.js +3 -4
- package/dist/cjs/af-contact-item.cjs.entry.js +4 -5
- package/dist/cjs/af-container.cjs.entry.js +3 -4
- package/dist/cjs/af-divider.cjs.entry.js +4 -5
- package/dist/cjs/af-feature-accordion.cjs.entry.js +8 -7
- package/dist/cjs/af-feature-card.cjs.entry.js +3 -4
- package/dist/cjs/af-feature-grid.cjs.entry.js +7 -6
- package/dist/cjs/af-fieldset.cjs.entry.js +4 -5
- package/dist/cjs/af-footer-column.cjs.entry.js +4 -5
- package/dist/cjs/af-footer-link.cjs.entry.js +4 -5
- package/dist/cjs/af-footer.cjs.entry.js +4 -5
- package/dist/cjs/af-grid-callout.cjs.entry.js +3 -4
- package/dist/cjs/af-grid.cjs.entry.js +5 -6
- package/dist/cjs/af-heading_5.cjs.entry.js +49 -14
- package/dist/cjs/af-icon-box.cjs.entry.js +4 -5
- package/dist/cjs/af-icon-button.cjs.entry.js +3 -4
- package/dist/cjs/af-icon-text.cjs.entry.js +4 -5
- package/dist/cjs/af-icon.cjs.entry.js +3 -4
- package/dist/cjs/af-illustrated-card.cjs.entry.js +4 -5
- package/dist/cjs/af-image.cjs.entry.js +4 -5
- package/dist/cjs/af-in-page-banner.cjs.entry.js +4 -5
- package/dist/cjs/af-inline.cjs.entry.js +4 -5
- package/dist/cjs/af-input.cjs.entry.js +4 -5
- package/dist/cjs/af-logo-well.cjs.entry.js +4 -5
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +8 -7
- package/dist/cjs/af-nav-accordion.cjs.entry.js +4 -5
- package/dist/cjs/af-nav-card.cjs.entry.js +3 -4
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +4 -5
- package/dist/cjs/af-nav-menu.cjs.entry.js +4 -5
- package/dist/cjs/af-number-badge.cjs.entry.js +4 -5
- package/dist/cjs/af-progress-line.cjs.entry.js +5 -6
- package/dist/cjs/af-radio.cjs.entry.js +4 -5
- package/dist/cjs/af-section.cjs.entry.js +5 -6
- package/dist/cjs/af-show.cjs.entry.js +4 -5
- package/dist/cjs/af-social-link.cjs.entry.js +4 -5
- package/dist/cjs/af-spacer.cjs.entry.js +4 -5
- package/dist/cjs/af-split-section.cjs.entry.js +5 -6
- package/dist/cjs/af-stack.cjs.entry.js +4 -5
- package/dist/cjs/af-stepper-step.cjs.entry.js +4 -5
- package/dist/cjs/af-stepper.cjs.entry.js +4 -5
- package/dist/cjs/af-switch.cjs.entry.js +4 -5
- package/dist/cjs/af-tab-bar.cjs.entry.js +4 -5
- package/dist/cjs/af-tab.cjs.entry.js +4 -5
- package/dist/cjs/af-tag.cjs.entry.js +5 -6
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +4 -5
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +4 -5
- package/dist/cjs/af-testimonial.cjs.entry.js +5 -6
- package/dist/cjs/af-text-image-nest.cjs.entry.js +4 -5
- package/dist/cjs/af-text-image.cjs.entry.js +3 -4
- package/dist/cjs/af-textarea.cjs.entry.js +4 -5
- package/dist/cjs/af-theme-override.cjs.entry.js +4 -5
- package/dist/cjs/af-typography-lockup.cjs.entry.js +4 -5
- package/dist/cjs/af-video-container.cjs.entry.js +4 -5
- package/dist/cjs/af-visually-hidden.cjs.entry.js +4 -5
- package/dist/cjs/affinda.cjs.js +3 -4
- package/dist/cjs/{index-n-fnurTP.js → index-C1ry3YPK.js} +462 -260
- package/dist/cjs/index.cjs.js +20 -21
- package/dist/cjs/loader.cjs.js +2 -3
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/af-accordion/af-accordion.js +1 -2
- package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -2
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +0 -1
- package/dist/collection/components/af-button/af-button.js +0 -1
- package/dist/collection/components/af-button-group/af-button-group.js +1 -2
- package/dist/collection/components/af-card/af-card.js +1 -2
- package/dist/collection/components/af-center/af-center.js +1 -2
- package/dist/collection/components/af-checkbox/af-checkbox.js +1 -2
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -2
- package/dist/collection/components/af-color-swatch/af-color-swatch.js +0 -1
- package/dist/collection/components/af-contact-item/af-contact-item.js +1 -2
- package/dist/collection/components/af-container/af-container.js +0 -1
- package/dist/collection/components/af-divider/af-divider.js +1 -2
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -3
- package/dist/collection/components/af-feature-card/af-feature-card.js +0 -1
- package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -2
- package/dist/collection/components/af-fieldset/af-fieldset.js +1 -2
- package/dist/collection/components/af-footer/af-footer.js +1 -2
- package/dist/collection/components/af-footer-column/af-footer-column.js +1 -2
- package/dist/collection/components/af-footer-link/af-footer-link.js +1 -2
- package/dist/collection/components/af-grid/af-grid.js +2 -3
- package/dist/collection/components/af-grid-callout/af-grid-callout.js +0 -1
- package/dist/collection/components/af-heading/af-heading.js +0 -1
- package/dist/collection/components/af-icon/af-icon.js +3 -3
- package/dist/collection/components/af-icon-box/af-icon-box.js +4 -4
- package/dist/collection/components/af-icon-button/af-icon-button.js +0 -1
- package/dist/collection/components/af-icon-text/af-icon-text.js +4 -4
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -2
- package/dist/collection/components/af-image/af-image.js +1 -2
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -2
- package/dist/collection/components/af-inline/af-inline.js +1 -2
- package/dist/collection/components/af-input/af-input.js +1 -2
- package/dist/collection/components/af-logo/af-logo.js +1 -2
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -2
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -2
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -3
- package/dist/collection/components/af-nav-card/af-nav-card.js +0 -1
- package/dist/collection/components/af-nav-item/af-nav-item.js +0 -1
- package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -2
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -2
- package/dist/collection/components/af-navbar/af-navbar.js +47 -6
- package/dist/collection/components/af-number-badge/af-number-badge.js +1 -2
- package/dist/collection/components/af-progress-line/af-progress-line.js +2 -3
- package/dist/collection/components/af-radio/af-radio.js +1 -2
- package/dist/collection/components/af-section/af-section.js +2 -3
- package/dist/collection/components/af-show/af-show.js +1 -2
- package/dist/collection/components/af-social-link/af-social-link.js +1 -2
- package/dist/collection/components/af-spacer/af-spacer.js +1 -2
- package/dist/collection/components/af-split-section/af-split-section.js +2 -3
- package/dist/collection/components/af-stack/af-stack.js +1 -2
- package/dist/collection/components/af-stepper/af-stepper.js +1 -2
- package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -2
- package/dist/collection/components/af-switch/af-switch.js +1 -2
- package/dist/collection/components/af-tab/af-tab.js +1 -2
- package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -2
- package/dist/collection/components/af-tag/af-tag.js +2 -3
- package/dist/collection/components/af-testimonial/af-testimonial.js +2 -3
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -2
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -2
- package/dist/collection/components/af-text/af-text.js +0 -1
- package/dist/collection/components/af-text-image/af-text-image.js +0 -1
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -2
- package/dist/collection/components/af-textarea/af-textarea.js +1 -2
- package/dist/collection/components/af-theme-override/af-theme-override.js +1 -2
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -2
- package/dist/collection/components/af-video-container/af-video-container.js +1 -2
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -2
- package/dist/collection/components.js +0 -1
- package/dist/collection/index.js +0 -1
- package/dist/components/af-accordion-item.js +1 -107
- package/dist/components/af-accordion.js +1 -128
- package/dist/components/af-aspect-ratio.js +1 -9
- package/dist/components/af-button-group.js +1 -9
- package/dist/components/af-button.js +1 -9
- package/dist/components/af-card.js +1 -9
- package/dist/components/af-center.js +1 -66
- package/dist/components/af-checkbox.js +1 -9
- package/dist/components/af-client-carousel.js +1 -53
- package/dist/components/af-color-swatch.js +1 -9
- package/dist/components/af-contact-item.js +1 -44
- package/dist/components/af-container.js +1 -9
- package/dist/components/af-divider.js +1 -66
- package/dist/components/af-feature-accordion.js +1 -136
- package/dist/components/af-feature-card.js +1 -9
- package/dist/components/af-feature-grid.js +1 -124
- package/dist/components/af-fieldset.js +1 -9
- package/dist/components/af-footer-column.js +1 -41
- package/dist/components/af-footer-link.js +1 -44
- package/dist/components/af-footer.js +1 -53
- package/dist/components/af-grid-callout.js +1 -82
- package/dist/components/af-grid.js +1 -71
- package/dist/components/af-heading.js +1 -9
- package/dist/components/af-icon-box.js +1 -9
- package/dist/components/af-icon-button.js +1 -9
- package/dist/components/af-icon-text.js +1 -78
- package/dist/components/af-icon.js +1 -9
- package/dist/components/af-illustrated-card.js +1 -9
- package/dist/components/af-image.js +1 -9
- package/dist/components/af-in-page-banner.js +1 -82
- package/dist/components/af-inline.js +1 -83
- package/dist/components/af-input.js +1 -9
- package/dist/components/af-logo-well.js +1 -38
- package/dist/components/af-logo.js +1 -9
- package/dist/components/af-nav-accordion-item.js +1 -117
- package/dist/components/af-nav-accordion.js +1 -106
- package/dist/components/af-nav-card.js +1 -62
- package/dist/components/af-nav-item.js +1 -9
- package/dist/components/af-nav-menu-nest.js +1 -67
- package/dist/components/af-nav-menu.js +1 -65
- package/dist/components/af-navbar.js +1 -9
- package/dist/components/af-number-badge.js +1 -66
- package/dist/components/af-progress-line.js +1 -9
- package/dist/components/af-radio.js +1 -9
- package/dist/components/af-section.js +1 -54
- package/dist/components/af-show.js +1 -46
- package/dist/components/af-social-link.js +1 -63
- package/dist/components/af-spacer.js +1 -69
- package/dist/components/af-split-section.js +1 -71
- package/dist/components/af-stack.js +1 -90
- package/dist/components/af-stepper-step.js +1 -44
- package/dist/components/af-stepper.js +1 -55
- package/dist/components/af-switch.js +1 -9
- package/dist/components/af-tab-bar.js +1 -9
- package/dist/components/af-tab.js +1 -9
- package/dist/components/af-tag.js +1 -9
- package/dist/components/af-testimonial-carousel.js +1 -131
- package/dist/components/af-testimonial-stat.js +1 -57
- package/dist/components/af-testimonial.js +1 -88
- package/dist/components/af-text-image-nest.js +1 -51
- package/dist/components/af-text-image.js +1 -94
- package/dist/components/af-text.js +1 -9
- package/dist/components/af-textarea.js +1 -9
- package/dist/components/af-theme-override.js +1 -44
- package/dist/components/af-typography-lockup.js +1 -9
- package/dist/components/af-video-container.js +1 -70
- package/dist/components/af-visually-hidden.js +1 -45
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -27
- package/dist/components/p--UJ_xE9Z.js +1 -0
- package/dist/components/p-0KrQFK77.js +1 -0
- package/dist/components/p-9SgEr6QK.js +1 -0
- package/dist/components/p-B6I3yxMd.js +1 -0
- package/dist/components/p-BCCbAFc1.js +1 -0
- package/dist/components/p-BLzlyxBT.js +1 -0
- package/dist/components/p-BUFbtjxU.js +1 -0
- package/dist/components/p-BXFj61qz.js +1 -0
- package/dist/components/p-BeVM-2kH.js +1 -0
- package/dist/components/p-BeX5VmwL.js +1 -0
- package/dist/components/p-BlfywPKX.js +1 -0
- package/dist/components/p-BqUK0ZTO.js +1 -0
- package/dist/components/p-BzH2LxRQ.js +1 -0
- package/dist/components/p-CDCZfKNt.js +1 -0
- package/dist/components/p-CHNaDIj5.js +1 -0
- package/dist/components/p-CTFMTG3E.js +1 -0
- package/dist/components/p-CTcar4TG.js +1 -0
- package/dist/components/p-CVQiSujq.js +1 -0
- package/dist/components/p-C_BrhG1Q.js +1 -0
- package/dist/components/p-DOJEJFNa.js +1 -0
- package/dist/components/p-DPujlxcb.js +1 -0
- package/dist/components/p-DRm58pvc.js +1 -0
- package/dist/components/p-DX19jO3u.js +1 -0
- package/dist/components/p-DsNqeD3z.js +1 -0
- package/dist/components/p-Dx31qPzk.js +1 -0
- package/dist/components/p-HhMv1A3-.js +1 -0
- package/dist/components/p-UTiuvQaz.js +1 -0
- package/dist/components/p-tB2jS8S_.js +1 -0
- package/dist/components/p-tF59ipRp.js +1 -0
- package/dist/esm/af-accordion-item.entry.js +7 -6
- package/dist/esm/af-accordion.entry.js +7 -6
- package/dist/esm/af-aspect-ratio.entry.js +3 -4
- package/dist/esm/af-button-group.entry.js +4 -5
- package/dist/esm/af-button.entry.js +3 -4
- package/dist/esm/af-card.entry.js +4 -5
- package/dist/esm/af-center.entry.js +4 -5
- package/dist/esm/af-checkbox.entry.js +4 -5
- package/dist/esm/af-client-carousel.entry.js +4 -5
- package/dist/esm/af-color-swatch.entry.js +3 -4
- package/dist/esm/af-contact-item.entry.js +4 -5
- package/dist/esm/af-container.entry.js +3 -4
- package/dist/esm/af-divider.entry.js +4 -5
- package/dist/esm/af-feature-accordion.entry.js +8 -7
- package/dist/esm/af-feature-card.entry.js +3 -4
- package/dist/esm/af-feature-grid.entry.js +7 -6
- package/dist/esm/af-fieldset.entry.js +4 -5
- package/dist/esm/af-footer-column.entry.js +4 -5
- package/dist/esm/af-footer-link.entry.js +4 -5
- package/dist/esm/af-footer.entry.js +4 -5
- package/dist/esm/af-grid-callout.entry.js +3 -4
- package/dist/esm/af-grid.entry.js +5 -6
- package/dist/esm/af-heading_5.entry.js +49 -14
- package/dist/esm/af-icon-box.entry.js +4 -5
- package/dist/esm/af-icon-button.entry.js +3 -4
- package/dist/esm/af-icon-text.entry.js +4 -5
- package/dist/esm/af-icon.entry.js +3 -4
- package/dist/esm/af-illustrated-card.entry.js +4 -5
- package/dist/esm/af-image.entry.js +4 -5
- package/dist/esm/af-in-page-banner.entry.js +4 -5
- package/dist/esm/af-inline.entry.js +4 -5
- package/dist/esm/af-input.entry.js +4 -5
- package/dist/esm/af-logo-well.entry.js +4 -5
- package/dist/esm/af-nav-accordion-item.entry.js +8 -7
- package/dist/esm/af-nav-accordion.entry.js +4 -5
- package/dist/esm/af-nav-card.entry.js +3 -4
- package/dist/esm/af-nav-menu-nest.entry.js +4 -5
- package/dist/esm/af-nav-menu.entry.js +4 -5
- package/dist/esm/af-number-badge.entry.js +4 -5
- package/dist/esm/af-progress-line.entry.js +5 -6
- package/dist/esm/af-radio.entry.js +4 -5
- package/dist/esm/af-section.entry.js +5 -6
- package/dist/esm/af-show.entry.js +4 -5
- package/dist/esm/af-social-link.entry.js +4 -5
- package/dist/esm/af-spacer.entry.js +4 -5
- package/dist/esm/af-split-section.entry.js +5 -6
- package/dist/esm/af-stack.entry.js +4 -5
- package/dist/esm/af-stepper-step.entry.js +4 -5
- package/dist/esm/af-stepper.entry.js +4 -5
- package/dist/esm/af-switch.entry.js +4 -5
- package/dist/esm/af-tab-bar.entry.js +4 -5
- package/dist/esm/af-tab.entry.js +4 -5
- package/dist/esm/af-tag.entry.js +5 -6
- package/dist/esm/af-testimonial-carousel.entry.js +4 -5
- package/dist/esm/af-testimonial-stat.entry.js +4 -5
- package/dist/esm/af-testimonial.entry.js +5 -6
- package/dist/esm/af-text-image-nest.entry.js +4 -5
- package/dist/esm/af-text-image.entry.js +3 -4
- package/dist/esm/af-textarea.entry.js +4 -5
- package/dist/esm/af-theme-override.entry.js +4 -5
- package/dist/esm/af-typography-lockup.entry.js +4 -5
- package/dist/esm/af-video-container.entry.js +4 -5
- package/dist/esm/af-visually-hidden.entry.js +4 -5
- package/dist/esm/affinda.js +4 -5
- package/dist/esm/{index-B0LVveHp.js → index-CPfAC9fk.js} +462 -260
- package/dist/esm/index.js +2 -3
- package/dist/esm/loader.js +3 -4
- package/dist/types/components/af-navbar/af-navbar.d.ts +18 -4
- package/dist/types/components.d.ts +524 -147
- package/dist/types/stencil-public-runtime.d.ts +110 -6
- package/package.json +1 -1
- package/dist/affinda/af-accordion-item.entry.esm.js.map +0 -1
- package/dist/affinda/af-accordion.entry.esm.js.map +0 -1
- package/dist/affinda/af-aspect-ratio.entry.esm.js.map +0 -1
- package/dist/affinda/af-button-group.entry.esm.js.map +0 -1
- package/dist/affinda/af-button.entry.esm.js.map +0 -1
- package/dist/affinda/af-card.entry.esm.js.map +0 -1
- package/dist/affinda/af-center.entry.esm.js.map +0 -1
- package/dist/affinda/af-checkbox.entry.esm.js.map +0 -1
- package/dist/affinda/af-client-carousel.entry.esm.js.map +0 -1
- package/dist/affinda/af-color-swatch.entry.esm.js.map +0 -1
- package/dist/affinda/af-contact-item.entry.esm.js.map +0 -1
- package/dist/affinda/af-container.entry.esm.js.map +0 -1
- package/dist/affinda/af-divider.entry.esm.js.map +0 -1
- package/dist/affinda/af-feature-accordion.entry.esm.js.map +0 -1
- package/dist/affinda/af-feature-card.entry.esm.js.map +0 -1
- package/dist/affinda/af-feature-grid.entry.esm.js.map +0 -1
- package/dist/affinda/af-fieldset.entry.esm.js.map +0 -1
- package/dist/affinda/af-footer-column.entry.esm.js.map +0 -1
- package/dist/affinda/af-footer-link.entry.esm.js.map +0 -1
- package/dist/affinda/af-footer.entry.esm.js.map +0 -1
- package/dist/affinda/af-grid-callout.entry.esm.js.map +0 -1
- package/dist/affinda/af-grid.entry.esm.js.map +0 -1
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +0 -1
- package/dist/affinda/af-icon-box.entry.esm.js.map +0 -1
- package/dist/affinda/af-icon-button.entry.esm.js.map +0 -1
- package/dist/affinda/af-icon-text.entry.esm.js.map +0 -1
- package/dist/affinda/af-icon.entry.esm.js.map +0 -1
- package/dist/affinda/af-illustrated-card.entry.esm.js.map +0 -1
- package/dist/affinda/af-image.entry.esm.js.map +0 -1
- package/dist/affinda/af-in-page-banner.entry.esm.js.map +0 -1
- package/dist/affinda/af-inline.entry.esm.js.map +0 -1
- package/dist/affinda/af-input.entry.esm.js.map +0 -1
- package/dist/affinda/af-logo-well.entry.esm.js.map +0 -1
- package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +0 -1
- package/dist/affinda/af-nav-accordion.entry.esm.js.map +0 -1
- package/dist/affinda/af-nav-card.entry.esm.js.map +0 -1
- package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +0 -1
- package/dist/affinda/af-nav-menu.entry.esm.js.map +0 -1
- package/dist/affinda/af-number-badge.entry.esm.js.map +0 -1
- package/dist/affinda/af-progress-line.entry.esm.js.map +0 -1
- package/dist/affinda/af-radio.entry.esm.js.map +0 -1
- package/dist/affinda/af-section.entry.esm.js.map +0 -1
- package/dist/affinda/af-show.entry.esm.js.map +0 -1
- package/dist/affinda/af-social-link.entry.esm.js.map +0 -1
- package/dist/affinda/af-spacer.entry.esm.js.map +0 -1
- package/dist/affinda/af-split-section.entry.esm.js.map +0 -1
- package/dist/affinda/af-stack.entry.esm.js.map +0 -1
- package/dist/affinda/af-stepper-step.entry.esm.js.map +0 -1
- package/dist/affinda/af-stepper.entry.esm.js.map +0 -1
- package/dist/affinda/af-switch.entry.esm.js.map +0 -1
- package/dist/affinda/af-tab-bar.entry.esm.js.map +0 -1
- package/dist/affinda/af-tab.entry.esm.js.map +0 -1
- package/dist/affinda/af-tag.entry.esm.js.map +0 -1
- package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +0 -1
- package/dist/affinda/af-testimonial-stat.entry.esm.js.map +0 -1
- package/dist/affinda/af-testimonial.entry.esm.js.map +0 -1
- package/dist/affinda/af-text-image-nest.entry.esm.js.map +0 -1
- package/dist/affinda/af-text-image.entry.esm.js.map +0 -1
- package/dist/affinda/af-textarea.entry.esm.js.map +0 -1
- package/dist/affinda/af-theme-override.entry.esm.js.map +0 -1
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +0 -1
- package/dist/affinda/af-video-container.entry.esm.js.map +0 -1
- package/dist/affinda/af-visually-hidden.entry.esm.js.map +0 -1
- package/dist/affinda/affinda.esm.js.map +0 -1
- package/dist/affinda/index.esm.js.map +0 -1
- package/dist/affinda/loader.esm.js.map +0 -1
- package/dist/affinda/p-04de9a0a.entry.js +0 -2
- package/dist/affinda/p-04de9a0a.entry.js.map +0 -1
- package/dist/affinda/p-07efc7a0.entry.js +0 -2
- package/dist/affinda/p-07efc7a0.entry.js.map +0 -1
- package/dist/affinda/p-08143c7e.entry.js +0 -2
- package/dist/affinda/p-08143c7e.entry.js.map +0 -1
- package/dist/affinda/p-0fb16377.entry.js +0 -2
- package/dist/affinda/p-0fb16377.entry.js.map +0 -1
- package/dist/affinda/p-0fcce1e4.entry.js +0 -2
- package/dist/affinda/p-0fcce1e4.entry.js.map +0 -1
- package/dist/affinda/p-122b6e96.entry.js +0 -2
- package/dist/affinda/p-122b6e96.entry.js.map +0 -1
- package/dist/affinda/p-19eb7cb9.entry.js +0 -2
- package/dist/affinda/p-19eb7cb9.entry.js.map +0 -1
- package/dist/affinda/p-1a87dd1c.entry.js +0 -2
- package/dist/affinda/p-1a87dd1c.entry.js.map +0 -1
- package/dist/affinda/p-202bac33.entry.js +0 -2
- package/dist/affinda/p-202bac33.entry.js.map +0 -1
- package/dist/affinda/p-2e50c27d.entry.js +0 -2
- package/dist/affinda/p-2e50c27d.entry.js.map +0 -1
- package/dist/affinda/p-2e750d43.entry.js.map +0 -1
- package/dist/affinda/p-2e8682a0.entry.js +0 -2
- package/dist/affinda/p-2e8682a0.entry.js.map +0 -1
- package/dist/affinda/p-302d0cf7.entry.js +0 -2
- package/dist/affinda/p-302d0cf7.entry.js.map +0 -1
- package/dist/affinda/p-3642589b.entry.js +0 -2
- package/dist/affinda/p-3642589b.entry.js.map +0 -1
- package/dist/affinda/p-389a6246.entry.js +0 -2
- package/dist/affinda/p-389a6246.entry.js.map +0 -1
- package/dist/affinda/p-391bb085.entry.js +0 -2
- package/dist/affinda/p-391bb085.entry.js.map +0 -1
- package/dist/affinda/p-3e16bb11.entry.js +0 -2
- package/dist/affinda/p-3e16bb11.entry.js.map +0 -1
- package/dist/affinda/p-3fc2a3dc.entry.js +0 -2
- package/dist/affinda/p-3fc2a3dc.entry.js.map +0 -1
- package/dist/affinda/p-45f76ad4.entry.js +0 -2
- package/dist/affinda/p-45f76ad4.entry.js.map +0 -1
- package/dist/affinda/p-4fcb61d1.entry.js +0 -2
- package/dist/affinda/p-4fcb61d1.entry.js.map +0 -1
- package/dist/affinda/p-517543bd.entry.js +0 -2
- package/dist/affinda/p-517543bd.entry.js.map +0 -1
- package/dist/affinda/p-5591bc79.entry.js +0 -2
- package/dist/affinda/p-5591bc79.entry.js.map +0 -1
- package/dist/affinda/p-6179957e.entry.js +0 -2
- package/dist/affinda/p-6179957e.entry.js.map +0 -1
- package/dist/affinda/p-62699653.entry.js +0 -2
- package/dist/affinda/p-62699653.entry.js.map +0 -1
- package/dist/affinda/p-6a5fa86a.entry.js +0 -2
- package/dist/affinda/p-6a5fa86a.entry.js.map +0 -1
- package/dist/affinda/p-6af1634a.entry.js.map +0 -1
- package/dist/affinda/p-6b92463e.entry.js +0 -2
- package/dist/affinda/p-6b92463e.entry.js.map +0 -1
- package/dist/affinda/p-6bbc1e24.entry.js +0 -2
- package/dist/affinda/p-6bbc1e24.entry.js.map +0 -1
- package/dist/affinda/p-709271d1.entry.js +0 -2
- package/dist/affinda/p-709271d1.entry.js.map +0 -1
- package/dist/affinda/p-76475b41.entry.js +0 -2
- package/dist/affinda/p-76475b41.entry.js.map +0 -1
- package/dist/affinda/p-78ff69a4.entry.js +0 -2
- package/dist/affinda/p-78ff69a4.entry.js.map +0 -1
- package/dist/affinda/p-79e6fc73.entry.js +0 -2
- package/dist/affinda/p-79e6fc73.entry.js.map +0 -1
- package/dist/affinda/p-7da3a28f.entry.js +0 -2
- package/dist/affinda/p-7da3a28f.entry.js.map +0 -1
- package/dist/affinda/p-86a9ff3e.entry.js +0 -2
- package/dist/affinda/p-86a9ff3e.entry.js.map +0 -1
- package/dist/affinda/p-9242c8d1.entry.js +0 -2
- package/dist/affinda/p-9242c8d1.entry.js.map +0 -1
- package/dist/affinda/p-933560e0.entry.js +0 -2
- package/dist/affinda/p-933560e0.entry.js.map +0 -1
- package/dist/affinda/p-B0LVveHp.js +0 -3
- package/dist/affinda/p-B0LVveHp.js.map +0 -1
- package/dist/affinda/p-a2c71cad.entry.js +0 -2
- package/dist/affinda/p-a2c71cad.entry.js.map +0 -1
- package/dist/affinda/p-a53d5549.entry.js +0 -2
- package/dist/affinda/p-a53d5549.entry.js.map +0 -1
- package/dist/affinda/p-a6402689.entry.js +0 -2
- package/dist/affinda/p-a6402689.entry.js.map +0 -1
- package/dist/affinda/p-a7574570.entry.js +0 -2
- package/dist/affinda/p-a7574570.entry.js.map +0 -1
- package/dist/affinda/p-a942522f.entry.js +0 -2
- package/dist/affinda/p-a942522f.entry.js.map +0 -1
- package/dist/affinda/p-accd917e.entry.js +0 -2
- package/dist/affinda/p-accd917e.entry.js.map +0 -1
- package/dist/affinda/p-ad9b0eec.entry.js +0 -2
- package/dist/affinda/p-ad9b0eec.entry.js.map +0 -1
- package/dist/affinda/p-b18767cf.entry.js +0 -2
- package/dist/affinda/p-b18767cf.entry.js.map +0 -1
- package/dist/affinda/p-b85e2bff.entry.js +0 -2
- package/dist/affinda/p-b85e2bff.entry.js.map +0 -1
- package/dist/affinda/p-bb67cf12.entry.js +0 -2
- package/dist/affinda/p-bb67cf12.entry.js.map +0 -1
- package/dist/affinda/p-c01eaa85.entry.js +0 -2
- package/dist/affinda/p-c01eaa85.entry.js.map +0 -1
- package/dist/affinda/p-c225ac8c.entry.js +0 -2
- package/dist/affinda/p-c225ac8c.entry.js.map +0 -1
- package/dist/affinda/p-c3d7872c.entry.js +0 -2
- package/dist/affinda/p-c3d7872c.entry.js.map +0 -1
- package/dist/affinda/p-c51a2687.entry.js +0 -2
- package/dist/affinda/p-c51a2687.entry.js.map +0 -1
- package/dist/affinda/p-d28b0860.entry.js +0 -2
- package/dist/affinda/p-d28b0860.entry.js.map +0 -1
- package/dist/affinda/p-d74a7ae9.entry.js +0 -2
- package/dist/affinda/p-d74a7ae9.entry.js.map +0 -1
- package/dist/affinda/p-e2f555fc.entry.js +0 -2
- package/dist/affinda/p-e2f555fc.entry.js.map +0 -1
- package/dist/affinda/p-e305c2b7.entry.js +0 -2
- package/dist/affinda/p-e305c2b7.entry.js.map +0 -1
- package/dist/affinda/p-e37fea2f.entry.js +0 -2
- package/dist/affinda/p-e37fea2f.entry.js.map +0 -1
- package/dist/affinda/p-ea02610f.entry.js +0 -2
- package/dist/affinda/p-ea02610f.entry.js.map +0 -1
- package/dist/affinda/p-ea0ccbce.entry.js +0 -2
- package/dist/affinda/p-ea0ccbce.entry.js.map +0 -1
- package/dist/affinda/p-eebb5101.entry.js +0 -2
- package/dist/affinda/p-eebb5101.entry.js.map +0 -1
- package/dist/affinda/p-f1dd31bd.entry.js +0 -2
- package/dist/affinda/p-f1dd31bd.entry.js.map +0 -1
- package/dist/affinda/p-f4d2a07d.entry.js +0 -2
- package/dist/affinda/p-f4d2a07d.entry.js.map +0 -1
- package/dist/affinda/p-f78dd237.entry.js +0 -2
- package/dist/affinda/p-f78dd237.entry.js.map +0 -1
- package/dist/affinda/p-f8bdddf5.entry.js +0 -2
- package/dist/affinda/p-f8bdddf5.entry.js.map +0 -1
- package/dist/affinda/p-fd772813.entry.js +0 -2
- package/dist/affinda/p-fd772813.entry.js.map +0 -1
- package/dist/cjs/af-accordion-item.entry.cjs.js.map +0 -1
- package/dist/cjs/af-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +0 -1
- package/dist/cjs/af-button-group.entry.cjs.js.map +0 -1
- package/dist/cjs/af-button.entry.cjs.js.map +0 -1
- package/dist/cjs/af-card.entry.cjs.js.map +0 -1
- package/dist/cjs/af-center.entry.cjs.js.map +0 -1
- package/dist/cjs/af-checkbox.entry.cjs.js.map +0 -1
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +0 -1
- package/dist/cjs/af-color-swatch.entry.cjs.js.map +0 -1
- package/dist/cjs/af-contact-item.entry.cjs.js.map +0 -1
- package/dist/cjs/af-container.entry.cjs.js.map +0 -1
- package/dist/cjs/af-divider.entry.cjs.js.map +0 -1
- package/dist/cjs/af-feature-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/af-feature-card.entry.cjs.js.map +0 -1
- package/dist/cjs/af-feature-grid.entry.cjs.js.map +0 -1
- package/dist/cjs/af-fieldset.entry.cjs.js.map +0 -1
- package/dist/cjs/af-footer-column.entry.cjs.js.map +0 -1
- package/dist/cjs/af-footer-link.entry.cjs.js.map +0 -1
- package/dist/cjs/af-footer.entry.cjs.js.map +0 -1
- package/dist/cjs/af-grid-callout.entry.cjs.js.map +0 -1
- package/dist/cjs/af-grid.entry.cjs.js.map +0 -1
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +0 -1
- package/dist/cjs/af-icon-box.entry.cjs.js.map +0 -1
- package/dist/cjs/af-icon-button.entry.cjs.js.map +0 -1
- package/dist/cjs/af-icon-text.entry.cjs.js.map +0 -1
- package/dist/cjs/af-icon.entry.cjs.js.map +0 -1
- package/dist/cjs/af-illustrated-card.entry.cjs.js.map +0 -1
- package/dist/cjs/af-image.entry.cjs.js.map +0 -1
- package/dist/cjs/af-in-page-banner.entry.cjs.js.map +0 -1
- package/dist/cjs/af-inline.entry.cjs.js.map +0 -1
- package/dist/cjs/af-input.entry.cjs.js.map +0 -1
- package/dist/cjs/af-logo-well.entry.cjs.js.map +0 -1
- package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +0 -1
- package/dist/cjs/af-nav-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/af-nav-card.entry.cjs.js.map +0 -1
- package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +0 -1
- package/dist/cjs/af-nav-menu.entry.cjs.js.map +0 -1
- package/dist/cjs/af-number-badge.entry.cjs.js.map +0 -1
- package/dist/cjs/af-progress-line.entry.cjs.js.map +0 -1
- package/dist/cjs/af-radio.entry.cjs.js.map +0 -1
- package/dist/cjs/af-section.entry.cjs.js.map +0 -1
- package/dist/cjs/af-show.entry.cjs.js.map +0 -1
- package/dist/cjs/af-social-link.entry.cjs.js.map +0 -1
- package/dist/cjs/af-spacer.entry.cjs.js.map +0 -1
- package/dist/cjs/af-split-section.entry.cjs.js.map +0 -1
- package/dist/cjs/af-stack.entry.cjs.js.map +0 -1
- package/dist/cjs/af-stepper-step.entry.cjs.js.map +0 -1
- package/dist/cjs/af-stepper.entry.cjs.js.map +0 -1
- package/dist/cjs/af-switch.entry.cjs.js.map +0 -1
- package/dist/cjs/af-tab-bar.entry.cjs.js.map +0 -1
- package/dist/cjs/af-tab.entry.cjs.js.map +0 -1
- package/dist/cjs/af-tag.entry.cjs.js.map +0 -1
- package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +0 -1
- package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +0 -1
- package/dist/cjs/af-testimonial.entry.cjs.js.map +0 -1
- package/dist/cjs/af-text-image-nest.entry.cjs.js.map +0 -1
- package/dist/cjs/af-text-image.entry.cjs.js.map +0 -1
- package/dist/cjs/af-textarea.entry.cjs.js.map +0 -1
- package/dist/cjs/af-theme-override.entry.cjs.js.map +0 -1
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +0 -1
- package/dist/cjs/af-video-container.entry.cjs.js.map +0 -1
- package/dist/cjs/af-visually-hidden.entry.cjs.js.map +0 -1
- package/dist/cjs/affinda.cjs.js.map +0 -1
- package/dist/cjs/index-n-fnurTP.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/collection/components/af-accordion/af-accordion.js.map +0 -1
- package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +0 -1
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +0 -1
- package/dist/collection/components/af-button/af-button.js.map +0 -1
- package/dist/collection/components/af-button-group/af-button-group.js.map +0 -1
- package/dist/collection/components/af-card/af-card.js.map +0 -1
- package/dist/collection/components/af-center/af-center.js.map +0 -1
- package/dist/collection/components/af-checkbox/af-checkbox.js.map +0 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +0 -1
- package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +0 -1
- package/dist/collection/components/af-contact-item/af-contact-item.js.map +0 -1
- package/dist/collection/components/af-container/af-container.js.map +0 -1
- package/dist/collection/components/af-divider/af-divider.js.map +0 -1
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +0 -1
- package/dist/collection/components/af-feature-card/af-feature-card.js.map +0 -1
- package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +0 -1
- package/dist/collection/components/af-fieldset/af-fieldset.js.map +0 -1
- package/dist/collection/components/af-footer/af-footer.js.map +0 -1
- package/dist/collection/components/af-footer-column/af-footer-column.js.map +0 -1
- package/dist/collection/components/af-footer-link/af-footer-link.js.map +0 -1
- package/dist/collection/components/af-grid/af-grid.js.map +0 -1
- package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +0 -1
- package/dist/collection/components/af-heading/af-heading.js.map +0 -1
- package/dist/collection/components/af-icon/af-icon.js.map +0 -1
- package/dist/collection/components/af-icon-box/af-icon-box.js.map +0 -1
- package/dist/collection/components/af-icon-button/af-icon-button.js.map +0 -1
- package/dist/collection/components/af-icon-text/af-icon-text.js.map +0 -1
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +0 -1
- package/dist/collection/components/af-image/af-image.js.map +0 -1
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +0 -1
- package/dist/collection/components/af-inline/af-inline.js.map +0 -1
- package/dist/collection/components/af-input/af-input.js.map +0 -1
- package/dist/collection/components/af-logo/af-logo.js.map +0 -1
- package/dist/collection/components/af-logo-well/af-logo-well.js.map +0 -1
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +0 -1
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +0 -1
- package/dist/collection/components/af-nav-card/af-nav-card.js.map +0 -1
- package/dist/collection/components/af-nav-item/af-nav-item.js.map +0 -1
- package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +0 -1
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +0 -1
- package/dist/collection/components/af-navbar/af-navbar.js.map +0 -1
- package/dist/collection/components/af-number-badge/af-number-badge.js.map +0 -1
- package/dist/collection/components/af-progress-line/af-progress-line.js.map +0 -1
- package/dist/collection/components/af-radio/af-radio.js.map +0 -1
- package/dist/collection/components/af-section/af-section.js.map +0 -1
- package/dist/collection/components/af-show/af-show.js.map +0 -1
- package/dist/collection/components/af-social-link/af-social-link.js.map +0 -1
- package/dist/collection/components/af-spacer/af-spacer.js.map +0 -1
- package/dist/collection/components/af-split-section/af-split-section.js.map +0 -1
- package/dist/collection/components/af-stack/af-stack.js.map +0 -1
- package/dist/collection/components/af-stepper/af-stepper.js.map +0 -1
- package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +0 -1
- package/dist/collection/components/af-switch/af-switch.js.map +0 -1
- package/dist/collection/components/af-tab/af-tab.js.map +0 -1
- package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +0 -1
- package/dist/collection/components/af-tag/af-tag.js.map +0 -1
- package/dist/collection/components/af-testimonial/af-testimonial.js.map +0 -1
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +0 -1
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +0 -1
- package/dist/collection/components/af-text/af-text.js.map +0 -1
- package/dist/collection/components/af-text-image/af-text-image.js.map +0 -1
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +0 -1
- package/dist/collection/components/af-textarea/af-textarea.js.map +0 -1
- package/dist/collection/components/af-theme-override/af-theme-override.js.map +0 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +0 -1
- package/dist/collection/components/af-video-container/af-video-container.js.map +0 -1
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +0 -1
- package/dist/collection/components.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/components/af-accordion-item.js.map +0 -1
- package/dist/components/af-accordion.js.map +0 -1
- package/dist/components/af-aspect-ratio.js.map +0 -1
- package/dist/components/af-button-group.js.map +0 -1
- package/dist/components/af-button.js.map +0 -1
- package/dist/components/af-card.js.map +0 -1
- package/dist/components/af-center.js.map +0 -1
- package/dist/components/af-checkbox.js.map +0 -1
- package/dist/components/af-client-carousel.js.map +0 -1
- package/dist/components/af-color-swatch.js.map +0 -1
- package/dist/components/af-contact-item.js.map +0 -1
- package/dist/components/af-container.js.map +0 -1
- package/dist/components/af-divider.js.map +0 -1
- package/dist/components/af-feature-accordion.js.map +0 -1
- package/dist/components/af-feature-card.js.map +0 -1
- package/dist/components/af-feature-grid.js.map +0 -1
- package/dist/components/af-fieldset.js.map +0 -1
- package/dist/components/af-footer-column.js.map +0 -1
- package/dist/components/af-footer-link.js.map +0 -1
- package/dist/components/af-footer.js.map +0 -1
- package/dist/components/af-grid-callout.js.map +0 -1
- package/dist/components/af-grid.js.map +0 -1
- package/dist/components/af-heading.js.map +0 -1
- package/dist/components/af-icon-box.js.map +0 -1
- package/dist/components/af-icon-button.js.map +0 -1
- package/dist/components/af-icon-text.js.map +0 -1
- package/dist/components/af-icon.js.map +0 -1
- package/dist/components/af-illustrated-card.js.map +0 -1
- package/dist/components/af-image.js.map +0 -1
- package/dist/components/af-in-page-banner.js.map +0 -1
- package/dist/components/af-inline.js.map +0 -1
- package/dist/components/af-input.js.map +0 -1
- package/dist/components/af-logo-well.js.map +0 -1
- package/dist/components/af-logo.js.map +0 -1
- package/dist/components/af-nav-accordion-item.js.map +0 -1
- package/dist/components/af-nav-accordion.js.map +0 -1
- package/dist/components/af-nav-card.js.map +0 -1
- package/dist/components/af-nav-item.js.map +0 -1
- package/dist/components/af-nav-menu-nest.js.map +0 -1
- package/dist/components/af-nav-menu.js.map +0 -1
- package/dist/components/af-navbar.js.map +0 -1
- package/dist/components/af-number-badge.js.map +0 -1
- package/dist/components/af-progress-line.js.map +0 -1
- package/dist/components/af-radio.js.map +0 -1
- package/dist/components/af-section.js.map +0 -1
- package/dist/components/af-show.js.map +0 -1
- package/dist/components/af-social-link.js.map +0 -1
- package/dist/components/af-spacer.js.map +0 -1
- package/dist/components/af-split-section.js.map +0 -1
- package/dist/components/af-stack.js.map +0 -1
- package/dist/components/af-stepper-step.js.map +0 -1
- package/dist/components/af-stepper.js.map +0 -1
- package/dist/components/af-switch.js.map +0 -1
- package/dist/components/af-tab-bar.js.map +0 -1
- package/dist/components/af-tab.js.map +0 -1
- package/dist/components/af-tag.js.map +0 -1
- package/dist/components/af-testimonial-carousel.js.map +0 -1
- package/dist/components/af-testimonial-stat.js.map +0 -1
- package/dist/components/af-testimonial.js.map +0 -1
- package/dist/components/af-text-image-nest.js.map +0 -1
- package/dist/components/af-text-image.js.map +0 -1
- package/dist/components/af-text.js.map +0 -1
- package/dist/components/af-textarea.js.map +0 -1
- package/dist/components/af-theme-override.js.map +0 -1
- package/dist/components/af-typography-lockup.js.map +0 -1
- package/dist/components/af-video-container.js.map +0 -1
- package/dist/components/af-visually-hidden.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/p-6uEhsUaO.js +0 -44
- package/dist/components/p-6uEhsUaO.js.map +0 -1
- package/dist/components/p-80hb0CR2.js +0 -71
- package/dist/components/p-80hb0CR2.js.map +0 -1
- package/dist/components/p-BBVslKpK.js +0 -59
- package/dist/components/p-BBVslKpK.js.map +0 -1
- package/dist/components/p-BHKA-yEm.js +0 -102
- package/dist/components/p-BHKA-yEm.js.map +0 -1
- package/dist/components/p-BHyABfs0.js +0 -92
- package/dist/components/p-BHyABfs0.js.map +0 -1
- package/dist/components/p-BIgPDyJK.js +0 -103
- package/dist/components/p-BIgPDyJK.js.map +0 -1
- package/dist/components/p-BXZ7aJQf.js +0 -372
- package/dist/components/p-BXZ7aJQf.js.map +0 -1
- package/dist/components/p-BfAQ7eko.js +0 -53
- package/dist/components/p-BfAQ7eko.js.map +0 -1
- package/dist/components/p-CAYG3IzP.js +0 -50
- package/dist/components/p-CAYG3IzP.js.map +0 -1
- package/dist/components/p-CFBeRDmV.js +0 -52
- package/dist/components/p-CFBeRDmV.js.map +0 -1
- package/dist/components/p-CLmCtN_R.js +0 -35
- package/dist/components/p-CLmCtN_R.js.map +0 -1
- package/dist/components/p-CNtgySkk.js +0 -48
- package/dist/components/p-CNtgySkk.js.map +0 -1
- package/dist/components/p-CUSad8vm.js +0 -74
- package/dist/components/p-CUSad8vm.js.map +0 -1
- package/dist/components/p-CxngDK-N.js +0 -1781
- package/dist/components/p-CxngDK-N.js.map +0 -1
- package/dist/components/p-D3UZ60qM.js +0 -45
- package/dist/components/p-D3UZ60qM.js.map +0 -1
- package/dist/components/p-DReSTue0.js +0 -48
- package/dist/components/p-DReSTue0.js.map +0 -1
- package/dist/components/p-DUQu3N38.js +0 -70
- package/dist/components/p-DUQu3N38.js.map +0 -1
- package/dist/components/p-DZ6UMG8G.js +0 -89
- package/dist/components/p-DZ6UMG8G.js.map +0 -1
- package/dist/components/p-D_xTKF7j.js +0 -55
- package/dist/components/p-D_xTKF7j.js.map +0 -1
- package/dist/components/p-DcJ8wKzl.js +0 -68
- package/dist/components/p-DcJ8wKzl.js.map +0 -1
- package/dist/components/p-Dd7Lt2QL.js +0 -81
- package/dist/components/p-Dd7Lt2QL.js.map +0 -1
- package/dist/components/p-DkvJiyn0.js +0 -73
- package/dist/components/p-DkvJiyn0.js.map +0 -1
- package/dist/components/p-DnHD91HB.js +0 -57
- package/dist/components/p-DnHD91HB.js.map +0 -1
- package/dist/components/p-Dvo_cxk-.js +0 -141
- package/dist/components/p-Dvo_cxk-.js.map +0 -1
- package/dist/components/p-Dwhi37rN.js +0 -127
- package/dist/components/p-Dwhi37rN.js.map +0 -1
- package/dist/components/p-Ws-qvw9w.js +0 -108
- package/dist/components/p-Ws-qvw9w.js.map +0 -1
- package/dist/components/p-nwZ2iAi9.js +0 -100
- package/dist/components/p-nwZ2iAi9.js.map +0 -1
- package/dist/components/p-pudFjW3W.js +0 -94
- package/dist/components/p-pudFjW3W.js.map +0 -1
- package/dist/components/p-zDoPXonz.js +0 -58
- package/dist/components/p-zDoPXonz.js.map +0 -1
- package/dist/esm/af-accordion-item.entry.js.map +0 -1
- package/dist/esm/af-accordion.entry.js.map +0 -1
- package/dist/esm/af-aspect-ratio.entry.js.map +0 -1
- package/dist/esm/af-button-group.entry.js.map +0 -1
- package/dist/esm/af-button.entry.js.map +0 -1
- package/dist/esm/af-card.entry.js.map +0 -1
- package/dist/esm/af-center.entry.js.map +0 -1
- package/dist/esm/af-checkbox.entry.js.map +0 -1
- package/dist/esm/af-client-carousel.entry.js.map +0 -1
- package/dist/esm/af-color-swatch.entry.js.map +0 -1
- package/dist/esm/af-contact-item.entry.js.map +0 -1
- package/dist/esm/af-container.entry.js.map +0 -1
- package/dist/esm/af-divider.entry.js.map +0 -1
- package/dist/esm/af-feature-accordion.entry.js.map +0 -1
- package/dist/esm/af-feature-card.entry.js.map +0 -1
- package/dist/esm/af-feature-grid.entry.js.map +0 -1
- package/dist/esm/af-fieldset.entry.js.map +0 -1
- package/dist/esm/af-footer-column.entry.js.map +0 -1
- package/dist/esm/af-footer-link.entry.js.map +0 -1
- package/dist/esm/af-footer.entry.js.map +0 -1
- package/dist/esm/af-grid-callout.entry.js.map +0 -1
- package/dist/esm/af-grid.entry.js.map +0 -1
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +0 -1
- package/dist/esm/af-icon-box.entry.js.map +0 -1
- package/dist/esm/af-icon-button.entry.js.map +0 -1
- package/dist/esm/af-icon-text.entry.js.map +0 -1
- package/dist/esm/af-icon.entry.js.map +0 -1
- package/dist/esm/af-illustrated-card.entry.js.map +0 -1
- package/dist/esm/af-image.entry.js.map +0 -1
- package/dist/esm/af-in-page-banner.entry.js.map +0 -1
- package/dist/esm/af-inline.entry.js.map +0 -1
- package/dist/esm/af-input.entry.js.map +0 -1
- package/dist/esm/af-logo-well.entry.js.map +0 -1
- package/dist/esm/af-nav-accordion-item.entry.js.map +0 -1
- package/dist/esm/af-nav-accordion.entry.js.map +0 -1
- package/dist/esm/af-nav-card.entry.js.map +0 -1
- package/dist/esm/af-nav-menu-nest.entry.js.map +0 -1
- package/dist/esm/af-nav-menu.entry.js.map +0 -1
- package/dist/esm/af-number-badge.entry.js.map +0 -1
- package/dist/esm/af-progress-line.entry.js.map +0 -1
- package/dist/esm/af-radio.entry.js.map +0 -1
- package/dist/esm/af-section.entry.js.map +0 -1
- package/dist/esm/af-show.entry.js.map +0 -1
- package/dist/esm/af-social-link.entry.js.map +0 -1
- package/dist/esm/af-spacer.entry.js.map +0 -1
- package/dist/esm/af-split-section.entry.js.map +0 -1
- package/dist/esm/af-stack.entry.js.map +0 -1
- package/dist/esm/af-stepper-step.entry.js.map +0 -1
- package/dist/esm/af-stepper.entry.js.map +0 -1
- package/dist/esm/af-switch.entry.js.map +0 -1
- package/dist/esm/af-tab-bar.entry.js.map +0 -1
- package/dist/esm/af-tab.entry.js.map +0 -1
- package/dist/esm/af-tag.entry.js.map +0 -1
- package/dist/esm/af-testimonial-carousel.entry.js.map +0 -1
- package/dist/esm/af-testimonial-stat.entry.js.map +0 -1
- package/dist/esm/af-testimonial.entry.js.map +0 -1
- package/dist/esm/af-text-image-nest.entry.js.map +0 -1
- package/dist/esm/af-text-image.entry.js.map +0 -1
- package/dist/esm/af-textarea.entry.js.map +0 -1
- package/dist/esm/af-theme-override.entry.js.map +0 -1
- package/dist/esm/af-typography-lockup.entry.js.map +0 -1
- package/dist/esm/af-video-container.entry.js.map +0 -1
- package/dist/esm/af-visually-hidden.entry.js.map +0 -1
- package/dist/esm/affinda.js.map +0 -1
- package/dist/esm/index-B0LVveHp.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-feature-grid.js","mappings":"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","names":["AfFeatureGrid","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-feature-grid/af-feature-grid.css?tag=af-feature-grid&encapsulation=scoped","src/components/af-feature-grid/af-feature-grid.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Base Feature Grid Styles\n ========================================================================== */\n\n.feature-grid {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n/* ==========================================================================\n Cards Container - CSS Grid Layout\n ========================================================================== */\n\n.feature-grid__cards {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 24px;\n width: 100%;\n max-width: 1440px;\n align-items: stretch;\n}\n\n/* Ensure feature cards fill their grid cells */\n.feature-grid__cards>af-feature-card {\n height: 100%;\n}\n\n/* Column variants */\n.feature-grid--cols-3 .feature-grid__cards {\n grid-template-columns: repeat(3, 1fr);\n}\n\n.feature-grid--cols-2 .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.feature-grid--cols-1 .feature-grid__cards {\n grid-template-columns: 1fr;\n}\n\n/* ==========================================================================\n Progress Line (scroll mode indicator)\n ========================================================================== */\n\n.feature-grid__progress {\n display: none;\n width: 100%;\n margin-top: 16px;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (max-width: 768px)\n ========================================================================== */\n\n@media (max-width: 768px) {\n .feature-grid__cards {\n gap: 16px;\n }\n\n /* Mobile List Mode - single column stack */\n .feature-grid--mobile-list .feature-grid__cards {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n /* Mobile Grid Mode - keep 2 columns */\n .feature-grid--mobile-grid .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n\n /* Mobile Scroll Mode - horizontal scroll */\n .feature-grid--mobile-scroll .feature-grid__cards {\n display: flex;\n flex-wrap: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n gap: 16px;\n padding-bottom: 8px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .feature-grid--mobile-scroll .feature-grid__cards::-webkit-scrollbar {\n display: none;\n }\n\n .feature-grid--mobile-scroll .feature-grid__cards>af-feature-card {\n flex: 0 0 280px;\n scroll-snap-align: start;\n }\n\n .feature-grid--mobile-scroll .feature-grid__progress {\n display: block;\n }\n}\n\n/* ==========================================================================\n Tablet breakpoint (769px - 1024px)\n ========================================================================== */\n\n@media (min-width: 769px) and (max-width: 1024px) {\n .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .feature-grid--cols-3 .feature-grid__cards,\n .feature-grid--cols-4 .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n}","import { Component, Prop, State, h, Host, Element, Watch } from '@stencil/core';\n\n/**\n * Feature Grid component - CSS Grid container for feature cards.\n *\n * Desktop: Configurable columns (1-4)\n * Mobile: List (stacked), horizontal scroll, or 2-column grid\n *\n * @slot - Feature card components (af-feature-card)\n */\n@Component({\n tag: 'af-feature-grid',\n styleUrl: 'af-feature-grid.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureGrid {\n @Element() host!: HTMLElement;\n\n /**\n * Number of columns on desktop (1-4).\n */\n @Prop() columns: 1 | 2 | 3 | 4 = 4;\n\n /**\n * Mobile layout behavior.\n * - 'list': Vertical stack (1 column)\n * - 'scroll': Horizontal scroll with progress indicator\n * - 'grid': Maintain 2-column grid on mobile\n */\n @Prop() mobileLayout: 'list' | 'scroll' | 'grid' = 'list';\n\n @State() scrollProgress: number = 0;\n\n private scrollContainer: HTMLElement | undefined;\n private observer: MutationObserver | undefined;\n private resizeObserver: ResizeObserver | undefined;\n\n componentDidLoad() {\n this.setupScrollListener();\n\n // Watch for cards being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.setupScrollListener();\n });\n\n this.observer.observe(this.host, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n @Watch('mobileLayout')\n onMobileLayoutChange() {\n this.setupScrollListener();\n }\n\n private setupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n }\n\n requestAnimationFrame(() => {\n this.scrollContainer = this.host.querySelector('.feature-grid__cards') as HTMLElement;\n\n if (this.scrollContainer && this.mobileLayout === 'scroll') {\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll();\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.resizeObserver = new ResizeObserver(() => {\n this.handleScroll();\n });\n this.resizeObserver.observe(this.scrollContainer);\n }\n });\n }\n\n private handleScroll = () => {\n if (!this.scrollContainer) return;\n\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainer;\n const maxScroll = scrollWidth - clientWidth;\n\n if (maxScroll > 0) {\n this.scrollProgress = scrollLeft / maxScroll;\n } else {\n this.scrollProgress = 0;\n }\n };\n\n render() {\n const gridClasses = {\n 'feature-grid': true,\n [`feature-grid--cols-${this.columns}`]: true,\n [`feature-grid--mobile-${this.mobileLayout}`]: true,\n };\n\n const showProgressLine = this.mobileLayout === 'scroll';\n\n return (\n <Host>\n <div class={gridClasses}>\n <div class=\"feature-grid__cards\">\n <slot></slot>\n </div>\n\n {showProgressLine && (\n <div class=\"feature-grid__progress\">\n <af-progress-line progress={this.scrollProgress} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-fieldset.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-footer-column.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,8iBAA8iB;;MCY3jBA,gBAAc,iBAAAC,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;AAN3B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE;AAgB7B;IAdC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,IAAI,CAAC,OAAO,KACX,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,wBAAwB,EAAE,EAAA,IAAI,CAAC,OAAO,CAAM,CACvD,EACD,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC7B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACV,CACD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfFooterColumn","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer-column/af-footer-column.css?tag=af-footer-column&encapsulation=scoped","src/components/af-footer-column/af-footer-column.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer-column__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer-column__list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer-column__list ::slotted(li) {\n margin: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer navigation column component\n * Used within af-footer to create navigation link groups\n */\n@Component({\n tag: 'af-footer-column',\n styleUrl: 'af-footer-column.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterColumn {\n /** Column heading */\n @Prop() heading: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"footer-column\">\n {this.heading && (\n <h5 class=\"footer-column__heading\">{this.heading}</h5>\n )}\n <ul class=\"footer-column__list\">\n <slot></slot>\n </ul>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-footer-link.js","mappings":";;AAAA,MAAM,eAAe,GAAG,ifAAif;;MCY5fA,cAAY,iBAAAC,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AANzB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAI,CAAA,IAAA,GAAW,GAAG;;AAGlB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAuBlC;IArBC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,qBAAqB,GAAG,SAAS,EAAA,EAEtD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,IAAI,CAAC,QAAQ,KACZ,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAC5F,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CACnL,CACP,CACC,CACD,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfFooterLink","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer-link/af-footer-link.css?tag=af-footer-link&encapsulation=scoped","src/components/af-footer-link/af-footer-link.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\nli {\n margin: 0;\n list-style: none;\n}\n\n.footer-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer-link:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer-link__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer link component\n * Styled link for use in footer navigation columns\n */\n@Component({\n tag: 'af-footer-link',\n styleUrl: 'af-footer-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Whether this is an external link (opens in new tab) */\n @Prop() external: boolean = false;\n\n render() {\n return (\n <Host>\n <li>\n <a \n href={this.href} \n class=\"footer-link\"\n target={this.external ? '_blank' : undefined}\n rel={this.external ? 'noopener noreferrer' : undefined}\n >\n <slot></slot>\n {this.external && (\n <svg class=\"footer-link__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </a>\n </li>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-footer.js","mappings":"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","names":["AfFooter","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 120px 0 0; /* Extra padding at top for overlapping cards */\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n background-color: #22c55e;\n}\n\n.footer__status-dot--issue {\n background-color: #ef4444;\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n padding-left: 24px;\n padding-right: 24px;\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: 16px;\n padding-right: 16px;\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-grid-callout.js","mappings":";;;AAAA,MAAM,gBAAgB,GAAG,wrGAAwrG;;MC0CpsGA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE7B;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAqB,MAAM;AAEhD;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAc,CAAC;AAE9B;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAiE3C;IA/DC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;AAEhC,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,yBAAyB,EAAE,QAAQ;YACnC,wBAAwB,EAAE,CAAC,QAAQ;AACnC,YAAA,CAAC,uBAAuB,IAAI,CAAC,aAAa,CAAE,CAAA,GAAG,QAAQ;SACxD;AAED,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;SACpD;QAED,MAAM,WAAW,GAAG,MAAK;AACvB,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;AAE1B,YAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qBAAqB,EAC3B,CAAA,CACE;AAEV,SAAC;QAED,MAAM,aAAa,GAAG,OACpB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAA,CAAA,sBAAA,EAAA,EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,uBAAuB,EAAA,EAE7B,CAAa,CAAA,MAAA,EAAA,IAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,CACc,EAEvB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,WAAW,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,EAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,KAAK,GAAQ,CACpB,CACF,CACP;AAED,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EACzB,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,WAAW,EAAE,EAC9C,aAAa,EAAE,EACf,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,WAAW,EAAE,CAC5C,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfGridCallout","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-grid-callout/af-grid-callout.css?tag=af-grid-callout&encapsulation=scoped","src/components/af-grid-callout/af-grid-callout.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.grid-callout {\n display: flex;\n width: 100%;\n gap: 40px;\n align-items: stretch;\n}\n\n/* ==========================================================================\n Image Container - Pill shape with rounded right edge\n ========================================================================== */\n\n.grid-callout__image-container {\n flex: 0 0 auto;\n width: 45%;\n min-height: 400px;\n position: relative;\n overflow: hidden;\n}\n\n/* Left position - rounded on right side */\n.grid-callout--image-left .grid-callout__image-container {\n border-radius: 0 4000px 4000px 0;\n margin-left: calc(-1 * var(--container-padding, 80px));\n}\n\n/* Right position - rounded on left side */\n.grid-callout--image-right .grid-callout__image-container {\n border-radius: 4000px 0 0 4000px;\n margin-right: calc(-1 * var(--container-padding, 80px));\n}\n\n.grid-callout__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n/* ==========================================================================\n Content Area\n ========================================================================== */\n\n.grid-callout__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 48px;\n padding: 40px 0;\n}\n\n/* Add left padding when image is on left */\n.grid-callout--image-left .grid-callout__content {\n padding-left: 40px;\n}\n\n/* Add right padding when image is on right */\n.grid-callout--image-right .grid-callout__content {\n padding-right: 40px;\n}\n\n/* No image layout - full width content */\n.grid-callout--no-image {\n flex-direction: column;\n}\n\n.grid-callout--no-image .grid-callout__content {\n padding: 0;\n}\n\n.grid-callout__heading {\n max-width: 840px;\n}\n\n/* ==========================================================================\n Items Grid\n ========================================================================== */\n\n.grid-callout__items {\n display: grid;\n gap: 40px;\n width: 100%;\n}\n\n.grid-callout__items--cols-2 {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.grid-callout__items--cols-3 {\n grid-template-columns: repeat(3, 1fr);\n}\n\n.grid-callout__items--cols-4 {\n grid-template-columns: repeat(4, 1fr);\n}\n\n/* ==========================================================================\n CTA Area\n ========================================================================== */\n\n.grid-callout__cta {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.grid-callout__cta:empty {\n display: none;\n}\n\n/* ==========================================================================\n Responsive - Tablet\n ========================================================================== */\n\n@media (max-width: 1024px) {\n .grid-callout {\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: 40%;\n }\n\n .grid-callout__content {\n gap: 40px;\n }\n\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .grid-callout__items {\n gap: 32px;\n }\n}\n\n/* ==========================================================================\n Responsive - Mobile\n ========================================================================== */\n\n@media (max-width: 768px) {\n .grid-callout {\n flex-direction: column;\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: calc(100% + 2 * var(--container-padding, 20px));\n min-height: 280px;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n border-radius: 0;\n }\n\n /* Reset rounded corners on mobile */\n .grid-callout--image-left .grid-callout__image-container,\n .grid-callout--image-right .grid-callout__image-container {\n border-radius: 0;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n }\n\n .grid-callout__content {\n padding: 0;\n gap: 32px;\n }\n\n .grid-callout--image-left .grid-callout__content,\n .grid-callout--image-right .grid-callout__content {\n padding-left: 0;\n padding-right: 0;\n }\n\n .grid-callout__items {\n grid-template-columns: 1fr;\n gap: 32px;\n }\n\n .grid-callout__items--cols-2,\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: 1fr;\n }\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * GridCallout organism - a marketing section combining an optional pill-shaped image \n * with a grid of IconText feature items.\n * \n * Composes:\n * - Pill-shaped image container (optional)\n * - Heading via af-typography-lockup\n * - Grid of af-icon-text items\n * - Optional CTA button\n * \n * Inherits theme colors from parent af-section via CSS custom properties.\n * \n * @slot - Main heading text\n * @slot description - Optional description/subheading text\n * @slot items - IconText components for the feature grid\n * @slot cta - CTA button(s) at the bottom\n * \n * @example\n * ```html\n * <af-section theme=\"mist-green\">\n * <af-grid-callout image-src=\"/team.jpg\" image-alt=\"Team photo\">\n * Affinda blends AI and engineering\n * <span slot=\"description\">Optional description text.</span>\n * \n * <af-icon-text slot=\"items\" icon=\"settings\">\n * Feature One\n * <span slot=\"description\">Feature description.</span>\n * </af-icon-text>\n * \n * <af-button slot=\"cta\" variant=\"primary\">Learn more</af-button>\n * </af-grid-callout>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-grid-callout',\n styleUrl: 'af-grid-callout.css',\n shadow: false,\n scoped: true,\n})\nexport class AfGridCallout {\n /**\n * Image source URL for the pill-shaped image\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the image (required for accessibility when imageSrc is provided)\n */\n @Prop() imageAlt: string = '';\n\n /**\n * Position of the image relative to the content\n */\n @Prop() imagePosition: 'left' | 'right' = 'left';\n\n /**\n * Number of columns for the IconText grid on desktop\n */\n @Prop() columns: 2 | 3 | 4 = 2;\n\n /**\n * Heading size for the main title\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n render() {\n const hasImage = !!this.imageSrc;\n \n const containerClasses = {\n 'grid-callout': true,\n 'grid-callout--has-image': hasImage,\n 'grid-callout--no-image': !hasImage,\n [`grid-callout--image-${this.imagePosition}`]: hasImage,\n };\n\n const gridClasses = {\n 'grid-callout__items': true,\n [`grid-callout__items--cols-${this.columns}`]: true,\n };\n\n const renderImage = () => {\n if (!hasImage) return null;\n \n return (\n <div class=\"grid-callout__image-container\">\n <img \n src={this.imageSrc} \n alt={this.imageAlt}\n class=\"grid-callout__image\"\n />\n </div>\n );\n };\n\n const renderContent = () => (\n <div class=\"grid-callout__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"grid-callout__heading\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n </af-typography-lockup>\n\n <div class={gridClasses}>\n <slot name=\"items\"></slot>\n </div>\n\n <div class=\"grid-callout__cta\">\n <slot name=\"cta\"></slot>\n </div>\n </div>\n );\n\n return (\n <Host>\n <div class={containerClasses}>\n {this.imagePosition === 'left' && renderImage()}\n {renderContent()}\n {this.imagePosition === 'right' && renderImage()}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-grid.js","mappings":";;AAAA,MAAM,SAAS,GAAG,udAAud;;MCiB5dA,QAAM,iBAAAC,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;AALnB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,CAAC;AAiB5B;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AA2BjC;IAzBC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,OAAO,EAAE,SAAS;SACnB;QAED,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC3D,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC7E,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;AACpF,gBAAA,YAAY,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AACxC,gBAAA,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACX,aAAA,EAAA,EAE3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfGrid","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-grid/af-grid.css?tag=af-grid&encapsulation=shadow","src/components/af-grid/af-grid.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--grid-columns), 1fr);\n gap: var(--grid-gap);\n align-items: var(--grid-align);\n}\n\n/* Large breakpoint: 1024px and below */\n@media (max-width: 1024px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-lg), 1fr);\n }\n}\n\n/* Medium breakpoint: 768px and below */\n@media (max-width: 768px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-md), 1fr);\n }\n}\n\n/* Small breakpoint: 375px and below */\n@media (max-width: 375px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-sm), 1fr);\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Columns = 1 | 2 | 3 | 4 | 5 | 6 | 12;\ntype Align = 'start' | 'center' | 'end' | 'stretch';\n\n/**\n * Generic CSS Grid component for flexible column layouts.\n * Supports responsive column counts at different breakpoints.\n *\n * @slot - Grid items\n */\n@Component({\n tag: 'af-grid',\n styleUrl: 'af-grid.css',\n shadow: true,\n})\nexport class AfGrid {\n /**\n * Number of columns at the default (largest) breakpoint.\n */\n @Prop() columns: Columns = 3;\n\n /**\n * Number of columns at the large breakpoint (1024px and below).\n */\n @Prop() columnsLg?: Columns;\n\n /**\n * Number of columns at the medium breakpoint (768px and below).\n */\n @Prop() columnsMd?: Columns;\n\n /**\n * Number of columns at the small breakpoint (375px and below).\n */\n @Prop() columnsSm?: Columns;\n\n /**\n * Gap between grid items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items within their grid cells.\n */\n @Prop() align: Align = 'stretch';\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'start',\n center: 'center',\n end: 'end',\n stretch: 'stretch',\n };\n\n return (\n <Host\n style={{\n '--grid-columns': String(this.columns),\n '--grid-columns-lg': String(this.columnsLg ?? this.columns),\n '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),\n '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),\n '--grid-gap': `var(--space-${this.gap})`,\n '--grid-align': alignMap[this.align],\n } as Record<string, string>}\n >\n <div class=\"grid\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-heading.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-icon-box.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-icon-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-icon-text.js","mappings":";;;;;AAAA,MAAM,aAAa,GAAG,yeAAye;;MC+BlfA,YAAU,iBAAAC,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;AANvB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAE1C;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAA8B,UAAU;AAE3D;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAkC,SAAS;AAmC5D;IAjCC,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,CAAC,cAAc,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;SACzC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAA,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,EAAC,iBAAiB,EACV,CAAA,EAEf,CAAA,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,mBAAmB,EAAA,EAEzB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACvB,CACc,CACnB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfIconText","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-icon-text/af-icon-text.css?tag=af-icon-text&encapsulation=scoped","src/components/af-icon-text/af-icon-text.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.icon-text {\n display: flex;\n width: 100%;\n}\n\n/* Vertical orientation - icon above text */\n.icon-text--vertical {\n flex-direction: column;\n gap: 24px;\n align-items: flex-start;\n}\n\n/* Horizontal orientation - icon beside text */\n.icon-text--horizontal {\n flex-direction: row;\n gap: 20px;\n align-items: flex-start;\n}\n\n.icon-text__icon {\n flex-shrink: 0;\n}\n\n.icon-text__lockup {\n flex: 1;\n min-width: 0;\n}\n\n/* Mobile adjustments */\n@media (max-width: 768px) {\n .icon-text--vertical {\n gap: 20px;\n }\n\n .icon-text--horizontal {\n gap: 16px;\n }\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconText molecule - combines an IconBox with a TypographyLockup for feature items.\n * \n * Composes:\n * - af-icon-box: Themed icon container\n * - af-typography-lockup: Heading, description, and button slots\n * \n * Inherits theme colors from parent Section via CSS custom properties.\n * \n * @slot - Heading text content (passed to TypographyLockup)\n * @slot description - Body/description text\n * @slot buttons - Action buttons (typically ghost style)\n * \n * @example\n * ```html\n * <af-icon-text icon=\"settings\" heading-size=\"4\">\n * Feature Heading\n * <span slot=\"description\">Feature description text.</span>\n * <af-button slot=\"buttons\" variant=\"ghost\">Learn more</af-button>\n * </af-icon-text>\n * ```\n */\n@Component({\n tag: 'af-icon-text',\n styleUrl: 'af-icon-text.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconText {\n /**\n * The icon name to display in the IconBox\n */\n @Prop() icon!: IconName;\n\n /**\n * Heading size for the typography lockup (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 4;\n\n /**\n * Layout orientation\n * - 'vertical': Icon above text (default, used in grid layouts)\n * - 'horizontal': Icon beside text (used in compact layouts)\n */\n @Prop() orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Size of the icon box\n */\n @Prop() iconSize: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-text': true,\n [`icon-text--${this.orientation}`]: true,\n };\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon-box \n icon={this.icon} \n size={this.iconSize}\n class=\"icon-text__icon\"\n ></af-icon-box>\n \n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"icon-text__lockup\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-icon.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-illustrated-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-image.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-in-page-banner.js","mappings":"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","names":["AfInPageBanner","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-in-page-banner/af-in-page-banner.css?tag=af-in-page-banner&encapsulation=scoped","src/components/af-in-page-banner/af-in-page-banner.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Banner Container\n \n Design specs from Figma:\n - Desktop: max-width 1280px, gap 40px, left padding 40px, right padding 148px\n - Border radius: 32px (desktop), 24px (mobile)\n - Content padding vertical: 48px (margins/margin TB tight)\n ========================================================================== */\n\n.banner {\n position: relative;\n display: flex;\n align-items: center;\n gap: 40px;\n padding-left: 40px;\n padding-right: 148px;\n padding-top: 0;\n padding-bottom: 0;\n border-radius: var(--radii-card-level-1, 32px);\n overflow: hidden;\n max-width: 1280px;\n width: 100%;\n}\n\n/* ==========================================================================\n Theme Variants - Background Colors\n \n Colors from Figma:\n - mist-green: #c6d5d1 (background/base)\n - inkwell: #14343b (Colour/Brand/Inkwell)\n - soft-clay: #c0ab8d (softclay-400)\n - white-ivory: #fff9ee (background/ivory-paper)\n ========================================================================== */\n\n.banner.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-400, #2b484f);\n \n /* Buttons - ice primary, inkwell secondary */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n.banner.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n \n /* Typography - light colors on dark background */\n --banner-heading-color: var(--colour-brand-mist-green, #c6d5d1);\n --banner-body-color: var(--colour-inkwell-100, #d0d6d8);\n \n /* Buttons - ice primary, white secondary */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n}\n\n.banner.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-450, #203e45);\n \n /* Buttons */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n.banner.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-400, #2b484f);\n \n /* Buttons */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n Decorative Wave Overlay\n \n Figma specs:\n - Position: bottom -17.41px, right -156px\n - Size: 521px x 323px\n - Fill colors per theme\n ========================================================================== */\n\n.banner__wave-overlay {\n position: absolute;\n bottom: -17px;\n right: -156px;\n width: 521px;\n height: 323px;\n pointer-events: none;\n z-index: 0;\n}\n\n.banner__wave-svg {\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Theme-specific Wave Colors\n The SVG uses currentColor, so we set color on the overlay container.\n ========================================================================== */\n\n.banner.theme-mist-green .banner__wave-overlay {\n color: #d1ddda;\n}\n\n.banner.theme-inkwell .banner__wave-overlay {\n color: rgba(255, 255, 255, 0.06);\n}\n\n.banner.theme-soft-clay .banner__wave-overlay {\n color: rgba(20, 52, 59, 0.06);\n}\n\n.banner.theme-white-ivory .banner__wave-overlay {\n color: rgba(20, 52, 59, 0.04);\n}\n\n/* ==========================================================================\n Illustration Area\n \n Figma specs:\n - Desktop: max 360px x 360px, aspect ratio preserved\n - Mobile: 212px x 212px, positioned absolute top-right\n ========================================================================== */\n\n.banner__illustration {\n position: relative;\n z-index: 1;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 360px;\n height: 360px;\n max-width: 360px;\n max-height: 360px;\n aspect-ratio: 1;\n}\n\n.banner__illustration-img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* Allow slotted content to fill the illustration area */\n.banner__illustration ::slotted(*) {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* ==========================================================================\n Content Area (Typography Lockup)\n \n Figma specs:\n - Vertical padding: 48px (margins/margin TB tight)\n - Gap between copy and buttons: 40px\n - Gap between heading and description: 16px\n - Max-width for copy: 840px\n ========================================================================== */\n\n.banner__content {\n position: relative;\n z-index: 1;\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 40px;\n padding-top: var(--margins-margin-tb-tight, 48px);\n padding-bottom: var(--margins-margin-tb-tight, 48px);\n padding-right: 0;\n padding-left: 0;\n}\n\n.banner__copy {\n display: flex;\n flex-direction: column;\n gap: 16px;\n max-width: 840px;\n width: 100%;\n white-space: normal;\n}\n\n/* ==========================================================================\n Heading\n \n Figma specs:\n - Desktop: 44px, line-height 1, letter-spacing -0.88px (-2%)\n - Mobile: 32px, line-height 1, letter-spacing -0.64px (-2%)\n - Font: Typography/primaryFont (NeuSans), weight: Typography/headingWeight (500)\n ========================================================================== */\n\n.banner__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--typography-headingweight, 500);\n font-size: 44px;\n line-height: 1;\n letter-spacing: -0.88px;\n color: var(--banner-heading-color, var(--colour-brand-inkwell, #14343b));\n margin: 0;\n white-space: normal;\n}\n\n/* ==========================================================================\n Description\n \n Figma specs:\n - Font size: 18px\n - Line height: 26px\n - Font: Typography/primaryFont, weight: Typography/bodyWeight (400)\n - Color: typography/body-default #2b484f (or theme variant)\n ========================================================================== */\n\n.banner__description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--typography-bodyweight, 400);\n font-size: 18px;\n line-height: 26px;\n color: var(--banner-body-color, var(--colour-inkwell-400, #2b484f));\n margin: 0;\n white-space: normal;\n}\n\n/* ==========================================================================\n Button Group\n \n Figma specs:\n - Desktop: horizontal, gap 12px\n - Mobile: vertical, full-width buttons, gap 12px\n - Button padding: 24px horizontal, 12px vertical\n - Button border-radius: 9999px (radii/button)\n ========================================================================== */\n\n.banner__buttons {\n display: flex;\n flex-direction: row;\n gap: 12px;\n align-items: flex-start;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (≤768px)\n \n Figma mobile specs:\n - Width: 100%\n - Border radius: 24px\n - Padding top: 224px (space for illustration)\n - Content padding: pb 48px, pt 16px, px 28px\n - Content min-height: 320px\n - Illustration: 212px x 212px, positioned at top: 12px, centered horizontally\n ========================================================================== */\n\n@media (max-width: 768px) {\n .banner {\n flex-direction: column;\n align-items: stretch;\n padding: 224px 0 0 0;\n border-radius: var(--radii-card-level-1-mobile, 24px);\n max-width: 100%;\n min-height: auto;\n }\n\n /* Wave overlay hidden on mobile */\n .banner__wave-overlay {\n display: none;\n }\n\n /* Illustration positioned at top-right on mobile */\n .banner__illustration {\n position: absolute;\n top: 12px;\n left: auto;\n right: 0;\n transform: none;\n width: 212px;\n height: 212px;\n max-width: 280px;\n max-height: 280px;\n }\n\n /* Content takes full width with min-height */\n .banner__content {\n width: 100%;\n min-height: 320px;\n padding: 16px 28px 48px 28px;\n gap: 40px;\n flex: none;\n }\n\n /* Ensure copy section doesn't constrain width on mobile */\n .banner__copy {\n max-width: 100%;\n }\n\n /* Mobile heading size */\n .banner__heading {\n font-size: 32px;\n letter-spacing: -0.64px;\n }\n\n /* Buttons stack vertically on mobile, full width */\n .banner__buttons {\n flex-direction: column;\n align-items: stretch;\n gap: 12px;\n width: 100%;\n }\n\n /* Ensure af-button takes full width on mobile */\n .banner__buttons {\n --af-button-width: 100%;\n }\n\n .banner__buttons af-button {\n display: block;\n width: 100%;\n }\n}\n\n/* ==========================================================================\n Small Mobile (≤480px)\n ========================================================================== */\n\n@media (max-width: 480px) {\n .banner {\n padding-top: 200px;\n }\n\n .banner__illustration {\n /* Keep right-aligned, just adjust size */\n right: 0;\n width: 180px;\n height: 180px;\n }\n\n .banner__content {\n padding: 16px 20px 36px 20px;\n min-height: 280px;\n }\n\n .banner__heading {\n font-size: 28px;\n letter-spacing: -0.56px;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype BannerTheme = 'white-ivory' | 'mist-green' | 'soft-clay' | 'inkwell';\n\n/**\n * In-page banner component for call-to-action content.\n * \n * A banner card with illustration, heading, description, and action buttons.\n * Typically placed inside a neutral (white) Section to show off its themed background.\n * \n * The component has its own theme prop to control its background color and styling.\n * \n * **Illustration Usage:**\n * Use `illustrationUrl` to pass an illustration image URL. For theme-matched illustrations,\n * use `getIllustrationUrlByScene()` from `@affinda/illustrations` in your consuming app:\n * \n * ```tsx\n * import { getIllustrationUrlByScene } from '@affinda/illustrations';\n * \n * <InPageBanner\n * theme=\"inkwell\"\n * illustrationUrl={getIllustrationUrlByScene('automate', 'inkwell')}\n * ...\n * />\n * ```\n * \n * Alternatively, use the `illustration` slot for completely custom content.\n *\n * **Slot-based composition (preferred for rich content):**\n * - `heading` — heading markup (overrides the `heading` prop when provided).\n * - `description` — description markup (overrides the `description` prop).\n * - `buttons` — custom button group (overrides the primary/secondary button\n * props; use when you need ghost variants, more than two buttons, or\n * per-button icons).\n * - `illustration` — custom illustration markup.\n *\n * The string props remain supported for simple cases.\n */\n@Component({\n tag: 'af-in-page-banner',\n styleUrl: 'af-in-page-banner.css',\n shadow: false,\n scoped: true,\n})\nexport class AfInPageBanner {\n /** Theme - sets the banner background color and typography colors */\n @Prop() theme: BannerTheme = 'mist-green';\n\n /** Banner heading */\n @Prop() heading: string = '';\n\n /** Banner description */\n @Prop() description: string = '';\n\n /** Primary button text */\n @Prop() primaryButtonText: string = '';\n\n /** Primary button URL */\n @Prop() primaryButtonUrl: string = '#';\n\n /** Secondary button text (optional - if empty, button won't show) */\n @Prop() secondaryButtonText: string = '';\n\n /** Secondary button URL */\n @Prop() secondaryButtonUrl: string = '#';\n\n /** \n * Illustration URL. For theme-matched illustrations, use getIllustrationUrlByScene() \n * from @affinda/illustrations in your app code.\n */\n @Prop() illustrationUrl: string = '';\n\n /** Whether to show the decorative wave overlay */\n @Prop() showWaveDecoration: boolean = true;\n\n /**\n * Renders the decorative wave SVG overlay.\n * Uses the Affinda brand \"infinity loop\" wave pattern.\n * Fill color is controlled via CSS custom properties per theme.\n */\n private renderWaveOverlay() {\n return (\n <div class=\"banner__wave-overlay\" aria-hidden=\"true\">\n <svg \n viewBox=\"0 0 521 323\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"banner__wave-svg\"\n >\n <path \n d=\"M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z\" \n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class={`banner theme-${this.theme}`}>\n {/* Decorative wave overlay */}\n {this.showWaveDecoration && this.renderWaveOverlay()}\n\n {/* Illustration area */}\n <div class=\"banner__illustration\">\n {this.illustrationUrl ? (\n <img \n src={this.illustrationUrl} \n alt=\"\" \n class=\"banner__illustration-img\" \n loading=\"lazy\"\n />\n ) : (\n <slot name=\"illustration\"></slot>\n )}\n </div>\n\n {/* Content area — slots take precedence over string props. */}\n <div class=\"banner__content\">\n <div class=\"banner__copy\">\n <h2 class=\"banner__heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </h2>\n <div class=\"banner__description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n </div>\n\n <div class=\"banner__buttons\">\n <slot name=\"buttons\">\n {this.primaryButtonText && (\n <af-button href={this.primaryButtonUrl} variant=\"primary\">\n {this.primaryButtonText}\n </af-button>\n )}\n {this.secondaryButtonText && (\n <af-button href={this.secondaryButtonUrl} variant=\"secondary\">\n {this.secondaryButtonText}\n </af-button>\n )}\n </slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-inline.js","mappings":";;AAAA,MAAM,WAAW,GAAG,+EAA+E;;MCiBtFA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,QAAQ;AAE/B;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,OAAO;AAElC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,IAAI;AAmC7B;IAjCC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;SACrB;AAED,QAAA,MAAM,UAAU,GAA4B;AAC1C,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,MAAM,EAAE,cAAc;AACtB,YAAA,MAAM,EAAE,cAAc;SACvB;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,GAAG,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AAC/B,YAAA,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ;SACd;QAE3B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfInline","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-inline/af-inline.css?tag=af-inline&encapsulation=shadow","src/components/af-inline/af-inline.tsx"],"sourcesContent":[":host {\n display: inline-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 Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Inline layout component for horizontal inline-flex layouts with gap and optional wrapping.\n * Ideal for button groups, tags, pills, and other inline elements.\n *\n * @slot - Content to layout inline\n */\n@Component({\n tag: 'af-inline',\n styleUrl: 'af-inline.css',\n shadow: true,\n})\nexport class AfInline {\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '2';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'center';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line when they overflow.\n */\n @Prop() wrap: boolean = true;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'inline-flex',\n flexDirection: 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-input.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-logo-well.js","mappings":";;AAAA,MAAM,aAAa,GAAG,02BAA02B;;MCUn3BA,YAAU,iBAAAC,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;;;;;;;;IACrB,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACpB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;","names":["AfLogoWell","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-logo-well/af-logo-well.css?tag=af-logo-well&encapsulation=shadow","src/components/af-logo-well/af-logo-well.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.logo-well {\n /* Use theme variable from parent carousel, or fall back to dark theme default */\n background: var(--af-carousel-logo-well-bg, var(--colour-background-level1-dark, #203e45));\n border-radius: var(--radius-logo-well-desktop, 16px);\n height: 72px;\n width: 184px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 20px 32px;\n box-sizing: border-box;\n}\n\n::slotted(img) {\n max-height: 32px;\n max-width: 120px;\n width: auto;\n height: auto;\n display: block;\n object-fit: contain;\n /* Use logo filter from parent theme, default to white logos for dark backgrounds */\n filter: var(--af-carousel-logo-filter, brightness(0) invert(1));\n}\n\n::slotted(svg) {\n max-height: 32px;\n max-width: 120px;\n width: auto;\n height: auto;\n display: block;\n /* SVG color inherits from parent */\n color: var(--af-carousel-logo-color, white);\n}\n\n::slotted(div) {\n white-space: nowrap;\n color: var(--af-carousel-logo-color, white);\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 600;\n font-size: 16px;\n}\n\n/* Mobile adjustments */\n@media (max-width: 767px) {\n .logo-well {\n border-radius: var(--radius-logo-well-mobile, 12px);\n padding: 20px 24px;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * A rounded container for displaying client logos\n */\n@Component({\n tag: 'af-logo-well',\n styleUrl: 'af-logo-well.css',\n shadow: true,\n})\nexport class AfLogoWell {\n render() {\n return (\n <Host>\n <div class=\"logo-well\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-logo.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-accordion-item.js","mappings":"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","names":["AfNavAccordionItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-accordion-item/af-nav-accordion-item.css?tag=af-nav-accordion-item&encapsulation=scoped","src/components/af-nav-accordion-item/af-nav-accordion-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.nav-accordion-item {\n width: 100%;\n}\n\n/* Trigger button/link - clickable header */\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n padding: 20px 12px;\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n cursor: pointer;\n font: inherit;\n text-align: left;\n text-decoration: none;\n color: inherit;\n box-sizing: border-box;\n}\n\na.trigger {\n color: inherit;\n}\n\n.trigger:hover:not(:disabled) {\n background-color: rgba(20, 52, 59, 0.02);\n}\n\n.trigger:focus-visible {\n outline: 2px solid var(--af-nav-border-active, 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.trigger-content {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n min-height: 24px;\n}\n\n/* Label styling - matches NavItem primary-01 mobile */\n.label {\n font-family: var(--typography-primaryfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--typography-headingweight, 500);\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Chevron indicator */\n.chevron,\n.chevron-button {\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-nav-item-primary, var(--af-typography-body-dark, #14343b));\n transition: transform 0.3s ease;\n}\n\n.chevron-button {\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 0;\n}\n\n.chevron-button:hover {\n opacity: 0.7;\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 background: var(--af-background-base, white);\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/* Mobile breakpoint styling */\n:host(.breakpoint-mobile) .trigger {\n padding: 20px 12px;\n}\n\n:host(.breakpoint-mobile) .label {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n}\n\n/* Desktop breakpoint styling */\n:host(.breakpoint-desktop) .trigger {\n padding: 12px;\n}\n\n:host(.breakpoint-desktop) .label {\n font-size: 16px;\n line-height: 20px;\n letter-spacing: 0;\n}\n\n/* Nested content uses different padding */\n:host(.breakpoint-mobile) .content {\n padding-left: 0;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * Navigation accordion item with NavItem-styled trigger.\n * Combines navigation item styling with accordion collapse behavior.\n * \n * @slot trigger - Custom trigger content (optional - uses label if not provided)\n * @slot - The collapsible content (typically NavMenuNest or NavMenu components)\n */\n@Component({\n tag: 'af-nav-accordion-item',\n styleUrl: 'af-nav-accordion-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Label text for the navigation item trigger\n */\n @Prop() label?: 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\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Optional href - if provided, clicking navigates instead of expanding\n * (chevron area would still toggle expansion if both behaviors needed)\n */\n @Prop() href?: string;\n\n /**\n * Breakpoint for styling\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-nav-accordion-item-toggle' }) navAccordionItemToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n @State() hasTriggerSlot: boolean = false;\n\n private contentRef?: HTMLElement;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n componentDidLoad() {\n if (this.open) {\n this.measureContent();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled && !this.href) {\n this.open = !this.open;\n this.navAccordionItemToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n }\n\n private handleTriggerClick = (event: MouseEvent) => {\n // If it's a link, let it navigate (unless they clicked the chevron specifically)\n if (this.href) {\n return;\n }\n event.preventDefault();\n this.toggle();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.href) {\n event.preventDefault();\n this.toggle();\n }\n };\n\n private handleSlotChange = (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n this.hasTriggerSlot = slot.assignedNodes().length > 0;\n };\n\n render() {\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n const hasDropdownContent = true; // Assume content is always present for accordion items\n\n return (\n <Host \n class={{ \n 'is-open': this.open, \n 'is-disabled': this.disabled,\n [`breakpoint-${this.breakpoint}`]: true\n }}\n >\n <div class=\"nav-accordion-item\">\n {/* Trigger */}\n {this.href ? (\n <a\n href={this.href}\n class=\"trigger\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </slot>\n </div>\n {hasDropdownContent && (\n <button \n class=\"chevron-button\"\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }}\n aria-label={this.open ? 'Collapse' : 'Expand'}\n type=\"button\"\n >\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 )}\n </a>\n ) : (\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleKeyDown}\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\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </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 )}\n\n {/* Collapsible content */}\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"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-accordion.js","mappings":"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","names":["AfNavAccordion","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-accordion/af-nav-accordion.css?tag=af-nav-accordion&encapsulation=scoped","src/components/af-nav-accordion/af-nav-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.nav-accordion {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Mobile breakpoint styling */\n:host(.breakpoint-mobile) .nav-accordion {\n /* Mobile-specific styles */\n}\n\n/* Desktop breakpoint styling */\n:host(.breakpoint-desktop) .nav-accordion {\n /* Desktop-specific styles if needed */\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Listen } from '@stencil/core';\n\n/**\n * Navigation-styled accordion for mobile menu patterns.\n * A wrapper around af-accordion with navigation-specific styling.\n * \n * @slot - Place af-nav-accordion-item components here\n */\n@Component({\n tag: 'af-nav-accordion',\n styleUrl: 'af-nav-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordion {\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 (typical for mobile nav)\n */\n @Prop() mode: 'independent' | 'exclusive' = 'exclusive';\n\n /**\n * Breakpoint for styling\n * - `desktop`: Desktop-specific styles\n * - `mobile`: Mobile-specific styles (default for nav menus)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Currently open item ID(s)\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when the open state of items changes\n */\n @Event({ eventName: 'af-nav-accordion-change' }) navAccordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n componentWillLoad() {\n this.internalValue = this.normalizeValue(this.value);\n }\n\n /**\n * Listen for toggle events from child items\n */\n @Listen('af-nav-accordion-item-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 newValue = open ? [itemId] : [];\n } else {\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n this.internalValue = newValue;\n this.syncItems();\n\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.navAccordionChange.emit({ value: emitValue });\n }\n\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n private syncItems() {\n const items = this.el.querySelectorAll('af-nav-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 componentDidLoad() {\n this.syncItems();\n }\n\n render() {\n return (\n <Host class={{ [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true }}>\n <div class=\"nav-accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-card.js","mappings":";;AAAA,MAAM,YAAY,GAAG,+kCAA+kC;;MCoBvlCA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAsBE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAEpB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAE3B,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,SAAC;AAuCF;IArCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI,CAAC;SACpB;QAED,MAAM,OAAO,IACX,WACE,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EAEnC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EACzB,EAAA,IAAI,CAAC,QAAQ,KACZ,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,YAAY,EAAG,CAAA,CACnE,CACG,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACjB,IAAI,CAAC,OAAO,KACX,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACG,CACF,CACP;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAClC,EAAA,OAAO,CACN,CACC;;QAIX,OAAO,CAAC,CAAA,IAAI,EAAE,IAAA,EAAA,OAAO,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavCard","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-card/af-nav-card.css?tag=af-nav-card&encapsulation=scoped","src/components/af-nav-card/af-nav-card.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n/* Card container */\n.nav-card {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 290px;\n height: 360px;\n min-height: 360px;\n border-radius: var(--radii-image, 16px);\n overflow: hidden;\n justify-content: flex-end;\n transition: transform 0.2s ease;\n}\n\n.nav-card.is-hovered {\n transform: scale(1.02);\n}\n\n/* Image container */\n.image-container {\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.card-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n/* Gradient overlay */\n.overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000);\n padding: 80px 24px 24px 24px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n/* Heading */\n.heading {\n margin: 0;\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 24px;\n line-height: 1.2;\n letter-spacing: -0.48px;\n color: #ffffff;\n width: 100%;\n}\n\n.nav-card.is-hovered .heading {\n text-decoration: underline;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * A navigation card component for featured article content in mega-menu dropdowns.\n * Displays an image with a gradient overlay and headline text.\n * \n * **Usage:**\n * - Place in the `sidebar` slot of NavMenuNest\n * - Provide imageSrc, heading, and href props\n * \n * **Hover behavior:**\n * - Slight scale effect (1.02)\n * - Headline underline\n */\n@Component({\n tag: 'af-nav-card',\n styleUrl: 'af-nav-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavCard {\n /**\n * The headline text displayed over the image\n */\n @Prop() heading?: string;\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Image source URL for the background\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alternative text for the image\n */\n @Prop() imageAlt: string = '';\n\n @State() isHovered: boolean = false;\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n render() {\n const classes = {\n 'nav-card': true,\n 'is-hovered': this.isHovered\n };\n\n const content = (\n <div\n class={classes}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"image-container\">\n {this.imageSrc && (\n <img src={this.imageSrc} alt={this.imageAlt} class=\"card-image\" />\n )}\n </div>\n <div class=\"overlay\">\n {this.heading && (\n <h3 class=\"heading\">{this.heading}</h3>\n )}\n </div>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"card-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-item.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-menu-nest.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,2gFAA2gF;;MC2BvhFA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;;;;AAMG;AACK,QAAA,IAAI,CAAA,IAAA,GAA4D,WAAW;AAEnF;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;;;AAIG;AACsB,QAAA,IAAiB,CAAA,iBAAA,GAAY,IAAI;AAuB3D;IArBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG;SACpC;AAED,QAAA,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,cAAc,EAAA,EACvB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavMenuNest","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-menu-nest/af-nav-menu-nest.css?tag=af-nav-menu-nest&encapsulation=scoped","src/components/af-nav-menu-nest/af-nav-menu-nest.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.nav-menu-nest {\n display: inline-flex;\n background: var(--af-background-base, #ffffff);\n border-radius: 32px;\n}\n\n/* Desktop layout */\n.nav-menu-nest.breakpoint-desktop {\n flex-direction: row;\n align-items: stretch;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-columns {\n display: flex;\n flex-direction: row;\n gap: 32px;\n padding: 24px 0 32px 40px;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-sidebar {\n display: flex;\n flex-direction: column;\n padding: 24px 40px 32px 32px;\n}\n\n/* Slotted content in sidebar - match column spacing */\n.nav-menu-nest.breakpoint-desktop .menu-sidebar ::slotted(af-nav-menu) {\n padding-top: 16px;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-sidebar ::slotted(af-nav-card) {\n margin-top: 16px;\n}\n\n/* Slotted NavMenu in columns - add border and spacing */\n.nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu) {\n border-right: 1px solid var(--af-background-border-subtle, #e8eeed);\n padding-right: 32px;\n padding-top: 16px;\n}\n\n/* Last NavMenu in columns - no border by default */\n.nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {\n border-right: none;\n padding-right: 0;\n}\n\n/* When showSidebarBorder is true, last column gets heavier border */\n:host([show-sidebar-border]) .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {\n border-right: 1px solid var(--af-background-border-heavy, #c6d5d1);\n padding-right: 32px;\n}\n\n/* Mobile layout */\n.nav-menu-nest.breakpoint-mobile {\n flex-direction: column;\n border-radius: 0;\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-columns {\n display: flex;\n flex-direction: column;\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-sidebar {\n display: flex;\n flex-direction: column;\n padding: 32px 12px;\n border-top: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-columns ::slotted(af-nav-menu) {\n border-right: none;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A mega-menu dropdown panel component.\n * Acts as a container for NavMenu columns and optionally a sidebar.\n * Used as the dropdown content for navbar items.\n * \n * **Slots:**\n * - default: Place NavMenu components here - they will be displayed as columns\n * - sidebar: Optional sidebar content (NavMenu, NavCard, or any content)\n * \n * **Example:**\n * ```html\n * <af-nav-menu-nest type=\"solutions\" breakpoint=\"desktop\">\n * <af-nav-menu heading=\"Industries\">...</af-nav-menu>\n * <af-nav-menu heading=\"Use Cases\">...</af-nav-menu>\n * <af-nav-menu heading=\"Documents\">...</af-nav-menu>\n * <af-nav-menu slot=\"sidebar\" heading=\"Resume Parser\">...</af-nav-menu>\n * </af-nav-menu-nest>\n * ```\n */\n@Component({\n tag: 'af-nav-menu-nest',\n styleUrl: 'af-nav-menu-nest.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenuNest {\n /**\n * The type/variant of the mega-menu\n * - 'solutions': Multi-column layout (3 columns + sidebar)\n * - 'solutions-alt': Alternative solutions layout\n * - 'resources': Multi-column layout with optional featured card\n * - 'pricing': Simpler layout without sidebar\n */\n @Prop() type: 'solutions' | 'solutions-alt' | 'resources' | 'pricing' = 'solutions';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Horizontal multi-column layout\n * - 'mobile': Vertical stacked layout\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the heavier border on the last column (before sidebar).\n * Set to `true` when sidebar has content, `false` when no sidebar.\n * When `false`, the last column has no border.\n */\n @Prop({ reflect: true }) showSidebarBorder: boolean = true;\n\n render() {\n const classes = {\n 'nav-menu-nest': true,\n 'theme-white': true,\n [`type-${this.type}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"menu-columns\">\n <slot></slot>\n </div>\n <div class=\"menu-sidebar\">\n <slot name=\"sidebar\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-nav-menu.js","mappings":";;AAAA,MAAM,YAAY,GAAG,69CAA69C;;MCYr+CA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAEnC;;;AAGG;AACsB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAyBpD;IAvBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;YACvC,YAAY,EAAE,IAAI,CAAC,UAAU;YAC7B,YAAY,EAAE,IAAI,CAAC;SACpB;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EAChB,IAAI,CAAC,OAAO,KACX,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACP,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavMenu","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-menu/af-nav-menu.css?tag=af-nav-menu&encapsulation=scoped","src/components/af-nav-menu/af-nav-menu.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.nav-menu {\n display: flex;\n flex-direction: column;\n gap: 16px;\n align-items: flex-start;\n min-height: 1px;\n min-width: 1px;\n}\n\n/* Desktop styles */\n.nav-menu.breakpoint-desktop {\n padding: 0;\n flex: 1 0 0;\n align-self: stretch;\n}\n\n/* Border is now controlled by parent NavMenuNest via ::slotted()\n Use showBorder prop only when NavMenu is used standalone */\n.nav-menu.breakpoint-desktop.has-border {\n border-right: 1px solid var(--af-background-border-subtle, #e8eeed);\n padding-right: 32px;\n padding-top: 16px;\n}\n\n/* Mobile styles */\n.nav-menu.breakpoint-mobile {\n padding: 32px 12px;\n width: 100%;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n/* Menu header */\n.menu-header {\n display: flex;\n gap: 16px;\n align-items: center;\n width: 100%;\n}\n\n.menu-heading {\n margin: 0;\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 20px;\n line-height: 1.2;\n letter-spacing: -0.4px;\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));\n flex: 1 0 0;\n min-height: 1px;\n min-width: 1px;\n}\n\n/* Mobile heading adjustments */\n.nav-menu.breakpoint-mobile .menu-heading {\n line-height: 1.1;\n}\n\n/* Menu items container */\n.menu-items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n}\n\n/* Mobile items with left padding */\n.nav-menu.breakpoint-mobile .menu-items {\n padding-left: 24px;\n}\n\n/* Slot styling for nav-items */\n::slotted(af-nav-item) {\n width: 100%;\n}\n\n/* Card style variant - adds background and rounded corners */\n.nav-menu.card-style {\n background: var(--af-background-level-1, #e8eeed);\n border-radius: var(--radii-card-level-1, 32px);\n padding: 40px;\n}\n\n.nav-menu.card-style.breakpoint-desktop {\n flex: 1 0 0;\n align-self: stretch;\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A grouped navigation menu component with a heading.\n * Used in mega-menu dropdowns to group related navigation items.\n */\n@Component({\n tag: 'af-nav-menu',\n styleUrl: 'af-nav-menu.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenu {\n /**\n * The heading text displayed above the navigation items\n */\n @Prop() heading?: string;\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles (right border, horizontal padding)\n * - 'mobile': Mobile-specific styles (bottom border, vertical layout)\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the right border separator.\n * When used inside NavMenuNest, borders are controlled by the parent.\n * Set to true only when using NavMenu standalone.\n */\n @Prop() showBorder: boolean = false;\n\n /**\n * Whether to display as a card with background color and rounded corners.\n * Used for highlighted sidebar menus (e.g., solutions-alt variant).\n */\n @Prop({ reflect: true }) cardStyle: boolean = false;\n\n render() {\n const classes = {\n 'nav-menu': true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'has-border': this.showBorder,\n 'card-style': this.cardStyle\n };\n\n return (\n <Host>\n <div class={classes}>\n {this.heading && (\n <div class=\"menu-header\">\n <h3 class=\"menu-heading\">{this.heading}</h3>\n </div>\n )}\n <div class=\"menu-items\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-navbar.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-number-badge.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,mgBAAmgB;;MCoB/gBA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;AAEG;AACK,QAAA,IAAM,CAAA,MAAA,GAAsB,CAAC;AAErC;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAuB,UAAU;AAEhD;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE;AA6B1B;IA3BC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU;AAC9C,QAAA,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG;AAE/D,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,IAAI,CAAI,EAAA,CAAA;AACvB,YAAA,MAAM,EAAE,CAAA,EAAG,IAAI,CAAC,IAAI,CAAI,EAAA,CAAA;YACxB,QAAQ,EAAE,CAAG,EAAA,QAAQ,CAAI,EAAA,CAAA;SAC1B;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,IAAI,EAAC,KAAK,EACE,YAAA,EAAA,CAAU,OAAA,EAAA,IAAI,CAAC,MAAM,CAAA,EAAG,UAAU,GAAG,QAAQ,GAAG,EAAE,EAAE,EAAA,EAEhE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;aAClC,EACD,KAAK,EAAE,UAAU,EAEhB,EAAA,IAAI,CAAC,MAAM,CACP,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNumberBadge","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-number-badge/af-number-badge.css?tag=af-number-badge&encapsulation=shadow","src/components/af-number-badge/af-number-badge.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n user-select: none;\n flex-shrink: 0;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--af-font-family-sans, 'NeuSans', Arial, sans-serif);\n font-weight: 500;\n}\n\n/* In Circle variant - filled soft-clay circle */\n.badge.variant-inCircle {\n border-radius: 50%;\n background-color: var(--af-color-brand-soft-clay, #B09670);\n color: var(--af-color-brand-inkwell, #14343B);\n}\n\n/* Outlined variant - text only in mist-green */\n.badge.variant-outlined {\n background-color: transparent;\n color: var(--af-color-brand-mist-green, #C6D5D1);\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\nexport type NumberBadgeNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\nexport type NumberBadgeVariant = 'inCircle' | 'outlined';\n\n/**\n * NumberBadge displays numbers 1-10 in either a filled circle or text-only style.\n * Perfect for numbered lists, step indicators, or ordered content.\n * \n * @example\n * ```html\n * <af-number-badge number=\"1\" variant=\"inCircle\" size=\"48\"></af-number-badge>\n * <af-number-badge number=\"5\" variant=\"outlined\" size=\"32\"></af-number-badge>\n * ```\n */\n@Component({\n tag: 'af-number-badge',\n styleUrl: 'af-number-badge.css',\n shadow: true\n})\nexport class AfNumberBadge {\n /**\n * The number to display (1-10)\n */\n @Prop() number: NumberBadgeNumber = 1;\n\n /**\n * Visual variant of the badge\n * - `inCircle` - Number in filled soft-clay circle\n * - `outlined` - Number text only in mist-green\n */\n @Prop() variant: NumberBadgeVariant = 'inCircle';\n\n /**\n * Size of the badge in pixels\n */\n @Prop() size: number = 48;\n\n render() {\n const isInCircle = this.variant === 'inCircle';\n const fontSize = isInCircle ? this.size * 0.4 : this.size * 0.8;\n\n const badgeStyle = {\n width: `${this.size}px`,\n height: `${this.size}px`,\n fontSize: `${fontSize}px`,\n };\n\n return (\n <Host\n role=\"img\"\n aria-label={`Number ${this.number}${isInCircle ? ' badge' : ''}`}\n >\n <span\n class={{\n 'badge': true,\n [`variant-${this.variant}`]: true,\n }}\n style={badgeStyle}\n >\n {this.number}\n </span>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-progress-line.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-radio.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-section.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,olgBAAolgB;;MCY5lgBA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAO,CAAA,OAAA,GAA2C,SAAS;;AAG3D,QAAA,IAAK,CAAA,KAAA,GAAqE,OAAO;;AAGjF,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI;AAelC;IAbC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa;QAE7B,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAmB,gBAAA,EAAA,IAAI,CAAC,OAAO,CAAU,OAAA,EAAA,IAAI,CAAC,KAAK,CAAA,CAAE,EAAA,EAC9D,IAAI,CAAC,SAAS,IACb,CAAe,CAAA,cAAA,EAAA,IAAA,EAAA,OAAO,CAAgB,IACpC,OAAO,CACP,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfSection","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-section/af-section.css?tag=af-section&encapsulation=scoped","src/components/af-section/af-section.tsx"],"sourcesContent":["/**\n * Section Component Styles\n * \n * Provides themed containers with proper spacing.\n * Theme classes set CSS custom properties that child components consume.\n */\n\n:host {\n display: block;\n width: 100%;\n}\n\n.section {\n width: 100%;\n position: relative;\n}\n\n/* Padding variants */\n.padding-none {\n padding: 0;\n}\n\n.padding-tight {\n padding: 48px 0;\n}\n\n.padding-default {\n padding: 96px 0;\n}\n\n.padding-loose {\n padding: 120px 0 96px;\n}\n\n/* ==========================================================================\n WHITE THEME\n ========================================================================== */\n\n.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n \n /* Background tokens */\n --af-background-base: var(--colour-brand-white, #FFFFFF);\n --af-background-base-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n --af-background-level-1-hover: var(--colour-mistgreen-300, #dde6e3);\n --af-background-border-subtle: var(--colour-mistgreen-200, #e8eeed);\n --af-background-border-default: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-heavy: var(--colour-mistgreen-500, #c6d5d1);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-200, #e8ebeb);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n INKWELL THEME (Dark)\n ========================================================================== */\n\n.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n \n /* Background tokens */\n --af-background-base: var(--colour-brand-inkwell, #14343b);\n --af-background-base-hover: var(--colour-inkwell-600, #102a2f);\n --af-background-contrast: var(--colour-inkwell-700, #102a2f);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n --af-background-level-1-hover: var(--colour-inkwell-400, #2b484f);\n --af-background-border-subtle: var(--colour-inkwell-450, #203e45);\n --af-background-border-default: var(--colour-inkwell-400, #2b484f);\n --af-background-border-heavy: var(--colour-inkwell-700, #102a2f);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-white, #ffffff);\n --af-background-icon-accent: var(--colour-brand-ice, #a6fffb);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-heading-secondary: var(--colour-brand-white, #ffffff);\n --af-typography-body-dark: var(--colour-brand-white, #ffffff);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-typography-body-subtle: var(--colour-inkwell-200, #a1aeb1);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-icon: var(--colour-brand-white, #ffffff);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(255, 255, 255, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-white, #ffffff);\n --af-button-ghost-icon: var(--colour-brand-white, #ffffff);\n --af-button-ghost-stroke: var(--colour-brand-ice, #A6FFFB);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-inkwell-450, #203e45);\n --af-input-bg-hover: var(--colour-inkwell-400, #2b484f);\n --af-input-bg-disabled: var(--colour-inkwell-600, #102a2f);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--colour-brand-ice, #a6fffb);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--colour-brand-ice, #a6fffb);\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/* ==========================================================================\n MIST-GREEN THEME\n ========================================================================== */\n\n.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n \n /* Background tokens */\n --af-background-base: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-base-hover: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-contrast: var(--colour-brand-soft-clay, #b09670);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n --af-background-level-1-hover: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-subtle: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-border-default: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-heavy: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-300, #dde6e3);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-600, #b2c0bc);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n SOFT-CLAY THEME\n ========================================================================== */\n\n.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Background tokens */\n --af-background-base: var(--colour-softclay-400, #c0ab8d);\n --af-background-base-hover: var(--colour-softclay-500, #b09670);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n --af-background-level-1-hover: var(--colour-softclay-600, #9e8765);\n --af-background-border-subtle: var(--colour-softclay-600, #9e8765);\n --af-background-border-default: var(--colour-softclay-700, #8d785a);\n --af-background-border-heavy: var(--colour-brand-inkwell, #14343b);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography tokens */\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-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-softclay-300, #d0c1a8);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-softclay-700, #8d785a);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-softclay-600, #9e8765);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n WHITE-IVORY THEME\n ========================================================================== */\n\n.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Background tokens */\n --af-background-base: var(--colour-brand-ivory-paper, #fff9ee);\n --af-background-base-hover: var(--colour-ivory-100, #fff5e0);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n --af-background-level-1-hover: var(--colour-ivory-300, #ffe9b8);\n --af-background-border-subtle: var(--colour-ivory-200, #ffefcc);\n --af-background-border-default: var(--colour-ivory-400, #ffe3a3);\n --af-background-border-heavy: var(--colour-brand-soft-clay, #b09670);\n --af-background-border-active: var(--colour-brand-soft-clay, #b09670);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #b09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-ivory-100, #fff5e0);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-ivory-200, #ffefcc);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-ivory-400, #ffe3a3);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-ivory-300, #ffe9b8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* Mobile adjustments */\n@media (max-width: 768px) {\n .padding-tight {\n padding: 32px 0;\n }\n \n .padding-default {\n padding: 64px 0;\n }\n \n .padding-loose {\n padding: 80px 0 64px;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Section layout component for consistent spacing and backgrounds.\n * Sets theme context for all child components via CSS custom properties.\n */\n@Component({\n tag: 'af-section',\n styleUrl: 'af-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfSection {\n /** Padding variant */\n @Prop() padding: 'none' | 'tight' | 'default' | 'loose' = 'default';\n \n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory' = 'white';\n \n /** Whether to include a Container wrapper */\n @Prop() container: boolean = true;\n\n render() {\n const content = <slot></slot>;\n \n return (\n <Host>\n <div class={`section padding-${this.padding} theme-${this.theme}`}>\n {this.container ? (\n <af-container>{content}</af-container>\n ) : content}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-show.js","mappings":";;AAAA,MAAM,SAAS,GAAG,itBAAitB;;MCqBttBA,QAAM,iBAAAC,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;;;;;;;;IAajB,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI;YACZ,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;YAC1C,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;SAC3C;QAED,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EAClB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfShow","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-show/af-show.css?tag=af-show&encapsulation=shadow","src/components/af-show/af-show.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([hidden]) {\n display: none !important;\n}\n\n/* Show above breakpoints (hidden below) */\n/* sm: 375px */\n:host(.show-above-sm) {\n display: none;\n}\n@media (min-width: 375px) {\n :host(.show-above-sm) {\n display: contents;\n }\n}\n\n/* md: 768px */\n:host(.show-above-md) {\n display: none;\n}\n@media (min-width: 768px) {\n :host(.show-above-md) {\n display: contents;\n }\n}\n\n/* lg: 1024px */\n:host(.show-above-lg) {\n display: none;\n}\n@media (min-width: 1024px) {\n :host(.show-above-lg) {\n display: contents;\n }\n}\n\n/* xl: 1440px */\n:host(.show-above-xl) {\n display: none;\n}\n@media (min-width: 1440px) {\n :host(.show-above-xl) {\n display: contents;\n }\n}\n\n/* Show below breakpoints (hidden at or above) */\n/* sm: 375px */\n@media (min-width: 375px) {\n :host(.show-below-sm) {\n display: none;\n }\n}\n\n/* md: 768px */\n@media (min-width: 768px) {\n :host(.show-below-md) {\n display: none;\n }\n}\n\n/* lg: 1024px */\n@media (min-width: 1024px) {\n :host(.show-below-lg) {\n display: none;\n }\n}\n\n/* xl: 1440px */\n@media (min-width: 1440px) {\n :host(.show-below-xl) {\n display: none;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Breakpoint = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Show component for responsive visibility control.\n * Show or hide content based on viewport breakpoints.\n *\n * Breakpoints (from tokens):\n * - sm: 375px\n * - md: 768px\n * - lg: 1024px\n * - xl: 1440px\n *\n * @slot - Content to show/hide\n */\n@Component({\n tag: 'af-show',\n styleUrl: 'af-show.css',\n shadow: true,\n})\nexport class AfShow {\n /**\n * Show content only when viewport is at or above this breakpoint.\n * Content is hidden below this breakpoint.\n */\n @Prop() above?: Breakpoint;\n\n /**\n * Show content only when viewport is below this breakpoint.\n * Content is hidden at or above this breakpoint.\n */\n @Prop() below?: Breakpoint;\n\n render() {\n const classes = {\n 'show': true,\n [`show-above-${this.above}`]: !!this.above,\n [`show-below-${this.below}`]: !!this.below,\n };\n\n return (\n <Host class={classes}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-social-link.js","mappings":"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","names":["AfSocialLink","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-social-link/af-social-link.css?tag=af-social-link&encapsulation=scoped","src/components/af-social-link/af-social-link.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Social media link component\n * Circular bordered icon link for social media profiles\n */\n@Component({\n tag: 'af-social-link',\n styleUrl: 'af-social-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfSocialLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Accessible label for the link */\n @Prop() label: string = '';\n\n /** Icon type: 'linkedin', 'youtube', 'github', 'twitter', 'facebook', or 'custom' */\n @Prop() icon: 'linkedin' | 'youtube' | 'github' | 'twitter' | 'facebook' | 'custom' = 'custom';\n\n private renderIcon() {\n switch (this.icon) {\n case 'linkedin':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/>\n <rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/>\n <circle cx=\"4\" cy=\"4\" r=\"2\"/>\n </svg>\n );\n case 'youtube':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"/>\n <polygon points=\"9.75,15.02 15.5,11.75 9.75,8.48\" fill=\"currentColor\" stroke=\"none\"/>\n </svg>\n );\n case 'github':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"/>\n </svg>\n );\n case 'twitter':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"/>\n </svg>\n );\n case 'facebook':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"/>\n </svg>\n );\n default:\n return <slot name=\"icon\"></slot>;\n }\n }\n\n render() {\n return (\n <Host>\n <a \n href={this.href} \n target=\"_blank\" \n rel=\"noopener noreferrer\" \n class=\"social-link\" \n aria-label={this.label}\n >\n {this.renderIcon()}\n </a>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-spacer.js","mappings":";;AAAA,MAAM,WAAW,GAAG,uFAAuF;;MCa9FA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAaE;;;AAGG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAE7B;;;;;;;AAOG;AACK,QAAA,IAAI,CAAA,IAAA,GAAuC,MAAM;AAoB1D;IAlBC,MAAM,GAAA;QACJ,MAAM,KAAK,GAA2B,EAAE;AAExC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,KAAK,CAAC,IAAI,GAAG,GAAG;;AACX,aAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACpB,YAAA,MAAM,SAAS,GAAG,CAAA,YAAA,EAAe,IAAI,CAAC,IAAI,GAAG;AAE7C,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtD,gBAAA,KAAK,CAAC,KAAK,GAAG,SAAS;;AAEzB,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACpD,gBAAA,KAAK,CAAC,MAAM,GAAG,SAAS;;;AAI5B,QAAA,OAAO,CAAA,CAAC,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,KAAK,EAAA,aAAA,EAAc,MAAM,EAAA,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfSpacer","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-spacer/af-spacer.css?tag=af-spacer&encapsulation=shadow","src/components/af-spacer/af-spacer.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Size = '1' | '2' | '3' | '4' | '5' | '6' | '8';\n\n/**\n * Spacer component for adding fixed or flexible space between elements.\n * Use within flex or grid layouts.\n */\n@Component({\n tag: 'af-spacer',\n styleUrl: 'af-spacer.css',\n shadow: true,\n})\nexport class AfSpacer {\n /**\n * Fixed size using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n * Ignored when `flex` is true.\n */\n @Prop() size?: Size;\n\n /**\n * When true, the spacer grows to fill available space (flex: 1).\n * Useful for pushing items apart in a flex container.\n */\n @Prop() flex: boolean = false;\n\n /**\n * Axis for the spacer sizing.\n * - 'horizontal': Width-based spacing\n * - 'vertical': Height-based spacing\n * - 'both': Both dimensions (square)\n *\n * Auto-detected based on parent flex direction when possible.\n */\n @Prop() axis: 'horizontal' | 'vertical' | 'both' = 'both';\n\n render() {\n const style: Record<string, string> = {};\n\n if (this.flex) {\n style.flex = '1';\n } else if (this.size) {\n const sizeValue = `var(--space-${this.size})`;\n\n if (this.axis === 'horizontal' || this.axis === 'both') {\n style.width = sizeValue;\n }\n if (this.axis === 'vertical' || this.axis === 'both') {\n style.height = sizeValue;\n }\n }\n\n return <Host style={style} aria-hidden=\"true\"></Host>;\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-split-section.js","mappings":";;;AAAA,MAAM,iBAAiB,GAAG,ofAAof;;ACI9gB;AACA,MAAM,WAAW,GAA0B;AACzC,IAAA,OAAO,EAAE,oCAAoC;AAC7C,IAAA,SAAS,EAAE,sCAAsC;AACjD,IAAA,YAAY,EAAE,yCAAyC;AACvD,IAAA,WAAW,EAAE,qCAAqC;AAClD,IAAA,aAAa,EAAE,0CAA0C;CAC1D;MAeYA,gBAAc,iBAAAC,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;AAN3B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAQ,CAAA,QAAA,GAAU,YAAY;;AAG9B,QAAA,IAAW,CAAA,WAAA,GAAU,OAAO;;AAG5B,QAAA,IAAO,CAAA,OAAA,GAA2C,SAAS;;AAG3D,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI;AAyBlC;IAvBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa;;QAG7B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,QAAA,MAAM,eAAe,GAAG;YACtB,UAAU,EAAE,8BAA8B,QAAQ,CAAA,KAAA,EAAQ,QAAQ,CAAS,MAAA,EAAA,WAAW,CAAS,MAAA,EAAA,WAAW,CAAQ,MAAA;SACnH;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,CAAyB,sBAAA,EAAA,IAAI,CAAC,OAAO,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,EACzE,KAAK,EAAE,eAAe,EAErB,EAAA,IAAI,CAAC,SAAS,IACb,wBAAe,OAAO,CAAgB,IACpC,OAAO,CACP,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfSplitSection","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-split-section/af-split-section.css?tag=af-split-section&encapsulation=scoped","src/components/af-split-section/af-split-section.tsx"],"sourcesContent":["/* Theme CSS custom properties are loaded globally from @affinda/css */\n\n:host {\n display: block;\n width: 100%;\n}\n\n.split-section {\n position: relative;\n width: 100%;\n /* Background is set via inline style with linear-gradient */\n}\n\n/* ==========================================================================\n Padding Variants\n ========================================================================== */\n\n.padding-none {\n padding: 0;\n}\n\n.padding-tight {\n padding: 48px 0;\n}\n\n.padding-default {\n padding: 96px 0;\n}\n\n.padding-loose {\n padding: 120px 0 96px;\n}\n\n/* ==========================================================================\n Mobile Adjustments\n ========================================================================== */\n\n@media (max-width: 768px) {\n .padding-tight {\n padding: 32px 0;\n }\n \n .padding-default {\n padding: 64px 0;\n }\n \n .padding-loose {\n padding: 80px 0 64px;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\n\n// Map theme names to CSS color values\nconst themeColors: Record<Theme, string> = {\n 'white': 'var(--colour-brand-white, #FFFFFF)',\n 'inkwell': 'var(--colour-brand-inkwell, #14343B)',\n 'mist-green': 'var(--colour-brand-mist-green, #C6D5D1)',\n 'soft-clay': 'var(--colour-softclay-400, #c0ab8d)',\n 'white-ivory': 'var(--colour-brand-ivory-paper, #fff9ee)',\n};\n\n/**\n * Split Section component for layouts with two-tone backgrounds.\n * Creates a vertical split with different themes for top and bottom halves.\n * Useful for content that visually spans across two themed areas.\n * \n * Uses a CSS linear-gradient for the split background effect.\n */\n@Component({\n tag: 'af-split-section',\n styleUrl: 'af-split-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfSplitSection {\n /** Theme for the top half of the section */\n @Prop() topTheme: Theme = 'mist-green';\n\n /** Theme for the bottom half of the section */\n @Prop() bottomTheme: Theme = 'white';\n\n /** Padding variant */\n @Prop() padding: 'none' | 'tight' | 'default' | 'loose' = 'default';\n\n /** Whether to include a Container wrapper */\n @Prop() container: boolean = true;\n\n render() {\n const content = <slot></slot>;\n \n // Create the split background using CSS gradient\n const topColor = themeColors[this.topTheme];\n const bottomColor = themeColors[this.bottomTheme];\n const backgroundStyle = {\n background: `linear-gradient(to bottom, ${topColor} 0%, ${topColor} 50%, ${bottomColor} 50%, ${bottomColor} 100%)`\n };\n\n return (\n <Host>\n <div\n class={`split-section padding-${this.padding} top-theme-${this.topTheme}`}\n style={backgroundStyle}\n >\n {this.container ? (\n <af-container>{content}</af-container>\n ) : content}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-stack.js","mappings":";;AAAA,MAAM,UAAU,GAAG,wEAAwE;;MCkB9EA,SAAO,iBAAAC,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AALpB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;AAIG;AACK,QAAA,IAAS,CAAA,SAAA,GAAc,UAAU;AAEzC;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AAEhC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,OAAO;AAElC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAmC9B;IAjCC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;SACrB;AAED,QAAA,MAAM,UAAU,GAA4B;AAC1C,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,MAAM,EAAE,cAAc;AACtB,YAAA,MAAM,EAAE,cAAc;SACvB;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK;AAC/D,YAAA,GAAG,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AAC/B,YAAA,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ;SACd;QAE3B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfStack","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-stack/af-stack.css?tag=af-stack&encapsulation=shadow","src/components/af-stack/af-stack.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 Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Direction = 'vertical' | 'horizontal';\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Stack layout component for vertical or horizontal flex layouts with consistent gap spacing.\n * Uses design tokens for gap values.\n *\n * @slot - Content to stack\n */\n@Component({\n tag: 'af-stack',\n styleUrl: 'af-stack.css',\n shadow: true,\n})\nexport class AfStack {\n /**\n * Stack direction.\n * - 'vertical': Items stack top to bottom (flex-direction: column)\n * - 'horizontal': Items stack left to right (flex-direction: row)\n */\n @Prop() direction: Direction = 'vertical';\n\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'stretch';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line.\n */\n @Prop() wrap: boolean = false;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'flex',\n flexDirection: this.direction === 'vertical' ? 'column' : 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-stepper-step.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,u4DAAu4D;;MCkBn5DA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;AAGG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC;AAiB3C;IAfC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,KAAK,CAAQ,EACrD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC7B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,CAAQ,CACrB,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfStepperStep","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-stepper-step/af-stepper-step.css?tag=af-stepper-step&encapsulation=scoped","src/components/af-stepper-step/af-stepper-step.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n flex: 1 1 0;\n min-width: 0;\n padding: 0 16px;\n position: relative;\n z-index: 1;\n}\n\n.stepper-step__badge {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n background: var(--colour-background-white, #ffffff);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: 500;\n font-size: 20px;\n color: var(--colour-brand-inkwell, #14343b);\n margin-bottom: 24px;\n flex-shrink: 0;\n}\n\n.stepper-step__content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n max-width: 320px;\n}\n\n.stepper-step__heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 24px;\n line-height: 1.2;\n letter-spacing: -0.02em;\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n}\n\n.stepper-step__body {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: 16px;\n line-height: 1.5;\n color: var(--af-typography-body-default, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Normalize slotted heading/body tags */\n:host :where(h1, h2, h3, h4, h5, h6),\n:host :where(p) {\n font: inherit;\n color: inherit;\n margin: 0;\n}\n\n/* Vertical orientation — align left */\n:host-context(.stepper--vertical) {\n flex-direction: row;\n align-items: flex-start;\n text-align: left;\n gap: 24px;\n padding: 0;\n}\n\n:host-context(.stepper--vertical) .stepper-step__badge {\n margin-bottom: 0;\n}\n\n@media (max-width: 767px) {\n :host {\n flex-direction: row;\n align-items: flex-start;\n text-align: left;\n gap: 24px;\n padding: 0;\n }\n .stepper-step__badge {\n margin-bottom: 0;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A single step within an af-stepper. Renders a numbered circular badge\n * followed by slotted heading + body content.\n *\n * The parent af-stepper auto-assigns the `index` attribute based on DOM\n * order, so consumers don't need to hand-number the steps.\n *\n * @slot heading - Step title (h3/h4 recommended).\n * @slot body - Step description paragraph(s).\n */\n@Component({\n tag: 'af-stepper-step',\n styleUrl: 'af-stepper-step.css',\n shadow: false,\n scoped: true,\n})\nexport class AfStepperStep {\n /**\n * Step number shown in the badge. Auto-assigned by the parent stepper if\n * not explicitly set.\n */\n @Prop({ reflect: true }) index: number = 1;\n\n render() {\n return (\n <Host>\n <span class=\"stepper-step__badge\">{this.index}</span>\n <div class=\"stepper-step__content\">\n <div class=\"stepper-step__heading\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"stepper-step__body\">\n <slot name=\"body\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-stepper.js","mappings":";;AAAA,MAAM,YAAY,GAAG,s1BAAs1B;;MC8B91BA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAUU,QAAA,IAAW,CAAA,WAAA,GAA8B,YAAY;AAyB9D;IAvBC,gBAAgB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE;;IAGd,aAAa,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAU;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;;;AAGxB,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;;AAEtB,SAAC,CAAC;;IAGJ,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAoB,iBAAA,EAAA,IAAI,CAAC,WAAW,CAAE,CAAA,EAAA,EACjD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,oBAAoB,EAAA,aAAA,EAAa,MAAM,EAAO,CAAA,EACzD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfStepper","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-stepper/af-stepper.css?tag=af-stepper&encapsulation=scoped","src/components/af-stepper/af-stepper.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n position: relative;\n max-width: 1120px;\n margin: 0 auto;\n align-items: flex-start;\n justify-content: space-between;\n gap: 24px;\n}\n\n:host(.stepper--vertical) {\n flex-direction: column;\n max-width: 680px;\n gap: 40px;\n}\n\n/* Horizontal connector — thin line running across the row of badges. */\n.stepper--horizontal .stepper__connector {\n position: absolute;\n top: 23px; /* aligned to badge centre (badge height 48px / 2 = 24, minus 1px for line) */\n left: 8%;\n right: 8%;\n height: 2px;\n background: var(--colour-brand-inkwell, #14343b);\n opacity: 0.25;\n z-index: 0;\n}\n\n.stepper--vertical .stepper__connector {\n position: absolute;\n top: 24px;\n bottom: 24px;\n left: 23px;\n width: 2px;\n background: var(--colour-brand-inkwell, #14343b);\n opacity: 0.25;\n z-index: 0;\n}\n\n@media (max-width: 767px) {\n .stepper--horizontal {\n flex-direction: column;\n gap: 32px;\n }\n .stepper--horizontal .stepper__connector {\n top: 24px;\n bottom: 24px;\n left: 23px;\n right: auto;\n width: 2px;\n height: auto;\n }\n}\n","import { Component, h, Host, Prop, Element } from '@stencil/core';\n\n/**\n * Stepper composite for \"Sign up / Upload / See results\"-style marketing\n * flows. Renders children `af-stepper-step` elements in a horizontal row\n * (desktop) or vertical stack (mobile), with a connector line between badges.\n *\n * Matches Webflow's `.stepper` pattern — numbered circled badges, a spine\n * connector, and centered step text.\n *\n * @example\n * ```html\n * <af-stepper>\n * <af-stepper-step>\n * <h3 slot=\"heading\">Sign up for free</h3>\n * <p slot=\"body\">No sales calls, no credit cards.</p>\n * </af-stepper-step>\n * <af-stepper-step>...</af-stepper-step>\n * <af-stepper-step>...</af-stepper-step>\n * </af-stepper>\n * ```\n *\n * @slot - `af-stepper-step` elements.\n */\n@Component({\n tag: 'af-stepper',\n styleUrl: 'af-stepper.css',\n shadow: false,\n scoped: true,\n})\nexport class AfStepper {\n @Element() el!: HTMLElement;\n\n /** Layout orientation. Horizontal on desktop, auto-stacks on mobile. */\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n componentDidLoad() {\n this.assignIndices();\n }\n\n private assignIndices() {\n const steps = Array.from(this.el.querySelectorAll('af-stepper-step')) as any[];\n steps.forEach((step, i) => {\n // Set via property so Stencil reactively re-renders the badge.\n // Only overwrite when the consumer hasn't explicitly set one.\n if (step.index == null || step.index === 1) {\n step.index = i + 1;\n }\n });\n }\n\n render() {\n return (\n <Host class={`stepper stepper--${this.orientation}`}>\n <div class=\"stepper__connector\" aria-hidden=\"true\"></div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-switch.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-tab-bar.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-tab.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-tag.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-testimonial-carousel.js","mappings":"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","names":["AfTestimonialCarousel","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-testimonial-carousel/af-testimonial-carousel.css?tag=af-testimonial-carousel&encapsulation=scoped","src/components/af-testimonial-carousel/af-testimonial-carousel.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.testimonial-carousel {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.testimonial-slides {\n position: relative;\n width: 100%;\n min-height: 544px;\n overflow: hidden;\n}\n\n.testimonial-slides ::slotted(af-testimonial) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;\n}\n\n/* Progress indicator - wraps af-progress-line atom */\n/* Per Figma: centered below the card with horizontal padding */\n.testimonial-progress {\n margin-top: 32px;\n max-width: 840px;\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Navigation is now rendered inside each testimonial's footer via props */\n\n","import { Component, State, h, Host, Element, Listen } from '@stencil/core';\n\n/**\n * TestimonialCarousel - Carousel for displaying multiple customer testimonials.\n * \n * Handles navigation between testimonials with progress indicator.\n * Wrap in Section/Container for proper page layout and theming.\n * \n * @slot - Testimonial components to display in the carousel\n */\n@Component({\n tag: 'af-testimonial-carousel',\n styleUrl: 'af-testimonial-carousel.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialCarousel {\n @Element() host!: HTMLElement;\n @State() currentIndex: number = 0;\n @State() isAnimating: boolean = false;\n @State() testimonialCount: number = 0;\n\n private testimonials: HTMLElement[] = [];\n private observer: MutationObserver | undefined;\n\n componentDidLoad() {\n this.detectTestimonials();\n \n // Watch for testimonials being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.detectTestimonials();\n });\n \n this.observer.observe(this.host, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n /**\n * Listen for navigation events from testimonials\n */\n @Listen('navPrev')\n handleNavPrev() {\n this.goToPrevious();\n }\n\n @Listen('navNext')\n handleNavNext() {\n this.goToNext();\n }\n\n private detectTestimonials() {\n const newTestimonials = Array.from(this.host.querySelectorAll('af-testimonial')) as HTMLElement[];\n \n if (newTestimonials.length !== this.testimonials.length) {\n this.testimonials = newTestimonials;\n this.testimonialCount = newTestimonials.length;\n \n if (this.testimonials.length > 0) {\n this.currentIndex = 0;\n this.updateVisibleTestimonial();\n }\n }\n }\n\n private updateVisibleTestimonial() {\n const hasPrev = this.currentIndex > 0;\n const hasNext = this.currentIndex < this.testimonialCount - 1;\n const showNav = this.testimonialCount > 1;\n\n this.testimonials.forEach((testimonial, index) => {\n const offset = (index - this.currentIndex) * 100;\n testimonial.style.transform = `translateX(${offset}%)`;\n testimonial.style.opacity = index === this.currentIndex ? '1' : '0';\n testimonial.style.pointerEvents = index === this.currentIndex ? 'auto' : 'none';\n \n // Set navigation props on testimonials (directly on the element for Stencil)\n (testimonial as any).showNavigation = showNav;\n (testimonial as any).hasPrev = hasPrev;\n (testimonial as any).hasNext = hasNext;\n });\n }\n\n private goToPrevious = () => {\n if (this.isAnimating || this.currentIndex === 0) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex - 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n private goToNext = () => {\n if (this.isAnimating || this.currentIndex >= this.testimonialCount - 1) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex + 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n /**\n * Calculate progress value (0 to 1) based on current position\n */\n private getProgress(): number {\n if (this.testimonialCount <= 1) return 0;\n return (this.currentIndex + 1) / this.testimonialCount;\n }\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-carousel\">\n <div class=\"testimonial-slides\">\n <slot></slot>\n </div>\n \n {/* Progress indicator using af-progress-line atom */}\n {this.testimonialCount > 1 && (\n <div class=\"testimonial-progress\">\n <af-progress-line progress={this.getProgress()} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"af-testimonial-stat.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,+qBAA+qB;;MCQ/rBA,mBAAiB,iBAAAC,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;AAN9B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAiBE;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;AActC;IAZC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,QAAQ,IAAI,CAAC,YAAY,GAAG,cAAc,GAAG,EAAE,CAAE,CAAA,EAAA,EAE3D,CAAY,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,YAAY,EAAE,EAAA,IAAI,CAAC,KAAK,CAAc,EAElE,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,kBAAkB,EAAE,EAAA,IAAI,CAAC,WAAW,CAAW,CAC3E,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfTestimonialStat","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-testimonial-stat/af-testimonial-stat.css?tag=af-testimonial-stat&encapsulation=scoped","src/components/af-testimonial-stat/af-testimonial-stat.tsx"],"sourcesContent":[":host {\n display: block;\n flex: 1;\n min-width: 0;\n}\n\n.stat {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.stat--accent {\n /* Themed active/accent border color */\n border-left: 2px solid var(--af-background-border-active, var(--colour-softclay-800, #8a7049));\n padding-left: 16px;\n min-height: 76px;\n justify-content: center;\n}\n\n/* Stat value - override af-heading to use secondary color */\n.stat-value {\n /* Override the heading color to use secondary (gold/ochre) instead of primary */\n --af-typography-heading-primary: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));\n letter-spacing: -0.88px;\n white-space: nowrap;\n}\n\n/* Description - override af-text to use body-dark for emphasis */\n.stat-description {\n --af-typography-body-default: var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343b));\n overflow: hidden;\n text-overflow: ellipsis;\n}","import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial-stat',\n styleUrl: 'af-testimonial-stat.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialStat {\n /**\n * The statistic value (e.g., \"95%\", \"10×\", \"120,000\")\n */\n @Prop() value!: string;\n\n /**\n * Description text for the statistic\n */\n @Prop() description!: string;\n\n /**\n * Whether to show left accent border\n */\n @Prop() accentBorder: boolean = false;\n\n render() {\n return (\n <Host>\n <div class={`stat ${this.accentBorder ? 'stat--accent' : ''}`}>\n {/* Stat value uses secondary heading color via CSS override */}\n <af-heading level={2} class=\"stat-value\">{this.value}</af-heading>\n {/* Description uses af-text for proper theming */}\n <af-text variant=\"medium\" class=\"stat-description\">{this.description}</af-text>\n </div>\n </Host>\n );\n }\n}\n\n\n"],"version":3}
|