@opensite/ui 0.8.5 → 0.8.7
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-developer-profile.cjs +1 -1
- package/dist/about-developer-profile.js +1 -1
- package/dist/about-interactive-tabs.cjs +1 -1
- package/dist/about-interactive-tabs.js +1 -1
- package/dist/about-location-info-hero.cjs +5 -5
- package/dist/about-location-info-hero.js +5 -5
- package/dist/about-mission-features.cjs +3 -3
- package/dist/about-mission-features.js +3 -3
- package/dist/about-mission-principles.cjs +1 -1
- package/dist/about-mission-principles.js +1 -1
- package/dist/about-network-spotlight.cjs +6 -6
- package/dist/about-network-spotlight.js +6 -6
- package/dist/about-split-hero.cjs +4 -4
- package/dist/about-split-hero.js +4 -4
- package/dist/about-startup-team.cjs +3 -3
- package/dist/about-startup-team.js +3 -3
- package/dist/about-story-expertise.cjs +4 -4
- package/dist/about-story-expertise.js +4 -4
- package/dist/article-breadcrumb-social.cjs +1 -1
- package/dist/article-breadcrumb-social.js +1 -1
- package/dist/article-chapters-author.cjs +1 -1
- package/dist/article-chapters-author.js +1 -1
- package/dist/article-compact-toc.cjs +1 -1
- package/dist/article-compact-toc.js +1 -1
- package/dist/article-split-animated.cjs +1 -1
- package/dist/article-split-animated.js +1 -1
- package/dist/article-toc-sidebar.cjs +1 -1
- package/dist/article-toc-sidebar.js +1 -1
- package/dist/banner-countdown-sale.cjs +1 -1
- package/dist/banner-countdown-sale.js +1 -1
- package/dist/banner-social-follow.cjs +1 -1
- package/dist/banner-social-follow.js +1 -1
- package/dist/blog-cards-tagline-cta.cjs +1 -1
- package/dist/blog-cards-tagline-cta.js +1 -1
- package/dist/blog-horizontal-timeline.cjs +2 -2
- package/dist/blog-horizontal-timeline.js +2 -2
- package/dist/blog-tech-insights.cjs +6 -6
- package/dist/blog-tech-insights.js +6 -6
- package/dist/carousel-animated-sections.cjs +7 -8
- package/dist/carousel-animated-sections.js +7 -8
- package/dist/carousel-auto-progress-slides.cjs +7 -7
- package/dist/carousel-auto-progress-slides.js +7 -7
- package/dist/carousel-autoplay-progress.cjs +3 -3
- package/dist/carousel-autoplay-progress.js +3 -3
- package/dist/carousel-fullscreen-scroll-fx.cjs +7 -7
- package/dist/carousel-fullscreen-scroll-fx.js +7 -7
- package/dist/carousel-horizontal-cards.cjs +1 -1
- package/dist/carousel-horizontal-cards.js +1 -1
- package/dist/carousel-icon-sidebar.cjs +3 -3
- package/dist/carousel-icon-sidebar.js +3 -3
- package/dist/carousel-image-hero.cjs +2 -2
- package/dist/carousel-image-hero.js +2 -2
- package/dist/carousel-multi-step-showcase.cjs +1 -1
- package/dist/carousel-multi-step-showcase.js +1 -1
- package/dist/carousel-portfolio-hero.cjs +5 -5
- package/dist/carousel-portfolio-hero.js +5 -5
- package/dist/carousel-progress-slider.cjs +1 -1
- package/dist/carousel-progress-slider.js +1 -1
- package/dist/case-studies-image-grid.cjs +2 -2
- package/dist/case-studies-image-grid.js +2 -2
- package/dist/case-studies-stats-card.cjs +1 -1
- package/dist/case-studies-stats-card.js +1 -1
- package/dist/case-study-prose-sidebar.cjs +1 -1
- package/dist/case-study-prose-sidebar.js +1 -1
- package/dist/case-study-toc-social-sidebar.cjs +1 -1
- package/dist/case-study-toc-social-sidebar.js +1 -1
- package/dist/comparison-ai-models.cjs +15 -15
- package/dist/comparison-ai-models.js +15 -15
- package/dist/comparison-feature-cards.cjs +1 -1
- package/dist/comparison-feature-cards.js +1 -1
- package/dist/comparison-feature-grid.cjs +1 -1
- package/dist/comparison-feature-grid.js +1 -1
- package/dist/comparison-metrics-rows.cjs +6 -6
- package/dist/comparison-metrics-rows.js +6 -6
- package/dist/comparison-table-tabs.cjs +5 -5
- package/dist/comparison-table-tabs.js +5 -5
- package/dist/comparison-table-tooltips.cjs +1 -1
- package/dist/comparison-table-tooltips.js +1 -1
- package/dist/comparison-table-two-column.cjs +2 -2
- package/dist/comparison-table-two-column.js +2 -2
- package/dist/components.cjs +22 -23
- package/dist/components.js +22 -23
- package/dist/contact-emergency.cjs +1 -1
- package/dist/contact-emergency.js +1 -1
- package/dist/contact-help-center.cjs +3 -3
- package/dist/contact-help-center.js +3 -3
- package/dist/cta-background-icon-badge.cjs +1 -1
- package/dist/cta-background-icon-badge.js +1 -1
- package/dist/cta-enterprise-dark-features.cjs +5 -5
- package/dist/cta-enterprise-dark-features.js +5 -5
- package/dist/cta-fullwidth-background.cjs +1 -1
- package/dist/cta-fullwidth-background.js +1 -1
- package/dist/cta-hero-feature-cards.cjs +3 -3
- package/dist/cta-hero-feature-cards.js +3 -3
- package/dist/cta-image-overlay-arrow.cjs +1 -1
- package/dist/cta-image-overlay-arrow.js +1 -1
- package/dist/cta-image-overlay-centered.cjs +2 -2
- package/dist/cta-image-overlay-centered.js +2 -2
- package/dist/cta-split-gradient-image.cjs +1 -1
- package/dist/cta-split-gradient-image.js +1 -1
- package/dist/cta-video-background-hero.cjs +3 -3
- package/dist/cta-video-background-hero.js +3 -3
- package/dist/cta-workflow-tabs.cjs +1 -1
- package/dist/cta-workflow-tabs.js +1 -1
- package/dist/faq-badge-support.cjs +26 -8
- package/dist/faq-badge-support.js +26 -8
- package/dist/faq-bordered-badge.cjs +26 -10
- package/dist/faq-bordered-badge.js +26 -10
- package/dist/faq-card-categories.cjs +21 -5
- package/dist/faq-card-categories.js +21 -5
- package/dist/faq-categorized-sections.cjs +20 -5
- package/dist/faq-categorized-sections.js +20 -5
- package/dist/faq-centered-accordion.cjs +19 -6
- package/dist/faq-centered-accordion.js +19 -6
- package/dist/faq-gradient-categories.cjs +20 -5
- package/dist/faq-gradient-categories.js +20 -5
- package/dist/faq-icon-benefits.cjs +11 -2
- package/dist/faq-icon-benefits.js +11 -2
- package/dist/faq-muted-cards.cjs +20 -7
- package/dist/faq-muted-cards.js +20 -7
- package/dist/faq-numbered-grid.cjs +11 -3
- package/dist/faq-numbered-grid.js +11 -3
- package/dist/faq-numbered-list.cjs +11 -3
- package/dist/faq-numbered-list.js +11 -3
- package/dist/faq-profile-sidebar.cjs +60 -23
- package/dist/faq-profile-sidebar.js +60 -23
- package/dist/faq-rounded-cards.cjs +24 -29
- package/dist/faq-rounded-cards.js +24 -29
- package/dist/faq-sidebar-navigation.cjs +49 -29
- package/dist/faq-sidebar-navigation.js +49 -29
- package/dist/faq-simple-accordion.cjs +18 -5
- package/dist/faq-simple-accordion.js +18 -5
- package/dist/faq-split-help.cjs +36 -21
- package/dist/faq-split-help.js +36 -21
- package/dist/faq-split-hero.cjs +86 -186
- package/dist/faq-split-hero.d.cts +16 -18
- package/dist/faq-split-hero.d.ts +16 -18
- package/dist/faq-split-hero.js +87 -187
- package/dist/faq-static-list.cjs +10 -3
- package/dist/faq-static-list.js +10 -3
- package/dist/feature-accordion-image.cjs +9 -3
- package/dist/feature-accordion-image.js +9 -3
- package/dist/feature-bento-utilities.cjs +1 -1
- package/dist/feature-bento-utilities.js +1 -1
- package/dist/feature-capabilities-grid.cjs +13 -13
- package/dist/feature-capabilities-grid.js +13 -13
- package/dist/feature-icon-grid-muted.cjs +2 -2
- package/dist/feature-icon-grid-muted.js +2 -2
- package/dist/feature-icon-tabs-content.cjs +3 -3
- package/dist/feature-icon-tabs-content.js +3 -3
- package/dist/feature-image-cards-three-column.cjs +2 -2
- package/dist/feature-image-cards-three-column.js +2 -2
- package/dist/feature-image-overlay-badge.cjs +2 -2
- package/dist/feature-image-overlay-badge.js +2 -2
- package/dist/feature-integration-cards.cjs +2 -2
- package/dist/feature-integration-cards.js +2 -2
- package/dist/feature-numbered-cards.cjs +1 -1
- package/dist/feature-numbered-cards.js +1 -1
- package/dist/feature-pattern-grid-links.cjs +1 -1
- package/dist/feature-pattern-grid-links.js +1 -1
- package/dist/feature-showcase.cjs +1 -2
- package/dist/feature-showcase.js +1 -2
- package/dist/feature-split-image-reverse.cjs +2 -8
- package/dist/feature-split-image-reverse.js +2 -8
- package/dist/feature-split-image.cjs +2 -2
- package/dist/feature-split-image.js +2 -2
- package/dist/feature-stats-highlight.cjs +50 -13
- package/dist/feature-stats-highlight.js +50 -13
- package/dist/feature-tabbed-content-image.cjs +5 -14
- package/dist/feature-tabbed-content-image.js +5 -14
- package/dist/feature-three-column-values.cjs +4 -44
- package/dist/feature-three-column-values.js +4 -44
- package/dist/feature-utility-cards-grid.cjs +83 -36
- package/dist/feature-utility-cards-grid.js +83 -36
- package/dist/footer-animated-social.cjs +3 -3
- package/dist/footer-animated-social.js +3 -3
- package/dist/footer-brand-links-contact.cjs +10 -10
- package/dist/footer-brand-links-contact.js +10 -10
- package/dist/footer-comprehensive-links.cjs +20 -20
- package/dist/footer-comprehensive-links.js +20 -20
- package/dist/footer-cta-banner.cjs +4 -4
- package/dist/footer-cta-banner.js +4 -4
- package/dist/footer-cta-social.cjs +2 -2
- package/dist/footer-cta-social.js +2 -2
- package/dist/footer-newsletter-minimal.cjs +5 -5
- package/dist/footer-newsletter-minimal.js +5 -5
- package/dist/footer-simple-centered.cjs +2 -2
- package/dist/footer-simple-centered.js +2 -2
- package/dist/hero-ad-campaign-expert.cjs +2 -2
- package/dist/hero-ad-campaign-expert.js +2 -2
- package/dist/hero-agency-animated-images.cjs +2 -2
- package/dist/hero-agency-animated-images.js +2 -2
- package/dist/hero-architecture-fullscreen.cjs +2 -2
- package/dist/hero-architecture-fullscreen.js +2 -2
- package/dist/hero-billing-platform-logos.cjs +4 -4
- package/dist/hero-billing-platform-logos.js +4 -4
- package/dist/hero-business-operations-mosaic.cjs +2 -2
- package/dist/hero-business-operations-mosaic.js +2 -2
- package/dist/hero-centered-gradient-cta.cjs +1 -1
- package/dist/hero-centered-gradient-cta.js +1 -1
- package/dist/hero-coming-soon-countdown.cjs +3 -3
- package/dist/hero-coming-soon-countdown.js +3 -3
- package/dist/hero-conversation-intelligence.cjs +1 -1
- package/dist/hero-conversation-intelligence.js +1 -1
- package/dist/hero-conversion-video-play.cjs +1 -1
- package/dist/hero-conversion-video-play.js +1 -1
- package/dist/hero-crm-streamlined.cjs +2 -2
- package/dist/hero-crm-streamlined.js +2 -2
- package/dist/hero-customer-support-layered.cjs +1 -1
- package/dist/hero-customer-support-layered.js +1 -1
- package/dist/hero-design-carousel-portfolio.cjs +3 -3
- package/dist/hero-design-carousel-portfolio.js +3 -3
- package/dist/hero-design-showcase-logos.cjs +1 -1
- package/dist/hero-design-showcase-logos.js +1 -1
- package/dist/hero-developer-tools-code.cjs +1 -1
- package/dist/hero-developer-tools-code.js +1 -1
- package/dist/hero-digital-agency-fullscreen.cjs +3 -3
- package/dist/hero-digital-agency-fullscreen.js +3 -3
- package/dist/hero-ecommerce-product-showcase.cjs +2 -2
- package/dist/hero-ecommerce-product-showcase.js +2 -2
- package/dist/hero-enterprise-security.cjs +2 -2
- package/dist/hero-enterprise-security.js +2 -2
- package/dist/hero-event-registration.cjs +3 -3
- package/dist/hero-event-registration.js +3 -3
- package/dist/hero-feature-cards-grid.cjs +2 -2
- package/dist/hero-feature-cards-grid.js +2 -2
- package/dist/hero-floating-images.cjs +6 -8
- package/dist/hero-floating-images.js +6 -8
- package/dist/hero-fullscreen-background-image.cjs +3 -3
- package/dist/hero-fullscreen-background-image.js +3 -3
- package/dist/hero-fullscreen-logo-cta.cjs +2 -2
- package/dist/hero-fullscreen-logo-cta.js +2 -2
- package/dist/hero-gradient-client-focused.cjs +1 -1
- package/dist/hero-gradient-client-focused.js +1 -1
- package/dist/hero-hiring-animated-text.cjs +2 -2
- package/dist/hero-hiring-animated-text.js +2 -2
- package/dist/hero-image-slider.cjs +1 -2
- package/dist/hero-image-slider.js +1 -2
- package/dist/hero-innovation-image-grid.cjs +3 -3
- package/dist/hero-innovation-image-grid.js +3 -3
- package/dist/hero-mental-health-team.cjs +4 -4
- package/dist/hero-mental-health-team.js +4 -4
- package/dist/hero-minimal-centered-dark.cjs +1 -1
- package/dist/hero-minimal-centered-dark.js +1 -1
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-newsletter-minimal.cjs +1 -1
- package/dist/hero-newsletter-minimal.js +1 -1
- package/dist/hero-overlay-cta-grid.cjs +5 -5
- package/dist/hero-overlay-cta-grid.js +5 -5
- package/dist/hero-portfolio-creative.cjs +3 -3
- package/dist/hero-portfolio-creative.js +3 -3
- package/dist/hero-premium-split-avatars.cjs +4 -4
- package/dist/hero-premium-split-avatars.js +4 -4
- package/dist/hero-presentation-platform-video.cjs +4 -4
- package/dist/hero-presentation-platform-video.js +4 -4
- package/dist/hero-pricing-comparison.cjs +3 -3
- package/dist/hero-pricing-comparison.js +3 -3
- package/dist/hero-product-showcase-floating.cjs +3 -3
- package/dist/hero-product-showcase-floating.js +3 -3
- package/dist/hero-productivity-launcher-video.cjs +2 -2
- package/dist/hero-productivity-launcher-video.js +2 -2
- package/dist/hero-saas-dashboard-preview.cjs +1 -1
- package/dist/hero-saas-dashboard-preview.js +1 -1
- package/dist/hero-shared-inbox-layered.cjs +1 -1
- package/dist/hero-shared-inbox-layered.js +1 -1
- package/dist/hero-software-growth-video-dialog.cjs +2 -2
- package/dist/hero-software-growth-video-dialog.js +2 -2
- package/dist/hero-split-geometric-shapes.cjs +177 -23
- package/dist/hero-split-geometric-shapes.d.cts +38 -5
- package/dist/hero-split-geometric-shapes.d.ts +38 -5
- package/dist/hero-split-geometric-shapes.js +178 -24
- package/dist/hero-split-icon-cards.cjs +2 -2
- package/dist/hero-split-icon-cards.js +2 -2
- package/dist/hero-split-image-newsletter.cjs +1 -1
- package/dist/hero-split-image-newsletter.js +1 -1
- package/dist/hero-startup-launch-cta.cjs +2 -2
- package/dist/hero-startup-launch-cta.js +2 -2
- package/dist/hero-stats-social-proof.cjs +3 -3
- package/dist/hero-stats-social-proof.js +3 -3
- package/dist/hero-task-timer-animated.cjs +2 -2
- package/dist/hero-task-timer-animated.js +2 -2
- package/dist/hero-testimonial-image-grid.cjs +1 -1
- package/dist/hero-testimonial-image-grid.js +1 -1
- package/dist/hero-therapy-testimonial-grid.cjs +3 -3
- package/dist/hero-therapy-testimonial-grid.js +3 -3
- package/dist/hero-ui-library-showcase.cjs +1 -1
- package/dist/hero-ui-library-showcase.js +1 -1
- package/dist/hero-video-background-dark.cjs +1 -1
- package/dist/hero-video-background-dark.js +1 -1
- package/dist/hero-video-dialog-gradient.cjs +1 -1
- package/dist/hero-video-dialog-gradient.js +1 -1
- package/dist/hero-welcome-asymmetric-images.cjs +38 -2
- package/dist/hero-welcome-asymmetric-images.js +38 -2
- package/dist/image-slider.cjs +1 -2
- package/dist/image-slider.d.cts +0 -4
- package/dist/image-slider.d.ts +0 -4
- package/dist/image-slider.js +1 -2
- package/dist/index.cjs +22 -23
- package/dist/index.js +22 -23
- package/dist/industries-badge-list-bordered.cjs +12 -6
- package/dist/industries-badge-list-bordered.js +12 -6
- package/dist/industries-expandable-showcase.cjs +15 -7
- package/dist/industries-expandable-showcase.js +15 -7
- package/dist/industries-hover-reveal-grid.cjs +13 -6
- package/dist/industries-hover-reveal-grid.js +13 -6
- package/dist/industries-timeline-table.cjs +11 -5
- package/dist/industries-timeline-table.js +11 -5
- package/dist/interior-carousel.cjs +2 -2
- package/dist/interior-carousel.js +2 -2
- package/dist/link-page-bento-layout.cjs +11 -14
- package/dist/link-page-bento-layout.js +11 -14
- package/dist/link-page-grid-cards.cjs +8 -12
- package/dist/link-page-grid-cards.js +8 -12
- package/dist/link-page-minimal-profile.cjs +6 -8
- package/dist/link-page-minimal-profile.js +6 -8
- package/dist/link-page-newsletter-social.cjs +10 -14
- package/dist/link-page-newsletter-social.js +10 -14
- package/dist/link-tree-block.cjs +10 -13
- package/dist/link-tree-block.js +10 -13
- package/dist/list-searchable-grid.cjs +3 -3
- package/dist/list-searchable-grid.js +3 -3
- package/dist/navbar-animated-preview.cjs +13 -7
- package/dist/navbar-animated-preview.js +13 -7
- package/dist/navbar-centered-menu.cjs +9 -3
- package/dist/navbar-centered-menu.js +9 -3
- package/dist/navbar-dark-icons.cjs +14 -8
- package/dist/navbar-dark-icons.js +14 -8
- package/dist/navbar-dropdown-menu.cjs +11 -5
- package/dist/navbar-dropdown-menu.js +11 -5
- package/dist/navbar-education-platform.cjs +9 -3
- package/dist/navbar-education-platform.js +9 -3
- package/dist/navbar-enterprise-mega.cjs +20 -14
- package/dist/navbar-enterprise-mega.js +20 -14
- package/dist/navbar-feature-grid.cjs +11 -5
- package/dist/navbar-feature-grid.js +11 -5
- package/dist/navbar-image-preview.cjs +4 -4
- package/dist/navbar-image-preview.js +4 -4
- package/dist/navbar-mega-menu.cjs +3 -3
- package/dist/navbar-mega-menu.js +3 -3
- package/dist/navbar-multi-column-groups.cjs +9 -3
- package/dist/navbar-multi-column-groups.js +9 -3
- package/dist/navbar-platform-resources.cjs +10 -4
- package/dist/navbar-platform-resources.js +10 -4
- package/dist/navbar-sidebar-mobile.cjs +9 -3
- package/dist/navbar-sidebar-mobile.js +9 -3
- package/dist/navbar-transparent-overlay.cjs +3 -3
- package/dist/navbar-transparent-overlay.js +3 -3
- package/dist/process-expandable-timeline.cjs +3 -3
- package/dist/process-expandable-timeline.js +3 -3
- package/dist/process-hover-cards.cjs +2 -2
- package/dist/process-hover-cards.js +2 -2
- package/dist/process-icon-timeline.cjs +3 -3
- package/dist/process-icon-timeline.js +3 -3
- package/dist/process-mission-principles.cjs +2 -2
- package/dist/process-mission-principles.js +2 -2
- package/dist/process-numbered-services.cjs +2 -2
- package/dist/process-numbered-services.js +2 -2
- package/dist/process-roadmap-timeline.cjs +6 -6
- package/dist/process-roadmap-timeline.js +6 -6
- package/dist/process-scroll-image.cjs +2 -2
- package/dist/process-scroll-image.js +2 -2
- package/dist/process-steps-grid.cjs +2 -2
- package/dist/process-steps-grid.js +2 -2
- package/dist/process-sticky-steps.cjs +2 -2
- package/dist/process-sticky-steps.js +2 -2
- package/dist/project-alternating-motion.cjs +1 -1
- package/dist/project-alternating-motion.js +1 -1
- package/dist/project-background-reveal.cjs +2 -2
- package/dist/project-background-reveal.js +2 -2
- package/dist/project-card-overlay.cjs +7 -7
- package/dist/project-card-overlay.js +7 -7
- package/dist/project-carousel-cinematic.cjs +2 -2
- package/dist/project-carousel-cinematic.js +2 -2
- package/dist/project-carousel-detail-cards.cjs +2 -2
- package/dist/project-carousel-detail-cards.js +2 -2
- package/dist/project-carousel-minimal.cjs +2 -2
- package/dist/project-carousel-minimal.js +2 -2
- package/dist/project-detail-architecture-carousel.cjs +4 -4
- package/dist/project-detail-architecture-carousel.js +4 -4
- package/dist/project-featured-carousel.cjs +1 -1
- package/dist/project-featured-carousel.js +1 -1
- package/dist/project-filterable-gallery.cjs +5 -5
- package/dist/project-filterable-gallery.js +5 -5
- package/dist/project-filterable-three-column.cjs +5 -5
- package/dist/project-filterable-three-column.js +5 -5
- package/dist/project-interactive-hover-reveal.cjs +7 -7
- package/dist/project-interactive-hover-reveal.js +7 -7
- package/dist/project-masonry-columns.cjs +1 -1
- package/dist/project-masonry-columns.js +1 -1
- package/dist/project-scroll-reveal.cjs +4 -4
- package/dist/project-scroll-reveal.js +4 -4
- package/dist/project-showcase-alternating.cjs +1 -1
- package/dist/project-showcase-alternating.js +1 -1
- package/dist/project-sticky-scroll.cjs +3 -3
- package/dist/project-sticky-scroll.js +3 -3
- package/dist/project-studio-hover-preview.cjs +7 -7
- package/dist/project-studio-hover-preview.js +7 -7
- package/dist/project-video-carousel.cjs +2 -2
- package/dist/project-video-carousel.js +2 -2
- package/dist/project-video-hover-bento.cjs +2 -2
- package/dist/project-video-hover-bento.js +2 -2
- package/dist/project-video-hover-grid.cjs +2 -2
- package/dist/project-video-hover-grid.js +2 -2
- package/dist/project-video-hover-rounded.cjs +3 -3
- package/dist/project-video-hover-rounded.js +3 -3
- package/dist/project-video-hover-stack.cjs +3 -3
- package/dist/project-video-hover-stack.js +3 -3
- package/dist/project-video-hover-two-by-two.cjs +3 -3
- package/dist/project-video-hover-two-by-two.js +3 -3
- package/dist/project-zigzag-layout.cjs +1 -1
- package/dist/project-zigzag-layout.js +1 -1
- package/dist/registry.cjs +1825 -2131
- package/dist/registry.js +1825 -2131
- package/dist/resource-detail-whitepaper-sidebar.cjs +6 -4
- package/dist/resource-detail-whitepaper-sidebar.js +6 -4
- package/dist/resource-list-course-cards.cjs +1 -1
- package/dist/resource-list-course-cards.js +1 -1
- package/dist/resource-list-featured-articles.cjs +6 -6
- package/dist/resource-list-featured-articles.js +6 -6
- package/dist/resource-list-hero-filter.cjs +2 -2
- package/dist/resource-list-hero-filter.js +2 -2
- package/dist/resource-list-news-updates.cjs +1 -1
- package/dist/resource-list-news-updates.js +1 -1
- package/dist/reviews-images-helpful.cjs +27 -197
- package/dist/reviews-images-helpful.js +28 -198
- package/dist/reviews-list-verified.cjs +11 -62
- package/dist/reviews-list-verified.js +12 -63
- package/dist/service-detail-image-hero.cjs +2 -2
- package/dist/service-detail-image-hero.js +2 -2
- package/dist/service-detail-stats-hero.cjs +2 -2
- package/dist/service-detail-stats-hero.js +2 -2
- package/dist/service-hover-carousel.cjs +2 -2
- package/dist/service-hover-carousel.js +2 -2
- package/dist/services-list-feature-spotlight.cjs +3 -3
- package/dist/services-list-feature-spotlight.js +3 -3
- package/dist/stats-circular-progress.cjs +1 -1
- package/dist/stats-circular-progress.js +1 -1
- package/dist/stats-icon-cards.cjs +1 -1
- package/dist/stats-icon-cards.js +1 -1
- package/dist/stats-timeline-tabs.cjs +1 -1
- package/dist/stats-timeline-tabs.js +1 -1
- package/dist/team-media-showcase.cjs +4 -4
- package/dist/team-media-showcase.js +4 -4
- package/dist/testimonial-carousel-cards.cjs +2 -2
- package/dist/testimonial-carousel-cards.js +2 -2
- package/dist/testimonials-animated-split.cjs +19 -166
- package/dist/testimonials-animated-split.js +19 -166
- package/dist/testimonials-bento-grid.cjs +11 -56
- package/dist/testimonials-bento-grid.js +12 -57
- package/dist/testimonials-carousel-image.cjs +15 -153
- package/dist/testimonials-carousel-image.js +15 -153
- package/dist/testimonials-centered-avatars.cjs +9 -37
- package/dist/testimonials-centered-avatars.js +10 -38
- package/dist/testimonials-company-logo.cjs +4 -8
- package/dist/testimonials-company-logo.js +4 -8
- package/dist/testimonials-grid-add-review.cjs +7 -47
- package/dist/testimonials-grid-add-review.js +8 -48
- package/dist/testimonials-large-quote.cjs +11 -21
- package/dist/testimonials-large-quote.js +12 -22
- package/dist/testimonials-logo-cards.cjs +9 -53
- package/dist/testimonials-logo-cards.js +10 -54
- package/dist/testimonials-marquee.cjs +15 -60
- package/dist/testimonials-marquee.js +16 -61
- package/dist/testimonials-masonry-grid.cjs +11 -71
- package/dist/testimonials-masonry-grid.js +12 -72
- package/dist/testimonials-mini-dividers.cjs +9 -61
- package/dist/testimonials-mini-dividers.js +10 -62
- package/dist/testimonials-minimal-numbered.cjs +48 -57
- package/dist/testimonials-minimal-numbered.js +48 -57
- package/dist/testimonials-parallax-number.cjs +29 -44
- package/dist/testimonials-parallax-number.js +29 -44
- package/dist/testimonials-quote-carousel.cjs +9 -48
- package/dist/testimonials-quote-carousel.js +10 -49
- package/dist/testimonials-scrolling-columns.cjs +9 -165
- package/dist/testimonials-scrolling-columns.js +10 -166
- package/dist/testimonials-simple-grid.cjs +12 -63
- package/dist/testimonials-simple-grid.js +13 -64
- package/dist/testimonials-slider-minimal.cjs +18 -41
- package/dist/testimonials-slider-minimal.js +18 -41
- package/dist/testimonials-split-image.cjs +15 -24
- package/dist/testimonials-split-image.js +16 -25
- package/dist/testimonials-stats-header.cjs +10 -35
- package/dist/testimonials-stats-header.js +11 -36
- package/dist/testimonials-twitter-cards.cjs +7 -59
- package/dist/testimonials-twitter-cards.js +8 -60
- package/dist/testimonials-wall-compact.cjs +9 -94
- package/dist/testimonials-wall-compact.js +10 -95
- package/dist/timeline-changelog-badges.cjs +4 -4
- package/dist/timeline-changelog-badges.js +4 -4
- package/dist/timeline-history-prose.cjs +4 -4
- package/dist/timeline-history-prose.js +4 -4
- package/dist/timeline-horizontal-icons.cjs +3 -3
- package/dist/timeline-horizontal-icons.js +3 -3
- package/dist/timeline-horizontal-phases.cjs +3 -3
- package/dist/timeline-horizontal-phases.js +3 -3
- package/dist/timeline-stepper-animated.cjs +3 -3
- package/dist/timeline-stepper-animated.js +3 -3
- package/dist/timeline-tabbed-phases.cjs +4 -4
- package/dist/timeline-tabbed-phases.js +4 -4
- package/package.json +1 -1
|
@@ -534,150 +534,8 @@ var Pressable = React.forwardRef(
|
|
|
534
534
|
}
|
|
535
535
|
);
|
|
536
536
|
Pressable.displayName = "Pressable";
|
|
537
|
-
|
|
538
|
-
// lib/mediaPlaceholders.ts
|
|
539
|
-
var imagePlaceholders = [
|
|
540
|
-
"https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
|
|
541
|
-
"https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
|
|
542
|
-
"https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
|
|
543
|
-
"https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
|
|
544
|
-
"https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
|
|
545
|
-
"https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
|
|
546
|
-
"https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
|
|
547
|
-
"https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
|
|
548
|
-
"https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
|
|
549
|
-
"https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
|
|
550
|
-
"https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
|
|
551
|
-
"https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
|
|
552
|
-
"https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
|
|
553
|
-
"https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
|
|
554
|
-
"https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
|
|
555
|
-
"https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
|
|
556
|
-
"https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
|
|
557
|
-
"https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
|
|
558
|
-
"https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
|
|
559
|
-
"https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
|
|
560
|
-
"https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
|
|
561
|
-
"https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
|
|
562
|
-
"https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
|
|
563
|
-
"https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
|
|
564
|
-
"https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
|
|
565
|
-
"https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
|
|
566
|
-
"https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
|
|
567
|
-
"https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
|
|
568
|
-
"https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
|
|
569
|
-
"https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
|
|
570
|
-
"https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
|
|
571
|
-
"https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
|
|
572
|
-
"https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
|
|
573
|
-
"https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
|
|
574
|
-
"https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
|
|
575
|
-
"https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
|
|
576
|
-
"https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
|
|
577
|
-
"https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
|
|
578
|
-
"https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
|
|
579
|
-
"https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
|
|
580
|
-
"https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
|
|
581
|
-
"https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
|
|
582
|
-
"https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
|
|
583
|
-
"https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
|
|
584
|
-
"https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
|
|
585
|
-
"https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
|
|
586
|
-
"https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
|
|
587
|
-
"https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
|
|
588
|
-
"https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
|
|
589
|
-
"https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
|
|
590
|
-
"https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
|
|
591
|
-
"https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
|
|
592
|
-
"https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
|
|
593
|
-
"https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
|
|
594
|
-
"https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
|
|
595
|
-
"https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
|
|
596
|
-
"https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
|
|
597
|
-
"https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
|
|
598
|
-
"https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
|
|
599
|
-
"https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
|
|
600
|
-
"https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
|
|
601
|
-
"https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
|
|
602
|
-
"https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
|
|
603
|
-
"https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
|
|
604
|
-
"https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
|
|
605
|
-
"https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
|
|
606
|
-
"https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
|
|
607
|
-
"https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
|
|
608
|
-
"https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
|
|
609
|
-
"https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
|
|
610
|
-
"https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
|
|
611
|
-
"https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
|
|
612
|
-
"https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
|
|
613
|
-
"https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
|
|
614
|
-
"https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
|
|
615
|
-
"https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
|
|
616
|
-
"https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
|
|
617
|
-
"https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
|
|
618
|
-
"https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
|
|
619
|
-
"https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
|
|
620
|
-
"https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
|
|
621
|
-
"https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
|
|
622
|
-
"https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
|
|
623
|
-
"https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
|
|
624
|
-
"https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
|
|
625
|
-
"https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
|
|
626
|
-
"https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
|
|
627
|
-
"https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
|
|
628
|
-
"https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
|
|
629
|
-
"https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
|
|
630
|
-
"https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
|
|
631
|
-
"https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
|
|
632
|
-
"https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
|
|
633
|
-
"https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
|
|
634
|
-
"https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
|
|
635
|
-
"https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
|
|
636
|
-
"https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
|
|
637
|
-
"https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
|
|
638
|
-
"https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
|
|
639
|
-
"https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
|
|
640
|
-
"https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
|
|
641
|
-
"https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
|
|
642
|
-
"https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
|
|
643
|
-
"https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
|
|
644
|
-
"https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
|
|
645
|
-
"https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
|
|
646
|
-
"https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
|
|
647
|
-
"https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
|
|
648
|
-
"https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
|
|
649
|
-
"https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
|
|
650
|
-
"https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
|
|
651
|
-
"https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
|
|
652
|
-
"https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
|
|
653
|
-
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
654
|
-
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
655
|
-
];
|
|
656
|
-
var DEFAULT_TESTIMONIALS = [
|
|
657
|
-
{
|
|
658
|
-
quote: "Working with this team has been an absolute game-changer for our business. Their expertise and dedication exceeded all our expectations.",
|
|
659
|
-
author: "Sarah Chen",
|
|
660
|
-
role: "CEO",
|
|
661
|
-
company: "TechVentures",
|
|
662
|
-
backgroundImage: imagePlaceholders[10]
|
|
663
|
-
},
|
|
664
|
-
{
|
|
665
|
-
quote: "The level of professionalism and attention to detail is unmatched. They delivered exactly what we needed, on time and on budget.",
|
|
666
|
-
author: "Michael Torres",
|
|
667
|
-
role: "Founder",
|
|
668
|
-
company: "StartupLab",
|
|
669
|
-
backgroundImage: imagePlaceholders[11]
|
|
670
|
-
},
|
|
671
|
-
{
|
|
672
|
-
quote: "I've worked with many agencies, but none have matched the quality and creativity that this team brings to every project.",
|
|
673
|
-
author: "Emily Watson",
|
|
674
|
-
role: "Marketing Director",
|
|
675
|
-
company: "GrowthCo",
|
|
676
|
-
backgroundImage: imagePlaceholders[12]
|
|
677
|
-
}
|
|
678
|
-
];
|
|
679
537
|
function TestimonialsCarouselImage({
|
|
680
|
-
testimonials
|
|
538
|
+
testimonials,
|
|
681
539
|
testimonialsSlot,
|
|
682
540
|
height,
|
|
683
541
|
overlayOpacity,
|
|
@@ -694,20 +552,24 @@ function TestimonialsCarouselImage({
|
|
|
694
552
|
optixFlowConfig
|
|
695
553
|
}) {
|
|
696
554
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
555
|
+
const totalTestimonials = testimonials?.length ?? 0;
|
|
697
556
|
const goToPrevious = useCallback(() => {
|
|
557
|
+
if (totalTestimonials === 0) return;
|
|
698
558
|
setCurrentIndex(
|
|
699
|
-
(prev) => prev === 0 ?
|
|
559
|
+
(prev) => prev === 0 ? totalTestimonials - 1 : prev - 1
|
|
700
560
|
);
|
|
701
|
-
}, [
|
|
561
|
+
}, [totalTestimonials]);
|
|
702
562
|
const goToNext = useCallback(() => {
|
|
563
|
+
if (totalTestimonials === 0) return;
|
|
703
564
|
setCurrentIndex(
|
|
704
|
-
(prev) => prev ===
|
|
565
|
+
(prev) => prev === totalTestimonials - 1 ? 0 : prev + 1
|
|
705
566
|
);
|
|
706
|
-
}, [
|
|
707
|
-
const current = testimonials[currentIndex];
|
|
567
|
+
}, [totalTestimonials]);
|
|
568
|
+
const current = testimonials?.[currentIndex];
|
|
708
569
|
const renderedTestimonialContent = useMemo(() => {
|
|
709
570
|
if (testimonialsSlot) return testimonialsSlot;
|
|
710
|
-
|
|
571
|
+
if (!current) return null;
|
|
572
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center text-background", contentClassName), children: [
|
|
711
573
|
/* @__PURE__ */ jsx(
|
|
712
574
|
DynamicIcon,
|
|
713
575
|
{
|
|
@@ -729,10 +591,10 @@ function TestimonialsCarouselImage({
|
|
|
729
591
|
] })
|
|
730
592
|
] })
|
|
731
593
|
] });
|
|
732
|
-
}, [testimonialsSlot, contentClassName, quoteIconClassName, current
|
|
594
|
+
}, [testimonialsSlot, contentClassName, quoteIconClassName, current, quoteClassName, authorClassName]);
|
|
733
595
|
return /* @__PURE__ */ jsxs("section", { className: cn("relative", height, className), children: [
|
|
734
596
|
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
|
|
735
|
-
current
|
|
597
|
+
current?.backgroundImage && /* @__PURE__ */ jsx(
|
|
736
598
|
Img,
|
|
737
599
|
{
|
|
738
600
|
src: current.backgroundImage,
|
|
@@ -744,7 +606,7 @@ function TestimonialsCarouselImage({
|
|
|
744
606
|
/* @__PURE__ */ jsx(
|
|
745
607
|
"div",
|
|
746
608
|
{
|
|
747
|
-
className: "absolute inset-0 bg-
|
|
609
|
+
className: "absolute inset-0 bg-foreground",
|
|
748
610
|
style: { opacity: overlayOpacity }
|
|
749
611
|
}
|
|
750
612
|
)
|
|
@@ -764,7 +626,7 @@ function TestimonialsCarouselImage({
|
|
|
764
626
|
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
765
627
|
}
|
|
766
628
|
),
|
|
767
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex gap-2", dotsClassName), children: testimonials
|
|
629
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex gap-2", dotsClassName), children: testimonials?.map((_, index) => /* @__PURE__ */ jsx(
|
|
768
630
|
"button",
|
|
769
631
|
{
|
|
770
632
|
onClick: () => setCurrentIndex(index),
|
|
@@ -488,37 +488,8 @@ var Section = React__default.default.forwardRef(
|
|
|
488
488
|
}
|
|
489
489
|
);
|
|
490
490
|
Section.displayName = "Section";
|
|
491
|
-
|
|
492
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
493
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
494
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
495
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
496
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp"};
|
|
497
|
-
var DEFAULT_TESTIMONIALS = [
|
|
498
|
-
{
|
|
499
|
-
quote: "The platform has revolutionized how we handle our daily operations. It's intuitive, powerful, and the support team is always there when we need them.",
|
|
500
|
-
author: "Sarah Chen",
|
|
501
|
-
role: "Product Manager",
|
|
502
|
-
company: "TechCorp",
|
|
503
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
504
|
-
},
|
|
505
|
-
{
|
|
506
|
-
quote: "We've seen a 40% increase in productivity since implementing this solution. It's become an essential part of our workflow.",
|
|
507
|
-
author: "Michael Torres",
|
|
508
|
-
role: "Operations Director",
|
|
509
|
-
company: "GrowthCo",
|
|
510
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
511
|
-
},
|
|
512
|
-
{
|
|
513
|
-
quote: "The best investment we've made this year. The ROI was visible within the first month of implementation.",
|
|
514
|
-
author: "Emily Watson",
|
|
515
|
-
role: "CEO",
|
|
516
|
-
company: "StartupXYZ",
|
|
517
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
518
|
-
}
|
|
519
|
-
];
|
|
520
491
|
function TestimonialsCenteredAvatars({
|
|
521
|
-
testimonials
|
|
492
|
+
testimonials,
|
|
522
493
|
testimonialsSlot,
|
|
523
494
|
badge,
|
|
524
495
|
heading,
|
|
@@ -536,18 +507,19 @@ function TestimonialsCenteredAvatars({
|
|
|
536
507
|
pattern,
|
|
537
508
|
patternOpacity
|
|
538
509
|
}) {
|
|
539
|
-
const getAuthorName = (testimonial) => {
|
|
510
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
540
511
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
541
512
|
return "";
|
|
542
|
-
};
|
|
543
|
-
const getAvatarSrc = (testimonial) => {
|
|
513
|
+
}, []);
|
|
514
|
+
const getAvatarSrc = React.useCallback((testimonial) => {
|
|
544
515
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
545
|
-
};
|
|
546
|
-
const getInitials = (name) => {
|
|
516
|
+
}, []);
|
|
517
|
+
const getInitials = React.useCallback((name) => {
|
|
547
518
|
return name.split(" ").map((n) => n[0]).join("");
|
|
548
|
-
};
|
|
519
|
+
}, []);
|
|
549
520
|
const renderedTestimonials = React.useMemo(() => {
|
|
550
521
|
if (testimonialsSlot) return testimonialsSlot;
|
|
522
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
551
523
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12 space-y-8", testimonialsClassName), children: testimonials.map((testimonial, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
552
524
|
"div",
|
|
553
525
|
{
|
|
@@ -599,7 +571,7 @@ function TestimonialsCenteredAvatars({
|
|
|
599
571
|
children: heading
|
|
600
572
|
}
|
|
601
573
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
602
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
|
|
574
|
+
testimonials && testimonials.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
|
|
603
575
|
const authorName = getAuthorName(testimonial);
|
|
604
576
|
const avatarSrc = getAvatarSrc(testimonial);
|
|
605
577
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import React, { useMemo } from 'react';
|
|
2
|
+
import React, { useCallback, useMemo } from 'react';
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
@@ -463,37 +463,8 @@ var Section = React.forwardRef(
|
|
|
463
463
|
}
|
|
464
464
|
);
|
|
465
465
|
Section.displayName = "Section";
|
|
466
|
-
|
|
467
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
468
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
469
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
470
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
471
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp"};
|
|
472
|
-
var DEFAULT_TESTIMONIALS = [
|
|
473
|
-
{
|
|
474
|
-
quote: "The platform has revolutionized how we handle our daily operations. It's intuitive, powerful, and the support team is always there when we need them.",
|
|
475
|
-
author: "Sarah Chen",
|
|
476
|
-
role: "Product Manager",
|
|
477
|
-
company: "TechCorp",
|
|
478
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
quote: "We've seen a 40% increase in productivity since implementing this solution. It's become an essential part of our workflow.",
|
|
482
|
-
author: "Michael Torres",
|
|
483
|
-
role: "Operations Director",
|
|
484
|
-
company: "GrowthCo",
|
|
485
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
486
|
-
},
|
|
487
|
-
{
|
|
488
|
-
quote: "The best investment we've made this year. The ROI was visible within the first month of implementation.",
|
|
489
|
-
author: "Emily Watson",
|
|
490
|
-
role: "CEO",
|
|
491
|
-
company: "StartupXYZ",
|
|
492
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
493
|
-
}
|
|
494
|
-
];
|
|
495
466
|
function TestimonialsCenteredAvatars({
|
|
496
|
-
testimonials
|
|
467
|
+
testimonials,
|
|
497
468
|
testimonialsSlot,
|
|
498
469
|
badge,
|
|
499
470
|
heading,
|
|
@@ -511,18 +482,19 @@ function TestimonialsCenteredAvatars({
|
|
|
511
482
|
pattern,
|
|
512
483
|
patternOpacity
|
|
513
484
|
}) {
|
|
514
|
-
const getAuthorName = (testimonial) => {
|
|
485
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
515
486
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
516
487
|
return "";
|
|
517
|
-
};
|
|
518
|
-
const getAvatarSrc = (testimonial) => {
|
|
488
|
+
}, []);
|
|
489
|
+
const getAvatarSrc = useCallback((testimonial) => {
|
|
519
490
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
520
|
-
};
|
|
521
|
-
const getInitials = (name) => {
|
|
491
|
+
}, []);
|
|
492
|
+
const getInitials = useCallback((name) => {
|
|
522
493
|
return name.split(" ").map((n) => n[0]).join("");
|
|
523
|
-
};
|
|
494
|
+
}, []);
|
|
524
495
|
const renderedTestimonials = useMemo(() => {
|
|
525
496
|
if (testimonialsSlot) return testimonialsSlot;
|
|
497
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
526
498
|
return /* @__PURE__ */ jsx("div", { className: cn("mt-12 space-y-8", testimonialsClassName), children: testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs(
|
|
527
499
|
"div",
|
|
528
500
|
{
|
|
@@ -574,7 +546,7 @@ function TestimonialsCenteredAvatars({
|
|
|
574
546
|
children: heading
|
|
575
547
|
}
|
|
576
548
|
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
577
|
-
/* @__PURE__ */ jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
|
|
549
|
+
testimonials && testimonials.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
|
|
578
550
|
const authorName = getAuthorName(testimonial);
|
|
579
551
|
const avatarSrc = getAvatarSrc(testimonial);
|
|
580
552
|
return /* @__PURE__ */ jsxs(
|
|
@@ -511,18 +511,13 @@ var Section = React__namespace.default.forwardRef(
|
|
|
511
511
|
}
|
|
512
512
|
);
|
|
513
513
|
Section.displayName = "Section";
|
|
514
|
-
var DEFAULT_TESTIMONIAL = {
|
|
515
|
-
quote: "Implementing this solution was the best decision we made this year. Our team productivity increased by 40% and customer satisfaction scores have never been higher. The support team is exceptional - they're always available and incredibly knowledgeable.",
|
|
516
|
-
author: "Jennifer Martinez",
|
|
517
|
-
role: "Chief Technology Officer"
|
|
518
|
-
};
|
|
519
514
|
function TestimonialsCompanyLogo({
|
|
520
|
-
testimonial
|
|
515
|
+
testimonial,
|
|
521
516
|
testimonialSlot,
|
|
522
517
|
companyLogo,
|
|
523
518
|
companyLogoAlt,
|
|
524
519
|
imageSrc,
|
|
525
|
-
imageAlt
|
|
520
|
+
imageAlt,
|
|
526
521
|
className,
|
|
527
522
|
gridClassName,
|
|
528
523
|
contentClassName,
|
|
@@ -538,6 +533,7 @@ function TestimonialsCompanyLogo({
|
|
|
538
533
|
}) {
|
|
539
534
|
const renderedTestimonial = React.useMemo(() => {
|
|
540
535
|
if (testimonialSlot) return testimonialSlot;
|
|
536
|
+
if (!testimonial) return null;
|
|
541
537
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-8", contentClassName), children: [
|
|
542
538
|
companyLogo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
543
539
|
img.Img,
|
|
@@ -576,7 +572,7 @@ function TestimonialsCompanyLogo({
|
|
|
576
572
|
] })
|
|
577
573
|
] })
|
|
578
574
|
] });
|
|
579
|
-
}, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial
|
|
575
|
+
}, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial, quoteClassName, authorClassName]);
|
|
580
576
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
581
577
|
Section,
|
|
582
578
|
{
|
|
@@ -490,18 +490,13 @@ var Section = React__default.forwardRef(
|
|
|
490
490
|
}
|
|
491
491
|
);
|
|
492
492
|
Section.displayName = "Section";
|
|
493
|
-
var DEFAULT_TESTIMONIAL = {
|
|
494
|
-
quote: "Implementing this solution was the best decision we made this year. Our team productivity increased by 40% and customer satisfaction scores have never been higher. The support team is exceptional - they're always available and incredibly knowledgeable.",
|
|
495
|
-
author: "Jennifer Martinez",
|
|
496
|
-
role: "Chief Technology Officer"
|
|
497
|
-
};
|
|
498
493
|
function TestimonialsCompanyLogo({
|
|
499
|
-
testimonial
|
|
494
|
+
testimonial,
|
|
500
495
|
testimonialSlot,
|
|
501
496
|
companyLogo,
|
|
502
497
|
companyLogoAlt,
|
|
503
498
|
imageSrc,
|
|
504
|
-
imageAlt
|
|
499
|
+
imageAlt,
|
|
505
500
|
className,
|
|
506
501
|
gridClassName,
|
|
507
502
|
contentClassName,
|
|
@@ -517,6 +512,7 @@ function TestimonialsCompanyLogo({
|
|
|
517
512
|
}) {
|
|
518
513
|
const renderedTestimonial = useMemo(() => {
|
|
519
514
|
if (testimonialSlot) return testimonialSlot;
|
|
515
|
+
if (!testimonial) return null;
|
|
520
516
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-8", contentClassName), children: [
|
|
521
517
|
companyLogo && /* @__PURE__ */ jsx(
|
|
522
518
|
Img,
|
|
@@ -555,7 +551,7 @@ function TestimonialsCompanyLogo({
|
|
|
555
551
|
] })
|
|
556
552
|
] })
|
|
557
553
|
] });
|
|
558
|
-
}, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial
|
|
554
|
+
}, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial, quoteClassName, authorClassName]);
|
|
559
555
|
return /* @__PURE__ */ jsx(
|
|
560
556
|
Section,
|
|
561
557
|
{
|
|
@@ -580,46 +580,6 @@ var Section = React__namespace.default.forwardRef(
|
|
|
580
580
|
}
|
|
581
581
|
);
|
|
582
582
|
Section.displayName = "Section";
|
|
583
|
-
|
|
584
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
585
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
586
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
587
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
588
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
589
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
590
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
|
|
591
|
-
var DEFAULT_REVIEWS = [
|
|
592
|
-
{
|
|
593
|
-
rating: 5,
|
|
594
|
-
content: "Absolutely love this product! It has made my daily routine so much easier. Highly recommend to anyone looking for quality.",
|
|
595
|
-
author: "Sarah M.",
|
|
596
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
597
|
-
},
|
|
598
|
-
{
|
|
599
|
-
rating: 5,
|
|
600
|
-
content: "Best purchase I've made in a long time. The quality exceeded my expectations and the customer service was top-notch.",
|
|
601
|
-
author: "James R.",
|
|
602
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
rating: 4,
|
|
606
|
-
content: "Great product overall. Does exactly what it promises. Would buy again.",
|
|
607
|
-
author: "Emily K.",
|
|
608
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
609
|
-
},
|
|
610
|
-
{
|
|
611
|
-
rating: 5,
|
|
612
|
-
content: "This has become an essential part of my workflow. Can't imagine going back to my old solution.",
|
|
613
|
-
author: "Michael T.",
|
|
614
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
615
|
-
},
|
|
616
|
-
{
|
|
617
|
-
rating: 5,
|
|
618
|
-
content: "Impressed by the attention to detail. You can tell a lot of thought went into designing this.",
|
|
619
|
-
author: "Lisa P.",
|
|
620
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
621
|
-
}
|
|
622
|
-
];
|
|
623
583
|
function StarRating({ rating, size = 16 }) {
|
|
624
584
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
625
585
|
DynamicIcon,
|
|
@@ -634,7 +594,7 @@ function StarRating({ rating, size = 16 }) {
|
|
|
634
594
|
)) });
|
|
635
595
|
}
|
|
636
596
|
function TestimonialsGridAddReview({
|
|
637
|
-
reviews
|
|
597
|
+
reviews,
|
|
638
598
|
reviewsSlot,
|
|
639
599
|
heading,
|
|
640
600
|
description,
|
|
@@ -654,13 +614,13 @@ function TestimonialsGridAddReview({
|
|
|
654
614
|
pattern,
|
|
655
615
|
patternOpacity
|
|
656
616
|
}) {
|
|
657
|
-
const getAuthorName = (review) => {
|
|
617
|
+
const getAuthorName = React.useCallback((review) => {
|
|
658
618
|
if (typeof review.author === "string") return review.author;
|
|
659
619
|
return "";
|
|
660
|
-
};
|
|
661
|
-
const getInitials = (name) => {
|
|
620
|
+
}, []);
|
|
621
|
+
const getInitials = React.useCallback((name) => {
|
|
662
622
|
return name.split(" ").map((n) => n[0]).join("");
|
|
663
|
-
};
|
|
623
|
+
}, []);
|
|
664
624
|
const renderedReviews = React.useMemo(() => {
|
|
665
625
|
if (reviewsSlot) return reviewsSlot;
|
|
666
626
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -693,7 +653,7 @@ function TestimonialsGridAddReview({
|
|
|
693
653
|
] })
|
|
694
654
|
}
|
|
695
655
|
),
|
|
696
|
-
reviews
|
|
656
|
+
reviews?.map((review, index) => {
|
|
697
657
|
const authorName = getAuthorName(review);
|
|
698
658
|
return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-4 p-6", children: [
|
|
699
659
|
/* @__PURE__ */ jsxRuntime.jsx(StarRating, { rating: review.rating }),
|
|
@@ -710,7 +670,7 @@ function TestimonialsGridAddReview({
|
|
|
710
670
|
]
|
|
711
671
|
}
|
|
712
672
|
);
|
|
713
|
-
}, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName]);
|
|
673
|
+
}, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName, getAuthorName, getInitials]);
|
|
714
674
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
715
675
|
Section,
|
|
716
676
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useMemo } from 'react';
|
|
3
|
+
import React__default, { useCallback, useMemo } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -558,46 +558,6 @@ var Section = React__default.forwardRef(
|
|
|
558
558
|
}
|
|
559
559
|
);
|
|
560
560
|
Section.displayName = "Section";
|
|
561
|
-
|
|
562
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
563
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
564
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
565
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
566
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
567
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
568
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
|
|
569
|
-
var DEFAULT_REVIEWS = [
|
|
570
|
-
{
|
|
571
|
-
rating: 5,
|
|
572
|
-
content: "Absolutely love this product! It has made my daily routine so much easier. Highly recommend to anyone looking for quality.",
|
|
573
|
-
author: "Sarah M.",
|
|
574
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
rating: 5,
|
|
578
|
-
content: "Best purchase I've made in a long time. The quality exceeded my expectations and the customer service was top-notch.",
|
|
579
|
-
author: "James R.",
|
|
580
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
581
|
-
},
|
|
582
|
-
{
|
|
583
|
-
rating: 4,
|
|
584
|
-
content: "Great product overall. Does exactly what it promises. Would buy again.",
|
|
585
|
-
author: "Emily K.",
|
|
586
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
587
|
-
},
|
|
588
|
-
{
|
|
589
|
-
rating: 5,
|
|
590
|
-
content: "This has become an essential part of my workflow. Can't imagine going back to my old solution.",
|
|
591
|
-
author: "Michael T.",
|
|
592
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
rating: 5,
|
|
596
|
-
content: "Impressed by the attention to detail. You can tell a lot of thought went into designing this.",
|
|
597
|
-
author: "Lisa P.",
|
|
598
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
599
|
-
}
|
|
600
|
-
];
|
|
601
561
|
function StarRating({ rating, size = 16 }) {
|
|
602
562
|
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
603
563
|
DynamicIcon,
|
|
@@ -612,7 +572,7 @@ function StarRating({ rating, size = 16 }) {
|
|
|
612
572
|
)) });
|
|
613
573
|
}
|
|
614
574
|
function TestimonialsGridAddReview({
|
|
615
|
-
reviews
|
|
575
|
+
reviews,
|
|
616
576
|
reviewsSlot,
|
|
617
577
|
heading,
|
|
618
578
|
description,
|
|
@@ -632,13 +592,13 @@ function TestimonialsGridAddReview({
|
|
|
632
592
|
pattern,
|
|
633
593
|
patternOpacity
|
|
634
594
|
}) {
|
|
635
|
-
const getAuthorName = (review) => {
|
|
595
|
+
const getAuthorName = useCallback((review) => {
|
|
636
596
|
if (typeof review.author === "string") return review.author;
|
|
637
597
|
return "";
|
|
638
|
-
};
|
|
639
|
-
const getInitials = (name) => {
|
|
598
|
+
}, []);
|
|
599
|
+
const getInitials = useCallback((name) => {
|
|
640
600
|
return name.split(" ").map((n) => n[0]).join("");
|
|
641
|
-
};
|
|
601
|
+
}, []);
|
|
642
602
|
const renderedReviews = useMemo(() => {
|
|
643
603
|
if (reviewsSlot) return reviewsSlot;
|
|
644
604
|
return /* @__PURE__ */ jsxs(
|
|
@@ -671,7 +631,7 @@ function TestimonialsGridAddReview({
|
|
|
671
631
|
] })
|
|
672
632
|
}
|
|
673
633
|
),
|
|
674
|
-
reviews
|
|
634
|
+
reviews?.map((review, index) => {
|
|
675
635
|
const authorName = getAuthorName(review);
|
|
676
636
|
return /* @__PURE__ */ jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsxs(CardContent, { className: "space-y-4 p-6", children: [
|
|
677
637
|
/* @__PURE__ */ jsx(StarRating, { rating: review.rating }),
|
|
@@ -688,7 +648,7 @@ function TestimonialsGridAddReview({
|
|
|
688
648
|
]
|
|
689
649
|
}
|
|
690
650
|
);
|
|
691
|
-
}, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName]);
|
|
651
|
+
}, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName, getAuthorName, getInitials]);
|
|
692
652
|
return /* @__PURE__ */ jsxs(
|
|
693
653
|
Section,
|
|
694
654
|
{
|