@affinda/wc 0.1.0 → 0.3.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-divider.entry.esm.js.map +1 -1
- package/dist/affinda/af-feature-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-grid.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-hero.entry.esm.js.map +1 -0
- 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-inline.entry.esm.js.map +1 -1
- package/dist/affinda/af-numbered-stepper-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-numbered-stepper.entry.esm.js.map +1 -0
- package/dist/affinda/af-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-split-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-stack.entry.esm.js.map +1 -1
- package/dist/affinda/af-stat.entry.esm.js.map +1 -0
- package/dist/affinda/af-stats-row.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -1
- package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
- package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
- package/dist/affinda/af-video-container.entry.esm.js.map +1 -1
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/index.esm.js.map +1 -1
- package/dist/affinda/{p-4cf65950.entry.js → p-068ac2fb.entry.js} +2 -2
- package/dist/affinda/{p-f10a31cb.entry.js → p-0acadf6f.entry.js} +2 -2
- package/dist/affinda/{p-6e40dbdf.entry.js → p-165c413d.entry.js} +2 -2
- package/dist/affinda/p-165c413d.entry.js.map +1 -0
- package/dist/affinda/{p-e1e98cd6.entry.js → p-1b4b0c88.entry.js} +2 -2
- package/dist/affinda/p-2237e652.entry.js +2 -0
- package/dist/affinda/{p-56fe6e6e.entry.js.map → p-2237e652.entry.js.map} +1 -1
- package/dist/affinda/p-2526604b.entry.js +2 -0
- package/dist/affinda/p-2526604b.entry.js.map +1 -0
- package/dist/affinda/{p-8c4e3047.entry.js → p-256970e3.entry.js} +2 -2
- package/dist/affinda/p-32d62fbb.entry.js +2 -0
- package/dist/affinda/{p-3ee906de.entry.js → p-342b08e5.entry.js} +2 -2
- package/dist/affinda/{p-a84ae4a5.entry.js → p-365a75e2.entry.js} +2 -2
- package/dist/affinda/p-3ed408f6.entry.js +2 -0
- package/dist/affinda/{p-edb1a010.entry.js → p-4058a1eb.entry.js} +2 -2
- package/dist/affinda/{p-94f51238.entry.js → p-41bbb218.entry.js} +2 -2
- package/dist/affinda/p-436673bb.entry.js +2 -0
- package/dist/affinda/p-436673bb.entry.js.map +1 -0
- package/dist/affinda/{p-c8c4783c.entry.js → p-44d960ca.entry.js} +2 -2
- package/dist/affinda/{p-e1cbe95a.entry.js → p-4a9b192b.entry.js} +2 -2
- package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
- package/dist/affinda/{p-49521f2e.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
- package/dist/affinda/{p-b2633acb.entry.js → p-5c163c5b.entry.js} +2 -2
- package/dist/affinda/{p-48aadea9.entry.js → p-5e5e7d75.entry.js} +2 -2
- package/dist/affinda/{p-da2d84f7.entry.js → p-61a6b43d.entry.js} +2 -2
- package/dist/affinda/{p-ea42c40b.entry.js → p-631d141c.entry.js} +2 -2
- package/dist/affinda/{p-6038a213.entry.js → p-6475796d.entry.js} +2 -2
- package/dist/affinda/{p-50a67fb6.entry.js → p-65dd559a.entry.js} +2 -2
- package/dist/affinda/p-6756aa66.entry.js +2 -0
- package/dist/affinda/p-6e181b2b.entry.js +2 -0
- package/dist/affinda/{p-0201c8bd.entry.js → p-6ea474a3.entry.js} +2 -2
- package/dist/affinda/{p-a71d528d.entry.js → p-7111051c.entry.js} +2 -2
- package/dist/affinda/p-7d3cdda1.entry.js +2 -0
- package/dist/affinda/p-7d3cdda1.entry.js.map +1 -0
- package/dist/affinda/{p-0137e7a5.entry.js → p-827f3050.entry.js} +2 -2
- package/dist/affinda/{p-78518e6c.entry.js → p-83bb96cc.entry.js} +2 -2
- package/dist/affinda/p-85cc55bb.entry.js +2 -0
- package/dist/affinda/p-85cc55bb.entry.js.map +1 -0
- package/dist/affinda/{p-2e6192eb.entry.js → p-9480f00d.entry.js} +2 -2
- package/dist/affinda/{p-e055407b.entry.js → p-9ce0adc2.entry.js} +2 -2
- package/dist/affinda/{p-81706709.entry.js → p-a02d6192.entry.js} +2 -2
- package/dist/affinda/p-a1e80460.entry.js +2 -0
- package/dist/affinda/{p-ef5857cf.entry.js.map → p-a1e80460.entry.js.map} +1 -1
- package/dist/affinda/{p-ad41f905.entry.js → p-a25d3257.entry.js} +2 -2
- package/dist/affinda/{p-5f6a5741.entry.js → p-a8d75eb1.entry.js} +2 -2
- package/dist/affinda/{p-5265e82e.entry.js → p-ae430873.entry.js} +2 -2
- package/dist/affinda/{p-081cc890.entry.js → p-b39eea31.entry.js} +2 -2
- package/dist/affinda/{p-4c4406bf.entry.js → p-b9ec0e75.entry.js} +2 -2
- package/dist/affinda/{p-feb3d03f.entry.js → p-bbfc9df6.entry.js} +2 -2
- package/dist/affinda/{p-6c58b283.entry.js → p-bed7d9a1.entry.js} +2 -2
- package/dist/affinda/{p-4b154e23.entry.js → p-d362651c.entry.js} +2 -2
- package/dist/affinda/p-d362651c.entry.js.map +1 -0
- package/dist/affinda/{p-3a0e45c3.entry.js → p-d7d82986.entry.js} +2 -2
- package/dist/affinda/p-dabd389a.entry.js +2 -0
- package/dist/affinda/p-dabd389a.entry.js.map +1 -0
- package/dist/affinda/{p-a35029eb.entry.js → p-dcc89b4c.entry.js} +2 -2
- package/dist/affinda/{p-f9315f9e.entry.js → p-e07e27f1.entry.js} +2 -2
- package/dist/affinda/{p-dbe7ab88.entry.js → p-eeda78ea.entry.js} +2 -2
- package/dist/affinda/{p-b2b28366.entry.js → p-f19cb091.entry.js} +2 -2
- 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-card.cjs.entry.js +1 -1
- 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-client-carousel.cjs.entry.js +1 -1
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.cjs.entry.js +1 -1
- package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-grid.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 +1 -1
- package/dist/cjs/af-grid.cjs.entry.js +2 -2
- package/dist/cjs/af-grid.entry.cjs.js.map +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 +1 -1
- package/dist/cjs/af-hero.cjs.entry.js +94 -0
- package/dist/cjs/af-hero.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
- package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
- package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
- 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 +1 -1
- 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-inline.entry.cjs.js.map +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
- package/dist/cjs/af-nav-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/af-nav-accordion.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-numbered-stepper-item.cjs.entry.js +25 -0
- package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-numbered-stepper.cjs.entry.js +36 -0
- package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +1 -0
- package/dist/cjs/af-paperclip-decoration.cjs.entry.js +1 -1
- package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
- package/dist/cjs/af-section.cjs.entry.js +2 -2
- package/dist/cjs/af-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-show.cjs.entry.js +1 -1
- package/dist/cjs/af-social-link.cjs.entry.js +1 -1
- package/dist/cjs/af-spacer.cjs.entry.js +1 -1
- package/dist/cjs/af-split-section.cjs.entry.js +2 -2
- package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stack.cjs.entry.js +1 -1
- package/dist/cjs/af-stack.entry.cjs.js.map +1 -1
- package/dist/cjs/af-stat.cjs.entry.js +18 -0
- package/dist/cjs/af-stat.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stats-row.cjs.entry.js +18 -0
- package/dist/cjs/af-stats-row.entry.cjs.js.map +1 -0
- package/dist/cjs/af-stepper-step.cjs.entry.js +1 -1
- package/dist/cjs/af-stepper.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial.cjs.entry.js +6 -6
- package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
- package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.cjs.entry.js +1 -1
- package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
- package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/af-video-container.cjs.entry.js +3 -3
- package/dist/cjs/af-video-container.entry.cjs.js.map +1 -1
- package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
- package/dist/cjs/affinda.cjs.js +1 -1
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/af-accordion/af-accordion.js +1 -1
- package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
- package/dist/collection/components/af-card/af-card.js +9 -3
- package/dist/collection/components/af-card/af-card.js.map +1 -1
- package/dist/collection/components/af-center/af-center.js +1 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +4 -3
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
- package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
- package/dist/collection/components/af-divider/af-divider.js +1 -1
- package/dist/collection/components/af-divider/af-divider.js.map +1 -1
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
- package/dist/collection/components/af-feature-card/af-feature-card.js +8 -2
- package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -1
- package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
- package/dist/collection/components/af-footer/af-footer.js +1 -1
- package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
- package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
- package/dist/collection/components/af-grid/af-grid.js +5 -4
- package/dist/collection/components/af-grid/af-grid.js.map +1 -1
- package/dist/collection/components/af-hero/af-hero.css +282 -0
- package/dist/collection/components/af-hero/af-hero.js +314 -0
- package/dist/collection/components/af-hero/af-hero.js.map +1 -0
- package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
- package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +9 -3
- package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
- package/dist/collection/components/af-image/af-image.js +1 -1
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +7 -6
- package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
- package/dist/collection/components/af-inline/af-inline.js +4 -3
- package/dist/collection/components/af-inline/af-inline.js.map +1 -1
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
- package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
- package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
- package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
- package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
- package/dist/collection/components/af-navbar/af-navbar.js +10 -4
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
- package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.css +30 -0
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +92 -0
- package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +1 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +113 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +66 -0
- package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +1 -0
- package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
- package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
- package/dist/collection/components/af-section/af-section.js +18 -6
- package/dist/collection/components/af-section/af-section.js.map +1 -1
- 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 +16 -8
- package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
- package/dist/collection/components/af-stack/af-stack.js +4 -3
- package/dist/collection/components/af-stack/af-stack.js.map +1 -1
- package/dist/collection/components/af-stat/af-stat.css +25 -0
- package/dist/collection/components/af-stat/af-stat.js +69 -0
- package/dist/collection/components/af-stat/af-stat.js.map +1 -0
- package/dist/collection/components/af-stats-row/af-stats-row.css +32 -0
- package/dist/collection/components/af-stats-row/af-stats-row.js +33 -0
- package/dist/collection/components/af-stats-row/af-stats-row.js.map +1 -0
- 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 +8 -8
- package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +3 -3
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +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 +9 -3
- package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +9 -3
- 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 +4 -4
- package/dist/collection/components/af-video-container/af-video-container.js.map +1 -1
- package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
- package/dist/collection/components.js +1 -0
- package/dist/collection/components.js.map +1 -1
- package/dist/collection/types.js +2 -0
- package/dist/collection/types.js.map +1 -0
- package/dist/components/af-accordion-item.js +1 -1
- package/dist/components/af-accordion.js +1 -1
- package/dist/components/af-card.js +1 -1
- package/dist/components/af-center.js +1 -1
- package/dist/components/af-client-carousel.js +1 -1
- package/dist/components/af-client-carousel.js.map +1 -1
- package/dist/components/af-contact-item.js +1 -1
- package/dist/components/af-divider.js +1 -1
- package/dist/components/af-divider.js.map +1 -1
- package/dist/components/af-feature-accordion.js +2 -2
- package/dist/components/af-feature-card.js +1 -1
- package/dist/components/af-feature-grid.js +2 -2
- package/dist/components/af-footer-column.js +1 -1
- package/dist/components/af-footer-link.js +1 -1
- package/dist/components/af-footer.js +1 -1
- package/dist/components/af-grid-callout.js +1 -1
- package/dist/components/af-grid.js +2 -2
- package/dist/components/af-grid.js.map +1 -1
- package/dist/components/af-hero.d.ts +11 -0
- package/dist/components/af-hero.js +9 -0
- package/dist/components/af-hero.js.map +1 -0
- package/dist/components/af-icon-box.js +1 -1
- package/dist/components/af-icon-text.js +3 -3
- package/dist/components/af-illustrated-card.js +1 -1
- package/dist/components/af-image.js +1 -1
- package/dist/components/af-in-page-banner.js +1 -1
- package/dist/components/af-in-page-banner.js.map +1 -1
- package/dist/components/af-inline.js +1 -1
- package/dist/components/af-inline.js.map +1 -1
- package/dist/components/af-logo-well.js +1 -1
- package/dist/components/af-nav-accordion-item.js +2 -2
- package/dist/components/af-nav-accordion.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 -58
- package/dist/components/af-number-badge.js.map +1 -1
- package/dist/components/af-numbered-stepper-item.d.ts +11 -0
- package/dist/components/af-numbered-stepper-item.js +58 -0
- package/dist/components/af-numbered-stepper-item.js.map +1 -0
- package/dist/components/af-numbered-stepper.d.ts +11 -0
- package/dist/components/af-numbered-stepper.js +57 -0
- package/dist/components/af-numbered-stepper.js.map +1 -0
- package/dist/components/af-paperclip-decoration.js +1 -1
- package/dist/components/af-progress-line.js +1 -1
- package/dist/components/af-section.js +1 -46
- package/dist/components/af-section.js.map +1 -1
- package/dist/components/af-show.js +1 -1
- package/dist/components/af-social-link.js +1 -1
- package/dist/components/af-spacer.js +1 -1
- package/dist/components/af-split-section.js +2 -2
- package/dist/components/af-split-section.js.map +1 -1
- package/dist/components/af-stack.js +1 -1
- package/dist/components/af-stack.js.map +1 -1
- package/dist/components/af-stat.d.ts +11 -0
- package/dist/components/af-stat.js +53 -0
- package/dist/components/af-stat.js.map +1 -0
- package/dist/components/af-stats-row.d.ts +11 -0
- package/dist/components/af-stats-row.js +37 -0
- package/dist/components/af-stats-row.js.map +1 -0
- package/dist/components/af-stepper-step.js +1 -1
- package/dist/components/af-stepper.js +1 -1
- package/dist/components/af-testimonial-carousel.js +3 -3
- package/dist/components/af-testimonial-carousel.js.map +1 -1
- package/dist/components/af-testimonial-stat.js +1 -1
- package/dist/components/af-testimonial.js +6 -6
- package/dist/components/af-testimonial.js.map +1 -1
- package/dist/components/af-text-image-nest.js +1 -1
- package/dist/components/af-text-image.js +1 -1
- package/dist/components/af-theme-override.js +1 -1
- package/dist/components/af-theme-override.js.map +1 -1
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/af-video-container.js +3 -3
- package/dist/components/af-video-container.js.map +1 -1
- package/dist/components/af-visually-hidden.js +1 -1
- package/dist/components/index.js +5 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-C6-JATRR.js → p-3Gzh4deR.js} +5 -5
- package/dist/components/p-3Gzh4deR.js.map +1 -0
- package/dist/components/{p-DO9J0XTo.js → p-BXmiPS9x.js} +4 -4
- package/dist/components/{p-DO9J0XTo.js.map → p-BXmiPS9x.js.map} +1 -1
- package/dist/components/{p-CKLkuSI3.js → p-CJxqw006.js} +3 -3
- package/dist/components/{p-CKLkuSI3.js.map → p-CJxqw006.js.map} +1 -1
- package/dist/components/p-CRnEuh5f.js +136 -0
- package/dist/components/p-CRnEuh5f.js.map +1 -0
- package/dist/components/{p-DNeNJhuM.js → p-ClZAZSzR.js} +3 -3
- package/dist/components/{p-DNeNJhuM.js.map → p-ClZAZSzR.js.map} +1 -1
- package/dist/components/{p-HMlLQQwp.js → p-DqJRvNOl.js} +3 -3
- package/dist/components/{p-HMlLQQwp.js.map → p-DqJRvNOl.js.map} +1 -1
- package/dist/components/{p-Bh6Cfgtj.js → p-LRPXnaSx.js} +3 -3
- package/dist/components/{p-Bh6Cfgtj.js.map → p-LRPXnaSx.js.map} +1 -1
- package/dist/components/p-O26uYJSV.js +51 -0
- package/dist/components/p-O26uYJSV.js.map +1 -0
- package/dist/components/p-QoDae21y.js +63 -0
- package/dist/components/p-QoDae21y.js.map +1 -0
- package/dist/components/{p-CNzQtskW.js → p-mbl86-w6.js} +4 -4
- package/dist/components/p-mbl86-w6.js.map +1 -0
- package/dist/components/{p-i_6TLQJ5.js → p-nA3Uvhwb.js} +3 -3
- package/dist/components/{p-i_6TLQJ5.js.map → p-nA3Uvhwb.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-card.entry.js +1 -1
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-center.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js +1 -1
- package/dist/esm/af-client-carousel.entry.js.map +1 -1
- package/dist/esm/af-contact-item.entry.js +1 -1
- package/dist/esm/af-divider.entry.js +1 -1
- package/dist/esm/af-divider.entry.js.map +1 -1
- package/dist/esm/af-feature-accordion.entry.js +2 -2
- package/dist/esm/af-feature-card.entry.js.map +1 -1
- package/dist/esm/af-feature-grid.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 +1 -1
- package/dist/esm/af-grid.entry.js +2 -2
- package/dist/esm/af-grid.entry.js.map +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 +1 -1
- package/dist/esm/af-hero.entry.js +92 -0
- package/dist/esm/af-hero.entry.js.map +1 -0
- package/dist/esm/af-icon-box.entry.js +1 -1
- package/dist/esm/af-icon-text.entry.js +1 -1
- package/dist/esm/af-illustrated-card.entry.js +1 -1
- 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 +1 -1
- 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-inline.entry.js.map +1 -1
- package/dist/esm/af-logo-well.entry.js +1 -1
- package/dist/esm/af-nav-accordion-item.entry.js +2 -2
- package/dist/esm/af-nav-accordion.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-numbered-stepper-item.entry.js +23 -0
- package/dist/esm/af-numbered-stepper-item.entry.js.map +1 -0
- package/dist/esm/af-numbered-stepper.entry.js +34 -0
- package/dist/esm/af-numbered-stepper.entry.js.map +1 -0
- package/dist/esm/af-paperclip-decoration.entry.js +1 -1
- package/dist/esm/af-progress-line.entry.js +2 -2
- package/dist/esm/af-section.entry.js +2 -2
- package/dist/esm/af-section.entry.js.map +1 -1
- package/dist/esm/af-show.entry.js +1 -1
- package/dist/esm/af-social-link.entry.js +1 -1
- package/dist/esm/af-spacer.entry.js +1 -1
- package/dist/esm/af-split-section.entry.js +2 -2
- package/dist/esm/af-split-section.entry.js.map +1 -1
- package/dist/esm/af-stack.entry.js +1 -1
- package/dist/esm/af-stack.entry.js.map +1 -1
- package/dist/esm/af-stat.entry.js +16 -0
- package/dist/esm/af-stat.entry.js.map +1 -0
- package/dist/esm/af-stats-row.entry.js +16 -0
- package/dist/esm/af-stats-row.entry.js.map +1 -0
- package/dist/esm/af-stepper-step.entry.js +1 -1
- package/dist/esm/af-stepper.entry.js +1 -1
- package/dist/esm/af-testimonial-carousel.entry.js +1 -1
- package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
- package/dist/esm/af-testimonial-stat.entry.js +1 -1
- package/dist/esm/af-testimonial.entry.js +6 -6
- package/dist/esm/af-testimonial.entry.js.map +1 -1
- package/dist/esm/af-text-image-nest.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js +1 -1
- package/dist/esm/af-theme-override.entry.js.map +1 -1
- package/dist/esm/af-typography-lockup.entry.js +1 -1
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/af-video-container.entry.js +3 -3
- package/dist/esm/af-video-container.entry.js.map +1 -1
- package/dist/esm/af-visually-hidden.entry.js +1 -1
- package/dist/esm/affinda.js +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/af-card/af-card.d.ts +2 -1
- package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +1 -1
- package/dist/types/components/af-divider/af-divider.d.ts +2 -1
- package/dist/types/components/af-feature-card/af-feature-card.d.ts +2 -1
- package/dist/types/components/af-grid/af-grid.d.ts +1 -1
- package/dist/types/components/af-hero/af-hero.d.ts +93 -0
- package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -1
- package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +2 -3
- package/dist/types/components/af-inline/af-inline.d.ts +1 -1
- package/dist/types/components/af-navbar/af-navbar.d.ts +2 -1
- package/dist/types/components/af-numbered-stepper/af-numbered-stepper.d.ts +38 -0
- package/dist/types/components/af-numbered-stepper-item/af-numbered-stepper-item.d.ts +22 -0
- package/dist/types/components/af-section/af-section.d.ts +3 -2
- package/dist/types/components/af-split-section/af-split-section.d.ts +2 -3
- package/dist/types/components/af-stack/af-stack.d.ts +1 -1
- package/dist/types/components/af-stat/af-stat.d.ts +15 -0
- package/dist/types/components/af-stats-row/af-stats-row.d.ts +17 -0
- package/dist/types/components/af-testimonial/af-testimonial.d.ts +2 -2
- package/dist/types/components/af-theme-override/af-theme-override.d.ts +2 -1
- package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +2 -1
- package/dist/types/components/af-video-container/af-video-container.d.ts +1 -1
- package/dist/types/components.d.ts +575 -26
- package/dist/types/types.d.ts +57 -0
- package/package.json +2 -2
- package/dist/affinda/p-083fc528.entry.js +0 -2
- package/dist/affinda/p-0e469ad2.entry.js +0 -2
- package/dist/affinda/p-41643147.entry.js +0 -2
- package/dist/affinda/p-49521f2e.entry.js +0 -2
- package/dist/affinda/p-4b154e23.entry.js.map +0 -1
- package/dist/affinda/p-56fe6e6e.entry.js +0 -2
- package/dist/affinda/p-6e40dbdf.entry.js.map +0 -1
- package/dist/affinda/p-a6eda8af.entry.js +0 -2
- package/dist/affinda/p-ef5857cf.entry.js +0 -2
- package/dist/components/p-C6-JATRR.js.map +0 -1
- package/dist/components/p-CNzQtskW.js.map +0 -1
- /package/dist/affinda/{p-4cf65950.entry.js.map → p-068ac2fb.entry.js.map} +0 -0
- /package/dist/affinda/{p-f10a31cb.entry.js.map → p-0acadf6f.entry.js.map} +0 -0
- /package/dist/affinda/{p-e1e98cd6.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
- /package/dist/affinda/{p-8c4e3047.entry.js.map → p-256970e3.entry.js.map} +0 -0
- /package/dist/affinda/{p-a6eda8af.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
- /package/dist/affinda/{p-3ee906de.entry.js.map → p-342b08e5.entry.js.map} +0 -0
- /package/dist/affinda/{p-a84ae4a5.entry.js.map → p-365a75e2.entry.js.map} +0 -0
- /package/dist/affinda/{p-41643147.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
- /package/dist/affinda/{p-edb1a010.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-94f51238.entry.js.map → p-41bbb218.entry.js.map} +0 -0
- /package/dist/affinda/{p-c8c4783c.entry.js.map → p-44d960ca.entry.js.map} +0 -0
- /package/dist/affinda/{p-e1cbe95a.entry.js.map → p-4a9b192b.entry.js.map} +0 -0
- /package/dist/affinda/{p-b2633acb.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
- /package/dist/affinda/{p-48aadea9.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
- /package/dist/affinda/{p-da2d84f7.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
- /package/dist/affinda/{p-ea42c40b.entry.js.map → p-631d141c.entry.js.map} +0 -0
- /package/dist/affinda/{p-6038a213.entry.js.map → p-6475796d.entry.js.map} +0 -0
- /package/dist/affinda/{p-50a67fb6.entry.js.map → p-65dd559a.entry.js.map} +0 -0
- /package/dist/affinda/{p-083fc528.entry.js.map → p-6756aa66.entry.js.map} +0 -0
- /package/dist/affinda/{p-0e469ad2.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
- /package/dist/affinda/{p-0201c8bd.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
- /package/dist/affinda/{p-a71d528d.entry.js.map → p-7111051c.entry.js.map} +0 -0
- /package/dist/affinda/{p-0137e7a5.entry.js.map → p-827f3050.entry.js.map} +0 -0
- /package/dist/affinda/{p-78518e6c.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
- /package/dist/affinda/{p-2e6192eb.entry.js.map → p-9480f00d.entry.js.map} +0 -0
- /package/dist/affinda/{p-e055407b.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
- /package/dist/affinda/{p-81706709.entry.js.map → p-a02d6192.entry.js.map} +0 -0
- /package/dist/affinda/{p-ad41f905.entry.js.map → p-a25d3257.entry.js.map} +0 -0
- /package/dist/affinda/{p-5f6a5741.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
- /package/dist/affinda/{p-5265e82e.entry.js.map → p-ae430873.entry.js.map} +0 -0
- /package/dist/affinda/{p-081cc890.entry.js.map → p-b39eea31.entry.js.map} +0 -0
- /package/dist/affinda/{p-4c4406bf.entry.js.map → p-b9ec0e75.entry.js.map} +0 -0
- /package/dist/affinda/{p-feb3d03f.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
- /package/dist/affinda/{p-6c58b283.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
- /package/dist/affinda/{p-3a0e45c3.entry.js.map → p-d7d82986.entry.js.map} +0 -0
- /package/dist/affinda/{p-a35029eb.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
- /package/dist/affinda/{p-f9315f9e.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
- /package/dist/affinda/{p-dbe7ab88.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
- /package/dist/affinda/{p-b2b28366.entry.js.map → p-f19cb091.entry.js.map} +0 -0
|
@@ -30,7 +30,7 @@ export class AfNavMenu {
|
|
|
30
30
|
'has-border': this.showBorder,
|
|
31
31
|
'card-style': this.cardStyle
|
|
32
32
|
};
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '98d8c217eb9e952d4feb3928c69cae1559621092' }, h("div", { key: '3185c320e6ce6cff4c2630fc7492bbb2b34ef838', class: classes }, this.heading && (h("div", { key: '207eeef13c68e3ff26dcf2bbeee20574c7fab481', class: "menu-header" }, h("h3", { key: 'a2c6e28d60b2aeb49b96e99c57c853493b415a4c', class: "menu-heading" }, this.heading))), h("div", { key: 'f133eea0ed320467cd4840820251d09e2d98f49f', class: "menu-items" }, h("slot", { key: '91b640df3dd990f556d394056683ddd9fd26d6c3' })))));
|
|
34
34
|
}
|
|
35
35
|
static get is() { return "af-nav-menu"; }
|
|
36
36
|
static get encapsulation() { return "scoped"; }
|
|
@@ -48,7 +48,7 @@ export class AfNavMenuNest {
|
|
|
48
48
|
[`type-${this.type}`]: true,
|
|
49
49
|
[`breakpoint-${this.breakpoint}`]: true
|
|
50
50
|
};
|
|
51
|
-
return (h(Host, { key: '
|
|
51
|
+
return (h(Host, { key: '799695a1e7e9edef21a1df1a2424d39dda307796' }, h("div", { key: '04d44b23ab48f4fa36d772b607a913bff03573d4', class: classes }, h("div", { key: '572aa555fff3429dd72c8623759d324cbc686aae', class: "menu-columns" }, h("slot", { key: '5e0f32b02a01b57a853921cafc583a05ec5ead38' })), h("div", { key: 'e043ec11d26b4bb7e1ded5d55ea20c99aa52301e', class: "menu-sidebar" }, h("slot", { key: '6f8efbba5940a73bc26086ef5329b25af2019368', name: "sidebar" })))));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "af-nav-menu-nest"; }
|
|
54
54
|
static get encapsulation() { return "scoped"; }
|
|
@@ -172,7 +172,7 @@ export class AfNavbar {
|
|
|
172
172
|
}
|
|
173
173
|
render() {
|
|
174
174
|
const hasDropdown = this.activeDropdown !== null;
|
|
175
|
-
return (h(Host, { key: '
|
|
175
|
+
return (h(Host, { key: '78bb68495b077735b93558eb2ff3c7a5368c95ba', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'd295d9865e936a9e10f2a552658265b5bfff2509', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '7a2f7ea2a7ac704d5a4854ed8bde9ec4186b7a48', class: "navbar-container" }, h("div", { key: '796c3fbcdc5b93ac2ea756f400900050a4e68904', class: "navbar theme-white" }, h("div", { key: '4f470bd5ca1c24f2de9a051c049ca0f3a6d343d7', class: "navbar-left" }, h("div", { key: '0ff19f610a2dfc60535ca601187214fd9184706c', class: "logo" }, h("slot", { key: 'b62680fa9641835e96c0975aa8b53289a4c331be', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: '5acf4cce6d2b59ca3f08cb112aa53608ff92d3d7' }))), h("button", { key: '2fae1551b462c43388ef570620e2b6356d176724', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '847fa6e696769da5ce2d166e4298bbf35acdffec', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: '79774a3987661ff611090741b8d0f598a5cbc1c1', name: "start" }))), h("div", { key: '18c965fe437fc54f293d5127af13d94d83e212d3', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: '664c29f5d0cd01b493ae8bf9b430be34fd135c5c', class: "nav-actions" }, h("slot", { key: 'c94f3e8b1092d4e6891a77a1714470be7fa265d8', name: "end" })), h("div", { key: '2f598ff355d1cf5662a7246434eeb02af034da7c', class: "nav-button" }, h("slot", { key: 'cda81abe6c63c56270926015cb389e4fe6735d22', name: "button" })))), h("div", { key: 'e551f820e91cca9ae401bd0f514e35b77af896d0', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: '1253fb594e9db19bb9b79eb3f5d0e1788f728c3d', class: "dropdown-panel theme-white" }, h("slot", { key: 'b134d4150908a4d3bb7d77ba5d80246bbc709b35', name: "dropdowns" })))), h("div", { key: '40c2c6de6f661f89a9746ab55a5be2d68a9ad5a8', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: '41a56f4f9b05d819cf0e65f022e5be85d8481361', class: "mobile-button-container" }, h("slot", { key: 'f4b70499d11fb68c92855020b7d1efa97d3dce3a', name: "mobile-button" }, h("slot", { key: '653ca252d1a159891838cba8b9fc1c0bbb9cd348', name: "button" }))), h("div", { key: 'e1e85dd0bba34a4e335792ec2382a4fa94ae79c8', class: "mobile-menu-content" }, h("slot", { key: '1d9ca44862dc2bd2fc4bfcdf3384df0e8f26bc80', name: "mobile-menu" })))));
|
|
176
176
|
}
|
|
177
177
|
static get is() { return "af-navbar"; }
|
|
178
178
|
static get encapsulation() { return "scoped"; }
|
|
@@ -212,9 +212,15 @@ export class AfNavbar {
|
|
|
212
212
|
"type": "string",
|
|
213
213
|
"mutable": false,
|
|
214
214
|
"complexType": {
|
|
215
|
-
"original": "
|
|
216
|
-
"resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | undefined",
|
|
217
|
-
"references": {
|
|
215
|
+
"original": "Theme",
|
|
216
|
+
"resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\" | undefined",
|
|
217
|
+
"references": {
|
|
218
|
+
"Theme": {
|
|
219
|
+
"location": "import",
|
|
220
|
+
"path": "../../types",
|
|
221
|
+
"id": "src/types.ts::Theme"
|
|
222
|
+
}
|
|
223
|
+
}
|
|
218
224
|
},
|
|
219
225
|
"required": false,
|
|
220
226
|
"optional": true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-navbar.js","sourceRoot":"","sources":["../../../src/components/af-navbar/af-navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,MAAM,OAAO,QAAQ;IANrB;QASW,mBAAc,GAAY,KAAK,CAAC;QAEzC,iEAAiE;QACxD,mBAAc,GAAkB,IAAI,CAAC;QAE9C,qFAAqF;QAC7E,oBAAe,GAAY,IAAI,CAAC;QAKxC,mFAAmF;QAC1D,gBAAW,GAAY,KAAK,CAAC;QAE9C,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YAC3C,oDAAoD;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;QAEF;;WAEG;QACK,iBAAY,GAAG,CAAC,UAAkB,EAAE,EAAE;YAC5C,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC;QAEF;;WAEG;QACK,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;QAEF;;WAEG;QACK,mBAAc,GAAG,CAAC,UAAkB,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;KAqNH;IAzMC;;;OAGG;IAEH,kBAAkB,CAAC,KAAiB;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAuB,CAAC;QAC3E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QACnD,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IAEH,WAAW,CAAC,KAAiB;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAuB,CAAC;QAC3E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QACnD,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IAEH,eAAe;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,aAAa;QACnB,+DAA+D;QAC/D,8DAA8D;QAC9D,4DAA4D;QAC5D,gEAAgE;QAChE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,mBAAmB,CAAC,KAAiB;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAc,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC;YAC7E,IAAI,MAAM;gBAAE,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;;gBAC/C,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC5C,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAEH,aAAa,CAAC,KAAoB;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;QAEjD,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE;YAE/C,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAQ;YAE9E,4DAAK,KAAK,EAAC,kBAAkB;gBAC3B,4DAAK,KAAK,EAAC,oBAAoB;oBAE7B,4DAAK,KAAK,EAAC,aAAa;wBACtB,4DAAK,KAAK,EAAC,MAAM;4BACf,6DAAM,IAAI,EAAC,MAAM,IAEd,IAAI,CAAC,eAAe,IAAI,iEAAmB,CACvC,CACH;wBAGN,+DACE,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBACnB,wBAAwB,mBACpB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAEpD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACrB,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;4BAC/E,YAAM,CAAC,EAAC,sBAAsB,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC5F,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;4BAC/E,YAAM,CAAC,EAAC,yBAAyB,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC/F,CACP,CACM;wBAET,4DAAK,KAAK,EAAE,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;4BACjE,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF;oBAGN,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpE,4DAAK,KAAK,EAAC,aAAa;4BACtB,6DAAM,IAAI,EAAC,KAAK,GAAQ,CACpB;wBACN,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACF;gBAGN,4DAAK,KAAK,EAAE,sBAAsB,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9D,4DAAK,KAAK,EAAC,4BAA4B;wBACrC,6DAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACF,CACF;YAGN,4DAAK,KAAK,EAAE,iCAAiC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;gBAEjF,4DAAK,KAAK,EAAC,yBAAyB;oBAClC,6DAAM,IAAI,EAAC,eAAe;wBACxB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACtB,CACH;gBAGN,4DAAK,KAAK,EAAC,qBAAqB;oBAC9B,6DAAM,IAAI,EAAC,aAAa,GAAQ,CAC5B,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n * \n * **Slots:**\n * - `logo` - Logo area (defaults to Affinda logo if empty)\n * - `start` - Primary navigation links (left side, desktop)\n * - `end` - Secondary/utility links (right side)\n * - `button` - Call-to-action button\n * - `dropdowns` - One or more dropdown panels, each a `<div data-for=\"id\">`\n * where `id` matches the `data-dropdown=\"id\"` attribute on the trigger.\n * Clicking a trigger toggles the matching panel; only one is visible at\n * a time.\n * - `mobile-menu` - Mobile menu content (use af-nav-accordion for accordion menus)\n * - `mobile-button` - CTA button for mobile menu (appears at top)\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: 'white' | 'inkwell' | 'mist-green' | 'soft-clay';\n\n /** Force mobile layout regardless of viewport size (useful for testing/stories) */\n @Prop({ reflect: true }) forceMobile: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /** Timer id used to debounce hover-driven closes. */\n private closeTimer?: number;\n\n /**\n * The trigger element that opened the currently active dropdown. Tracked\n * so an Esc keypress can close the dropdown and restore focus to the\n * trigger, matching WAI-ARIA menu-button guidance.\n */\n private lastActiveTrigger?: HTMLElement;\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on click —\n * acts as a toggle so keyboard/touch users can still dismiss it.\n */\n @Listen('click')\n handleTriggerClick(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.toggleDropdown(id);\n }\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on hover.\n * Uses mouseover (which bubbles) and checks for the trigger ancestor.\n */\n @Listen('mouseover')\n handleHover(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id || this.activeDropdown === id) {\n this.cancelScheduledClose();\n return;\n }\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.openDropdown(id);\n }\n\n /**\n * When the pointer leaves the navbar entirely (including any open\n * dropdown panel), schedule a close. Re-entering cancels it.\n */\n @Listen('mouseleave')\n handleHostLeave() {\n this.scheduleClose();\n }\n\n @Listen('mouseenter')\n handleHostEnter() {\n this.cancelScheduledClose();\n }\n\n private scheduleClose() {\n // Short 100ms debounce so the mouse has time to cross any tiny\n // dead-zone between the nav pill, the dropdown panel, and the\n // items inside it without accidentally closing the panel. A\n // re-entering mouseenter on the host cancels the pending close.\n this.cancelScheduledClose();\n this.closeTimer = window.setTimeout(() => {\n this.closeDropdown();\n this.closeTimer = undefined;\n }, 100);\n }\n\n private cancelScheduledClose() {\n if (this.closeTimer !== undefined) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Keep the visibility of slotted dropdown panels, and the `data-active`\n * flag on their triggers, in sync with the currently active dropdown.\n * Each panel lives in the `dropdowns` slot and carries a `data-for`\n * attribute that matches its trigger's id.\n */\n componentDidLoad() {\n this.syncDropdownState();\n }\n\n componentDidUpdate() {\n this.syncDropdownState();\n }\n\n private syncDropdownState() {\n this.el.querySelectorAll<HTMLElement>('[data-for]').forEach((panel) => {\n if (!this.el.contains(panel)) return;\n panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;\n });\n this.el.querySelectorAll<HTMLElement>('[data-dropdown]').forEach((trigger) => {\n if (!this.el.contains(trigger)) return;\n const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;\n if (active) trigger.setAttribute('data-active', '');\n else trigger.removeAttribute('data-active');\n trigger.setAttribute('aria-expanded', active ? 'true' : 'false');\n });\n }\n\n /**\n * Handle escape key to close dropdowns. If a dropdown is open, restore\n * focus to the trigger that opened it so keyboard users don't lose\n * their place in the tab order.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.activeDropdown !== null) {\n const toFocus = this.lastActiveTrigger;\n this.closeDropdown();\n toFocus?.focus?.();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar theme-white\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel theme-white\">\n <slot name=\"dropdowns\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu panel */}\n <div class={`mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}`}>\n {/* Mobile CTA button at top */}\n <div class=\"mobile-button-container\">\n <slot name=\"mobile-button\">\n <slot name=\"button\"></slot>\n </slot>\n </div>\n \n {/* Mobile navigation content */}\n <div class=\"mobile-menu-content\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"af-navbar.js","sourceRoot":"","sources":["../../../src/components/af-navbar/af-navbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n * \n * **Slots:**\n * - `logo` - Logo area (defaults to Affinda logo if empty)\n * - `start` - Primary navigation links (left side, desktop)\n * - `end` - Secondary/utility links (right side)\n * - `button` - Call-to-action button\n * - `dropdowns` - One or more dropdown panels, each a `<div data-for=\"id\">`\n * where `id` matches the `data-dropdown=\"id\"` attribute on the trigger.\n * Clicking a trigger toggles the matching panel; only one is visible at\n * a time.\n * - `mobile-menu` - Mobile menu content (use af-nav-accordion for accordion menus)\n * - `mobile-button` - CTA button for mobile menu (appears at top)\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: Theme;\n\n /** Force mobile layout regardless of viewport size (useful for testing/stories) */\n @Prop({ reflect: true }) forceMobile: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /** Timer id used to debounce hover-driven closes. */\n private closeTimer?: number;\n\n /**\n * The trigger element that opened the currently active dropdown. Tracked\n * so an Esc keypress can close the dropdown and restore focus to the\n * trigger, matching WAI-ARIA menu-button guidance.\n */\n private lastActiveTrigger?: HTMLElement;\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on click —\n * acts as a toggle so keyboard/touch users can still dismiss it.\n */\n @Listen('click')\n handleTriggerClick(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.toggleDropdown(id);\n }\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on hover.\n * Uses mouseover (which bubbles) and checks for the trigger ancestor.\n */\n @Listen('mouseover')\n handleHover(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id || this.activeDropdown === id) {\n this.cancelScheduledClose();\n return;\n }\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.openDropdown(id);\n }\n\n /**\n * When the pointer leaves the navbar entirely (including any open\n * dropdown panel), schedule a close. Re-entering cancels it.\n */\n @Listen('mouseleave')\n handleHostLeave() {\n this.scheduleClose();\n }\n\n @Listen('mouseenter')\n handleHostEnter() {\n this.cancelScheduledClose();\n }\n\n private scheduleClose() {\n // Short 100ms debounce so the mouse has time to cross any tiny\n // dead-zone between the nav pill, the dropdown panel, and the\n // items inside it without accidentally closing the panel. A\n // re-entering mouseenter on the host cancels the pending close.\n this.cancelScheduledClose();\n this.closeTimer = window.setTimeout(() => {\n this.closeDropdown();\n this.closeTimer = undefined;\n }, 100);\n }\n\n private cancelScheduledClose() {\n if (this.closeTimer !== undefined) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Keep the visibility of slotted dropdown panels, and the `data-active`\n * flag on their triggers, in sync with the currently active dropdown.\n * Each panel lives in the `dropdowns` slot and carries a `data-for`\n * attribute that matches its trigger's id.\n */\n componentDidLoad() {\n this.syncDropdownState();\n }\n\n componentDidUpdate() {\n this.syncDropdownState();\n }\n\n private syncDropdownState() {\n this.el.querySelectorAll<HTMLElement>('[data-for]').forEach((panel) => {\n if (!this.el.contains(panel)) return;\n panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;\n });\n this.el.querySelectorAll<HTMLElement>('[data-dropdown]').forEach((trigger) => {\n if (!this.el.contains(trigger)) return;\n const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;\n if (active) trigger.setAttribute('data-active', '');\n else trigger.removeAttribute('data-active');\n trigger.setAttribute('aria-expanded', active ? 'true' : 'false');\n });\n }\n\n /**\n * Handle escape key to close dropdowns. If a dropdown is open, restore\n * focus to the trigger that opened it so keyboard users don't lose\n * their place in the tab order.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.activeDropdown !== null) {\n const toFocus = this.lastActiveTrigger;\n this.closeDropdown();\n toFocus?.focus?.();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar theme-white\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel theme-white\">\n <slot name=\"dropdowns\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu panel */}\n <div class={`mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}`}>\n {/* Mobile CTA button at top */}\n <div class=\"mobile-button-container\">\n <slot name=\"mobile-button\">\n <slot name=\"button\"></slot>\n </slot>\n </div>\n \n {/* Mobile navigation content */}\n <div class=\"mobile-menu-content\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -34,7 +34,7 @@ export class AfNumberBadge {
|
|
|
34
34
|
height: `${this.size}px`,
|
|
35
35
|
fontSize: `${fontSize}px`,
|
|
36
36
|
};
|
|
37
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: '71d32d2c1b2c6abec25edab3fadc0343d7575aaa', role: "img", "aria-label": `Number ${this.number}${isInCircle ? ' badge' : ''}` }, h("span", { key: '4686c4e277d1557cb6c3945a52a7713d0fd1b021', class: {
|
|
38
38
|
'badge': true,
|
|
39
39
|
[`variant-${this.variant}`]: true,
|
|
40
40
|
}, style: badgeStyle }, this.number)));
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: grid;
|
|
3
|
+
width: 100%;
|
|
4
|
+
max-width: 1120px;
|
|
5
|
+
margin: 0 auto;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Horizontal: equal-width columns; each item paints its own connector segment. */
|
|
9
|
+
.numbered-stepper--horizontal {
|
|
10
|
+
grid-auto-columns: 1fr;
|
|
11
|
+
grid-auto-flow: column;
|
|
12
|
+
gap: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Vertical: one column; items render the badge-row inline and the connector
|
|
16
|
+
* runs along the top of the row between badges. */
|
|
17
|
+
.numbered-stepper--vertical {
|
|
18
|
+
max-width: 680px;
|
|
19
|
+
grid-auto-flow: row;
|
|
20
|
+
gap: var(--space-8, 32px);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* ≤ mobile — horizontal collapses to vertical stack. */
|
|
24
|
+
@media (max-width: 767px) {
|
|
25
|
+
.numbered-stepper--horizontal {
|
|
26
|
+
grid-auto-flow: row;
|
|
27
|
+
grid-auto-columns: unset;
|
|
28
|
+
gap: var(--space-8, 32px);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Numbered stepper — filled soft-clay circle badges (1/2/3) paired with a
|
|
4
|
+
* heading + body description per step. Sibling to `af-stepper` (which uses
|
|
5
|
+
* outlined badges on a single spine connector); the numbered variant uses
|
|
6
|
+
* filled badges with per-step connector segments, matching the Webflow
|
|
7
|
+
* "How it works" marketing pattern.
|
|
8
|
+
*
|
|
9
|
+
* Renders children `af-numbered-stepper-item` elements horizontally on
|
|
10
|
+
* desktop (auto-stacks on mobile) or vertically when `orientation="vertical"`.
|
|
11
|
+
* The parent auto-assigns badge numbers based on DOM order, so consumers
|
|
12
|
+
* don't hand-number the steps.
|
|
13
|
+
*
|
|
14
|
+
* Headings use the shared `heading-size="card"` scale from
|
|
15
|
+
* `af-typography-lockup` (22/20px) — no bespoke font-size tokens.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```html
|
|
19
|
+
* <af-numbered-stepper>
|
|
20
|
+
* <af-numbered-stepper-item>
|
|
21
|
+
* <h3 slot="heading">Connect your ATS</h3>
|
|
22
|
+
* <p slot="body">OAuth-based hook into the tools you already use.</p>
|
|
23
|
+
* </af-numbered-stepper-item>
|
|
24
|
+
* <af-numbered-stepper-item>...</af-numbered-stepper-item>
|
|
25
|
+
* <af-numbered-stepper-item>...</af-numbered-stepper-item>
|
|
26
|
+
* </af-numbered-stepper>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @slot - `af-numbered-stepper-item` elements.
|
|
30
|
+
*/
|
|
31
|
+
export class AfNumberedStepper {
|
|
32
|
+
constructor() {
|
|
33
|
+
/** Layout orientation. Horizontal auto-stacks to vertical on mobile. */
|
|
34
|
+
this.orientation = 'horizontal';
|
|
35
|
+
}
|
|
36
|
+
componentDidLoad() {
|
|
37
|
+
this.assignIndices();
|
|
38
|
+
}
|
|
39
|
+
componentDidUpdate() {
|
|
40
|
+
this.assignIndices();
|
|
41
|
+
}
|
|
42
|
+
assignIndices() {
|
|
43
|
+
const items = Array.from(this.el.querySelectorAll('af-numbered-stepper-item'));
|
|
44
|
+
items.forEach((item, i) => {
|
|
45
|
+
// Only set when the consumer hasn't explicitly numbered the step.
|
|
46
|
+
if (item.index == null || item.index === 1) {
|
|
47
|
+
item.index = i + 1;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
render() {
|
|
52
|
+
return (h(Host, { key: 'a1df62f85981a64331d4b641074eaa54db04fef8', class: `numbered-stepper numbered-stepper--${this.orientation}`, role: "list" }, h("slot", { key: '2c1fbae6a474c883ce7eef49b79610882b401464' })));
|
|
53
|
+
}
|
|
54
|
+
static get is() { return "af-numbered-stepper"; }
|
|
55
|
+
static get encapsulation() { return "scoped"; }
|
|
56
|
+
static get originalStyleUrls() {
|
|
57
|
+
return {
|
|
58
|
+
"$": ["af-numbered-stepper.css"]
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
static get styleUrls() {
|
|
62
|
+
return {
|
|
63
|
+
"$": ["af-numbered-stepper.css"]
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
static get properties() {
|
|
67
|
+
return {
|
|
68
|
+
"orientation": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"mutable": false,
|
|
71
|
+
"complexType": {
|
|
72
|
+
"original": "'horizontal' | 'vertical'",
|
|
73
|
+
"resolved": "\"horizontal\" | \"vertical\"",
|
|
74
|
+
"references": {}
|
|
75
|
+
},
|
|
76
|
+
"required": false,
|
|
77
|
+
"optional": false,
|
|
78
|
+
"docs": {
|
|
79
|
+
"tags": [],
|
|
80
|
+
"text": "Layout orientation. Horizontal auto-stacks to vertical on mobile."
|
|
81
|
+
},
|
|
82
|
+
"getter": false,
|
|
83
|
+
"setter": false,
|
|
84
|
+
"reflect": false,
|
|
85
|
+
"attribute": "orientation",
|
|
86
|
+
"defaultValue": "'horizontal'"
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
static get elementRef() { return "el"; }
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=af-numbered-stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-numbered-stepper.js","sourceRoot":"","sources":["../../../src/components/af-numbered-stepper/af-numbered-stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,MAAM,OAAO,iBAAiB;IAN9B;QASE,wEAAwE;QAChE,gBAAW,GAA8B,YAAY,CAAC;KAgC/D;IA9BC,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAClB,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,kEAAkE;YAClE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,sCAAsC,IAAI,CAAC,WAAW,EAAE,EAC/D,IAAI,EAAC,MAAM;YAEX,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop, Element } from '@stencil/core';\n\n/**\n * Numbered stepper — filled soft-clay circle badges (1/2/3) paired with a\n * heading + body description per step. Sibling to `af-stepper` (which uses\n * outlined badges on a single spine connector); the numbered variant uses\n * filled badges with per-step connector segments, matching the Webflow\n * \"How it works\" marketing pattern.\n *\n * Renders children `af-numbered-stepper-item` elements horizontally on\n * desktop (auto-stacks on mobile) or vertically when `orientation=\"vertical\"`.\n * The parent auto-assigns badge numbers based on DOM order, so consumers\n * don't hand-number the steps.\n *\n * Headings use the shared `heading-size=\"card\"` scale from\n * `af-typography-lockup` (22/20px) — no bespoke font-size tokens.\n *\n * @example\n * ```html\n * <af-numbered-stepper>\n * <af-numbered-stepper-item>\n * <h3 slot=\"heading\">Connect your ATS</h3>\n * <p slot=\"body\">OAuth-based hook into the tools you already use.</p>\n * </af-numbered-stepper-item>\n * <af-numbered-stepper-item>...</af-numbered-stepper-item>\n * <af-numbered-stepper-item>...</af-numbered-stepper-item>\n * </af-numbered-stepper>\n * ```\n *\n * @slot - `af-numbered-stepper-item` elements.\n */\n@Component({\n tag: 'af-numbered-stepper',\n styleUrl: 'af-numbered-stepper.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNumberedStepper {\n @Element() el!: HTMLElement;\n\n /** Layout orientation. Horizontal auto-stacks to vertical on mobile. */\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n componentDidLoad() {\n this.assignIndices();\n }\n\n componentDidUpdate() {\n this.assignIndices();\n }\n\n private assignIndices() {\n const items = Array.from(\n this.el.querySelectorAll('af-numbered-stepper-item'),\n ) as unknown as { index?: number }[];\n items.forEach((item, i) => {\n // Only set when the consumer hasn't explicitly numbered the step.\n if (item.index == null || item.index === 1) {\n item.index = i + 1;\n }\n });\n }\n\n render() {\n return (\n <Host\n class={`numbered-stepper numbered-stepper--${this.orientation}`}\n role=\"list\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/* Horizontal default: centered column — badge on top, lockup below.
|
|
2
|
+
* The connector is a 1px line on the right half of the marker row that
|
|
3
|
+
* reaches into the next sibling's marker row, so visually the line spans
|
|
4
|
+
* between the two badges. Hidden on :last-child. */
|
|
5
|
+
:host {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: center;
|
|
9
|
+
text-align: center;
|
|
10
|
+
padding: 0 var(--space-6, 24px);
|
|
11
|
+
min-width: 0;
|
|
12
|
+
color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343B));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.numbered-stepper-item__marker-row {
|
|
16
|
+
position: relative;
|
|
17
|
+
display: flex;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
width: 100%;
|
|
20
|
+
margin-bottom: var(--space-6, 24px);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.numbered-stepper-item__badge {
|
|
24
|
+
position: relative;
|
|
25
|
+
z-index: 1;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Connector segment between this badge and the next one.
|
|
29
|
+
* 20px = half of 40px badge. We offset by that from the centre so the line
|
|
30
|
+
* starts at the edge of the badge and stretches off the right side of the
|
|
31
|
+
* host, joining the next item's mirror-offset half. */
|
|
32
|
+
.numbered-stepper-item__connector {
|
|
33
|
+
position: absolute;
|
|
34
|
+
left: calc(50% + 20px);
|
|
35
|
+
right: calc(-50% + 20px);
|
|
36
|
+
top: 50%;
|
|
37
|
+
height: 1px;
|
|
38
|
+
background: var(--colour-brand-soft-clay, #B09670);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* Last item doesn't draw a connector. */
|
|
42
|
+
:host(:last-child) .numbered-stepper-item__connector {
|
|
43
|
+
display: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.numbered-stepper-item__lockup {
|
|
47
|
+
display: block;
|
|
48
|
+
max-width: 320px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Vertical parent orientation: badges in a column, text to the right.
|
|
52
|
+
* Connector runs vertically along the badge column. */
|
|
53
|
+
:host-context(.numbered-stepper--vertical) {
|
|
54
|
+
flex-direction: row;
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
text-align: left;
|
|
57
|
+
gap: var(--space-6, 24px);
|
|
58
|
+
padding: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:host-context(.numbered-stepper--vertical) .numbered-stepper-item__marker-row {
|
|
62
|
+
width: auto;
|
|
63
|
+
flex-shrink: 0;
|
|
64
|
+
margin-bottom: 0;
|
|
65
|
+
/* Pin to top so subsequent text content flows naturally beside it. */
|
|
66
|
+
align-self: stretch;
|
|
67
|
+
justify-content: flex-start;
|
|
68
|
+
align-items: flex-start;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host-context(.numbered-stepper--vertical) .numbered-stepper-item__connector {
|
|
72
|
+
left: 50%;
|
|
73
|
+
right: auto;
|
|
74
|
+
top: calc(var(--space-10, 40px) + var(--space-1, 4px));
|
|
75
|
+
bottom: calc(var(--space-8, 32px) * -1);
|
|
76
|
+
height: auto;
|
|
77
|
+
width: 1px;
|
|
78
|
+
transform: translateX(-50%);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host-context(.numbered-stepper--vertical) .numbered-stepper-item__lockup {
|
|
82
|
+
max-width: none;
|
|
83
|
+
flex: 1 1 auto;
|
|
84
|
+
/* Align text baseline roughly to the badge centre. */
|
|
85
|
+
padding-top: var(--space-2, 8px);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* ≤ mobile — horizontal collapses to a vertical row-layout for the item too. */
|
|
89
|
+
@media (max-width: 767px) {
|
|
90
|
+
:host-context(.numbered-stepper--horizontal) {
|
|
91
|
+
flex-direction: row;
|
|
92
|
+
align-items: flex-start;
|
|
93
|
+
text-align: left;
|
|
94
|
+
gap: var(--space-6, 24px);
|
|
95
|
+
padding: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
:host-context(.numbered-stepper--horizontal) .numbered-stepper-item__marker-row {
|
|
99
|
+
width: auto;
|
|
100
|
+
flex-shrink: 0;
|
|
101
|
+
margin-bottom: 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host-context(.numbered-stepper--horizontal) .numbered-stepper-item__connector {
|
|
105
|
+
display: none;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
:host-context(.numbered-stepper--horizontal) .numbered-stepper-item__lockup {
|
|
109
|
+
max-width: none;
|
|
110
|
+
flex: 1 1 auto;
|
|
111
|
+
padding-top: var(--space-2, 8px);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A single step within an `af-numbered-stepper`. Renders a filled soft-clay
|
|
4
|
+
* circle badge (via `af-number-badge`) alongside a heading + body lockup.
|
|
5
|
+
*
|
|
6
|
+
* The parent `af-numbered-stepper` auto-assigns the `index` prop based on
|
|
7
|
+
* DOM order. Pass `index` explicitly to override.
|
|
8
|
+
*
|
|
9
|
+
* Heading scale is the shared `card` variant from `af-typography-lockup`
|
|
10
|
+
* (22/20px) — the same ladder step used by diff-card, related-card, and
|
|
11
|
+
* other card-title uses across the design system.
|
|
12
|
+
*
|
|
13
|
+
* @slot heading - Step title (h3 or h4 recommended for semantics).
|
|
14
|
+
* @slot body - Step description paragraph(s).
|
|
15
|
+
*/
|
|
16
|
+
export class AfNumberedStepperItem {
|
|
17
|
+
constructor() {
|
|
18
|
+
/**
|
|
19
|
+
* Step number shown in the badge. Auto-assigned by the parent stepper if
|
|
20
|
+
* not explicitly set.
|
|
21
|
+
*/
|
|
22
|
+
this.index = 1;
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
// The badge supports 1–10; clamp for safety so we never pass a bad prop.
|
|
26
|
+
const clamped = Math.max(1, Math.min(10, this.index | 0));
|
|
27
|
+
return (h(Host, { key: '6aa07b74803b11d666b724fe2c96149860c58810', role: "listitem" }, h("div", { key: 'ddf3ea9200c5015dbefb53a2dc77ade6f634e24e', class: "numbered-stepper-item__marker-row", "aria-hidden": "true" }, h("af-number-badge", { key: 'b778abffa4a41bbea6728920c61e1f2d2155662a', class: "numbered-stepper-item__badge", number: clamped, variant: "inCircle", size: 40 }), h("span", { key: 'e3f74fb9b1bc4fe999095878bdbe10f47694f8d8', class: "numbered-stepper-item__connector" })), h("af-typography-lockup", { key: '6f4688fc503175db37d5a91fa626b43692e4858a', class: "numbered-stepper-item__lockup", "heading-size": "card", "text-alignment": "center" }, h("slot", { key: 'd628fb339348c23c988e4fb69bc647105d7041f6', name: "heading" }), h("span", { key: 'a5b58d21e44537de9c32b22a754e0f4a8ef96007', slot: "description" }, h("slot", { key: '17607c180f777c5f829ea9d9919c5a7187718f2d', name: "body" })))));
|
|
28
|
+
}
|
|
29
|
+
static get is() { return "af-numbered-stepper-item"; }
|
|
30
|
+
static get encapsulation() { return "scoped"; }
|
|
31
|
+
static get originalStyleUrls() {
|
|
32
|
+
return {
|
|
33
|
+
"$": ["af-numbered-stepper-item.css"]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static get styleUrls() {
|
|
37
|
+
return {
|
|
38
|
+
"$": ["af-numbered-stepper-item.css"]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static get properties() {
|
|
42
|
+
return {
|
|
43
|
+
"index": {
|
|
44
|
+
"type": "number",
|
|
45
|
+
"mutable": false,
|
|
46
|
+
"complexType": {
|
|
47
|
+
"original": "number",
|
|
48
|
+
"resolved": "number",
|
|
49
|
+
"references": {}
|
|
50
|
+
},
|
|
51
|
+
"required": false,
|
|
52
|
+
"optional": false,
|
|
53
|
+
"docs": {
|
|
54
|
+
"tags": [],
|
|
55
|
+
"text": "Step number shown in the badge. Auto-assigned by the parent stepper if\nnot explicitly set."
|
|
56
|
+
},
|
|
57
|
+
"getter": false,
|
|
58
|
+
"setter": false,
|
|
59
|
+
"reflect": true,
|
|
60
|
+
"attribute": "index",
|
|
61
|
+
"defaultValue": "1"
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=af-numbered-stepper-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-numbered-stepper-item.js","sourceRoot":"","sources":["../../../src/components/af-numbered-stepper-item/af-numbered-stepper-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AAOH,MAAM,OAAO,qBAAqB;IANlC;QAOE;;;WAGG;QACsB,UAAK,GAAW,CAAC,CAAC;KA8B5C;IA5BC,MAAM;QACJ,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAA2C,CAAC;QAEpG,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU;YACnB,4DAAK,KAAK,EAAC,mCAAmC,iBAAa,MAAM;gBAC/D,wEACE,KAAK,EAAC,8BAA8B,EACpC,MAAM,EAAE,OAAO,EACf,OAAO,EAAC,UAAU,EAClB,IAAI,EAAE,EAAE,GACS;gBACnB,6DAAM,KAAK,EAAC,kCAAkC,GAAQ,CAClD;YACN,6EACE,KAAK,EAAC,+BAA+B,kBACxB,MAAM,oBACJ,QAAQ;gBAEvB,6DAAM,IAAI,EAAC,SAAS,GAAQ;gBAC5B,6DAAM,IAAI,EAAC,aAAa;oBACtB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACpB,CACc,CAClB,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A single step within an `af-numbered-stepper`. Renders a filled soft-clay\n * circle badge (via `af-number-badge`) alongside a heading + body lockup.\n *\n * The parent `af-numbered-stepper` auto-assigns the `index` prop based on\n * DOM order. Pass `index` explicitly to override.\n *\n * Heading scale is the shared `card` variant from `af-typography-lockup`\n * (22/20px) — the same ladder step used by diff-card, related-card, and\n * other card-title uses across the design system.\n *\n * @slot heading - Step title (h3 or h4 recommended for semantics).\n * @slot body - Step description paragraph(s).\n */\n@Component({\n tag: 'af-numbered-stepper-item',\n styleUrl: 'af-numbered-stepper-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNumberedStepperItem {\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 // The badge supports 1–10; clamp for safety so we never pass a bad prop.\n const clamped = Math.max(1, Math.min(10, this.index | 0)) as 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\n\n return (\n <Host role=\"listitem\">\n <div class=\"numbered-stepper-item__marker-row\" aria-hidden=\"true\">\n <af-number-badge\n class=\"numbered-stepper-item__badge\"\n number={clamped}\n variant=\"inCircle\"\n size={40}\n ></af-number-badge>\n <span class=\"numbered-stepper-item__connector\"></span>\n </div>\n <af-typography-lockup\n class=\"numbered-stepper-item__lockup\"\n heading-size=\"card\"\n text-alignment=\"center\"\n >\n <slot name=\"heading\"></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -50,7 +50,7 @@ export class AfPaperclipDecoration {
|
|
|
50
50
|
this.fill = 'white';
|
|
51
51
|
}
|
|
52
52
|
render() {
|
|
53
|
-
return (h(Host, { key: '
|
|
53
|
+
return (h(Host, { key: 'd6dbabf8f5f23ba6d590edc88d603ac67c677404' }, h("svg", { key: 'c32dce895897561ed17814fd298ced3b5f89ac62', "aria-hidden": "true", width: this.width, height: this.height, viewBox: "0 0 655 754", fill: "none", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "none" }, h("path", { key: '21db7944de968d0f8d96bdcf9cf3cc6ecdd49013', d: "M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z", fill: this.fill, "fill-opacity": this.opacity }))));
|
|
54
54
|
}
|
|
55
55
|
static get is() { return "af-paperclip-decoration"; }
|
|
56
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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: '7d8dc150bf0fa9647926d2b6bcf2ff7d37527e46' }, h("div", { key: '5d09009a197599029b15ae3f601c7243ef07f8e3', 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: '9f861e5aec9f676e2cf2740bd5b83a2c220eec86', class: "progress-line__background" }), h("div", { key: 'bb5457650f19f05435330d429950a3b7f7946fb8', 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: '68d5433974bb7213d103836ed6f9b06a067fc52a' });
|
|
17
|
+
return (h(Host, { key: 'd4e9437832b34127a5ed32d8eb6a9d9b09b887e7' }, h("div", { key: '92d24d2430a57a5e592cccdfea3e85daff729bea', 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"; }
|
|
@@ -34,9 +34,15 @@ export class AfSection {
|
|
|
34
34
|
"type": "string",
|
|
35
35
|
"mutable": false,
|
|
36
36
|
"complexType": {
|
|
37
|
-
"original": "
|
|
37
|
+
"original": "Padding",
|
|
38
38
|
"resolved": "\"default\" | \"loose\" | \"none\" | \"tight\"",
|
|
39
|
-
"references": {
|
|
39
|
+
"references": {
|
|
40
|
+
"Padding": {
|
|
41
|
+
"location": "import",
|
|
42
|
+
"path": "../../types",
|
|
43
|
+
"id": "src/types.ts::Padding"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
40
46
|
},
|
|
41
47
|
"required": false,
|
|
42
48
|
"optional": false,
|
|
@@ -54,9 +60,15 @@ export class AfSection {
|
|
|
54
60
|
"type": "string",
|
|
55
61
|
"mutable": false,
|
|
56
62
|
"complexType": {
|
|
57
|
-
"original": "
|
|
63
|
+
"original": "Theme",
|
|
58
64
|
"resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\"",
|
|
59
|
-
"references": {
|
|
65
|
+
"references": {
|
|
66
|
+
"Theme": {
|
|
67
|
+
"location": "import",
|
|
68
|
+
"path": "../../types",
|
|
69
|
+
"id": "src/types.ts::Theme"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
60
72
|
},
|
|
61
73
|
"required": false,
|
|
62
74
|
"optional": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-section.js","sourceRoot":"","sources":["../../../src/components/af-section/af-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"af-section.js","sourceRoot":"","sources":["../../../src/components/af-section/af-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;GAGG;AAOH,MAAM,OAAO,SAAS;IANtB;QAOE,sBAAsB;QACd,YAAO,GAAY,SAAS,CAAC;QAErC,2EAA2E;QACnE,UAAK,GAAU,OAAO,CAAC;QAE/B,6CAA6C;QACrC,cAAS,GAAY,IAAI,CAAC;KAenC;IAbC,MAAM;QACJ,MAAM,OAAO,GAAG,8DAAa,CAAC;QAE9B,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,mBAAmB,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,IAC9D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,wBAAe,OAAO,CAAgB,CACvC,CAAC,CAAC,CAAC,OAAO,CACP,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Padding, Theme } from '../../types';\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: Padding = 'default';\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = '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"]}
|
|
@@ -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: '80b73e3f33b7768227e77be1eb3337b592fc6724', class: classes }, h("slot", { key: '5f01244cc811877e0246b13983dad215bb0c3af0' })));
|
|
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: 'e80a4427592546a5c5155d23108840ec2e34ecd3' }, h("a", { key: 'd734009513a61339c2a64906f8e74a22efc290b5', 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: '2058a8599ce5dbf5dd3a2b9d973de30815058a3b', style: style, "aria-hidden": "true" });
|
|
38
38
|
}
|
|
39
39
|
static get is() { return "af-spacer"; }
|
|
40
40
|
static get encapsulation() { return "shadow"; }
|