@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React2 = require('react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var icon = require('@page-speed/icon');
|
|
@@ -26,7 +26,7 @@ function _interopNamespace(e) {
|
|
|
26
26
|
return Object.freeze(n);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
30
30
|
|
|
31
31
|
// components/blocks/pricing/pricing-collapsible-plans.tsx
|
|
32
32
|
function cn(...inputs) {
|
|
@@ -63,9 +63,13 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
63
63
|
return isDark ? "text-foreground" : "";
|
|
64
64
|
}
|
|
65
65
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
66
|
-
|
|
66
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
67
|
+
apiKey,
|
|
68
|
+
...props
|
|
69
|
+
}) {
|
|
67
70
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
68
|
-
}
|
|
71
|
+
});
|
|
72
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
69
73
|
function normalizePhoneNumber(input) {
|
|
70
74
|
const trimmed = input.trim();
|
|
71
75
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -141,7 +145,7 @@ function useNavigation({
|
|
|
141
145
|
href,
|
|
142
146
|
onClick
|
|
143
147
|
} = {}) {
|
|
144
|
-
const linkType =
|
|
148
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
145
149
|
if (!href || href.trim() === "") {
|
|
146
150
|
return onClick ? "none" : "none";
|
|
147
151
|
}
|
|
@@ -162,7 +166,7 @@ function useNavigation({
|
|
|
162
166
|
return "internal";
|
|
163
167
|
}
|
|
164
168
|
}, [href, onClick]);
|
|
165
|
-
const normalizedHref =
|
|
169
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
166
170
|
if (!href || href.trim() === "") {
|
|
167
171
|
return void 0;
|
|
168
172
|
}
|
|
@@ -180,7 +184,7 @@ function useNavigation({
|
|
|
180
184
|
return trimmed;
|
|
181
185
|
}
|
|
182
186
|
}, [href, linkType]);
|
|
183
|
-
const target =
|
|
187
|
+
const target = React2__namespace.useMemo(() => {
|
|
184
188
|
switch (linkType) {
|
|
185
189
|
case "external":
|
|
186
190
|
return "_blank";
|
|
@@ -193,7 +197,7 @@ function useNavigation({
|
|
|
193
197
|
return void 0;
|
|
194
198
|
}
|
|
195
199
|
}, [linkType]);
|
|
196
|
-
const rel =
|
|
200
|
+
const rel = React2__namespace.useMemo(() => {
|
|
197
201
|
if (linkType === "external") {
|
|
198
202
|
return "noopener noreferrer";
|
|
199
203
|
}
|
|
@@ -202,7 +206,7 @@ function useNavigation({
|
|
|
202
206
|
const isExternal = linkType === "external";
|
|
203
207
|
const isInternal = linkType === "internal";
|
|
204
208
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
205
|
-
const handleClick =
|
|
209
|
+
const handleClick = React2__namespace.useCallback(
|
|
206
210
|
(event) => {
|
|
207
211
|
if (onClick) {
|
|
208
212
|
try {
|
|
@@ -386,7 +390,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
386
390
|
size: "default"
|
|
387
391
|
}
|
|
388
392
|
});
|
|
389
|
-
var Pressable =
|
|
393
|
+
var Pressable = React2__namespace.forwardRef(
|
|
390
394
|
({
|
|
391
395
|
children,
|
|
392
396
|
className,
|
|
@@ -493,7 +497,7 @@ var maxWidthStyles = {
|
|
|
493
497
|
"4xl": "max-w-[1536px]",
|
|
494
498
|
full: "max-w-full"
|
|
495
499
|
};
|
|
496
|
-
var Container =
|
|
500
|
+
var Container = React2__namespace.default.forwardRef(
|
|
497
501
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
498
502
|
const Component = as;
|
|
499
503
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -799,7 +803,7 @@ var spacingStyles = {
|
|
|
799
803
|
};
|
|
800
804
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
801
805
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
802
|
-
var Section =
|
|
806
|
+
var Section = React2__namespace.default.forwardRef(
|
|
803
807
|
({
|
|
804
808
|
id,
|
|
805
809
|
title,
|
|
@@ -901,13 +905,13 @@ function PricingCollapsiblePlans({
|
|
|
901
905
|
featureTextClassName,
|
|
902
906
|
actionClassName
|
|
903
907
|
}) {
|
|
904
|
-
const defaultIndex =
|
|
908
|
+
const defaultIndex = React2.useMemo(() => {
|
|
905
909
|
if (typeof defaultSelectedIndex === "number") return defaultSelectedIndex;
|
|
906
910
|
const popularIndex = plans.findIndex((plan) => plan.isPopular);
|
|
907
911
|
return popularIndex >= 0 ? popularIndex : 0;
|
|
908
912
|
}, [defaultSelectedIndex, plans]);
|
|
909
|
-
const [internalSelected, setInternalSelected] =
|
|
910
|
-
const [isMenuOpen, setIsMenuOpen] =
|
|
913
|
+
const [internalSelected, setInternalSelected] = React2.useState(defaultIndex);
|
|
914
|
+
const [isMenuOpen, setIsMenuOpen] = React2.useState(false);
|
|
911
915
|
const activeIndex = typeof selectedIndex === "number" ? selectedIndex : internalSelected;
|
|
912
916
|
const activePlan = plans[activeIndex] ?? plans[0];
|
|
913
917
|
const updateSelection = (index) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React2 from 'react';
|
|
3
|
+
import React2__default, { useMemo, useState } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Icon } from '@page-speed/icon';
|
|
@@ -42,9 +42,13 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
42
42
|
return isDark ? "text-foreground" : "";
|
|
43
43
|
}
|
|
44
44
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
45
|
-
|
|
45
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
46
|
+
apiKey,
|
|
47
|
+
...props
|
|
48
|
+
}) {
|
|
46
49
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
47
|
-
}
|
|
50
|
+
});
|
|
51
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
48
52
|
function normalizePhoneNumber(input) {
|
|
49
53
|
const trimmed = input.trim();
|
|
50
54
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -120,7 +124,7 @@ function useNavigation({
|
|
|
120
124
|
href,
|
|
121
125
|
onClick
|
|
122
126
|
} = {}) {
|
|
123
|
-
const linkType =
|
|
127
|
+
const linkType = React2.useMemo(() => {
|
|
124
128
|
if (!href || href.trim() === "") {
|
|
125
129
|
return onClick ? "none" : "none";
|
|
126
130
|
}
|
|
@@ -141,7 +145,7 @@ function useNavigation({
|
|
|
141
145
|
return "internal";
|
|
142
146
|
}
|
|
143
147
|
}, [href, onClick]);
|
|
144
|
-
const normalizedHref =
|
|
148
|
+
const normalizedHref = React2.useMemo(() => {
|
|
145
149
|
if (!href || href.trim() === "") {
|
|
146
150
|
return void 0;
|
|
147
151
|
}
|
|
@@ -159,7 +163,7 @@ function useNavigation({
|
|
|
159
163
|
return trimmed;
|
|
160
164
|
}
|
|
161
165
|
}, [href, linkType]);
|
|
162
|
-
const target =
|
|
166
|
+
const target = React2.useMemo(() => {
|
|
163
167
|
switch (linkType) {
|
|
164
168
|
case "external":
|
|
165
169
|
return "_blank";
|
|
@@ -172,7 +176,7 @@ function useNavigation({
|
|
|
172
176
|
return void 0;
|
|
173
177
|
}
|
|
174
178
|
}, [linkType]);
|
|
175
|
-
const rel =
|
|
179
|
+
const rel = React2.useMemo(() => {
|
|
176
180
|
if (linkType === "external") {
|
|
177
181
|
return "noopener noreferrer";
|
|
178
182
|
}
|
|
@@ -181,7 +185,7 @@ function useNavigation({
|
|
|
181
185
|
const isExternal = linkType === "external";
|
|
182
186
|
const isInternal = linkType === "internal";
|
|
183
187
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
184
|
-
const handleClick =
|
|
188
|
+
const handleClick = React2.useCallback(
|
|
185
189
|
(event) => {
|
|
186
190
|
if (onClick) {
|
|
187
191
|
try {
|
|
@@ -365,7 +369,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
365
369
|
size: "default"
|
|
366
370
|
}
|
|
367
371
|
});
|
|
368
|
-
var Pressable =
|
|
372
|
+
var Pressable = React2.forwardRef(
|
|
369
373
|
({
|
|
370
374
|
children,
|
|
371
375
|
className,
|
|
@@ -472,7 +476,7 @@ var maxWidthStyles = {
|
|
|
472
476
|
"4xl": "max-w-[1536px]",
|
|
473
477
|
full: "max-w-full"
|
|
474
478
|
};
|
|
475
|
-
var Container =
|
|
479
|
+
var Container = React2__default.forwardRef(
|
|
476
480
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
477
481
|
const Component = as;
|
|
478
482
|
return /* @__PURE__ */ jsx(
|
|
@@ -778,7 +782,7 @@ var spacingStyles = {
|
|
|
778
782
|
};
|
|
779
783
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
780
784
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
781
|
-
var Section =
|
|
785
|
+
var Section = React2__default.forwardRef(
|
|
782
786
|
({
|
|
783
787
|
id,
|
|
784
788
|
title,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React2 = require('react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var icon = require('@page-speed/icon');
|
|
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
return Object.freeze(n);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
31
31
|
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
32
32
|
|
|
33
33
|
// components/blocks/pricing/pricing-columns-toggle.tsx
|
|
@@ -35,9 +35,13 @@ function cn(...inputs) {
|
|
|
35
35
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
36
36
|
}
|
|
37
37
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
38
|
-
|
|
38
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
39
|
+
apiKey,
|
|
40
|
+
...props
|
|
41
|
+
}) {
|
|
39
42
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
40
|
-
}
|
|
43
|
+
});
|
|
44
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
41
45
|
function normalizePhoneNumber(input) {
|
|
42
46
|
const trimmed = input.trim();
|
|
43
47
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -113,7 +117,7 @@ function useNavigation({
|
|
|
113
117
|
href,
|
|
114
118
|
onClick
|
|
115
119
|
} = {}) {
|
|
116
|
-
const linkType =
|
|
120
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
117
121
|
if (!href || href.trim() === "") {
|
|
118
122
|
return onClick ? "none" : "none";
|
|
119
123
|
}
|
|
@@ -134,7 +138,7 @@ function useNavigation({
|
|
|
134
138
|
return "internal";
|
|
135
139
|
}
|
|
136
140
|
}, [href, onClick]);
|
|
137
|
-
const normalizedHref =
|
|
141
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
138
142
|
if (!href || href.trim() === "") {
|
|
139
143
|
return void 0;
|
|
140
144
|
}
|
|
@@ -152,7 +156,7 @@ function useNavigation({
|
|
|
152
156
|
return trimmed;
|
|
153
157
|
}
|
|
154
158
|
}, [href, linkType]);
|
|
155
|
-
const target =
|
|
159
|
+
const target = React2__namespace.useMemo(() => {
|
|
156
160
|
switch (linkType) {
|
|
157
161
|
case "external":
|
|
158
162
|
return "_blank";
|
|
@@ -165,7 +169,7 @@ function useNavigation({
|
|
|
165
169
|
return void 0;
|
|
166
170
|
}
|
|
167
171
|
}, [linkType]);
|
|
168
|
-
const rel =
|
|
172
|
+
const rel = React2__namespace.useMemo(() => {
|
|
169
173
|
if (linkType === "external") {
|
|
170
174
|
return "noopener noreferrer";
|
|
171
175
|
}
|
|
@@ -174,7 +178,7 @@ function useNavigation({
|
|
|
174
178
|
const isExternal = linkType === "external";
|
|
175
179
|
const isInternal = linkType === "internal";
|
|
176
180
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
177
|
-
const handleClick =
|
|
181
|
+
const handleClick = React2__namespace.useCallback(
|
|
178
182
|
(event) => {
|
|
179
183
|
if (onClick) {
|
|
180
184
|
try {
|
|
@@ -358,7 +362,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
358
362
|
size: "default"
|
|
359
363
|
}
|
|
360
364
|
});
|
|
361
|
-
var Pressable =
|
|
365
|
+
var Pressable = React2__namespace.forwardRef(
|
|
362
366
|
({
|
|
363
367
|
children,
|
|
364
368
|
className,
|
|
@@ -485,7 +489,7 @@ var maxWidthStyles = {
|
|
|
485
489
|
"4xl": "max-w-[1536px]",
|
|
486
490
|
full: "max-w-full"
|
|
487
491
|
};
|
|
488
|
-
var Container =
|
|
492
|
+
var Container = React2__namespace.default.forwardRef(
|
|
489
493
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
490
494
|
const Component = as;
|
|
491
495
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -791,7 +795,7 @@ var spacingStyles = {
|
|
|
791
795
|
};
|
|
792
796
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
793
797
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
794
|
-
var Section =
|
|
798
|
+
var Section = React2__namespace.default.forwardRef(
|
|
795
799
|
({
|
|
796
800
|
id,
|
|
797
801
|
title,
|
|
@@ -892,8 +896,8 @@ function PricingColumnsToggle({
|
|
|
892
896
|
featureTextClassName,
|
|
893
897
|
actionClassName
|
|
894
898
|
}) {
|
|
895
|
-
const [isAnnual, setIsAnnual] =
|
|
896
|
-
const renderFeatures =
|
|
899
|
+
const [isAnnual, setIsAnnual] = React2.useState(false);
|
|
900
|
+
const renderFeatures = React2.useMemo(() => {
|
|
897
901
|
return (plan) => {
|
|
898
902
|
if (plan.featuresSlot) return plan.featuresSlot;
|
|
899
903
|
if (!plan.features || plan.features.length === 0) return null;
|
|
@@ -949,7 +953,7 @@ function PricingColumnsToggle({
|
|
|
949
953
|
}) });
|
|
950
954
|
};
|
|
951
955
|
}, [featuresClassName, featureIcon, featureIconName, featureIconClassName, featureItemClassName, featureTextClassName]);
|
|
952
|
-
const renderAction =
|
|
956
|
+
const renderAction = React2.useMemo(() => {
|
|
953
957
|
return (plan) => {
|
|
954
958
|
if (plan.actionSlot) return plan.actionSlot;
|
|
955
959
|
if (!plan.action) return null;
|
|
@@ -980,7 +984,7 @@ function PricingColumnsToggle({
|
|
|
980
984
|
);
|
|
981
985
|
};
|
|
982
986
|
}, [actionClassName]);
|
|
983
|
-
const renderPlans =
|
|
987
|
+
const renderPlans = React2.useMemo(() => {
|
|
984
988
|
if (plansSlot) return plansSlot;
|
|
985
989
|
if (!plans || plans.length === 0) return null;
|
|
986
990
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 md:grid-cols-3", gridClassName), children: plans.map((plan, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React2 from 'react';
|
|
3
|
+
import React2__default, { useState, useMemo } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Icon } from '@page-speed/icon';
|
|
@@ -13,9 +13,13 @@ function cn(...inputs) {
|
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
15
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
16
|
-
|
|
16
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
17
|
+
apiKey,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
17
20
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
18
|
-
}
|
|
21
|
+
});
|
|
22
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
19
23
|
function normalizePhoneNumber(input) {
|
|
20
24
|
const trimmed = input.trim();
|
|
21
25
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -91,7 +95,7 @@ function useNavigation({
|
|
|
91
95
|
href,
|
|
92
96
|
onClick
|
|
93
97
|
} = {}) {
|
|
94
|
-
const linkType =
|
|
98
|
+
const linkType = React2.useMemo(() => {
|
|
95
99
|
if (!href || href.trim() === "") {
|
|
96
100
|
return onClick ? "none" : "none";
|
|
97
101
|
}
|
|
@@ -112,7 +116,7 @@ function useNavigation({
|
|
|
112
116
|
return "internal";
|
|
113
117
|
}
|
|
114
118
|
}, [href, onClick]);
|
|
115
|
-
const normalizedHref =
|
|
119
|
+
const normalizedHref = React2.useMemo(() => {
|
|
116
120
|
if (!href || href.trim() === "") {
|
|
117
121
|
return void 0;
|
|
118
122
|
}
|
|
@@ -130,7 +134,7 @@ function useNavigation({
|
|
|
130
134
|
return trimmed;
|
|
131
135
|
}
|
|
132
136
|
}, [href, linkType]);
|
|
133
|
-
const target =
|
|
137
|
+
const target = React2.useMemo(() => {
|
|
134
138
|
switch (linkType) {
|
|
135
139
|
case "external":
|
|
136
140
|
return "_blank";
|
|
@@ -143,7 +147,7 @@ function useNavigation({
|
|
|
143
147
|
return void 0;
|
|
144
148
|
}
|
|
145
149
|
}, [linkType]);
|
|
146
|
-
const rel =
|
|
150
|
+
const rel = React2.useMemo(() => {
|
|
147
151
|
if (linkType === "external") {
|
|
148
152
|
return "noopener noreferrer";
|
|
149
153
|
}
|
|
@@ -152,7 +156,7 @@ function useNavigation({
|
|
|
152
156
|
const isExternal = linkType === "external";
|
|
153
157
|
const isInternal = linkType === "internal";
|
|
154
158
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
155
|
-
const handleClick =
|
|
159
|
+
const handleClick = React2.useCallback(
|
|
156
160
|
(event) => {
|
|
157
161
|
if (onClick) {
|
|
158
162
|
try {
|
|
@@ -336,7 +340,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
336
340
|
size: "default"
|
|
337
341
|
}
|
|
338
342
|
});
|
|
339
|
-
var Pressable =
|
|
343
|
+
var Pressable = React2.forwardRef(
|
|
340
344
|
({
|
|
341
345
|
children,
|
|
342
346
|
className,
|
|
@@ -463,7 +467,7 @@ var maxWidthStyles = {
|
|
|
463
467
|
"4xl": "max-w-[1536px]",
|
|
464
468
|
full: "max-w-full"
|
|
465
469
|
};
|
|
466
|
-
var Container =
|
|
470
|
+
var Container = React2__default.forwardRef(
|
|
467
471
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
468
472
|
const Component = as;
|
|
469
473
|
return /* @__PURE__ */ jsx(
|
|
@@ -769,7 +773,7 @@ var spacingStyles = {
|
|
|
769
773
|
};
|
|
770
774
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
771
775
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
772
|
-
var Section =
|
|
776
|
+
var Section = React2__default.forwardRef(
|
|
773
777
|
({
|
|
774
778
|
id,
|
|
775
779
|
title,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React2 = require('react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var icon = require('@page-speed/icon');
|
|
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
return Object.freeze(n);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
31
31
|
var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
|
|
32
32
|
|
|
33
33
|
// components/blocks/pricing/pricing-comparison-headers.tsx
|
|
@@ -35,9 +35,13 @@ function cn(...inputs) {
|
|
|
35
35
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
36
36
|
}
|
|
37
37
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
38
|
-
|
|
38
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
39
|
+
apiKey,
|
|
40
|
+
...props
|
|
41
|
+
}) {
|
|
39
42
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
40
|
-
}
|
|
43
|
+
});
|
|
44
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
41
45
|
function normalizePhoneNumber(input) {
|
|
42
46
|
const trimmed = input.trim();
|
|
43
47
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -113,7 +117,7 @@ function useNavigation({
|
|
|
113
117
|
href,
|
|
114
118
|
onClick
|
|
115
119
|
} = {}) {
|
|
116
|
-
const linkType =
|
|
120
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
117
121
|
if (!href || href.trim() === "") {
|
|
118
122
|
return onClick ? "none" : "none";
|
|
119
123
|
}
|
|
@@ -134,7 +138,7 @@ function useNavigation({
|
|
|
134
138
|
return "internal";
|
|
135
139
|
}
|
|
136
140
|
}, [href, onClick]);
|
|
137
|
-
const normalizedHref =
|
|
141
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
138
142
|
if (!href || href.trim() === "") {
|
|
139
143
|
return void 0;
|
|
140
144
|
}
|
|
@@ -152,7 +156,7 @@ function useNavigation({
|
|
|
152
156
|
return trimmed;
|
|
153
157
|
}
|
|
154
158
|
}, [href, linkType]);
|
|
155
|
-
const target =
|
|
159
|
+
const target = React2__namespace.useMemo(() => {
|
|
156
160
|
switch (linkType) {
|
|
157
161
|
case "external":
|
|
158
162
|
return "_blank";
|
|
@@ -165,7 +169,7 @@ function useNavigation({
|
|
|
165
169
|
return void 0;
|
|
166
170
|
}
|
|
167
171
|
}, [linkType]);
|
|
168
|
-
const rel =
|
|
172
|
+
const rel = React2__namespace.useMemo(() => {
|
|
169
173
|
if (linkType === "external") {
|
|
170
174
|
return "noopener noreferrer";
|
|
171
175
|
}
|
|
@@ -174,7 +178,7 @@ function useNavigation({
|
|
|
174
178
|
const isExternal = linkType === "external";
|
|
175
179
|
const isInternal = linkType === "internal";
|
|
176
180
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
177
|
-
const handleClick =
|
|
181
|
+
const handleClick = React2__namespace.useCallback(
|
|
178
182
|
(event) => {
|
|
179
183
|
if (onClick) {
|
|
180
184
|
try {
|
|
@@ -358,7 +362,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
358
362
|
size: "default"
|
|
359
363
|
}
|
|
360
364
|
});
|
|
361
|
-
var Pressable =
|
|
365
|
+
var Pressable = React2__namespace.forwardRef(
|
|
362
366
|
({
|
|
363
367
|
children,
|
|
364
368
|
className,
|
|
@@ -490,7 +494,7 @@ var maxWidthStyles = {
|
|
|
490
494
|
"4xl": "max-w-[1536px]",
|
|
491
495
|
full: "max-w-full"
|
|
492
496
|
};
|
|
493
|
-
var Container =
|
|
497
|
+
var Container = React2__namespace.default.forwardRef(
|
|
494
498
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
495
499
|
const Component = as;
|
|
496
500
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -796,7 +800,7 @@ var spacingStyles = {
|
|
|
796
800
|
};
|
|
797
801
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
798
802
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
799
|
-
var Section =
|
|
803
|
+
var Section = React2__namespace.default.forwardRef(
|
|
800
804
|
({
|
|
801
805
|
id,
|
|
802
806
|
title,
|
|
@@ -899,11 +903,11 @@ function PricingComparisonHeaders({
|
|
|
899
903
|
featureNameClassName,
|
|
900
904
|
featureValueClassName
|
|
901
905
|
}) {
|
|
902
|
-
const [isYearly, setIsYearly] =
|
|
906
|
+
const [isYearly, setIsYearly] = React2.useState(false);
|
|
903
907
|
const resolvedPlanIds = plans?.map(
|
|
904
908
|
(plan, index) => plan.id ?? `plan-${index}`
|
|
905
909
|
) ?? [];
|
|
906
|
-
const renderFeatureValue =
|
|
910
|
+
const renderFeatureValue = React2.useMemo(() => {
|
|
907
911
|
return (value) => {
|
|
908
912
|
if (typeof value === "boolean") {
|
|
909
913
|
return value ? availableIcon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -925,7 +929,7 @@ function PricingComparisonHeaders({
|
|
|
925
929
|
return value ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: value }) : null;
|
|
926
930
|
};
|
|
927
931
|
}, [availableIcon, availableIconName, unavailableIcon, unavailableIconName]);
|
|
928
|
-
const renderAction =
|
|
932
|
+
const renderAction = React2.useMemo(() => {
|
|
929
933
|
return (plan) => {
|
|
930
934
|
if (plan.actionSlot) return plan.actionSlot;
|
|
931
935
|
if (!plan.action) return null;
|
|
@@ -956,7 +960,7 @@ function PricingComparisonHeaders({
|
|
|
956
960
|
);
|
|
957
961
|
};
|
|
958
962
|
}, [actionClassName]);
|
|
959
|
-
const renderPlans =
|
|
963
|
+
const renderPlans = React2.useMemo(() => {
|
|
960
964
|
if (plansSlot) return plansSlot;
|
|
961
965
|
return plans.map((plan, index) => {
|
|
962
966
|
const badgeContent = plan.badge ?? (plan.isPopular ? "Popular" : null);
|
|
@@ -1015,7 +1019,7 @@ function PricingComparisonHeaders({
|
|
|
1015
1019
|
);
|
|
1016
1020
|
});
|
|
1017
1021
|
}, [plansSlot, plans, resolvedPlanIds, planHeaderClassName, planBadgeClassName, planTitleClassName, planDescriptionClassName, planPriceClassName, planPriceIntervalClassName, isYearly, yearlyInterval, monthlyInterval, renderAction]);
|
|
1018
|
-
const renderFeatureRows =
|
|
1022
|
+
const renderFeatureRows = React2.useMemo(() => {
|
|
1019
1023
|
if (featuresSlot) return featuresSlot;
|
|
1020
1024
|
if (!features || features.length === 0) return null;
|
|
1021
1025
|
return features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React2 from 'react';
|
|
3
|
+
import React2__default, { useState, useMemo } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Icon } from '@page-speed/icon';
|
|
@@ -13,9 +13,13 @@ function cn(...inputs) {
|
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
15
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
16
|
-
|
|
16
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
17
|
+
apiKey,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
17
20
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
18
|
-
}
|
|
21
|
+
});
|
|
22
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
19
23
|
function normalizePhoneNumber(input) {
|
|
20
24
|
const trimmed = input.trim();
|
|
21
25
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -91,7 +95,7 @@ function useNavigation({
|
|
|
91
95
|
href,
|
|
92
96
|
onClick
|
|
93
97
|
} = {}) {
|
|
94
|
-
const linkType =
|
|
98
|
+
const linkType = React2.useMemo(() => {
|
|
95
99
|
if (!href || href.trim() === "") {
|
|
96
100
|
return onClick ? "none" : "none";
|
|
97
101
|
}
|
|
@@ -112,7 +116,7 @@ function useNavigation({
|
|
|
112
116
|
return "internal";
|
|
113
117
|
}
|
|
114
118
|
}, [href, onClick]);
|
|
115
|
-
const normalizedHref =
|
|
119
|
+
const normalizedHref = React2.useMemo(() => {
|
|
116
120
|
if (!href || href.trim() === "") {
|
|
117
121
|
return void 0;
|
|
118
122
|
}
|
|
@@ -130,7 +134,7 @@ function useNavigation({
|
|
|
130
134
|
return trimmed;
|
|
131
135
|
}
|
|
132
136
|
}, [href, linkType]);
|
|
133
|
-
const target =
|
|
137
|
+
const target = React2.useMemo(() => {
|
|
134
138
|
switch (linkType) {
|
|
135
139
|
case "external":
|
|
136
140
|
return "_blank";
|
|
@@ -143,7 +147,7 @@ function useNavigation({
|
|
|
143
147
|
return void 0;
|
|
144
148
|
}
|
|
145
149
|
}, [linkType]);
|
|
146
|
-
const rel =
|
|
150
|
+
const rel = React2.useMemo(() => {
|
|
147
151
|
if (linkType === "external") {
|
|
148
152
|
return "noopener noreferrer";
|
|
149
153
|
}
|
|
@@ -152,7 +156,7 @@ function useNavigation({
|
|
|
152
156
|
const isExternal = linkType === "external";
|
|
153
157
|
const isInternal = linkType === "internal";
|
|
154
158
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
155
|
-
const handleClick =
|
|
159
|
+
const handleClick = React2.useCallback(
|
|
156
160
|
(event) => {
|
|
157
161
|
if (onClick) {
|
|
158
162
|
try {
|
|
@@ -336,7 +340,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
336
340
|
size: "default"
|
|
337
341
|
}
|
|
338
342
|
});
|
|
339
|
-
var Pressable =
|
|
343
|
+
var Pressable = React2.forwardRef(
|
|
340
344
|
({
|
|
341
345
|
children,
|
|
342
346
|
className,
|
|
@@ -468,7 +472,7 @@ var maxWidthStyles = {
|
|
|
468
472
|
"4xl": "max-w-[1536px]",
|
|
469
473
|
full: "max-w-full"
|
|
470
474
|
};
|
|
471
|
-
var Container =
|
|
475
|
+
var Container = React2__default.forwardRef(
|
|
472
476
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
473
477
|
const Component = as;
|
|
474
478
|
return /* @__PURE__ */ jsx(
|
|
@@ -774,7 +778,7 @@ var spacingStyles = {
|
|
|
774
778
|
};
|
|
775
779
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
776
780
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
777
|
-
var Section =
|
|
781
|
+
var Section = React2__default.forwardRef(
|
|
778
782
|
({
|
|
779
783
|
id,
|
|
780
784
|
title,
|