@opensite/ui 0.8.6 → 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 +8 -3
- package/dist/faq-badge-support.js +8 -3
- package/dist/faq-bordered-badge.cjs +3 -3
- package/dist/faq-bordered-badge.js +3 -3
- package/dist/faq-card-categories.cjs +1 -1
- package/dist/faq-card-categories.js +1 -1
- package/dist/faq-categorized-sections.cjs +1 -1
- package/dist/faq-categorized-sections.js +1 -1
- package/dist/faq-centered-accordion.cjs +1 -1
- package/dist/faq-centered-accordion.js +1 -1
- package/dist/faq-gradient-categories.cjs +1 -1
- package/dist/faq-gradient-categories.js +1 -1
- package/dist/faq-muted-cards.cjs +1 -1
- package/dist/faq-muted-cards.js +1 -1
- package/dist/faq-profile-sidebar.cjs +3 -3
- package/dist/faq-profile-sidebar.js +3 -3
- package/dist/faq-rounded-cards.cjs +4 -16
- package/dist/faq-rounded-cards.js +4 -16
- package/dist/faq-sidebar-navigation.cjs +1 -1
- package/dist/faq-sidebar-navigation.js +1 -1
- package/dist/faq-simple-accordion.cjs +1 -1
- package/dist/faq-simple-accordion.js +1 -1
- package/dist/faq-split-help.cjs +11 -15
- package/dist/faq-split-help.js +11 -15
- package/dist/faq-split-hero.cjs +5 -5
- package/dist/faq-split-hero.js +5 -5
- package/dist/faq-static-list.cjs +1 -1
- package/dist/faq-static-list.js +1 -1
- package/dist/feature-accordion-image.cjs +1 -1
- package/dist/feature-accordion-image.js +1 -1
- 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/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 +5 -5
- package/dist/navbar-animated-preview.js +5 -5
- package/dist/navbar-centered-menu.cjs +1 -1
- package/dist/navbar-centered-menu.js +1 -1
- package/dist/navbar-dark-icons.cjs +6 -6
- package/dist/navbar-dark-icons.js +6 -6
- package/dist/navbar-dropdown-menu.cjs +3 -3
- package/dist/navbar-dropdown-menu.js +3 -3
- package/dist/navbar-education-platform.cjs +1 -1
- package/dist/navbar-education-platform.js +1 -1
- package/dist/navbar-enterprise-mega.cjs +12 -12
- package/dist/navbar-enterprise-mega.js +12 -12
- package/dist/navbar-feature-grid.cjs +3 -3
- package/dist/navbar-feature-grid.js +3 -3
- 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 +1 -1
- package/dist/navbar-multi-column-groups.js +1 -1
- package/dist/navbar-platform-resources.cjs +2 -2
- package/dist/navbar-platform-resources.js +2 -2
- package/dist/navbar-sidebar-mobile.cjs +1 -1
- package/dist/navbar-sidebar-mobile.js +1 -1
- 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 +1348 -1848
- package/dist/registry.js +1348 -1848
- 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
|
@@ -477,69 +477,8 @@ var Section = React__default.default.forwardRef(
|
|
|
477
477
|
}
|
|
478
478
|
);
|
|
479
479
|
Section.displayName = "Section";
|
|
480
|
-
|
|
481
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
482
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
483
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
484
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
485
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
486
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
487
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
488
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp",
|
|
489
|
-
avatar7: "https://cdn.ing/assets/i/r/286245/yf2wb1scwmdgntba2on67q0t091d/avatar-7.webp",
|
|
490
|
-
avatar8: "https://cdn.ing/assets/i/r/286246/jsrq5sf9oxi8piujnfrdjqmg5zvx/avatar-8.webp"};
|
|
491
|
-
var DEFAULT_TESTIMONIALS = [
|
|
492
|
-
{
|
|
493
|
-
quote: "This platform has completely transformed how we approach our daily operations. The intuitive design and powerful features have made our team significantly more productive. I can't imagine going back to our old workflow.",
|
|
494
|
-
author: "Sarah Chen",
|
|
495
|
-
role: "Product Manager",
|
|
496
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
497
|
-
},
|
|
498
|
-
{
|
|
499
|
-
quote: "Outstanding support and an exceptional product. Highly recommend!",
|
|
500
|
-
author: "Michael Torres",
|
|
501
|
-
role: "CEO",
|
|
502
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
503
|
-
},
|
|
504
|
-
{
|
|
505
|
-
quote: "The best investment we've made this year. Our team adopted it instantly and the results speak for themselves.",
|
|
506
|
-
author: "Emily Watson",
|
|
507
|
-
role: "Operations Director",
|
|
508
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
509
|
-
},
|
|
510
|
-
{
|
|
511
|
-
quote: "Clean interface, powerful features, and excellent documentation. Everything a developer could ask for. The API is well-designed and the SDK makes integration a breeze.",
|
|
512
|
-
author: "David Kim",
|
|
513
|
-
role: "Senior Developer",
|
|
514
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
515
|
-
},
|
|
516
|
-
{
|
|
517
|
-
quote: "Simple, elegant, and powerful. A game-changer for our workflow.",
|
|
518
|
-
author: "Lisa Park",
|
|
519
|
-
role: "Engineering Manager",
|
|
520
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
quote: "We've tried many solutions, but this one stands out for its reliability and ease of use. The customer support team is also incredibly responsive.",
|
|
524
|
-
author: "Alex Rivera",
|
|
525
|
-
role: "Design Director",
|
|
526
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6
|
|
527
|
-
},
|
|
528
|
-
{
|
|
529
|
-
quote: "Intuitive design that requires minimal training. Our onboarding time dropped significantly since we started using this platform.",
|
|
530
|
-
author: "Jordan Lee",
|
|
531
|
-
role: "HR Manager",
|
|
532
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar7
|
|
533
|
-
},
|
|
534
|
-
{
|
|
535
|
-
quote: "The attention to detail is impressive. Every feature feels thoughtfully designed.",
|
|
536
|
-
author: "Maya Patel",
|
|
537
|
-
role: "UX Designer",
|
|
538
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar8
|
|
539
|
-
}
|
|
540
|
-
];
|
|
541
480
|
function TestimonialsMasonryGrid({
|
|
542
|
-
testimonials
|
|
481
|
+
testimonials,
|
|
543
482
|
testimonialsSlot,
|
|
544
483
|
heading,
|
|
545
484
|
description,
|
|
@@ -556,23 +495,24 @@ function TestimonialsMasonryGrid({
|
|
|
556
495
|
pattern,
|
|
557
496
|
patternOpacity
|
|
558
497
|
}) {
|
|
559
|
-
const columns = [
|
|
498
|
+
const columns = testimonials ? [
|
|
560
499
|
testimonials.filter((_, i) => i % 3 === 0),
|
|
561
500
|
testimonials.filter((_, i) => i % 3 === 1),
|
|
562
501
|
testimonials.filter((_, i) => i % 3 === 2)
|
|
563
|
-
];
|
|
564
|
-
const getAuthorName = (testimonial) => {
|
|
502
|
+
] : [];
|
|
503
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
565
504
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
566
505
|
return "";
|
|
567
|
-
};
|
|
568
|
-
const getAvatarSrc = (testimonial) => {
|
|
506
|
+
}, []);
|
|
507
|
+
const getAvatarSrc = React.useCallback((testimonial) => {
|
|
569
508
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
570
|
-
};
|
|
571
|
-
const getInitials = (name) => {
|
|
509
|
+
}, []);
|
|
510
|
+
const getInitials = React.useCallback((name) => {
|
|
572
511
|
return name.split(" ").map((n) => n[0]).join("");
|
|
573
|
-
};
|
|
512
|
+
}, []);
|
|
574
513
|
const renderedTestimonials = React.useMemo(() => {
|
|
575
514
|
if (testimonialsSlot) return testimonialsSlot;
|
|
515
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
576
516
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
577
517
|
"div",
|
|
578
518
|
{
|
|
@@ -618,7 +558,7 @@ function TestimonialsMasonryGrid({
|
|
|
618
558
|
}) }, columnIndex))
|
|
619
559
|
}
|
|
620
560
|
);
|
|
621
|
-
}, [testimonialsSlot, gridClassName, columns, cardClassName, quoteClassName, authorClassName]);
|
|
561
|
+
}, [testimonialsSlot, gridClassName, columns, cardClassName, quoteClassName, authorClassName, testimonials, getAuthorName, getAvatarSrc, getInitials]);
|
|
622
562
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
623
563
|
Section,
|
|
624
564
|
{
|
|
@@ -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';
|
|
@@ -452,69 +452,8 @@ var Section = React.forwardRef(
|
|
|
452
452
|
}
|
|
453
453
|
);
|
|
454
454
|
Section.displayName = "Section";
|
|
455
|
-
|
|
456
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
457
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
458
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
459
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
460
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
461
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
462
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
463
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp",
|
|
464
|
-
avatar7: "https://cdn.ing/assets/i/r/286245/yf2wb1scwmdgntba2on67q0t091d/avatar-7.webp",
|
|
465
|
-
avatar8: "https://cdn.ing/assets/i/r/286246/jsrq5sf9oxi8piujnfrdjqmg5zvx/avatar-8.webp"};
|
|
466
|
-
var DEFAULT_TESTIMONIALS = [
|
|
467
|
-
{
|
|
468
|
-
quote: "This platform has completely transformed how we approach our daily operations. The intuitive design and powerful features have made our team significantly more productive. I can't imagine going back to our old workflow.",
|
|
469
|
-
author: "Sarah Chen",
|
|
470
|
-
role: "Product Manager",
|
|
471
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
quote: "Outstanding support and an exceptional product. Highly recommend!",
|
|
475
|
-
author: "Michael Torres",
|
|
476
|
-
role: "CEO",
|
|
477
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
quote: "The best investment we've made this year. Our team adopted it instantly and the results speak for themselves.",
|
|
481
|
-
author: "Emily Watson",
|
|
482
|
-
role: "Operations Director",
|
|
483
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
quote: "Clean interface, powerful features, and excellent documentation. Everything a developer could ask for. The API is well-designed and the SDK makes integration a breeze.",
|
|
487
|
-
author: "David Kim",
|
|
488
|
-
role: "Senior Developer",
|
|
489
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
490
|
-
},
|
|
491
|
-
{
|
|
492
|
-
quote: "Simple, elegant, and powerful. A game-changer for our workflow.",
|
|
493
|
-
author: "Lisa Park",
|
|
494
|
-
role: "Engineering Manager",
|
|
495
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
496
|
-
},
|
|
497
|
-
{
|
|
498
|
-
quote: "We've tried many solutions, but this one stands out for its reliability and ease of use. The customer support team is also incredibly responsive.",
|
|
499
|
-
author: "Alex Rivera",
|
|
500
|
-
role: "Design Director",
|
|
501
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6
|
|
502
|
-
},
|
|
503
|
-
{
|
|
504
|
-
quote: "Intuitive design that requires minimal training. Our onboarding time dropped significantly since we started using this platform.",
|
|
505
|
-
author: "Jordan Lee",
|
|
506
|
-
role: "HR Manager",
|
|
507
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar7
|
|
508
|
-
},
|
|
509
|
-
{
|
|
510
|
-
quote: "The attention to detail is impressive. Every feature feels thoughtfully designed.",
|
|
511
|
-
author: "Maya Patel",
|
|
512
|
-
role: "UX Designer",
|
|
513
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar8
|
|
514
|
-
}
|
|
515
|
-
];
|
|
516
455
|
function TestimonialsMasonryGrid({
|
|
517
|
-
testimonials
|
|
456
|
+
testimonials,
|
|
518
457
|
testimonialsSlot,
|
|
519
458
|
heading,
|
|
520
459
|
description,
|
|
@@ -531,23 +470,24 @@ function TestimonialsMasonryGrid({
|
|
|
531
470
|
pattern,
|
|
532
471
|
patternOpacity
|
|
533
472
|
}) {
|
|
534
|
-
const columns = [
|
|
473
|
+
const columns = testimonials ? [
|
|
535
474
|
testimonials.filter((_, i) => i % 3 === 0),
|
|
536
475
|
testimonials.filter((_, i) => i % 3 === 1),
|
|
537
476
|
testimonials.filter((_, i) => i % 3 === 2)
|
|
538
|
-
];
|
|
539
|
-
const getAuthorName = (testimonial) => {
|
|
477
|
+
] : [];
|
|
478
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
540
479
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
541
480
|
return "";
|
|
542
|
-
};
|
|
543
|
-
const getAvatarSrc = (testimonial) => {
|
|
481
|
+
}, []);
|
|
482
|
+
const getAvatarSrc = useCallback((testimonial) => {
|
|
544
483
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
545
|
-
};
|
|
546
|
-
const getInitials = (name) => {
|
|
484
|
+
}, []);
|
|
485
|
+
const getInitials = useCallback((name) => {
|
|
547
486
|
return name.split(" ").map((n) => n[0]).join("");
|
|
548
|
-
};
|
|
487
|
+
}, []);
|
|
549
488
|
const renderedTestimonials = useMemo(() => {
|
|
550
489
|
if (testimonialsSlot) return testimonialsSlot;
|
|
490
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
551
491
|
return /* @__PURE__ */ jsx(
|
|
552
492
|
"div",
|
|
553
493
|
{
|
|
@@ -593,7 +533,7 @@ function TestimonialsMasonryGrid({
|
|
|
593
533
|
}) }, columnIndex))
|
|
594
534
|
}
|
|
595
535
|
);
|
|
596
|
-
}, [testimonialsSlot, gridClassName, columns, cardClassName, quoteClassName, authorClassName]);
|
|
536
|
+
}, [testimonialsSlot, gridClassName, columns, cardClassName, quoteClassName, authorClassName, testimonials, getAuthorName, getAvatarSrc, getInitials]);
|
|
597
537
|
return /* @__PURE__ */ jsxs(
|
|
598
538
|
Section,
|
|
599
539
|
{
|
|
@@ -557,59 +557,6 @@ var Section = React__namespace.default.forwardRef(
|
|
|
557
557
|
}
|
|
558
558
|
);
|
|
559
559
|
Section.displayName = "Section";
|
|
560
|
-
|
|
561
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
562
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
563
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
564
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
565
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
566
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
567
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
568
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp"};
|
|
569
|
-
var DEFAULT_TESTIMONIALS = [
|
|
570
|
-
{
|
|
571
|
-
quote: "Exceptional quality and outstanding customer service. Highly recommend!",
|
|
572
|
-
author: "Sarah Chen",
|
|
573
|
-
role: "Product Manager",
|
|
574
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
575
|
-
rating: 5
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
quote: "This solution has transformed how our team works. Incredible value.",
|
|
579
|
-
author: "Michael Torres",
|
|
580
|
-
role: "CEO",
|
|
581
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
|
|
582
|
-
rating: 5
|
|
583
|
-
},
|
|
584
|
-
{
|
|
585
|
-
quote: "Simple, elegant, and powerful. Everything we needed in one package.",
|
|
586
|
-
author: "Emily Watson",
|
|
587
|
-
role: "Operations Lead",
|
|
588
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
|
|
589
|
-
rating: 5
|
|
590
|
-
},
|
|
591
|
-
{
|
|
592
|
-
quote: "The best investment we've made this year. ROI was immediate.",
|
|
593
|
-
author: "David Kim",
|
|
594
|
-
role: "CTO",
|
|
595
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
596
|
-
rating: 5
|
|
597
|
-
},
|
|
598
|
-
{
|
|
599
|
-
quote: "Support team is always responsive and helpful. Great experience overall.",
|
|
600
|
-
author: "Lisa Park",
|
|
601
|
-
role: "Engineering Manager",
|
|
602
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
|
|
603
|
-
rating: 4
|
|
604
|
-
},
|
|
605
|
-
{
|
|
606
|
-
quote: "Clean interface and intuitive design. Our team adopted it instantly.",
|
|
607
|
-
author: "Alex Rivera",
|
|
608
|
-
role: "Design Director",
|
|
609
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6,
|
|
610
|
-
rating: 5
|
|
611
|
-
}
|
|
612
|
-
];
|
|
613
560
|
function StarRating({ rating, size = 14 }) {
|
|
614
561
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
615
562
|
DynamicIcon,
|
|
@@ -624,7 +571,7 @@ function StarRating({ rating, size = 14 }) {
|
|
|
624
571
|
)) });
|
|
625
572
|
}
|
|
626
573
|
function TestimonialsMiniDividers({
|
|
627
|
-
testimonials
|
|
574
|
+
testimonials,
|
|
628
575
|
testimonialsSlot,
|
|
629
576
|
heading,
|
|
630
577
|
description,
|
|
@@ -641,18 +588,19 @@ function TestimonialsMiniDividers({
|
|
|
641
588
|
pattern,
|
|
642
589
|
patternOpacity
|
|
643
590
|
}) {
|
|
644
|
-
const getAuthorName = (testimonial) => {
|
|
591
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
645
592
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
646
593
|
return "";
|
|
647
|
-
};
|
|
648
|
-
const getAvatarSrc = (testimonial) => {
|
|
594
|
+
}, []);
|
|
595
|
+
const getAvatarSrc = React.useCallback((testimonial) => {
|
|
649
596
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
650
|
-
};
|
|
651
|
-
const getInitials = (name) => {
|
|
597
|
+
}, []);
|
|
598
|
+
const getInitials = React.useCallback((name) => {
|
|
652
599
|
return name.split(" ").map((n) => n[0]).join("");
|
|
653
|
-
};
|
|
600
|
+
}, []);
|
|
654
601
|
const renderedTestimonials = React.useMemo(() => {
|
|
655
602
|
if (testimonialsSlot) return testimonialsSlot;
|
|
603
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
656
604
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
657
605
|
"div",
|
|
658
606
|
{
|
|
@@ -711,7 +659,7 @@ function TestimonialsMiniDividers({
|
|
|
711
659
|
})
|
|
712
660
|
}
|
|
713
661
|
);
|
|
714
|
-
}, [testimonialsSlot, gridClassName, testimonials, itemClassName, quoteClassName, authorClassName]);
|
|
662
|
+
}, [testimonialsSlot, gridClassName, testimonials, itemClassName, quoteClassName, authorClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
715
663
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
716
664
|
Section,
|
|
717
665
|
{
|
|
@@ -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';
|
|
@@ -535,59 +535,6 @@ var Section = React__default.forwardRef(
|
|
|
535
535
|
}
|
|
536
536
|
);
|
|
537
537
|
Section.displayName = "Section";
|
|
538
|
-
|
|
539
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
540
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
541
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
542
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
543
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
544
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
545
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
546
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp"};
|
|
547
|
-
var DEFAULT_TESTIMONIALS = [
|
|
548
|
-
{
|
|
549
|
-
quote: "Exceptional quality and outstanding customer service. Highly recommend!",
|
|
550
|
-
author: "Sarah Chen",
|
|
551
|
-
role: "Product Manager",
|
|
552
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
553
|
-
rating: 5
|
|
554
|
-
},
|
|
555
|
-
{
|
|
556
|
-
quote: "This solution has transformed how our team works. Incredible value.",
|
|
557
|
-
author: "Michael Torres",
|
|
558
|
-
role: "CEO",
|
|
559
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
|
|
560
|
-
rating: 5
|
|
561
|
-
},
|
|
562
|
-
{
|
|
563
|
-
quote: "Simple, elegant, and powerful. Everything we needed in one package.",
|
|
564
|
-
author: "Emily Watson",
|
|
565
|
-
role: "Operations Lead",
|
|
566
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
|
|
567
|
-
rating: 5
|
|
568
|
-
},
|
|
569
|
-
{
|
|
570
|
-
quote: "The best investment we've made this year. ROI was immediate.",
|
|
571
|
-
author: "David Kim",
|
|
572
|
-
role: "CTO",
|
|
573
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
574
|
-
rating: 5
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
quote: "Support team is always responsive and helpful. Great experience overall.",
|
|
578
|
-
author: "Lisa Park",
|
|
579
|
-
role: "Engineering Manager",
|
|
580
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
|
|
581
|
-
rating: 4
|
|
582
|
-
},
|
|
583
|
-
{
|
|
584
|
-
quote: "Clean interface and intuitive design. Our team adopted it instantly.",
|
|
585
|
-
author: "Alex Rivera",
|
|
586
|
-
role: "Design Director",
|
|
587
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6,
|
|
588
|
-
rating: 5
|
|
589
|
-
}
|
|
590
|
-
];
|
|
591
538
|
function StarRating({ rating, size = 14 }) {
|
|
592
539
|
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
593
540
|
DynamicIcon,
|
|
@@ -602,7 +549,7 @@ function StarRating({ rating, size = 14 }) {
|
|
|
602
549
|
)) });
|
|
603
550
|
}
|
|
604
551
|
function TestimonialsMiniDividers({
|
|
605
|
-
testimonials
|
|
552
|
+
testimonials,
|
|
606
553
|
testimonialsSlot,
|
|
607
554
|
heading,
|
|
608
555
|
description,
|
|
@@ -619,18 +566,19 @@ function TestimonialsMiniDividers({
|
|
|
619
566
|
pattern,
|
|
620
567
|
patternOpacity
|
|
621
568
|
}) {
|
|
622
|
-
const getAuthorName = (testimonial) => {
|
|
569
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
623
570
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
624
571
|
return "";
|
|
625
|
-
};
|
|
626
|
-
const getAvatarSrc = (testimonial) => {
|
|
572
|
+
}, []);
|
|
573
|
+
const getAvatarSrc = useCallback((testimonial) => {
|
|
627
574
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
628
|
-
};
|
|
629
|
-
const getInitials = (name) => {
|
|
575
|
+
}, []);
|
|
576
|
+
const getInitials = useCallback((name) => {
|
|
630
577
|
return name.split(" ").map((n) => n[0]).join("");
|
|
631
|
-
};
|
|
578
|
+
}, []);
|
|
632
579
|
const renderedTestimonials = useMemo(() => {
|
|
633
580
|
if (testimonialsSlot) return testimonialsSlot;
|
|
581
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
634
582
|
return /* @__PURE__ */ jsx(
|
|
635
583
|
"div",
|
|
636
584
|
{
|
|
@@ -689,7 +637,7 @@ function TestimonialsMiniDividers({
|
|
|
689
637
|
})
|
|
690
638
|
}
|
|
691
639
|
);
|
|
692
|
-
}, [testimonialsSlot, gridClassName, testimonials, itemClassName, quoteClassName, authorClassName]);
|
|
640
|
+
}, [testimonialsSlot, gridClassName, testimonials, itemClassName, quoteClassName, authorClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
693
641
|
return /* @__PURE__ */ jsxs(
|
|
694
642
|
Section,
|
|
695
643
|
{
|
|
@@ -557,39 +557,10 @@ var Section = React__namespace.default.forwardRef(
|
|
|
557
557
|
}
|
|
558
558
|
);
|
|
559
559
|
Section.displayName = "Section";
|
|
560
|
-
|
|
561
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
562
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
563
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
564
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
565
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp"};
|
|
566
|
-
var DEFAULT_TESTIMONIALS = [
|
|
567
|
-
{
|
|
568
|
-
quote: "This platform has completely transformed how we approach our daily operations. The intuitive design and powerful features have made our team significantly more productive.",
|
|
569
|
-
author: "Sarah Chen",
|
|
570
|
-
role: "Design Director",
|
|
571
|
-
company: "Linear",
|
|
572
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
quote: "The most elegant solution we've ever implemented. Every detail has been thoughtfully considered, and the results speak for themselves.",
|
|
576
|
-
author: "Marcus Webb",
|
|
577
|
-
role: "Creative Lead",
|
|
578
|
-
company: "Vercel",
|
|
579
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
580
|
-
},
|
|
581
|
-
{
|
|
582
|
-
quote: "Pure craftsmanship in every single detail. The attention to quality is evident throughout the entire experience.",
|
|
583
|
-
author: "Elena Frost",
|
|
584
|
-
role: "Head of Product",
|
|
585
|
-
company: "Stripe",
|
|
586
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
587
|
-
}
|
|
588
|
-
];
|
|
589
560
|
function TestimonialsMinimalNumbered({
|
|
590
|
-
testimonials
|
|
561
|
+
testimonials,
|
|
591
562
|
testimonialsSlot,
|
|
592
|
-
autoPlayInterval
|
|
563
|
+
autoPlayInterval,
|
|
593
564
|
className,
|
|
594
565
|
contentClassName,
|
|
595
566
|
numberClassName,
|
|
@@ -603,6 +574,8 @@ function TestimonialsMinimalNumbered({
|
|
|
603
574
|
}) {
|
|
604
575
|
const [active, setActive] = React.useState(0);
|
|
605
576
|
const [isTransitioning, setIsTransitioning] = React.useState(false);
|
|
577
|
+
const totalTestimonials = testimonials?.length ?? 0;
|
|
578
|
+
const effectiveAutoPlayInterval = autoPlayInterval ?? 5e3;
|
|
606
579
|
const handleChange = React.useCallback(
|
|
607
580
|
(index) => {
|
|
608
581
|
if (index === active || isTransitioning) return;
|
|
@@ -615,31 +588,37 @@ function TestimonialsMinimalNumbered({
|
|
|
615
588
|
[active, isTransitioning]
|
|
616
589
|
);
|
|
617
590
|
const handlePrev = React.useCallback(() => {
|
|
618
|
-
|
|
591
|
+
if (totalTestimonials === 0) return;
|
|
592
|
+
const newIndex = (active - 1 + totalTestimonials) % totalTestimonials;
|
|
619
593
|
handleChange(newIndex);
|
|
620
|
-
}, [active,
|
|
594
|
+
}, [active, totalTestimonials, handleChange]);
|
|
621
595
|
const handleNext = React.useCallback(() => {
|
|
622
|
-
|
|
596
|
+
if (totalTestimonials === 0) return;
|
|
597
|
+
const newIndex = (active + 1) % totalTestimonials;
|
|
623
598
|
handleChange(newIndex);
|
|
624
|
-
}, [active,
|
|
599
|
+
}, [active, totalTestimonials, handleChange]);
|
|
625
600
|
React.useEffect(() => {
|
|
626
|
-
if (
|
|
627
|
-
const interval = setInterval(handleNext,
|
|
601
|
+
if (effectiveAutoPlayInterval <= 0 || totalTestimonials === 0) return;
|
|
602
|
+
const interval = setInterval(handleNext, effectiveAutoPlayInterval);
|
|
628
603
|
return () => clearInterval(interval);
|
|
629
|
-
}, [
|
|
630
|
-
const current = testimonials[active];
|
|
631
|
-
const getAuthorName = (testimonial) => {
|
|
604
|
+
}, [effectiveAutoPlayInterval, handleNext, totalTestimonials]);
|
|
605
|
+
const current = testimonials?.[active];
|
|
606
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
632
607
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
633
608
|
return "";
|
|
634
|
-
};
|
|
635
|
-
const getAvatarSrc = (
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
609
|
+
}, []);
|
|
610
|
+
const getAvatarSrc = React.useCallback(
|
|
611
|
+
(testimonial) => {
|
|
612
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
613
|
+
},
|
|
614
|
+
[]
|
|
615
|
+
);
|
|
616
|
+
const getInitials = React.useCallback((name) => {
|
|
639
617
|
return name.split(" ").map((n) => n[0]).join("");
|
|
640
|
-
};
|
|
618
|
+
}, []);
|
|
641
619
|
const renderedTestimonial = React.useMemo(() => {
|
|
642
620
|
if (testimonialsSlot) return testimonialsSlot;
|
|
621
|
+
if (!current) return null;
|
|
643
622
|
const authorName = getAuthorName(current);
|
|
644
623
|
const avatarSrc = getAvatarSrc(current);
|
|
645
624
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start gap-8", contentClassName), children: [
|
|
@@ -647,7 +626,7 @@ function TestimonialsMinimalNumbered({
|
|
|
647
626
|
"span",
|
|
648
627
|
{
|
|
649
628
|
className: cn(
|
|
650
|
-
"text-8xl font-light leading-none
|
|
629
|
+
"text-8xl font-light leading-none select-none transition-all duration-500 md:text-9xl",
|
|
651
630
|
numberClassName
|
|
652
631
|
),
|
|
653
632
|
style: { fontFeatureSettings: '"tnum"' },
|
|
@@ -685,16 +664,16 @@ function TestimonialsMinimalNumbered({
|
|
|
685
664
|
authorClassName
|
|
686
665
|
),
|
|
687
666
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
|
|
688
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-12 ring-2
|
|
667
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-12 ring-2", children: [
|
|
689
668
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
690
669
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
691
670
|
] }),
|
|
692
671
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
693
672
|
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: current.author }) : current.author),
|
|
694
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm
|
|
673
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm", children: [
|
|
695
674
|
current.role && (typeof current.role === "string" ? current.role : null),
|
|
696
675
|
current.company && (typeof current.company === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
697
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mx-2
|
|
676
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mx-2 ", children: "/" }),
|
|
698
677
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: current.company })
|
|
699
678
|
] }) : null)
|
|
700
679
|
] })
|
|
@@ -704,7 +683,19 @@ function TestimonialsMinimalNumbered({
|
|
|
704
683
|
)
|
|
705
684
|
] })
|
|
706
685
|
] });
|
|
707
|
-
}, [
|
|
686
|
+
}, [
|
|
687
|
+
testimonialsSlot,
|
|
688
|
+
contentClassName,
|
|
689
|
+
numberClassName,
|
|
690
|
+
active,
|
|
691
|
+
current,
|
|
692
|
+
isTransitioning,
|
|
693
|
+
quoteClassName,
|
|
694
|
+
authorClassName,
|
|
695
|
+
getAuthorName,
|
|
696
|
+
getAvatarSrc,
|
|
697
|
+
getInitials
|
|
698
|
+
]);
|
|
708
699
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
709
700
|
Section,
|
|
710
701
|
{
|
|
@@ -723,7 +714,7 @@ function TestimonialsMinimalNumbered({
|
|
|
723
714
|
navigationClassName
|
|
724
715
|
),
|
|
725
716
|
children: [
|
|
726
|
-
/* @__PURE__ */ jsxRuntime.
|
|
717
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6", children: testimonials && testimonials.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
727
718
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3", children: testimonials.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
728
719
|
"button",
|
|
729
720
|
{
|
|
@@ -734,26 +725,26 @@ function TestimonialsMinimalNumbered({
|
|
|
734
725
|
{
|
|
735
726
|
className: cn(
|
|
736
727
|
"block h-px transition-all duration-500 ease-out",
|
|
737
|
-
index === active ? "w-12
|
|
728
|
+
index === active ? "w-12 " : "w-6 group-hover:w-8 "
|
|
738
729
|
)
|
|
739
730
|
}
|
|
740
731
|
)
|
|
741
732
|
},
|
|
742
733
|
index
|
|
743
734
|
)) }),
|
|
744
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs tracking-widest
|
|
735
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs tracking-widest uppercase", children: [
|
|
745
736
|
String(active + 1).padStart(2, "0"),
|
|
746
737
|
" /",
|
|
747
738
|
" ",
|
|
748
739
|
String(testimonials.length).padStart(2, "0")
|
|
749
740
|
] })
|
|
750
|
-
] }),
|
|
741
|
+
] }) }),
|
|
751
742
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
752
743
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
753
744
|
"button",
|
|
754
745
|
{
|
|
755
746
|
onClick: handlePrev,
|
|
756
|
-
className: "rounded-full p-2
|
|
747
|
+
className: "rounded-full p-2 transition-all duration-300 ",
|
|
757
748
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
|
|
758
749
|
}
|
|
759
750
|
),
|
|
@@ -761,7 +752,7 @@ function TestimonialsMinimalNumbered({
|
|
|
761
752
|
"button",
|
|
762
753
|
{
|
|
763
754
|
onClick: handleNext,
|
|
764
|
-
className: "rounded-full p-2
|
|
755
|
+
className: "rounded-full p-2 transition-all duration-300 ",
|
|
765
756
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
|
|
766
757
|
}
|
|
767
758
|
)
|