@opensite/ui 0.8.6 → 0.8.8
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 +46 -17
- package/dist/faq-split-help.js +46 -17
- 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 +59 -23
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +58 -24
- 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 +1383 -1850
- package/dist/registry.js +1383 -1850
- 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/dist/utils.cjs +37 -0
- package/dist/utils.d.cts +107 -1
- package/dist/utils.d.ts +107 -1
- package/dist/utils.js +36 -1
- package/package.json +1 -1
|
@@ -580,36 +580,10 @@ 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
|
-
var DEFAULT_TESTIMONIALS = [
|
|
590
|
-
{
|
|
591
|
-
quote: "The platform has revolutionized our workflow. We've seen a 40% increase in productivity since implementation.",
|
|
592
|
-
author: "Sarah Chen",
|
|
593
|
-
role: "Product Manager",
|
|
594
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
595
|
-
},
|
|
596
|
-
{
|
|
597
|
-
quote: "Outstanding support and an even better product. The team goes above and beyond to ensure our success.",
|
|
598
|
-
author: "Michael Torres",
|
|
599
|
-
role: "CEO",
|
|
600
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
601
|
-
},
|
|
602
|
-
{
|
|
603
|
-
quote: "Best investment we've made this year. The ROI was visible within the first month of using the platform.",
|
|
604
|
-
author: "Emily Watson",
|
|
605
|
-
role: "Operations Director",
|
|
606
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
607
|
-
}
|
|
608
|
-
];
|
|
609
583
|
function TestimonialsStatsHeader({
|
|
610
584
|
stats,
|
|
611
585
|
statsSlot,
|
|
612
|
-
testimonials
|
|
586
|
+
testimonials,
|
|
613
587
|
testimonialsSlot,
|
|
614
588
|
heading,
|
|
615
589
|
description,
|
|
@@ -628,19 +602,19 @@ function TestimonialsStatsHeader({
|
|
|
628
602
|
pattern,
|
|
629
603
|
patternOpacity
|
|
630
604
|
}) {
|
|
631
|
-
const getAuthorName = (testimonial) => {
|
|
605
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
632
606
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
633
607
|
return "";
|
|
634
|
-
};
|
|
635
|
-
const getAvatarSrc = (testimonial) => {
|
|
608
|
+
}, []);
|
|
609
|
+
const getAvatarSrc = React.useCallback((testimonial) => {
|
|
636
610
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
637
|
-
};
|
|
638
|
-
const getInitials = (name) => {
|
|
611
|
+
}, []);
|
|
612
|
+
const getInitials = React.useCallback((name) => {
|
|
639
613
|
return name.split(" ").map((n) => n[0]).join("");
|
|
640
|
-
};
|
|
614
|
+
}, []);
|
|
641
615
|
const renderedStats = React.useMemo(() => {
|
|
642
616
|
if (statsSlot) return statsSlot;
|
|
643
|
-
if (!stats) return null;
|
|
617
|
+
if (!stats || stats.length === 0) return null;
|
|
644
618
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
645
619
|
"div",
|
|
646
620
|
{
|
|
@@ -667,6 +641,7 @@ function TestimonialsStatsHeader({
|
|
|
667
641
|
}, [statsSlot, stats, statsGridClassName, statItemClassName]);
|
|
668
642
|
const renderedTestimonials = React.useMemo(() => {
|
|
669
643
|
if (testimonialsSlot) return testimonialsSlot;
|
|
644
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
670
645
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
671
646
|
"div",
|
|
672
647
|
{
|
|
@@ -712,7 +687,7 @@ function TestimonialsStatsHeader({
|
|
|
712
687
|
})
|
|
713
688
|
}
|
|
714
689
|
);
|
|
715
|
-
}, [testimonialsSlot, testimonialsGridClassName, testimonials, cardClassName, quoteClassName, authorClassName]);
|
|
690
|
+
}, [testimonialsSlot, testimonialsGridClassName, testimonials, cardClassName, quoteClassName, authorClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
716
691
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
717
692
|
Section,
|
|
718
693
|
{
|
|
@@ -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,36 +558,10 @@ 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
|
-
var DEFAULT_TESTIMONIALS = [
|
|
568
|
-
{
|
|
569
|
-
quote: "The platform has revolutionized our workflow. We've seen a 40% increase in productivity since implementation.",
|
|
570
|
-
author: "Sarah Chen",
|
|
571
|
-
role: "Product Manager",
|
|
572
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
quote: "Outstanding support and an even better product. The team goes above and beyond to ensure our success.",
|
|
576
|
-
author: "Michael Torres",
|
|
577
|
-
role: "CEO",
|
|
578
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
579
|
-
},
|
|
580
|
-
{
|
|
581
|
-
quote: "Best investment we've made this year. The ROI was visible within the first month of using the platform.",
|
|
582
|
-
author: "Emily Watson",
|
|
583
|
-
role: "Operations Director",
|
|
584
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
585
|
-
}
|
|
586
|
-
];
|
|
587
561
|
function TestimonialsStatsHeader({
|
|
588
562
|
stats,
|
|
589
563
|
statsSlot,
|
|
590
|
-
testimonials
|
|
564
|
+
testimonials,
|
|
591
565
|
testimonialsSlot,
|
|
592
566
|
heading,
|
|
593
567
|
description,
|
|
@@ -606,19 +580,19 @@ function TestimonialsStatsHeader({
|
|
|
606
580
|
pattern,
|
|
607
581
|
patternOpacity
|
|
608
582
|
}) {
|
|
609
|
-
const getAuthorName = (testimonial) => {
|
|
583
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
610
584
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
611
585
|
return "";
|
|
612
|
-
};
|
|
613
|
-
const getAvatarSrc = (testimonial) => {
|
|
586
|
+
}, []);
|
|
587
|
+
const getAvatarSrc = useCallback((testimonial) => {
|
|
614
588
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
615
|
-
};
|
|
616
|
-
const getInitials = (name) => {
|
|
589
|
+
}, []);
|
|
590
|
+
const getInitials = useCallback((name) => {
|
|
617
591
|
return name.split(" ").map((n) => n[0]).join("");
|
|
618
|
-
};
|
|
592
|
+
}, []);
|
|
619
593
|
const renderedStats = useMemo(() => {
|
|
620
594
|
if (statsSlot) return statsSlot;
|
|
621
|
-
if (!stats) return null;
|
|
595
|
+
if (!stats || stats.length === 0) return null;
|
|
622
596
|
return /* @__PURE__ */ jsx(
|
|
623
597
|
"div",
|
|
624
598
|
{
|
|
@@ -645,6 +619,7 @@ function TestimonialsStatsHeader({
|
|
|
645
619
|
}, [statsSlot, stats, statsGridClassName, statItemClassName]);
|
|
646
620
|
const renderedTestimonials = useMemo(() => {
|
|
647
621
|
if (testimonialsSlot) return testimonialsSlot;
|
|
622
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
648
623
|
return /* @__PURE__ */ jsx(
|
|
649
624
|
"div",
|
|
650
625
|
{
|
|
@@ -690,7 +665,7 @@ function TestimonialsStatsHeader({
|
|
|
690
665
|
})
|
|
691
666
|
}
|
|
692
667
|
);
|
|
693
|
-
}, [testimonialsSlot, testimonialsGridClassName, testimonials, cardClassName, quoteClassName, authorClassName]);
|
|
668
|
+
}, [testimonialsSlot, testimonialsGridClassName, testimonials, cardClassName, quoteClassName, authorClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
694
669
|
return /* @__PURE__ */ jsxs(
|
|
695
670
|
Section,
|
|
696
671
|
{
|
|
@@ -999,61 +999,8 @@ var Section = React__namespace.default.forwardRef(
|
|
|
999
999
|
}
|
|
1000
1000
|
);
|
|
1001
1001
|
Section.displayName = "Section";
|
|
1002
|
-
|
|
1003
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
1004
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
1005
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
1006
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
1007
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
1008
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
1009
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
1010
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp"};
|
|
1011
|
-
var DEFAULT_TESTIMONIALS = [
|
|
1012
|
-
{
|
|
1013
|
-
content: "Just shipped our new landing page using @opensiteai components. Took us 2 hours instead of 2 weeks. The quality is incredible!",
|
|
1014
|
-
author: "Sarah Chen",
|
|
1015
|
-
handle: "@sarahchen",
|
|
1016
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
1017
|
-
twitterUrl: "https://twitter.com/sarahchen"
|
|
1018
|
-
},
|
|
1019
|
-
{
|
|
1020
|
-
content: "The attention to detail in these components is next level. Every interaction feels polished and professional.",
|
|
1021
|
-
author: "Alex Rivera",
|
|
1022
|
-
handle: "@alexrivera",
|
|
1023
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
|
|
1024
|
-
twitterUrl: "https://twitter.com/alexrivera"
|
|
1025
|
-
},
|
|
1026
|
-
{
|
|
1027
|
-
content: "Finally, a component library that doesn't require a PhD to customize. Clean code, great docs, amazing support.",
|
|
1028
|
-
author: "Jordan Lee",
|
|
1029
|
-
handle: "@jordanlee",
|
|
1030
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
|
|
1031
|
-
twitterUrl: "https://twitter.com/jordanlee"
|
|
1032
|
-
},
|
|
1033
|
-
{
|
|
1034
|
-
content: "Our design team is obsessed with the consistency across all components. Makes our job so much easier!",
|
|
1035
|
-
author: "Maya Patel",
|
|
1036
|
-
handle: "@mayapatel",
|
|
1037
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
1038
|
-
twitterUrl: "https://twitter.com/mayapatel"
|
|
1039
|
-
},
|
|
1040
|
-
{
|
|
1041
|
-
content: "Switched from building everything from scratch to using Opensite AI. Best decision we made this quarter.",
|
|
1042
|
-
author: "Chris Wong",
|
|
1043
|
-
handle: "@chriswong",
|
|
1044
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
|
|
1045
|
-
twitterUrl: "https://twitter.com/chriswong"
|
|
1046
|
-
},
|
|
1047
|
-
{
|
|
1048
|
-
content: "The semantic component system is genius. Our AI can now pick the perfect component every time.",
|
|
1049
|
-
author: "Emma Davis",
|
|
1050
|
-
handle: "@emmadavis",
|
|
1051
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6,
|
|
1052
|
-
twitterUrl: "https://twitter.com/emmadavis"
|
|
1053
|
-
}
|
|
1054
|
-
];
|
|
1055
1002
|
function TestimonialsTwitterCards({
|
|
1056
|
-
testimonials
|
|
1003
|
+
testimonials,
|
|
1057
1004
|
testimonialsSlot,
|
|
1058
1005
|
heading,
|
|
1059
1006
|
description,
|
|
@@ -1070,15 +1017,16 @@ function TestimonialsTwitterCards({
|
|
|
1070
1017
|
pattern,
|
|
1071
1018
|
patternOpacity
|
|
1072
1019
|
}) {
|
|
1073
|
-
const getAuthorName = (testimonial) => {
|
|
1020
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
1074
1021
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
1075
1022
|
return "";
|
|
1076
|
-
};
|
|
1077
|
-
const getInitials = (name) => {
|
|
1023
|
+
}, []);
|
|
1024
|
+
const getInitials = React.useCallback((name) => {
|
|
1078
1025
|
return name.split(" ").map((n) => n[0]).join("");
|
|
1079
|
-
};
|
|
1026
|
+
}, []);
|
|
1080
1027
|
const renderedTestimonials = React.useMemo(() => {
|
|
1081
1028
|
if (testimonialsSlot) return testimonialsSlot;
|
|
1029
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
1082
1030
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1083
1031
|
"div",
|
|
1084
1032
|
{
|
|
@@ -1130,7 +1078,7 @@ function TestimonialsTwitterCards({
|
|
|
1130
1078
|
})
|
|
1131
1079
|
}
|
|
1132
1080
|
);
|
|
1133
|
-
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, cardContentClassName, authorClassName]);
|
|
1081
|
+
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, cardContentClassName, authorClassName, getAuthorName, getInitials]);
|
|
1134
1082
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1135
1083
|
Section,
|
|
1136
1084
|
{
|
|
@@ -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';
|
|
@@ -977,61 +977,8 @@ var Section = React__default.forwardRef(
|
|
|
977
977
|
}
|
|
978
978
|
);
|
|
979
979
|
Section.displayName = "Section";
|
|
980
|
-
|
|
981
|
-
// lib/blockBrandedIconsAndPlaceholders.ts
|
|
982
|
-
var blockBrandedIconsAndPlaceholders = {
|
|
983
|
-
avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
|
|
984
|
-
avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
|
|
985
|
-
avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
|
|
986
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
987
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
988
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp"};
|
|
989
|
-
var DEFAULT_TESTIMONIALS = [
|
|
990
|
-
{
|
|
991
|
-
content: "Just shipped our new landing page using @opensiteai components. Took us 2 hours instead of 2 weeks. The quality is incredible!",
|
|
992
|
-
author: "Sarah Chen",
|
|
993
|
-
handle: "@sarahchen",
|
|
994
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
995
|
-
twitterUrl: "https://twitter.com/sarahchen"
|
|
996
|
-
},
|
|
997
|
-
{
|
|
998
|
-
content: "The attention to detail in these components is next level. Every interaction feels polished and professional.",
|
|
999
|
-
author: "Alex Rivera",
|
|
1000
|
-
handle: "@alexrivera",
|
|
1001
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
|
|
1002
|
-
twitterUrl: "https://twitter.com/alexrivera"
|
|
1003
|
-
},
|
|
1004
|
-
{
|
|
1005
|
-
content: "Finally, a component library that doesn't require a PhD to customize. Clean code, great docs, amazing support.",
|
|
1006
|
-
author: "Jordan Lee",
|
|
1007
|
-
handle: "@jordanlee",
|
|
1008
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
|
|
1009
|
-
twitterUrl: "https://twitter.com/jordanlee"
|
|
1010
|
-
},
|
|
1011
|
-
{
|
|
1012
|
-
content: "Our design team is obsessed with the consistency across all components. Makes our job so much easier!",
|
|
1013
|
-
author: "Maya Patel",
|
|
1014
|
-
handle: "@mayapatel",
|
|
1015
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
1016
|
-
twitterUrl: "https://twitter.com/mayapatel"
|
|
1017
|
-
},
|
|
1018
|
-
{
|
|
1019
|
-
content: "Switched from building everything from scratch to using Opensite AI. Best decision we made this quarter.",
|
|
1020
|
-
author: "Chris Wong",
|
|
1021
|
-
handle: "@chriswong",
|
|
1022
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
|
|
1023
|
-
twitterUrl: "https://twitter.com/chriswong"
|
|
1024
|
-
},
|
|
1025
|
-
{
|
|
1026
|
-
content: "The semantic component system is genius. Our AI can now pick the perfect component every time.",
|
|
1027
|
-
author: "Emma Davis",
|
|
1028
|
-
handle: "@emmadavis",
|
|
1029
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6,
|
|
1030
|
-
twitterUrl: "https://twitter.com/emmadavis"
|
|
1031
|
-
}
|
|
1032
|
-
];
|
|
1033
980
|
function TestimonialsTwitterCards({
|
|
1034
|
-
testimonials
|
|
981
|
+
testimonials,
|
|
1035
982
|
testimonialsSlot,
|
|
1036
983
|
heading,
|
|
1037
984
|
description,
|
|
@@ -1048,15 +995,16 @@ function TestimonialsTwitterCards({
|
|
|
1048
995
|
pattern,
|
|
1049
996
|
patternOpacity
|
|
1050
997
|
}) {
|
|
1051
|
-
const getAuthorName = (testimonial) => {
|
|
998
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
1052
999
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
1053
1000
|
return "";
|
|
1054
|
-
};
|
|
1055
|
-
const getInitials = (name) => {
|
|
1001
|
+
}, []);
|
|
1002
|
+
const getInitials = useCallback((name) => {
|
|
1056
1003
|
return name.split(" ").map((n) => n[0]).join("");
|
|
1057
|
-
};
|
|
1004
|
+
}, []);
|
|
1058
1005
|
const renderedTestimonials = useMemo(() => {
|
|
1059
1006
|
if (testimonialsSlot) return testimonialsSlot;
|
|
1007
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
1060
1008
|
return /* @__PURE__ */ jsx(
|
|
1061
1009
|
"div",
|
|
1062
1010
|
{
|
|
@@ -1108,7 +1056,7 @@ function TestimonialsTwitterCards({
|
|
|
1108
1056
|
})
|
|
1109
1057
|
}
|
|
1110
1058
|
);
|
|
1111
|
-
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, cardContentClassName, authorClassName]);
|
|
1059
|
+
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, cardContentClassName, authorClassName, getAuthorName, getInitials]);
|
|
1112
1060
|
return /* @__PURE__ */ jsxs(
|
|
1113
1061
|
Section,
|
|
1114
1062
|
{
|
|
@@ -488,94 +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
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
498
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
499
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp",
|
|
500
|
-
avatar7: "https://cdn.ing/assets/i/r/286245/yf2wb1scwmdgntba2on67q0t091d/avatar-7.webp",
|
|
501
|
-
avatar8: "https://cdn.ing/assets/i/r/286246/jsrq5sf9oxi8piujnfrdjqmg5zvx/avatar-8.webp"};
|
|
502
|
-
var DEFAULT_TESTIMONIALS = [
|
|
503
|
-
{
|
|
504
|
-
quote: "Game-changer for our team. Productivity up 50%!",
|
|
505
|
-
author: "Sarah Chen",
|
|
506
|
-
handle: "@sarahchen",
|
|
507
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
508
|
-
badge: "Featured"
|
|
509
|
-
},
|
|
510
|
-
{
|
|
511
|
-
quote: "Best tool I've used in years. Highly recommend.",
|
|
512
|
-
author: "Michael Torres",
|
|
513
|
-
handle: "@mtorres",
|
|
514
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
515
|
-
},
|
|
516
|
-
{
|
|
517
|
-
quote: "Support team is incredible. Always there when needed.",
|
|
518
|
-
author: "Emily Watson",
|
|
519
|
-
handle: "@emilyw",
|
|
520
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
quote: "Clean UI, powerful features. Perfect combo.",
|
|
524
|
-
author: "David Kim",
|
|
525
|
-
handle: "@davidkim",
|
|
526
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
527
|
-
badge: "Verified"
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
quote: "Switched from competitors. Never looking back.",
|
|
531
|
-
author: "Lisa Park",
|
|
532
|
-
handle: "@lisapark",
|
|
533
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
534
|
-
},
|
|
535
|
-
{
|
|
536
|
-
quote: "ROI was visible in the first week. Amazing!",
|
|
537
|
-
author: "Alex Rivera",
|
|
538
|
-
handle: "@alexr",
|
|
539
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6
|
|
540
|
-
},
|
|
541
|
-
{
|
|
542
|
-
quote: "Documentation is top-notch. Easy to get started.",
|
|
543
|
-
author: "Jordan Lee",
|
|
544
|
-
handle: "@jordanlee",
|
|
545
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar7
|
|
546
|
-
},
|
|
547
|
-
{
|
|
548
|
-
quote: "Our whole team adopted it instantly. Love it!",
|
|
549
|
-
author: "Maya Patel",
|
|
550
|
-
handle: "@mayap",
|
|
551
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar8,
|
|
552
|
-
badge: "Power User"
|
|
553
|
-
},
|
|
554
|
-
{
|
|
555
|
-
quote: "Finally, a tool that just works. No fuss.",
|
|
556
|
-
author: "Chris Wong",
|
|
557
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
558
|
-
},
|
|
559
|
-
{
|
|
560
|
-
quote: "Customer service responded in minutes. Impressed!",
|
|
561
|
-
author: "Emma Davis",
|
|
562
|
-
handle: "@emmad",
|
|
563
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
quote: "Worth every penny. Quality is unmatched.",
|
|
567
|
-
author: "Ryan Miller",
|
|
568
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
569
|
-
},
|
|
570
|
-
{
|
|
571
|
-
quote: "Integrations work flawlessly. Saved us hours.",
|
|
572
|
-
author: "Sophie Brown",
|
|
573
|
-
handle: "@sophieb",
|
|
574
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
575
|
-
}
|
|
576
|
-
];
|
|
577
491
|
function TestimonialsWallCompact({
|
|
578
|
-
testimonials
|
|
492
|
+
testimonials,
|
|
579
493
|
testimonialsSlot,
|
|
580
494
|
heading,
|
|
581
495
|
description,
|
|
@@ -592,18 +506,19 @@ function TestimonialsWallCompact({
|
|
|
592
506
|
pattern,
|
|
593
507
|
patternOpacity
|
|
594
508
|
}) {
|
|
595
|
-
const getAuthorName = (testimonial) => {
|
|
509
|
+
const getAuthorName = React.useCallback((testimonial) => {
|
|
596
510
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
597
511
|
return "";
|
|
598
|
-
};
|
|
599
|
-
const getAvatarSrc = (testimonial) => {
|
|
512
|
+
}, []);
|
|
513
|
+
const getAvatarSrc = React.useCallback((testimonial) => {
|
|
600
514
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
601
|
-
};
|
|
602
|
-
const getInitials = (name) => {
|
|
515
|
+
}, []);
|
|
516
|
+
const getInitials = React.useCallback((name) => {
|
|
603
517
|
return name.split(" ").map((n) => n[0]).join("");
|
|
604
|
-
};
|
|
518
|
+
}, []);
|
|
605
519
|
const renderedTestimonials = React.useMemo(() => {
|
|
606
520
|
if (testimonialsSlot) return testimonialsSlot;
|
|
521
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
607
522
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
608
523
|
"div",
|
|
609
524
|
{
|
|
@@ -652,7 +567,7 @@ function TestimonialsWallCompact({
|
|
|
652
567
|
})
|
|
653
568
|
}
|
|
654
569
|
);
|
|
655
|
-
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, authorClassName, quoteClassName]);
|
|
570
|
+
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, authorClassName, quoteClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
656
571
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
657
572
|
Section,
|
|
658
573
|
{
|
|
@@ -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,94 +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
|
-
avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
|
|
473
|
-
avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp",
|
|
474
|
-
avatar6: "https://cdn.ing/assets/i/r/286244/t7u1jpe1phm0fvmh3ybh3flhfg6i/avatar-6.webp",
|
|
475
|
-
avatar7: "https://cdn.ing/assets/i/r/286245/yf2wb1scwmdgntba2on67q0t091d/avatar-7.webp",
|
|
476
|
-
avatar8: "https://cdn.ing/assets/i/r/286246/jsrq5sf9oxi8piujnfrdjqmg5zvx/avatar-8.webp"};
|
|
477
|
-
var DEFAULT_TESTIMONIALS = [
|
|
478
|
-
{
|
|
479
|
-
quote: "Game-changer for our team. Productivity up 50%!",
|
|
480
|
-
author: "Sarah Chen",
|
|
481
|
-
handle: "@sarahchen",
|
|
482
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
|
|
483
|
-
badge: "Featured"
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
quote: "Best tool I've used in years. Highly recommend.",
|
|
487
|
-
author: "Michael Torres",
|
|
488
|
-
handle: "@mtorres",
|
|
489
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
490
|
-
},
|
|
491
|
-
{
|
|
492
|
-
quote: "Support team is incredible. Always there when needed.",
|
|
493
|
-
author: "Emily Watson",
|
|
494
|
-
handle: "@emilyw",
|
|
495
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
496
|
-
},
|
|
497
|
-
{
|
|
498
|
-
quote: "Clean UI, powerful features. Perfect combo.",
|
|
499
|
-
author: "David Kim",
|
|
500
|
-
handle: "@davidkim",
|
|
501
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4,
|
|
502
|
-
badge: "Verified"
|
|
503
|
-
},
|
|
504
|
-
{
|
|
505
|
-
quote: "Switched from competitors. Never looking back.",
|
|
506
|
-
author: "Lisa Park",
|
|
507
|
-
handle: "@lisapark",
|
|
508
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
|
|
509
|
-
},
|
|
510
|
-
{
|
|
511
|
-
quote: "ROI was visible in the first week. Amazing!",
|
|
512
|
-
author: "Alex Rivera",
|
|
513
|
-
handle: "@alexr",
|
|
514
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar6
|
|
515
|
-
},
|
|
516
|
-
{
|
|
517
|
-
quote: "Documentation is top-notch. Easy to get started.",
|
|
518
|
-
author: "Jordan Lee",
|
|
519
|
-
handle: "@jordanlee",
|
|
520
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar7
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
quote: "Our whole team adopted it instantly. Love it!",
|
|
524
|
-
author: "Maya Patel",
|
|
525
|
-
handle: "@mayap",
|
|
526
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar8,
|
|
527
|
-
badge: "Power User"
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
quote: "Finally, a tool that just works. No fuss.",
|
|
531
|
-
author: "Chris Wong",
|
|
532
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
|
|
533
|
-
},
|
|
534
|
-
{
|
|
535
|
-
quote: "Customer service responded in minutes. Impressed!",
|
|
536
|
-
author: "Emma Davis",
|
|
537
|
-
handle: "@emmad",
|
|
538
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
|
|
539
|
-
},
|
|
540
|
-
{
|
|
541
|
-
quote: "Worth every penny. Quality is unmatched.",
|
|
542
|
-
author: "Ryan Miller",
|
|
543
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
|
|
544
|
-
},
|
|
545
|
-
{
|
|
546
|
-
quote: "Integrations work flawlessly. Saved us hours.",
|
|
547
|
-
author: "Sophie Brown",
|
|
548
|
-
handle: "@sophieb",
|
|
549
|
-
avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
|
|
550
|
-
}
|
|
551
|
-
];
|
|
552
466
|
function TestimonialsWallCompact({
|
|
553
|
-
testimonials
|
|
467
|
+
testimonials,
|
|
554
468
|
testimonialsSlot,
|
|
555
469
|
heading,
|
|
556
470
|
description,
|
|
@@ -567,18 +481,19 @@ function TestimonialsWallCompact({
|
|
|
567
481
|
pattern,
|
|
568
482
|
patternOpacity
|
|
569
483
|
}) {
|
|
570
|
-
const getAuthorName = (testimonial) => {
|
|
484
|
+
const getAuthorName = useCallback((testimonial) => {
|
|
571
485
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
572
486
|
return "";
|
|
573
|
-
};
|
|
574
|
-
const getAvatarSrc = (testimonial) => {
|
|
487
|
+
}, []);
|
|
488
|
+
const getAvatarSrc = useCallback((testimonial) => {
|
|
575
489
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
576
|
-
};
|
|
577
|
-
const getInitials = (name) => {
|
|
490
|
+
}, []);
|
|
491
|
+
const getInitials = useCallback((name) => {
|
|
578
492
|
return name.split(" ").map((n) => n[0]).join("");
|
|
579
|
-
};
|
|
493
|
+
}, []);
|
|
580
494
|
const renderedTestimonials = useMemo(() => {
|
|
581
495
|
if (testimonialsSlot) return testimonialsSlot;
|
|
496
|
+
if (!testimonials || testimonials.length === 0) return null;
|
|
582
497
|
return /* @__PURE__ */ jsx(
|
|
583
498
|
"div",
|
|
584
499
|
{
|
|
@@ -627,7 +542,7 @@ function TestimonialsWallCompact({
|
|
|
627
542
|
})
|
|
628
543
|
}
|
|
629
544
|
);
|
|
630
|
-
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, authorClassName, quoteClassName]);
|
|
545
|
+
}, [testimonialsSlot, gridClassName, testimonials, cardClassName, authorClassName, quoteClassName, getAuthorName, getAvatarSrc, getInitials]);
|
|
631
546
|
return /* @__PURE__ */ jsxs(
|
|
632
547
|
Section,
|
|
633
548
|
{
|
|
@@ -521,7 +521,7 @@ function TimelineChangelogBadges({
|
|
|
521
521
|
"h1",
|
|
522
522
|
{
|
|
523
523
|
className: cn(
|
|
524
|
-
"mb-10 text-center text-3xl font-bold tracking-tighter
|
|
524
|
+
"mb-10 text-center text-3xl font-bold tracking-tighter lg:text-6xl",
|
|
525
525
|
headingClassName
|
|
526
526
|
),
|
|
527
527
|
children: heading
|
|
@@ -546,7 +546,7 @@ function TimelineChangelogBadges({
|
|
|
546
546
|
"h1",
|
|
547
547
|
{
|
|
548
548
|
className: cn(
|
|
549
|
-
"mb-10 text-center text-3xl font-bold tracking-tighter
|
|
549
|
+
"mb-10 text-center text-3xl font-bold tracking-tighter lg:text-6xl",
|
|
550
550
|
headingClassName
|
|
551
551
|
),
|
|
552
552
|
children: heading
|
|
@@ -583,7 +583,7 @@ function TimelineChangelogBadges({
|
|
|
583
583
|
"span",
|
|
584
584
|
{
|
|
585
585
|
className: cn(
|
|
586
|
-
"text-md leading-relaxed
|
|
586
|
+
"text-md leading-relaxed",
|
|
587
587
|
itemClassName
|
|
588
588
|
),
|
|
589
589
|
children: item.content
|
|
@@ -592,7 +592,7 @@ function TimelineChangelogBadges({
|
|
|
592
592
|
"span",
|
|
593
593
|
{
|
|
594
594
|
className: cn(
|
|
595
|
-
"text-md leading-relaxed
|
|
595
|
+
"text-md leading-relaxed",
|
|
596
596
|
itemClassName
|
|
597
597
|
),
|
|
598
598
|
dangerouslySetInnerHTML: {
|