@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');
|
|
@@ -29,7 +29,7 @@ function _interopNamespace(e) {
|
|
|
29
29
|
return Object.freeze(n);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
33
33
|
var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
|
|
34
34
|
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
35
35
|
|
|
@@ -38,9 +38,13 @@ function cn(...inputs) {
|
|
|
38
38
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
39
39
|
}
|
|
40
40
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
41
|
-
|
|
41
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
42
|
+
apiKey,
|
|
43
|
+
...props
|
|
44
|
+
}) {
|
|
42
45
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
43
|
-
}
|
|
46
|
+
});
|
|
47
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
44
48
|
function normalizePhoneNumber(input) {
|
|
45
49
|
const trimmed = input.trim();
|
|
46
50
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -116,7 +120,7 @@ function useNavigation({
|
|
|
116
120
|
href,
|
|
117
121
|
onClick
|
|
118
122
|
} = {}) {
|
|
119
|
-
const linkType =
|
|
123
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
120
124
|
if (!href || href.trim() === "") {
|
|
121
125
|
return onClick ? "none" : "none";
|
|
122
126
|
}
|
|
@@ -137,7 +141,7 @@ function useNavigation({
|
|
|
137
141
|
return "internal";
|
|
138
142
|
}
|
|
139
143
|
}, [href, onClick]);
|
|
140
|
-
const normalizedHref =
|
|
144
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
141
145
|
if (!href || href.trim() === "") {
|
|
142
146
|
return void 0;
|
|
143
147
|
}
|
|
@@ -155,7 +159,7 @@ function useNavigation({
|
|
|
155
159
|
return trimmed;
|
|
156
160
|
}
|
|
157
161
|
}, [href, linkType]);
|
|
158
|
-
const target =
|
|
162
|
+
const target = React2__namespace.useMemo(() => {
|
|
159
163
|
switch (linkType) {
|
|
160
164
|
case "external":
|
|
161
165
|
return "_blank";
|
|
@@ -168,7 +172,7 @@ function useNavigation({
|
|
|
168
172
|
return void 0;
|
|
169
173
|
}
|
|
170
174
|
}, [linkType]);
|
|
171
|
-
const rel =
|
|
175
|
+
const rel = React2__namespace.useMemo(() => {
|
|
172
176
|
if (linkType === "external") {
|
|
173
177
|
return "noopener noreferrer";
|
|
174
178
|
}
|
|
@@ -177,7 +181,7 @@ function useNavigation({
|
|
|
177
181
|
const isExternal = linkType === "external";
|
|
178
182
|
const isInternal = linkType === "internal";
|
|
179
183
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
180
|
-
const handleClick =
|
|
184
|
+
const handleClick = React2__namespace.useCallback(
|
|
181
185
|
(event) => {
|
|
182
186
|
if (onClick) {
|
|
183
187
|
try {
|
|
@@ -361,7 +365,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
361
365
|
size: "default"
|
|
362
366
|
}
|
|
363
367
|
});
|
|
364
|
-
var Pressable =
|
|
368
|
+
var Pressable = React2__namespace.forwardRef(
|
|
365
369
|
({
|
|
366
370
|
children,
|
|
367
371
|
className,
|
|
@@ -591,7 +595,7 @@ var maxWidthStyles = {
|
|
|
591
595
|
"4xl": "max-w-[1536px]",
|
|
592
596
|
full: "max-w-full"
|
|
593
597
|
};
|
|
594
|
-
var Container =
|
|
598
|
+
var Container = React2__namespace.default.forwardRef(
|
|
595
599
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
596
600
|
const Component = as;
|
|
597
601
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -897,7 +901,7 @@ var spacingStyles = {
|
|
|
897
901
|
};
|
|
898
902
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
899
903
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
900
|
-
var Section =
|
|
904
|
+
var Section = React2__namespace.default.forwardRef(
|
|
901
905
|
({
|
|
902
906
|
id,
|
|
903
907
|
title,
|
|
@@ -966,8 +970,8 @@ function PricingFeatureMatrix({
|
|
|
966
970
|
featureCategories = [],
|
|
967
971
|
background = "default"
|
|
968
972
|
}) {
|
|
969
|
-
const [billingPeriod, setBillingPeriod] =
|
|
970
|
-
const [expandedCategories, setExpandedCategories] =
|
|
973
|
+
const [billingPeriod, setBillingPeriod] = React2.useState("monthly");
|
|
974
|
+
const [expandedCategories, setExpandedCategories] = React2.useState(
|
|
971
975
|
new Set(featureCategories.map((c) => c.name))
|
|
972
976
|
);
|
|
973
977
|
const toggleCategory = (categoryName) => {
|
|
@@ -979,7 +983,7 @@ function PricingFeatureMatrix({
|
|
|
979
983
|
}
|
|
980
984
|
setExpandedCategories(newExpanded);
|
|
981
985
|
};
|
|
982
|
-
const renderFeatureValue =
|
|
986
|
+
const renderFeatureValue = React2.useMemo(() => {
|
|
983
987
|
return (value) => {
|
|
984
988
|
if (typeof value === "boolean") {
|
|
985
989
|
return value ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 18, className: "text-primary" }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 18, className: "text-muted-foreground" });
|
|
@@ -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';
|
|
@@ -15,9 +15,13 @@ function cn(...inputs) {
|
|
|
15
15
|
return twMerge(clsx(inputs));
|
|
16
16
|
}
|
|
17
17
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
18
|
-
|
|
18
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
19
|
+
apiKey,
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
19
22
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
20
|
-
}
|
|
23
|
+
});
|
|
24
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
21
25
|
function normalizePhoneNumber(input) {
|
|
22
26
|
const trimmed = input.trim();
|
|
23
27
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -93,7 +97,7 @@ function useNavigation({
|
|
|
93
97
|
href,
|
|
94
98
|
onClick
|
|
95
99
|
} = {}) {
|
|
96
|
-
const linkType =
|
|
100
|
+
const linkType = React2.useMemo(() => {
|
|
97
101
|
if (!href || href.trim() === "") {
|
|
98
102
|
return onClick ? "none" : "none";
|
|
99
103
|
}
|
|
@@ -114,7 +118,7 @@ function useNavigation({
|
|
|
114
118
|
return "internal";
|
|
115
119
|
}
|
|
116
120
|
}, [href, onClick]);
|
|
117
|
-
const normalizedHref =
|
|
121
|
+
const normalizedHref = React2.useMemo(() => {
|
|
118
122
|
if (!href || href.trim() === "") {
|
|
119
123
|
return void 0;
|
|
120
124
|
}
|
|
@@ -132,7 +136,7 @@ function useNavigation({
|
|
|
132
136
|
return trimmed;
|
|
133
137
|
}
|
|
134
138
|
}, [href, linkType]);
|
|
135
|
-
const target =
|
|
139
|
+
const target = React2.useMemo(() => {
|
|
136
140
|
switch (linkType) {
|
|
137
141
|
case "external":
|
|
138
142
|
return "_blank";
|
|
@@ -145,7 +149,7 @@ function useNavigation({
|
|
|
145
149
|
return void 0;
|
|
146
150
|
}
|
|
147
151
|
}, [linkType]);
|
|
148
|
-
const rel =
|
|
152
|
+
const rel = React2.useMemo(() => {
|
|
149
153
|
if (linkType === "external") {
|
|
150
154
|
return "noopener noreferrer";
|
|
151
155
|
}
|
|
@@ -154,7 +158,7 @@ function useNavigation({
|
|
|
154
158
|
const isExternal = linkType === "external";
|
|
155
159
|
const isInternal = linkType === "internal";
|
|
156
160
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
157
|
-
const handleClick =
|
|
161
|
+
const handleClick = React2.useCallback(
|
|
158
162
|
(event) => {
|
|
159
163
|
if (onClick) {
|
|
160
164
|
try {
|
|
@@ -338,7 +342,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
338
342
|
size: "default"
|
|
339
343
|
}
|
|
340
344
|
});
|
|
341
|
-
var Pressable =
|
|
345
|
+
var Pressable = React2.forwardRef(
|
|
342
346
|
({
|
|
343
347
|
children,
|
|
344
348
|
className,
|
|
@@ -568,7 +572,7 @@ var maxWidthStyles = {
|
|
|
568
572
|
"4xl": "max-w-[1536px]",
|
|
569
573
|
full: "max-w-full"
|
|
570
574
|
};
|
|
571
|
-
var Container =
|
|
575
|
+
var Container = React2__default.forwardRef(
|
|
572
576
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
573
577
|
const Component = as;
|
|
574
578
|
return /* @__PURE__ */ jsx(
|
|
@@ -874,7 +878,7 @@ var spacingStyles = {
|
|
|
874
878
|
};
|
|
875
879
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
876
880
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
877
|
-
var Section =
|
|
881
|
+
var Section = React2__default.forwardRef(
|
|
878
882
|
({
|
|
879
883
|
id,
|
|
880
884
|
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');
|
|
@@ -29,7 +29,7 @@ function _interopNamespace(e) {
|
|
|
29
29
|
return Object.freeze(n);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
33
33
|
var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
|
|
34
34
|
var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
|
|
35
35
|
|
|
@@ -38,9 +38,13 @@ function cn(...inputs) {
|
|
|
38
38
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
39
39
|
}
|
|
40
40
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
41
|
-
|
|
41
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
42
|
+
apiKey,
|
|
43
|
+
...props
|
|
44
|
+
}) {
|
|
42
45
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
43
|
-
}
|
|
46
|
+
});
|
|
47
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
44
48
|
function normalizePhoneNumber(input) {
|
|
45
49
|
const trimmed = input.trim();
|
|
46
50
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -116,7 +120,7 @@ function useNavigation({
|
|
|
116
120
|
href,
|
|
117
121
|
onClick
|
|
118
122
|
} = {}) {
|
|
119
|
-
const linkType =
|
|
123
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
120
124
|
if (!href || href.trim() === "") {
|
|
121
125
|
return onClick ? "none" : "none";
|
|
122
126
|
}
|
|
@@ -137,7 +141,7 @@ function useNavigation({
|
|
|
137
141
|
return "internal";
|
|
138
142
|
}
|
|
139
143
|
}, [href, onClick]);
|
|
140
|
-
const normalizedHref =
|
|
144
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
141
145
|
if (!href || href.trim() === "") {
|
|
142
146
|
return void 0;
|
|
143
147
|
}
|
|
@@ -155,7 +159,7 @@ function useNavigation({
|
|
|
155
159
|
return trimmed;
|
|
156
160
|
}
|
|
157
161
|
}, [href, linkType]);
|
|
158
|
-
const target =
|
|
162
|
+
const target = React2__namespace.useMemo(() => {
|
|
159
163
|
switch (linkType) {
|
|
160
164
|
case "external":
|
|
161
165
|
return "_blank";
|
|
@@ -168,7 +172,7 @@ function useNavigation({
|
|
|
168
172
|
return void 0;
|
|
169
173
|
}
|
|
170
174
|
}, [linkType]);
|
|
171
|
-
const rel =
|
|
175
|
+
const rel = React2__namespace.useMemo(() => {
|
|
172
176
|
if (linkType === "external") {
|
|
173
177
|
return "noopener noreferrer";
|
|
174
178
|
}
|
|
@@ -177,7 +181,7 @@ function useNavigation({
|
|
|
177
181
|
const isExternal = linkType === "external";
|
|
178
182
|
const isInternal = linkType === "internal";
|
|
179
183
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
180
|
-
const handleClick =
|
|
184
|
+
const handleClick = React2__namespace.useCallback(
|
|
181
185
|
(event) => {
|
|
182
186
|
if (onClick) {
|
|
183
187
|
try {
|
|
@@ -361,7 +365,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
361
365
|
size: "default"
|
|
362
366
|
}
|
|
363
367
|
});
|
|
364
|
-
var Pressable =
|
|
368
|
+
var Pressable = React2__namespace.forwardRef(
|
|
365
369
|
({
|
|
366
370
|
children,
|
|
367
371
|
className,
|
|
@@ -541,7 +545,7 @@ var maxWidthStyles = {
|
|
|
541
545
|
"4xl": "max-w-[1536px]",
|
|
542
546
|
full: "max-w-full"
|
|
543
547
|
};
|
|
544
|
-
var Container =
|
|
548
|
+
var Container = React2__namespace.default.forwardRef(
|
|
545
549
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
546
550
|
const Component = as;
|
|
547
551
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -847,7 +851,7 @@ var spacingStyles = {
|
|
|
847
851
|
};
|
|
848
852
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
849
853
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
850
|
-
var Section =
|
|
854
|
+
var Section = React2__namespace.default.forwardRef(
|
|
851
855
|
({
|
|
852
856
|
id,
|
|
853
857
|
title,
|
|
@@ -950,8 +954,8 @@ function PricingFourTierToggle({
|
|
|
950
954
|
featureTextClassName,
|
|
951
955
|
actionClassName
|
|
952
956
|
}) {
|
|
953
|
-
const [isAnnual, setIsAnnual] =
|
|
954
|
-
const renderFeatures =
|
|
957
|
+
const [isAnnual, setIsAnnual] = React2.useState(false);
|
|
958
|
+
const renderFeatures = React2.useMemo(() => {
|
|
955
959
|
return (plan) => {
|
|
956
960
|
if (plan.featuresSlot) return plan.featuresSlot;
|
|
957
961
|
if (!plan.features || plan.features.length === 0) return null;
|
|
@@ -1012,7 +1016,7 @@ function PricingFourTierToggle({
|
|
|
1012
1016
|
}) });
|
|
1013
1017
|
};
|
|
1014
1018
|
}, [featuresClassName, includedIconName, excludedIconName, includedIcon, excludedIcon, featureIconClassName, featureItemClassName, featureTextClassName]);
|
|
1015
|
-
const renderAction =
|
|
1019
|
+
const renderAction = React2.useMemo(() => {
|
|
1016
1020
|
return (plan) => {
|
|
1017
1021
|
if (plan.actionSlot) return plan.actionSlot;
|
|
1018
1022
|
if (!plan.action) return null;
|
|
@@ -1043,7 +1047,7 @@ function PricingFourTierToggle({
|
|
|
1043
1047
|
);
|
|
1044
1048
|
};
|
|
1045
1049
|
}, [actionClassName]);
|
|
1046
|
-
const renderPlans =
|
|
1050
|
+
const renderPlans = React2.useMemo(() => {
|
|
1047
1051
|
if (plansSlot) return plansSlot;
|
|
1048
1052
|
if (!plans || plans.length === 0) return null;
|
|
1049
1053
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -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';
|
|
@@ -15,9 +15,13 @@ function cn(...inputs) {
|
|
|
15
15
|
return twMerge(clsx(inputs));
|
|
16
16
|
}
|
|
17
17
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
18
|
-
|
|
18
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
19
|
+
apiKey,
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
19
22
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
20
|
-
}
|
|
23
|
+
});
|
|
24
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
21
25
|
function normalizePhoneNumber(input) {
|
|
22
26
|
const trimmed = input.trim();
|
|
23
27
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -93,7 +97,7 @@ function useNavigation({
|
|
|
93
97
|
href,
|
|
94
98
|
onClick
|
|
95
99
|
} = {}) {
|
|
96
|
-
const linkType =
|
|
100
|
+
const linkType = React2.useMemo(() => {
|
|
97
101
|
if (!href || href.trim() === "") {
|
|
98
102
|
return onClick ? "none" : "none";
|
|
99
103
|
}
|
|
@@ -114,7 +118,7 @@ function useNavigation({
|
|
|
114
118
|
return "internal";
|
|
115
119
|
}
|
|
116
120
|
}, [href, onClick]);
|
|
117
|
-
const normalizedHref =
|
|
121
|
+
const normalizedHref = React2.useMemo(() => {
|
|
118
122
|
if (!href || href.trim() === "") {
|
|
119
123
|
return void 0;
|
|
120
124
|
}
|
|
@@ -132,7 +136,7 @@ function useNavigation({
|
|
|
132
136
|
return trimmed;
|
|
133
137
|
}
|
|
134
138
|
}, [href, linkType]);
|
|
135
|
-
const target =
|
|
139
|
+
const target = React2.useMemo(() => {
|
|
136
140
|
switch (linkType) {
|
|
137
141
|
case "external":
|
|
138
142
|
return "_blank";
|
|
@@ -145,7 +149,7 @@ function useNavigation({
|
|
|
145
149
|
return void 0;
|
|
146
150
|
}
|
|
147
151
|
}, [linkType]);
|
|
148
|
-
const rel =
|
|
152
|
+
const rel = React2.useMemo(() => {
|
|
149
153
|
if (linkType === "external") {
|
|
150
154
|
return "noopener noreferrer";
|
|
151
155
|
}
|
|
@@ -154,7 +158,7 @@ function useNavigation({
|
|
|
154
158
|
const isExternal = linkType === "external";
|
|
155
159
|
const isInternal = linkType === "internal";
|
|
156
160
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
157
|
-
const handleClick =
|
|
161
|
+
const handleClick = React2.useCallback(
|
|
158
162
|
(event) => {
|
|
159
163
|
if (onClick) {
|
|
160
164
|
try {
|
|
@@ -338,7 +342,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
338
342
|
size: "default"
|
|
339
343
|
}
|
|
340
344
|
});
|
|
341
|
-
var Pressable =
|
|
345
|
+
var Pressable = React2.forwardRef(
|
|
342
346
|
({
|
|
343
347
|
children,
|
|
344
348
|
className,
|
|
@@ -518,7 +522,7 @@ var maxWidthStyles = {
|
|
|
518
522
|
"4xl": "max-w-[1536px]",
|
|
519
523
|
full: "max-w-full"
|
|
520
524
|
};
|
|
521
|
-
var Container =
|
|
525
|
+
var Container = React2__default.forwardRef(
|
|
522
526
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
523
527
|
const Component = as;
|
|
524
528
|
return /* @__PURE__ */ jsx(
|
|
@@ -824,7 +828,7 @@ var spacingStyles = {
|
|
|
824
828
|
};
|
|
825
829
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
826
830
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
827
|
-
var Section =
|
|
831
|
+
var Section = React2__default.forwardRef(
|
|
828
832
|
({
|
|
829
833
|
id,
|
|
830
834
|
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-full-comparison.tsx
|
|
@@ -65,9 +65,13 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
65
65
|
return isDark ? "text-foreground" : "";
|
|
66
66
|
}
|
|
67
67
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
68
|
-
|
|
68
|
+
var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
|
|
69
|
+
apiKey,
|
|
70
|
+
...props
|
|
71
|
+
}) {
|
|
69
72
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
70
|
-
}
|
|
73
|
+
});
|
|
74
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
71
75
|
function normalizePhoneNumber(input) {
|
|
72
76
|
const trimmed = input.trim();
|
|
73
77
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -143,7 +147,7 @@ function useNavigation({
|
|
|
143
147
|
href,
|
|
144
148
|
onClick
|
|
145
149
|
} = {}) {
|
|
146
|
-
const linkType =
|
|
150
|
+
const linkType = React2__namespace.useMemo(() => {
|
|
147
151
|
if (!href || href.trim() === "") {
|
|
148
152
|
return onClick ? "none" : "none";
|
|
149
153
|
}
|
|
@@ -164,7 +168,7 @@ function useNavigation({
|
|
|
164
168
|
return "internal";
|
|
165
169
|
}
|
|
166
170
|
}, [href, onClick]);
|
|
167
|
-
const normalizedHref =
|
|
171
|
+
const normalizedHref = React2__namespace.useMemo(() => {
|
|
168
172
|
if (!href || href.trim() === "") {
|
|
169
173
|
return void 0;
|
|
170
174
|
}
|
|
@@ -182,7 +186,7 @@ function useNavigation({
|
|
|
182
186
|
return trimmed;
|
|
183
187
|
}
|
|
184
188
|
}, [href, linkType]);
|
|
185
|
-
const target =
|
|
189
|
+
const target = React2__namespace.useMemo(() => {
|
|
186
190
|
switch (linkType) {
|
|
187
191
|
case "external":
|
|
188
192
|
return "_blank";
|
|
@@ -195,7 +199,7 @@ function useNavigation({
|
|
|
195
199
|
return void 0;
|
|
196
200
|
}
|
|
197
201
|
}, [linkType]);
|
|
198
|
-
const rel =
|
|
202
|
+
const rel = React2__namespace.useMemo(() => {
|
|
199
203
|
if (linkType === "external") {
|
|
200
204
|
return "noopener noreferrer";
|
|
201
205
|
}
|
|
@@ -204,7 +208,7 @@ function useNavigation({
|
|
|
204
208
|
const isExternal = linkType === "external";
|
|
205
209
|
const isInternal = linkType === "internal";
|
|
206
210
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
207
|
-
const handleClick =
|
|
211
|
+
const handleClick = React2__namespace.useCallback(
|
|
208
212
|
(event) => {
|
|
209
213
|
if (onClick) {
|
|
210
214
|
try {
|
|
@@ -388,7 +392,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
388
392
|
size: "default"
|
|
389
393
|
}
|
|
390
394
|
});
|
|
391
|
-
var Pressable =
|
|
395
|
+
var Pressable = React2__namespace.forwardRef(
|
|
392
396
|
({
|
|
393
397
|
children,
|
|
394
398
|
className,
|
|
@@ -520,7 +524,7 @@ var maxWidthStyles = {
|
|
|
520
524
|
"4xl": "max-w-[1536px]",
|
|
521
525
|
full: "max-w-full"
|
|
522
526
|
};
|
|
523
|
-
var Container =
|
|
527
|
+
var Container = React2__namespace.default.forwardRef(
|
|
524
528
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
525
529
|
const Component = as;
|
|
526
530
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -826,7 +830,7 @@ var spacingStyles = {
|
|
|
826
830
|
};
|
|
827
831
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
828
832
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
829
|
-
var Section =
|
|
833
|
+
var Section = React2__namespace.default.forwardRef(
|
|
830
834
|
({
|
|
831
835
|
id,
|
|
832
836
|
title,
|
|
@@ -933,11 +937,11 @@ function PricingFullComparison({
|
|
|
933
937
|
featureNameClassName,
|
|
934
938
|
featureValueClassName
|
|
935
939
|
}) {
|
|
936
|
-
const [isYearly, setIsYearly] =
|
|
940
|
+
const [isYearly, setIsYearly] = React2.useState(false);
|
|
937
941
|
const resolvedPlanIds = plans.map(
|
|
938
942
|
(plan, index) => plan.id ?? `plan-${index}`
|
|
939
943
|
);
|
|
940
|
-
const categories =
|
|
944
|
+
const categories = React2.useMemo(() => {
|
|
941
945
|
if (categoryOrder && categoryOrder.length > 0) return categoryOrder;
|
|
942
946
|
const unique = Array.from(
|
|
943
947
|
new Set(features.map((feature) => feature.category).filter(Boolean))
|
|
@@ -1071,7 +1075,7 @@ function PricingFullComparison({
|
|
|
1071
1075
|
resolvedPlanIds[index]
|
|
1072
1076
|
))
|
|
1073
1077
|
] }) }),
|
|
1074
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1078
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxRuntime.jsxs(React2__namespace.Fragment, { children: [
|
|
1075
1079
|
/* @__PURE__ */ jsxRuntime.jsx("tr", { className: cn(getNestedCardBg(background), getNestedCardTextColor(background), categoryRowClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1076
1080
|
"td",
|
|
1077
1081
|
{
|
|
@@ -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';
|
|
@@ -43,9 +43,13 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
43
43
|
return isDark ? "text-foreground" : "";
|
|
44
44
|
}
|
|
45
45
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
46
|
-
|
|
46
|
+
var DynamicIcon = React2.memo(function DynamicIcon2({
|
|
47
|
+
apiKey,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
47
50
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
48
|
-
}
|
|
51
|
+
});
|
|
52
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
49
53
|
function normalizePhoneNumber(input) {
|
|
50
54
|
const trimmed = input.trim();
|
|
51
55
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -121,7 +125,7 @@ function useNavigation({
|
|
|
121
125
|
href,
|
|
122
126
|
onClick
|
|
123
127
|
} = {}) {
|
|
124
|
-
const linkType =
|
|
128
|
+
const linkType = React2.useMemo(() => {
|
|
125
129
|
if (!href || href.trim() === "") {
|
|
126
130
|
return onClick ? "none" : "none";
|
|
127
131
|
}
|
|
@@ -142,7 +146,7 @@ function useNavigation({
|
|
|
142
146
|
return "internal";
|
|
143
147
|
}
|
|
144
148
|
}, [href, onClick]);
|
|
145
|
-
const normalizedHref =
|
|
149
|
+
const normalizedHref = React2.useMemo(() => {
|
|
146
150
|
if (!href || href.trim() === "") {
|
|
147
151
|
return void 0;
|
|
148
152
|
}
|
|
@@ -160,7 +164,7 @@ function useNavigation({
|
|
|
160
164
|
return trimmed;
|
|
161
165
|
}
|
|
162
166
|
}, [href, linkType]);
|
|
163
|
-
const target =
|
|
167
|
+
const target = React2.useMemo(() => {
|
|
164
168
|
switch (linkType) {
|
|
165
169
|
case "external":
|
|
166
170
|
return "_blank";
|
|
@@ -173,7 +177,7 @@ function useNavigation({
|
|
|
173
177
|
return void 0;
|
|
174
178
|
}
|
|
175
179
|
}, [linkType]);
|
|
176
|
-
const rel =
|
|
180
|
+
const rel = React2.useMemo(() => {
|
|
177
181
|
if (linkType === "external") {
|
|
178
182
|
return "noopener noreferrer";
|
|
179
183
|
}
|
|
@@ -182,7 +186,7 @@ function useNavigation({
|
|
|
182
186
|
const isExternal = linkType === "external";
|
|
183
187
|
const isInternal = linkType === "internal";
|
|
184
188
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
185
|
-
const handleClick =
|
|
189
|
+
const handleClick = React2.useCallback(
|
|
186
190
|
(event) => {
|
|
187
191
|
if (onClick) {
|
|
188
192
|
try {
|
|
@@ -366,7 +370,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
366
370
|
size: "default"
|
|
367
371
|
}
|
|
368
372
|
});
|
|
369
|
-
var Pressable =
|
|
373
|
+
var Pressable = React2.forwardRef(
|
|
370
374
|
({
|
|
371
375
|
children,
|
|
372
376
|
className,
|
|
@@ -498,7 +502,7 @@ var maxWidthStyles = {
|
|
|
498
502
|
"4xl": "max-w-[1536px]",
|
|
499
503
|
full: "max-w-full"
|
|
500
504
|
};
|
|
501
|
-
var Container =
|
|
505
|
+
var Container = React2__default.forwardRef(
|
|
502
506
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
503
507
|
const Component = as;
|
|
504
508
|
return /* @__PURE__ */ jsx(
|
|
@@ -804,7 +808,7 @@ var spacingStyles = {
|
|
|
804
808
|
};
|
|
805
809
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
806
810
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
807
|
-
var Section =
|
|
811
|
+
var Section = React2__default.forwardRef(
|
|
808
812
|
({
|
|
809
813
|
id,
|
|
810
814
|
title,
|
|
@@ -1049,7 +1053,7 @@ function PricingFullComparison({
|
|
|
1049
1053
|
resolvedPlanIds[index]
|
|
1050
1054
|
))
|
|
1051
1055
|
] }) }),
|
|
1052
|
-
/* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(
|
|
1056
|
+
/* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React2.Fragment, { children: [
|
|
1053
1057
|
/* @__PURE__ */ jsx("tr", { className: cn(getNestedCardBg(background), getNestedCardTextColor(background), categoryRowClassName), children: /* @__PURE__ */ jsx(
|
|
1054
1058
|
"td",
|
|
1055
1059
|
{
|