@affinda/wc 0.0.27 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/affinda/af-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
- package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
- package/dist/affinda/af-footer.entry.esm.js.map +1 -1
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
- package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
- package/dist/affinda/af-paperclip-decoration.entry.esm.js.map +1 -0
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
- package/dist/affinda/affinda.css +1 -1
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/{p-28aaeb3e.entry.js → p-0137e7a5.entry.js} +2 -2
- package/dist/affinda/{p-c5ba91b3.entry.js → p-0201c8bd.entry.js} +2 -2
- package/dist/affinda/p-081cc890.entry.js +2 -0
- package/dist/affinda/{p-45f6c49e.entry.js.map → p-081cc890.entry.js.map} +1 -1
- package/dist/affinda/{p-150f8363.entry.js → p-083fc528.entry.js} +2 -2
- package/dist/affinda/{p-c5fd819e.entry.js → p-0e469ad2.entry.js} +2 -2
- package/dist/affinda/{p-7813390b.entry.js → p-15f0bd34.entry.js} +2 -2
- package/dist/affinda/{p-7fa67014.entry.js → p-1c96856a.entry.js} +2 -2
- package/dist/affinda/{p-4d5b0112.entry.js → p-24e74c10.entry.js} +2 -2
- package/dist/affinda/{p-5aea4c4f.entry.js → p-2e6192eb.entry.js} +2 -2
- package/dist/affinda/{p-7a8ca627.entry.js → p-35607741.entry.js} +2 -2
- package/dist/affinda/{p-8b74fd5e.entry.js → p-364ffa25.entry.js} +2 -2
- package/dist/affinda/p-3a0e45c3.entry.js +2 -0
- package/dist/affinda/{p-8b26a82c.entry.js.map → p-3a0e45c3.entry.js.map} +1 -1
- package/dist/affinda/{p-fb76a5ef.entry.js → p-3ee906de.entry.js} +2 -2
- package/dist/affinda/{p-fb054540.entry.js → p-41643147.entry.js} +2 -2
- package/dist/affinda/{p-226bad82.entry.js → p-43f40921.entry.js} +2 -2
- package/dist/affinda/{p-d34da5ef.entry.js → p-48aadea9.entry.js} +2 -2
- package/dist/affinda/p-49521f2e.entry.js +2 -0
- package/dist/affinda/{p-fee5d2ac.entry.js.map → p-49521f2e.entry.js.map} +1 -1
- package/dist/affinda/{p-398cb86b.entry.js → p-4a355b69.entry.js} +2 -2
- package/dist/affinda/{p-bf8b5474.entry.js → p-4b154e23.entry.js} +2 -2
- package/dist/affinda/{p-02a4fea4.entry.js → p-4b2c0698.entry.js} +2 -2
- package/dist/affinda/{p-6101a8e7.entry.js → p-4c4406bf.entry.js} +2 -2
- package/dist/affinda/{p-6101a8e7.entry.js.map → p-4c4406bf.entry.js.map} +1 -1
- package/dist/affinda/p-4cf65950.entry.js +2 -0
- package/dist/affinda/{p-72d92e22.entry.js.map → p-4cf65950.entry.js.map} +1 -1
- package/dist/affinda/{p-e6ebdd17.entry.js → p-4f59b554.entry.js} +2 -2
- package/dist/affinda/{p-f8c507a2.entry.js → p-50a67fb6.entry.js} +2 -2
- package/dist/affinda/{p-ed1805f8.entry.js → p-5265e82e.entry.js} +2 -2
- package/dist/affinda/{p-0a3cf810.entry.js → p-56fe6e6e.entry.js} +2 -2
- package/dist/affinda/{p-2c8a4be1.entry.js → p-5f6a5741.entry.js} +2 -2
- package/dist/affinda/p-6038a213.entry.js +2 -0
- package/dist/affinda/{p-78878799.entry.js.map → p-6038a213.entry.js.map} +1 -1
- package/dist/affinda/{p-6f32ce63.entry.js → p-6c33fee6.entry.js} +2 -2
- package/dist/affinda/{p-ca59d877.entry.js → p-6c58b283.entry.js} +2 -2
- package/dist/affinda/{p-89224154.entry.js → p-6e40dbdf.entry.js} +2 -2
- package/dist/affinda/{p-eca53803.entry.js → p-76cb736d.entry.js} +2 -2
- package/dist/affinda/{p-bdc28cb8.entry.js → p-78518e6c.entry.js} +2 -2
- package/dist/affinda/{p-56edd6de.entry.js → p-7867c2ff.entry.js} +2 -2
- package/dist/affinda/{p-a48057c0.entry.js → p-81706709.entry.js} +2 -2
- package/dist/affinda/{p-17918daf.entry.js → p-862a2509.entry.js} +2 -2
- package/dist/affinda/{p-29d51294.entry.js → p-86f6dfdc.entry.js} +2 -2
- package/dist/affinda/{p-50049e63.entry.js → p-8c4e3047.entry.js} +2 -2
- package/dist/affinda/{p-58f74509.entry.js → p-90ef7baa.entry.js} +2 -2
- package/dist/affinda/{p-64a0fa57.entry.js → p-94f51238.entry.js} +2 -2
- package/dist/affinda/{p-4d984fae.entry.js → p-95d4696a.entry.js} +2 -2
- package/dist/affinda/{p-f82ed42c.entry.js → p-9aed7039.entry.js} +2 -2
- package/dist/affinda/{p-bf52ca34.entry.js → p-9c1e9bd8.entry.js} +2 -2
- package/dist/affinda/{p-3afcca1b.entry.js → p-9eba91fd.entry.js} +2 -2
- package/dist/affinda/{p-1ddf3bd4.entry.js → p-9f3e7116.entry.js} +2 -2
- package/dist/affinda/p-MwnBSqEY.js +3 -0
- package/dist/affinda/p-MwnBSqEY.js.map +1 -0
- package/dist/affinda/{p-aea8dcee.entry.js → p-a35029eb.entry.js} +2 -2
- package/dist/affinda/{p-3aae8a0c.entry.js → p-a6eda8af.entry.js} +2 -2
- package/dist/affinda/{p-23156b61.entry.js → p-a71d528d.entry.js} +2 -2
- package/dist/affinda/{p-e49c237f.entry.js → p-a84ae4a5.entry.js} +2 -2
- package/dist/affinda/{p-8901e13c.entry.js → p-ad41f905.entry.js} +2 -2
- package/dist/affinda/{p-c753a592.entry.js → p-b2633acb.entry.js} +2 -2
- package/dist/affinda/{p-d145dc5b.entry.js → p-b2b28366.entry.js} +2 -2
- package/dist/affinda/p-c8c4783c.entry.js +2 -0
- package/dist/affinda/{p-7b595da0.entry.js.map → p-c8c4783c.entry.js.map} +1 -1
- package/dist/affinda/{p-bf2c549d.entry.js → p-da2d84f7.entry.js} +2 -2
- package/dist/affinda/{p-a4b9a1f5.entry.js → p-dbe7ab88.entry.js} +2 -2
- package/dist/affinda/{p-d28466b0.entry.js → p-e055407b.entry.js} +2 -2
- package/dist/affinda/p-e1cbe95a.entry.js +2 -0
- package/dist/affinda/{p-9be8ba6a.entry.js.map → p-e1cbe95a.entry.js.map} +1 -1
- package/dist/affinda/{p-a4a4d392.entry.js → p-e1e98cd6.entry.js} +2 -2
- package/dist/affinda/p-ea42c40b.entry.js +2 -0
- package/dist/affinda/p-ea42c40b.entry.js.map +1 -0
- package/dist/affinda/{p-9d0b9203.entry.js → p-edb1a010.entry.js} +2 -2
- package/dist/affinda/p-ef5857cf.entry.js +2 -0
- package/dist/affinda/p-f10a31cb.entry.js +2 -0
- package/dist/affinda/p-f10a31cb.entry.js.map +1 -0
- package/dist/affinda/{p-b8e3c594.entry.js → p-f9315f9e.entry.js} +2 -2
- package/dist/affinda/p-feb3d03f.entry.js +2 -0
- package/dist/cjs/af-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/af-accordion.cjs.entry.js +1 -1
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/af-button-group.cjs.entry.js +1 -1
- package/dist/cjs/af-button.cjs.entry.js +1 -1
- package/dist/cjs/af-card.cjs.entry.js +2 -2
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-center.cjs.entry.js +1 -1
- package/dist/cjs/af-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +21 -6
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
- package/dist/cjs/af-container.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.cjs.entry.js +1 -1
- package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
- package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
- package/dist/cjs/af-fieldset.cjs.entry.js +1 -1
- package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
- package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/af-footer.cjs.entry.js +2 -2
- package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
- package/dist/cjs/af-grid.cjs.entry.js +1 -1
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
- package/dist/cjs/af-heading_5.cjs.entry.js +2 -2
- package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
- package/dist/cjs/af-icon.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
- package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-image.cjs.entry.js +1 -1
- package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
- package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
- package/dist/cjs/af-inline.cjs.entry.js +1 -1
- package/dist/cjs/af-input.cjs.entry.js +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
- package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
- package/dist/cjs/af-paperclip-decoration.cjs.entry.js +39 -0
- package/dist/cjs/af-paperclip-decoration.entry.cjs.js.map +1 -0
- package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
- package/dist/cjs/af-radio.cjs.entry.js +1 -1
- package/dist/cjs/af-section.cjs.entry.js +3 -3
- package/dist/cjs/af-show.cjs.entry.js +2 -2
- package/dist/cjs/af-social-link.cjs.entry.js +2 -2
- package/dist/cjs/af-spacer.cjs.entry.js +2 -2
- package/dist/cjs/af-split-section.cjs.entry.js +3 -3
- package/dist/cjs/af-stack.cjs.entry.js +2 -2
- package/dist/cjs/af-stepper-step.cjs.entry.js +2 -2
- package/dist/cjs/af-stepper.cjs.entry.js +2 -2
- package/dist/cjs/af-switch.cjs.entry.js +1 -1
- package/dist/cjs/af-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/af-tab.cjs.entry.js +1 -1
- package/dist/cjs/af-tag.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
- package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
- package/dist/cjs/af-text-image.cjs.entry.js +1 -1
- package/dist/cjs/af-textarea.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
- package/dist/cjs/af-typography-lockup.cjs.entry.js +11 -5
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/af-video-container.cjs.entry.js +2 -2
- package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
- package/dist/cjs/affinda.cjs.js +2 -2
- package/dist/cjs/{index-BKMHxS4K.js → index-BzZA0USq.js} +3 -3
- package/dist/cjs/index-BzZA0USq.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/af-card/af-card.css +4 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.css +36 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +58 -14
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +27 -5
- package/dist/collection/components/af-footer/af-footer.css +5 -2
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +5 -1
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +6 -4
- package/dist/collection/components/af-navbar/af-navbar.css +4 -1
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.css +11 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +152 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js.map +1 -0
- package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
- package/dist/collection/components/af-section/af-section.js +2 -2
- package/dist/collection/components/af-show/af-show.js +1 -1
- package/dist/collection/components/af-social-link/af-social-link.js +1 -1
- package/dist/collection/components/af-spacer/af-spacer.js +1 -1
- package/dist/collection/components/af-split-section/af-split-section.js +2 -2
- package/dist/collection/components/af-stack/af-stack.js +1 -1
- package/dist/collection/components/af-stepper/af-stepper.js +1 -1
- package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
- package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
- package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
- package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +36 -12
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +20 -8
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
- package/dist/collection/components/af-video-container/af-video-container.js +1 -1
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
- package/dist/components/af-accordion-item.js +1 -1
- package/dist/components/af-accordion.js +1 -1
- package/dist/components/af-aspect-ratio.js +1 -1
- package/dist/components/af-button-group.js +1 -1
- package/dist/components/af-button.js +1 -1
- package/dist/components/af-card.js +1 -1
- package/dist/components/af-center.js +1 -1
- package/dist/components/af-checkbox.js +1 -1
- package/dist/components/af-client-carousel.js +23 -7
- package/dist/components/af-client-carousel.js.map +1 -1
- package/dist/components/af-color-swatch.js +1 -1
- package/dist/components/af-contact-item.js +1 -1
- package/dist/components/af-container.js +1 -1
- package/dist/components/af-divider.js +1 -1
- package/dist/components/af-feature-accordion.js +2 -2
- package/dist/components/af-feature-accordion.js.map +1 -1
- package/dist/components/af-feature-card.js +1 -1
- package/dist/components/af-feature-grid.js +2 -2
- package/dist/components/af-fieldset.js +1 -1
- package/dist/components/af-footer-column.js +1 -1
- package/dist/components/af-footer-link.js +1 -1
- package/dist/components/af-footer.js +2 -2
- package/dist/components/af-footer.js.map +1 -1
- package/dist/components/af-grid-callout.js +2 -2
- package/dist/components/af-grid.js +1 -1
- package/dist/components/af-heading.js +1 -1
- package/dist/components/af-icon-box.js +1 -1
- package/dist/components/af-icon-button.js +1 -1
- package/dist/components/af-icon-text.js +4 -4
- package/dist/components/af-icon.js +1 -1
- package/dist/components/af-illustrated-card.js +1 -1
- package/dist/components/af-image.js +1 -1
- package/dist/components/af-in-page-banner.js +3 -3
- package/dist/components/af-in-page-banner.js.map +1 -1
- package/dist/components/af-inline.js +1 -1
- package/dist/components/af-input.js +1 -1
- package/dist/components/af-logo-well.js +1 -1
- package/dist/components/af-logo.js +1 -1
- package/dist/components/af-nav-accordion-item.js +1 -1
- package/dist/components/af-nav-accordion.js +1 -1
- package/dist/components/af-nav-card.js +1 -1
- package/dist/components/af-nav-item.js +1 -1
- package/dist/components/af-nav-menu-nest.js +1 -1
- package/dist/components/af-nav-menu.js +1 -1
- package/dist/components/af-navbar.js +1 -1
- package/dist/components/af-number-badge.js +1 -1
- package/dist/components/af-paperclip-decoration.d.ts +11 -0
- package/dist/components/af-paperclip-decoration.js +64 -0
- package/dist/components/af-paperclip-decoration.js.map +1 -0
- package/dist/components/af-progress-line.js +1 -1
- package/dist/components/af-radio.js +1 -1
- package/dist/components/af-section.js +4 -4
- package/dist/components/af-show.js +2 -2
- package/dist/components/af-social-link.js +2 -2
- package/dist/components/af-spacer.js +2 -2
- package/dist/components/af-split-section.js +4 -4
- package/dist/components/af-stack.js +2 -2
- package/dist/components/af-stepper-step.js +2 -2
- package/dist/components/af-stepper.js +2 -2
- package/dist/components/af-switch.js +1 -1
- package/dist/components/af-tab-bar.js +1 -1
- package/dist/components/af-tab.js +1 -1
- package/dist/components/af-tag.js +1 -1
- package/dist/components/af-testimonial-carousel.js +3 -3
- package/dist/components/af-testimonial-stat.js +4 -4
- package/dist/components/af-testimonial.js +6 -6
- package/dist/components/af-text-image-nest.js +2 -2
- package/dist/components/af-text-image.js +2 -2
- package/dist/components/af-text.js +1 -1
- package/dist/components/af-textarea.js +1 -1
- package/dist/components/af-theme-override.js +2 -2
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/af-video-container.js +4 -4
- package/dist/components/af-visually-hidden.js +2 -2
- package/dist/components/index.js +24 -24
- package/dist/components/{p-CyTj19Yy.js → p--gChEc0P.js} +3 -3
- package/dist/components/{p-CyTj19Yy.js.map → p--gChEc0P.js.map} +1 -1
- package/dist/components/{p-0-_hX4o-.js → p-BRDu9zN1.js} +3 -3
- package/dist/components/{p-0-_hX4o-.js.map → p-BRDu9zN1.js.map} +1 -1
- package/dist/components/{p-BgDSP0Qs.js → p-BROLmNeM.js} +3 -3
- package/dist/components/{p-BgDSP0Qs.js.map → p-BROLmNeM.js.map} +1 -1
- package/dist/components/{p-D-Xf1-qQ.js → p-BT13eL0Y.js} +3 -3
- package/dist/components/{p-D-Xf1-qQ.js.map → p-BT13eL0Y.js.map} +1 -1
- package/dist/components/{p-CBrB-J4s.js → p-BW-FxZwa.js} +3 -3
- package/dist/components/{p-CBrB-J4s.js.map → p-BW-FxZwa.js.map} +1 -1
- package/dist/components/{p-BFLKhcjQ.js → p-B_OoX__z.js} +3 -3
- package/dist/components/{p-BFLKhcjQ.js.map → p-B_OoX__z.js.map} +1 -1
- package/dist/components/{p-BQ1El6-J.js → p-BgXXQG75.js} +3 -3
- package/dist/components/{p-BQ1El6-J.js.map → p-BgXXQG75.js.map} +1 -1
- package/dist/components/{p-CVYQKqKI.js → p-Bh6Cfgtj.js} +3 -3
- package/dist/components/{p-CVYQKqKI.js.map → p-Bh6Cfgtj.js.map} +1 -1
- package/dist/components/{p-C8y3mc7N.js → p-C4G6votC.js} +3 -3
- package/dist/components/{p-C8y3mc7N.js.map → p-C4G6votC.js.map} +1 -1
- package/dist/components/{p-noO3IF9V.js → p-C6-JATRR.js} +6 -6
- package/dist/components/{p-noO3IF9V.js.map → p-C6-JATRR.js.map} +1 -1
- package/dist/components/p-CKLkuSI3.js +53 -0
- package/dist/components/p-CKLkuSI3.js.map +1 -0
- package/dist/components/{p-BJmoxr_I.js → p-CNzQtskW.js} +5 -5
- package/dist/components/{p-BJmoxr_I.js.map → p-CNzQtskW.js.map} +1 -1
- package/dist/components/{p-DIIZN41O.js → p-CP8rLe_C.js} +3 -3
- package/dist/components/{p-DIIZN41O.js.map → p-CP8rLe_C.js.map} +1 -1
- package/dist/components/{p-Btsw1ple.js → p-CX0pktY8.js} +3 -3
- package/dist/components/{p-Btsw1ple.js.map → p-CX0pktY8.js.map} +1 -1
- package/dist/components/{p-BntvCg5H.js → p-CYKk6Qhi.js} +3 -3
- package/dist/components/{p-BntvCg5H.js.map → p-CYKk6Qhi.js.map} +1 -1
- package/dist/components/{p-BjJS1_8G.js → p-CoL_hRAR.js} +3 -3
- package/dist/components/{p-BjJS1_8G.js.map → p-CoL_hRAR.js.map} +1 -1
- package/dist/components/{p-CkYQbs2f.js → p-D8DmhESZ.js} +3 -3
- package/dist/components/{p-CkYQbs2f.js.map → p-D8DmhESZ.js.map} +1 -1
- package/dist/components/{p-DvXggVot.js → p-DJC-C2BS.js} +3 -3
- package/dist/components/{p-DvXggVot.js.map → p-DJC-C2BS.js.map} +1 -1
- package/dist/components/{p-287-nef9.js → p-DNeNJhuM.js} +14 -8
- package/dist/components/p-DNeNJhuM.js.map +1 -0
- package/dist/components/{p-jTq4gh1Q.js → p-DO9J0XTo.js} +5 -5
- package/dist/components/{p-jTq4gh1Q.js.map → p-DO9J0XTo.js.map} +1 -1
- package/dist/components/{p-BBpihWJI.js → p-DOgb6SUj.js} +3 -3
- package/dist/components/p-DOgb6SUj.js.map +1 -0
- package/dist/components/{p-DREa7k5l.js → p-DbVc-b1e.js} +3 -3
- package/dist/components/{p-DREa7k5l.js.map → p-DbVc-b1e.js.map} +1 -1
- package/dist/components/{p-a9H_FzMp.js → p-Dd3nOGt_.js} +3 -3
- package/dist/components/{p-a9H_FzMp.js.map → p-Dd3nOGt_.js.map} +1 -1
- package/dist/components/{p-CrftZP-C.js → p-Dx_UXI2a.js} +3 -3
- package/dist/components/{p-CrftZP-C.js.map → p-Dx_UXI2a.js.map} +1 -1
- package/dist/components/{p-BnX_qYj5.js → p-DyZaoX4Q.js} +3 -3
- package/dist/components/{p-BnX_qYj5.js.map → p-DyZaoX4Q.js.map} +1 -1
- package/dist/components/{p-tiZXMu0t.js → p-HMlLQQwp.js} +5 -5
- package/dist/components/p-HMlLQQwp.js.map +1 -0
- package/dist/components/{p-DcLua_lK.js → p-NtJ_O8-z.js} +3 -3
- package/dist/components/{p-DcLua_lK.js.map → p-NtJ_O8-z.js.map} +1 -1
- package/dist/components/{p-eAysTBjl.js → p-i_6TLQJ5.js} +4 -4
- package/dist/components/{p-eAysTBjl.js.map → p-i_6TLQJ5.js.map} +1 -1
- package/dist/components/{p-D4YzNoal.js → p-kEqwmn80.js} +3 -3
- package/dist/components/{p-D4YzNoal.js.map → p-kEqwmn80.js.map} +1 -1
- package/dist/esm/af-accordion-item.entry.js +1 -1
- package/dist/esm/af-accordion.entry.js +1 -1
- package/dist/esm/af-aspect-ratio.entry.js +1 -1
- package/dist/esm/af-button-group.entry.js +1 -1
- package/dist/esm/af-button.entry.js +1 -1
- package/dist/esm/af-card.entry.js +2 -2
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-center.entry.js +1 -1
- package/dist/esm/af-checkbox.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js +21 -6
- package/dist/esm/af-client-carousel.entry.js.map +1 -1
- package/dist/esm/af-color-swatch.entry.js +1 -1
- package/dist/esm/af-contact-item.entry.js +1 -1
- package/dist/esm/af-container.entry.js +1 -1
- package/dist/esm/af-divider.entry.js +1 -1
- package/dist/esm/af-feature-accordion.entry.js +2 -2
- package/dist/esm/af-feature-accordion.entry.js.map +1 -1
- package/dist/esm/af-feature-card.entry.js +1 -1
- package/dist/esm/af-feature-grid.entry.js +1 -1
- package/dist/esm/af-fieldset.entry.js +1 -1
- package/dist/esm/af-footer-column.entry.js +1 -1
- package/dist/esm/af-footer-link.entry.js +1 -1
- package/dist/esm/af-footer.entry.js +2 -2
- package/dist/esm/af-footer.entry.js.map +1 -1
- package/dist/esm/af-grid-callout.entry.js +1 -1
- package/dist/esm/af-grid.entry.js +1 -1
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
- package/dist/esm/af-heading_5.entry.js +2 -2
- package/dist/esm/af-icon-box.entry.js +1 -1
- package/dist/esm/af-icon-button.entry.js +1 -1
- package/dist/esm/af-icon-text.entry.js +1 -1
- package/dist/esm/af-icon.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js +2 -2
- package/dist/esm/af-illustrated-card.entry.js.map +1 -1
- package/dist/esm/af-image.entry.js +1 -1
- package/dist/esm/af-in-page-banner.entry.js +2 -2
- package/dist/esm/af-in-page-banner.entry.js.map +1 -1
- package/dist/esm/af-inline.entry.js +1 -1
- package/dist/esm/af-input.entry.js +1 -1
- package/dist/esm/af-logo-well.entry.js +1 -1
- package/dist/esm/af-nav-accordion-item.entry.js +1 -1
- package/dist/esm/af-nav-accordion.entry.js +1 -1
- package/dist/esm/af-nav-card.entry.js +1 -1
- package/dist/esm/af-nav-menu-nest.entry.js +1 -1
- package/dist/esm/af-nav-menu.entry.js +1 -1
- package/dist/esm/af-number-badge.entry.js +1 -1
- package/dist/esm/af-paperclip-decoration.entry.js +37 -0
- package/dist/esm/af-paperclip-decoration.entry.js.map +1 -0
- package/dist/esm/af-progress-line.entry.js +3 -3
- package/dist/esm/af-radio.entry.js +1 -1
- package/dist/esm/af-section.entry.js +3 -3
- package/dist/esm/af-show.entry.js +2 -2
- package/dist/esm/af-social-link.entry.js +2 -2
- package/dist/esm/af-spacer.entry.js +2 -2
- package/dist/esm/af-split-section.entry.js +3 -3
- package/dist/esm/af-stack.entry.js +2 -2
- package/dist/esm/af-stepper-step.entry.js +2 -2
- package/dist/esm/af-stepper.entry.js +2 -2
- package/dist/esm/af-switch.entry.js +1 -1
- package/dist/esm/af-tab-bar.entry.js +1 -1
- package/dist/esm/af-tab.entry.js +1 -1
- package/dist/esm/af-tag.entry.js +1 -1
- package/dist/esm/af-testimonial-carousel.entry.js +2 -2
- package/dist/esm/af-testimonial-stat.entry.js +2 -2
- package/dist/esm/af-testimonial.entry.js +3 -3
- package/dist/esm/af-text-image-nest.entry.js +2 -2
- package/dist/esm/af-text-image.entry.js +1 -1
- package/dist/esm/af-textarea.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js +2 -2
- package/dist/esm/af-typography-lockup.entry.js +11 -5
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/af-video-container.entry.js +2 -2
- package/dist/esm/af-visually-hidden.entry.js +2 -2
- package/dist/esm/affinda.js +3 -3
- package/dist/esm/{index-C7nUZsb8.js → index-MwnBSqEY.js} +3 -3
- package/dist/esm/index-MwnBSqEY.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +25 -12
- package/dist/types/components/af-paperclip-decoration/af-paperclip-decoration.d.ts +50 -0
- package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +11 -4
- package/dist/types/components.d.ts +233 -46
- package/package.json +4 -4
- package/dist/affinda/p-42dc01c7.entry.js +0 -2
- package/dist/affinda/p-45f6c49e.entry.js +0 -2
- package/dist/affinda/p-4f899b6c.entry.js +0 -2
- package/dist/affinda/p-72d92e22.entry.js +0 -2
- package/dist/affinda/p-78878799.entry.js +0 -2
- package/dist/affinda/p-7b595da0.entry.js +0 -2
- package/dist/affinda/p-81a91090.entry.js +0 -2
- package/dist/affinda/p-81a91090.entry.js.map +0 -1
- package/dist/affinda/p-8b26a82c.entry.js +0 -2
- package/dist/affinda/p-9be8ba6a.entry.js +0 -2
- package/dist/affinda/p-C7nUZsb8.js +0 -3
- package/dist/affinda/p-C7nUZsb8.js.map +0 -1
- package/dist/affinda/p-fee5d2ac.entry.js +0 -2
- package/dist/cjs/index-BKMHxS4K.js.map +0 -1
- package/dist/components/p-287-nef9.js.map +0 -1
- package/dist/components/p-BBpihWJI.js.map +0 -1
- package/dist/components/p-BxwCXPuv.js +0 -53
- package/dist/components/p-BxwCXPuv.js.map +0 -1
- package/dist/components/p-tiZXMu0t.js.map +0 -1
- package/dist/esm/index-C7nUZsb8.js.map +0 -1
- /package/dist/affinda/{p-28aaeb3e.entry.js.map → p-0137e7a5.entry.js.map} +0 -0
- /package/dist/affinda/{p-c5ba91b3.entry.js.map → p-0201c8bd.entry.js.map} +0 -0
- /package/dist/affinda/{p-150f8363.entry.js.map → p-083fc528.entry.js.map} +0 -0
- /package/dist/affinda/{p-c5fd819e.entry.js.map → p-0e469ad2.entry.js.map} +0 -0
- /package/dist/affinda/{p-7813390b.entry.js.map → p-15f0bd34.entry.js.map} +0 -0
- /package/dist/affinda/{p-7fa67014.entry.js.map → p-1c96856a.entry.js.map} +0 -0
- /package/dist/affinda/{p-4d5b0112.entry.js.map → p-24e74c10.entry.js.map} +0 -0
- /package/dist/affinda/{p-5aea4c4f.entry.js.map → p-2e6192eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-7a8ca627.entry.js.map → p-35607741.entry.js.map} +0 -0
- /package/dist/affinda/{p-8b74fd5e.entry.js.map → p-364ffa25.entry.js.map} +0 -0
- /package/dist/affinda/{p-fb76a5ef.entry.js.map → p-3ee906de.entry.js.map} +0 -0
- /package/dist/affinda/{p-fb054540.entry.js.map → p-41643147.entry.js.map} +0 -0
- /package/dist/affinda/{p-226bad82.entry.js.map → p-43f40921.entry.js.map} +0 -0
- /package/dist/affinda/{p-d34da5ef.entry.js.map → p-48aadea9.entry.js.map} +0 -0
- /package/dist/affinda/{p-398cb86b.entry.js.map → p-4a355b69.entry.js.map} +0 -0
- /package/dist/affinda/{p-bf8b5474.entry.js.map → p-4b154e23.entry.js.map} +0 -0
- /package/dist/affinda/{p-02a4fea4.entry.js.map → p-4b2c0698.entry.js.map} +0 -0
- /package/dist/affinda/{p-e6ebdd17.entry.js.map → p-4f59b554.entry.js.map} +0 -0
- /package/dist/affinda/{p-f8c507a2.entry.js.map → p-50a67fb6.entry.js.map} +0 -0
- /package/dist/affinda/{p-ed1805f8.entry.js.map → p-5265e82e.entry.js.map} +0 -0
- /package/dist/affinda/{p-0a3cf810.entry.js.map → p-56fe6e6e.entry.js.map} +0 -0
- /package/dist/affinda/{p-2c8a4be1.entry.js.map → p-5f6a5741.entry.js.map} +0 -0
- /package/dist/affinda/{p-6f32ce63.entry.js.map → p-6c33fee6.entry.js.map} +0 -0
- /package/dist/affinda/{p-ca59d877.entry.js.map → p-6c58b283.entry.js.map} +0 -0
- /package/dist/affinda/{p-89224154.entry.js.map → p-6e40dbdf.entry.js.map} +0 -0
- /package/dist/affinda/{p-eca53803.entry.js.map → p-76cb736d.entry.js.map} +0 -0
- /package/dist/affinda/{p-bdc28cb8.entry.js.map → p-78518e6c.entry.js.map} +0 -0
- /package/dist/affinda/{p-56edd6de.entry.js.map → p-7867c2ff.entry.js.map} +0 -0
- /package/dist/affinda/{p-a48057c0.entry.js.map → p-81706709.entry.js.map} +0 -0
- /package/dist/affinda/{p-17918daf.entry.js.map → p-862a2509.entry.js.map} +0 -0
- /package/dist/affinda/{p-29d51294.entry.js.map → p-86f6dfdc.entry.js.map} +0 -0
- /package/dist/affinda/{p-50049e63.entry.js.map → p-8c4e3047.entry.js.map} +0 -0
- /package/dist/affinda/{p-58f74509.entry.js.map → p-90ef7baa.entry.js.map} +0 -0
- /package/dist/affinda/{p-64a0fa57.entry.js.map → p-94f51238.entry.js.map} +0 -0
- /package/dist/affinda/{p-4d984fae.entry.js.map → p-95d4696a.entry.js.map} +0 -0
- /package/dist/affinda/{p-f82ed42c.entry.js.map → p-9aed7039.entry.js.map} +0 -0
- /package/dist/affinda/{p-bf52ca34.entry.js.map → p-9c1e9bd8.entry.js.map} +0 -0
- /package/dist/affinda/{p-3afcca1b.entry.js.map → p-9eba91fd.entry.js.map} +0 -0
- /package/dist/affinda/{p-1ddf3bd4.entry.js.map → p-9f3e7116.entry.js.map} +0 -0
- /package/dist/affinda/{p-aea8dcee.entry.js.map → p-a35029eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-3aae8a0c.entry.js.map → p-a6eda8af.entry.js.map} +0 -0
- /package/dist/affinda/{p-23156b61.entry.js.map → p-a71d528d.entry.js.map} +0 -0
- /package/dist/affinda/{p-e49c237f.entry.js.map → p-a84ae4a5.entry.js.map} +0 -0
- /package/dist/affinda/{p-8901e13c.entry.js.map → p-ad41f905.entry.js.map} +0 -0
- /package/dist/affinda/{p-c753a592.entry.js.map → p-b2633acb.entry.js.map} +0 -0
- /package/dist/affinda/{p-d145dc5b.entry.js.map → p-b2b28366.entry.js.map} +0 -0
- /package/dist/affinda/{p-bf2c549d.entry.js.map → p-da2d84f7.entry.js.map} +0 -0
- /package/dist/affinda/{p-a4b9a1f5.entry.js.map → p-dbe7ab88.entry.js.map} +0 -0
- /package/dist/affinda/{p-d28466b0.entry.js.map → p-e055407b.entry.js.map} +0 -0
- /package/dist/affinda/{p-a4a4d392.entry.js.map → p-e1e98cd6.entry.js.map} +0 -0
- /package/dist/affinda/{p-9d0b9203.entry.js.map → p-edb1a010.entry.js.map} +0 -0
- /package/dist/affinda/{p-4f899b6c.entry.js.map → p-ef5857cf.entry.js.map} +0 -0
- /package/dist/affinda/{p-b8e3c594.entry.js.map → p-f9315f9e.entry.js.map} +0 -0
- /package/dist/affinda/{p-42dc01c7.entry.js.map → p-feb3d03f.entry.js.map} +0 -0
|
@@ -21,10 +21,10 @@ export class AfProgressLine {
|
|
|
21
21
|
// Clamp progress between 0 and 1
|
|
22
22
|
const clampedProgress = Math.max(0, Math.min(1, this.progress));
|
|
23
23
|
const progressPercent = clampedProgress * 100;
|
|
24
|
-
return (h(Host, { key: '
|
|
24
|
+
return (h(Host, { key: 'e831de02f8d1263448cf0441085cee677230374e' }, h("div", { key: '57eec77244c1f0c2a1a763d04b22751651069dbc', class: {
|
|
25
25
|
'progress-line': true,
|
|
26
26
|
[`progress-line--${this.orientation}`]: true,
|
|
27
|
-
}, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: '
|
|
27
|
+
}, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: '9b3229746fef82f644953a189959c109104be511', class: "progress-line__background" }), h("div", { key: '0f5ec3a4a51b350b3b9cb26ea446167a40ce4ae4', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "af-progress-line"; }
|
|
30
30
|
static get encapsulation() { return "scoped"; }
|
|
@@ -13,8 +13,8 @@ export class AfSection {
|
|
|
13
13
|
this.container = true;
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
const content = h("slot", { key: '
|
|
17
|
-
return (h(Host, { key: '
|
|
16
|
+
const content = h("slot", { key: 'a67ae3c0d94b8b4024ae3cb7c5c0e4f916e1f309' });
|
|
17
|
+
return (h(Host, { key: 'dcdea86aa5b6ce4e3cfe951a90fb441f8a16f7e4' }, h("div", { key: '478836c1570fe89c73405651e03828104a6c069f', class: `section padding-${this.padding} theme-${this.theme}` }, this.container ? (h("af-container", null, content)) : content)));
|
|
18
18
|
}
|
|
19
19
|
static get is() { return "af-section"; }
|
|
20
20
|
static get encapsulation() { return "scoped"; }
|
|
@@ -18,7 +18,7 @@ export class AfShow {
|
|
|
18
18
|
[`show-above-${this.above}`]: !!this.above,
|
|
19
19
|
[`show-below-${this.below}`]: !!this.below,
|
|
20
20
|
};
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: 'f1325c8342cdd48103996664aa410ba6da9c6566', class: classes }, h("slot", { key: '0ce4cacaa80ef10104549af9fa9068ea7d28a406' })));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "af-show"; }
|
|
24
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,7 +29,7 @@ export class AfSocialLink {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
render() {
|
|
32
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: '1637b2b00bf3808ad48979fde1248a6baae16d50' }, h("a", { key: '57cec6aa80ee7cedccdd03ac40f4931c6012bb48', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "af-social-link"; }
|
|
35
35
|
static get encapsulation() { return "scoped"; }
|
|
@@ -34,7 +34,7 @@ export class AfSpacer {
|
|
|
34
34
|
style.height = sizeValue;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
return h(Host, { key: '
|
|
37
|
+
return h(Host, { key: '17bd07b1aeb2346f614d3cf5c663f545622a82af', style: style, "aria-hidden": "true" });
|
|
38
38
|
}
|
|
39
39
|
static get is() { return "af-spacer"; }
|
|
40
40
|
static get encapsulation() { return "shadow"; }
|
|
@@ -26,14 +26,14 @@ export class AfSplitSection {
|
|
|
26
26
|
this.container = true;
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
|
-
const content = h("slot", { key: '
|
|
29
|
+
const content = h("slot", { key: 'bb153079c8b48a5f2a8bb093f3344f1ed58448f0' });
|
|
30
30
|
// Create the split background using CSS gradient
|
|
31
31
|
const topColor = themeColors[this.topTheme];
|
|
32
32
|
const bottomColor = themeColors[this.bottomTheme];
|
|
33
33
|
const backgroundStyle = {
|
|
34
34
|
background: `linear-gradient(to bottom, ${topColor} 0%, ${topColor} 50%, ${bottomColor} 50%, ${bottomColor} 100%)`
|
|
35
35
|
};
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: 'ec4824dfd25f5e9122d7cfd4ad4df8768b949028' }, h("div", { key: '4de289849c8cb6cb7b70446fe6c4b8ca0f5ae648', class: `split-section padding-${this.padding} top-theme-${this.topTheme}`, style: backgroundStyle }, this.container ? (h("af-container", null, content)) : content)));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "af-split-section"; }
|
|
39
39
|
static get encapsulation() { return "scoped"; }
|
|
@@ -55,7 +55,7 @@ export class AfStack {
|
|
|
55
55
|
justifyContent: justifyMap[this.justify],
|
|
56
56
|
flexWrap: this.wrap ? 'wrap' : 'nowrap',
|
|
57
57
|
};
|
|
58
|
-
return (h(Host, { key: '
|
|
58
|
+
return (h(Host, { key: '8762617789ee74b277ccc75e01a11e0722d46d71', style: style }, h("slot", { key: '81cacfb758661b513d8e16db5d23a9a14c1d5c16' })));
|
|
59
59
|
}
|
|
60
60
|
static get is() { return "af-stack"; }
|
|
61
61
|
static get encapsulation() { return "shadow"; }
|
|
@@ -40,7 +40,7 @@ export class AfStepper {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
render() {
|
|
43
|
-
return (h(Host, { key: '
|
|
43
|
+
return (h(Host, { key: '857011a248f8c9adc46c3a1c69b55cd33f0f7b36', class: `stepper stepper--${this.orientation}` }, h("div", { key: '5654c1431e991475429e1594832509236dc1a3ba', class: "stepper__connector", "aria-hidden": "true" }), h("slot", { key: '23293d2c3cc463a714f1acdfad2a3fb6e1d3cf0a' })));
|
|
44
44
|
}
|
|
45
45
|
static get is() { return "af-stepper"; }
|
|
46
46
|
static get encapsulation() { return "scoped"; }
|
|
@@ -18,7 +18,7 @@ export class AfStepperStep {
|
|
|
18
18
|
this.index = 1;
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: 'c4b991bb2f6a9e153ee940b8f5090340e40159e9' }, h("span", { key: '7cf8db3a00d2bf0ad3b84d0795b2bfae5bf9359a', class: "stepper-step__badge" }, this.index), h("div", { key: '3e7db621c832d3dfc5415a5b9159994fd1b2379c', class: "stepper-step__content" }, h("div", { key: 'fa4ed0245ae043579a46506d0427a2e6e9a0c9c5', class: "stepper-step__heading" }, h("slot", { key: '24f2c339c855548e72e4c1b708fcdf3f9ac0c030', name: "heading" })), h("div", { key: '1449b56f91745a08ed7a6404a94cee5c4c478015', class: "stepper-step__body" }, h("slot", { key: '8ad129720c27a408b91fcda2ccaf448fd0d91826', name: "body" })))));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "af-stepper-step"; }
|
|
24
24
|
static get encapsulation() { return "scoped"; }
|
|
@@ -29,11 +29,11 @@ export class AfTestimonial {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
render() {
|
|
32
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: '8569be1c99d6591352606630716aa70ac4a9134d' }, h("div", { key: 'adb4ecf4962b068fc0d0bb9d7b74510b22bb2770', class: "testimonial-card" }, h("div", { key: 'db1decd942f7dbca4d0b75579c511e8b9e94bbc0', class: "testimonial-image" }, this.backgroundImage && (h("img", { key: '143fb0ef560023d9b6224623e363d99cc300bf03', src: this.backgroundImage, alt: "", class: "testimonial-bg-image" })), this.logoImage && (h("div", { key: 'f4b17a16293f12aa0d131944e2c69d31242f1105', class: "testimonial-logo" }, h("img", { key: '3b055aeb3b2eec2fa9df98592f5bcbe6a3a63cb0', src: this.logoImage, alt: "Company logo" })))), h("div", { key: 'f2731d7ed1364ca9dec2b104023908302fdff54a', class: "testimonial-content" }, h("div", { key: '9ae2d70a5a4dfbb890ce8aa9e475f80b04457fae', class: "testimonial-quote-section" }, h("div", { key: '5085969f61a7e1df88898cbd9c40400ad0ab91bc', class: "testimonial-quote-icon" }, h("slot", { key: 'a2ea0e72c9267548af02132d481ae73d158f9fd4', name: "quote-icon" }, h("af-icon", { key: '6ba9c790a1ed14d6b979f008bdb6fc4fb181d8ba', name: "quote", size: 48 }))), h("div", { key: 'd44e1066b30701dcd123a0a25390cf77578b8b6e', class: "testimonial-text" }, h("slot", { key: 'e7605429bac4865b598ead216287e5277eb99cd9', name: "quote-body" }, this.quote)), h("div", { key: '470481474dad18baa1fe22d6536bb5f5c02c8faa', class: "testimonial-attribution" }, this.attribution)), h("div", { key: 'd2fc708759c8b4c6638522bfc5f42589bccf7a82', class: "testimonial-stats" }, h("slot", { key: 'e3181ab8145788a9e374c2f9ea2d9823504c5543', name: "stats" })), h("div", { key: 'ff9a5d3b5cdb0da6e16ed2763680854686546f12', class: "testimonial-footer" }, h("div", { key: 'bc3e4a3229f8814e6140d40cab2f6997e212cd00', class: "testimonial-nav" }, this.showNavigation ? (
|
|
33
33
|
// Render built-in navigation buttons
|
|
34
34
|
h("div", { class: "testimonial-nav-buttons" }, h("af-icon-button", { variant: "secondary", disabled: !this.hasPrev, onClick: this.handlePrev, ariaLabel: "Previous testimonial" }, h("af-icon", { name: "arrow-left", size: 24 })), h("af-icon-button", { variant: "secondary", disabled: !this.hasNext, onClick: this.handleNext, ariaLabel: "Next testimonial" }, h("af-icon", { name: "arrow-right", size: 24 })))) : (
|
|
35
35
|
// Allow custom navigation via slot
|
|
36
|
-
h("slot", { name: "navigation" }))), this.readMoreLink && (h("af-button", { key: '
|
|
36
|
+
h("slot", { name: "navigation" }))), this.readMoreLink && (h("af-button", { key: '4ab4295ecbd966fe1749c2db6ac8c96c50b3bb0d', variant: "secondary", href: this.readMoreLink }, "Read full story", h("af-icon", { key: 'd96405c3f90f36768fa3dbe2dd9f83347f31f53e', slot: "icon-right", name: "arrow-right", size: 24 }))))))));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "af-testimonial"; }
|
|
39
39
|
static get encapsulation() { return "scoped"; }
|
|
@@ -94,7 +94,7 @@ export class AfTestimonialCarousel {
|
|
|
94
94
|
return (this.currentIndex + 1) / this.testimonialCount;
|
|
95
95
|
}
|
|
96
96
|
render() {
|
|
97
|
-
return (h(Host, { key: '
|
|
97
|
+
return (h(Host, { key: '0b3ff300953cdb7f1ef8f4e6fa3f52811892c1a1' }, h("div", { key: '5106fa052b9e1b4d166a03b043305affadf20eb6', class: "testimonial-carousel" }, h("div", { key: '90ac4c283e3b5d6f2a20be866b6aa79e39b6adf6', class: "testimonial-slides" }, h("slot", { key: 'db7b93b76346a33092cbf69e1c3f150d393ff32d' })), this.testimonialCount > 1 && (h("div", { key: 'd81f5ff6ae68237385cf9c18428a0883c23dc766', class: "testimonial-progress" }, h("af-progress-line", { key: '7fed7be1bede0e492cd3b1df33e529778a34666b', progress: this.getProgress() }))))));
|
|
98
98
|
}
|
|
99
99
|
static get is() { return "af-testimonial-carousel"; }
|
|
100
100
|
static get encapsulation() { return "scoped"; }
|
|
@@ -7,7 +7,7 @@ export class AfTestimonialStat {
|
|
|
7
7
|
this.accentBorder = false;
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: '4e5314a0a58cc128f9f84bab0a414cfdf725d9a7' }, h("div", { key: '6b6a91315b2084942c9ba501c71673445d71cd3d', class: `stat ${this.accentBorder ? 'stat--accent' : ''}` }, h("af-heading", { key: 'f7f4b15a953a5cb0d67874f16f537d1846792a08', level: 2, class: "stat-value" }, this.value), h("af-text", { key: '8358643895dc0e8a9d06ec0fd119ee9065bbcdf4', variant: "medium", class: "stat-description" }, this.description))));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "af-testimonial-stat"; }
|
|
13
13
|
static get encapsulation() { return "scoped"; }
|
|
@@ -29,7 +29,7 @@ export class AfTextImageNest {
|
|
|
29
29
|
'nest__grid': true,
|
|
30
30
|
[`grid-${this.layout}`]: true,
|
|
31
31
|
};
|
|
32
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: '6236efcd1868aea0a8ae6647790ea6d6afb86b51' }, h("div", { key: '863feee89464ff752ad04fefa2011224fb98e13e', class: containerClasses }, h("div", { key: 'd09229ad450d4426defe18db4052eee784f0dde2', class: "nest__content" }, h("div", { key: '1c622be554abd392c0f29272a4f93ef74cebd83d', class: gridClasses }, h("slot", { key: 'e99c2569d4b764d7d27d52479f3d536aceb9d085' })), h("div", { key: '82e03d0f533835f4c25aeca901125ec390906037', class: "nest__footer" }, h("slot", { key: '132ff2ea9b3cd73d2dc5e634748ec65bf2ab959d', name: "buttons" }))))));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "af-text-image-nest"; }
|
|
35
35
|
static get encapsulation() { return "scoped"; }
|
|
@@ -18,7 +18,7 @@ export class AfThemeOverride {
|
|
|
18
18
|
this.theme = 'white';
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '6398825554ab3e9ab2a87012c4fb94e711663eb3' }, h("div", { key: '1353455a87e0efb9a5653938f13f5e325cec561d', class: `theme-override theme-${this.theme}` }, h("slot", { key: '60fa7a4fff57320ce113f693afc497bb63d3bc97' }))));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "af-theme-override"; }
|
|
24
24
|
static get encapsulation() { return "scoped"; }
|
|
@@ -29,16 +29,18 @@
|
|
|
29
29
|
gap: var(--space-4, 16px);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */
|
|
32
|
+
/* Heading 3 mobile, 4 desktop, 5 desktop, card desktop: 12px gap */
|
|
33
33
|
.breakpoint-mobile.heading-3.lockup,
|
|
34
34
|
.breakpoint-desktop.heading-4.lockup,
|
|
35
|
-
.breakpoint-desktop.heading-5.lockup
|
|
35
|
+
.breakpoint-desktop.heading-5.lockup,
|
|
36
|
+
.breakpoint-desktop.heading-card.lockup {
|
|
36
37
|
gap: var(--space-3, 12px);
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
/* Heading 4 mobile, 5 mobile: 8px gap */
|
|
40
|
+
/* Heading 4 mobile, 5 mobile, card mobile: 8px gap */
|
|
40
41
|
.breakpoint-mobile.heading-4.lockup,
|
|
41
|
-
.breakpoint-mobile.heading-5.lockup
|
|
42
|
+
.breakpoint-mobile.heading-5.lockup,
|
|
43
|
+
.breakpoint-mobile.heading-card.lockup {
|
|
42
44
|
gap: var(--space-2, 8px);
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -110,16 +112,18 @@
|
|
|
110
112
|
gap: var(--space-4, 16px);
|
|
111
113
|
}
|
|
112
114
|
|
|
113
|
-
/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */
|
|
115
|
+
/* Heading 3 mobile, 4 desktop, 5 desktop, card desktop: 12px gap */
|
|
114
116
|
.breakpoint-mobile.heading-3 .copy,
|
|
115
117
|
.breakpoint-desktop.heading-4 .copy,
|
|
116
|
-
.breakpoint-desktop.heading-5 .copy
|
|
118
|
+
.breakpoint-desktop.heading-5 .copy,
|
|
119
|
+
.breakpoint-desktop.heading-card .copy {
|
|
117
120
|
gap: var(--space-3, 12px);
|
|
118
121
|
}
|
|
119
122
|
|
|
120
|
-
/* Heading 4 mobile, 5 mobile: 8px gap */
|
|
123
|
+
/* Heading 4 mobile, 5 mobile, card mobile: 8px gap */
|
|
121
124
|
.breakpoint-mobile.heading-4 .copy,
|
|
122
|
-
.breakpoint-mobile.heading-5 .copy
|
|
125
|
+
.breakpoint-mobile.heading-5 .copy,
|
|
126
|
+
.breakpoint-mobile.heading-card .copy {
|
|
123
127
|
gap: var(--space-2, 8px);
|
|
124
128
|
}
|
|
125
129
|
|
|
@@ -150,18 +154,31 @@
|
|
|
150
154
|
font-size: var(--font-size-heading-2-desktop, 44px);
|
|
151
155
|
}
|
|
152
156
|
|
|
157
|
+
/* Explicit px line-heights (38/30/24) for heading 3/4/5 replace the
|
|
158
|
+
* previous ratio-based values (1.1/1.2) — renders identically within a
|
|
159
|
+
* pixel but exposes a predictable token consumers can reference directly. */
|
|
153
160
|
.breakpoint-desktop.heading-3 .heading {
|
|
154
161
|
font-size: var(--font-size-heading-3-desktop, 34px);
|
|
162
|
+
line-height: var(--line-height-heading-3, 38px);
|
|
155
163
|
}
|
|
156
164
|
|
|
157
165
|
.breakpoint-desktop.heading-4 .heading {
|
|
158
166
|
font-size: var(--font-size-heading-4-desktop, 24px);
|
|
159
|
-
line-height: var(--line-height-heading-
|
|
167
|
+
line-height: var(--line-height-heading-4, 30px);
|
|
160
168
|
}
|
|
161
169
|
|
|
162
170
|
.breakpoint-desktop.heading-5 .heading {
|
|
163
171
|
font-size: var(--font-size-heading-5-desktop, 20px);
|
|
164
|
-
line-height: var(--line-height-heading-
|
|
172
|
+
line-height: var(--line-height-heading-5, 24px);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* Card-title scale (22/20px): retires the bespoke heading sizes on
|
|
176
|
+
* diff-card h3, NumberedStepper title, and expert-insights related-card h3
|
|
177
|
+
* on the website. Sits between heading-4 (24px) and heading-5 (20px) at
|
|
178
|
+
* desktop, and between heading-4 and heading-5 (both 20px→18px) at mobile. */
|
|
179
|
+
.breakpoint-desktop.heading-card .heading {
|
|
180
|
+
font-size: var(--font-size-heading-card-desktop, 22px);
|
|
181
|
+
line-height: var(--line-height-heading-card, 28px);
|
|
165
182
|
}
|
|
166
183
|
|
|
167
184
|
/* Mobile heading sizes */
|
|
@@ -187,6 +204,11 @@
|
|
|
187
204
|
line-height: var(--line-height-heading-normal, 1.1);
|
|
188
205
|
}
|
|
189
206
|
|
|
207
|
+
.breakpoint-mobile.heading-card .heading {
|
|
208
|
+
font-size: var(--font-size-heading-card-mobile, 20px);
|
|
209
|
+
line-height: var(--line-height-heading-card, 28px);
|
|
210
|
+
}
|
|
211
|
+
|
|
190
212
|
/* Description/body text - default (body/large) */
|
|
191
213
|
.description {
|
|
192
214
|
font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);
|
|
@@ -215,12 +237,14 @@
|
|
|
215
237
|
color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));
|
|
216
238
|
}
|
|
217
239
|
|
|
218
|
-
/* Description text size variations - smaller for heading 3 mobile, 4, and
|
|
240
|
+
/* Description text size variations - smaller for heading 3 mobile, 4, 5, and card */
|
|
219
241
|
.breakpoint-mobile.heading-3 .description,
|
|
220
242
|
.breakpoint-desktop.heading-4 .description,
|
|
221
243
|
.breakpoint-mobile.heading-4 .description,
|
|
222
244
|
.breakpoint-desktop.heading-5 .description,
|
|
223
|
-
.breakpoint-mobile.heading-5 .description
|
|
245
|
+
.breakpoint-mobile.heading-5 .description,
|
|
246
|
+
.breakpoint-desktop.heading-card .description,
|
|
247
|
+
.breakpoint-mobile.heading-card .description {
|
|
224
248
|
font-size: var(--font-size-body-medium, 16px);
|
|
225
249
|
line-height: var(--line-height-body-medium, 24px);
|
|
226
250
|
}
|
|
@@ -4,7 +4,7 @@ import { h, Host } from "@stencil/core";
|
|
|
4
4
|
* consistent spacing and alignment driven by the `headingSize` prop.
|
|
5
5
|
*
|
|
6
6
|
* **Semantic vs visual:** `headingSize` controls ONLY the visual scale
|
|
7
|
-
* (the lockup sets font-size via a `heading-{1..5}` class). The semantic
|
|
7
|
+
* (the lockup sets font-size via a `heading-{1..5|card}` class). The semantic
|
|
8
8
|
* level (h1-h6) is whatever the consumer slots in as default content.
|
|
9
9
|
* Keep them aligned by convention so assistive tech and search engines
|
|
10
10
|
* see the right hierarchy:
|
|
@@ -14,18 +14,25 @@ import { h, Host } from "@stencil/core";
|
|
|
14
14
|
* headingSize=3 ↔ <h3>
|
|
15
15
|
* headingSize=4 ↔ <h4>
|
|
16
16
|
* headingSize=5 ↔ <h5>
|
|
17
|
+
* headingSize="card" ↔ <h3> (card-title scale: 22/20px)
|
|
17
18
|
*
|
|
18
19
|
* When a design asks for a visually small H1 or a visually large H3,
|
|
19
20
|
* pass the two independently — just do it deliberately, not by
|
|
20
21
|
* accident. A console warning fires in dev mode if the slotted tag is
|
|
21
22
|
* more than one level away from the prop.
|
|
23
|
+
*
|
|
24
|
+
* The `card` variant renders slightly larger than `5` (22/20px vs 20/18px)
|
|
25
|
+
* and targets card titles in dense grids (diff-card h3, NumberedStepper
|
|
26
|
+
* title, expert-insights related-card h3 on the marketing site). It sits
|
|
27
|
+
* between `4` and `5` in the type ladder.
|
|
22
28
|
*/
|
|
23
29
|
export class AfTypographyLockup {
|
|
24
30
|
constructor() {
|
|
25
31
|
/**
|
|
26
|
-
* The heading size (1-5,
|
|
32
|
+
* The heading size (1-5, or "card"; 1 is largest). Controls visual scale
|
|
27
33
|
* only — pair with a matching <h1>-<h5> slotted element for correct
|
|
28
|
-
* document outline (see component docblock).
|
|
34
|
+
* document outline (see component docblock). The `card` variant sits
|
|
35
|
+
* between 4 and 5 at 22/20px and is meant for card titles.
|
|
29
36
|
*/
|
|
30
37
|
this.headingSize = 2;
|
|
31
38
|
/**
|
|
@@ -90,6 +97,11 @@ export class AfTypographyLockup {
|
|
|
90
97
|
return;
|
|
91
98
|
const slottedLevel = Number(heading.tagName.slice(1));
|
|
92
99
|
const expected = this.headingSize;
|
|
100
|
+
// The `card` variant is a named scale (card-title), not a semantic level.
|
|
101
|
+
// Skip the numeric-proximity check entirely — convention is <h3>, but
|
|
102
|
+
// consumers may legitimately pair it with <h2>-<h4> depending on context.
|
|
103
|
+
if (expected === 'card')
|
|
104
|
+
return;
|
|
93
105
|
if (Math.abs(slottedLevel - expected) > 1) {
|
|
94
106
|
// eslint-disable-next-line no-console
|
|
95
107
|
console.warn(`[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +
|
|
@@ -126,7 +138,7 @@ export class AfTypographyLockup {
|
|
|
126
138
|
[`align-${effectiveButtonsAlignment}`]: true
|
|
127
139
|
};
|
|
128
140
|
const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};
|
|
129
|
-
return (h(Host, { key: '
|
|
141
|
+
return (h(Host, { key: 'c4598149d2f3097c4dcd9c0772d7d964bf22a8c6' }, h("div", { key: 'ed1cfbba38c406dccbef2db200895d34e15453eb', class: containerClasses }, h("div", { key: '0664b846ad217e406d220765ed325e10698753e1', class: "copy", style: copyStyle }, h("div", { key: '45bda8dc3ace9cc57127384792379ca208e70826', class: headingClasses, part: "heading" }, h("slot", { key: 'f2125a029762d4813007acaddd2e4e858329e031' })), h("div", { key: '276339fcd8ab195b874a59c755eff42572f9e647', class: descriptionClasses, part: "body", hidden: !this.hasDescription }, h("slot", { key: 'd5d8fc98e3a3926931f598d44f1808ad3cc13905', name: "description", ref: (el) => (this.descriptionSlot = el) }))), h("div", { key: '8a540da24e2e242891549bbfe0848c5af6b8f8be', class: buttonsClasses, part: "buttons", hidden: !this.hasButtons }, h("slot", { key: 'e1cd55e1ca1e99a58a93e14180a817ee63ee15cd', name: "buttons", ref: (el) => (this.buttonsSlot = el) })))));
|
|
130
142
|
}
|
|
131
143
|
static get is() { return "af-typography-lockup"; }
|
|
132
144
|
static get encapsulation() { return "shadow"; }
|
|
@@ -143,18 +155,18 @@ export class AfTypographyLockup {
|
|
|
143
155
|
static get properties() {
|
|
144
156
|
return {
|
|
145
157
|
"headingSize": {
|
|
146
|
-
"type": "
|
|
158
|
+
"type": "any",
|
|
147
159
|
"mutable": false,
|
|
148
160
|
"complexType": {
|
|
149
|
-
"original": "1 | 2 | 3 | 4 | 5",
|
|
150
|
-
"resolved": "1 | 2 | 3 | 4 | 5",
|
|
161
|
+
"original": "1 | 2 | 3 | 4 | 5 | 'card'",
|
|
162
|
+
"resolved": "\"card\" | 1 | 2 | 3 | 4 | 5",
|
|
151
163
|
"references": {}
|
|
152
164
|
},
|
|
153
165
|
"required": false,
|
|
154
166
|
"optional": false,
|
|
155
167
|
"docs": {
|
|
156
168
|
"tags": [],
|
|
157
|
-
"text": "The heading size (1-5,
|
|
169
|
+
"text": "The heading size (1-5, or \"card\"; 1 is largest). Controls visual scale\nonly \u2014 pair with a matching <h1>-<h5> slotted element for correct\ndocument outline (see component docblock). The `card` variant sits\nbetween 4 and 5 at 22/20px and is meant for card titles."
|
|
158
170
|
},
|
|
159
171
|
"getter": false,
|
|
160
172
|
"setter": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-typography-lockup.js","sourceRoot":"","sources":["../../../src/components/af-typography-lockup/af-typography-lockup.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n/**\n * Marketing-style composition of heading + description + buttons with\n * consistent spacing and alignment driven by the `headingSize` prop.\n *\n * **Semantic vs visual:** `headingSize` controls ONLY the visual scale\n * (the lockup sets font-size via a `heading-{1..5}` class). The semantic\n * level (h1-h6) is whatever the consumer slots in as default content.\n * Keep them aligned by convention so assistive tech and search engines\n * see the right hierarchy:\n *\n * headingSize=1 ↔ <h1> (or <h2> on non-top-of-page sections)\n * headingSize=2 ↔ <h2>\n * headingSize=3 ↔ <h3>\n * headingSize=4 ↔ <h4>\n * headingSize=5 ↔ <h5>\n *\n * When a design asks for a visually small H1 or a visually large H3,\n * pass the two independently — just do it deliberately, not by\n * accident. A console warning fires in dev mode if the slotted tag is\n * more than one level away from the prop.\n */\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n @Element() el!: HTMLElement;\n\n /**\n * The heading size (1-5, where 1 is largest). Controls visual scale\n * only — pair with a matching <h1>-<h5> slotted element for correct\n * document outline (see component docblock).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n /**\n * Whether the consumer passed anything into the description / buttons\n * slots. The CSS `:empty` selector can't help here — the `<slot>`\n * element itself counts as a child, so the wrapper divs would always\n * render as empty-but-visible lines of gap. Tracked on mount and on\n * any `slotchange` so wrappers collapse cleanly when there's nothing\n * to show.\n */\n @State() hasDescription: boolean = false;\n @State() hasButtons: boolean = false;\n\n private descriptionSlot?: HTMLSlotElement;\n private buttonsSlot?: HTMLSlotElement;\n\n componentDidLoad() {\n this.syncSlotState();\n this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);\n // Dev-time check that the slotted semantic tag (h1-h6) is within one\n // level of the visual headingSize. Pairs with the class-level docblock;\n // silent in production unless the author explicitly turned on dev mode\n // via `window.__AF_STRICT_HEADINGS__`.\n if (typeof window === 'undefined') return;\n const strict = (window as unknown as { __AF_STRICT_HEADINGS__?: boolean })\n .__AF_STRICT_HEADINGS__;\n if (!strict) return;\n const heading = Array.from(this.el.children).find(\n (child) => !(child as HTMLElement).hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName),\n );\n if (!heading) return;\n const slottedLevel = Number(heading.tagName.slice(1));\n const expected = this.headingSize;\n if (Math.abs(slottedLevel - expected) > 1) {\n // eslint-disable-next-line no-console\n console.warn(\n `[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +\n `expected an <h${expected}> for document outline. Pass deliberately or align the two.`,\n );\n }\n }\n\n disconnectedCallback() {\n this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);\n }\n\n private syncSlotState = () => {\n this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n };\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\" hidden={!this.hasDescription}>\n <slot name=\"description\" ref={(el) => (this.descriptionSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\" hidden={!this.hasButtons}>\n <slot name=\"buttons\" ref={(el) => (this.buttonsSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"af-typography-lockup.js","sourceRoot":"","sources":["../../../src/components/af-typography-lockup/af-typography-lockup.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n/**\n * Marketing-style composition of heading + description + buttons with\n * consistent spacing and alignment driven by the `headingSize` prop.\n *\n * **Semantic vs visual:** `headingSize` controls ONLY the visual scale\n * (the lockup sets font-size via a `heading-{1..5|card}` class). The semantic\n * level (h1-h6) is whatever the consumer slots in as default content.\n * Keep them aligned by convention so assistive tech and search engines\n * see the right hierarchy:\n *\n * headingSize=1 ↔ <h1> (or <h2> on non-top-of-page sections)\n * headingSize=2 ↔ <h2>\n * headingSize=3 ↔ <h3>\n * headingSize=4 ↔ <h4>\n * headingSize=5 ↔ <h5>\n * headingSize=\"card\" ↔ <h3> (card-title scale: 22/20px)\n *\n * When a design asks for a visually small H1 or a visually large H3,\n * pass the two independently — just do it deliberately, not by\n * accident. A console warning fires in dev mode if the slotted tag is\n * more than one level away from the prop.\n *\n * The `card` variant renders slightly larger than `5` (22/20px vs 20/18px)\n * and targets card titles in dense grids (diff-card h3, NumberedStepper\n * title, expert-insights related-card h3 on the marketing site). It sits\n * between `4` and `5` in the type ladder.\n */\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n @Element() el!: HTMLElement;\n\n /**\n * The heading size (1-5, or \"card\"; 1 is largest). Controls visual scale\n * only — pair with a matching <h1>-<h5> slotted element for correct\n * document outline (see component docblock). The `card` variant sits\n * between 4 and 5 at 22/20px and is meant for card titles.\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 | 'card' = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n /**\n * Whether the consumer passed anything into the description / buttons\n * slots. The CSS `:empty` selector can't help here — the `<slot>`\n * element itself counts as a child, so the wrapper divs would always\n * render as empty-but-visible lines of gap. Tracked on mount and on\n * any `slotchange` so wrappers collapse cleanly when there's nothing\n * to show.\n */\n @State() hasDescription: boolean = false;\n @State() hasButtons: boolean = false;\n\n private descriptionSlot?: HTMLSlotElement;\n private buttonsSlot?: HTMLSlotElement;\n\n componentDidLoad() {\n this.syncSlotState();\n this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);\n // Dev-time check that the slotted semantic tag (h1-h6) is within one\n // level of the visual headingSize. Pairs with the class-level docblock;\n // silent in production unless the author explicitly turned on dev mode\n // via `window.__AF_STRICT_HEADINGS__`.\n if (typeof window === 'undefined') return;\n const strict = (window as unknown as { __AF_STRICT_HEADINGS__?: boolean })\n .__AF_STRICT_HEADINGS__;\n if (!strict) return;\n const heading = Array.from(this.el.children).find(\n (child) => !(child as HTMLElement).hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName),\n );\n if (!heading) return;\n const slottedLevel = Number(heading.tagName.slice(1));\n const expected = this.headingSize;\n // The `card` variant is a named scale (card-title), not a semantic level.\n // Skip the numeric-proximity check entirely — convention is <h3>, but\n // consumers may legitimately pair it with <h2>-<h4> depending on context.\n if (expected === 'card') return;\n if (Math.abs(slottedLevel - expected) > 1) {\n // eslint-disable-next-line no-console\n console.warn(\n `[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +\n `expected an <h${expected}> for document outline. Pass deliberately or align the two.`,\n );\n }\n }\n\n disconnectedCallback() {\n this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);\n }\n\n private syncSlotState = () => {\n this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n };\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\" hidden={!this.hasDescription}>\n <slot name=\"description\" ref={(el) => (this.descriptionSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\" hidden={!this.hasButtons}>\n <slot name=\"buttons\" ref={(el) => (this.buttonsSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -42,7 +42,7 @@ export class AfVideoContainer {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
render() {
|
|
45
|
-
return (h(Host, { key: '
|
|
45
|
+
return (h(Host, { key: 'f05355faddc6ea71285398ae46a648b11d919969' }, h("div", { key: '98bb4043023aefe2a9a75d60ff8c3d3349464c39', class: "video-container" }, h("div", { key: 'e72cf9ebebc3fa965bc676b14eed7272d6216c0e', class: "video-container__top" }, h("slot", { key: '638a975a8b805e802ea4a6badcff49b35001da5c', name: "top" })), h("div", { key: '7cbbf984f3680bd6a120a1d5e74bef034334a8bb', class: "video-container__video" }, h("af-aspect-ratio", { key: '76e845c0c959584fa0cd41ac88f33028591c63f6', ratio: "16:9" }, h("div", { key: '796aba9a4180d9ed69e821159a981a1043e0ac8c', class: "video-container__thumbnail-wrapper" }, this.videoThumbnailUrl && (h("img", { key: '0762654f68c216ad26152279174a2b124e5d5150', src: this.videoThumbnailUrl, alt: this.videoAlt, class: "video-container__thumbnail", loading: "lazy" })), h("button", { key: 'e39fe70e65f54a1075d77ea5d4314e88e69febe6', class: "video-container__play-button", onClick: this.handlePlayClick, "aria-label": "Play video", type: "button" }, h("af-icon", { key: '44ef1e1d5ef606e8cf3cb2adb1ee2845da85d910', name: "play", size: 24 }))))), h("div", { key: '861da1a01d91cefad8bd379f75113cfc978be76b', class: "video-container__bottom" }, h("slot", { key: 'ba43d1a4104a69048b5e38965f613734231e9dcb', name: "bottom" })))));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "af-video-container"; }
|
|
48
48
|
static get encapsulation() { return "scoped"; }
|
|
@@ -15,7 +15,7 @@ export class AfVisuallyHidden {
|
|
|
15
15
|
this.focusable = false;
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
return (h(Host, { key: '
|
|
18
|
+
return (h(Host, { key: 'f687eddee200aa53700847e5bf237656db0d33df', class: { 'focusable': this.focusable } }, h("slot", { key: '96e16af57c3b73cc0a338325b9baec14ae4cce1b' })));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "af-visually-hidden"; }
|
|
21
21
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-
|
|
1
|
+
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-DOgb6SUj.js';
|
|
2
2
|
|
|
3
3
|
const afAccordionItemCss = ":host{display:block;width:100%}.accordion-item{width:100%}.trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid var(--af-background-border-subtle, #e8eeed);cursor:pointer;font:inherit;text-align:left;color:var(--af-typography-body-dark, #14343b);transition:background-color 0.2s ease}.trigger:hover:not(:disabled){background-color:var(--af-background-base-hover, rgba(20, 52, 59, 0.02))}.trigger:focus-visible{outline:2px solid var(--af-background-border-active, #8a7049);outline-offset:-2px}.trigger:disabled{cursor:not-allowed;opacity:0.5}.trigger-content{flex:1;min-width:0}.chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-typography-body-dark, #14343b);transition:transform 0.3s ease}.chevron.is-open{transform:rotate(180deg)}.content-wrapper{overflow:hidden;transition:max-height 0.3s ease}.content{padding:0}:host(.is-disabled) .trigger{cursor:not-allowed;opacity:0.5}:host(.is-disabled) .trigger:hover{background-color:transparent}:host(.is-open) .trigger{border-bottom-color:transparent}";
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-
|
|
1
|
+
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-DOgb6SUj.js';
|
|
2
2
|
|
|
3
3
|
const afAccordionCss = ".sc-af-accordion-h{display:block;width:100%}.accordion.sc-af-accordion{display:flex;flex-direction:column;width:100%}.sc-af-accordion-s>af-accordion-item{display:block}.sc-af-accordion-s>af-accordion-item:last-child{--accordion-item-border:transparent}";
|
|
4
4
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, h, c as Host } from './p-
|
|
1
|
+
import { p as proxyCustomElement, H, h, c as Host } from './p-DOgb6SUj.js';
|
|
2
2
|
|
|
3
|
-
const afClientCarouselCss = ".sc-af-client-carousel-h{display:block;width:100%}.client-carousel.sc-af-client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container.sc-af-client-carousel{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row.sc-af-client-carousel{display:flex;width:100%;overflow:hidden;position:relative}.logo-track.sc-af-client-carousel{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-left;animation-duration:40s}.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-right;animation-duration:40s}.sc-af-client-carousel-h:hover .logo-track.sc-af-client-carousel{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.logo-track.sc-af-client-carousel,.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel,.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;transform:translateX(0)}}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.logo-track.sc-af-client-carousel>*.sc-af-client-carousel{display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}.theme-inkwell.sc-af-client-carousel-h,.client-carousel.theme-inkwell.sc-af-client-carousel{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}.theme-white.sc-af-client-carousel-h,.client-carousel.theme-white.sc-af-client-carousel{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-mist-green.sc-af-client-carousel-h,.client-carousel.theme-mist-green.sc-af-client-carousel{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-soft-clay.sc-af-client-carousel-h,.client-carousel.theme-soft-clay.sc-af-client-carousel{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-white-ivory.sc-af-client-carousel-h,.client-carousel.theme-white-ivory.sc-af-client-carousel{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel.sc-af-client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel.sc-af-client-carousel{padding:24px 0}.carousel-container.sc-af-client-carousel{gap:var(--space-3, 12px)}.logo-track.sc-af-client-carousel{gap:var(--space-3, 12px)}.sc-af-client-carousel-s>*{gap:var(--space-3, 12px)}}";
|
|
3
|
+
const afClientCarouselCss = ".sc-af-client-carousel-h{display:block;width:100%}.client-carousel.sc-af-client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container.sc-af-client-carousel{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row.sc-af-client-carousel{display:flex;width:100%;overflow:hidden;position:relative}.logo-track.sc-af-client-carousel{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-left;animation-duration:40s}.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-right;animation-duration:40s}.sc-af-client-carousel-h:hover .logo-track.sc-af-client-carousel{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.logo-track.sc-af-client-carousel,.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel,.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;transform:translateX(0)}}.client-carousel.mode-static.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;justify-content:center;flex-wrap:wrap;width:100%}.client-carousel.mode-static.sc-af-client-carousel .carousel-row.sc-af-client-carousel{justify-content:center;overflow:visible}.client-carousel.mode-static.sc-af-client-carousel .carousel-container.sc-af-client-carousel{overflow:visible}.client-carousel.mode-static.sc-af-client-carousel{overflow:hidden}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.logo-track.sc-af-client-carousel>*.sc-af-client-carousel{display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}.theme-inkwell.sc-af-client-carousel-h,.client-carousel.theme-inkwell.sc-af-client-carousel{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}.theme-white.sc-af-client-carousel-h,.client-carousel.theme-white.sc-af-client-carousel{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-mist-green.sc-af-client-carousel-h,.client-carousel.theme-mist-green.sc-af-client-carousel{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-soft-clay.sc-af-client-carousel-h,.client-carousel.theme-soft-clay.sc-af-client-carousel{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-white-ivory.sc-af-client-carousel-h,.client-carousel.theme-white-ivory.sc-af-client-carousel{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel.sc-af-client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel.sc-af-client-carousel{padding:24px 0}.carousel-container.sc-af-client-carousel{gap:var(--space-3, 12px)}.logo-track.sc-af-client-carousel{gap:var(--space-3, 12px)}.sc-af-client-carousel-s>*{gap:var(--space-3, 12px)}}";
|
|
4
4
|
|
|
5
5
|
const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarousel extends H {
|
|
6
6
|
constructor(registerHost) {
|
|
@@ -11,16 +11,28 @@ const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarous
|
|
|
11
11
|
/** Theme - sets background color and provides theme context to children */
|
|
12
12
|
this.theme = 'inkwell';
|
|
13
13
|
/**
|
|
14
|
-
* Number of
|
|
15
|
-
* - `1` (default) — single row
|
|
16
|
-
* - `2` — two rows
|
|
14
|
+
* Number of rows.
|
|
15
|
+
* - `1` (default) — single row, matches the Webflow reference.
|
|
16
|
+
* - `2` — two rows (scroll in opposite directions, or stacked when static).
|
|
17
17
|
*
|
|
18
18
|
* When `rows="2"`, slot `row-1` and `row-2` independently.
|
|
19
19
|
* When `rows="1"`, slot the default slot (unnamed) or `row-1`.
|
|
20
20
|
*/
|
|
21
21
|
this.rows = 1;
|
|
22
|
+
/**
|
|
23
|
+
* Layout mode.
|
|
24
|
+
* - `scroll` (default) — infinite animated scroll; rows fill the full
|
|
25
|
+
* width and are cloned for a seamless loop.
|
|
26
|
+
* - `static` — no animation, logos centred horizontally. Use when the
|
|
27
|
+
* logo set is small enough to fit on screen without scrolling.
|
|
28
|
+
*/
|
|
29
|
+
this.mode = 'scroll';
|
|
22
30
|
}
|
|
23
31
|
componentDidLoad() {
|
|
32
|
+
// Static mode doesn't animate, so the clone trick isn't needed —
|
|
33
|
+
// skipping it avoids rendering every logo twice.
|
|
34
|
+
if (this.mode === 'static')
|
|
35
|
+
return;
|
|
24
36
|
this.duplicateTrackContent(this.row1TrackRef);
|
|
25
37
|
if (Number(this.rows) === 2) {
|
|
26
38
|
this.duplicateTrackContent(this.row2TrackRef);
|
|
@@ -49,13 +61,17 @@ const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarous
|
|
|
49
61
|
}
|
|
50
62
|
render() {
|
|
51
63
|
const rows = Number(this.rows);
|
|
52
|
-
|
|
64
|
+
// Direction classes are left on in static mode too — the `.mode-static`
|
|
65
|
+
// CSS rule overrides `animation` to `none`, so the direction is a no-op
|
|
66
|
+
// visually but keeps the markup shape consistent across modes.
|
|
67
|
+
return (h(Host, { key: 'a60dab195d08a5afa44c871598584c1175cff4af', class: `theme-${this.theme} mode-${this.mode}` }, h("div", { key: 'dafd6b1501a592ceaa0b9babc27d2437ccfb2c62', class: `client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}` }, h("div", { key: 'c318457802deebbc34b289b2d83d0dd50c15cc5c', class: "carousel-container" }, h("div", { key: '878d1a443b488828f54e6915cede096654624435', class: "carousel-row scroll-left" }, h("div", { key: '1e8751fc3ed7429196b6d7e5e9e6fb0255ab277c', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: 'd030308358617334fa318abd95780133d13a0b01', name: "row-1" }, h("slot", { key: '230f591311b0245946dd64c465fe7e9634a9ab99' })))), rows === 2 && (h("div", { key: 'd942aaa3e6994e73f1ad52a2deedc9564f6105fd', class: "carousel-row scroll-right" }, h("div", { key: '96e438271bee8bd840a7645b1634fc0e125617de', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: '90661d285bc8f65b1d1188f66a15edf60503b1a3', name: "row-2" }))))))));
|
|
53
68
|
}
|
|
54
69
|
get el() { return this; }
|
|
55
70
|
static get style() { return afClientCarouselCss; }
|
|
56
71
|
}, [262, "af-client-carousel", {
|
|
57
72
|
"theme": [1],
|
|
58
|
-
"rows": [2]
|
|
73
|
+
"rows": [2],
|
|
74
|
+
"mode": [1]
|
|
59
75
|
}]);
|
|
60
76
|
function defineCustomElement$1() {
|
|
61
77
|
if (typeof customElements === "undefined") {
|