@opensite/ui 2.8.0 → 2.8.1
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/about-culture-tabs.cjs +25 -21
- package/dist/about-culture-tabs.js +23 -19
- package/dist/about-developer-profile.cjs +6 -2
- package/dist/about-developer-profile.js +6 -2
- package/dist/about-expandable-values.cjs +6 -2
- package/dist/about-expandable-values.js +6 -2
- package/dist/about-location-info-hero.cjs +6 -2
- package/dist/about-location-info-hero.js +6 -2
- package/dist/about-mission-principles.cjs +6 -2
- package/dist/about-mission-principles.js +6 -2
- package/dist/about-network-spotlight.cjs +18 -14
- package/dist/about-network-spotlight.js +16 -12
- package/dist/about-split-hero.cjs +6 -2
- package/dist/about-split-hero.js +6 -2
- package/dist/about-startup-team.cjs +6 -2
- package/dist/about-startup-team.js +6 -2
- package/dist/article-breadcrumb-social.cjs +27 -23
- package/dist/article-breadcrumb-social.js +27 -23
- package/dist/article-chapters-author.cjs +29 -25
- package/dist/article-chapters-author.js +29 -25
- package/dist/article-compact-toc.cjs +26 -22
- package/dist/article-compact-toc.js +26 -22
- package/dist/article-sidebar-sticky.cjs +6 -2
- package/dist/article-sidebar-sticky.js +6 -2
- package/dist/auto-scroll-carousel.cjs +28 -24
- package/dist/auto-scroll-carousel.js +26 -22
- package/dist/banner-announcement-dismissible.cjs +6 -2
- package/dist/banner-announcement-dismissible.js +6 -2
- package/dist/banner-delivery-countdown.cjs +6 -2
- package/dist/banner-delivery-countdown.js +6 -2
- package/dist/banner-floating-offer.cjs +6 -2
- package/dist/banner-floating-offer.js +6 -2
- package/dist/banner-gdpr-rights.cjs +6 -2
- package/dist/banner-gdpr-rights.js +6 -2
- package/dist/banner-privacy-notice.cjs +6 -2
- package/dist/banner-privacy-notice.js +6 -2
- package/dist/banner-social-follow.cjs +6 -2
- package/dist/banner-social-follow.js +6 -2
- package/dist/banner-survey-incentive.cjs +6 -2
- package/dist/banner-survey-incentive.js +6 -2
- package/dist/blog-cards-read-time.cjs +6 -2
- package/dist/blog-cards-read-time.js +6 -2
- package/dist/blog-cards-tagline-cta.cjs +6 -2
- package/dist/blog-cards-tagline-cta.js +6 -2
- package/dist/blog-carousel-apple.cjs +25 -21
- package/dist/blog-carousel-apple.js +21 -17
- package/dist/blog-category-overlay.cjs +6 -2
- package/dist/blog-category-overlay.js +6 -2
- package/dist/blog-filtered-results.cjs +30 -26
- package/dist/blog-filtered-results.js +24 -20
- package/dist/blog-horizontal-cards.cjs +6 -2
- package/dist/blog-horizontal-cards.js +6 -2
- package/dist/blog-horizontal-timeline.cjs +6 -2
- package/dist/blog-horizontal-timeline.js +6 -2
- package/dist/carousel-animated-sections.cjs +23 -19
- package/dist/carousel-animated-sections.js +23 -19
- package/dist/carousel-auto-progress-slides.cjs +6 -2
- package/dist/carousel-auto-progress-slides.js +6 -2
- package/dist/carousel-autoplay-progress.cjs +34 -30
- package/dist/carousel-autoplay-progress.js +34 -30
- package/dist/carousel-badge-cards.cjs +31 -27
- package/dist/carousel-badge-cards.js +26 -22
- package/dist/carousel-demo-link.cjs +32 -28
- package/dist/carousel-demo-link.js +26 -22
- package/dist/carousel-feature-badge.cjs +22 -18
- package/dist/carousel-feature-badge.js +22 -18
- package/dist/carousel-gallery-thumbnails.cjs +6 -2
- package/dist/carousel-gallery-thumbnails.js +6 -2
- package/dist/carousel-gradient-overlay.cjs +32 -28
- package/dist/carousel-gradient-overlay.js +26 -22
- package/dist/carousel-gradient-text.cjs +32 -28
- package/dist/carousel-gradient-text.js +26 -22
- package/dist/carousel-horizontal-cards.cjs +20 -16
- package/dist/carousel-horizontal-cards.js +20 -16
- package/dist/carousel-icon-sidebar.cjs +38 -34
- package/dist/carousel-icon-sidebar.js +26 -22
- package/dist/carousel-icon-tabs.cjs +39 -35
- package/dist/carousel-icon-tabs.js +26 -22
- package/dist/carousel-image-hero.cjs +22 -18
- package/dist/carousel-image-hero.js +22 -18
- package/dist/carousel-multi-step-showcase.cjs +6 -2
- package/dist/carousel-multi-step-showcase.js +6 -2
- package/dist/carousel-pagination.cjs +6 -2
- package/dist/carousel-pagination.js +6 -2
- package/dist/carousel-portfolio-hero.cjs +22 -18
- package/dist/carousel-portfolio-hero.js +22 -18
- package/dist/carousel-product-feature-showcase.cjs +6 -2
- package/dist/carousel-product-feature-showcase.js +6 -2
- package/dist/carousel-progress-slider.cjs +28 -24
- package/dist/carousel-progress-slider.js +28 -24
- package/dist/carousel-scale-focus.cjs +41 -37
- package/dist/carousel-scale-focus.js +26 -22
- package/dist/carousel-sidebar-resources.cjs +34 -30
- package/dist/carousel-sidebar-resources.js +26 -22
- package/dist/carousel-tabs-content.cjs +39 -35
- package/dist/carousel-tabs-content.js +26 -22
- package/dist/case-studies-featured-border.cjs +6 -2
- package/dist/case-studies-featured-border.js +6 -2
- package/dist/case-study-stats-metrics.cjs +6 -2
- package/dist/case-study-stats-metrics.js +6 -2
- package/dist/case-study-toc-social-sidebar.cjs +6 -2
- package/dist/case-study-toc-social-sidebar.js +6 -2
- package/dist/community-initiatives.cjs +19 -15
- package/dist/community-initiatives.js +17 -13
- package/dist/comparison-ai-models.cjs +18 -14
- package/dist/comparison-ai-models.js +17 -13
- package/dist/comparison-feature-cards.cjs +16 -12
- package/dist/comparison-feature-cards.js +16 -12
- package/dist/comparison-feature-grid.cjs +14 -10
- package/dist/comparison-feature-grid.js +14 -10
- package/dist/comparison-grid-badges.cjs +13 -9
- package/dist/comparison-grid-badges.js +13 -9
- package/dist/comparison-legacy-modern.cjs +15 -11
- package/dist/comparison-legacy-modern.js +15 -11
- package/dist/comparison-table-tabs.cjs +15 -11
- package/dist/comparison-table-tabs.js +14 -10
- package/dist/comparison-table-two-column.cjs +14 -10
- package/dist/comparison-table-two-column.js +14 -10
- package/dist/components.cjs +199 -179
- package/dist/components.js +104 -84
- package/dist/contact-callback.cjs +27 -7
- package/dist/contact-callback.js +10 -5
- package/dist/contact-card.cjs +6 -2
- package/dist/contact-card.js +6 -2
- package/dist/contact-careers.cjs +18 -14
- package/dist/contact-careers.js +16 -12
- package/dist/contact-dark.cjs +6 -2
- package/dist/contact-dark.js +6 -2
- package/dist/contact-emergency.cjs +6 -2
- package/dist/contact-emergency.js +6 -2
- package/dist/contact-faq.cjs +9 -7
- package/dist/contact-faq.js +10 -5
- package/dist/contact-floating-banner.cjs +6 -2
- package/dist/contact-floating-banner.js +6 -2
- package/dist/contact-help-center.cjs +16 -12
- package/dist/contact-help-center.js +16 -12
- package/dist/contact-image.cjs +18 -14
- package/dist/contact-image.js +17 -13
- package/dist/contact-map.cjs +78 -58
- package/dist/contact-map.js +78 -58
- package/dist/cta-app-download-newsletter.cjs +6 -2
- package/dist/cta-app-download-newsletter.js +6 -2
- package/dist/cta-background-icon-badge.cjs +6 -2
- package/dist/cta-background-icon-badge.js +6 -2
- package/dist/cta-case-study-testimonial.cjs +6 -2
- package/dist/cta-case-study-testimonial.js +6 -2
- package/dist/cta-documentation-links.cjs +6 -2
- package/dist/cta-documentation-links.js +6 -2
- package/dist/cta-enterprise-dark-features.cjs +6 -2
- package/dist/cta-enterprise-dark-features.js +6 -2
- package/dist/cta-enterprise-split.cjs +6 -2
- package/dist/cta-enterprise-split.js +6 -2
- package/dist/cta-feature-cards-grid.cjs +6 -2
- package/dist/cta-feature-cards-grid.js +6 -2
- package/dist/cta-feature-checklist.cjs +17 -13
- package/dist/cta-feature-checklist.js +16 -12
- package/dist/cta-feature-list.cjs +6 -2
- package/dist/cta-feature-list.js +6 -2
- package/dist/cta-gradient-logos-floating.cjs +6 -2
- package/dist/cta-gradient-logos-floating.js +6 -2
- package/dist/cta-gradient-stats-hero.cjs +6 -2
- package/dist/cta-gradient-stats-hero.js +6 -2
- package/dist/cta-hero-feature-cards.cjs +6 -2
- package/dist/cta-hero-feature-cards.js +6 -2
- package/dist/cta-image-overlay-arrow.cjs +6 -2
- package/dist/cta-image-overlay-arrow.js +6 -2
- package/dist/cta-newsletter-features.cjs +12 -8
- package/dist/cta-newsletter-features.js +12 -8
- package/dist/cta-platform-demo.cjs +6 -2
- package/dist/cta-platform-demo.js +6 -2
- package/dist/cta-simple-centered.cjs +6 -2
- package/dist/cta-simple-centered.js +6 -2
- package/dist/cta-split-image-logos.cjs +6 -2
- package/dist/cta-split-image-logos.js +6 -2
- package/dist/cta-video-background-hero.cjs +6 -2
- package/dist/cta-video-background-hero.js +6 -2
- package/dist/cta-workflow-tabs.cjs +6 -2
- package/dist/cta-workflow-tabs.js +6 -2
- package/dist/dynamic-icon.cjs +27 -2
- package/dist/dynamic-icon.d.cts +2 -2
- package/dist/dynamic-icon.d.ts +2 -2
- package/dist/dynamic-icon.js +7 -2
- package/dist/expandable-case-study-cards.cjs +26 -6
- package/dist/expandable-case-study-cards.js +10 -5
- package/dist/faq-badge-support.cjs +25 -21
- package/dist/faq-badge-support.js +22 -18
- package/dist/faq-bordered-badge.cjs +9 -7
- package/dist/faq-bordered-badge.js +10 -5
- package/dist/faq-card-categories.cjs +18 -14
- package/dist/faq-card-categories.js +16 -12
- package/dist/faq-categorized-sections.cjs +9 -7
- package/dist/faq-categorized-sections.js +10 -5
- package/dist/faq-centered-accordion.cjs +9 -7
- package/dist/faq-centered-accordion.js +10 -5
- package/dist/faq-gradient-categories.cjs +18 -14
- package/dist/faq-gradient-categories.js +16 -12
- package/dist/faq-icon-benefits.cjs +18 -14
- package/dist/faq-icon-benefits.js +16 -12
- package/dist/faq-muted-cards.cjs +18 -14
- package/dist/faq-muted-cards.js +16 -12
- package/dist/faq-profile-sidebar.cjs +25 -21
- package/dist/faq-profile-sidebar.js +22 -18
- package/dist/faq-rounded-cards.cjs +18 -14
- package/dist/faq-rounded-cards.js +16 -12
- package/dist/faq-sidebar-navigation.cjs +20 -16
- package/dist/faq-sidebar-navigation.js +17 -13
- package/dist/faq-simple-accordion.cjs +18 -14
- package/dist/faq-simple-accordion.js +16 -12
- package/dist/faq-split-help.cjs +25 -21
- package/dist/faq-split-help.js +22 -18
- package/dist/faq-split-hero.cjs +9 -7
- package/dist/faq-split-hero.js +10 -5
- package/dist/feature-accordion-image.cjs +20 -16
- package/dist/feature-accordion-image.js +17 -13
- package/dist/feature-animated-carousel.cjs +35 -31
- package/dist/feature-animated-carousel.js +28 -24
- package/dist/feature-badge-grid-six.cjs +20 -16
- package/dist/feature-badge-grid-six.js +16 -12
- package/dist/feature-bento-image-grid.cjs +21 -17
- package/dist/feature-bento-image-grid.js +20 -16
- package/dist/feature-bento-utilities.cjs +19 -15
- package/dist/feature-bento-utilities.js +18 -14
- package/dist/feature-capabilities-grid.cjs +18 -14
- package/dist/feature-capabilities-grid.js +17 -13
- package/dist/feature-carousel-progress.cjs +31 -27
- package/dist/feature-carousel-progress.js +26 -22
- package/dist/feature-checklist-image.cjs +6 -2
- package/dist/feature-checklist-image.js +6 -2
- package/dist/feature-checklist-three-column.cjs +22 -18
- package/dist/feature-checklist-three-column.js +16 -12
- package/dist/feature-icon-grid-accent.cjs +26 -6
- package/dist/feature-icon-grid-accent.js +10 -5
- package/dist/feature-icon-grid-bordered.cjs +18 -14
- package/dist/feature-icon-grid-bordered.js +16 -12
- package/dist/feature-icon-grid-muted.cjs +18 -14
- package/dist/feature-icon-grid-muted.js +16 -12
- package/dist/feature-icon-tabs-content.cjs +20 -16
- package/dist/feature-icon-tabs-content.js +16 -12
- package/dist/feature-image-cards-three-column.cjs +29 -25
- package/dist/feature-image-cards-three-column.js +22 -18
- package/dist/feature-image-overlay-badge.cjs +18 -14
- package/dist/feature-image-overlay-badge.js +16 -12
- package/dist/feature-numbered-cards.cjs +20 -16
- package/dist/feature-numbered-cards.js +16 -12
- package/dist/feature-pattern-grid-links.cjs +19 -15
- package/dist/feature-pattern-grid-links.js +16 -12
- package/dist/feature-showcase.cjs +6 -2
- package/dist/feature-showcase.js +6 -2
- package/dist/feature-tabbed-content-image.cjs +21 -17
- package/dist/feature-tabbed-content-image.js +19 -15
- package/dist/feature-three-column-values.cjs +18 -14
- package/dist/feature-three-column-values.js +17 -13
- package/dist/feature-utility-cards-grid.cjs +20 -16
- package/dist/feature-utility-cards-grid.js +17 -13
- package/dist/footer-accordion-social.cjs +6 -2
- package/dist/footer-accordion-social.js +6 -2
- package/dist/footer-animated-social.cjs +6 -2
- package/dist/footer-animated-social.js +6 -2
- package/dist/footer-background-card.cjs +6 -2
- package/dist/footer-background-card.js +6 -2
- package/dist/footer-brand-description.cjs +6 -2
- package/dist/footer-brand-description.js +6 -2
- package/dist/footer-brand-links-contact.cjs +6 -2
- package/dist/footer-brand-links-contact.js +6 -2
- package/dist/footer-comprehensive-links.cjs +6 -2
- package/dist/footer-comprehensive-links.js +6 -2
- package/dist/footer-contact-card.cjs +6 -2
- package/dist/footer-contact-card.js +6 -2
- package/dist/footer-cta-banner.cjs +6 -2
- package/dist/footer-cta-banner.js +6 -2
- package/dist/footer-cta-social.cjs +24 -20
- package/dist/footer-cta-social.js +22 -18
- package/dist/footer-info-cards-accordion.cjs +24 -20
- package/dist/footer-info-cards-accordion.js +23 -19
- package/dist/footer-nav-social.cjs +6 -2
- package/dist/footer-nav-social.js +6 -2
- package/dist/footer-newsletter-contact.cjs +6 -2
- package/dist/footer-newsletter-contact.js +6 -2
- package/dist/footer-newsletter-grid.cjs +6 -2
- package/dist/footer-newsletter-grid.js +6 -2
- package/dist/footer-newsletter-minimal.cjs +27 -23
- package/dist/footer-newsletter-minimal.js +26 -22
- package/dist/footer-social-apps.cjs +26 -22
- package/dist/footer-social-apps.js +22 -18
- package/dist/footer-social-newsletter.cjs +6 -2
- package/dist/footer-social-newsletter.js +6 -2
- package/dist/footer-split-image-accordion.cjs +24 -20
- package/dist/footer-split-image-accordion.js +23 -19
- package/dist/geo-map.cjs +74 -54
- package/dist/geo-map.js +73 -53
- package/dist/hero-badge-shadow-overlay.cjs +6 -2
- package/dist/hero-badge-shadow-overlay.js +6 -2
- package/dist/hero-coming-soon-countdown.cjs +6 -2
- package/dist/hero-coming-soon-countdown.js +6 -2
- package/dist/hero-conversion-video-play.cjs +29 -25
- package/dist/hero-conversion-video-play.js +26 -22
- package/dist/hero-creative-studio-stacked.cjs +19 -15
- package/dist/hero-creative-studio-stacked.js +16 -12
- package/dist/hero-dashed-border-features.cjs +6 -2
- package/dist/hero-dashed-border-features.js +6 -2
- package/dist/hero-design-carousel-portfolio.cjs +29 -25
- package/dist/hero-design-carousel-portfolio.js +26 -22
- package/dist/hero-design-system-3d.cjs +18 -14
- package/dist/hero-design-system-3d.js +16 -12
- package/dist/hero-developer-tools-code.cjs +18 -14
- package/dist/hero-developer-tools-code.js +16 -12
- package/dist/hero-ecommerce-product-showcase.cjs +20 -16
- package/dist/hero-ecommerce-product-showcase.js +17 -13
- package/dist/hero-enterprise-security.cjs +6 -2
- package/dist/hero-enterprise-security.js +6 -2
- package/dist/hero-event-registration.cjs +21 -17
- package/dist/hero-event-registration.js +17 -13
- package/dist/hero-feature-cards-grid.cjs +6 -2
- package/dist/hero-feature-cards-grid.js +6 -2
- package/dist/hero-floating-images.cjs +26 -6
- package/dist/hero-floating-images.js +10 -5
- package/dist/hero-gradient-avatars-rating.cjs +19 -15
- package/dist/hero-gradient-avatars-rating.js +16 -12
- package/dist/hero-grid-pattern-solutions.cjs +6 -2
- package/dist/hero-grid-pattern-solutions.js +6 -2
- package/dist/hero-marketplace-scattered-images.cjs +6 -2
- package/dist/hero-marketplace-scattered-images.js +6 -2
- package/dist/hero-mentorship-video-split.cjs +6 -2
- package/dist/hero-mentorship-video-split.js +6 -2
- package/dist/hero-mobile-app-download.cjs +6 -2
- package/dist/hero-mobile-app-download.js +6 -2
- package/dist/hero-overlay-cta-grid.cjs +20 -16
- package/dist/hero-overlay-cta-grid.js +16 -12
- package/dist/hero-platform-features-grid.cjs +6 -2
- package/dist/hero-platform-features-grid.js +6 -2
- package/dist/hero-portfolio-creative.cjs +6 -2
- package/dist/hero-portfolio-creative.js +6 -2
- package/dist/hero-pricing-comparison.cjs +6 -2
- package/dist/hero-pricing-comparison.js +6 -2
- package/dist/hero-product-showcase-floating.cjs +27 -23
- package/dist/hero-product-showcase-floating.js +22 -18
- package/dist/hero-saas-dashboard-preview.cjs +6 -2
- package/dist/hero-saas-dashboard-preview.js +6 -2
- package/dist/hero-software-growth-video-dialog.cjs +19 -15
- package/dist/hero-software-growth-video-dialog.js +16 -12
- package/dist/hero-split-icon-cards.cjs +18 -14
- package/dist/hero-split-icon-cards.js +16 -12
- package/dist/hero-video-dialog-gradient.cjs +19 -15
- package/dist/hero-video-dialog-gradient.js +16 -12
- package/dist/hero-video-overlay-stars.cjs +18 -14
- package/dist/hero-video-overlay-stars.js +16 -12
- package/dist/index.cjs +200 -180
- package/dist/index.js +104 -84
- package/dist/industries-expandable-showcase.cjs +6 -2
- package/dist/industries-expandable-showcase.js +6 -2
- package/dist/industries-hover-reveal-grid.cjs +6 -2
- package/dist/industries-hover-reveal-grid.js +6 -2
- package/dist/industries-timeline-table.cjs +6 -2
- package/dist/industries-timeline-table.js +6 -2
- package/dist/interior-carousel.cjs +33 -29
- package/dist/interior-carousel.js +26 -22
- package/dist/link-page-bento-layout.cjs +6 -2
- package/dist/link-page-bento-layout.js +6 -2
- package/dist/link-page-grid-cards.cjs +6 -2
- package/dist/link-page-grid-cards.js +6 -2
- package/dist/link-page-minimal-profile.cjs +6 -2
- package/dist/link-page-minimal-profile.js +6 -2
- package/dist/link-page-newsletter-social.cjs +6 -2
- package/dist/link-page-newsletter-social.js +6 -2
- package/dist/link-tree-block.cjs +30 -26
- package/dist/link-tree-block.js +30 -26
- package/dist/list-achievements-showcase.cjs +6 -2
- package/dist/list-achievements-showcase.js +6 -2
- package/dist/list-feature-comparison.cjs +6 -2
- package/dist/list-feature-comparison.js +6 -2
- package/dist/list-metrics-dashboard.cjs +6 -2
- package/dist/list-metrics-dashboard.js +6 -2
- package/dist/list-searchable-grid.cjs +19 -15
- package/dist/list-searchable-grid.js +18 -14
- package/dist/list-service-category-table.cjs +26 -6
- package/dist/list-service-category-table.js +10 -5
- package/dist/navbar-animated-preview.cjs +6 -2
- package/dist/navbar-animated-preview.js +6 -2
- package/dist/navbar-centered-menu.cjs +6 -2
- package/dist/navbar-centered-menu.js +6 -2
- package/dist/navbar-dark-icons.cjs +6 -2
- package/dist/navbar-dark-icons.js +6 -2
- package/dist/navbar-dropdown-menu.cjs +6 -2
- package/dist/navbar-dropdown-menu.js +6 -2
- package/dist/navbar-education-platform.cjs +6 -2
- package/dist/navbar-education-platform.js +6 -2
- package/dist/navbar-enterprise-mega.cjs +6 -2
- package/dist/navbar-enterprise-mega.js +6 -2
- package/dist/navbar-feature-grid.cjs +6 -2
- package/dist/navbar-feature-grid.js +6 -2
- package/dist/navbar-floating-pill.cjs +6 -2
- package/dist/navbar-floating-pill.js +6 -2
- package/dist/navbar-fullscreen-menu.cjs +6 -2
- package/dist/navbar-fullscreen-menu.js +6 -2
- package/dist/navbar-icon-links.cjs +6 -2
- package/dist/navbar-icon-links.js +6 -2
- package/dist/navbar-image-preview.cjs +6 -2
- package/dist/navbar-image-preview.js +6 -2
- package/dist/navbar-mega-menu.cjs +6 -2
- package/dist/navbar-mega-menu.js +6 -2
- package/dist/navbar-multi-column-groups.cjs +6 -2
- package/dist/navbar-multi-column-groups.js +6 -2
- package/dist/navbar-platform-resources.cjs +6 -2
- package/dist/navbar-platform-resources.js +6 -2
- package/dist/navbar-search-focused.cjs +6 -2
- package/dist/navbar-search-focused.js +6 -2
- package/dist/navbar-sidebar-mobile.cjs +6 -2
- package/dist/navbar-sidebar-mobile.js +6 -2
- package/dist/navbar-simple-links.cjs +6 -2
- package/dist/navbar-simple-links.js +6 -2
- package/dist/navbar-split-cta.cjs +6 -2
- package/dist/navbar-split-cta.js +6 -2
- package/dist/navbar-sticky-compact.cjs +6 -2
- package/dist/navbar-sticky-compact.js +6 -2
- package/dist/navbar-tabbed-sections.cjs +6 -2
- package/dist/navbar-tabbed-sections.js +6 -2
- package/dist/navbar-transparent-overlay.cjs +6 -2
- package/dist/navbar-transparent-overlay.js +6 -2
- package/dist/offer-modal-membership-image.cjs +6 -2
- package/dist/offer-modal-membership-image.js +6 -2
- package/dist/offer-modal-newsletter-discount.cjs +6 -2
- package/dist/offer-modal-newsletter-discount.js +6 -2
- package/dist/offer-modal-sheet-newsletter.cjs +6 -2
- package/dist/offer-modal-sheet-newsletter.js +6 -2
- package/dist/payment-platform-icon.cjs +27 -2
- package/dist/payment-platform-icon.js +7 -2
- package/dist/pricing-addons-cards.cjs +19 -15
- package/dist/pricing-addons-cards.js +16 -12
- package/dist/pricing-addons-featured.cjs +20 -16
- package/dist/pricing-addons-featured.js +16 -12
- package/dist/pricing-collapsible-plans.cjs +19 -15
- package/dist/pricing-collapsible-plans.js +16 -12
- package/dist/pricing-columns-toggle.cjs +20 -16
- package/dist/pricing-columns-toggle.js +16 -12
- package/dist/pricing-comparison-headers.cjs +21 -17
- package/dist/pricing-comparison-headers.js +16 -12
- package/dist/pricing-comparison-table.cjs +21 -17
- package/dist/pricing-comparison-table.js +16 -12
- package/dist/pricing-discount-card.cjs +18 -14
- package/dist/pricing-discount-card.js +16 -12
- package/dist/pricing-enterprise-contact.cjs +18 -14
- package/dist/pricing-enterprise-contact.js +16 -12
- package/dist/pricing-feature-matrix.cjs +19 -15
- package/dist/pricing-feature-matrix.js +16 -12
- package/dist/pricing-four-tier-toggle.cjs +20 -16
- package/dist/pricing-four-tier-toggle.js +16 -12
- package/dist/pricing-full-comparison.cjs +19 -15
- package/dist/pricing-full-comparison.js +17 -13
- package/dist/pricing-gradient-cards.cjs +20 -16
- package/dist/pricing-gradient-cards.js +16 -12
- package/dist/pricing-icon-headers.cjs +19 -15
- package/dist/pricing-icon-headers.js +16 -12
- package/dist/pricing-minimal-cards.cjs +19 -15
- package/dist/pricing-minimal-cards.js +16 -12
- package/dist/pricing-packages-radio.cjs +18 -14
- package/dist/pricing-packages-radio.js +16 -12
- package/dist/pricing-popular-highlight.cjs +20 -16
- package/dist/pricing-popular-highlight.js +16 -12
- package/dist/pricing-radio-toggle.cjs +20 -16
- package/dist/pricing-radio-toggle.js +16 -12
- package/dist/pricing-responsive-table.cjs +18 -14
- package/dist/pricing-responsive-table.js +16 -12
- package/dist/pricing-services-cards.cjs +19 -15
- package/dist/pricing-services-cards.js +16 -12
- package/dist/pricing-simple-card.cjs +18 -14
- package/dist/pricing-simple-card.js +16 -12
- package/dist/pricing-single-card.cjs +19 -15
- package/dist/pricing-single-card.js +16 -12
- package/dist/pricing-split-layout.cjs +16 -12
- package/dist/pricing-split-layout.js +16 -12
- package/dist/pricing-spotlight-card.cjs +18 -14
- package/dist/pricing-spotlight-card.js +16 -12
- package/dist/pricing-switch-cards.cjs +20 -16
- package/dist/pricing-switch-cards.js +16 -12
- package/dist/pricing-tabs-toggle.cjs +20 -16
- package/dist/pricing-tabs-toggle.js +16 -12
- package/dist/pricing-tier-grid.cjs +19 -15
- package/dist/pricing-tier-grid.js +16 -12
- package/dist/pricing-toggle-cards.cjs +20 -16
- package/dist/pricing-toggle-cards.js +16 -12
- package/dist/pricing-toggle-period.cjs +18 -14
- package/dist/pricing-toggle-period.js +16 -12
- package/dist/pricing-two-column-basic.cjs +20 -16
- package/dist/pricing-two-column-basic.js +16 -12
- package/dist/process-expandable-timeline.cjs +6 -2
- package/dist/process-expandable-timeline.js +6 -2
- package/dist/process-icon-timeline.cjs +26 -6
- package/dist/process-icon-timeline.js +10 -5
- package/dist/process-numbered-services.cjs +6 -2
- package/dist/process-numbered-services.js +6 -2
- package/dist/process-roadmap-timeline.cjs +26 -6
- package/dist/process-roadmap-timeline.js +10 -5
- package/dist/process-scroll-image.cjs +24 -20
- package/dist/process-scroll-image.js +22 -18
- package/dist/process-steps-grid.cjs +26 -6
- package/dist/process-steps-grid.js +10 -5
- package/dist/process-sticky-steps.cjs +6 -2
- package/dist/process-sticky-steps.js +6 -2
- package/dist/project-background-reveal.cjs +17 -13
- package/dist/project-background-reveal.js +16 -12
- package/dist/project-card-overlay.cjs +26 -6
- package/dist/project-card-overlay.js +10 -5
- package/dist/project-carousel-cinematic.cjs +31 -27
- package/dist/project-carousel-cinematic.js +26 -22
- package/dist/project-carousel-detail-cards.cjs +31 -27
- package/dist/project-carousel-detail-cards.js +26 -22
- package/dist/project-carousel-minimal.cjs +31 -27
- package/dist/project-carousel-minimal.js +26 -22
- package/dist/project-detail-architecture-carousel.cjs +6 -2
- package/dist/project-detail-architecture-carousel.js +6 -2
- package/dist/project-detail-list-related.cjs +6 -2
- package/dist/project-detail-list-related.js +6 -2
- package/dist/project-detail-photography-breadcrumb.cjs +6 -2
- package/dist/project-detail-photography-breadcrumb.js +6 -2
- package/dist/project-detail-tabbed-case-study.cjs +6 -2
- package/dist/project-detail-tabbed-case-study.js +6 -2
- package/dist/project-experience-quote.cjs +17 -13
- package/dist/project-experience-quote.js +16 -12
- package/dist/project-featured-carousel.cjs +27 -23
- package/dist/project-featured-carousel.js +26 -22
- package/dist/project-horizontal-cards.cjs +17 -13
- package/dist/project-horizontal-cards.js +16 -12
- package/dist/project-interactive-hover-reveal.cjs +18 -14
- package/dist/project-interactive-hover-reveal.js +16 -12
- package/dist/project-scroll-reveal.cjs +26 -6
- package/dist/project-scroll-reveal.js +10 -5
- package/dist/project-video-carousel.cjs +31 -27
- package/dist/project-video-carousel.js +26 -22
- package/dist/project-video-hover-bento.cjs +26 -6
- package/dist/project-video-hover-bento.js +10 -5
- package/dist/project-video-hover-grid.cjs +26 -6
- package/dist/project-video-hover-grid.js +10 -5
- package/dist/project-video-hover-rounded.cjs +26 -6
- package/dist/project-video-hover-rounded.js +10 -5
- package/dist/project-video-hover-stack.cjs +26 -6
- package/dist/project-video-hover-stack.js +10 -5
- package/dist/project-video-hover-two-by-two.cjs +26 -6
- package/dist/project-video-hover-two-by-two.js +10 -5
- package/dist/project-work-showcase.cjs +17 -13
- package/dist/project-work-showcase.js +16 -12
- package/dist/project-zigzag-layout.cjs +16 -12
- package/dist/project-zigzag-layout.js +16 -12
- package/dist/registry.cjs +1737 -1717
- package/dist/registry.js +507 -487
- package/dist/resource-detail-document-sidebar.cjs +6 -2
- package/dist/resource-detail-document-sidebar.js +6 -2
- package/dist/resource-detail-whitepaper-sidebar.cjs +6 -2
- package/dist/resource-detail-whitepaper-sidebar.js +6 -2
- package/dist/resource-list-course-cards.cjs +6 -2
- package/dist/resource-list-course-cards.js +6 -2
- package/dist/resource-list-featured-articles.cjs +6 -2
- package/dist/resource-list-featured-articles.js +6 -2
- package/dist/resource-list-featured-grid.cjs +6 -2
- package/dist/resource-list-featured-grid.js +6 -2
- package/dist/resource-list-hero-filter.cjs +6 -2
- package/dist/resource-list-hero-filter.js +6 -2
- package/dist/resource-list-news-updates.cjs +6 -2
- package/dist/resource-list-news-updates.js +6 -2
- package/dist/service-detail-centered-expertise.cjs +16 -12
- package/dist/service-detail-centered-expertise.js +16 -12
- package/dist/service-detail-compact-cards.cjs +16 -12
- package/dist/service-detail-compact-cards.js +16 -12
- package/dist/service-detail-sidebar-related.cjs +16 -12
- package/dist/service-detail-sidebar-related.js +16 -12
- package/dist/service-detail-sidebar-stats.cjs +27 -7
- package/dist/service-detail-sidebar-stats.js +10 -5
- package/dist/service-hover-carousel.cjs +38 -34
- package/dist/service-hover-carousel.js +26 -22
- package/dist/services-list-accordion-benefits.cjs +16 -12
- package/dist/services-list-accordion-benefits.js +16 -12
- package/dist/services-list-accordion.cjs +10 -8
- package/dist/services-list-accordion.js +10 -5
- package/dist/services-list-cards-hover.cjs +16 -12
- package/dist/services-list-cards-hover.js +16 -12
- package/dist/services-list-category-accordion.cjs +10 -8
- package/dist/services-list-category-accordion.js +10 -5
- package/dist/services-list-centered-icons.cjs +27 -7
- package/dist/services-list-centered-icons.js +10 -5
- package/dist/services-list-culture-tabs.cjs +16 -12
- package/dist/services-list-culture-tabs.js +16 -12
- package/dist/services-list-feature-spotlight.cjs +27 -7
- package/dist/services-list-feature-spotlight.js +10 -5
- package/dist/services-list-featured-highlight.cjs +16 -12
- package/dist/services-list-featured-highlight.js +16 -12
- package/dist/services-list-hero-cards.cjs +6 -2
- package/dist/services-list-hero-cards.js +6 -2
- package/dist/services-list-icon-grid.cjs +27 -7
- package/dist/services-list-icon-grid.js +10 -5
- package/dist/services-list-image-cards.cjs +6 -2
- package/dist/services-list-image-cards.js +6 -2
- package/dist/services-list-image-overlay-grid.cjs +6 -2
- package/dist/services-list-image-overlay-grid.js +6 -2
- package/dist/services-list-masonry.cjs +16 -12
- package/dist/services-list-masonry.js +16 -12
- package/dist/services-list-methodology-steps.cjs +16 -12
- package/dist/services-list-methodology-steps.js +16 -12
- package/dist/services-list-minimal-grid.cjs +16 -12
- package/dist/services-list-minimal-grid.js +16 -12
- package/dist/services-list-muted-cards.cjs +27 -7
- package/dist/services-list-muted-cards.js +10 -5
- package/dist/services-list-numbered-steps.cjs +16 -12
- package/dist/services-list-numbered-steps.js +16 -12
- package/dist/services-list-pricing-grid.cjs +16 -12
- package/dist/services-list-pricing-grid.js +16 -12
- package/dist/services-list-progress-sidebar.cjs +16 -12
- package/dist/services-list-progress-sidebar.js +16 -12
- package/dist/services-list-split-checklist.cjs +16 -12
- package/dist/services-list-split-checklist.js +16 -12
- package/dist/services-list-sticky-image.cjs +6 -2
- package/dist/services-list-sticky-image.js +6 -2
- package/dist/services-list-table-hover.cjs +6 -2
- package/dist/services-list-table-hover.js +6 -2
- package/dist/services-list-tabs-features.cjs +10 -8
- package/dist/services-list-tabs-features.js +10 -5
- package/dist/services-list-timeline.cjs +16 -12
- package/dist/services-list-timeline.js +16 -12
- package/dist/services-list-two-column-grid.cjs +16 -12
- package/dist/services-list-two-column-grid.js +16 -12
- package/dist/services-list-vertical-tags.cjs +27 -7
- package/dist/services-list-vertical-tags.js +10 -5
- package/dist/services-list-video-showcase.cjs +18 -14
- package/dist/services-list-video-showcase.js +18 -14
- package/dist/social-link-icon.cjs +6 -2
- package/dist/social-link-icon.js +6 -2
- package/dist/stats-animated-counter.cjs +17 -13
- package/dist/stats-animated-counter.js +15 -11
- package/dist/stats-card-group.cjs +26 -6
- package/dist/stats-card-group.js +10 -5
- package/dist/stats-growth-timeline.cjs +22 -18
- package/dist/stats-growth-timeline.js +16 -12
- package/dist/stats-icon-cards.cjs +26 -6
- package/dist/stats-icon-cards.js +10 -5
- package/dist/stats-impact-grid.cjs +23 -19
- package/dist/stats-impact-grid.js +16 -12
- package/dist/stats-primary-secondary.cjs +26 -6
- package/dist/stats-primary-secondary.js +10 -5
- package/dist/stats-timeline-tabs.cjs +9 -7
- package/dist/stats-timeline-tabs.js +10 -5
- package/dist/team-alternating-bios.cjs +17 -13
- package/dist/team-alternating-bios.js +17 -13
- package/dist/team-avatar-social.cjs +17 -13
- package/dist/team-avatar-social.js +17 -13
- package/dist/team-bio-badges.cjs +17 -13
- package/dist/team-bio-badges.js +17 -13
- package/dist/team-carousel-experience.cjs +27 -23
- package/dist/team-carousel-experience.js +27 -23
- package/dist/team-contact-cards.cjs +18 -14
- package/dist/team-contact-cards.js +18 -14
- package/dist/team-filterable-search.cjs +22 -18
- package/dist/team-filterable-search.js +22 -18
- package/dist/team-gradient-cards.cjs +17 -13
- package/dist/team-gradient-cards.js +17 -13
- package/dist/team-grid-animated.cjs +18 -14
- package/dist/team-grid-animated.js +18 -14
- package/dist/team-hover-highlight.cjs +17 -13
- package/dist/team-hover-highlight.js +17 -13
- package/dist/team-hover-overlay.cjs +17 -13
- package/dist/team-hover-overlay.js +17 -13
- package/dist/team-large-images.cjs +17 -13
- package/dist/team-large-images.js +17 -13
- package/dist/team-role-filter.cjs +20 -16
- package/dist/team-role-filter.js +20 -16
- package/dist/team-skill-badges.cjs +17 -13
- package/dist/team-skill-badges.js +17 -13
- package/dist/team-social-cards.cjs +17 -13
- package/dist/team-social-cards.js +17 -13
- package/dist/team-social-grid.cjs +17 -13
- package/dist/team-social-grid.js +17 -13
- package/dist/team-testimonial-stats.cjs +17 -13
- package/dist/team-testimonial-stats.js +17 -13
- package/dist/testimonial-carousel-cards.cjs +33 -29
- package/dist/testimonial-carousel-cards.js +26 -22
- package/dist/testimonials-animated-split.cjs +9 -7
- package/dist/testimonials-animated-split.js +10 -5
- package/dist/testimonials-bento-grid.cjs +9 -7
- package/dist/testimonials-bento-grid.js +10 -5
- package/dist/testimonials-carousel-image.cjs +18 -14
- package/dist/testimonials-carousel-image.js +13 -9
- package/dist/testimonials-company-logo.cjs +26 -6
- package/dist/testimonials-company-logo.js +10 -5
- package/dist/testimonials-grid-add-review.cjs +9 -7
- package/dist/testimonials-grid-add-review.js +10 -5
- package/dist/testimonials-images-helpful.cjs +21 -17
- package/dist/testimonials-images-helpful.js +16 -12
- package/dist/testimonials-large-quote.cjs +9 -7
- package/dist/testimonials-large-quote.js +10 -5
- package/dist/testimonials-list-verified.cjs +9 -7
- package/dist/testimonials-list-verified.js +10 -5
- package/dist/testimonials-mini-dividers.cjs +9 -7
- package/dist/testimonials-mini-dividers.js +10 -5
- package/dist/testimonials-minimal-numbered.cjs +9 -7
- package/dist/testimonials-minimal-numbered.js +10 -5
- package/dist/testimonials-quote-carousel.cjs +31 -27
- package/dist/testimonials-quote-carousel.js +26 -22
- package/dist/testimonials-scrolling-columns.cjs +26 -6
- package/dist/testimonials-scrolling-columns.js +10 -5
- package/dist/testimonials-split-image.cjs +9 -7
- package/dist/testimonials-split-image.js +10 -5
- package/dist/testimonials-stats-header.cjs +9 -7
- package/dist/testimonials-stats-header.js +10 -5
- package/dist/testimonials-twitter-cards.cjs +19 -15
- package/dist/testimonials-twitter-cards.js +16 -12
- package/dist/timeline-ai-workflow-cards.cjs +27 -7
- package/dist/timeline-ai-workflow-cards.js +10 -5
- package/dist/timeline-alternating-diagonal.cjs +12 -8
- package/dist/timeline-alternating-diagonal.js +12 -8
- package/dist/timeline-horizontal-icons.cjs +10 -8
- package/dist/timeline-horizontal-icons.js +10 -5
- package/dist/timeline-productivity-list.cjs +27 -7
- package/dist/timeline-productivity-list.js +10 -5
- package/dist/timeline-stepper-animated.cjs +22 -18
- package/dist/timeline-stepper-animated.js +21 -17
- package/dist/timeline-tabbed-phases.cjs +6 -2
- package/dist/timeline-tabbed-phases.js +6 -2
- package/dist/timeline-vertical-icon-dashed.cjs +6 -2
- package/dist/timeline-vertical-icon-dashed.js +6 -2
- package/package.json +3 -3
package/dist/components.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React6 = require('react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
|
|
|
36
36
|
return Object.freeze(n);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
|
|
40
40
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
41
41
|
var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
|
|
42
42
|
|
|
@@ -83,7 +83,7 @@ var maxWidthStyles = {
|
|
|
83
83
|
"4xl": "max-w-[1536px]",
|
|
84
84
|
full: "max-w-full"
|
|
85
85
|
};
|
|
86
|
-
var Container =
|
|
86
|
+
var Container = React6__namespace.default.forwardRef(
|
|
87
87
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
88
88
|
const Component = as;
|
|
89
89
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -389,7 +389,7 @@ var spacingStyles = {
|
|
|
389
389
|
};
|
|
390
390
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
391
391
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
392
|
-
var Section =
|
|
392
|
+
var Section = React6__namespace.default.forwardRef(
|
|
393
393
|
({
|
|
394
394
|
id,
|
|
395
395
|
title,
|
|
@@ -525,7 +525,7 @@ function useNavigation({
|
|
|
525
525
|
href,
|
|
526
526
|
onClick
|
|
527
527
|
} = {}) {
|
|
528
|
-
const linkType =
|
|
528
|
+
const linkType = React6__namespace.useMemo(() => {
|
|
529
529
|
if (!href || href.trim() === "") {
|
|
530
530
|
return onClick ? "none" : "none";
|
|
531
531
|
}
|
|
@@ -546,7 +546,7 @@ function useNavigation({
|
|
|
546
546
|
return "internal";
|
|
547
547
|
}
|
|
548
548
|
}, [href, onClick]);
|
|
549
|
-
const normalizedHref =
|
|
549
|
+
const normalizedHref = React6__namespace.useMemo(() => {
|
|
550
550
|
if (!href || href.trim() === "") {
|
|
551
551
|
return void 0;
|
|
552
552
|
}
|
|
@@ -564,7 +564,7 @@ function useNavigation({
|
|
|
564
564
|
return trimmed;
|
|
565
565
|
}
|
|
566
566
|
}, [href, linkType]);
|
|
567
|
-
const target =
|
|
567
|
+
const target = React6__namespace.useMemo(() => {
|
|
568
568
|
switch (linkType) {
|
|
569
569
|
case "external":
|
|
570
570
|
return "_blank";
|
|
@@ -577,7 +577,7 @@ function useNavigation({
|
|
|
577
577
|
return void 0;
|
|
578
578
|
}
|
|
579
579
|
}, [linkType]);
|
|
580
|
-
const rel =
|
|
580
|
+
const rel = React6__namespace.useMemo(() => {
|
|
581
581
|
if (linkType === "external") {
|
|
582
582
|
return "noopener noreferrer";
|
|
583
583
|
}
|
|
@@ -586,7 +586,7 @@ function useNavigation({
|
|
|
586
586
|
const isExternal = linkType === "external";
|
|
587
587
|
const isInternal = linkType === "internal";
|
|
588
588
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
589
|
-
const handleClick =
|
|
589
|
+
const handleClick = React6__namespace.useCallback(
|
|
590
590
|
(event) => {
|
|
591
591
|
if (onClick) {
|
|
592
592
|
try {
|
|
@@ -770,7 +770,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
770
770
|
size: "default"
|
|
771
771
|
}
|
|
772
772
|
});
|
|
773
|
-
var Pressable =
|
|
773
|
+
var Pressable = React6__namespace.forwardRef(
|
|
774
774
|
({
|
|
775
775
|
children,
|
|
776
776
|
className,
|
|
@@ -869,9 +869,13 @@ var Pressable = React5__namespace.forwardRef(
|
|
|
869
869
|
);
|
|
870
870
|
Pressable.displayName = "Pressable";
|
|
871
871
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
872
|
-
|
|
872
|
+
var DynamicIcon = React6__namespace.memo(function DynamicIcon2({
|
|
873
|
+
apiKey,
|
|
874
|
+
...props
|
|
875
|
+
}) {
|
|
873
876
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
874
|
-
}
|
|
877
|
+
});
|
|
878
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
875
879
|
var PANEL_POSITION_CLASS = {
|
|
876
880
|
"top-left": "left-4 top-4",
|
|
877
881
|
"top-right": "right-4 top-4",
|
|
@@ -963,12 +967,20 @@ function MarkerMediaCarousel({
|
|
|
963
967
|
mediaItems,
|
|
964
968
|
optixFlowConfig
|
|
965
969
|
}) {
|
|
966
|
-
const [activeIndex, setActiveIndex] =
|
|
970
|
+
const [activeIndex, setActiveIndex] = React6__namespace.useState(0);
|
|
967
971
|
const totalItems = mediaItems.length;
|
|
968
|
-
|
|
972
|
+
const mediaResetKey = React6__namespace.useMemo(
|
|
973
|
+
() => mediaItems.map((item, index) => {
|
|
974
|
+
const itemId = normalizeId(item.id, `media-${index}`);
|
|
975
|
+
return `${itemId}:${item.src}:${item.type ?? ""}:${item.poster ?? ""}`;
|
|
976
|
+
}).join("|"),
|
|
977
|
+
[mediaItems]
|
|
978
|
+
);
|
|
979
|
+
const activeItemIndex = Math.min(activeIndex, Math.max(0, totalItems - 1));
|
|
980
|
+
React6__namespace.useEffect(() => {
|
|
969
981
|
setActiveIndex(0);
|
|
970
|
-
}, [
|
|
971
|
-
const activeMediaItem = mediaItems[
|
|
982
|
+
}, [mediaResetKey]);
|
|
983
|
+
const activeMediaItem = mediaItems[activeItemIndex];
|
|
972
984
|
const mediaType = resolveMediaType(activeMediaItem);
|
|
973
985
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
|
|
974
986
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-44 w-full overflow-hidden", children: mediaType === "video" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1002,7 +1014,7 @@ function MarkerMediaCarousel({
|
|
|
1002
1014
|
(current) => (current - 1 + totalItems) % totalItems
|
|
1003
1015
|
);
|
|
1004
1016
|
},
|
|
1005
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left" })
|
|
1017
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left", size: 16 })
|
|
1006
1018
|
}
|
|
1007
1019
|
),
|
|
1008
1020
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1014,7 +1026,7 @@ function MarkerMediaCarousel({
|
|
|
1014
1026
|
onClick: () => {
|
|
1015
1027
|
setActiveIndex((current) => (current + 1) % totalItems);
|
|
1016
1028
|
},
|
|
1017
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right" })
|
|
1029
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
1018
1030
|
}
|
|
1019
1031
|
),
|
|
1020
1032
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5", children: mediaItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1024,7 +1036,7 @@ function MarkerMediaCarousel({
|
|
|
1024
1036
|
"aria-label": `Show media item ${index + 1}`,
|
|
1025
1037
|
className: cn(
|
|
1026
1038
|
"h-2 rounded-full transition-all",
|
|
1027
|
-
index ===
|
|
1039
|
+
index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
|
|
1028
1040
|
),
|
|
1029
1041
|
onClick: () => setActiveIndex(index)
|
|
1030
1042
|
},
|
|
@@ -1073,14 +1085,14 @@ function GeoMap({
|
|
|
1073
1085
|
mapChildren,
|
|
1074
1086
|
optixFlowConfig
|
|
1075
1087
|
}) {
|
|
1076
|
-
const normalizedStandaloneMarkers =
|
|
1088
|
+
const normalizedStandaloneMarkers = React6__namespace.useMemo(
|
|
1077
1089
|
() => markers.map((marker, index) => ({
|
|
1078
1090
|
...marker,
|
|
1079
1091
|
id: normalizeId(marker.id, `marker-${index}`)
|
|
1080
1092
|
})),
|
|
1081
1093
|
[markers]
|
|
1082
1094
|
);
|
|
1083
|
-
const normalizedClusters =
|
|
1095
|
+
const normalizedClusters = React6__namespace.useMemo(() => {
|
|
1084
1096
|
const results = [];
|
|
1085
1097
|
clusters.forEach((cluster, clusterIndex) => {
|
|
1086
1098
|
const clusterId = normalizeId(cluster.id, `cluster-${clusterIndex}`);
|
|
@@ -1105,7 +1117,7 @@ function GeoMap({
|
|
|
1105
1117
|
});
|
|
1106
1118
|
return results;
|
|
1107
1119
|
}, [clusters]);
|
|
1108
|
-
const markerLookup =
|
|
1120
|
+
const markerLookup = React6__namespace.useMemo(() => {
|
|
1109
1121
|
const lookup = /* @__PURE__ */ new Map();
|
|
1110
1122
|
normalizedStandaloneMarkers.forEach((marker) => {
|
|
1111
1123
|
lookup.set(marker.id, marker);
|
|
@@ -1117,14 +1129,14 @@ function GeoMap({
|
|
|
1117
1129
|
});
|
|
1118
1130
|
return lookup;
|
|
1119
1131
|
}, [normalizedClusters, normalizedStandaloneMarkers]);
|
|
1120
|
-
const clusterLookup =
|
|
1132
|
+
const clusterLookup = React6__namespace.useMemo(() => {
|
|
1121
1133
|
const lookup = /* @__PURE__ */ new Map();
|
|
1122
1134
|
normalizedClusters.forEach((cluster) => {
|
|
1123
1135
|
lookup.set(cluster.id, cluster);
|
|
1124
1136
|
});
|
|
1125
1137
|
return lookup;
|
|
1126
1138
|
}, [normalizedClusters]);
|
|
1127
|
-
const firstCoordinate =
|
|
1139
|
+
const firstCoordinate = React6__namespace.useMemo(() => {
|
|
1128
1140
|
if (normalizedStandaloneMarkers.length > 0) {
|
|
1129
1141
|
const firstStandaloneMarker = normalizedStandaloneMarkers[0];
|
|
1130
1142
|
return {
|
|
@@ -1144,23 +1156,27 @@ function GeoMap({
|
|
|
1144
1156
|
longitude: DEFAULT_VIEW_STATE.longitude
|
|
1145
1157
|
};
|
|
1146
1158
|
}, [normalizedClusters, normalizedStandaloneMarkers]);
|
|
1147
|
-
const [uncontrolledViewState, setUncontrolledViewState] =
|
|
1159
|
+
const [uncontrolledViewState, setUncontrolledViewState] = React6__namespace.useState({
|
|
1148
1160
|
latitude: defaultViewState?.latitude ?? firstCoordinate.latitude,
|
|
1149
1161
|
longitude: defaultViewState?.longitude ?? firstCoordinate.longitude,
|
|
1150
1162
|
zoom: defaultViewState?.zoom ?? DEFAULT_VIEW_STATE.zoom
|
|
1151
1163
|
});
|
|
1152
1164
|
const isControlledViewState = viewState !== void 0;
|
|
1153
1165
|
const resolvedViewState = isControlledViewState ? viewState : uncontrolledViewState;
|
|
1154
|
-
const applyViewState =
|
|
1166
|
+
const applyViewState = React6__namespace.useCallback(
|
|
1155
1167
|
(nextState) => {
|
|
1156
1168
|
if (!isControlledViewState) {
|
|
1157
|
-
setUncontrolledViewState((current) =>
|
|
1169
|
+
setUncontrolledViewState((current) => {
|
|
1170
|
+
const next = { ...current, ...nextState };
|
|
1171
|
+
const hasChanged = current.latitude !== next.latitude || current.longitude !== next.longitude || current.zoom !== next.zoom;
|
|
1172
|
+
return hasChanged ? next : current;
|
|
1173
|
+
});
|
|
1158
1174
|
}
|
|
1159
1175
|
onViewStateChange?.(nextState);
|
|
1160
1176
|
},
|
|
1161
1177
|
[isControlledViewState, onViewStateChange]
|
|
1162
1178
|
);
|
|
1163
|
-
const [selection, setSelection] =
|
|
1179
|
+
const [selection, setSelection] = React6__namespace.useState(() => {
|
|
1164
1180
|
if (initialSelectedMarkerId !== void 0 && initialSelectedMarkerId !== null) {
|
|
1165
1181
|
return {
|
|
1166
1182
|
type: "marker",
|
|
@@ -1169,7 +1185,7 @@ function GeoMap({
|
|
|
1169
1185
|
}
|
|
1170
1186
|
return { type: "none" };
|
|
1171
1187
|
});
|
|
1172
|
-
|
|
1188
|
+
React6__namespace.useEffect(() => {
|
|
1173
1189
|
if (selectedMarkerId === void 0 || selectedMarkerId === null) {
|
|
1174
1190
|
return;
|
|
1175
1191
|
}
|
|
@@ -1180,13 +1196,13 @@ function GeoMap({
|
|
|
1180
1196
|
}, [selectedMarkerId]);
|
|
1181
1197
|
const selectedMarker = selection.markerId ? markerLookup.get(selection.markerId) : void 0;
|
|
1182
1198
|
const selectedCluster = selection.clusterId ? clusterLookup.get(selection.clusterId) : void 0;
|
|
1183
|
-
|
|
1199
|
+
React6__namespace.useEffect(() => {
|
|
1184
1200
|
if (selection.type === "marker" && selection.markerId && !selectedMarker) {
|
|
1185
1201
|
setSelection({ type: "none" });
|
|
1186
1202
|
onSelectionChange?.({ type: "none" });
|
|
1187
1203
|
}
|
|
1188
1204
|
}, [onSelectionChange, selectedMarker, selection]);
|
|
1189
|
-
const emitSelectionChange =
|
|
1205
|
+
const emitSelectionChange = React6__namespace.useCallback(
|
|
1190
1206
|
(nextSelection) => {
|
|
1191
1207
|
if (nextSelection.type === "none") {
|
|
1192
1208
|
onSelectionChange?.({ type: "none" });
|
|
@@ -1208,7 +1224,7 @@ function GeoMap({
|
|
|
1208
1224
|
},
|
|
1209
1225
|
[clusterLookup, onSelectionChange]
|
|
1210
1226
|
);
|
|
1211
|
-
const selectMarker =
|
|
1227
|
+
const selectMarker = React6__namespace.useCallback(
|
|
1212
1228
|
(marker) => {
|
|
1213
1229
|
setSelection({
|
|
1214
1230
|
type: "marker",
|
|
@@ -1224,7 +1240,7 @@ function GeoMap({
|
|
|
1224
1240
|
},
|
|
1225
1241
|
[applyViewState, emitSelectionChange, markerFocusZoom]
|
|
1226
1242
|
);
|
|
1227
|
-
const selectCluster =
|
|
1243
|
+
const selectCluster = React6__namespace.useCallback(
|
|
1228
1244
|
(cluster) => {
|
|
1229
1245
|
setSelection({
|
|
1230
1246
|
type: "cluster",
|
|
@@ -1239,11 +1255,11 @@ function GeoMap({
|
|
|
1239
1255
|
},
|
|
1240
1256
|
[applyViewState, clusterFocusZoom, emitSelectionChange]
|
|
1241
1257
|
);
|
|
1242
|
-
const clearSelection =
|
|
1258
|
+
const clearSelection = React6__namespace.useCallback(() => {
|
|
1243
1259
|
setSelection({ type: "none" });
|
|
1244
1260
|
emitSelectionChange({ type: "none" });
|
|
1245
1261
|
}, [emitSelectionChange]);
|
|
1246
|
-
const mapMarkers =
|
|
1262
|
+
const mapMarkers = React6__namespace.useMemo(() => {
|
|
1247
1263
|
const resolvedMarkers = [];
|
|
1248
1264
|
normalizedClusters.forEach((cluster) => {
|
|
1249
1265
|
const isSelected = selection.type === "cluster" && selection.clusterId === cluster.id;
|
|
@@ -1352,7 +1368,7 @@ function GeoMap({
|
|
|
1352
1368
|
"aria-label": "Close marker details",
|
|
1353
1369
|
className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
|
|
1354
1370
|
onClick: clearSelection,
|
|
1355
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x" })
|
|
1371
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1356
1372
|
}
|
|
1357
1373
|
),
|
|
1358
1374
|
markerMediaItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1368,36 +1384,40 @@ function GeoMap({
|
|
|
1368
1384
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold leading-tight", children: selectedMarker.title ?? selectedMarker.label ?? "Location" })
|
|
1369
1385
|
] }) }),
|
|
1370
1386
|
selectedMarker.summary ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm leading-relaxed", children: selectedMarker.summary }) : null,
|
|
1371
|
-
selectedMarker.locationLine ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1387
|
+
selectedMarker.locationLine ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
|
|
1388
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1389
|
+
DynamicIcon,
|
|
1390
|
+
{
|
|
1391
|
+
name: "lucide:map-pin",
|
|
1392
|
+
className: "opacity-50",
|
|
1393
|
+
size: 14
|
|
1394
|
+
}
|
|
1395
|
+
),
|
|
1396
|
+
typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1397
|
+
Pressable,
|
|
1398
|
+
{
|
|
1399
|
+
href: selectedMarker.locationUrl,
|
|
1400
|
+
className: cn(
|
|
1401
|
+
"transition-all duration-500",
|
|
1402
|
+
"font-medium opacity-75 hover:opacity-100",
|
|
1403
|
+
selectedMarker.locationUrl ? "underline underline-offset-4" : ""
|
|
1384
1404
|
),
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
) : null,
|
|
1405
|
+
children: selectedMarker.locationLine
|
|
1406
|
+
}
|
|
1407
|
+
) : selectedMarker.locationLine
|
|
1408
|
+
] }) : null,
|
|
1389
1409
|
selectedMarker.hoursLine ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
|
|
1390
1410
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1391
1411
|
DynamicIcon,
|
|
1392
1412
|
{
|
|
1393
1413
|
name: "lucide:clock",
|
|
1394
1414
|
className: "opacity-50",
|
|
1395
|
-
size:
|
|
1415
|
+
size: 14
|
|
1396
1416
|
}
|
|
1397
1417
|
),
|
|
1398
1418
|
typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
|
|
1399
1419
|
] }) : null,
|
|
1400
|
-
selectedMarker.markerContentComponent ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1420
|
+
selectedMarker.markerContentComponent ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: selectedMarker.markerContentComponent }) : null,
|
|
1401
1421
|
/* @__PURE__ */ jsxRuntime.jsx(MarkerActions, { actions: selectedMarker.actions })
|
|
1402
1422
|
] })
|
|
1403
1423
|
]
|
|
@@ -1420,7 +1440,7 @@ function GeoMap({
|
|
|
1420
1440
|
"aria-label": "Close cluster details",
|
|
1421
1441
|
className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
|
|
1422
1442
|
onClick: clearSelection,
|
|
1423
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x" })
|
|
1443
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1424
1444
|
}
|
|
1425
1445
|
),
|
|
1426
1446
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
@@ -1521,15 +1541,15 @@ function AnimatedDialog({
|
|
|
1521
1541
|
contentClassName,
|
|
1522
1542
|
featuredMediaHeader
|
|
1523
1543
|
}) {
|
|
1524
|
-
const titleId =
|
|
1525
|
-
const descriptionId =
|
|
1526
|
-
const containerRef =
|
|
1544
|
+
const titleId = React6.useId();
|
|
1545
|
+
const descriptionId = React6.useId();
|
|
1546
|
+
const containerRef = React6.useRef(null);
|
|
1527
1547
|
useOnClickOutside.useOnClickOutside(containerRef, () => {
|
|
1528
1548
|
if (open) {
|
|
1529
1549
|
onOpenChange(false);
|
|
1530
1550
|
}
|
|
1531
1551
|
});
|
|
1532
|
-
|
|
1552
|
+
React6.useEffect(() => {
|
|
1533
1553
|
if (!open) {
|
|
1534
1554
|
return;
|
|
1535
1555
|
}
|
|
@@ -1852,10 +1872,10 @@ var ImageSlider = ({
|
|
|
1852
1872
|
optixFlowConfig
|
|
1853
1873
|
}) => {
|
|
1854
1874
|
const hasImages = images.length > 0;
|
|
1855
|
-
const [currentIndex, setCurrentIndex] =
|
|
1875
|
+
const [currentIndex, setCurrentIndex] = React6__namespace.useState(
|
|
1856
1876
|
() => normalizeIndex(startIndex, images.length)
|
|
1857
1877
|
);
|
|
1858
|
-
const handleNext =
|
|
1878
|
+
const handleNext = React6__namespace.useCallback(() => {
|
|
1859
1879
|
if (!hasImages) return;
|
|
1860
1880
|
setCurrentIndex((prevIndex) => {
|
|
1861
1881
|
const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
|
|
@@ -1863,7 +1883,7 @@ var ImageSlider = ({
|
|
|
1863
1883
|
return nextIndex;
|
|
1864
1884
|
});
|
|
1865
1885
|
}, [hasImages, images.length, onSlideChange]);
|
|
1866
|
-
const handlePrevious =
|
|
1886
|
+
const handlePrevious = React6__namespace.useCallback(() => {
|
|
1867
1887
|
if (!hasImages) return;
|
|
1868
1888
|
setCurrentIndex((prevIndex) => {
|
|
1869
1889
|
const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
|
|
@@ -1871,11 +1891,11 @@ var ImageSlider = ({
|
|
|
1871
1891
|
return nextIndex;
|
|
1872
1892
|
});
|
|
1873
1893
|
}, [hasImages, images.length, onSlideChange]);
|
|
1874
|
-
|
|
1894
|
+
React6__namespace.useEffect(() => {
|
|
1875
1895
|
if (!hasImages) return;
|
|
1876
1896
|
setCurrentIndex(normalizeIndex(startIndex, images.length));
|
|
1877
1897
|
}, [startIndex, images.length, hasImages]);
|
|
1878
|
-
|
|
1898
|
+
React6__namespace.useEffect(() => {
|
|
1879
1899
|
if (!enableKeyboard || !hasImages) return;
|
|
1880
1900
|
const handleKeyDown = (event) => {
|
|
1881
1901
|
if (event.key === "ArrowRight") {
|
|
@@ -1889,7 +1909,7 @@ var ImageSlider = ({
|
|
|
1889
1909
|
window.removeEventListener("keydown", handleKeyDown);
|
|
1890
1910
|
};
|
|
1891
1911
|
}, [enableKeyboard, handleNext, handlePrevious, hasImages]);
|
|
1892
|
-
|
|
1912
|
+
React6__namespace.useEffect(() => {
|
|
1893
1913
|
if (!autoplay || images.length < 2) return;
|
|
1894
1914
|
const interval = window.setInterval(handleNext, autoplayIntervalMs);
|
|
1895
1915
|
return () => window.clearInterval(interval);
|
|
@@ -2200,7 +2220,7 @@ var platformIconMap = {
|
|
|
2200
2220
|
dribbble: "cib/dribbble",
|
|
2201
2221
|
unknown: "icon-park-solid/circular-connection"
|
|
2202
2222
|
};
|
|
2203
|
-
var SocialLinkIcon =
|
|
2223
|
+
var SocialLinkIcon = React6__namespace.forwardRef(
|
|
2204
2224
|
({
|
|
2205
2225
|
platformName,
|
|
2206
2226
|
label,
|
|
@@ -2213,13 +2233,13 @@ var SocialLinkIcon = React5__namespace.forwardRef(
|
|
|
2213
2233
|
...pressableProps
|
|
2214
2234
|
}, ref) => {
|
|
2215
2235
|
const platform = usePlatformFromUrl.usePlatformFromUrl(href);
|
|
2216
|
-
const smartPlatformName =
|
|
2236
|
+
const smartPlatformName = React6__namespace.useMemo(() => {
|
|
2217
2237
|
return platform || platformName;
|
|
2218
2238
|
}, [platform, platformName]);
|
|
2219
|
-
const iconName =
|
|
2239
|
+
const iconName = React6__namespace.useMemo(() => {
|
|
2220
2240
|
return iconNameOverride || platformIconMap[smartPlatformName];
|
|
2221
2241
|
}, [iconNameOverride, smartPlatformName]);
|
|
2222
|
-
const accessibleLabel =
|
|
2242
|
+
const accessibleLabel = React6__namespace.useMemo(() => {
|
|
2223
2243
|
return label || platformName;
|
|
2224
2244
|
}, [label, platformName]);
|
|
2225
2245
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2296,12 +2316,12 @@ function TextInner({ as, className, children, ...props }, ref) {
|
|
|
2296
2316
|
const Component = as || "span";
|
|
2297
2317
|
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cn(className), ...props, children });
|
|
2298
2318
|
}
|
|
2299
|
-
var Text =
|
|
2319
|
+
var Text = React6__namespace.forwardRef(TextInner);
|
|
2300
2320
|
Text.displayName = "Text";
|
|
2301
2321
|
function isContentTextItem(item) {
|
|
2302
|
-
return item !== null && typeof item === "object" && !
|
|
2322
|
+
return item !== null && typeof item === "object" && !React6__namespace.isValidElement(item) && "_type" in item && item._type === "text";
|
|
2303
2323
|
}
|
|
2304
|
-
var ContentGroup =
|
|
2324
|
+
var ContentGroup = React6__namespace.forwardRef(
|
|
2305
2325
|
({ items, className, children, ...props }, ref) => {
|
|
2306
2326
|
const hasContent = items && items.length > 0;
|
|
2307
2327
|
if (!hasContent) {
|
|
@@ -2314,10 +2334,10 @@ var ContentGroup = React5__namespace.forwardRef(
|
|
|
2314
2334
|
return /* @__PURE__ */ jsxRuntime.jsx(Text, { ...textProps }, idx);
|
|
2315
2335
|
}
|
|
2316
2336
|
const reactNode = item;
|
|
2317
|
-
if (
|
|
2318
|
-
return
|
|
2337
|
+
if (React6__namespace.isValidElement(reactNode)) {
|
|
2338
|
+
return React6__namespace.cloneElement(reactNode, { key: reactNode.key ?? idx });
|
|
2319
2339
|
}
|
|
2320
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2340
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React6__namespace.Fragment, { children: reactNode }, idx);
|
|
2321
2341
|
}),
|
|
2322
2342
|
children
|
|
2323
2343
|
] });
|
|
@@ -2341,7 +2361,7 @@ function AlternatingBlocks({
|
|
|
2341
2361
|
pattern,
|
|
2342
2362
|
patternOpacity
|
|
2343
2363
|
}) {
|
|
2344
|
-
const sectionsContent =
|
|
2364
|
+
const sectionsContent = React6.useMemo(() => {
|
|
2345
2365
|
if (sectionsSlot) return sectionsSlot;
|
|
2346
2366
|
if (!sections || sections.length === 0) return null;
|
|
2347
2367
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-12", sectionsClassName), children: sections.map((section, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2385,7 +2405,7 @@ function AlternatingBlocks({
|
|
|
2385
2405
|
sectionContentClassName,
|
|
2386
2406
|
sectionMediaClassName
|
|
2387
2407
|
]);
|
|
2388
|
-
const headerItems =
|
|
2408
|
+
const headerItems = React6.useMemo(() => {
|
|
2389
2409
|
const items = [];
|
|
2390
2410
|
if (subtitle) {
|
|
2391
2411
|
items.push(
|
|
@@ -2454,7 +2474,7 @@ function AboutSplitHero({
|
|
|
2454
2474
|
patternOpacity,
|
|
2455
2475
|
directionConfig = { desktop: "mediaRight", mobile: "mediaTop" }
|
|
2456
2476
|
}) {
|
|
2457
|
-
const ctaContent =
|
|
2477
|
+
const ctaContent = React6.useMemo(() => {
|
|
2458
2478
|
if (ctaSlot) return ctaSlot;
|
|
2459
2479
|
if (!ctaAction) return null;
|
|
2460
2480
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2476,7 +2496,7 @@ function AboutSplitHero({
|
|
|
2476
2496
|
}
|
|
2477
2497
|
);
|
|
2478
2498
|
}, [ctaSlot, ctaAction, ctaClassName]);
|
|
2479
|
-
const bgColorClass =
|
|
2499
|
+
const bgColorClass = React6.useMemo(() => {
|
|
2480
2500
|
switch (background) {
|
|
2481
2501
|
case "dark":
|
|
2482
2502
|
return "bg-foreground text-background";
|
|
@@ -2604,7 +2624,7 @@ function AboutMissionPrinciples({
|
|
|
2604
2624
|
pattern,
|
|
2605
2625
|
patternOpacity
|
|
2606
2626
|
}) {
|
|
2607
|
-
const missionActionContent =
|
|
2627
|
+
const missionActionContent = React6.useMemo(() => {
|
|
2608
2628
|
if (missionActionSlot) return missionActionSlot;
|
|
2609
2629
|
if (!missionAction) return null;
|
|
2610
2630
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2", missionActionClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2629,7 +2649,7 @@ function AboutMissionPrinciples({
|
|
|
2629
2649
|
}
|
|
2630
2650
|
) });
|
|
2631
2651
|
}, [missionActionSlot, missionAction, missionActionClassName]);
|
|
2632
|
-
const principlesContent =
|
|
2652
|
+
const principlesContent = React6.useMemo(() => {
|
|
2633
2653
|
if (principlesSlot) return principlesSlot;
|
|
2634
2654
|
if (!principles || principles.length === 0) return null;
|
|
2635
2655
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2667,7 +2687,7 @@ function AboutMissionPrinciples({
|
|
|
2667
2687
|
}
|
|
2668
2688
|
);
|
|
2669
2689
|
}, [principlesSlot, principles, principlesClassName]);
|
|
2670
|
-
const visionActionContent =
|
|
2690
|
+
const visionActionContent = React6.useMemo(() => {
|
|
2671
2691
|
if (visionActionSlot) return visionActionSlot;
|
|
2672
2692
|
if (!visionAction) return null;
|
|
2673
2693
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2842,11 +2862,11 @@ function AboutExpandableValues({
|
|
|
2842
2862
|
pattern,
|
|
2843
2863
|
patternOpacity
|
|
2844
2864
|
}) {
|
|
2845
|
-
const [expandedValue, setExpandedValue] =
|
|
2846
|
-
const toggleExpand =
|
|
2865
|
+
const [expandedValue, setExpandedValue] = React6__namespace.useState(null);
|
|
2866
|
+
const toggleExpand = React6.useCallback((id) => {
|
|
2847
2867
|
setExpandedValue((prev) => prev === id ? null : id);
|
|
2848
2868
|
}, []);
|
|
2849
|
-
|
|
2869
|
+
React6.useMemo(() => {
|
|
2850
2870
|
if (actionsSlot) return actionsSlot;
|
|
2851
2871
|
if (!actions || actions.length === 0) return null;
|
|
2852
2872
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2862,7 +2882,7 @@ function AboutExpandableValues({
|
|
|
2862
2882
|
idx
|
|
2863
2883
|
)) });
|
|
2864
2884
|
}, [actionsSlot, actions, actionsClassName]);
|
|
2865
|
-
const valuesContent =
|
|
2885
|
+
const valuesContent = React6.useMemo(() => {
|
|
2866
2886
|
if (valuesSlot) return valuesSlot;
|
|
2867
2887
|
if (!values || values.length === 0) return null;
|
|
2868
2888
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-6 mt-8", valuesClassName), children: values.map((value) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3078,17 +3098,17 @@ function CommunityInitiatives({
|
|
|
3078
3098
|
pattern,
|
|
3079
3099
|
patternOpacity
|
|
3080
3100
|
}) {
|
|
3081
|
-
const [activeCategory, setActiveCategory] =
|
|
3101
|
+
const [activeCategory, setActiveCategory] = React6__namespace.useState(
|
|
3082
3102
|
categories?.[0]?.id || ""
|
|
3083
3103
|
);
|
|
3084
3104
|
const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
|
|
3085
|
-
const handleCategoryChange =
|
|
3105
|
+
const handleCategoryChange = React6.useCallback(
|
|
3086
3106
|
(e) => {
|
|
3087
3107
|
setActiveCategory(e.target.value);
|
|
3088
3108
|
},
|
|
3089
3109
|
[]
|
|
3090
3110
|
);
|
|
3091
|
-
const categoriesContent =
|
|
3111
|
+
const categoriesContent = React6.useMemo(() => {
|
|
3092
3112
|
if (categoriesSlot) return categoriesSlot;
|
|
3093
3113
|
if (!categories || categories.length === 0) return null;
|
|
3094
3114
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3342,10 +3362,10 @@ function AboutCultureTabs({
|
|
|
3342
3362
|
patternOpacity
|
|
3343
3363
|
}) {
|
|
3344
3364
|
const resolvedAspects = aspects ?? [];
|
|
3345
|
-
const [activeTab, setActiveTab] =
|
|
3365
|
+
const [activeTab, setActiveTab] = React6__namespace.useState(
|
|
3346
3366
|
resolvedAspects[0]?.id || ""
|
|
3347
3367
|
);
|
|
3348
|
-
const headerItems =
|
|
3368
|
+
const headerItems = React6.useMemo(() => {
|
|
3349
3369
|
const items = [];
|
|
3350
3370
|
if (badgeText) {
|
|
3351
3371
|
if (typeof badgeText === "string") {
|
|
@@ -3392,7 +3412,7 @@ function AboutCultureTabs({
|
|
|
3392
3412
|
description,
|
|
3393
3413
|
descriptionClassName
|
|
3394
3414
|
]);
|
|
3395
|
-
const ctaImagesContent =
|
|
3415
|
+
const ctaImagesContent = React6.useMemo(() => {
|
|
3396
3416
|
if (ctaImagesSlot) return ctaImagesSlot;
|
|
3397
3417
|
if (!ctaImages || ctaImages.length === 0) return null;
|
|
3398
3418
|
return ctaImages.map((src, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3558,7 +3578,7 @@ function MediaHoverCtas({
|
|
|
3558
3578
|
optixFlowConfig
|
|
3559
3579
|
}) {
|
|
3560
3580
|
const resolvedItems = items ?? [];
|
|
3561
|
-
const itemsContent =
|
|
3581
|
+
const itemsContent = React6.useMemo(() => {
|
|
3562
3582
|
if (itemsSlot) return itemsSlot;
|
|
3563
3583
|
return resolvedItems.map((item, index) => {
|
|
3564
3584
|
const CardComponent = item.cardHref ? "a" : "div";
|
|
@@ -3648,13 +3668,13 @@ function BannerAnnouncementDismissible({
|
|
|
3648
3668
|
actionsClassName,
|
|
3649
3669
|
dismissButtonClassName
|
|
3650
3670
|
}) {
|
|
3651
|
-
const [isVisible, setIsVisible] =
|
|
3671
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
3652
3672
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
3653
|
-
const handleDismiss =
|
|
3673
|
+
const handleDismiss = React6.useCallback(() => {
|
|
3654
3674
|
setIsVisible(false);
|
|
3655
3675
|
onDismiss?.();
|
|
3656
3676
|
}, [onDismiss]);
|
|
3657
|
-
const actionsContent =
|
|
3677
|
+
const actionsContent = React6.useMemo(() => {
|
|
3658
3678
|
if (actionsSlot) return actionsSlot;
|
|
3659
3679
|
if (!actions || actions.length === 0) return null;
|
|
3660
3680
|
return actions.map((action, index) => {
|
|
@@ -3682,7 +3702,7 @@ function BannerAnnouncementDismissible({
|
|
|
3682
3702
|
);
|
|
3683
3703
|
});
|
|
3684
3704
|
}, [actions, actionsSlot]);
|
|
3685
|
-
const iconContent =
|
|
3705
|
+
const iconContent = React6.useMemo(() => {
|
|
3686
3706
|
if (icon) return icon;
|
|
3687
3707
|
if (!iconName) return null;
|
|
3688
3708
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3694,11 +3714,11 @@ function BannerAnnouncementDismissible({
|
|
|
3694
3714
|
}
|
|
3695
3715
|
);
|
|
3696
3716
|
}, [icon, iconName, iconClassName]);
|
|
3697
|
-
const dismissIconContent =
|
|
3717
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
3698
3718
|
if (dismissIcon) return dismissIcon;
|
|
3699
3719
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
3700
3720
|
}, [dismissIcon]);
|
|
3701
|
-
const messageContent =
|
|
3721
|
+
const messageContent = React6.useMemo(() => {
|
|
3702
3722
|
if (!message) return null;
|
|
3703
3723
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium text-sm", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: messageClassName, children: message });
|
|
3704
3724
|
}, [message, messageClassName]);
|
|
@@ -3744,12 +3764,12 @@ function BannerCountdownSale({
|
|
|
3744
3764
|
separatorClassName
|
|
3745
3765
|
}) {
|
|
3746
3766
|
const targetTime = endTime;
|
|
3747
|
-
const [timeLeft, setTimeLeft] =
|
|
3767
|
+
const [timeLeft, setTimeLeft] = React6.useState({
|
|
3748
3768
|
hours: 0,
|
|
3749
3769
|
minutes: 0,
|
|
3750
3770
|
seconds: 0
|
|
3751
3771
|
});
|
|
3752
|
-
|
|
3772
|
+
React6.useEffect(() => {
|
|
3753
3773
|
if (!targetTime) {
|
|
3754
3774
|
return;
|
|
3755
3775
|
}
|
|
@@ -3772,8 +3792,8 @@ function BannerCountdownSale({
|
|
|
3772
3792
|
}, 1e3);
|
|
3773
3793
|
return () => clearInterval(timer);
|
|
3774
3794
|
}, [targetTime]);
|
|
3775
|
-
const pad =
|
|
3776
|
-
const timerContent =
|
|
3795
|
+
const pad = React6.useCallback((n) => n.toString().padStart(2, "0"), []);
|
|
3796
|
+
const timerContent = React6.useMemo(() => {
|
|
3777
3797
|
if (timerSlot) return timerSlot;
|
|
3778
3798
|
if (renderTimer) return renderTimer(timeLeft);
|
|
3779
3799
|
if (!targetTime) return null;
|
|
@@ -3785,11 +3805,11 @@ function BannerCountdownSale({
|
|
|
3785
3805
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded bg-destructive px-2 py-0.5", timeUnitClassName), children: pad(timeLeft.seconds) })
|
|
3786
3806
|
] });
|
|
3787
3807
|
}, [timerSlot, renderTimer, timeLeft, timerClassName, timeUnitClassName, separatorClassName, pad, targetTime]);
|
|
3788
|
-
const messageContent =
|
|
3808
|
+
const messageContent = React6.useMemo(() => {
|
|
3789
3809
|
if (!message) return null;
|
|
3790
3810
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: messageClassName, children: message });
|
|
3791
3811
|
}, [message, messageClassName]);
|
|
3792
|
-
const descriptionContent =
|
|
3812
|
+
const descriptionContent = React6.useMemo(() => {
|
|
3793
3813
|
if (!description) return null;
|
|
3794
3814
|
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-destructive-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description });
|
|
3795
3815
|
}, [description, descriptionClassName]);
|
|
@@ -3818,12 +3838,12 @@ function BannerDeliveryCountdown({
|
|
|
3818
3838
|
deliveryDateClassName
|
|
3819
3839
|
}) {
|
|
3820
3840
|
const targetTime = cutoffTime;
|
|
3821
|
-
const [timeLeft, setTimeLeft] =
|
|
3841
|
+
const [timeLeft, setTimeLeft] = React6.useState({
|
|
3822
3842
|
hours: 0,
|
|
3823
3843
|
minutes: 0,
|
|
3824
3844
|
seconds: 0
|
|
3825
3845
|
});
|
|
3826
|
-
|
|
3846
|
+
React6.useEffect(() => {
|
|
3827
3847
|
if (!targetTime) {
|
|
3828
3848
|
return;
|
|
3829
3849
|
}
|
|
@@ -3846,13 +3866,13 @@ function BannerDeliveryCountdown({
|
|
|
3846
3866
|
}, 1e3);
|
|
3847
3867
|
return () => clearInterval(timer);
|
|
3848
3868
|
}, [targetTime]);
|
|
3849
|
-
const pad =
|
|
3850
|
-
const iconContent =
|
|
3869
|
+
const pad = React6.useCallback((n) => n.toString().padStart(2, "0"), []);
|
|
3870
|
+
const iconContent = React6.useMemo(() => {
|
|
3851
3871
|
if (icon) return icon;
|
|
3852
3872
|
if (!iconName) return null;
|
|
3853
3873
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: iconName, size: 16, className: iconClassName });
|
|
3854
3874
|
}, [icon, iconName, iconClassName]);
|
|
3855
|
-
const timerContent =
|
|
3875
|
+
const timerContent = React6.useMemo(() => {
|
|
3856
3876
|
if (timerSlot) return timerSlot;
|
|
3857
3877
|
if (renderTimer) return renderTimer(timeLeft);
|
|
3858
3878
|
if (!targetTime) return null;
|
|
@@ -3864,18 +3884,18 @@ function BannerDeliveryCountdown({
|
|
|
3864
3884
|
pad(timeLeft.seconds)
|
|
3865
3885
|
] });
|
|
3866
3886
|
}, [timerSlot, renderTimer, timeLeft, timerClassName, pad, targetTime]);
|
|
3867
|
-
const deliveryDateContent =
|
|
3887
|
+
const deliveryDateContent = React6.useMemo(() => {
|
|
3868
3888
|
if (!deliveryDate) return null;
|
|
3869
3889
|
return typeof deliveryDate === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold", deliveryDateClassName), children: deliveryDate }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: deliveryDateClassName, children: deliveryDate });
|
|
3870
3890
|
}, [deliveryDate, deliveryDateClassName]);
|
|
3871
|
-
const messageParts =
|
|
3891
|
+
const messageParts = React6.useMemo(() => {
|
|
3872
3892
|
return [prefixText, timerContent, middleText, deliveryDateContent].filter(
|
|
3873
3893
|
(part) => part !== null && part !== void 0
|
|
3874
3894
|
);
|
|
3875
3895
|
}, [prefixText, timerContent, middleText, deliveryDateContent]);
|
|
3876
3896
|
return /* @__PURE__ */ jsxRuntime.jsx(Section, { background, spacing: "none", className: cn("bg-accent text-accent-foreground", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-3 text-sm", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2", messageClassName), children: [
|
|
3877
3897
|
iconContent,
|
|
3878
|
-
messageParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3898
|
+
messageParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxRuntime.jsxs(React6__namespace.Fragment, { children: [
|
|
3879
3899
|
index > 0 ? " " : null,
|
|
3880
3900
|
part
|
|
3881
3901
|
] }, index)) })
|
|
@@ -3897,7 +3917,7 @@ function BannerEventPromo({
|
|
|
3897
3917
|
eventDetailsClassName,
|
|
3898
3918
|
actionsClassName
|
|
3899
3919
|
}) {
|
|
3900
|
-
const actionsContent =
|
|
3920
|
+
const actionsContent = React6.useMemo(() => {
|
|
3901
3921
|
if (actionsSlot) return actionsSlot;
|
|
3902
3922
|
if (!actions || actions.length === 0) return null;
|
|
3903
3923
|
return actions.map((action, index) => {
|
|
@@ -3925,7 +3945,7 @@ function BannerEventPromo({
|
|
|
3925
3945
|
);
|
|
3926
3946
|
});
|
|
3927
3947
|
}, [actions, actionsSlot]);
|
|
3928
|
-
const separatorContent =
|
|
3948
|
+
const separatorContent = React6.useMemo(() => {
|
|
3929
3949
|
if (separator) return separator;
|
|
3930
3950
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3931
3951
|
"svg",
|
|
@@ -3937,11 +3957,11 @@ function BannerEventPromo({
|
|
|
3937
3957
|
}
|
|
3938
3958
|
);
|
|
3939
3959
|
}, [separator, separatorClassName]);
|
|
3940
|
-
const eventNameContent =
|
|
3960
|
+
const eventNameContent = React6.useMemo(() => {
|
|
3941
3961
|
if (!eventName) return null;
|
|
3942
3962
|
return typeof eventName === "string" ? /* @__PURE__ */ jsxRuntime.jsx("strong", { className: cn("font-semibold", eventNameClassName), children: eventName }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventNameClassName, children: eventName });
|
|
3943
3963
|
}, [eventName, eventNameClassName]);
|
|
3944
|
-
const eventDetailsContent =
|
|
3964
|
+
const eventDetailsContent = React6.useMemo(() => {
|
|
3945
3965
|
if (!eventDetails) return null;
|
|
3946
3966
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventDetailsClassName, children: eventDetails });
|
|
3947
3967
|
}, [eventDetails, eventDetailsClassName]);
|
|
@@ -3978,22 +3998,22 @@ function BannerFloatingOffer({
|
|
|
3978
3998
|
}) {
|
|
3979
3999
|
const isControlled = open !== void 0;
|
|
3980
4000
|
const initialOpen = defaultOpen ?? true;
|
|
3981
|
-
const [internalOpen, setInternalOpen] =
|
|
4001
|
+
const [internalOpen, setInternalOpen] = React6.useState(initialOpen);
|
|
3982
4002
|
const isVisible = isControlled ? open : internalOpen;
|
|
3983
4003
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
3984
4004
|
const isDismissible = dismissible ?? false;
|
|
3985
|
-
|
|
4005
|
+
React6.useEffect(() => {
|
|
3986
4006
|
if (!isControlled && defaultOpen !== internalOpen) {
|
|
3987
4007
|
setInternalOpen(initialOpen);
|
|
3988
4008
|
}
|
|
3989
4009
|
}, [defaultOpen, initialOpen, isControlled, internalOpen]);
|
|
3990
|
-
const handleDismiss =
|
|
4010
|
+
const handleDismiss = React6.useCallback(() => {
|
|
3991
4011
|
if (!isControlled) {
|
|
3992
4012
|
setInternalOpen(false);
|
|
3993
4013
|
}
|
|
3994
4014
|
onOpenChange?.(false);
|
|
3995
4015
|
}, [isControlled, onOpenChange]);
|
|
3996
|
-
const actionsContent =
|
|
4016
|
+
const actionsContent = React6.useMemo(() => {
|
|
3997
4017
|
if (actionsSlot) return actionsSlot;
|
|
3998
4018
|
if (!actions || actions.length === 0) return null;
|
|
3999
4019
|
return actions.map((action, index) => {
|
|
@@ -4021,7 +4041,7 @@ function BannerFloatingOffer({
|
|
|
4021
4041
|
);
|
|
4022
4042
|
});
|
|
4023
4043
|
}, [actions, actionsSlot]);
|
|
4024
|
-
const separatorContent =
|
|
4044
|
+
const separatorContent = React6.useMemo(() => {
|
|
4025
4045
|
if (separator) return separator;
|
|
4026
4046
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4027
4047
|
"svg",
|
|
@@ -4033,15 +4053,15 @@ function BannerFloatingOffer({
|
|
|
4033
4053
|
}
|
|
4034
4054
|
);
|
|
4035
4055
|
}, [separator, separatorClassName]);
|
|
4036
|
-
const dismissIconContent =
|
|
4056
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4037
4057
|
if (dismissIcon) return dismissIcon;
|
|
4038
4058
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4039
4059
|
}, [dismissIcon]);
|
|
4040
|
-
const offerTitleContent =
|
|
4060
|
+
const offerTitleContent = React6.useMemo(() => {
|
|
4041
4061
|
if (!offerTitle) return null;
|
|
4042
4062
|
return typeof offerTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("strong", { className: cn("font-semibold", offerTitleClassName), children: offerTitle }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: offerTitleClassName, children: offerTitle });
|
|
4043
4063
|
}, [offerTitle, offerTitleClassName]);
|
|
4044
|
-
const offerDescriptionContent =
|
|
4064
|
+
const offerDescriptionContent = React6.useMemo(() => {
|
|
4045
4065
|
if (!offerDescription) return null;
|
|
4046
4066
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: offerDescriptionClassName, children: offerDescription });
|
|
4047
4067
|
}, [offerDescription, offerDescriptionClassName]);
|
|
@@ -4102,13 +4122,13 @@ function BannerGdprRights({
|
|
|
4102
4122
|
actionsClassName,
|
|
4103
4123
|
dismissButtonClassName
|
|
4104
4124
|
}) {
|
|
4105
|
-
const [isVisible, setIsVisible] =
|
|
4125
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4106
4126
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4107
|
-
const handleDismiss =
|
|
4127
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4108
4128
|
setIsVisible(false);
|
|
4109
4129
|
onDismiss?.();
|
|
4110
4130
|
}, [onDismiss]);
|
|
4111
|
-
const iconContent =
|
|
4131
|
+
const iconContent = React6.useMemo(() => {
|
|
4112
4132
|
if (icon) return icon;
|
|
4113
4133
|
if (!iconName) return null;
|
|
4114
4134
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4120,7 +4140,7 @@ function BannerGdprRights({
|
|
|
4120
4140
|
}
|
|
4121
4141
|
);
|
|
4122
4142
|
}, [icon, iconName, iconClassName]);
|
|
4123
|
-
const actionsContent =
|
|
4143
|
+
const actionsContent = React6.useMemo(() => {
|
|
4124
4144
|
if (actionsSlot) return actionsSlot;
|
|
4125
4145
|
if (!actions || actions.length === 0) return null;
|
|
4126
4146
|
return actions.map((action, index) => {
|
|
@@ -4147,15 +4167,15 @@ function BannerGdprRights({
|
|
|
4147
4167
|
);
|
|
4148
4168
|
});
|
|
4149
4169
|
}, [actions, actionsSlot]);
|
|
4150
|
-
const dismissIconContent =
|
|
4170
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4151
4171
|
if (dismissIcon) return dismissIcon;
|
|
4152
4172
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4153
4173
|
}, [dismissIcon]);
|
|
4154
|
-
const titleContent =
|
|
4174
|
+
const titleContent = React6.useMemo(() => {
|
|
4155
4175
|
if (!title) return null;
|
|
4156
4176
|
return typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("font-semibold text-sm", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title });
|
|
4157
4177
|
}, [title, titleClassName]);
|
|
4158
|
-
const descriptionContent =
|
|
4178
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4159
4179
|
if (!description && !actionsContent) return null;
|
|
4160
4180
|
return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: [
|
|
4161
4181
|
description,
|
|
@@ -4209,13 +4229,13 @@ function BannerPrivacyNotice({
|
|
|
4209
4229
|
actionsClassName,
|
|
4210
4230
|
dismissButtonClassName
|
|
4211
4231
|
}) {
|
|
4212
|
-
const [isVisible, setIsVisible] =
|
|
4232
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4213
4233
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4214
|
-
const handleDismiss =
|
|
4234
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4215
4235
|
setIsVisible(false);
|
|
4216
4236
|
onDismiss?.();
|
|
4217
4237
|
}, [onDismiss]);
|
|
4218
|
-
const iconContent =
|
|
4238
|
+
const iconContent = React6.useMemo(() => {
|
|
4219
4239
|
if (icon) return icon;
|
|
4220
4240
|
if (!iconName) return null;
|
|
4221
4241
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4227,7 +4247,7 @@ function BannerPrivacyNotice({
|
|
|
4227
4247
|
}
|
|
4228
4248
|
);
|
|
4229
4249
|
}, [icon, iconName, iconClassName]);
|
|
4230
|
-
const actionsContent =
|
|
4250
|
+
const actionsContent = React6.useMemo(() => {
|
|
4231
4251
|
if (actionsSlot) return actionsSlot;
|
|
4232
4252
|
if (!actions || actions.length === 0) return null;
|
|
4233
4253
|
return actions.map((action, index) => {
|
|
@@ -4254,15 +4274,15 @@ function BannerPrivacyNotice({
|
|
|
4254
4274
|
);
|
|
4255
4275
|
});
|
|
4256
4276
|
}, [actions, actionsSlot]);
|
|
4257
|
-
const dismissIconContent =
|
|
4277
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4258
4278
|
if (dismissIcon) return dismissIcon;
|
|
4259
4279
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4260
4280
|
}, [dismissIcon]);
|
|
4261
|
-
const titleContent =
|
|
4281
|
+
const titleContent = React6.useMemo(() => {
|
|
4262
4282
|
if (!title) return null;
|
|
4263
4283
|
return typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("font-semibold text-sm", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title });
|
|
4264
4284
|
}, [title, titleClassName]);
|
|
4265
|
-
const descriptionContent =
|
|
4285
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4266
4286
|
if (!description) return null;
|
|
4267
4287
|
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description });
|
|
4268
4288
|
}, [description, descriptionClassName]);
|
|
@@ -4309,7 +4329,7 @@ function BannerPromoCta({
|
|
|
4309
4329
|
discountClassName,
|
|
4310
4330
|
actionsClassName
|
|
4311
4331
|
}) {
|
|
4312
|
-
const actionsContent =
|
|
4332
|
+
const actionsContent = React6.useMemo(() => {
|
|
4313
4333
|
if (actionsSlot) return actionsSlot;
|
|
4314
4334
|
if (!actions || actions.length === 0) return null;
|
|
4315
4335
|
return actions.map((action, index) => {
|
|
@@ -4336,15 +4356,15 @@ function BannerPromoCta({
|
|
|
4336
4356
|
);
|
|
4337
4357
|
});
|
|
4338
4358
|
}, [actions, actionsSlot]);
|
|
4339
|
-
const separatorContent =
|
|
4359
|
+
const separatorContent = React6.useMemo(() => {
|
|
4340
4360
|
if (separator) return separator;
|
|
4341
4361
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("hidden sm:inline", separatorClassName), children: "\xB7" });
|
|
4342
4362
|
}, [separator, separatorClassName]);
|
|
4343
|
-
const messageContent =
|
|
4363
|
+
const messageContent = React6.useMemo(() => {
|
|
4344
4364
|
if (!message) return null;
|
|
4345
4365
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
4346
4366
|
}, [message, messageClassName]);
|
|
4347
|
-
const discountContent =
|
|
4367
|
+
const discountContent = React6.useMemo(() => {
|
|
4348
4368
|
if (!discount) return null;
|
|
4349
4369
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: discountClassName, children: discount });
|
|
4350
4370
|
}, [discount, discountClassName]);
|
|
@@ -4372,13 +4392,13 @@ function BannerSocialFollow({
|
|
|
4372
4392
|
actionsClassName,
|
|
4373
4393
|
dismissButtonClassName
|
|
4374
4394
|
}) {
|
|
4375
|
-
const [isVisible, setIsVisible] =
|
|
4395
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4376
4396
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4377
|
-
const handleDismiss =
|
|
4397
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4378
4398
|
setIsVisible(false);
|
|
4379
4399
|
onDismiss?.();
|
|
4380
4400
|
}, [onDismiss]);
|
|
4381
|
-
const iconContent =
|
|
4401
|
+
const iconContent = React6.useMemo(() => {
|
|
4382
4402
|
if (icon) return icon;
|
|
4383
4403
|
if (!iconName) return null;
|
|
4384
4404
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4390,7 +4410,7 @@ function BannerSocialFollow({
|
|
|
4390
4410
|
}
|
|
4391
4411
|
);
|
|
4392
4412
|
}, [icon, iconName, iconClassName]);
|
|
4393
|
-
const actionsContent =
|
|
4413
|
+
const actionsContent = React6.useMemo(() => {
|
|
4394
4414
|
if (actionsSlot) return actionsSlot;
|
|
4395
4415
|
if (!actions || actions.length === 0) return null;
|
|
4396
4416
|
return actions.map((action, index) => {
|
|
@@ -4418,11 +4438,11 @@ function BannerSocialFollow({
|
|
|
4418
4438
|
);
|
|
4419
4439
|
});
|
|
4420
4440
|
}, [actions, actionsSlot]);
|
|
4421
|
-
const dismissIconContent =
|
|
4441
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4422
4442
|
if (dismissIcon) return dismissIcon;
|
|
4423
4443
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4424
4444
|
}, [dismissIcon]);
|
|
4425
|
-
const messageContent =
|
|
4445
|
+
const messageContent = React6.useMemo(() => {
|
|
4426
4446
|
if (!message) return null;
|
|
4427
4447
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
4428
4448
|
}, [message, messageClassName]);
|
|
@@ -4470,13 +4490,13 @@ function BannerSurveyIncentive({
|
|
|
4470
4490
|
actionsClassName,
|
|
4471
4491
|
dismissButtonClassName
|
|
4472
4492
|
}) {
|
|
4473
|
-
const [isVisible, setIsVisible] =
|
|
4493
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4474
4494
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4475
|
-
const handleDismiss =
|
|
4495
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4476
4496
|
setIsVisible(false);
|
|
4477
4497
|
onDismiss?.();
|
|
4478
4498
|
}, [onDismiss]);
|
|
4479
|
-
const iconContent =
|
|
4499
|
+
const iconContent = React6.useMemo(() => {
|
|
4480
4500
|
if (icon) return icon;
|
|
4481
4501
|
if (!iconName) return null;
|
|
4482
4502
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4488,7 +4508,7 @@ function BannerSurveyIncentive({
|
|
|
4488
4508
|
}
|
|
4489
4509
|
);
|
|
4490
4510
|
}, [icon, iconName, iconClassName]);
|
|
4491
|
-
const actionsContent =
|
|
4511
|
+
const actionsContent = React6.useMemo(() => {
|
|
4492
4512
|
if (actionsSlot) return actionsSlot;
|
|
4493
4513
|
if (!actions || actions.length === 0) return null;
|
|
4494
4514
|
return actions.map((action, index) => {
|
|
@@ -4516,15 +4536,15 @@ function BannerSurveyIncentive({
|
|
|
4516
4536
|
);
|
|
4517
4537
|
});
|
|
4518
4538
|
}, [actions, actionsSlot]);
|
|
4519
|
-
const dismissIconContent =
|
|
4539
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4520
4540
|
if (dismissIcon) return dismissIcon;
|
|
4521
4541
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4522
4542
|
}, [dismissIcon]);
|
|
4523
|
-
const titleContent =
|
|
4543
|
+
const titleContent = React6.useMemo(() => {
|
|
4524
4544
|
if (!title) return null;
|
|
4525
4545
|
return typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: titleClassName, children: title });
|
|
4526
4546
|
}, [title, titleClassName]);
|
|
4527
|
-
const descriptionContent =
|
|
4547
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4528
4548
|
if (!description) return null;
|
|
4529
4549
|
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: descriptionClassName, children: description });
|
|
4530
4550
|
}, [description, descriptionClassName]);
|
|
@@ -4634,7 +4654,7 @@ function FooterCopyright({
|
|
|
4634
4654
|
copyright,
|
|
4635
4655
|
className
|
|
4636
4656
|
}) {
|
|
4637
|
-
const currentYear =
|
|
4657
|
+
const currentYear = React6.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
4638
4658
|
if (!copyright) {
|
|
4639
4659
|
return null;
|
|
4640
4660
|
}
|
|
@@ -5146,8 +5166,8 @@ var BrandAttribution = ({
|
|
|
5146
5166
|
}
|
|
5147
5167
|
const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
|
|
5148
5168
|
const ContainerEl = variant;
|
|
5149
|
-
const [trackedHref, setTrackedHref] =
|
|
5150
|
-
|
|
5169
|
+
const [trackedHref, setTrackedHref] = React6__namespace.useState(href);
|
|
5170
|
+
React6__namespace.useEffect(() => {
|
|
5151
5171
|
setTrackedHref(buildTrackedHref(href));
|
|
5152
5172
|
}, [href]);
|
|
5153
5173
|
return /* @__PURE__ */ jsxRuntime.jsxs(ContainerEl, { className: containerClassName, children: [
|
|
@@ -5267,7 +5287,7 @@ function FooterSocialNewsletter({
|
|
|
5267
5287
|
patternOpacity,
|
|
5268
5288
|
optixFlowConfig
|
|
5269
5289
|
}) {
|
|
5270
|
-
const renderForm =
|
|
5290
|
+
const renderForm = React6__namespace.useMemo(() => {
|
|
5271
5291
|
if (!formEngineSetup) return null;
|
|
5272
5292
|
const action = {
|
|
5273
5293
|
variant: "default",
|
|
@@ -5420,14 +5440,14 @@ function FooterSocialApps({
|
|
|
5420
5440
|
patternOpacity,
|
|
5421
5441
|
optixFlowConfig
|
|
5422
5442
|
}) {
|
|
5423
|
-
const sectionsContent =
|
|
5443
|
+
const sectionsContent = React6.useMemo(() => {
|
|
5424
5444
|
if (!sections || sections.length === 0) return null;
|
|
5425
5445
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 md:mt-0", children: [
|
|
5426
5446
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
5427
5447
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium ", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name }) }, linkIdx)) })
|
|
5428
5448
|
] }, sectionIdx));
|
|
5429
5449
|
}, [sections]);
|
|
5430
|
-
const socialLinksContent =
|
|
5450
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
5431
5451
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
5432
5452
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5433
5453
|
SocialLinkIcon,
|
|
@@ -5442,7 +5462,7 @@ function FooterSocialApps({
|
|
|
5442
5462
|
}
|
|
5443
5463
|
) }, idx));
|
|
5444
5464
|
}, [socialLinks, background]);
|
|
5445
|
-
const appLinksContent =
|
|
5465
|
+
const appLinksContent = React6.useMemo(() => {
|
|
5446
5466
|
if (!appLinks || appLinks.length === 0) return null;
|
|
5447
5467
|
return appLinks.map((app, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5448
5468
|
"span",
|
|
@@ -5531,7 +5551,7 @@ function FooterSimpleCentered({
|
|
|
5531
5551
|
patternOpacity,
|
|
5532
5552
|
optixFlowConfig
|
|
5533
5553
|
}) {
|
|
5534
|
-
const sitemapContent =
|
|
5554
|
+
const sitemapContent = React6.useMemo(() => {
|
|
5535
5555
|
if (!sitemap || sitemap.length === 0) return null;
|
|
5536
5556
|
return sitemap.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(sitemapSectionClassName), children: [
|
|
5537
5557
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-semibold", sitemapTitleClassName), children: section.title }),
|
|
@@ -5554,9 +5574,9 @@ function FooterSimpleCentered({
|
|
|
5554
5574
|
sitemapLinksClassName,
|
|
5555
5575
|
sitemapLinkClassName
|
|
5556
5576
|
]);
|
|
5557
|
-
const bottomLinksContent =
|
|
5577
|
+
const bottomLinksContent = React6.useMemo(() => {
|
|
5558
5578
|
if (!bottomLinks || bottomLinks.length === 0) return null;
|
|
5559
|
-
return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5579
|
+
return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(React6__namespace.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5560
5580
|
Pressable,
|
|
5561
5581
|
{
|
|
5562
5582
|
href: link.href,
|
|
@@ -5881,7 +5901,7 @@ function FooterNewsletterGrid({
|
|
|
5881
5901
|
patternOpacity,
|
|
5882
5902
|
optixFlowConfig
|
|
5883
5903
|
}) {
|
|
5884
|
-
const sectionsContent =
|
|
5904
|
+
const sectionsContent = React6.useMemo(() => {
|
|
5885
5905
|
if (!sections || sections.length === 0) return null;
|
|
5886
5906
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
|
|
5887
5907
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
|
|
@@ -5895,7 +5915,7 @@ function FooterNewsletterGrid({
|
|
|
5895
5915
|
)) })
|
|
5896
5916
|
] }, sectionIdx));
|
|
5897
5917
|
}, [sections]);
|
|
5898
|
-
const socialLinksContent =
|
|
5918
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
5899
5919
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
5900
5920
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5901
5921
|
SocialLinkIcon,
|
|
@@ -6411,7 +6431,7 @@ function FooterBackgroundCard({
|
|
|
6411
6431
|
patternOpacity,
|
|
6412
6432
|
optixFlowConfig
|
|
6413
6433
|
}) {
|
|
6414
|
-
const sectionStyle =
|
|
6434
|
+
const sectionStyle = React6.useMemo(
|
|
6415
6435
|
() => backgroundImage ? { backgroundImage: `url('${backgroundImage}')` } : void 0,
|
|
6416
6436
|
[backgroundImage]
|
|
6417
6437
|
);
|
|
@@ -6685,7 +6705,7 @@ function FooterAnimatedSocial({
|
|
|
6685
6705
|
pattern,
|
|
6686
6706
|
patternOpacity
|
|
6687
6707
|
}) {
|
|
6688
|
-
const socialLinksContent =
|
|
6708
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
6689
6709
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
6690
6710
|
return socialLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6691
6711
|
framerMotion.motion.div,
|
|
@@ -6903,7 +6923,7 @@ function FooterNewsletterMinimal({
|
|
|
6903
6923
|
buttonAction,
|
|
6904
6924
|
formSlot
|
|
6905
6925
|
}) {
|
|
6906
|
-
const navLinksContent =
|
|
6926
|
+
const navLinksContent = React6__namespace.useMemo(() => {
|
|
6907
6927
|
if (!navLinks || navLinks.length === 0) return null;
|
|
6908
6928
|
return navLinks.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6909
6929
|
Pressable,
|
|
@@ -6914,7 +6934,7 @@ function FooterNewsletterMinimal({
|
|
|
6914
6934
|
}
|
|
6915
6935
|
) }, idx));
|
|
6916
6936
|
}, [navLinks, navLinkClassName]);
|
|
6917
|
-
const socialLinksContent =
|
|
6937
|
+
const socialLinksContent = React6__namespace.useMemo(() => {
|
|
6918
6938
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
6919
6939
|
return socialLinks.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6920
6940
|
SocialLinkIcon,
|
|
@@ -6930,7 +6950,7 @@ function FooterNewsletterMinimal({
|
|
|
6930
6950
|
}
|
|
6931
6951
|
) }, idx));
|
|
6932
6952
|
}, [socialLinks, socialLinkClassName]);
|
|
6933
|
-
const footerLinksContent =
|
|
6953
|
+
const footerLinksContent = React6__namespace.useMemo(() => {
|
|
6934
6954
|
if (!footerLinks || footerLinks.length === 0) return null;
|
|
6935
6955
|
return footerLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6936
6956
|
Pressable,
|
|
@@ -6944,7 +6964,7 @@ function FooterNewsletterMinimal({
|
|
|
6944
6964
|
}
|
|
6945
6965
|
) }, item.label));
|
|
6946
6966
|
}, [footerLinks, footerLinkClassName]);
|
|
6947
|
-
const renderForm =
|
|
6967
|
+
const renderForm = React6__namespace.useMemo(() => {
|
|
6948
6968
|
if (formSlot) return formSlot;
|
|
6949
6969
|
if (!formEngineSetup) return null;
|
|
6950
6970
|
const defaultButtonAction = {
|
|
@@ -7179,7 +7199,7 @@ function FooterCtaSocial({
|
|
|
7179
7199
|
pattern,
|
|
7180
7200
|
patternOpacity
|
|
7181
7201
|
}) {
|
|
7182
|
-
const socialLinksContent =
|
|
7202
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
7183
7203
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
7184
7204
|
return socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7185
7205
|
SocialLinkIcon,
|
|
@@ -7297,7 +7317,7 @@ function FooterNavSocial({
|
|
|
7297
7317
|
patternOpacity,
|
|
7298
7318
|
optixFlowConfig
|
|
7299
7319
|
}) {
|
|
7300
|
-
const sectionsContent =
|
|
7320
|
+
const sectionsContent = React6.useMemo(() => {
|
|
7301
7321
|
if (!sections || sections.length === 0) return null;
|
|
7302
7322
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
|
|
7303
7323
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
|
|
@@ -7310,7 +7330,7 @@ function FooterNavSocial({
|
|
|
7310
7330
|
navLinksClassName,
|
|
7311
7331
|
navLinkClassName
|
|
7312
7332
|
]);
|
|
7313
|
-
const socialLinksContent =
|
|
7333
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
7314
7334
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
7315
7335
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7316
7336
|
SocialLinkIcon,
|
|
@@ -7325,7 +7345,7 @@ function FooterNavSocial({
|
|
|
7325
7345
|
}
|
|
7326
7346
|
) }, idx));
|
|
7327
7347
|
}, [socialLinks, socialLinkClassName]);
|
|
7328
|
-
const legalLinksContent =
|
|
7348
|
+
const legalLinksContent = React6.useMemo(() => {
|
|
7329
7349
|
if (!legalLinks || legalLinks.length === 0) return null;
|
|
7330
7350
|
return legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: "hover:opacity-100", children: link.name }) }, idx));
|
|
7331
7351
|
}, [legalLinks, legalLinkClassName]);
|