@opensite/ui 2.8.0 → 2.8.2
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-simple-centered-image.cjs +5 -5
- package/dist/hero-simple-centered-image.js +5 -5
- 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 +1742 -1722
- package/dist/registry.js +512 -492
- 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/index.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
|
|
|
@@ -143,7 +143,7 @@ var maxWidthStyles = {
|
|
|
143
143
|
"4xl": "max-w-[1536px]",
|
|
144
144
|
full: "max-w-full"
|
|
145
145
|
};
|
|
146
|
-
var Container =
|
|
146
|
+
var Container = React6__namespace.default.forwardRef(
|
|
147
147
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
148
148
|
const Component = as;
|
|
149
149
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -449,7 +449,7 @@ var spacingStyles = {
|
|
|
449
449
|
};
|
|
450
450
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
451
451
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
452
|
-
var Section =
|
|
452
|
+
var Section = React6__namespace.default.forwardRef(
|
|
453
453
|
({
|
|
454
454
|
id,
|
|
455
455
|
title,
|
|
@@ -585,7 +585,7 @@ function useNavigation({
|
|
|
585
585
|
href,
|
|
586
586
|
onClick
|
|
587
587
|
} = {}) {
|
|
588
|
-
const linkType =
|
|
588
|
+
const linkType = React6__namespace.useMemo(() => {
|
|
589
589
|
if (!href || href.trim() === "") {
|
|
590
590
|
return onClick ? "none" : "none";
|
|
591
591
|
}
|
|
@@ -606,7 +606,7 @@ function useNavigation({
|
|
|
606
606
|
return "internal";
|
|
607
607
|
}
|
|
608
608
|
}, [href, onClick]);
|
|
609
|
-
const normalizedHref =
|
|
609
|
+
const normalizedHref = React6__namespace.useMemo(() => {
|
|
610
610
|
if (!href || href.trim() === "") {
|
|
611
611
|
return void 0;
|
|
612
612
|
}
|
|
@@ -624,7 +624,7 @@ function useNavigation({
|
|
|
624
624
|
return trimmed;
|
|
625
625
|
}
|
|
626
626
|
}, [href, linkType]);
|
|
627
|
-
const target =
|
|
627
|
+
const target = React6__namespace.useMemo(() => {
|
|
628
628
|
switch (linkType) {
|
|
629
629
|
case "external":
|
|
630
630
|
return "_blank";
|
|
@@ -637,7 +637,7 @@ function useNavigation({
|
|
|
637
637
|
return void 0;
|
|
638
638
|
}
|
|
639
639
|
}, [linkType]);
|
|
640
|
-
const rel =
|
|
640
|
+
const rel = React6__namespace.useMemo(() => {
|
|
641
641
|
if (linkType === "external") {
|
|
642
642
|
return "noopener noreferrer";
|
|
643
643
|
}
|
|
@@ -646,7 +646,7 @@ function useNavigation({
|
|
|
646
646
|
const isExternal = linkType === "external";
|
|
647
647
|
const isInternal = linkType === "internal";
|
|
648
648
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
649
|
-
const handleClick =
|
|
649
|
+
const handleClick = React6__namespace.useCallback(
|
|
650
650
|
(event) => {
|
|
651
651
|
if (onClick) {
|
|
652
652
|
try {
|
|
@@ -830,7 +830,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
830
830
|
size: "default"
|
|
831
831
|
}
|
|
832
832
|
});
|
|
833
|
-
var Pressable =
|
|
833
|
+
var Pressable = React6__namespace.forwardRef(
|
|
834
834
|
({
|
|
835
835
|
children,
|
|
836
836
|
className,
|
|
@@ -930,9 +930,13 @@ var Pressable = React5__namespace.forwardRef(
|
|
|
930
930
|
);
|
|
931
931
|
Pressable.displayName = "Pressable";
|
|
932
932
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
933
|
-
|
|
933
|
+
var DynamicIcon = React6__namespace.memo(function DynamicIcon2({
|
|
934
|
+
apiKey,
|
|
935
|
+
...props
|
|
936
|
+
}) {
|
|
934
937
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
935
|
-
}
|
|
938
|
+
});
|
|
939
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
936
940
|
var PANEL_POSITION_CLASS = {
|
|
937
941
|
"top-left": "left-4 top-4",
|
|
938
942
|
"top-right": "right-4 top-4",
|
|
@@ -1024,12 +1028,20 @@ function MarkerMediaCarousel({
|
|
|
1024
1028
|
mediaItems,
|
|
1025
1029
|
optixFlowConfig
|
|
1026
1030
|
}) {
|
|
1027
|
-
const [activeIndex, setActiveIndex] =
|
|
1031
|
+
const [activeIndex, setActiveIndex] = React6__namespace.useState(0);
|
|
1028
1032
|
const totalItems = mediaItems.length;
|
|
1029
|
-
|
|
1033
|
+
const mediaResetKey = React6__namespace.useMemo(
|
|
1034
|
+
() => mediaItems.map((item, index) => {
|
|
1035
|
+
const itemId = normalizeId(item.id, `media-${index}`);
|
|
1036
|
+
return `${itemId}:${item.src}:${item.type ?? ""}:${item.poster ?? ""}`;
|
|
1037
|
+
}).join("|"),
|
|
1038
|
+
[mediaItems]
|
|
1039
|
+
);
|
|
1040
|
+
const activeItemIndex = Math.min(activeIndex, Math.max(0, totalItems - 1));
|
|
1041
|
+
React6__namespace.useEffect(() => {
|
|
1030
1042
|
setActiveIndex(0);
|
|
1031
|
-
}, [
|
|
1032
|
-
const activeMediaItem = mediaItems[
|
|
1043
|
+
}, [mediaResetKey]);
|
|
1044
|
+
const activeMediaItem = mediaItems[activeItemIndex];
|
|
1033
1045
|
const mediaType = resolveMediaType(activeMediaItem);
|
|
1034
1046
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
|
|
1035
1047
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-44 w-full overflow-hidden", children: mediaType === "video" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1063,7 +1075,7 @@ function MarkerMediaCarousel({
|
|
|
1063
1075
|
(current) => (current - 1 + totalItems) % totalItems
|
|
1064
1076
|
);
|
|
1065
1077
|
},
|
|
1066
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left" })
|
|
1078
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left", size: 16 })
|
|
1067
1079
|
}
|
|
1068
1080
|
),
|
|
1069
1081
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1075,7 +1087,7 @@ function MarkerMediaCarousel({
|
|
|
1075
1087
|
onClick: () => {
|
|
1076
1088
|
setActiveIndex((current) => (current + 1) % totalItems);
|
|
1077
1089
|
},
|
|
1078
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right" })
|
|
1090
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
1079
1091
|
}
|
|
1080
1092
|
),
|
|
1081
1093
|
/* @__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(
|
|
@@ -1085,7 +1097,7 @@ function MarkerMediaCarousel({
|
|
|
1085
1097
|
"aria-label": `Show media item ${index + 1}`,
|
|
1086
1098
|
className: cn(
|
|
1087
1099
|
"h-2 rounded-full transition-all",
|
|
1088
|
-
index ===
|
|
1100
|
+
index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
|
|
1089
1101
|
),
|
|
1090
1102
|
onClick: () => setActiveIndex(index)
|
|
1091
1103
|
},
|
|
@@ -1134,14 +1146,14 @@ function GeoMap({
|
|
|
1134
1146
|
mapChildren,
|
|
1135
1147
|
optixFlowConfig
|
|
1136
1148
|
}) {
|
|
1137
|
-
const normalizedStandaloneMarkers =
|
|
1149
|
+
const normalizedStandaloneMarkers = React6__namespace.useMemo(
|
|
1138
1150
|
() => markers.map((marker, index) => ({
|
|
1139
1151
|
...marker,
|
|
1140
1152
|
id: normalizeId(marker.id, `marker-${index}`)
|
|
1141
1153
|
})),
|
|
1142
1154
|
[markers]
|
|
1143
1155
|
);
|
|
1144
|
-
const normalizedClusters =
|
|
1156
|
+
const normalizedClusters = React6__namespace.useMemo(() => {
|
|
1145
1157
|
const results = [];
|
|
1146
1158
|
clusters.forEach((cluster, clusterIndex) => {
|
|
1147
1159
|
const clusterId = normalizeId(cluster.id, `cluster-${clusterIndex}`);
|
|
@@ -1166,7 +1178,7 @@ function GeoMap({
|
|
|
1166
1178
|
});
|
|
1167
1179
|
return results;
|
|
1168
1180
|
}, [clusters]);
|
|
1169
|
-
const markerLookup =
|
|
1181
|
+
const markerLookup = React6__namespace.useMemo(() => {
|
|
1170
1182
|
const lookup = /* @__PURE__ */ new Map();
|
|
1171
1183
|
normalizedStandaloneMarkers.forEach((marker) => {
|
|
1172
1184
|
lookup.set(marker.id, marker);
|
|
@@ -1178,14 +1190,14 @@ function GeoMap({
|
|
|
1178
1190
|
});
|
|
1179
1191
|
return lookup;
|
|
1180
1192
|
}, [normalizedClusters, normalizedStandaloneMarkers]);
|
|
1181
|
-
const clusterLookup =
|
|
1193
|
+
const clusterLookup = React6__namespace.useMemo(() => {
|
|
1182
1194
|
const lookup = /* @__PURE__ */ new Map();
|
|
1183
1195
|
normalizedClusters.forEach((cluster) => {
|
|
1184
1196
|
lookup.set(cluster.id, cluster);
|
|
1185
1197
|
});
|
|
1186
1198
|
return lookup;
|
|
1187
1199
|
}, [normalizedClusters]);
|
|
1188
|
-
const firstCoordinate =
|
|
1200
|
+
const firstCoordinate = React6__namespace.useMemo(() => {
|
|
1189
1201
|
if (normalizedStandaloneMarkers.length > 0) {
|
|
1190
1202
|
const firstStandaloneMarker = normalizedStandaloneMarkers[0];
|
|
1191
1203
|
return {
|
|
@@ -1205,23 +1217,27 @@ function GeoMap({
|
|
|
1205
1217
|
longitude: DEFAULT_VIEW_STATE.longitude
|
|
1206
1218
|
};
|
|
1207
1219
|
}, [normalizedClusters, normalizedStandaloneMarkers]);
|
|
1208
|
-
const [uncontrolledViewState, setUncontrolledViewState] =
|
|
1220
|
+
const [uncontrolledViewState, setUncontrolledViewState] = React6__namespace.useState({
|
|
1209
1221
|
latitude: defaultViewState?.latitude ?? firstCoordinate.latitude,
|
|
1210
1222
|
longitude: defaultViewState?.longitude ?? firstCoordinate.longitude,
|
|
1211
1223
|
zoom: defaultViewState?.zoom ?? DEFAULT_VIEW_STATE.zoom
|
|
1212
1224
|
});
|
|
1213
1225
|
const isControlledViewState = viewState !== void 0;
|
|
1214
1226
|
const resolvedViewState = isControlledViewState ? viewState : uncontrolledViewState;
|
|
1215
|
-
const applyViewState =
|
|
1227
|
+
const applyViewState = React6__namespace.useCallback(
|
|
1216
1228
|
(nextState) => {
|
|
1217
1229
|
if (!isControlledViewState) {
|
|
1218
|
-
setUncontrolledViewState((current) =>
|
|
1230
|
+
setUncontrolledViewState((current) => {
|
|
1231
|
+
const next = { ...current, ...nextState };
|
|
1232
|
+
const hasChanged = current.latitude !== next.latitude || current.longitude !== next.longitude || current.zoom !== next.zoom;
|
|
1233
|
+
return hasChanged ? next : current;
|
|
1234
|
+
});
|
|
1219
1235
|
}
|
|
1220
1236
|
onViewStateChange?.(nextState);
|
|
1221
1237
|
},
|
|
1222
1238
|
[isControlledViewState, onViewStateChange]
|
|
1223
1239
|
);
|
|
1224
|
-
const [selection, setSelection] =
|
|
1240
|
+
const [selection, setSelection] = React6__namespace.useState(() => {
|
|
1225
1241
|
if (initialSelectedMarkerId !== void 0 && initialSelectedMarkerId !== null) {
|
|
1226
1242
|
return {
|
|
1227
1243
|
type: "marker",
|
|
@@ -1230,7 +1246,7 @@ function GeoMap({
|
|
|
1230
1246
|
}
|
|
1231
1247
|
return { type: "none" };
|
|
1232
1248
|
});
|
|
1233
|
-
|
|
1249
|
+
React6__namespace.useEffect(() => {
|
|
1234
1250
|
if (selectedMarkerId === void 0 || selectedMarkerId === null) {
|
|
1235
1251
|
return;
|
|
1236
1252
|
}
|
|
@@ -1241,13 +1257,13 @@ function GeoMap({
|
|
|
1241
1257
|
}, [selectedMarkerId]);
|
|
1242
1258
|
const selectedMarker = selection.markerId ? markerLookup.get(selection.markerId) : void 0;
|
|
1243
1259
|
const selectedCluster = selection.clusterId ? clusterLookup.get(selection.clusterId) : void 0;
|
|
1244
|
-
|
|
1260
|
+
React6__namespace.useEffect(() => {
|
|
1245
1261
|
if (selection.type === "marker" && selection.markerId && !selectedMarker) {
|
|
1246
1262
|
setSelection({ type: "none" });
|
|
1247
1263
|
onSelectionChange?.({ type: "none" });
|
|
1248
1264
|
}
|
|
1249
1265
|
}, [onSelectionChange, selectedMarker, selection]);
|
|
1250
|
-
const emitSelectionChange =
|
|
1266
|
+
const emitSelectionChange = React6__namespace.useCallback(
|
|
1251
1267
|
(nextSelection) => {
|
|
1252
1268
|
if (nextSelection.type === "none") {
|
|
1253
1269
|
onSelectionChange?.({ type: "none" });
|
|
@@ -1269,7 +1285,7 @@ function GeoMap({
|
|
|
1269
1285
|
},
|
|
1270
1286
|
[clusterLookup, onSelectionChange]
|
|
1271
1287
|
);
|
|
1272
|
-
const selectMarker =
|
|
1288
|
+
const selectMarker = React6__namespace.useCallback(
|
|
1273
1289
|
(marker) => {
|
|
1274
1290
|
setSelection({
|
|
1275
1291
|
type: "marker",
|
|
@@ -1285,7 +1301,7 @@ function GeoMap({
|
|
|
1285
1301
|
},
|
|
1286
1302
|
[applyViewState, emitSelectionChange, markerFocusZoom]
|
|
1287
1303
|
);
|
|
1288
|
-
const selectCluster =
|
|
1304
|
+
const selectCluster = React6__namespace.useCallback(
|
|
1289
1305
|
(cluster) => {
|
|
1290
1306
|
setSelection({
|
|
1291
1307
|
type: "cluster",
|
|
@@ -1300,11 +1316,11 @@ function GeoMap({
|
|
|
1300
1316
|
},
|
|
1301
1317
|
[applyViewState, clusterFocusZoom, emitSelectionChange]
|
|
1302
1318
|
);
|
|
1303
|
-
const clearSelection =
|
|
1319
|
+
const clearSelection = React6__namespace.useCallback(() => {
|
|
1304
1320
|
setSelection({ type: "none" });
|
|
1305
1321
|
emitSelectionChange({ type: "none" });
|
|
1306
1322
|
}, [emitSelectionChange]);
|
|
1307
|
-
const mapMarkers =
|
|
1323
|
+
const mapMarkers = React6__namespace.useMemo(() => {
|
|
1308
1324
|
const resolvedMarkers = [];
|
|
1309
1325
|
normalizedClusters.forEach((cluster) => {
|
|
1310
1326
|
const isSelected = selection.type === "cluster" && selection.clusterId === cluster.id;
|
|
@@ -1413,7 +1429,7 @@ function GeoMap({
|
|
|
1413
1429
|
"aria-label": "Close marker details",
|
|
1414
1430
|
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",
|
|
1415
1431
|
onClick: clearSelection,
|
|
1416
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x" })
|
|
1432
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1417
1433
|
}
|
|
1418
1434
|
),
|
|
1419
1435
|
markerMediaItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1429,36 +1445,40 @@ function GeoMap({
|
|
|
1429
1445
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold leading-tight", children: selectedMarker.title ?? selectedMarker.label ?? "Location" })
|
|
1430
1446
|
] }) }),
|
|
1431
1447
|
selectedMarker.summary ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm leading-relaxed", children: selectedMarker.summary }) : null,
|
|
1432
|
-
selectedMarker.locationLine ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1448
|
+
selectedMarker.locationLine ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1450
|
+
DynamicIcon,
|
|
1451
|
+
{
|
|
1452
|
+
name: "lucide:map-pin",
|
|
1453
|
+
className: "opacity-50",
|
|
1454
|
+
size: 14
|
|
1455
|
+
}
|
|
1456
|
+
),
|
|
1457
|
+
typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
+
Pressable,
|
|
1459
|
+
{
|
|
1460
|
+
href: selectedMarker.locationUrl,
|
|
1461
|
+
className: cn(
|
|
1462
|
+
"transition-all duration-500",
|
|
1463
|
+
"font-medium opacity-75 hover:opacity-100",
|
|
1464
|
+
selectedMarker.locationUrl ? "underline underline-offset-4" : ""
|
|
1445
1465
|
),
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
) : null,
|
|
1466
|
+
children: selectedMarker.locationLine
|
|
1467
|
+
}
|
|
1468
|
+
) : selectedMarker.locationLine
|
|
1469
|
+
] }) : null,
|
|
1450
1470
|
selectedMarker.hoursLine ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
|
|
1451
1471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1452
1472
|
DynamicIcon,
|
|
1453
1473
|
{
|
|
1454
1474
|
name: "lucide:clock",
|
|
1455
1475
|
className: "opacity-50",
|
|
1456
|
-
size:
|
|
1476
|
+
size: 14
|
|
1457
1477
|
}
|
|
1458
1478
|
),
|
|
1459
1479
|
typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
|
|
1460
1480
|
] }) : null,
|
|
1461
|
-
selectedMarker.markerContentComponent ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1481
|
+
selectedMarker.markerContentComponent ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: selectedMarker.markerContentComponent }) : null,
|
|
1462
1482
|
/* @__PURE__ */ jsxRuntime.jsx(MarkerActions, { actions: selectedMarker.actions })
|
|
1463
1483
|
] })
|
|
1464
1484
|
]
|
|
@@ -1481,7 +1501,7 @@ function GeoMap({
|
|
|
1481
1501
|
"aria-label": "Close cluster details",
|
|
1482
1502
|
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",
|
|
1483
1503
|
onClick: clearSelection,
|
|
1484
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x" })
|
|
1504
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
|
|
1485
1505
|
}
|
|
1486
1506
|
),
|
|
1487
1507
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
@@ -1582,15 +1602,15 @@ function AnimatedDialog({
|
|
|
1582
1602
|
contentClassName,
|
|
1583
1603
|
featuredMediaHeader
|
|
1584
1604
|
}) {
|
|
1585
|
-
const titleId =
|
|
1586
|
-
const descriptionId =
|
|
1587
|
-
const containerRef =
|
|
1605
|
+
const titleId = React6.useId();
|
|
1606
|
+
const descriptionId = React6.useId();
|
|
1607
|
+
const containerRef = React6.useRef(null);
|
|
1588
1608
|
useOnClickOutside.useOnClickOutside(containerRef, () => {
|
|
1589
1609
|
if (open) {
|
|
1590
1610
|
onOpenChange(false);
|
|
1591
1611
|
}
|
|
1592
1612
|
});
|
|
1593
|
-
|
|
1613
|
+
React6.useEffect(() => {
|
|
1594
1614
|
if (!open) {
|
|
1595
1615
|
return;
|
|
1596
1616
|
}
|
|
@@ -1913,10 +1933,10 @@ var ImageSlider = ({
|
|
|
1913
1933
|
optixFlowConfig
|
|
1914
1934
|
}) => {
|
|
1915
1935
|
const hasImages = images.length > 0;
|
|
1916
|
-
const [currentIndex, setCurrentIndex] =
|
|
1936
|
+
const [currentIndex, setCurrentIndex] = React6__namespace.useState(
|
|
1917
1937
|
() => normalizeIndex(startIndex, images.length)
|
|
1918
1938
|
);
|
|
1919
|
-
const handleNext =
|
|
1939
|
+
const handleNext = React6__namespace.useCallback(() => {
|
|
1920
1940
|
if (!hasImages) return;
|
|
1921
1941
|
setCurrentIndex((prevIndex) => {
|
|
1922
1942
|
const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
|
|
@@ -1924,7 +1944,7 @@ var ImageSlider = ({
|
|
|
1924
1944
|
return nextIndex;
|
|
1925
1945
|
});
|
|
1926
1946
|
}, [hasImages, images.length, onSlideChange]);
|
|
1927
|
-
const handlePrevious =
|
|
1947
|
+
const handlePrevious = React6__namespace.useCallback(() => {
|
|
1928
1948
|
if (!hasImages) return;
|
|
1929
1949
|
setCurrentIndex((prevIndex) => {
|
|
1930
1950
|
const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
|
|
@@ -1932,11 +1952,11 @@ var ImageSlider = ({
|
|
|
1932
1952
|
return nextIndex;
|
|
1933
1953
|
});
|
|
1934
1954
|
}, [hasImages, images.length, onSlideChange]);
|
|
1935
|
-
|
|
1955
|
+
React6__namespace.useEffect(() => {
|
|
1936
1956
|
if (!hasImages) return;
|
|
1937
1957
|
setCurrentIndex(normalizeIndex(startIndex, images.length));
|
|
1938
1958
|
}, [startIndex, images.length, hasImages]);
|
|
1939
|
-
|
|
1959
|
+
React6__namespace.useEffect(() => {
|
|
1940
1960
|
if (!enableKeyboard || !hasImages) return;
|
|
1941
1961
|
const handleKeyDown = (event) => {
|
|
1942
1962
|
if (event.key === "ArrowRight") {
|
|
@@ -1950,7 +1970,7 @@ var ImageSlider = ({
|
|
|
1950
1970
|
window.removeEventListener("keydown", handleKeyDown);
|
|
1951
1971
|
};
|
|
1952
1972
|
}, [enableKeyboard, handleNext, handlePrevious, hasImages]);
|
|
1953
|
-
|
|
1973
|
+
React6__namespace.useEffect(() => {
|
|
1954
1974
|
if (!autoplay || images.length < 2) return;
|
|
1955
1975
|
const interval = window.setInterval(handleNext, autoplayIntervalMs);
|
|
1956
1976
|
return () => window.clearInterval(interval);
|
|
@@ -2261,7 +2281,7 @@ var platformIconMap = {
|
|
|
2261
2281
|
dribbble: "cib/dribbble",
|
|
2262
2282
|
unknown: "icon-park-solid/circular-connection"
|
|
2263
2283
|
};
|
|
2264
|
-
var SocialLinkIcon =
|
|
2284
|
+
var SocialLinkIcon = React6__namespace.forwardRef(
|
|
2265
2285
|
({
|
|
2266
2286
|
platformName,
|
|
2267
2287
|
label,
|
|
@@ -2274,13 +2294,13 @@ var SocialLinkIcon = React5__namespace.forwardRef(
|
|
|
2274
2294
|
...pressableProps
|
|
2275
2295
|
}, ref) => {
|
|
2276
2296
|
const platform = usePlatformFromUrl.usePlatformFromUrl(href);
|
|
2277
|
-
const smartPlatformName =
|
|
2297
|
+
const smartPlatformName = React6__namespace.useMemo(() => {
|
|
2278
2298
|
return platform || platformName;
|
|
2279
2299
|
}, [platform, platformName]);
|
|
2280
|
-
const iconName =
|
|
2300
|
+
const iconName = React6__namespace.useMemo(() => {
|
|
2281
2301
|
return iconNameOverride || platformIconMap[smartPlatformName];
|
|
2282
2302
|
}, [iconNameOverride, smartPlatformName]);
|
|
2283
|
-
const accessibleLabel =
|
|
2303
|
+
const accessibleLabel = React6__namespace.useMemo(() => {
|
|
2284
2304
|
return label || platformName;
|
|
2285
2305
|
}, [label, platformName]);
|
|
2286
2306
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2357,12 +2377,12 @@ function TextInner({ as, className, children, ...props }, ref) {
|
|
|
2357
2377
|
const Component = as || "span";
|
|
2358
2378
|
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cn(className), ...props, children });
|
|
2359
2379
|
}
|
|
2360
|
-
var Text =
|
|
2380
|
+
var Text = React6__namespace.forwardRef(TextInner);
|
|
2361
2381
|
Text.displayName = "Text";
|
|
2362
2382
|
function isContentTextItem(item) {
|
|
2363
|
-
return item !== null && typeof item === "object" && !
|
|
2383
|
+
return item !== null && typeof item === "object" && !React6__namespace.isValidElement(item) && "_type" in item && item._type === "text";
|
|
2364
2384
|
}
|
|
2365
|
-
var ContentGroup =
|
|
2385
|
+
var ContentGroup = React6__namespace.forwardRef(
|
|
2366
2386
|
({ items, className, children, ...props }, ref) => {
|
|
2367
2387
|
const hasContent = items && items.length > 0;
|
|
2368
2388
|
if (!hasContent) {
|
|
@@ -2375,10 +2395,10 @@ var ContentGroup = React5__namespace.forwardRef(
|
|
|
2375
2395
|
return /* @__PURE__ */ jsxRuntime.jsx(Text, { ...textProps }, idx);
|
|
2376
2396
|
}
|
|
2377
2397
|
const reactNode = item;
|
|
2378
|
-
if (
|
|
2379
|
-
return
|
|
2398
|
+
if (React6__namespace.isValidElement(reactNode)) {
|
|
2399
|
+
return React6__namespace.cloneElement(reactNode, { key: reactNode.key ?? idx });
|
|
2380
2400
|
}
|
|
2381
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2401
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React6__namespace.Fragment, { children: reactNode }, idx);
|
|
2382
2402
|
}),
|
|
2383
2403
|
children
|
|
2384
2404
|
] });
|
|
@@ -2402,7 +2422,7 @@ function AlternatingBlocks({
|
|
|
2402
2422
|
pattern,
|
|
2403
2423
|
patternOpacity
|
|
2404
2424
|
}) {
|
|
2405
|
-
const sectionsContent =
|
|
2425
|
+
const sectionsContent = React6.useMemo(() => {
|
|
2406
2426
|
if (sectionsSlot) return sectionsSlot;
|
|
2407
2427
|
if (!sections || sections.length === 0) return null;
|
|
2408
2428
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-12", sectionsClassName), children: sections.map((section, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2446,7 +2466,7 @@ function AlternatingBlocks({
|
|
|
2446
2466
|
sectionContentClassName,
|
|
2447
2467
|
sectionMediaClassName
|
|
2448
2468
|
]);
|
|
2449
|
-
const headerItems =
|
|
2469
|
+
const headerItems = React6.useMemo(() => {
|
|
2450
2470
|
const items = [];
|
|
2451
2471
|
if (subtitle) {
|
|
2452
2472
|
items.push(
|
|
@@ -2515,7 +2535,7 @@ function AboutSplitHero({
|
|
|
2515
2535
|
patternOpacity,
|
|
2516
2536
|
directionConfig = { desktop: "mediaRight", mobile: "mediaTop" }
|
|
2517
2537
|
}) {
|
|
2518
|
-
const ctaContent =
|
|
2538
|
+
const ctaContent = React6.useMemo(() => {
|
|
2519
2539
|
if (ctaSlot) return ctaSlot;
|
|
2520
2540
|
if (!ctaAction) return null;
|
|
2521
2541
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2537,7 +2557,7 @@ function AboutSplitHero({
|
|
|
2537
2557
|
}
|
|
2538
2558
|
);
|
|
2539
2559
|
}, [ctaSlot, ctaAction, ctaClassName]);
|
|
2540
|
-
const bgColorClass =
|
|
2560
|
+
const bgColorClass = React6.useMemo(() => {
|
|
2541
2561
|
switch (background) {
|
|
2542
2562
|
case "dark":
|
|
2543
2563
|
return "bg-foreground text-background";
|
|
@@ -2665,7 +2685,7 @@ function AboutMissionPrinciples({
|
|
|
2665
2685
|
pattern,
|
|
2666
2686
|
patternOpacity
|
|
2667
2687
|
}) {
|
|
2668
|
-
const missionActionContent =
|
|
2688
|
+
const missionActionContent = React6.useMemo(() => {
|
|
2669
2689
|
if (missionActionSlot) return missionActionSlot;
|
|
2670
2690
|
if (!missionAction) return null;
|
|
2671
2691
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2", missionActionClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2690,7 +2710,7 @@ function AboutMissionPrinciples({
|
|
|
2690
2710
|
}
|
|
2691
2711
|
) });
|
|
2692
2712
|
}, [missionActionSlot, missionAction, missionActionClassName]);
|
|
2693
|
-
const principlesContent =
|
|
2713
|
+
const principlesContent = React6.useMemo(() => {
|
|
2694
2714
|
if (principlesSlot) return principlesSlot;
|
|
2695
2715
|
if (!principles || principles.length === 0) return null;
|
|
2696
2716
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2728,7 +2748,7 @@ function AboutMissionPrinciples({
|
|
|
2728
2748
|
}
|
|
2729
2749
|
);
|
|
2730
2750
|
}, [principlesSlot, principles, principlesClassName]);
|
|
2731
|
-
const visionActionContent =
|
|
2751
|
+
const visionActionContent = React6.useMemo(() => {
|
|
2732
2752
|
if (visionActionSlot) return visionActionSlot;
|
|
2733
2753
|
if (!visionAction) return null;
|
|
2734
2754
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2903,11 +2923,11 @@ function AboutExpandableValues({
|
|
|
2903
2923
|
pattern,
|
|
2904
2924
|
patternOpacity
|
|
2905
2925
|
}) {
|
|
2906
|
-
const [expandedValue, setExpandedValue] =
|
|
2907
|
-
const toggleExpand =
|
|
2926
|
+
const [expandedValue, setExpandedValue] = React6__namespace.useState(null);
|
|
2927
|
+
const toggleExpand = React6.useCallback((id) => {
|
|
2908
2928
|
setExpandedValue((prev) => prev === id ? null : id);
|
|
2909
2929
|
}, []);
|
|
2910
|
-
|
|
2930
|
+
React6.useMemo(() => {
|
|
2911
2931
|
if (actionsSlot) return actionsSlot;
|
|
2912
2932
|
if (!actions || actions.length === 0) return null;
|
|
2913
2933
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2923,7 +2943,7 @@ function AboutExpandableValues({
|
|
|
2923
2943
|
idx
|
|
2924
2944
|
)) });
|
|
2925
2945
|
}, [actionsSlot, actions, actionsClassName]);
|
|
2926
|
-
const valuesContent =
|
|
2946
|
+
const valuesContent = React6.useMemo(() => {
|
|
2927
2947
|
if (valuesSlot) return valuesSlot;
|
|
2928
2948
|
if (!values || values.length === 0) return null;
|
|
2929
2949
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-6 mt-8", valuesClassName), children: values.map((value) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3139,17 +3159,17 @@ function CommunityInitiatives({
|
|
|
3139
3159
|
pattern,
|
|
3140
3160
|
patternOpacity
|
|
3141
3161
|
}) {
|
|
3142
|
-
const [activeCategory, setActiveCategory] =
|
|
3162
|
+
const [activeCategory, setActiveCategory] = React6__namespace.useState(
|
|
3143
3163
|
categories?.[0]?.id || ""
|
|
3144
3164
|
);
|
|
3145
3165
|
const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
|
|
3146
|
-
const handleCategoryChange =
|
|
3166
|
+
const handleCategoryChange = React6.useCallback(
|
|
3147
3167
|
(e) => {
|
|
3148
3168
|
setActiveCategory(e.target.value);
|
|
3149
3169
|
},
|
|
3150
3170
|
[]
|
|
3151
3171
|
);
|
|
3152
|
-
const categoriesContent =
|
|
3172
|
+
const categoriesContent = React6.useMemo(() => {
|
|
3153
3173
|
if (categoriesSlot) return categoriesSlot;
|
|
3154
3174
|
if (!categories || categories.length === 0) return null;
|
|
3155
3175
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3403,10 +3423,10 @@ function AboutCultureTabs({
|
|
|
3403
3423
|
patternOpacity
|
|
3404
3424
|
}) {
|
|
3405
3425
|
const resolvedAspects = aspects ?? [];
|
|
3406
|
-
const [activeTab, setActiveTab] =
|
|
3426
|
+
const [activeTab, setActiveTab] = React6__namespace.useState(
|
|
3407
3427
|
resolvedAspects[0]?.id || ""
|
|
3408
3428
|
);
|
|
3409
|
-
const headerItems =
|
|
3429
|
+
const headerItems = React6.useMemo(() => {
|
|
3410
3430
|
const items = [];
|
|
3411
3431
|
if (badgeText) {
|
|
3412
3432
|
if (typeof badgeText === "string") {
|
|
@@ -3453,7 +3473,7 @@ function AboutCultureTabs({
|
|
|
3453
3473
|
description,
|
|
3454
3474
|
descriptionClassName
|
|
3455
3475
|
]);
|
|
3456
|
-
const ctaImagesContent =
|
|
3476
|
+
const ctaImagesContent = React6.useMemo(() => {
|
|
3457
3477
|
if (ctaImagesSlot) return ctaImagesSlot;
|
|
3458
3478
|
if (!ctaImages || ctaImages.length === 0) return null;
|
|
3459
3479
|
return ctaImages.map((src, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3619,7 +3639,7 @@ function MediaHoverCtas({
|
|
|
3619
3639
|
optixFlowConfig
|
|
3620
3640
|
}) {
|
|
3621
3641
|
const resolvedItems = items ?? [];
|
|
3622
|
-
const itemsContent =
|
|
3642
|
+
const itemsContent = React6.useMemo(() => {
|
|
3623
3643
|
if (itemsSlot) return itemsSlot;
|
|
3624
3644
|
return resolvedItems.map((item, index) => {
|
|
3625
3645
|
const CardComponent = item.cardHref ? "a" : "div";
|
|
@@ -3709,13 +3729,13 @@ function BannerAnnouncementDismissible({
|
|
|
3709
3729
|
actionsClassName,
|
|
3710
3730
|
dismissButtonClassName
|
|
3711
3731
|
}) {
|
|
3712
|
-
const [isVisible, setIsVisible] =
|
|
3732
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
3713
3733
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
3714
|
-
const handleDismiss =
|
|
3734
|
+
const handleDismiss = React6.useCallback(() => {
|
|
3715
3735
|
setIsVisible(false);
|
|
3716
3736
|
onDismiss?.();
|
|
3717
3737
|
}, [onDismiss]);
|
|
3718
|
-
const actionsContent =
|
|
3738
|
+
const actionsContent = React6.useMemo(() => {
|
|
3719
3739
|
if (actionsSlot) return actionsSlot;
|
|
3720
3740
|
if (!actions || actions.length === 0) return null;
|
|
3721
3741
|
return actions.map((action, index) => {
|
|
@@ -3743,7 +3763,7 @@ function BannerAnnouncementDismissible({
|
|
|
3743
3763
|
);
|
|
3744
3764
|
});
|
|
3745
3765
|
}, [actions, actionsSlot]);
|
|
3746
|
-
const iconContent =
|
|
3766
|
+
const iconContent = React6.useMemo(() => {
|
|
3747
3767
|
if (icon) return icon;
|
|
3748
3768
|
if (!iconName) return null;
|
|
3749
3769
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3755,11 +3775,11 @@ function BannerAnnouncementDismissible({
|
|
|
3755
3775
|
}
|
|
3756
3776
|
);
|
|
3757
3777
|
}, [icon, iconName, iconClassName]);
|
|
3758
|
-
const dismissIconContent =
|
|
3778
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
3759
3779
|
if (dismissIcon) return dismissIcon;
|
|
3760
3780
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
3761
3781
|
}, [dismissIcon]);
|
|
3762
|
-
const messageContent =
|
|
3782
|
+
const messageContent = React6.useMemo(() => {
|
|
3763
3783
|
if (!message) return null;
|
|
3764
3784
|
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 });
|
|
3765
3785
|
}, [message, messageClassName]);
|
|
@@ -3805,12 +3825,12 @@ function BannerCountdownSale({
|
|
|
3805
3825
|
separatorClassName
|
|
3806
3826
|
}) {
|
|
3807
3827
|
const targetTime = endTime;
|
|
3808
|
-
const [timeLeft, setTimeLeft] =
|
|
3828
|
+
const [timeLeft, setTimeLeft] = React6.useState({
|
|
3809
3829
|
hours: 0,
|
|
3810
3830
|
minutes: 0,
|
|
3811
3831
|
seconds: 0
|
|
3812
3832
|
});
|
|
3813
|
-
|
|
3833
|
+
React6.useEffect(() => {
|
|
3814
3834
|
if (!targetTime) {
|
|
3815
3835
|
return;
|
|
3816
3836
|
}
|
|
@@ -3833,8 +3853,8 @@ function BannerCountdownSale({
|
|
|
3833
3853
|
}, 1e3);
|
|
3834
3854
|
return () => clearInterval(timer);
|
|
3835
3855
|
}, [targetTime]);
|
|
3836
|
-
const pad =
|
|
3837
|
-
const timerContent =
|
|
3856
|
+
const pad = React6.useCallback((n) => n.toString().padStart(2, "0"), []);
|
|
3857
|
+
const timerContent = React6.useMemo(() => {
|
|
3838
3858
|
if (timerSlot) return timerSlot;
|
|
3839
3859
|
if (renderTimer) return renderTimer(timeLeft);
|
|
3840
3860
|
if (!targetTime) return null;
|
|
@@ -3846,11 +3866,11 @@ function BannerCountdownSale({
|
|
|
3846
3866
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded bg-destructive px-2 py-0.5", timeUnitClassName), children: pad(timeLeft.seconds) })
|
|
3847
3867
|
] });
|
|
3848
3868
|
}, [timerSlot, renderTimer, timeLeft, timerClassName, timeUnitClassName, separatorClassName, pad, targetTime]);
|
|
3849
|
-
const messageContent =
|
|
3869
|
+
const messageContent = React6.useMemo(() => {
|
|
3850
3870
|
if (!message) return null;
|
|
3851
3871
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: messageClassName, children: message });
|
|
3852
3872
|
}, [message, messageClassName]);
|
|
3853
|
-
const descriptionContent =
|
|
3873
|
+
const descriptionContent = React6.useMemo(() => {
|
|
3854
3874
|
if (!description) return null;
|
|
3855
3875
|
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-destructive-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description });
|
|
3856
3876
|
}, [description, descriptionClassName]);
|
|
@@ -3879,12 +3899,12 @@ function BannerDeliveryCountdown({
|
|
|
3879
3899
|
deliveryDateClassName
|
|
3880
3900
|
}) {
|
|
3881
3901
|
const targetTime = cutoffTime;
|
|
3882
|
-
const [timeLeft, setTimeLeft] =
|
|
3902
|
+
const [timeLeft, setTimeLeft] = React6.useState({
|
|
3883
3903
|
hours: 0,
|
|
3884
3904
|
minutes: 0,
|
|
3885
3905
|
seconds: 0
|
|
3886
3906
|
});
|
|
3887
|
-
|
|
3907
|
+
React6.useEffect(() => {
|
|
3888
3908
|
if (!targetTime) {
|
|
3889
3909
|
return;
|
|
3890
3910
|
}
|
|
@@ -3907,13 +3927,13 @@ function BannerDeliveryCountdown({
|
|
|
3907
3927
|
}, 1e3);
|
|
3908
3928
|
return () => clearInterval(timer);
|
|
3909
3929
|
}, [targetTime]);
|
|
3910
|
-
const pad =
|
|
3911
|
-
const iconContent =
|
|
3930
|
+
const pad = React6.useCallback((n) => n.toString().padStart(2, "0"), []);
|
|
3931
|
+
const iconContent = React6.useMemo(() => {
|
|
3912
3932
|
if (icon) return icon;
|
|
3913
3933
|
if (!iconName) return null;
|
|
3914
3934
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: iconName, size: 16, className: iconClassName });
|
|
3915
3935
|
}, [icon, iconName, iconClassName]);
|
|
3916
|
-
const timerContent =
|
|
3936
|
+
const timerContent = React6.useMemo(() => {
|
|
3917
3937
|
if (timerSlot) return timerSlot;
|
|
3918
3938
|
if (renderTimer) return renderTimer(timeLeft);
|
|
3919
3939
|
if (!targetTime) return null;
|
|
@@ -3925,18 +3945,18 @@ function BannerDeliveryCountdown({
|
|
|
3925
3945
|
pad(timeLeft.seconds)
|
|
3926
3946
|
] });
|
|
3927
3947
|
}, [timerSlot, renderTimer, timeLeft, timerClassName, pad, targetTime]);
|
|
3928
|
-
const deliveryDateContent =
|
|
3948
|
+
const deliveryDateContent = React6.useMemo(() => {
|
|
3929
3949
|
if (!deliveryDate) return null;
|
|
3930
3950
|
return typeof deliveryDate === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold", deliveryDateClassName), children: deliveryDate }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: deliveryDateClassName, children: deliveryDate });
|
|
3931
3951
|
}, [deliveryDate, deliveryDateClassName]);
|
|
3932
|
-
const messageParts =
|
|
3952
|
+
const messageParts = React6.useMemo(() => {
|
|
3933
3953
|
return [prefixText, timerContent, middleText, deliveryDateContent].filter(
|
|
3934
3954
|
(part) => part !== null && part !== void 0
|
|
3935
3955
|
);
|
|
3936
3956
|
}, [prefixText, timerContent, middleText, deliveryDateContent]);
|
|
3937
3957
|
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: [
|
|
3938
3958
|
iconContent,
|
|
3939
|
-
messageParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3959
|
+
messageParts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxRuntime.jsxs(React6__namespace.Fragment, { children: [
|
|
3940
3960
|
index > 0 ? " " : null,
|
|
3941
3961
|
part
|
|
3942
3962
|
] }, index)) })
|
|
@@ -3958,7 +3978,7 @@ function BannerEventPromo({
|
|
|
3958
3978
|
eventDetailsClassName,
|
|
3959
3979
|
actionsClassName
|
|
3960
3980
|
}) {
|
|
3961
|
-
const actionsContent =
|
|
3981
|
+
const actionsContent = React6.useMemo(() => {
|
|
3962
3982
|
if (actionsSlot) return actionsSlot;
|
|
3963
3983
|
if (!actions || actions.length === 0) return null;
|
|
3964
3984
|
return actions.map((action, index) => {
|
|
@@ -3986,7 +4006,7 @@ function BannerEventPromo({
|
|
|
3986
4006
|
);
|
|
3987
4007
|
});
|
|
3988
4008
|
}, [actions, actionsSlot]);
|
|
3989
|
-
const separatorContent =
|
|
4009
|
+
const separatorContent = React6.useMemo(() => {
|
|
3990
4010
|
if (separator) return separator;
|
|
3991
4011
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3992
4012
|
"svg",
|
|
@@ -3998,11 +4018,11 @@ function BannerEventPromo({
|
|
|
3998
4018
|
}
|
|
3999
4019
|
);
|
|
4000
4020
|
}, [separator, separatorClassName]);
|
|
4001
|
-
const eventNameContent =
|
|
4021
|
+
const eventNameContent = React6.useMemo(() => {
|
|
4002
4022
|
if (!eventName) return null;
|
|
4003
4023
|
return typeof eventName === "string" ? /* @__PURE__ */ jsxRuntime.jsx("strong", { className: cn("font-semibold", eventNameClassName), children: eventName }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventNameClassName, children: eventName });
|
|
4004
4024
|
}, [eventName, eventNameClassName]);
|
|
4005
|
-
const eventDetailsContent =
|
|
4025
|
+
const eventDetailsContent = React6.useMemo(() => {
|
|
4006
4026
|
if (!eventDetails) return null;
|
|
4007
4027
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: eventDetailsClassName, children: eventDetails });
|
|
4008
4028
|
}, [eventDetails, eventDetailsClassName]);
|
|
@@ -4039,22 +4059,22 @@ function BannerFloatingOffer({
|
|
|
4039
4059
|
}) {
|
|
4040
4060
|
const isControlled = open !== void 0;
|
|
4041
4061
|
const initialOpen = defaultOpen ?? true;
|
|
4042
|
-
const [internalOpen, setInternalOpen] =
|
|
4062
|
+
const [internalOpen, setInternalOpen] = React6.useState(initialOpen);
|
|
4043
4063
|
const isVisible = isControlled ? open : internalOpen;
|
|
4044
4064
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4045
4065
|
const isDismissible = dismissible ?? false;
|
|
4046
|
-
|
|
4066
|
+
React6.useEffect(() => {
|
|
4047
4067
|
if (!isControlled && defaultOpen !== internalOpen) {
|
|
4048
4068
|
setInternalOpen(initialOpen);
|
|
4049
4069
|
}
|
|
4050
4070
|
}, [defaultOpen, initialOpen, isControlled, internalOpen]);
|
|
4051
|
-
const handleDismiss =
|
|
4071
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4052
4072
|
if (!isControlled) {
|
|
4053
4073
|
setInternalOpen(false);
|
|
4054
4074
|
}
|
|
4055
4075
|
onOpenChange?.(false);
|
|
4056
4076
|
}, [isControlled, onOpenChange]);
|
|
4057
|
-
const actionsContent =
|
|
4077
|
+
const actionsContent = React6.useMemo(() => {
|
|
4058
4078
|
if (actionsSlot) return actionsSlot;
|
|
4059
4079
|
if (!actions || actions.length === 0) return null;
|
|
4060
4080
|
return actions.map((action, index) => {
|
|
@@ -4082,7 +4102,7 @@ function BannerFloatingOffer({
|
|
|
4082
4102
|
);
|
|
4083
4103
|
});
|
|
4084
4104
|
}, [actions, actionsSlot]);
|
|
4085
|
-
const separatorContent =
|
|
4105
|
+
const separatorContent = React6.useMemo(() => {
|
|
4086
4106
|
if (separator) return separator;
|
|
4087
4107
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4088
4108
|
"svg",
|
|
@@ -4094,15 +4114,15 @@ function BannerFloatingOffer({
|
|
|
4094
4114
|
}
|
|
4095
4115
|
);
|
|
4096
4116
|
}, [separator, separatorClassName]);
|
|
4097
|
-
const dismissIconContent =
|
|
4117
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4098
4118
|
if (dismissIcon) return dismissIcon;
|
|
4099
4119
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4100
4120
|
}, [dismissIcon]);
|
|
4101
|
-
const offerTitleContent =
|
|
4121
|
+
const offerTitleContent = React6.useMemo(() => {
|
|
4102
4122
|
if (!offerTitle) return null;
|
|
4103
4123
|
return typeof offerTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("strong", { className: cn("font-semibold", offerTitleClassName), children: offerTitle }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: offerTitleClassName, children: offerTitle });
|
|
4104
4124
|
}, [offerTitle, offerTitleClassName]);
|
|
4105
|
-
const offerDescriptionContent =
|
|
4125
|
+
const offerDescriptionContent = React6.useMemo(() => {
|
|
4106
4126
|
if (!offerDescription) return null;
|
|
4107
4127
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: offerDescriptionClassName, children: offerDescription });
|
|
4108
4128
|
}, [offerDescription, offerDescriptionClassName]);
|
|
@@ -4163,13 +4183,13 @@ function BannerGdprRights({
|
|
|
4163
4183
|
actionsClassName,
|
|
4164
4184
|
dismissButtonClassName
|
|
4165
4185
|
}) {
|
|
4166
|
-
const [isVisible, setIsVisible] =
|
|
4186
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4167
4187
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4168
|
-
const handleDismiss =
|
|
4188
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4169
4189
|
setIsVisible(false);
|
|
4170
4190
|
onDismiss?.();
|
|
4171
4191
|
}, [onDismiss]);
|
|
4172
|
-
const iconContent =
|
|
4192
|
+
const iconContent = React6.useMemo(() => {
|
|
4173
4193
|
if (icon) return icon;
|
|
4174
4194
|
if (!iconName) return null;
|
|
4175
4195
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4181,7 +4201,7 @@ function BannerGdprRights({
|
|
|
4181
4201
|
}
|
|
4182
4202
|
);
|
|
4183
4203
|
}, [icon, iconName, iconClassName]);
|
|
4184
|
-
const actionsContent =
|
|
4204
|
+
const actionsContent = React6.useMemo(() => {
|
|
4185
4205
|
if (actionsSlot) return actionsSlot;
|
|
4186
4206
|
if (!actions || actions.length === 0) return null;
|
|
4187
4207
|
return actions.map((action, index) => {
|
|
@@ -4208,15 +4228,15 @@ function BannerGdprRights({
|
|
|
4208
4228
|
);
|
|
4209
4229
|
});
|
|
4210
4230
|
}, [actions, actionsSlot]);
|
|
4211
|
-
const dismissIconContent =
|
|
4231
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4212
4232
|
if (dismissIcon) return dismissIcon;
|
|
4213
4233
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4214
4234
|
}, [dismissIcon]);
|
|
4215
|
-
const titleContent =
|
|
4235
|
+
const titleContent = React6.useMemo(() => {
|
|
4216
4236
|
if (!title) return null;
|
|
4217
4237
|
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 });
|
|
4218
4238
|
}, [title, titleClassName]);
|
|
4219
|
-
const descriptionContent =
|
|
4239
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4220
4240
|
if (!description && !actionsContent) return null;
|
|
4221
4241
|
return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: [
|
|
4222
4242
|
description,
|
|
@@ -4270,13 +4290,13 @@ function BannerPrivacyNotice({
|
|
|
4270
4290
|
actionsClassName,
|
|
4271
4291
|
dismissButtonClassName
|
|
4272
4292
|
}) {
|
|
4273
|
-
const [isVisible, setIsVisible] =
|
|
4293
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4274
4294
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4275
|
-
const handleDismiss =
|
|
4295
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4276
4296
|
setIsVisible(false);
|
|
4277
4297
|
onDismiss?.();
|
|
4278
4298
|
}, [onDismiss]);
|
|
4279
|
-
const iconContent =
|
|
4299
|
+
const iconContent = React6.useMemo(() => {
|
|
4280
4300
|
if (icon) return icon;
|
|
4281
4301
|
if (!iconName) return null;
|
|
4282
4302
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4288,7 +4308,7 @@ function BannerPrivacyNotice({
|
|
|
4288
4308
|
}
|
|
4289
4309
|
);
|
|
4290
4310
|
}, [icon, iconName, iconClassName]);
|
|
4291
|
-
const actionsContent =
|
|
4311
|
+
const actionsContent = React6.useMemo(() => {
|
|
4292
4312
|
if (actionsSlot) return actionsSlot;
|
|
4293
4313
|
if (!actions || actions.length === 0) return null;
|
|
4294
4314
|
return actions.map((action, index) => {
|
|
@@ -4315,15 +4335,15 @@ function BannerPrivacyNotice({
|
|
|
4315
4335
|
);
|
|
4316
4336
|
});
|
|
4317
4337
|
}, [actions, actionsSlot]);
|
|
4318
|
-
const dismissIconContent =
|
|
4338
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4319
4339
|
if (dismissIcon) return dismissIcon;
|
|
4320
4340
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4321
4341
|
}, [dismissIcon]);
|
|
4322
|
-
const titleContent =
|
|
4342
|
+
const titleContent = React6.useMemo(() => {
|
|
4323
4343
|
if (!title) return null;
|
|
4324
4344
|
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 });
|
|
4325
4345
|
}, [title, titleClassName]);
|
|
4326
|
-
const descriptionContent =
|
|
4346
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4327
4347
|
if (!description) return null;
|
|
4328
4348
|
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 });
|
|
4329
4349
|
}, [description, descriptionClassName]);
|
|
@@ -4370,7 +4390,7 @@ function BannerPromoCta({
|
|
|
4370
4390
|
discountClassName,
|
|
4371
4391
|
actionsClassName
|
|
4372
4392
|
}) {
|
|
4373
|
-
const actionsContent =
|
|
4393
|
+
const actionsContent = React6.useMemo(() => {
|
|
4374
4394
|
if (actionsSlot) return actionsSlot;
|
|
4375
4395
|
if (!actions || actions.length === 0) return null;
|
|
4376
4396
|
return actions.map((action, index) => {
|
|
@@ -4397,15 +4417,15 @@ function BannerPromoCta({
|
|
|
4397
4417
|
);
|
|
4398
4418
|
});
|
|
4399
4419
|
}, [actions, actionsSlot]);
|
|
4400
|
-
const separatorContent =
|
|
4420
|
+
const separatorContent = React6.useMemo(() => {
|
|
4401
4421
|
if (separator) return separator;
|
|
4402
4422
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("hidden sm:inline", separatorClassName), children: "\xB7" });
|
|
4403
4423
|
}, [separator, separatorClassName]);
|
|
4404
|
-
const messageContent =
|
|
4424
|
+
const messageContent = React6.useMemo(() => {
|
|
4405
4425
|
if (!message) return null;
|
|
4406
4426
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
4407
4427
|
}, [message, messageClassName]);
|
|
4408
|
-
const discountContent =
|
|
4428
|
+
const discountContent = React6.useMemo(() => {
|
|
4409
4429
|
if (!discount) return null;
|
|
4410
4430
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: discountClassName, children: discount });
|
|
4411
4431
|
}, [discount, discountClassName]);
|
|
@@ -4433,13 +4453,13 @@ function BannerSocialFollow({
|
|
|
4433
4453
|
actionsClassName,
|
|
4434
4454
|
dismissButtonClassName
|
|
4435
4455
|
}) {
|
|
4436
|
-
const [isVisible, setIsVisible] =
|
|
4456
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4437
4457
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4438
|
-
const handleDismiss =
|
|
4458
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4439
4459
|
setIsVisible(false);
|
|
4440
4460
|
onDismiss?.();
|
|
4441
4461
|
}, [onDismiss]);
|
|
4442
|
-
const iconContent =
|
|
4462
|
+
const iconContent = React6.useMemo(() => {
|
|
4443
4463
|
if (icon) return icon;
|
|
4444
4464
|
if (!iconName) return null;
|
|
4445
4465
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4451,7 +4471,7 @@ function BannerSocialFollow({
|
|
|
4451
4471
|
}
|
|
4452
4472
|
);
|
|
4453
4473
|
}, [icon, iconName, iconClassName]);
|
|
4454
|
-
const actionsContent =
|
|
4474
|
+
const actionsContent = React6.useMemo(() => {
|
|
4455
4475
|
if (actionsSlot) return actionsSlot;
|
|
4456
4476
|
if (!actions || actions.length === 0) return null;
|
|
4457
4477
|
return actions.map((action, index) => {
|
|
@@ -4479,11 +4499,11 @@ function BannerSocialFollow({
|
|
|
4479
4499
|
);
|
|
4480
4500
|
});
|
|
4481
4501
|
}, [actions, actionsSlot]);
|
|
4482
|
-
const dismissIconContent =
|
|
4502
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4483
4503
|
if (dismissIcon) return dismissIcon;
|
|
4484
4504
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4485
4505
|
}, [dismissIcon]);
|
|
4486
|
-
const messageContent =
|
|
4506
|
+
const messageContent = React6.useMemo(() => {
|
|
4487
4507
|
if (!message) return null;
|
|
4488
4508
|
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
4489
4509
|
}, [message, messageClassName]);
|
|
@@ -4531,13 +4551,13 @@ function BannerSurveyIncentive({
|
|
|
4531
4551
|
actionsClassName,
|
|
4532
4552
|
dismissButtonClassName
|
|
4533
4553
|
}) {
|
|
4534
|
-
const [isVisible, setIsVisible] =
|
|
4554
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
4535
4555
|
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
4536
|
-
const handleDismiss =
|
|
4556
|
+
const handleDismiss = React6.useCallback(() => {
|
|
4537
4557
|
setIsVisible(false);
|
|
4538
4558
|
onDismiss?.();
|
|
4539
4559
|
}, [onDismiss]);
|
|
4540
|
-
const iconContent =
|
|
4560
|
+
const iconContent = React6.useMemo(() => {
|
|
4541
4561
|
if (icon) return icon;
|
|
4542
4562
|
if (!iconName) return null;
|
|
4543
4563
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4549,7 +4569,7 @@ function BannerSurveyIncentive({
|
|
|
4549
4569
|
}
|
|
4550
4570
|
);
|
|
4551
4571
|
}, [icon, iconName, iconClassName]);
|
|
4552
|
-
const actionsContent =
|
|
4572
|
+
const actionsContent = React6.useMemo(() => {
|
|
4553
4573
|
if (actionsSlot) return actionsSlot;
|
|
4554
4574
|
if (!actions || actions.length === 0) return null;
|
|
4555
4575
|
return actions.map((action, index) => {
|
|
@@ -4577,15 +4597,15 @@ function BannerSurveyIncentive({
|
|
|
4577
4597
|
);
|
|
4578
4598
|
});
|
|
4579
4599
|
}, [actions, actionsSlot]);
|
|
4580
|
-
const dismissIconContent =
|
|
4600
|
+
const dismissIconContent = React6.useMemo(() => {
|
|
4581
4601
|
if (dismissIcon) return dismissIcon;
|
|
4582
4602
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
4583
4603
|
}, [dismissIcon]);
|
|
4584
|
-
const titleContent =
|
|
4604
|
+
const titleContent = React6.useMemo(() => {
|
|
4585
4605
|
if (!title) return null;
|
|
4586
4606
|
return typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: titleClassName, children: title });
|
|
4587
4607
|
}, [title, titleClassName]);
|
|
4588
|
-
const descriptionContent =
|
|
4608
|
+
const descriptionContent = React6.useMemo(() => {
|
|
4589
4609
|
if (!description) return null;
|
|
4590
4610
|
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: descriptionClassName, children: description });
|
|
4591
4611
|
}, [description, descriptionClassName]);
|
|
@@ -4695,7 +4715,7 @@ function FooterCopyright({
|
|
|
4695
4715
|
copyright,
|
|
4696
4716
|
className
|
|
4697
4717
|
}) {
|
|
4698
|
-
const currentYear =
|
|
4718
|
+
const currentYear = React6.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
4699
4719
|
if (!copyright) {
|
|
4700
4720
|
return null;
|
|
4701
4721
|
}
|
|
@@ -5207,8 +5227,8 @@ var BrandAttribution = ({
|
|
|
5207
5227
|
}
|
|
5208
5228
|
const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
|
|
5209
5229
|
const ContainerEl = variant;
|
|
5210
|
-
const [trackedHref, setTrackedHref] =
|
|
5211
|
-
|
|
5230
|
+
const [trackedHref, setTrackedHref] = React6__namespace.useState(href);
|
|
5231
|
+
React6__namespace.useEffect(() => {
|
|
5212
5232
|
setTrackedHref(buildTrackedHref(href));
|
|
5213
5233
|
}, [href]);
|
|
5214
5234
|
return /* @__PURE__ */ jsxRuntime.jsxs(ContainerEl, { className: containerClassName, children: [
|
|
@@ -5328,7 +5348,7 @@ function FooterSocialNewsletter({
|
|
|
5328
5348
|
patternOpacity,
|
|
5329
5349
|
optixFlowConfig
|
|
5330
5350
|
}) {
|
|
5331
|
-
const renderForm =
|
|
5351
|
+
const renderForm = React6__namespace.useMemo(() => {
|
|
5332
5352
|
if (!formEngineSetup) return null;
|
|
5333
5353
|
const action = {
|
|
5334
5354
|
variant: "default",
|
|
@@ -5481,14 +5501,14 @@ function FooterSocialApps({
|
|
|
5481
5501
|
patternOpacity,
|
|
5482
5502
|
optixFlowConfig
|
|
5483
5503
|
}) {
|
|
5484
|
-
const sectionsContent =
|
|
5504
|
+
const sectionsContent = React6.useMemo(() => {
|
|
5485
5505
|
if (!sections || sections.length === 0) return null;
|
|
5486
5506
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 md:mt-0", children: [
|
|
5487
5507
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
5488
5508
|
/* @__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)) })
|
|
5489
5509
|
] }, sectionIdx));
|
|
5490
5510
|
}, [sections]);
|
|
5491
|
-
const socialLinksContent =
|
|
5511
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
5492
5512
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
5493
5513
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5494
5514
|
SocialLinkIcon,
|
|
@@ -5503,7 +5523,7 @@ function FooterSocialApps({
|
|
|
5503
5523
|
}
|
|
5504
5524
|
) }, idx));
|
|
5505
5525
|
}, [socialLinks, background]);
|
|
5506
|
-
const appLinksContent =
|
|
5526
|
+
const appLinksContent = React6.useMemo(() => {
|
|
5507
5527
|
if (!appLinks || appLinks.length === 0) return null;
|
|
5508
5528
|
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(
|
|
5509
5529
|
"span",
|
|
@@ -5592,7 +5612,7 @@ function FooterSimpleCentered({
|
|
|
5592
5612
|
patternOpacity,
|
|
5593
5613
|
optixFlowConfig
|
|
5594
5614
|
}) {
|
|
5595
|
-
const sitemapContent =
|
|
5615
|
+
const sitemapContent = React6.useMemo(() => {
|
|
5596
5616
|
if (!sitemap || sitemap.length === 0) return null;
|
|
5597
5617
|
return sitemap.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(sitemapSectionClassName), children: [
|
|
5598
5618
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-semibold", sitemapTitleClassName), children: section.title }),
|
|
@@ -5615,9 +5635,9 @@ function FooterSimpleCentered({
|
|
|
5615
5635
|
sitemapLinksClassName,
|
|
5616
5636
|
sitemapLinkClassName
|
|
5617
5637
|
]);
|
|
5618
|
-
const bottomLinksContent =
|
|
5638
|
+
const bottomLinksContent = React6.useMemo(() => {
|
|
5619
5639
|
if (!bottomLinks || bottomLinks.length === 0) return null;
|
|
5620
|
-
return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5640
|
+
return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(React6__namespace.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5621
5641
|
Pressable,
|
|
5622
5642
|
{
|
|
5623
5643
|
href: link.href,
|
|
@@ -5942,7 +5962,7 @@ function FooterNewsletterGrid({
|
|
|
5942
5962
|
patternOpacity,
|
|
5943
5963
|
optixFlowConfig
|
|
5944
5964
|
}) {
|
|
5945
|
-
const sectionsContent =
|
|
5965
|
+
const sectionsContent = React6.useMemo(() => {
|
|
5946
5966
|
if (!sections || sections.length === 0) return null;
|
|
5947
5967
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
|
|
5948
5968
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
|
|
@@ -5956,7 +5976,7 @@ function FooterNewsletterGrid({
|
|
|
5956
5976
|
)) })
|
|
5957
5977
|
] }, sectionIdx));
|
|
5958
5978
|
}, [sections]);
|
|
5959
|
-
const socialLinksContent =
|
|
5979
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
5960
5980
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
5961
5981
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5962
5982
|
SocialLinkIcon,
|
|
@@ -6472,7 +6492,7 @@ function FooterBackgroundCard({
|
|
|
6472
6492
|
patternOpacity,
|
|
6473
6493
|
optixFlowConfig
|
|
6474
6494
|
}) {
|
|
6475
|
-
const sectionStyle =
|
|
6495
|
+
const sectionStyle = React6.useMemo(
|
|
6476
6496
|
() => backgroundImage ? { backgroundImage: `url('${backgroundImage}')` } : void 0,
|
|
6477
6497
|
[backgroundImage]
|
|
6478
6498
|
);
|
|
@@ -6746,7 +6766,7 @@ function FooterAnimatedSocial({
|
|
|
6746
6766
|
pattern,
|
|
6747
6767
|
patternOpacity
|
|
6748
6768
|
}) {
|
|
6749
|
-
const socialLinksContent =
|
|
6769
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
6750
6770
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
6751
6771
|
return socialLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6752
6772
|
framerMotion.motion.div,
|
|
@@ -6964,7 +6984,7 @@ function FooterNewsletterMinimal({
|
|
|
6964
6984
|
buttonAction,
|
|
6965
6985
|
formSlot
|
|
6966
6986
|
}) {
|
|
6967
|
-
const navLinksContent =
|
|
6987
|
+
const navLinksContent = React6__namespace.useMemo(() => {
|
|
6968
6988
|
if (!navLinks || navLinks.length === 0) return null;
|
|
6969
6989
|
return navLinks.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6970
6990
|
Pressable,
|
|
@@ -6975,7 +6995,7 @@ function FooterNewsletterMinimal({
|
|
|
6975
6995
|
}
|
|
6976
6996
|
) }, idx));
|
|
6977
6997
|
}, [navLinks, navLinkClassName]);
|
|
6978
|
-
const socialLinksContent =
|
|
6998
|
+
const socialLinksContent = React6__namespace.useMemo(() => {
|
|
6979
6999
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
6980
7000
|
return socialLinks.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6981
7001
|
SocialLinkIcon,
|
|
@@ -6991,7 +7011,7 @@ function FooterNewsletterMinimal({
|
|
|
6991
7011
|
}
|
|
6992
7012
|
) }, idx));
|
|
6993
7013
|
}, [socialLinks, socialLinkClassName]);
|
|
6994
|
-
const footerLinksContent =
|
|
7014
|
+
const footerLinksContent = React6__namespace.useMemo(() => {
|
|
6995
7015
|
if (!footerLinks || footerLinks.length === 0) return null;
|
|
6996
7016
|
return footerLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6997
7017
|
Pressable,
|
|
@@ -7005,7 +7025,7 @@ function FooterNewsletterMinimal({
|
|
|
7005
7025
|
}
|
|
7006
7026
|
) }, item.label));
|
|
7007
7027
|
}, [footerLinks, footerLinkClassName]);
|
|
7008
|
-
const renderForm =
|
|
7028
|
+
const renderForm = React6__namespace.useMemo(() => {
|
|
7009
7029
|
if (formSlot) return formSlot;
|
|
7010
7030
|
if (!formEngineSetup) return null;
|
|
7011
7031
|
const defaultButtonAction = {
|
|
@@ -7240,7 +7260,7 @@ function FooterCtaSocial({
|
|
|
7240
7260
|
pattern,
|
|
7241
7261
|
patternOpacity
|
|
7242
7262
|
}) {
|
|
7243
|
-
const socialLinksContent =
|
|
7263
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
7244
7264
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
7245
7265
|
return socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7246
7266
|
SocialLinkIcon,
|
|
@@ -7358,7 +7378,7 @@ function FooterNavSocial({
|
|
|
7358
7378
|
patternOpacity,
|
|
7359
7379
|
optixFlowConfig
|
|
7360
7380
|
}) {
|
|
7361
|
-
const sectionsContent =
|
|
7381
|
+
const sectionsContent = React6.useMemo(() => {
|
|
7362
7382
|
if (!sections || sections.length === 0) return null;
|
|
7363
7383
|
return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
|
|
7364
7384
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
|
|
@@ -7371,7 +7391,7 @@ function FooterNavSocial({
|
|
|
7371
7391
|
navLinksClassName,
|
|
7372
7392
|
navLinkClassName
|
|
7373
7393
|
]);
|
|
7374
|
-
const socialLinksContent =
|
|
7394
|
+
const socialLinksContent = React6.useMemo(() => {
|
|
7375
7395
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
7376
7396
|
return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7377
7397
|
SocialLinkIcon,
|
|
@@ -7386,7 +7406,7 @@ function FooterNavSocial({
|
|
|
7386
7406
|
}
|
|
7387
7407
|
) }, idx));
|
|
7388
7408
|
}, [socialLinks, socialLinkClassName]);
|
|
7389
|
-
const legalLinksContent =
|
|
7409
|
+
const legalLinksContent = React6.useMemo(() => {
|
|
7390
7410
|
if (!legalLinks || legalLinks.length === 0) return null;
|
|
7391
7411
|
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));
|
|
7392
7412
|
}, [legalLinks, legalLinkClassName]);
|
|
@@ -7554,7 +7574,7 @@ function FooterNavSocial({
|
|
|
7554
7574
|
var useResponsiveLayout = ({
|
|
7555
7575
|
directionConfig = { desktop: "mediaRight", mobile: "mediaTop" }
|
|
7556
7576
|
}) => {
|
|
7557
|
-
const responsiveClassName =
|
|
7577
|
+
const responsiveClassName = React6.useMemo(() => {
|
|
7558
7578
|
const desktopOrder = directionConfig.desktop === "mediaRight" ? "lg:flex-row" : "lg:flex-row-reverse";
|
|
7559
7579
|
const mobileOrder = directionConfig.mobile === "mediaTop" ? "flex-col-reverse" : "flex-col";
|
|
7560
7580
|
return `${mobileOrder} ${desktopOrder}`;
|