@opensite/ui 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/about-company-profile.d.cts +3 -3
- package/dist/about-company-profile.d.ts +3 -3
- package/dist/about-culture-tabs.d.cts +3 -3
- package/dist/about-culture-tabs.d.ts +3 -3
- package/dist/about-developer-profile.d.cts +3 -3
- package/dist/about-developer-profile.d.ts +3 -3
- package/dist/about-developer-story.d.cts +3 -3
- package/dist/about-developer-story.d.ts +3 -3
- package/dist/about-expandable-values.d.cts +3 -3
- package/dist/about-expandable-values.d.ts +3 -3
- package/dist/about-interactive-tabs.d.cts +3 -3
- package/dist/about-interactive-tabs.d.ts +3 -3
- package/dist/about-location-info-hero.d.cts +3 -3
- package/dist/about-location-info-hero.d.ts +3 -3
- package/dist/about-minimal-story.d.cts +3 -3
- package/dist/about-minimal-story.d.ts +3 -3
- package/dist/about-mission-dual-image.d.cts +3 -3
- package/dist/about-mission-dual-image.d.ts +3 -3
- package/dist/about-mission-features.d.cts +3 -3
- package/dist/about-mission-features.d.ts +3 -3
- package/dist/about-mission-principles.d.cts +3 -3
- package/dist/about-mission-principles.d.ts +3 -3
- package/dist/about-network-spotlight.d.cts +3 -3
- package/dist/about-network-spotlight.d.ts +3 -3
- package/dist/about-split-hero.d.cts +3 -3
- package/dist/about-split-hero.d.ts +3 -3
- package/dist/about-startup-team.d.cts +3 -3
- package/dist/about-startup-team.d.ts +3 -3
- package/dist/about-stats-showcase.d.cts +3 -3
- package/dist/about-stats-showcase.d.ts +3 -3
- package/dist/about-stats-sidebar.d.cts +3 -3
- package/dist/about-stats-sidebar.d.ts +3 -3
- package/dist/about-story-expertise.d.cts +3 -3
- package/dist/about-story-expertise.d.ts +3 -3
- package/dist/about-story-gallery.d.cts +3 -3
- package/dist/about-story-gallery.d.ts +3 -3
- package/dist/about-story-hero.d.cts +3 -3
- package/dist/about-story-hero.d.ts +3 -3
- package/dist/about-streamline-team.d.cts +3 -3
- package/dist/about-streamline-team.d.ts +3 -3
- package/dist/about-vision-gallery.d.cts +3 -3
- package/dist/about-vision-gallery.d.ts +3 -3
- package/dist/alternating-blocks.d.cts +3 -3
- package/dist/alternating-blocks.d.ts +3 -3
- package/dist/animated-dialog.d.cts +3 -3
- package/dist/animated-dialog.d.ts +3 -3
- package/dist/article-breadcrumb-social.d.cts +3 -3
- package/dist/article-breadcrumb-social.d.ts +3 -3
- package/dist/article-chapters-author.d.cts +3 -3
- package/dist/article-chapters-author.d.ts +3 -3
- package/dist/article-compact-toc.d.cts +3 -3
- package/dist/article-compact-toc.d.ts +3 -3
- package/dist/article-hero-prose.d.cts +3 -3
- package/dist/article-hero-prose.d.ts +3 -3
- package/dist/article-sidebar-sticky.d.cts +3 -3
- package/dist/article-sidebar-sticky.d.ts +3 -3
- package/dist/article-split-animated.d.cts +3 -3
- package/dist/article-split-animated.d.ts +3 -3
- package/dist/article-toc-sidebar.d.cts +3 -3
- package/dist/article-toc-sidebar.d.ts +3 -3
- package/dist/auto-scroll-carousel.d.cts +3 -3
- package/dist/auto-scroll-carousel.d.ts +3 -3
- package/dist/badge.d.cts +1 -1
- package/dist/badge.d.ts +1 -1
- package/dist/banner-announcement-dismissible.d.cts +2 -2
- package/dist/banner-announcement-dismissible.d.ts +2 -2
- package/dist/banner-event-promo.d.cts +2 -2
- package/dist/banner-event-promo.d.ts +2 -2
- package/dist/banner-floating-offer.d.cts +2 -2
- package/dist/banner-floating-offer.d.ts +2 -2
- package/dist/banner-gdpr-rights.d.cts +2 -2
- package/dist/banner-gdpr-rights.d.ts +2 -2
- package/dist/banner-privacy-notice.d.cts +2 -2
- package/dist/banner-privacy-notice.d.ts +2 -2
- package/dist/banner-promo-cta.d.cts +2 -2
- package/dist/banner-promo-cta.d.ts +2 -2
- package/dist/banner-social-follow.d.cts +2 -2
- package/dist/banner-social-follow.d.ts +2 -2
- package/dist/banner-survey-incentive.d.cts +2 -2
- package/dist/banner-survey-incentive.d.ts +2 -2
- package/dist/{blocks-tmd_MRJv.d.cts → blocks-Cohq4eio.d.cts} +1 -1
- package/dist/{blocks-DRE-f6cS.d.ts → blocks-k17uluAz.d.ts} +1 -1
- package/dist/blog-cards-read-time.d.cts +3 -3
- package/dist/blog-cards-read-time.d.ts +3 -3
- package/dist/blog-cards-tagline-cta.d.cts +3 -3
- package/dist/blog-cards-tagline-cta.d.ts +3 -3
- package/dist/blog-carousel-apple.d.cts +3 -3
- package/dist/blog-carousel-apple.d.ts +3 -3
- package/dist/blog-category-overlay.d.cts +3 -3
- package/dist/blog-category-overlay.d.ts +3 -3
- package/dist/blog-featured-popular.d.cts +3 -3
- package/dist/blog-featured-popular.d.ts +3 -3
- package/dist/blog-filtered-results.d.cts +3 -3
- package/dist/blog-filtered-results.d.ts +3 -3
- package/dist/blog-grid-author-cards.d.cts +3 -3
- package/dist/blog-grid-author-cards.d.ts +3 -3
- package/dist/blog-grid-nine-posts.d.cts +3 -3
- package/dist/blog-grid-nine-posts.d.ts +3 -3
- package/dist/blog-horizontal-cards.d.cts +3 -3
- package/dist/blog-horizontal-cards.d.ts +3 -3
- package/dist/blog-horizontal-timeline.d.cts +3 -3
- package/dist/blog-horizontal-timeline.d.ts +3 -3
- package/dist/blog-masonry-featured.d.cts +3 -3
- package/dist/blog-masonry-featured.d.ts +3 -3
- package/dist/blog-related-articles.d.cts +3 -3
- package/dist/blog-related-articles.d.ts +3 -3
- package/dist/blog-tech-insights.d.cts +3 -3
- package/dist/blog-tech-insights.d.ts +3 -3
- package/dist/blur-vignette-grid.d.cts +3 -3
- package/dist/blur-vignette-grid.d.ts +3 -3
- package/dist/{button-variants-8mtEHxev.d.cts → button-variants-lRElsmTc.d.cts} +1 -1
- package/dist/{button-variants-8mtEHxev.d.ts → button-variants-lRElsmTc.d.ts} +1 -1
- package/dist/button.d.cts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/carousel-animated-sections.d.cts +3 -3
- package/dist/carousel-animated-sections.d.ts +3 -3
- package/dist/carousel-auto-progress-slides.d.cts +3 -3
- package/dist/carousel-auto-progress-slides.d.ts +3 -3
- package/dist/carousel-autoplay-progress.d.cts +3 -3
- package/dist/carousel-autoplay-progress.d.ts +3 -3
- package/dist/carousel-badge-cards.d.cts +3 -3
- package/dist/carousel-badge-cards.d.ts +3 -3
- package/dist/carousel-demo-link.d.cts +3 -3
- package/dist/carousel-demo-link.d.ts +3 -3
- package/dist/carousel-feature-badge.d.cts +3 -3
- package/dist/carousel-feature-badge.d.ts +3 -3
- package/dist/carousel-fullscreen-scroll-fx.d.cts +3 -3
- package/dist/carousel-fullscreen-scroll-fx.d.ts +3 -3
- package/dist/carousel-gallery-thumbnails.d.cts +3 -3
- package/dist/carousel-gallery-thumbnails.d.ts +3 -3
- package/dist/carousel-gradient-overlay.d.cts +3 -3
- package/dist/carousel-gradient-overlay.d.ts +3 -3
- package/dist/carousel-gradient-text.d.cts +3 -3
- package/dist/carousel-gradient-text.d.ts +3 -3
- package/dist/carousel-horizontal-cards.cjs +8 -6
- package/dist/carousel-horizontal-cards.d.cts +3 -3
- package/dist/carousel-horizontal-cards.d.ts +3 -3
- package/dist/carousel-horizontal-cards.js +8 -6
- package/dist/carousel-icon-sidebar.d.cts +3 -3
- package/dist/carousel-icon-sidebar.d.ts +3 -3
- package/dist/carousel-icon-tabs.d.cts +3 -3
- package/dist/carousel-icon-tabs.d.ts +3 -3
- package/dist/carousel-image-hero.cjs +85 -160
- package/dist/carousel-image-hero.d.cts +4 -8
- package/dist/carousel-image-hero.d.ts +4 -8
- package/dist/carousel-image-hero.js +85 -160
- package/dist/carousel-multi-step-showcase.d.cts +3 -3
- package/dist/carousel-multi-step-showcase.d.ts +3 -3
- package/dist/carousel-portfolio-hero.cjs +138 -59
- package/dist/carousel-portfolio-hero.d.cts +3 -3
- package/dist/carousel-portfolio-hero.d.ts +3 -3
- package/dist/carousel-portfolio-hero.js +138 -59
- package/dist/carousel-product-feature-showcase.cjs +148 -95
- package/dist/carousel-product-feature-showcase.d.cts +3 -3
- package/dist/carousel-product-feature-showcase.d.ts +3 -3
- package/dist/carousel-product-feature-showcase.js +148 -95
- package/dist/carousel-progress-slider.cjs +13 -9
- package/dist/carousel-progress-slider.d.cts +3 -3
- package/dist/carousel-progress-slider.d.ts +3 -3
- package/dist/carousel-progress-slider.js +13 -9
- package/dist/carousel-scale-focus.d.cts +3 -3
- package/dist/carousel-scale-focus.d.ts +3 -3
- package/dist/carousel-scrolling-feature-showcase.cjs +105 -54
- package/dist/carousel-scrolling-feature-showcase.d.cts +3 -3
- package/dist/carousel-scrolling-feature-showcase.d.ts +3 -3
- package/dist/carousel-scrolling-feature-showcase.js +105 -54
- package/dist/carousel-sidebar-resources.d.cts +3 -3
- package/dist/carousel-sidebar-resources.d.ts +3 -3
- package/dist/carousel-tabs-content.d.cts +3 -3
- package/dist/carousel-tabs-content.d.ts +3 -3
- package/dist/case-studies-featured-border.d.cts +3 -3
- package/dist/case-studies-featured-border.d.ts +3 -3
- package/dist/case-studies-image-grid.d.cts +3 -3
- package/dist/case-studies-image-grid.d.ts +3 -3
- package/dist/case-studies-stats-card.d.cts +3 -3
- package/dist/case-studies-stats-card.d.ts +3 -3
- package/dist/case-studies-testimonial-stats.d.cts +3 -3
- package/dist/case-studies-testimonial-stats.d.ts +3 -3
- package/dist/case-study-prose-sidebar.d.cts +3 -3
- package/dist/case-study-prose-sidebar.d.ts +3 -3
- package/dist/case-study-stats-metrics.d.cts +3 -3
- package/dist/case-study-stats-metrics.d.ts +3 -3
- package/dist/case-study-toc-social-sidebar.d.cts +3 -3
- package/dist/case-study-toc-social-sidebar.d.ts +3 -3
- package/dist/{community-initiatives-BRz60ABw.d.ts → community-initiatives-BeWIIjA4.d.ts} +1 -1
- package/dist/{community-initiatives-CES_LEJI.d.cts → community-initiatives-Sm_ZSgyv.d.cts} +1 -1
- package/dist/community-initiatives.d.cts +3 -3
- package/dist/community-initiatives.d.ts +3 -3
- package/dist/comparison-ai-models.d.cts +3 -3
- package/dist/comparison-ai-models.d.ts +3 -3
- package/dist/comparison-feature-cards.d.cts +3 -3
- package/dist/comparison-feature-cards.d.ts +3 -3
- package/dist/comparison-feature-grid.d.cts +3 -3
- package/dist/comparison-feature-grid.d.ts +3 -3
- package/dist/comparison-grid-badges.d.cts +3 -3
- package/dist/comparison-grid-badges.d.ts +3 -3
- package/dist/comparison-image-cards.d.cts +3 -3
- package/dist/comparison-image-cards.d.ts +3 -3
- package/dist/comparison-legacy-modern.d.cts +3 -3
- package/dist/comparison-legacy-modern.d.ts +3 -3
- package/dist/comparison-metrics-rows.d.cts +3 -3
- package/dist/comparison-metrics-rows.d.ts +3 -3
- package/dist/comparison-table-tabs.d.cts +3 -3
- package/dist/comparison-table-tabs.d.ts +3 -3
- package/dist/comparison-table-tooltips.d.cts +3 -3
- package/dist/comparison-table-tooltips.d.ts +3 -3
- package/dist/comparison-table-two-column.d.cts +3 -3
- package/dist/comparison-table-two-column.d.ts +3 -3
- package/dist/components.d.cts +3 -3
- package/dist/components.d.ts +3 -3
- package/dist/contact-callback.d.cts +3 -3
- package/dist/contact-callback.d.ts +3 -3
- package/dist/contact-card.d.cts +3 -3
- package/dist/contact-card.d.ts +3 -3
- package/dist/contact-careers.d.cts +3 -3
- package/dist/contact-careers.d.ts +3 -3
- package/dist/contact-catering.d.cts +3 -3
- package/dist/contact-catering.d.ts +3 -3
- package/dist/contact-consultation.d.cts +3 -3
- package/dist/contact-consultation.d.ts +3 -3
- package/dist/contact-dark.d.cts +3 -3
- package/dist/contact-dark.d.ts +3 -3
- package/dist/contact-demo.d.cts +3 -3
- package/dist/contact-demo.d.ts +3 -3
- package/dist/contact-emergency.d.cts +3 -3
- package/dist/contact-emergency.d.ts +3 -3
- package/dist/contact-event.d.cts +3 -3
- package/dist/contact-event.d.ts +3 -3
- package/dist/contact-faq.d.cts +3 -3
- package/dist/contact-faq.d.ts +3 -3
- package/dist/contact-feedback.d.cts +3 -3
- package/dist/contact-feedback.d.ts +3 -3
- package/dist/contact-fitness.d.cts +3 -3
- package/dist/contact-fitness.d.ts +3 -3
- package/dist/contact-floating-banner.d.cts +2 -2
- package/dist/contact-floating-banner.d.ts +2 -2
- package/dist/contact-guest.d.cts +3 -3
- package/dist/contact-guest.d.ts +3 -3
- package/dist/contact-help-center.d.cts +3 -3
- package/dist/contact-help-center.d.ts +3 -3
- package/dist/contact-image.d.cts +3 -3
- package/dist/contact-image.d.ts +3 -3
- package/dist/contact-insurance.d.cts +3 -3
- package/dist/contact-insurance.d.ts +3 -3
- package/dist/contact-interview.d.cts +3 -3
- package/dist/contact-interview.d.ts +3 -3
- package/dist/contact-locations.d.cts +3 -3
- package/dist/contact-locations.d.ts +3 -3
- package/dist/contact-maintenance.d.cts +3 -3
- package/dist/contact-maintenance.d.ts +3 -3
- package/dist/contact-map.d.cts +3 -3
- package/dist/contact-map.d.ts +3 -3
- package/dist/contact-minimal.d.cts +3 -3
- package/dist/contact-minimal.d.ts +3 -3
- package/dist/contact-moving.d.cts +3 -3
- package/dist/contact-moving.d.ts +3 -3
- package/dist/contact-multistep.d.cts +3 -3
- package/dist/contact-multistep.d.ts +3 -3
- package/dist/contact-partnership.d.cts +3 -3
- package/dist/contact-partnership.d.ts +3 -3
- package/dist/contact-photography.d.cts +3 -3
- package/dist/contact-photography.d.ts +3 -3
- package/dist/contact-press.d.cts +3 -3
- package/dist/contact-press.d.ts +3 -3
- package/dist/contact-quote.d.cts +3 -3
- package/dist/contact-quote.d.ts +3 -3
- package/dist/contact-referral.d.cts +3 -3
- package/dist/contact-referral.d.ts +3 -3
- package/dist/contact-report.d.cts +3 -3
- package/dist/contact-report.d.ts +3 -3
- package/dist/contact-reservation.d.cts +3 -3
- package/dist/contact-reservation.d.ts +3 -3
- package/dist/contact-retreat.d.cts +3 -3
- package/dist/contact-retreat.d.ts +3 -3
- package/dist/contact-rsvp.d.cts +3 -3
- package/dist/contact-rsvp.d.ts +3 -3
- package/dist/contact-sales.d.cts +3 -3
- package/dist/contact-sales.d.ts +3 -3
- package/dist/contact-schedule.d.cts +3 -3
- package/dist/contact-schedule.d.ts +3 -3
- package/dist/contact-sponsorship.d.cts +3 -3
- package/dist/contact-sponsorship.d.ts +3 -3
- package/dist/contact-support.d.cts +3 -3
- package/dist/contact-support.d.ts +3 -3
- package/dist/contact-tenant.d.cts +3 -3
- package/dist/contact-tenant.d.ts +3 -3
- package/dist/contact-vendor.d.cts +3 -3
- package/dist/contact-vendor.d.ts +3 -3
- package/dist/contact-volunteer.d.cts +3 -3
- package/dist/contact-volunteer.d.ts +3 -3
- package/dist/contact-warranty.d.cts +3 -3
- package/dist/contact-warranty.d.ts +3 -3
- package/dist/contact-wedding.d.cts +3 -3
- package/dist/contact-wedding.d.ts +3 -3
- package/dist/container.d.cts +3 -3
- package/dist/container.d.ts +3 -3
- package/dist/cta-accent-background.d.cts +3 -3
- package/dist/cta-accent-background.d.ts +3 -3
- package/dist/cta-app-download-newsletter.d.cts +3 -3
- package/dist/cta-app-download-newsletter.d.ts +3 -3
- package/dist/cta-background-icon-badge.d.cts +3 -3
- package/dist/cta-background-icon-badge.d.ts +3 -3
- package/dist/cta-case-study-testimonial.d.cts +3 -3
- package/dist/cta-case-study-testimonial.d.ts +3 -3
- package/dist/cta-documentation-links.d.cts +3 -3
- package/dist/cta-documentation-links.d.ts +3 -3
- package/dist/cta-enterprise-dark-features.d.cts +3 -3
- package/dist/cta-enterprise-dark-features.d.ts +3 -3
- package/dist/cta-enterprise-split.d.cts +3 -3
- package/dist/cta-enterprise-split.d.ts +3 -3
- package/dist/cta-feature-cards-grid.d.cts +3 -3
- package/dist/cta-feature-cards-grid.d.ts +3 -3
- package/dist/cta-feature-checklist.d.cts +3 -3
- package/dist/cta-feature-checklist.d.ts +3 -3
- package/dist/cta-feature-list.d.cts +3 -3
- package/dist/cta-feature-list.d.ts +3 -3
- package/dist/cta-fullwidth-background.d.cts +3 -3
- package/dist/cta-fullwidth-background.d.ts +3 -3
- package/dist/cta-gradient-logos-floating.d.cts +3 -3
- package/dist/cta-gradient-logos-floating.d.ts +3 -3
- package/dist/cta-gradient-stats-hero.d.cts +3 -3
- package/dist/cta-gradient-stats-hero.d.ts +3 -3
- package/dist/cta-hero-feature-cards.d.cts +3 -3
- package/dist/cta-hero-feature-cards.d.ts +3 -3
- package/dist/cta-image-overlay-arrow.d.cts +3 -3
- package/dist/cta-image-overlay-arrow.d.ts +3 -3
- package/dist/cta-image-overlay-centered.d.cts +3 -3
- package/dist/cta-image-overlay-centered.d.ts +3 -3
- package/dist/cta-minimal-separator.d.cts +3 -3
- package/dist/cta-minimal-separator.d.ts +3 -3
- package/dist/cta-newsletter-features.d.cts +3 -3
- package/dist/cta-newsletter-features.d.ts +3 -3
- package/dist/cta-pattern-background.d.cts +3 -3
- package/dist/cta-pattern-background.d.ts +3 -3
- package/dist/cta-platform-demo.d.cts +3 -3
- package/dist/cta-platform-demo.d.ts +3 -3
- package/dist/cta-simple-centered.d.cts +3 -3
- package/dist/cta-simple-centered.d.ts +3 -3
- package/dist/cta-split-gradient-image.d.cts +3 -3
- package/dist/cta-split-gradient-image.d.ts +3 -3
- package/dist/cta-split-image-logos.d.cts +3 -3
- package/dist/cta-split-image-logos.d.ts +3 -3
- package/dist/cta-split-image.d.cts +3 -3
- package/dist/cta-split-image.d.ts +3 -3
- package/dist/cta-stacked-cards.d.cts +3 -3
- package/dist/cta-stacked-cards.d.ts +3 -3
- package/dist/cta-video-background-hero.d.cts +3 -3
- package/dist/cta-video-background-hero.d.ts +3 -3
- package/dist/cta-workflow-tabs.d.cts +3 -3
- package/dist/cta-workflow-tabs.d.ts +3 -3
- package/dist/expandable-case-study-cards.d.cts +3 -3
- package/dist/expandable-case-study-cards.d.ts +3 -3
- package/dist/faq-badge-support.d.cts +3 -3
- package/dist/faq-badge-support.d.ts +3 -3
- package/dist/faq-bordered-badge.d.cts +3 -3
- package/dist/faq-bordered-badge.d.ts +3 -3
- package/dist/faq-card-categories.d.cts +3 -3
- package/dist/faq-card-categories.d.ts +3 -3
- package/dist/faq-categorized-sections.d.cts +3 -3
- package/dist/faq-categorized-sections.d.ts +3 -3
- package/dist/faq-centered-accordion.d.cts +3 -3
- package/dist/faq-centered-accordion.d.ts +3 -3
- package/dist/faq-gradient-categories.d.cts +3 -3
- package/dist/faq-gradient-categories.d.ts +3 -3
- package/dist/faq-icon-benefits.d.cts +3 -3
- package/dist/faq-icon-benefits.d.ts +3 -3
- package/dist/faq-muted-cards.d.cts +3 -3
- package/dist/faq-muted-cards.d.ts +3 -3
- package/dist/faq-numbered-grid.d.cts +3 -3
- package/dist/faq-numbered-grid.d.ts +3 -3
- package/dist/faq-numbered-list.d.cts +3 -3
- package/dist/faq-numbered-list.d.ts +3 -3
- package/dist/faq-profile-sidebar.d.cts +3 -3
- package/dist/faq-profile-sidebar.d.ts +3 -3
- package/dist/faq-rounded-cards.d.cts +3 -3
- package/dist/faq-rounded-cards.d.ts +3 -3
- package/dist/faq-sidebar-navigation.d.cts +3 -3
- package/dist/faq-sidebar-navigation.d.ts +3 -3
- package/dist/faq-simple-accordion.d.cts +3 -3
- package/dist/faq-simple-accordion.d.ts +3 -3
- package/dist/faq-split-help.d.cts +3 -3
- package/dist/faq-split-help.d.ts +3 -3
- package/dist/faq-static-list.d.cts +3 -3
- package/dist/faq-static-list.d.ts +3 -3
- package/dist/feature-accordion-image.cjs +9 -8
- package/dist/feature-accordion-image.d.cts +3 -3
- package/dist/feature-accordion-image.d.ts +3 -3
- package/dist/feature-accordion-image.js +9 -8
- package/dist/feature-animated-carousel.cjs +859 -0
- package/dist/feature-animated-carousel.d.cts +105 -0
- package/dist/feature-animated-carousel.d.ts +105 -0
- package/dist/feature-animated-carousel.js +838 -0
- package/dist/feature-badge-grid-six.cjs +20 -17
- package/dist/feature-badge-grid-six.d.cts +3 -3
- package/dist/feature-badge-grid-six.d.ts +3 -3
- package/dist/feature-badge-grid-six.js +21 -18
- package/dist/feature-bento-image-grid.cjs +12 -8
- package/dist/feature-bento-image-grid.d.cts +3 -3
- package/dist/feature-bento-image-grid.d.ts +3 -3
- package/dist/feature-bento-image-grid.js +12 -8
- package/dist/feature-bento-utilities.cjs +9 -5
- package/dist/feature-bento-utilities.d.cts +3 -3
- package/dist/feature-bento-utilities.d.ts +3 -3
- package/dist/feature-bento-utilities.js +9 -5
- package/dist/feature-capabilities-grid.cjs +41 -38
- package/dist/feature-capabilities-grid.d.cts +3 -3
- package/dist/feature-capabilities-grid.d.ts +3 -3
- package/dist/feature-capabilities-grid.js +41 -38
- package/dist/feature-card-grid-linked.cjs +18 -18
- package/dist/feature-card-grid-linked.d.cts +3 -3
- package/dist/feature-card-grid-linked.d.ts +3 -3
- package/dist/feature-card-grid-linked.js +19 -19
- package/dist/feature-carousel-progress.cjs +3 -3
- package/dist/feature-carousel-progress.d.cts +3 -3
- package/dist/feature-carousel-progress.d.ts +3 -3
- package/dist/feature-carousel-progress.js +4 -4
- package/dist/feature-category-image-cards.cjs +3 -3
- package/dist/feature-category-image-cards.d.cts +3 -3
- package/dist/feature-category-image-cards.d.ts +3 -3
- package/dist/feature-category-image-cards.js +4 -4
- package/dist/feature-checklist-image.cjs +2 -2
- package/dist/feature-checklist-image.d.cts +3 -3
- package/dist/feature-checklist-image.d.ts +3 -3
- package/dist/feature-checklist-image.js +2 -2
- package/dist/feature-checklist-three-column.cjs +6 -6
- package/dist/feature-checklist-three-column.d.cts +3 -3
- package/dist/feature-checklist-three-column.d.ts +3 -3
- package/dist/feature-checklist-three-column.js +7 -7
- package/dist/feature-icon-grid-accent.cjs +2 -2
- package/dist/feature-icon-grid-accent.d.cts +3 -3
- package/dist/feature-icon-grid-accent.d.ts +3 -3
- package/dist/feature-icon-grid-accent.js +2 -2
- package/dist/feature-icon-grid-bordered.cjs +29 -31
- package/dist/feature-icon-grid-bordered.d.cts +12 -12
- package/dist/feature-icon-grid-bordered.d.ts +12 -12
- package/dist/feature-icon-grid-bordered.js +30 -32
- package/dist/feature-icon-grid-muted.cjs +6 -6
- package/dist/feature-icon-grid-muted.d.cts +12 -12
- package/dist/feature-icon-grid-muted.d.ts +12 -12
- package/dist/feature-icon-grid-muted.js +7 -7
- package/dist/feature-icon-tabs-content.cjs +8 -8
- package/dist/feature-icon-tabs-content.d.cts +16 -16
- package/dist/feature-icon-tabs-content.d.ts +16 -16
- package/dist/feature-icon-tabs-content.js +9 -9
- package/dist/feature-image-cards-three-column.cjs +26 -27
- package/dist/feature-image-cards-three-column.d.cts +3 -3
- package/dist/feature-image-cards-three-column.d.ts +3 -3
- package/dist/feature-image-cards-three-column.js +27 -28
- package/dist/feature-image-overlay-badge.cjs +23 -21
- package/dist/feature-image-overlay-badge.d.cts +3 -3
- package/dist/feature-image-overlay-badge.d.ts +3 -3
- package/dist/feature-image-overlay-badge.js +24 -22
- package/dist/feature-integration-cards.cjs +19 -18
- package/dist/feature-integration-cards.d.cts +3 -3
- package/dist/feature-integration-cards.d.ts +3 -3
- package/dist/feature-integration-cards.js +20 -19
- package/dist/feature-numbered-cards.cjs +2 -2
- package/dist/feature-numbered-cards.d.cts +3 -3
- package/dist/feature-numbered-cards.d.ts +3 -3
- package/dist/feature-numbered-cards.js +3 -3
- package/dist/feature-pattern-grid-links.cjs +26 -29
- package/dist/feature-pattern-grid-links.d.cts +4 -8
- package/dist/feature-pattern-grid-links.d.ts +4 -8
- package/dist/feature-pattern-grid-links.js +27 -30
- package/dist/feature-showcase.cjs +441 -40
- package/dist/feature-showcase.d.cts +65 -8
- package/dist/feature-showcase.d.ts +65 -8
- package/dist/feature-showcase.js +438 -37
- package/dist/feature-split-image-reverse.cjs +15 -36
- package/dist/feature-split-image-reverse.d.cts +3 -3
- package/dist/feature-split-image-reverse.d.ts +3 -3
- package/dist/feature-split-image-reverse.js +16 -37
- package/dist/feature-split-image.cjs +15 -36
- package/dist/feature-split-image.d.cts +3 -3
- package/dist/feature-split-image.d.ts +3 -3
- package/dist/feature-split-image.js +16 -37
- package/dist/feature-stats-highlight.cjs +20 -32
- package/dist/feature-stats-highlight.d.cts +3 -3
- package/dist/feature-stats-highlight.d.ts +3 -3
- package/dist/feature-stats-highlight.js +21 -33
- package/dist/feature-tabbed-content-image.cjs +11 -6
- package/dist/feature-tabbed-content-image.d.cts +3 -3
- package/dist/feature-tabbed-content-image.d.ts +3 -3
- package/dist/feature-tabbed-content-image.js +11 -6
- package/dist/feature-three-column-values.cjs +6 -6
- package/dist/feature-three-column-values.d.cts +3 -3
- package/dist/feature-three-column-values.d.ts +3 -3
- package/dist/feature-three-column-values.js +6 -6
- package/dist/feature-utility-cards-grid.cjs +17 -15
- package/dist/feature-utility-cards-grid.d.cts +3 -3
- package/dist/feature-utility-cards-grid.d.ts +3 -3
- package/dist/feature-utility-cards-grid.js +18 -16
- package/dist/footer-animated-social.d.cts +3 -3
- package/dist/footer-animated-social.d.ts +3 -3
- package/dist/footer-background-card.d.cts +3 -3
- package/dist/footer-background-card.d.ts +3 -3
- package/dist/footer-brand-description.d.cts +3 -3
- package/dist/footer-brand-description.d.ts +3 -3
- package/dist/footer-brand-links-contact.d.cts +3 -3
- package/dist/footer-brand-links-contact.d.ts +3 -3
- package/dist/footer-contact-card.d.cts +3 -3
- package/dist/footer-contact-card.d.ts +3 -3
- package/dist/footer-cta-banner.d.cts +3 -3
- package/dist/footer-cta-banner.d.ts +3 -3
- package/dist/footer-cta-social.d.cts +3 -3
- package/dist/footer-cta-social.d.ts +3 -3
- package/dist/footer-links-grid.d.cts +3 -3
- package/dist/footer-links-grid.d.ts +3 -3
- package/dist/footer-nav-social.d.cts +3 -3
- package/dist/footer-nav-social.d.ts +3 -3
- package/dist/footer-newsletter-grid.d.cts +3 -3
- package/dist/footer-newsletter-grid.d.ts +3 -3
- package/dist/footer-newsletter-minimal.d.cts +3 -3
- package/dist/footer-newsletter-minimal.d.ts +3 -3
- package/dist/footer-simple-centered.d.cts +3 -3
- package/dist/footer-simple-centered.d.ts +3 -3
- package/dist/footer-social-apps.d.cts +3 -3
- package/dist/footer-social-apps.d.ts +3 -3
- package/dist/footer-social-newsletter.d.cts +3 -3
- package/dist/footer-social-newsletter.d.ts +3 -3
- package/dist/hero-ad-campaign-expert.d.cts +3 -3
- package/dist/hero-ad-campaign-expert.d.ts +3 -3
- package/dist/hero-adaptable-product-grid.d.cts +3 -3
- package/dist/hero-adaptable-product-grid.d.ts +3 -3
- package/dist/hero-agency-animated-images.d.cts +3 -3
- package/dist/hero-agency-animated-images.d.ts +3 -3
- package/dist/hero-ai-powered-carousel.d.cts +3 -3
- package/dist/hero-ai-powered-carousel.d.ts +3 -3
- package/dist/hero-announcement-badge.d.cts +3 -3
- package/dist/hero-announcement-badge.d.ts +3 -3
- package/dist/hero-architecture-fullscreen.d.cts +3 -3
- package/dist/hero-architecture-fullscreen.d.ts +3 -3
- package/dist/hero-badge-image-split.d.cts +3 -3
- package/dist/hero-badge-image-split.d.ts +3 -3
- package/dist/hero-badge-shadow-overlay.d.cts +3 -3
- package/dist/hero-badge-shadow-overlay.d.ts +3 -3
- package/dist/hero-billing-platform-logos.d.cts +3 -3
- package/dist/hero-billing-platform-logos.d.ts +3 -3
- package/dist/hero-business-carousel-dots.d.cts +3 -3
- package/dist/hero-business-carousel-dots.d.ts +3 -3
- package/dist/hero-business-operations-mosaic.d.cts +3 -3
- package/dist/hero-business-operations-mosaic.d.ts +3 -3
- package/dist/hero-centered-gradient-cta.d.cts +3 -3
- package/dist/hero-centered-gradient-cta.d.ts +3 -3
- package/dist/hero-centered-image-grid.d.cts +3 -3
- package/dist/hero-centered-image-grid.d.ts +3 -3
- package/dist/hero-centered-screenshot.d.cts +3 -3
- package/dist/hero-centered-screenshot.d.ts +3 -3
- package/dist/hero-coming-soon-countdown.d.cts +3 -3
- package/dist/hero-coming-soon-countdown.d.ts +3 -3
- package/dist/hero-community-survey-cta.d.cts +3 -3
- package/dist/hero-community-survey-cta.d.ts +3 -3
- package/dist/hero-conversation-intelligence.d.cts +3 -3
- package/dist/hero-conversation-intelligence.d.ts +3 -3
- package/dist/hero-conversion-video-play.d.cts +3 -3
- package/dist/hero-conversion-video-play.d.ts +3 -3
- package/dist/hero-creative-studio-stacked.d.cts +3 -3
- package/dist/hero-creative-studio-stacked.d.ts +3 -3
- package/dist/hero-crm-streamlined.d.cts +3 -3
- package/dist/hero-crm-streamlined.d.ts +3 -3
- package/dist/hero-customer-support-layered.d.cts +3 -3
- package/dist/hero-customer-support-layered.d.ts +3 -3
- package/dist/hero-dashed-border-features.d.cts +3 -3
- package/dist/hero-dashed-border-features.d.ts +3 -3
- package/dist/hero-design-carousel-portfolio.d.cts +3 -3
- package/dist/hero-design-carousel-portfolio.d.ts +3 -3
- package/dist/hero-design-showcase-logos.d.cts +3 -3
- package/dist/hero-design-showcase-logos.d.ts +3 -3
- package/dist/hero-design-system-3d.d.cts +3 -3
- package/dist/hero-design-system-3d.d.ts +3 -3
- package/dist/hero-developer-tools-code.d.cts +3 -3
- package/dist/hero-developer-tools-code.d.ts +3 -3
- package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
- package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
- package/dist/hero-ecommerce-product-showcase.d.cts +3 -3
- package/dist/hero-ecommerce-product-showcase.d.ts +3 -3
- package/dist/hero-enterprise-security.d.cts +3 -3
- package/dist/hero-enterprise-security.d.ts +3 -3
- package/dist/hero-event-registration.d.cts +3 -3
- package/dist/hero-event-registration.d.ts +3 -3
- package/dist/hero-feature-cards-grid.d.cts +3 -3
- package/dist/hero-feature-cards-grid.d.ts +3 -3
- package/dist/hero-floating-images.d.cts +3 -3
- package/dist/hero-floating-images.d.ts +3 -3
- package/dist/hero-fullscreen-background-image.d.cts +3 -3
- package/dist/hero-fullscreen-background-image.d.ts +3 -3
- package/dist/hero-fullscreen-logo-cta.d.cts +3 -3
- package/dist/hero-fullscreen-logo-cta.d.ts +3 -3
- package/dist/hero-gradient-avatars-rating.d.cts +3 -3
- package/dist/hero-gradient-avatars-rating.d.ts +3 -3
- package/dist/hero-gradient-client-focused.d.cts +3 -3
- package/dist/hero-gradient-client-focused.d.ts +3 -3
- package/dist/hero-grid-pattern-efficiency.d.cts +3 -3
- package/dist/hero-grid-pattern-efficiency.d.ts +3 -3
- package/dist/hero-grid-pattern-solutions.d.cts +3 -3
- package/dist/hero-grid-pattern-solutions.d.ts +3 -3
- package/dist/hero-hiring-animated-text.d.cts +3 -3
- package/dist/hero-hiring-animated-text.d.ts +3 -3
- package/dist/hero-image-left-content.d.cts +3 -3
- package/dist/hero-image-left-content.d.ts +3 -3
- package/dist/hero-image-slider.d.cts +3 -3
- package/dist/hero-image-slider.d.ts +3 -3
- package/dist/hero-innovation-image-grid.d.cts +3 -3
- package/dist/hero-innovation-image-grid.d.ts +3 -3
- package/dist/hero-logo-centered-screenshot.d.cts +3 -3
- package/dist/hero-logo-centered-screenshot.d.ts +3 -3
- package/dist/hero-marketplace-scattered-images.d.cts +3 -3
- package/dist/hero-marketplace-scattered-images.d.ts +3 -3
- package/dist/hero-mental-health-team.d.cts +3 -3
- package/dist/hero-mental-health-team.d.ts +3 -3
- package/dist/hero-mentorship-video-split.d.cts +3 -3
- package/dist/hero-mentorship-video-split.d.ts +3 -3
- package/dist/hero-minimal-centered-dark.d.cts +3 -3
- package/dist/hero-minimal-centered-dark.d.ts +3 -3
- package/dist/hero-mobile-app-download.d.cts +3 -3
- package/dist/hero-mobile-app-download.d.ts +3 -3
- package/dist/hero-newsletter-minimal.d.cts +3 -3
- package/dist/hero-newsletter-minimal.d.ts +3 -3
- package/dist/hero-overlay-cta-grid.d.cts +3 -3
- package/dist/hero-overlay-cta-grid.d.ts +3 -3
- package/dist/hero-pattern-badge-logos.d.cts +3 -3
- package/dist/hero-pattern-badge-logos.d.ts +3 -3
- package/dist/hero-pattern-logo-tech-stack.d.cts +3 -3
- package/dist/hero-pattern-logo-tech-stack.d.ts +3 -3
- package/dist/hero-platform-features-grid.d.cts +3 -3
- package/dist/hero-platform-features-grid.d.ts +3 -3
- package/dist/hero-portfolio-creative.d.cts +3 -3
- package/dist/hero-portfolio-creative.d.ts +3 -3
- package/dist/hero-premium-split-avatars.d.cts +3 -3
- package/dist/hero-premium-split-avatars.d.ts +3 -3
- package/dist/hero-presentation-platform-video.d.cts +3 -3
- package/dist/hero-presentation-platform-video.d.ts +3 -3
- package/dist/hero-pricing-comparison.d.cts +3 -3
- package/dist/hero-pricing-comparison.d.ts +3 -3
- package/dist/hero-product-showcase-floating.d.cts +3 -3
- package/dist/hero-product-showcase-floating.d.ts +3 -3
- package/dist/hero-productivity-launcher-video.d.cts +3 -3
- package/dist/hero-productivity-launcher-video.d.ts +3 -3
- package/dist/hero-saas-dashboard-preview.d.cts +3 -3
- package/dist/hero-saas-dashboard-preview.d.ts +3 -3
- package/dist/hero-shared-inbox-layered.d.cts +3 -3
- package/dist/hero-shared-inbox-layered.d.ts +3 -3
- package/dist/hero-simple-centered-image.d.cts +3 -3
- package/dist/hero-simple-centered-image.d.ts +3 -3
- package/dist/hero-software-growth-video-dialog.d.cts +3 -3
- package/dist/hero-software-growth-video-dialog.d.ts +3 -3
- package/dist/hero-spiral-pattern-cards.d.cts +3 -3
- package/dist/hero-spiral-pattern-cards.d.ts +3 -3
- package/dist/hero-split-geometric-shapes.d.cts +3 -3
- package/dist/hero-split-geometric-shapes.d.ts +3 -3
- package/dist/hero-split-icon-cards.d.cts +3 -3
- package/dist/hero-split-icon-cards.d.ts +3 -3
- package/dist/hero-split-image-newsletter.d.cts +3 -3
- package/dist/hero-split-image-newsletter.d.ts +3 -3
- package/dist/hero-split-spiral-shapes.d.cts +3 -3
- package/dist/hero-split-spiral-shapes.d.ts +3 -3
- package/dist/hero-startup-launch-cta.d.cts +3 -3
- package/dist/hero-startup-launch-cta.d.ts +3 -3
- package/dist/hero-stats-social-proof.d.cts +3 -3
- package/dist/hero-stats-social-proof.d.ts +3 -3
- package/dist/hero-task-timer-animated.d.cts +3 -3
- package/dist/hero-task-timer-animated.d.ts +3 -3
- package/dist/hero-tech-carousel.d.cts +3 -3
- package/dist/hero-tech-carousel.d.ts +3 -3
- package/dist/hero-testimonial-image-grid.d.cts +3 -3
- package/dist/hero-testimonial-image-grid.d.ts +3 -3
- package/dist/hero-therapy-testimonial-grid.d.cts +3 -3
- package/dist/hero-therapy-testimonial-grid.d.ts +3 -3
- package/dist/hero-ui-library-showcase.d.cts +3 -3
- package/dist/hero-ui-library-showcase.d.ts +3 -3
- package/dist/hero-video-background-dark.d.cts +3 -3
- package/dist/hero-video-background-dark.d.ts +3 -3
- package/dist/hero-video-dialog-gradient.d.cts +3 -3
- package/dist/hero-video-dialog-gradient.d.ts +3 -3
- package/dist/hero-video-overlay-stars.d.cts +3 -3
- package/dist/hero-video-overlay-stars.d.ts +3 -3
- package/dist/hero-welcome-asymmetric-images.d.cts +3 -3
- package/dist/hero-welcome-asymmetric-images.d.ts +3 -3
- package/dist/image-slider.d.cts +2 -2
- package/dist/image-slider.d.ts +2 -2
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/industries-badge-list-bordered.d.cts +3 -3
- package/dist/industries-badge-list-bordered.d.ts +3 -3
- package/dist/industries-expandable-showcase.d.cts +3 -3
- package/dist/industries-expandable-showcase.d.ts +3 -3
- package/dist/industries-hover-reveal-grid.d.cts +3 -3
- package/dist/industries-hover-reveal-grid.d.ts +3 -3
- package/dist/industries-timeline-table.d.cts +3 -3
- package/dist/industries-timeline-table.d.ts +3 -3
- package/dist/interior-carousel.d.cts +3 -3
- package/dist/interior-carousel.d.ts +3 -3
- package/dist/link-page-bento-layout.d.cts +3 -3
- package/dist/link-page-bento-layout.d.ts +3 -3
- package/dist/link-page-grid-cards.d.cts +3 -3
- package/dist/link-page-grid-cards.d.ts +3 -3
- package/dist/link-page-minimal-profile.d.cts +3 -3
- package/dist/link-page-minimal-profile.d.ts +3 -3
- package/dist/link-page-newsletter-social.d.cts +3 -3
- package/dist/link-page-newsletter-social.d.ts +3 -3
- package/dist/link-tree-block.d.cts +3 -3
- package/dist/link-tree-block.d.ts +3 -3
- package/dist/list-searchable-grid.d.cts +3 -3
- package/dist/list-searchable-grid.d.ts +3 -3
- package/dist/logos-carousel-heading.d.cts +3 -3
- package/dist/logos-carousel-heading.d.ts +3 -3
- package/dist/logos-centered-simple.d.cts +3 -3
- package/dist/logos-centered-simple.d.ts +3 -3
- package/dist/logos-certifications-grid.d.cts +3 -3
- package/dist/logos-certifications-grid.d.ts +3 -3
- package/dist/logos-double-carousel-pattern.d.cts +3 -3
- package/dist/logos-double-carousel-pattern.d.ts +3 -3
- package/dist/logos-inline-tagline.d.cts +3 -3
- package/dist/logos-inline-tagline.d.ts +3 -3
- package/dist/logos-marquee-muted.d.cts +3 -3
- package/dist/logos-marquee-muted.d.ts +3 -3
- package/dist/logos-minimal-carousel.d.cts +3 -3
- package/dist/logos-minimal-carousel.d.ts +3 -3
- package/dist/logos-numbered-carousel.d.cts +3 -3
- package/dist/logos-numbered-carousel.d.ts +3 -3
- package/dist/logos-partner-grid-sidebar.d.cts +3 -3
- package/dist/logos-partner-grid-sidebar.d.ts +3 -3
- package/dist/logos-partner-network.d.cts +3 -3
- package/dist/logos-partner-network.d.ts +3 -3
- package/dist/logos-two-row-grid.d.cts +3 -3
- package/dist/logos-two-row-grid.d.ts +3 -3
- package/dist/masonry-motion-grid.d.cts +3 -3
- package/dist/masonry-motion-grid.d.ts +3 -3
- package/dist/media-hover-ctas.d.cts +3 -3
- package/dist/media-hover-ctas.d.ts +3 -3
- package/dist/navbar-animated-preview.d.cts +3 -3
- package/dist/navbar-animated-preview.d.ts +3 -3
- package/dist/navbar-centered-menu.d.cts +3 -3
- package/dist/navbar-centered-menu.d.ts +3 -3
- package/dist/navbar-dark-icons.d.cts +3 -3
- package/dist/navbar-dark-icons.d.ts +3 -3
- package/dist/navbar-dropdown-menu.d.cts +3 -3
- package/dist/navbar-dropdown-menu.d.ts +3 -3
- package/dist/navbar-education-platform.d.cts +3 -3
- package/dist/navbar-education-platform.d.ts +3 -3
- package/dist/navbar-enterprise-mega.d.cts +3 -3
- package/dist/navbar-enterprise-mega.d.ts +3 -3
- package/dist/navbar-feature-grid.d.cts +3 -3
- package/dist/navbar-feature-grid.d.ts +3 -3
- package/dist/navbar-floating-pill.d.cts +3 -3
- package/dist/navbar-floating-pill.d.ts +3 -3
- package/dist/navbar-fullscreen-menu.d.cts +3 -3
- package/dist/navbar-fullscreen-menu.d.ts +3 -3
- package/dist/navbar-icon-links.d.cts +3 -3
- package/dist/navbar-icon-links.d.ts +3 -3
- package/dist/navbar-image-preview.d.cts +3 -3
- package/dist/navbar-image-preview.d.ts +3 -3
- package/dist/navbar-mega-menu.d.cts +3 -3
- package/dist/navbar-mega-menu.d.ts +3 -3
- package/dist/navbar-multi-column-groups.d.cts +3 -3
- package/dist/navbar-multi-column-groups.d.ts +3 -3
- package/dist/navbar-platform-resources.d.cts +3 -3
- package/dist/navbar-platform-resources.d.ts +3 -3
- package/dist/navbar-search-focused.d.cts +3 -3
- package/dist/navbar-search-focused.d.ts +3 -3
- package/dist/navbar-sidebar-mobile.d.cts +3 -3
- package/dist/navbar-sidebar-mobile.d.ts +3 -3
- package/dist/navbar-simple-links.d.cts +3 -3
- package/dist/navbar-simple-links.d.ts +3 -3
- package/dist/navbar-split-cta.d.cts +3 -3
- package/dist/navbar-split-cta.d.ts +3 -3
- package/dist/navbar-sticky-compact.d.cts +3 -3
- package/dist/navbar-sticky-compact.d.ts +3 -3
- package/dist/navbar-tabbed-sections.cjs +23 -16
- package/dist/navbar-tabbed-sections.d.cts +3 -3
- package/dist/navbar-tabbed-sections.d.ts +3 -3
- package/dist/navbar-tabbed-sections.js +23 -16
- package/dist/navbar-transparent-overlay.d.cts +3 -3
- package/dist/navbar-transparent-overlay.d.ts +3 -3
- package/dist/page-hero-banner.d.cts +3 -3
- package/dist/page-hero-banner.d.ts +3 -3
- package/dist/pressable.d.cts +1 -1
- package/dist/pressable.d.ts +1 -1
- package/dist/process-expandable-timeline.d.cts +3 -3
- package/dist/process-expandable-timeline.d.ts +3 -3
- package/dist/process-hover-cards.d.cts +3 -3
- package/dist/process-hover-cards.d.ts +3 -3
- package/dist/process-icon-timeline.d.cts +3 -3
- package/dist/process-icon-timeline.d.ts +3 -3
- package/dist/process-mission-principles.d.cts +3 -3
- package/dist/process-mission-principles.d.ts +3 -3
- package/dist/process-numbered-services.d.cts +3 -3
- package/dist/process-numbered-services.d.ts +3 -3
- package/dist/process-roadmap-timeline.d.cts +3 -3
- package/dist/process-roadmap-timeline.d.ts +3 -3
- package/dist/process-scroll-image.d.cts +3 -3
- package/dist/process-scroll-image.d.ts +3 -3
- package/dist/process-steps-grid.d.cts +3 -3
- package/dist/process-steps-grid.d.ts +3 -3
- package/dist/process-sticky-steps.d.cts +3 -3
- package/dist/process-sticky-steps.d.ts +3 -3
- package/dist/project-alternating-motion.d.cts +3 -3
- package/dist/project-alternating-motion.d.ts +3 -3
- package/dist/project-background-reveal.d.cts +3 -3
- package/dist/project-background-reveal.d.ts +3 -3
- package/dist/project-card-overlay.d.cts +3 -3
- package/dist/project-card-overlay.d.ts +3 -3
- package/dist/project-carousel-cinematic.d.cts +3 -3
- package/dist/project-carousel-cinematic.d.ts +3 -3
- package/dist/project-carousel-detail-cards.d.cts +3 -3
- package/dist/project-carousel-detail-cards.d.ts +3 -3
- package/dist/project-carousel-minimal.d.cts +3 -3
- package/dist/project-carousel-minimal.d.ts +3 -3
- package/dist/project-detail-architecture-carousel.d.cts +3 -3
- package/dist/project-detail-architecture-carousel.d.ts +3 -3
- package/dist/project-experience-quote.d.cts +3 -3
- package/dist/project-experience-quote.d.ts +3 -3
- package/dist/project-featured-carousel.d.cts +3 -3
- package/dist/project-featured-carousel.d.ts +3 -3
- package/dist/project-filterable-gallery.d.cts +3 -3
- package/dist/project-filterable-gallery.d.ts +3 -3
- package/dist/project-filterable-three-column.d.cts +3 -3
- package/dist/project-filterable-three-column.d.ts +3 -3
- package/dist/project-grid-gallery.d.cts +3 -3
- package/dist/project-grid-gallery.d.ts +3 -3
- package/dist/project-grid-motion.d.cts +3 -3
- package/dist/project-grid-motion.d.ts +3 -3
- package/dist/project-horizontal-cards.d.cts +3 -3
- package/dist/project-horizontal-cards.d.ts +3 -3
- package/dist/project-hover-reveal-grid.d.cts +3 -3
- package/dist/project-hover-reveal-grid.d.ts +3 -3
- package/dist/project-interactive-hover-reveal.d.cts +3 -3
- package/dist/project-interactive-hover-reveal.d.ts +3 -3
- package/dist/project-masonry-columns.d.cts +3 -3
- package/dist/project-masonry-columns.d.ts +3 -3
- package/dist/project-nature-mosaic.d.cts +3 -3
- package/dist/project-nature-mosaic.d.ts +3 -3
- package/dist/project-scroll-reveal.d.cts +3 -3
- package/dist/project-scroll-reveal.d.ts +3 -3
- package/dist/project-showcase-alternating.d.cts +3 -3
- package/dist/project-showcase-alternating.d.ts +3 -3
- package/dist/project-sticky-scroll.d.cts +3 -3
- package/dist/project-sticky-scroll.d.ts +3 -3
- package/dist/project-studio-hover-preview.d.cts +3 -3
- package/dist/project-studio-hover-preview.d.ts +3 -3
- package/dist/project-table-list.d.cts +3 -3
- package/dist/project-table-list.d.ts +3 -3
- package/dist/project-video-carousel.d.cts +3 -3
- package/dist/project-video-carousel.d.ts +3 -3
- package/dist/project-video-hover-bento.d.cts +3 -3
- package/dist/project-video-hover-bento.d.ts +3 -3
- package/dist/project-video-hover-grid.d.cts +3 -3
- package/dist/project-video-hover-grid.d.ts +3 -3
- package/dist/project-video-hover-rounded.d.cts +3 -3
- package/dist/project-video-hover-rounded.d.ts +3 -3
- package/dist/project-video-hover-stack.d.cts +3 -3
- package/dist/project-video-hover-stack.d.ts +3 -3
- package/dist/project-video-hover-two-by-two.d.cts +3 -3
- package/dist/project-video-hover-two-by-two.d.ts +3 -3
- package/dist/project-work-showcase.d.cts +3 -3
- package/dist/project-work-showcase.d.ts +3 -3
- package/dist/registry.cjs +946 -706
- package/dist/registry.js +948 -708
- package/dist/resource-detail-whitepaper-sidebar.d.cts +3 -3
- package/dist/resource-detail-whitepaper-sidebar.d.ts +3 -3
- package/dist/resource-list-course-cards.d.cts +3 -3
- package/dist/resource-list-course-cards.d.ts +3 -3
- package/dist/resource-list-featured-articles.d.cts +3 -3
- package/dist/resource-list-featured-articles.d.ts +3 -3
- package/dist/resource-list-featured-grid.d.cts +3 -3
- package/dist/resource-list-featured-grid.d.ts +3 -3
- package/dist/resource-list-hero-filter.d.cts +2 -2
- package/dist/resource-list-hero-filter.d.ts +2 -2
- package/dist/resource-list-news-updates.d.cts +3 -3
- package/dist/resource-list-news-updates.d.ts +3 -3
- package/dist/reviews-images-helpful.d.cts +3 -3
- package/dist/reviews-images-helpful.d.ts +3 -3
- package/dist/reviews-list-verified.d.cts +3 -3
- package/dist/reviews-list-verified.d.ts +3 -3
- package/dist/section.d.cts +3 -3
- package/dist/section.d.ts +3 -3
- package/dist/service-detail-centered-expertise.d.cts +3 -3
- package/dist/service-detail-centered-expertise.d.ts +3 -3
- package/dist/service-detail-compact-cards.d.cts +3 -3
- package/dist/service-detail-compact-cards.d.ts +3 -3
- package/dist/service-detail-image-hero.d.cts +3 -3
- package/dist/service-detail-image-hero.d.ts +3 -3
- package/dist/service-detail-prose-minimal.d.cts +3 -3
- package/dist/service-detail-prose-minimal.d.ts +3 -3
- package/dist/service-detail-sidebar-related.d.cts +3 -3
- package/dist/service-detail-sidebar-related.d.ts +3 -3
- package/dist/service-detail-sidebar-stats.d.cts +3 -3
- package/dist/service-detail-sidebar-stats.d.ts +3 -3
- package/dist/service-detail-stats-hero.d.cts +3 -3
- package/dist/service-detail-stats-hero.d.ts +3 -3
- package/dist/service-hover-carousel.d.cts +3 -3
- package/dist/service-hover-carousel.d.ts +3 -3
- package/dist/services-list-feature-spotlight.d.cts +3 -3
- package/dist/services-list-feature-spotlight.d.ts +3 -3
- package/dist/stats-animated-counter.d.cts +3 -3
- package/dist/stats-animated-counter.d.ts +3 -3
- package/dist/stats-bar-comparison.d.cts +3 -3
- package/dist/stats-bar-comparison.d.ts +3 -3
- package/dist/stats-card-group.d.cts +3 -3
- package/dist/stats-card-group.d.ts +3 -3
- package/dist/stats-circular-progress.d.cts +3 -3
- package/dist/stats-circular-progress.d.ts +3 -3
- package/dist/stats-growth-timeline.d.cts +3 -3
- package/dist/stats-growth-timeline.d.ts +3 -3
- package/dist/stats-icon-cards.d.cts +3 -3
- package/dist/stats-icon-cards.d.ts +3 -3
- package/dist/stats-impact-grid.d.cts +3 -3
- package/dist/stats-impact-grid.d.ts +3 -3
- package/dist/stats-milestone-sidebar.d.cts +3 -3
- package/dist/stats-milestone-sidebar.d.ts +3 -3
- package/dist/stats-number-ticker.d.cts +3 -3
- package/dist/stats-number-ticker.d.ts +3 -3
- package/dist/stats-primary-secondary.d.cts +3 -3
- package/dist/stats-primary-secondary.d.ts +3 -3
- package/dist/stats-simple-grid.d.cts +3 -3
- package/dist/stats-simple-grid.d.ts +3 -3
- package/dist/stats-timeline-tabs.d.cts +3 -3
- package/dist/stats-timeline-tabs.d.ts +3 -3
- package/dist/team-media-showcase.d.cts +3 -3
- package/dist/team-media-showcase.d.ts +3 -3
- package/dist/testimonial-carousel-cards.d.cts +3 -3
- package/dist/testimonial-carousel-cards.d.ts +3 -3
- package/dist/testimonials-animated-split.d.cts +3 -3
- package/dist/testimonials-animated-split.d.ts +3 -3
- package/dist/testimonials-bento-grid.d.cts +3 -3
- package/dist/testimonials-bento-grid.d.ts +3 -3
- package/dist/testimonials-carousel-image.d.cts +2 -2
- package/dist/testimonials-carousel-image.d.ts +2 -2
- package/dist/testimonials-centered-avatars.d.cts +3 -3
- package/dist/testimonials-centered-avatars.d.ts +3 -3
- package/dist/testimonials-company-logo.d.cts +3 -3
- package/dist/testimonials-company-logo.d.ts +3 -3
- package/dist/testimonials-grid-add-review.d.cts +3 -3
- package/dist/testimonials-grid-add-review.d.ts +3 -3
- package/dist/testimonials-large-quote.d.cts +3 -3
- package/dist/testimonials-large-quote.d.ts +3 -3
- package/dist/testimonials-logo-cards.d.cts +3 -3
- package/dist/testimonials-logo-cards.d.ts +3 -3
- package/dist/testimonials-marquee.d.cts +3 -3
- package/dist/testimonials-marquee.d.ts +3 -3
- package/dist/testimonials-masonry-grid.d.cts +3 -3
- package/dist/testimonials-masonry-grid.d.ts +3 -3
- package/dist/testimonials-mini-dividers.d.cts +3 -3
- package/dist/testimonials-mini-dividers.d.ts +3 -3
- package/dist/testimonials-minimal-numbered.d.cts +3 -3
- package/dist/testimonials-minimal-numbered.d.ts +3 -3
- package/dist/testimonials-parallax-number.d.cts +3 -3
- package/dist/testimonials-parallax-number.d.ts +3 -3
- package/dist/testimonials-quote-carousel.d.cts +3 -3
- package/dist/testimonials-quote-carousel.d.ts +3 -3
- package/dist/testimonials-scrolling-columns.d.cts +3 -3
- package/dist/testimonials-scrolling-columns.d.ts +3 -3
- package/dist/testimonials-simple-grid.d.cts +3 -3
- package/dist/testimonials-simple-grid.d.ts +3 -3
- package/dist/testimonials-slider-minimal.d.cts +3 -3
- package/dist/testimonials-slider-minimal.d.ts +3 -3
- package/dist/testimonials-split-image.d.cts +3 -3
- package/dist/testimonials-split-image.d.ts +3 -3
- package/dist/testimonials-stats-header.d.cts +3 -3
- package/dist/testimonials-stats-header.d.ts +3 -3
- package/dist/testimonials-twitter-cards.d.cts +3 -3
- package/dist/testimonials-twitter-cards.d.ts +3 -3
- package/dist/testimonials-wall-compact.d.cts +3 -3
- package/dist/testimonials-wall-compact.d.ts +3 -3
- package/dist/timeline-ai-workflow-cards.d.cts +3 -3
- package/dist/timeline-ai-workflow-cards.d.ts +3 -3
- package/dist/timeline-alternating-diagonal.d.cts +3 -3
- package/dist/timeline-alternating-diagonal.d.ts +3 -3
- package/dist/timeline-changelog-badges.d.cts +3 -3
- package/dist/timeline-changelog-badges.d.ts +3 -3
- package/dist/timeline-history-prose.d.cts +3 -3
- package/dist/timeline-history-prose.d.ts +3 -3
- package/dist/timeline-horizontal-icons.d.cts +3 -3
- package/dist/timeline-horizontal-icons.d.ts +3 -3
- package/dist/timeline-horizontal-phases.d.cts +3 -3
- package/dist/timeline-horizontal-phases.d.ts +3 -3
- package/dist/timeline-product-launch.d.cts +3 -3
- package/dist/timeline-product-launch.d.ts +3 -3
- package/dist/timeline-productivity-list.d.cts +3 -3
- package/dist/timeline-productivity-list.d.ts +3 -3
- package/dist/timeline-scroll-highlight.d.cts +3 -3
- package/dist/timeline-scroll-highlight.d.ts +3 -3
- package/dist/timeline-scroll-sticky-image.d.cts +3 -3
- package/dist/timeline-scroll-sticky-image.d.ts +3 -3
- package/dist/timeline-stepper-animated.d.cts +3 -3
- package/dist/timeline-stepper-animated.d.ts +3 -3
- package/dist/timeline-tabbed-phases.d.cts +3 -3
- package/dist/timeline-tabbed-phases.d.ts +3 -3
- package/dist/timeline-two-column-featured.d.cts +3 -3
- package/dist/timeline-two-column-featured.d.ts +3 -3
- package/dist/timeline-vertical-icon-dashed.d.cts +3 -3
- package/dist/timeline-vertical-icon-dashed.d.ts +3 -3
- package/dist/types.d.cts +3 -3
- package/dist/types.d.ts +3 -3
- package/package.json +1 -1
package/dist/registry.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React52 from 'react';
|
|
2
|
-
import React52__default, { Fragment, createContext,
|
|
2
|
+
import React52__default, { Fragment, createContext, useMemo as useMemo$1, forwardRef, useState, useCallback, useRef, useEffect, startTransition, useContext } from 'react';
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
7
7
|
import { cva } from 'class-variance-authority';
|
|
8
|
-
import {
|
|
8
|
+
import { AnimatePresence, motion, useMotionValue, useMotionTemplate, useSpring, useTransform, useInView, useScroll, useMotionValueEvent } from 'framer-motion';
|
|
9
9
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
10
10
|
import { useForm, Form, Field } from '@page-speed/forms';
|
|
11
11
|
import { TextInput as TextInput$1, Select, TextArea as TextArea$1, Radio } from '@page-speed/forms/inputs';
|
|
@@ -18645,19 +18645,21 @@ function CarouselHorizontalCards({
|
|
|
18645
18645
|
"div",
|
|
18646
18646
|
{
|
|
18647
18647
|
className: cn(
|
|
18648
|
-
"flex flex-row justify-start gap-
|
|
18648
|
+
"flex flex-row justify-start gap-2",
|
|
18649
18649
|
carouselClassName
|
|
18650
18650
|
),
|
|
18651
18651
|
children: [
|
|
18652
18652
|
items?.map((item, index) => /* @__PURE__ */ jsx(
|
|
18653
18653
|
motion.div,
|
|
18654
18654
|
{
|
|
18655
|
-
className: cn(
|
|
18656
|
-
"rounded-lg last:pr-[5%] md:last:pr-[33%]"
|
|
18657
|
-
),
|
|
18655
|
+
className: cn("rounded-lg last:pr-[5%] md:last:pr-[33%]"),
|
|
18658
18656
|
initial: { opacity: 0, y: 20 },
|
|
18659
18657
|
animate: { opacity: 1, y: 0 },
|
|
18660
|
-
transition: {
|
|
18658
|
+
transition: {
|
|
18659
|
+
duration: 0.5,
|
|
18660
|
+
delay: 0.2 * index,
|
|
18661
|
+
ease: "easeOut"
|
|
18662
|
+
},
|
|
18661
18663
|
children: /* @__PURE__ */ jsx(
|
|
18662
18664
|
"div",
|
|
18663
18665
|
{
|
|
@@ -18729,7 +18731,7 @@ function CarouselHorizontalCards({
|
|
|
18729
18731
|
onNext: scrollRight,
|
|
18730
18732
|
canScrollPrevious: !isAtStart,
|
|
18731
18733
|
canScrollNext: !isAtEnd,
|
|
18732
|
-
className: cn("mr-0
|
|
18734
|
+
className: cn("mr-0", navigationClassName)
|
|
18733
18735
|
}
|
|
18734
18736
|
)
|
|
18735
18737
|
] })
|
|
@@ -18744,43 +18746,43 @@ function CarouselImageHero({
|
|
|
18744
18746
|
actions,
|
|
18745
18747
|
actionsSlot,
|
|
18746
18748
|
images,
|
|
18747
|
-
autoPlayInterval =
|
|
18749
|
+
autoPlayInterval = 7500,
|
|
18748
18750
|
className,
|
|
18749
|
-
containerClassName,
|
|
18751
|
+
containerClassName = "mx-auto w-full max-w-7xl relative z-10 rounded-2xl overflow-hidden shadow-xl",
|
|
18750
18752
|
contentClassName,
|
|
18751
18753
|
badgeClassName,
|
|
18752
18754
|
headingClassName,
|
|
18753
18755
|
descriptionClassName,
|
|
18754
18756
|
actionsClassName,
|
|
18755
18757
|
imageClassName,
|
|
18756
|
-
navigationClassName,
|
|
18757
18758
|
indicatorsClassName,
|
|
18758
18759
|
optixFlowConfig,
|
|
18759
|
-
background
|
|
18760
|
-
spacing
|
|
18760
|
+
background,
|
|
18761
|
+
spacing,
|
|
18761
18762
|
pattern,
|
|
18762
18763
|
patternOpacity
|
|
18763
18764
|
}) {
|
|
18764
18765
|
const [currentImageIndex, setCurrentImageIndex] = React52.useState(0);
|
|
18765
18766
|
React52.useEffect(() => {
|
|
18766
18767
|
const interval = setInterval(() => {
|
|
18767
|
-
setCurrentImageIndex(
|
|
18768
|
+
setCurrentImageIndex(
|
|
18769
|
+
(prevIndex) => (prevIndex + 1) % (images?.length ?? 1)
|
|
18770
|
+
);
|
|
18768
18771
|
}, autoPlayInterval);
|
|
18769
18772
|
return () => clearInterval(interval);
|
|
18770
18773
|
}, [images?.length, autoPlayInterval]);
|
|
18771
|
-
const goToNextImage = () => {
|
|
18772
|
-
setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (images?.length ?? 1));
|
|
18773
|
-
};
|
|
18774
|
-
const goToPreviousImage = () => {
|
|
18775
|
-
setCurrentImageIndex(
|
|
18776
|
-
(prevIndex) => (prevIndex - 1 + (images?.length ?? 1)) % (images?.length ?? 1)
|
|
18777
|
-
);
|
|
18778
|
-
};
|
|
18779
18774
|
const renderActions = () => {
|
|
18780
18775
|
if (actionsSlot) return actionsSlot;
|
|
18781
18776
|
if (!actions || actions.length === 0) return null;
|
|
18782
18777
|
return actions.map((action, index) => {
|
|
18783
|
-
const {
|
|
18778
|
+
const {
|
|
18779
|
+
label,
|
|
18780
|
+
icon,
|
|
18781
|
+
iconAfter,
|
|
18782
|
+
children,
|
|
18783
|
+
className: actionClassName,
|
|
18784
|
+
...pressableProps
|
|
18785
|
+
} = action;
|
|
18784
18786
|
return /* @__PURE__ */ jsx(
|
|
18785
18787
|
Pressable,
|
|
18786
18788
|
{
|
|
@@ -18805,6 +18807,7 @@ function CarouselImageHero({
|
|
|
18805
18807
|
className: cn("relative min-h-[600px] overflow-hidden", className),
|
|
18806
18808
|
pattern,
|
|
18807
18809
|
patternOpacity,
|
|
18810
|
+
containerClassName,
|
|
18808
18811
|
children: [
|
|
18809
18812
|
/* @__PURE__ */ jsxs("div", { className: cn("absolute inset-0", imageClassName), children: [
|
|
18810
18813
|
images?.map((image, index) => /* @__PURE__ */ jsxs(
|
|
@@ -18830,50 +18833,79 @@ function CarouselImageHero({
|
|
|
18830
18833
|
index
|
|
18831
18834
|
)),
|
|
18832
18835
|
/* @__PURE__ */ jsx(
|
|
18833
|
-
|
|
18834
|
-
{
|
|
18835
|
-
onClick: goToPreviousImage,
|
|
18836
|
-
asButton: true,
|
|
18837
|
-
variant: "ghost",
|
|
18838
|
-
size: "icon",
|
|
18839
|
-
className: cn("absolute left-4 top-1/2 z-20 hidden -translate-y-1/2 rounded-full bg-background/30 p-2 backdrop-blur-sm transition-colors hover:bg-background/50 md:block", navigationClassName),
|
|
18840
|
-
"aria-label": "Previous image",
|
|
18841
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24, className: "text-white" })
|
|
18842
|
-
}
|
|
18843
|
-
),
|
|
18844
|
-
/* @__PURE__ */ jsx(
|
|
18845
|
-
Pressable,
|
|
18846
|
-
{
|
|
18847
|
-
onClick: goToNextImage,
|
|
18848
|
-
asButton: true,
|
|
18849
|
-
variant: "ghost",
|
|
18850
|
-
size: "icon",
|
|
18851
|
-
className: cn("absolute right-4 top-1/2 z-20 hidden -translate-y-1/2 rounded-full bg-background/30 p-2 backdrop-blur-sm transition-colors hover:bg-background/50 md:block", navigationClassName),
|
|
18852
|
-
"aria-label": "Next image",
|
|
18853
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24, className: "text-white" })
|
|
18854
|
-
}
|
|
18855
|
-
),
|
|
18856
|
-
/* @__PURE__ */ jsx("div", { className: cn("absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 gap-3", indicatorsClassName), children: images?.map((_, index) => /* @__PURE__ */ jsx(
|
|
18857
|
-
"button",
|
|
18836
|
+
"div",
|
|
18858
18837
|
{
|
|
18859
|
-
onClick: () => setCurrentImageIndex(index),
|
|
18860
18838
|
className: cn(
|
|
18861
|
-
"
|
|
18862
|
-
|
|
18839
|
+
"absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 gap-3",
|
|
18840
|
+
indicatorsClassName
|
|
18863
18841
|
),
|
|
18864
|
-
|
|
18865
|
-
|
|
18866
|
-
|
|
18867
|
-
|
|
18842
|
+
children: images?.map((_, index) => /* @__PURE__ */ jsx(
|
|
18843
|
+
"button",
|
|
18844
|
+
{
|
|
18845
|
+
onClick: () => setCurrentImageIndex(index),
|
|
18846
|
+
className: cn(
|
|
18847
|
+
"flex h-4 w-4 items-center justify-center rounded-full transition-colors",
|
|
18848
|
+
index === currentImageIndex ? "bg-white" : "bg-white/50 hover:bg-white/80"
|
|
18849
|
+
),
|
|
18850
|
+
"aria-label": `Go to image ${index + 1}`
|
|
18851
|
+
},
|
|
18852
|
+
index
|
|
18853
|
+
))
|
|
18854
|
+
}
|
|
18855
|
+
)
|
|
18868
18856
|
] }),
|
|
18869
|
-
/* @__PURE__ */ jsx(
|
|
18870
|
-
|
|
18871
|
-
|
|
18872
|
-
|
|
18873
|
-
|
|
18874
|
-
|
|
18875
|
-
|
|
18876
|
-
|
|
18857
|
+
/* @__PURE__ */ jsx(
|
|
18858
|
+
"div",
|
|
18859
|
+
{
|
|
18860
|
+
className: cn(
|
|
18861
|
+
"relative z-10 mx-auto flex min-h-[600px] flex-col items-center justify-center px-4 py-16 text-center md:px-16 md:py-20"
|
|
18862
|
+
),
|
|
18863
|
+
children: /* @__PURE__ */ jsxs("div", { className: cn("max-w-4xl space-y-6", contentClassName), children: [
|
|
18864
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
18865
|
+
badge && (typeof badge === "string" ? /* @__PURE__ */ jsx(
|
|
18866
|
+
"div",
|
|
18867
|
+
{
|
|
18868
|
+
className: cn(
|
|
18869
|
+
"inline-flex items-center rounded-full bg-white/10 px-3 py-1 text-sm font-medium text-white backdrop-blur-sm",
|
|
18870
|
+
badgeClassName
|
|
18871
|
+
),
|
|
18872
|
+
children: /* @__PURE__ */ jsx("span", { children: badge })
|
|
18873
|
+
}
|
|
18874
|
+
) : /* @__PURE__ */ jsx("div", { className: badgeClassName, children: badge })),
|
|
18875
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
18876
|
+
"h1",
|
|
18877
|
+
{
|
|
18878
|
+
className: cn(
|
|
18879
|
+
"text-4xl font-bold sm:text-5xl md:text-6xl text-balance text-shadow",
|
|
18880
|
+
headingClassName
|
|
18881
|
+
),
|
|
18882
|
+
children: heading
|
|
18883
|
+
}
|
|
18884
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
18885
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
18886
|
+
"p",
|
|
18887
|
+
{
|
|
18888
|
+
className: cn(
|
|
18889
|
+
"text-xl text-balance text-shadow",
|
|
18890
|
+
descriptionClassName
|
|
18891
|
+
),
|
|
18892
|
+
children: description
|
|
18893
|
+
}
|
|
18894
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
18895
|
+
] }),
|
|
18896
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
|
|
18897
|
+
"div",
|
|
18898
|
+
{
|
|
18899
|
+
className: cn(
|
|
18900
|
+
"flex flex-col justify-center gap-4 sm:flex-row",
|
|
18901
|
+
actionsClassName
|
|
18902
|
+
),
|
|
18903
|
+
children: renderActions()
|
|
18904
|
+
}
|
|
18905
|
+
)
|
|
18906
|
+
] })
|
|
18907
|
+
}
|
|
18908
|
+
)
|
|
18877
18909
|
]
|
|
18878
18910
|
}
|
|
18879
18911
|
);
|
|
@@ -19177,7 +19209,7 @@ function CarouselPortfolioHero({
|
|
|
19177
19209
|
actionsSlot,
|
|
19178
19210
|
autoPlayInterval = 5e3,
|
|
19179
19211
|
className,
|
|
19180
|
-
containerClassName,
|
|
19212
|
+
containerClassName = "mx-auto w-full p-0 px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-full flex flex-col justify-center",
|
|
19181
19213
|
contentClassName,
|
|
19182
19214
|
tagClassName,
|
|
19183
19215
|
titleClassName,
|
|
@@ -19193,23 +19225,45 @@ function CarouselPortfolioHero({
|
|
|
19193
19225
|
slideMediaBrightness = "50"
|
|
19194
19226
|
}) {
|
|
19195
19227
|
const [currentIndex, setCurrentIndex] = React52.useState(0);
|
|
19228
|
+
const intervalRef = React52.useRef(null);
|
|
19229
|
+
const resetInterval = React52.useCallback(() => {
|
|
19230
|
+
if (intervalRef.current) {
|
|
19231
|
+
clearInterval(intervalRef.current);
|
|
19232
|
+
}
|
|
19233
|
+
intervalRef.current = setInterval(() => {
|
|
19234
|
+
setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
|
|
19235
|
+
}, autoPlayInterval);
|
|
19236
|
+
}, [autoPlayInterval, slides?.length]);
|
|
19196
19237
|
const goToNext = React52.useCallback(() => {
|
|
19197
19238
|
setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
|
|
19198
|
-
|
|
19239
|
+
resetInterval();
|
|
19240
|
+
}, [slides?.length, resetInterval]);
|
|
19199
19241
|
const goToPrev = React52.useCallback(() => {
|
|
19200
19242
|
setCurrentIndex(
|
|
19201
19243
|
(prevIndex) => (prevIndex - 1 + (slides?.length ?? 1)) % (slides?.length ?? 1)
|
|
19202
19244
|
);
|
|
19203
|
-
|
|
19245
|
+
resetInterval();
|
|
19246
|
+
}, [slides?.length, resetInterval]);
|
|
19204
19247
|
React52.useEffect(() => {
|
|
19205
|
-
|
|
19206
|
-
return () =>
|
|
19207
|
-
|
|
19248
|
+
resetInterval();
|
|
19249
|
+
return () => {
|
|
19250
|
+
if (intervalRef.current) {
|
|
19251
|
+
clearInterval(intervalRef.current);
|
|
19252
|
+
}
|
|
19253
|
+
};
|
|
19254
|
+
}, [resetInterval]);
|
|
19208
19255
|
const renderActions = () => {
|
|
19209
19256
|
if (actionsSlot) return actionsSlot;
|
|
19210
19257
|
if (!actions || actions.length === 0) return null;
|
|
19211
19258
|
return actions.map((action, index) => {
|
|
19212
|
-
const {
|
|
19259
|
+
const {
|
|
19260
|
+
label,
|
|
19261
|
+
icon,
|
|
19262
|
+
iconAfter,
|
|
19263
|
+
children,
|
|
19264
|
+
className: actionClassName,
|
|
19265
|
+
...pressableProps
|
|
19266
|
+
} = action;
|
|
19213
19267
|
return /* @__PURE__ */ jsx(
|
|
19214
19268
|
Pressable,
|
|
19215
19269
|
{
|
|
@@ -19235,6 +19289,7 @@ function CarouselPortfolioHero({
|
|
|
19235
19289
|
className: cn("relative h-screen w-full overflow-hidden", className),
|
|
19236
19290
|
pattern,
|
|
19237
19291
|
patternOpacity,
|
|
19292
|
+
containerClassName,
|
|
19238
19293
|
children: [
|
|
19239
19294
|
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsx(
|
|
19240
19295
|
"div",
|
|
@@ -19260,43 +19315,99 @@ function CarouselPortfolioHero({
|
|
|
19260
19315
|
},
|
|
19261
19316
|
slide.id
|
|
19262
19317
|
)),
|
|
19263
|
-
/* @__PURE__ */ jsx(
|
|
19264
|
-
|
|
19265
|
-
|
|
19266
|
-
|
|
19267
|
-
|
|
19268
|
-
|
|
19269
|
-
/* @__PURE__ */ jsxs("div", { className: cn("
|
|
19270
|
-
/* @__PURE__ */ jsx(
|
|
19271
|
-
|
|
19318
|
+
/* @__PURE__ */ jsx(
|
|
19319
|
+
"div",
|
|
19320
|
+
{
|
|
19321
|
+
className: cn(
|
|
19322
|
+
"relative z-10 flex h-full w-full flex-col justify-end px-6 pb-16 text-white md:px-8 lg:px-12"
|
|
19323
|
+
),
|
|
19324
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: cn("max-w-4xl", contentClassName), children: [
|
|
19325
|
+
currentSlide?.tag && /* @__PURE__ */ jsx("div", { className: "mb-4", children: typeof currentSlide.tag === "string" ? /* @__PURE__ */ jsx(
|
|
19326
|
+
"span",
|
|
19272
19327
|
{
|
|
19273
|
-
|
|
19274
|
-
|
|
19275
|
-
|
|
19276
|
-
|
|
19277
|
-
|
|
19278
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
|
|
19328
|
+
className: cn(
|
|
19329
|
+
"inline-block rounded-full bg-primary px-3 py-1 text-sm font-medium",
|
|
19330
|
+
tagClassName
|
|
19331
|
+
),
|
|
19332
|
+
children: currentSlide.tag
|
|
19279
19333
|
}
|
|
19280
|
-
),
|
|
19281
|
-
/* @__PURE__ */ jsx(
|
|
19282
|
-
|
|
19334
|
+
) : /* @__PURE__ */ jsx("div", { className: tagClassName, children: currentSlide.tag }) }),
|
|
19335
|
+
currentSlide?.title && (typeof currentSlide.title === "string" ? /* @__PURE__ */ jsx(
|
|
19336
|
+
"h1",
|
|
19283
19337
|
{
|
|
19284
|
-
|
|
19285
|
-
|
|
19286
|
-
|
|
19287
|
-
|
|
19288
|
-
|
|
19289
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
|
|
19338
|
+
className: cn(
|
|
19339
|
+
"text-4xl font-bold sm:text-5xl md:text-6xl text-balance text-shadow",
|
|
19340
|
+
titleClassName
|
|
19341
|
+
),
|
|
19342
|
+
children: currentSlide.title
|
|
19290
19343
|
}
|
|
19291
|
-
),
|
|
19292
|
-
|
|
19293
|
-
|
|
19294
|
-
|
|
19295
|
-
|
|
19296
|
-
|
|
19297
|
-
|
|
19298
|
-
|
|
19299
|
-
|
|
19344
|
+
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: currentSlide.title })),
|
|
19345
|
+
currentSlide?.description && (typeof currentSlide.description === "string" ? /* @__PURE__ */ jsx(
|
|
19346
|
+
"p",
|
|
19347
|
+
{
|
|
19348
|
+
className: cn(
|
|
19349
|
+
"mt-4 text-lg text-white/80 sm:text-xl md:max-w-2xl text-balance text-shadow",
|
|
19350
|
+
descriptionClassName
|
|
19351
|
+
),
|
|
19352
|
+
children: currentSlide.description
|
|
19353
|
+
}
|
|
19354
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: currentSlide.description })),
|
|
19355
|
+
/* @__PURE__ */ jsxs(
|
|
19356
|
+
"div",
|
|
19357
|
+
{
|
|
19358
|
+
className: cn("mt-8 flex items-center gap-4", actionsClassName),
|
|
19359
|
+
children: [
|
|
19360
|
+
renderActions(),
|
|
19361
|
+
/* @__PURE__ */ jsxs(
|
|
19362
|
+
"div",
|
|
19363
|
+
{
|
|
19364
|
+
className: cn(
|
|
19365
|
+
"ml-auto flex items-center gap-2",
|
|
19366
|
+
navigationClassName
|
|
19367
|
+
),
|
|
19368
|
+
children: [
|
|
19369
|
+
/* @__PURE__ */ jsx(
|
|
19370
|
+
Pressable,
|
|
19371
|
+
{
|
|
19372
|
+
variant: "outline",
|
|
19373
|
+
size: "icon",
|
|
19374
|
+
className: "rounded-full border-white/40 bg-black/30 text-white hover:bg-black/50 hover:text-white",
|
|
19375
|
+
onClick: goToPrev,
|
|
19376
|
+
asButton: true,
|
|
19377
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
|
|
19378
|
+
}
|
|
19379
|
+
),
|
|
19380
|
+
/* @__PURE__ */ jsx(
|
|
19381
|
+
Pressable,
|
|
19382
|
+
{
|
|
19383
|
+
variant: "outline",
|
|
19384
|
+
size: "icon",
|
|
19385
|
+
className: "rounded-full border-white/40 bg-black/30 text-white hover:bg-black/50 hover:text-white",
|
|
19386
|
+
onClick: goToNext,
|
|
19387
|
+
asButton: true,
|
|
19388
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
|
|
19389
|
+
}
|
|
19390
|
+
),
|
|
19391
|
+
/* @__PURE__ */ jsxs(
|
|
19392
|
+
"div",
|
|
19393
|
+
{
|
|
19394
|
+
className: cn("ml-3 text-sm text-white/80", counterClassName),
|
|
19395
|
+
children: [
|
|
19396
|
+
currentIndex + 1,
|
|
19397
|
+
" / ",
|
|
19398
|
+
slides?.length ?? 0
|
|
19399
|
+
]
|
|
19400
|
+
}
|
|
19401
|
+
)
|
|
19402
|
+
]
|
|
19403
|
+
}
|
|
19404
|
+
)
|
|
19405
|
+
]
|
|
19406
|
+
}
|
|
19407
|
+
)
|
|
19408
|
+
] }) })
|
|
19409
|
+
}
|
|
19410
|
+
)
|
|
19300
19411
|
]
|
|
19301
19412
|
}
|
|
19302
19413
|
);
|
|
@@ -19320,8 +19431,8 @@ function CarouselProductFeatureShowcase({
|
|
|
19320
19431
|
actionsClassName,
|
|
19321
19432
|
indicatorsClassName,
|
|
19322
19433
|
optixFlowConfig,
|
|
19323
|
-
background
|
|
19324
|
-
spacing
|
|
19434
|
+
background,
|
|
19435
|
+
spacing,
|
|
19325
19436
|
pattern,
|
|
19326
19437
|
patternOpacity
|
|
19327
19438
|
}) {
|
|
@@ -19365,7 +19476,14 @@ function CarouselProductFeatureShowcase({
|
|
|
19365
19476
|
if (actionsSlot) return actionsSlot;
|
|
19366
19477
|
if (!actions || actions.length === 0) return null;
|
|
19367
19478
|
return /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap gap-3", children: actions.map((action, index) => {
|
|
19368
|
-
const {
|
|
19479
|
+
const {
|
|
19480
|
+
label,
|
|
19481
|
+
icon,
|
|
19482
|
+
iconAfter,
|
|
19483
|
+
children,
|
|
19484
|
+
className: actionClassName,
|
|
19485
|
+
...pressableProps
|
|
19486
|
+
} = action;
|
|
19369
19487
|
return /* @__PURE__ */ jsx(
|
|
19370
19488
|
Pressable,
|
|
19371
19489
|
{
|
|
@@ -19390,105 +19508,151 @@ function CarouselProductFeatureShowcase({
|
|
|
19390
19508
|
className: cn(className),
|
|
19391
19509
|
pattern,
|
|
19392
19510
|
patternOpacity,
|
|
19393
|
-
children: /* @__PURE__ */ jsxs("div", { className: cn("
|
|
19511
|
+
children: /* @__PURE__ */ jsxs("div", { className: cn("relative", containerClassName), children: [
|
|
19394
19512
|
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
19395
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
19396
|
-
|
|
19397
|
-
|
|
19398
|
-
|
|
19399
|
-
|
|
19400
|
-
|
|
19401
|
-
motion.div,
|
|
19402
|
-
{
|
|
19403
|
-
custom: direction,
|
|
19404
|
-
variants: slideVariants2,
|
|
19405
|
-
initial: "enter",
|
|
19406
|
-
animate: "center",
|
|
19407
|
-
exit: "exit",
|
|
19408
|
-
transition: { duration: 0.3, ease: "easeInOut" },
|
|
19409
|
-
className: cn("absolute inset-0", activeFeature?.imageClassName),
|
|
19410
|
-
children: /* @__PURE__ */ jsx(
|
|
19411
|
-
Img,
|
|
19412
|
-
{
|
|
19413
|
-
src: currentImage,
|
|
19414
|
-
alt: typeof activeFeature?.title === "string" ? activeFeature.title : `Feature ${activeIndex + 1}`,
|
|
19415
|
-
className: "h-full w-full object-cover",
|
|
19416
|
-
optixFlowConfig
|
|
19417
|
-
}
|
|
19418
|
-
)
|
|
19419
|
-
},
|
|
19420
|
-
`${activeIndex}-${activeColorIndex}`
|
|
19421
|
-
) }),
|
|
19422
|
-
/* @__PURE__ */ jsxs("div", { className: cn("absolute bottom-4 right-4 flex gap-2", navigationClassName), children: [
|
|
19423
|
-
/* @__PURE__ */ jsx(
|
|
19424
|
-
Pressable,
|
|
19425
|
-
{
|
|
19426
|
-
onClick: goToPrev,
|
|
19427
|
-
asButton: true,
|
|
19428
|
-
variant: "outline",
|
|
19429
|
-
size: "icon",
|
|
19430
|
-
className: "flex h-10 w-10 items-center justify-center rounded-full border-border bg-background/90 text-foreground backdrop-blur-sm hover:bg-background",
|
|
19431
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
|
|
19432
|
-
}
|
|
19513
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
19514
|
+
"h2",
|
|
19515
|
+
{
|
|
19516
|
+
className: cn(
|
|
19517
|
+
"text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl",
|
|
19518
|
+
headingClassName
|
|
19433
19519
|
),
|
|
19434
|
-
|
|
19435
|
-
|
|
19520
|
+
children: heading
|
|
19521
|
+
}
|
|
19522
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
19523
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
|
|
19524
|
+
"p",
|
|
19525
|
+
{
|
|
19526
|
+
className: cn(
|
|
19527
|
+
"mt-4 text-lg text-muted-foreground",
|
|
19528
|
+
subheadingClassName
|
|
19529
|
+
),
|
|
19530
|
+
children: subheading
|
|
19531
|
+
}
|
|
19532
|
+
) : /* @__PURE__ */ jsx("div", { className: subheadingClassName, children: subheading }))
|
|
19533
|
+
] }),
|
|
19534
|
+
featuresSlot ? /* @__PURE__ */ jsx("div", { className: contentClassName, children: featuresSlot }) : /* @__PURE__ */ jsxs(
|
|
19535
|
+
"div",
|
|
19536
|
+
{
|
|
19537
|
+
className: cn(
|
|
19538
|
+
"grid gap-8 lg:grid-cols-2 lg:gap-12",
|
|
19539
|
+
contentClassName
|
|
19540
|
+
),
|
|
19541
|
+
children: [
|
|
19542
|
+
/* @__PURE__ */ jsxs(
|
|
19543
|
+
"div",
|
|
19436
19544
|
{
|
|
19437
|
-
|
|
19438
|
-
|
|
19439
|
-
|
|
19440
|
-
|
|
19441
|
-
|
|
19442
|
-
|
|
19443
|
-
|
|
19444
|
-
)
|
|
19445
|
-
] })
|
|
19446
|
-
] }),
|
|
19447
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center", children: [
|
|
19448
|
-
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
19449
|
-
motion.div,
|
|
19450
|
-
{
|
|
19451
|
-
initial: { opacity: 0, y: 20 },
|
|
19452
|
-
animate: { opacity: 1, y: 0 },
|
|
19453
|
-
exit: { opacity: 0, y: -20 },
|
|
19454
|
-
transition: { duration: 0.3 },
|
|
19455
|
-
children: [
|
|
19456
|
-
activeFeature?.title && (typeof activeFeature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-semibold md:text-3xl", children: activeFeature.title }) : /* @__PURE__ */ jsx("div", { children: activeFeature.title })),
|
|
19457
|
-
activeFeature?.description && (typeof activeFeature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: activeFeature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: activeFeature.description })),
|
|
19458
|
-
activeFeature?.colors && activeFeature.colors.length > 0 && /* @__PURE__ */ jsxs("div", { className: cn("mt-6", colorSelectorClassName), children: [
|
|
19459
|
-
/* @__PURE__ */ jsx("p", { className: "mb-3 text-sm font-medium", children: "Available Colors" }),
|
|
19460
|
-
/* @__PURE__ */ jsx("div", { className: "flex gap-3", children: activeFeature.colors.map((color, index) => /* @__PURE__ */ jsx(
|
|
19461
|
-
"button",
|
|
19545
|
+
className: cn(
|
|
19546
|
+
"relative aspect-square overflow-hidden rounded-2xl bg-muted lg:aspect-4/3 shadow-lg",
|
|
19547
|
+
imageClassName
|
|
19548
|
+
),
|
|
19549
|
+
children: [
|
|
19550
|
+
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsx(
|
|
19551
|
+
motion.div,
|
|
19462
19552
|
{
|
|
19463
|
-
|
|
19553
|
+
custom: direction,
|
|
19554
|
+
variants: slideVariants2,
|
|
19555
|
+
initial: "enter",
|
|
19556
|
+
animate: "center",
|
|
19557
|
+
exit: "exit",
|
|
19558
|
+
transition: { duration: 0.3, ease: "easeInOut" },
|
|
19464
19559
|
className: cn(
|
|
19465
|
-
"
|
|
19466
|
-
|
|
19560
|
+
"absolute inset-0",
|
|
19561
|
+
activeFeature?.imageClassName
|
|
19467
19562
|
),
|
|
19468
|
-
|
|
19469
|
-
|
|
19563
|
+
children: /* @__PURE__ */ jsx(
|
|
19564
|
+
Img,
|
|
19565
|
+
{
|
|
19566
|
+
src: currentImage,
|
|
19567
|
+
alt: typeof activeFeature?.title === "string" ? activeFeature.title : `Feature ${activeIndex + 1}`,
|
|
19568
|
+
className: "h-full w-full object-cover",
|
|
19569
|
+
optixFlowConfig
|
|
19570
|
+
}
|
|
19571
|
+
)
|
|
19470
19572
|
},
|
|
19471
|
-
|
|
19472
|
-
)
|
|
19473
|
-
|
|
19474
|
-
|
|
19475
|
-
|
|
19476
|
-
|
|
19477
|
-
|
|
19478
|
-
|
|
19479
|
-
|
|
19480
|
-
|
|
19481
|
-
|
|
19482
|
-
|
|
19483
|
-
|
|
19484
|
-
|
|
19485
|
-
|
|
19486
|
-
|
|
19487
|
-
|
|
19488
|
-
|
|
19489
|
-
|
|
19490
|
-
|
|
19491
|
-
|
|
19573
|
+
`${activeIndex}-${activeColorIndex}`
|
|
19574
|
+
) }),
|
|
19575
|
+
/* @__PURE__ */ jsxs(
|
|
19576
|
+
"div",
|
|
19577
|
+
{
|
|
19578
|
+
className: cn(
|
|
19579
|
+
"absolute bottom-4 right-4 flex gap-2",
|
|
19580
|
+
navigationClassName
|
|
19581
|
+
),
|
|
19582
|
+
children: [
|
|
19583
|
+
/* @__PURE__ */ jsx(
|
|
19584
|
+
Pressable,
|
|
19585
|
+
{
|
|
19586
|
+
onClick: goToPrev,
|
|
19587
|
+
asButton: true,
|
|
19588
|
+
variant: "outline",
|
|
19589
|
+
size: "icon",
|
|
19590
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 20 })
|
|
19591
|
+
}
|
|
19592
|
+
),
|
|
19593
|
+
/* @__PURE__ */ jsx(
|
|
19594
|
+
Pressable,
|
|
19595
|
+
{
|
|
19596
|
+
onClick: goToNext,
|
|
19597
|
+
asButton: true,
|
|
19598
|
+
variant: "outline",
|
|
19599
|
+
size: "icon",
|
|
19600
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
|
|
19601
|
+
}
|
|
19602
|
+
)
|
|
19603
|
+
]
|
|
19604
|
+
}
|
|
19605
|
+
)
|
|
19606
|
+
]
|
|
19607
|
+
}
|
|
19608
|
+
),
|
|
19609
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center", children: [
|
|
19610
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
19611
|
+
motion.div,
|
|
19612
|
+
{
|
|
19613
|
+
initial: { opacity: 0, y: 20 },
|
|
19614
|
+
animate: { opacity: 1, y: 0 },
|
|
19615
|
+
exit: { opacity: 0, y: -20 },
|
|
19616
|
+
transition: { duration: 0.3 },
|
|
19617
|
+
children: [
|
|
19618
|
+
activeFeature?.title && (typeof activeFeature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-semibold md:text-3xl", children: activeFeature.title }) : /* @__PURE__ */ jsx("div", { children: activeFeature.title })),
|
|
19619
|
+
activeFeature?.description && (typeof activeFeature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: activeFeature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: activeFeature.description })),
|
|
19620
|
+
activeFeature?.colors && activeFeature.colors.length > 0 && /* @__PURE__ */ jsxs("div", { className: cn("mt-6", colorSelectorClassName), children: [
|
|
19621
|
+
/* @__PURE__ */ jsx("p", { className: "mb-3 text-sm font-medium", children: "Available Colors" }),
|
|
19622
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-3", children: activeFeature.colors.map((color, index) => /* @__PURE__ */ jsx(
|
|
19623
|
+
"button",
|
|
19624
|
+
{
|
|
19625
|
+
onClick: () => setActiveColorIndex(index),
|
|
19626
|
+
className: cn(
|
|
19627
|
+
"h-8 w-8 rounded-full border-2 transition-all",
|
|
19628
|
+
activeColorIndex === index ? "border-primary ring-2 ring-primary ring-offset-2" : "border-transparent hover:border-muted-foreground"
|
|
19629
|
+
),
|
|
19630
|
+
style: { backgroundColor: color.value },
|
|
19631
|
+
title: color.name
|
|
19632
|
+
},
|
|
19633
|
+
color.name
|
|
19634
|
+
)) })
|
|
19635
|
+
] }),
|
|
19636
|
+
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: renderActions() })
|
|
19637
|
+
]
|
|
19638
|
+
},
|
|
19639
|
+
activeIndex
|
|
19640
|
+
) }),
|
|
19641
|
+
/* @__PURE__ */ jsx("div", { className: cn("mt-8 flex gap-2", indicatorsClassName), children: features?.map((_, index) => /* @__PURE__ */ jsx(
|
|
19642
|
+
"button",
|
|
19643
|
+
{
|
|
19644
|
+
onClick: () => goToSlide(index),
|
|
19645
|
+
className: cn(
|
|
19646
|
+
"h-2 rounded-full transition-all",
|
|
19647
|
+
activeIndex === index ? "w-8 bg-primary" : "w-2 bg-muted-foreground/30 hover:bg-muted-foreground/50"
|
|
19648
|
+
)
|
|
19649
|
+
},
|
|
19650
|
+
index
|
|
19651
|
+
)) })
|
|
19652
|
+
] })
|
|
19653
|
+
]
|
|
19654
|
+
}
|
|
19655
|
+
)
|
|
19492
19656
|
] })
|
|
19493
19657
|
}
|
|
19494
19658
|
);
|
|
@@ -19544,12 +19708,16 @@ function SliderBtn({
|
|
|
19544
19708
|
}
|
|
19545
19709
|
function SliderWrapper({ children, value, className }) {
|
|
19546
19710
|
const { active } = useProgressSliderContext();
|
|
19547
|
-
return /* @__PURE__ */ jsx(AnimatePresence, { mode: "
|
|
19711
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: active === value && /* @__PURE__ */ jsx(
|
|
19548
19712
|
motion.div,
|
|
19549
19713
|
{
|
|
19550
|
-
initial: { opacity: 0 },
|
|
19551
|
-
animate: { opacity: 1 },
|
|
19552
|
-
exit: { opacity: 0 },
|
|
19714
|
+
initial: { opacity: 0, scale: 0.98 },
|
|
19715
|
+
animate: { opacity: 1, scale: 1 },
|
|
19716
|
+
exit: { opacity: 0, scale: 0.98 },
|
|
19717
|
+
transition: {
|
|
19718
|
+
duration: 0.4,
|
|
19719
|
+
ease: [0.4, 0, 0.2, 1]
|
|
19720
|
+
},
|
|
19553
19721
|
className: cn("", className),
|
|
19554
19722
|
children
|
|
19555
19723
|
},
|
|
@@ -19660,12 +19828,12 @@ function CarouselProgressSlider({
|
|
|
19660
19828
|
pattern,
|
|
19661
19829
|
patternOpacity,
|
|
19662
19830
|
children: /* @__PURE__ */ jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19663
|
-
/* @__PURE__ */ jsxs("div", { className: cn("relative", imageClassName), children: [
|
|
19664
|
-
slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsx(
|
|
19831
|
+
/* @__PURE__ */ jsxs("div", { className: cn("relative min-h-[400px]", imageClassName), children: [
|
|
19832
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsx(
|
|
19665
19833
|
SliderWrapper,
|
|
19666
19834
|
{
|
|
19667
19835
|
value: slide.id,
|
|
19668
|
-
className: cn("", slide.className),
|
|
19836
|
+
className: cn("absolute inset-0", slide.className),
|
|
19669
19837
|
children: /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
|
|
19670
19838
|
Img,
|
|
19671
19839
|
{
|
|
@@ -19680,8 +19848,8 @@ function CarouselProgressSlider({
|
|
|
19680
19848
|
) })
|
|
19681
19849
|
},
|
|
19682
19850
|
slide.id
|
|
19683
|
-
)),
|
|
19684
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-center lg:justify-start", children: /* @__PURE__ */ jsx(
|
|
19851
|
+
)) }),
|
|
19852
|
+
/* @__PURE__ */ jsx("div", { className: "relative mt-4 flex justify-center lg:justify-start", children: /* @__PURE__ */ jsx(
|
|
19685
19853
|
Pressable,
|
|
19686
19854
|
{
|
|
19687
19855
|
onClick: togglePause,
|
|
@@ -19743,8 +19911,8 @@ function CarouselScrollingFeatureShowcase({
|
|
|
19743
19911
|
featuresClassName,
|
|
19744
19912
|
numberBadgeClassName,
|
|
19745
19913
|
optixFlowConfig,
|
|
19746
|
-
background
|
|
19747
|
-
spacing = "
|
|
19914
|
+
background,
|
|
19915
|
+
spacing = "md",
|
|
19748
19916
|
pattern,
|
|
19749
19917
|
patternOpacity
|
|
19750
19918
|
}) {
|
|
@@ -19794,62 +19962,113 @@ function CarouselScrollingFeatureShowcase({
|
|
|
19794
19962
|
patternOpacity,
|
|
19795
19963
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container mx-auto px-4", containerClassName), children: [
|
|
19796
19964
|
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
19797
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
19798
|
-
|
|
19799
|
-
] }),
|
|
19800
|
-
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2 lg:gap-12", contentClassName), children: [
|
|
19801
|
-
/* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsx("div", { className: cn("aspect-video overflow-hidden rounded-xl bg-muted", imageClassName), children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsx(
|
|
19802
|
-
motion.div,
|
|
19965
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
19966
|
+
"h2",
|
|
19803
19967
|
{
|
|
19804
|
-
|
|
19805
|
-
|
|
19806
|
-
|
|
19807
|
-
|
|
19808
|
-
|
|
19809
|
-
|
|
19810
|
-
|
|
19811
|
-
|
|
19812
|
-
|
|
19813
|
-
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
19814
|
-
className: cn("h-full w-full object-cover", activeFeatureData.imageClassName),
|
|
19815
|
-
optixFlowConfig
|
|
19816
|
-
}
|
|
19817
|
-
)
|
|
19818
|
-
},
|
|
19819
|
-
activeFeatureData.id
|
|
19820
|
-
) }) }) }) }),
|
|
19821
|
-
/* @__PURE__ */ jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxs(
|
|
19822
|
-
"div",
|
|
19968
|
+
className: cn(
|
|
19969
|
+
"text-3xl font-bold tracking-tight md:text-4xl",
|
|
19970
|
+
headingClassName
|
|
19971
|
+
),
|
|
19972
|
+
children: heading
|
|
19973
|
+
}
|
|
19974
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
19975
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
|
|
19976
|
+
"p",
|
|
19823
19977
|
{
|
|
19824
|
-
ref: setFeatureRef(feature.id),
|
|
19825
|
-
"data-feature-id": feature.id,
|
|
19826
19978
|
className: cn(
|
|
19827
|
-
"
|
|
19828
|
-
|
|
19829
|
-
feature.className
|
|
19979
|
+
"mt-4 text-lg text-muted-foreground",
|
|
19980
|
+
subheadingClassName
|
|
19830
19981
|
),
|
|
19831
|
-
children:
|
|
19832
|
-
|
|
19833
|
-
|
|
19834
|
-
|
|
19835
|
-
|
|
19836
|
-
|
|
19837
|
-
|
|
19838
|
-
|
|
19839
|
-
|
|
19840
|
-
|
|
19841
|
-
|
|
19842
|
-
|
|
19843
|
-
|
|
19844
|
-
|
|
19845
|
-
|
|
19846
|
-
|
|
19847
|
-
|
|
19848
|
-
|
|
19849
|
-
|
|
19850
|
-
|
|
19851
|
-
|
|
19852
|
-
|
|
19982
|
+
children: subheading
|
|
19983
|
+
}
|
|
19984
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subheadingClassName), children: subheading }))
|
|
19985
|
+
] }),
|
|
19986
|
+
/* @__PURE__ */ jsxs(
|
|
19987
|
+
"div",
|
|
19988
|
+
{
|
|
19989
|
+
className: cn(
|
|
19990
|
+
"grid gap-8 lg:grid-cols-2 lg:gap-12",
|
|
19991
|
+
contentClassName
|
|
19992
|
+
),
|
|
19993
|
+
children: [
|
|
19994
|
+
/* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsx(
|
|
19995
|
+
"div",
|
|
19996
|
+
{
|
|
19997
|
+
className: cn(
|
|
19998
|
+
"aspect-video overflow-hidden rounded-xl bg-muted",
|
|
19999
|
+
imageClassName
|
|
20000
|
+
),
|
|
20001
|
+
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsx(
|
|
20002
|
+
motion.div,
|
|
20003
|
+
{
|
|
20004
|
+
initial: { opacity: 0 },
|
|
20005
|
+
animate: { opacity: 1 },
|
|
20006
|
+
exit: { opacity: 0 },
|
|
20007
|
+
transition: { duration: 0.3 },
|
|
20008
|
+
className: "h-full w-full",
|
|
20009
|
+
children: /* @__PURE__ */ jsx(
|
|
20010
|
+
Img,
|
|
20011
|
+
{
|
|
20012
|
+
src: activeFeatureData.image,
|
|
20013
|
+
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
20014
|
+
className: cn(
|
|
20015
|
+
"h-full w-full object-cover",
|
|
20016
|
+
activeFeatureData.imageClassName
|
|
20017
|
+
),
|
|
20018
|
+
optixFlowConfig
|
|
20019
|
+
}
|
|
20020
|
+
)
|
|
20021
|
+
},
|
|
20022
|
+
activeFeatureData.id
|
|
20023
|
+
) })
|
|
20024
|
+
}
|
|
20025
|
+
) }) }),
|
|
20026
|
+
/* @__PURE__ */ jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxs(
|
|
20027
|
+
"div",
|
|
20028
|
+
{
|
|
20029
|
+
ref: setFeatureRef(feature.id),
|
|
20030
|
+
"data-feature-id": feature.id,
|
|
20031
|
+
className: cn(
|
|
20032
|
+
"scroll-mt-24 transition-opacity duration-300",
|
|
20033
|
+
activeFeature === feature.id ? "opacity-100" : "opacity-50",
|
|
20034
|
+
feature.className
|
|
20035
|
+
),
|
|
20036
|
+
children: [
|
|
20037
|
+
/* @__PURE__ */ jsx("div", { className: "mb-6 lg:hidden", children: /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx(
|
|
20038
|
+
Img,
|
|
20039
|
+
{
|
|
20040
|
+
src: feature.image,
|
|
20041
|
+
alt: typeof feature.title === "string" ? feature.title : `Feature ${feature.id}`,
|
|
20042
|
+
className: cn(
|
|
20043
|
+
"h-full w-full object-cover",
|
|
20044
|
+
feature.imageClassName
|
|
20045
|
+
),
|
|
20046
|
+
optixFlowConfig
|
|
20047
|
+
}
|
|
20048
|
+
) }) }),
|
|
20049
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
|
|
20050
|
+
/* @__PURE__ */ jsx(
|
|
20051
|
+
"div",
|
|
20052
|
+
{
|
|
20053
|
+
className: cn(
|
|
20054
|
+
"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground",
|
|
20055
|
+
numberBadgeClassName
|
|
20056
|
+
),
|
|
20057
|
+
children: index + 1
|
|
20058
|
+
}
|
|
20059
|
+
),
|
|
20060
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
20061
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-semibold", children: feature.title }) : /* @__PURE__ */ jsx("div", { children: feature.title })),
|
|
20062
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: feature.description }))
|
|
20063
|
+
] })
|
|
20064
|
+
] })
|
|
20065
|
+
]
|
|
20066
|
+
},
|
|
20067
|
+
feature.id
|
|
20068
|
+
)) })
|
|
20069
|
+
]
|
|
20070
|
+
}
|
|
20071
|
+
)
|
|
19853
20072
|
] })
|
|
19854
20073
|
}
|
|
19855
20074
|
);
|
|
@@ -20050,17 +20269,28 @@ function FeatureShowcase({
|
|
|
20050
20269
|
contentClassName,
|
|
20051
20270
|
mediaClassName,
|
|
20052
20271
|
arrowClassName,
|
|
20053
|
-
equalizeOnMobile
|
|
20054
|
-
stretchMediaOnMobile
|
|
20272
|
+
equalizeOnMobile,
|
|
20273
|
+
stretchMediaOnMobile,
|
|
20274
|
+
background,
|
|
20275
|
+
spacing,
|
|
20276
|
+
pattern,
|
|
20277
|
+
patternOpacity,
|
|
20278
|
+
patternClassName
|
|
20055
20279
|
}) {
|
|
20056
|
-
const baseArrowClassName =
|
|
20280
|
+
const baseArrowClassName = useMemo$1(
|
|
20281
|
+
() => "bottom-4 top-auto size-12 translate-y-0 rounded-full border border-current bg-transparent text-current shadow-sm focus:ring-current focus:ring-offset-2 focus:ring-offset-transparent hover:bg-current/10 md:bottom-6",
|
|
20282
|
+
[]
|
|
20283
|
+
);
|
|
20057
20284
|
const [mobileSlideHeight, setMobileSlideHeight] = useState(
|
|
20058
20285
|
null
|
|
20059
20286
|
);
|
|
20060
20287
|
const slideRefs = useRef([]);
|
|
20061
|
-
const mediaWrapperClassName =
|
|
20288
|
+
const mediaWrapperClassName = useMemo$1(
|
|
20289
|
+
() => equalizeOnMobile && stretchMediaOnMobile ? "flex-1 min-h-0 md:flex-none" : "",
|
|
20290
|
+
[equalizeOnMobile, stretchMediaOnMobile]
|
|
20291
|
+
);
|
|
20062
20292
|
useEffect(() => {
|
|
20063
|
-
if (!equalizeOnMobile) {
|
|
20293
|
+
if (!equalizeOnMobile || !items || items.length === 0) {
|
|
20064
20294
|
setMobileSlideHeight(null);
|
|
20065
20295
|
return;
|
|
20066
20296
|
}
|
|
@@ -20092,10 +20322,10 @@ function FeatureShowcase({
|
|
|
20092
20322
|
window.removeEventListener("resize", updateHeights);
|
|
20093
20323
|
resizeObserver?.disconnect();
|
|
20094
20324
|
};
|
|
20095
|
-
}, [equalizeOnMobile, items
|
|
20096
|
-
|
|
20097
|
-
|
|
20098
|
-
/* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, children: [
|
|
20325
|
+
}, [equalizeOnMobile, items]);
|
|
20326
|
+
const carouselContent = useMemo$1(() => {
|
|
20327
|
+
if (!items || items.length === 0) return null;
|
|
20328
|
+
return /* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, children: [
|
|
20099
20329
|
/* @__PURE__ */ jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsxs(
|
|
20100
20330
|
"div",
|
|
20101
20331
|
{
|
|
@@ -20108,8 +20338,8 @@ function FeatureShowcase({
|
|
|
20108
20338
|
slideClassName
|
|
20109
20339
|
),
|
|
20110
20340
|
children: [
|
|
20111
|
-
/* @__PURE__ */ jsx("div", { className: cn("w-full", contentClassName), children: item.content }),
|
|
20112
|
-
/* @__PURE__ */ jsx(
|
|
20341
|
+
item.content && /* @__PURE__ */ jsx("div", { className: cn("w-full", contentClassName), children: item.content }),
|
|
20342
|
+
item.mediaComponent && /* @__PURE__ */ jsx(
|
|
20113
20343
|
"div",
|
|
20114
20344
|
{
|
|
20115
20345
|
className: cn(
|
|
@@ -20135,8 +20365,23 @@ function FeatureShowcase({
|
|
|
20135
20365
|
className: cn(baseArrowClassName, "right-4 md:right-6", arrowClassName)
|
|
20136
20366
|
}
|
|
20137
20367
|
)
|
|
20138
|
-
] })
|
|
20139
|
-
]
|
|
20368
|
+
] });
|
|
20369
|
+
}, [items, carouselClassName, equalizeOnMobile, mobileSlideHeight, slideClassName, contentClassName, mediaWrapperClassName, mediaClassName, baseArrowClassName, arrowClassName]);
|
|
20370
|
+
return /* @__PURE__ */ jsxs(
|
|
20371
|
+
Section,
|
|
20372
|
+
{
|
|
20373
|
+
background,
|
|
20374
|
+
spacing,
|
|
20375
|
+
pattern,
|
|
20376
|
+
patternOpacity,
|
|
20377
|
+
patternClassName,
|
|
20378
|
+
className,
|
|
20379
|
+
children: [
|
|
20380
|
+
children,
|
|
20381
|
+
carouselContent
|
|
20382
|
+
]
|
|
20383
|
+
}
|
|
20384
|
+
);
|
|
20140
20385
|
}
|
|
20141
20386
|
function FeatureSplitImage({
|
|
20142
20387
|
title,
|
|
@@ -20165,40 +20410,19 @@ function FeatureSplitImage({
|
|
|
20165
20410
|
if (actionsSlot) return actionsSlot;
|
|
20166
20411
|
if (!actions || actions.length === 0) return null;
|
|
20167
20412
|
return actions.map((action, index) => {
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20176
|
-
|
|
20177
|
-
|
|
20178
|
-
|
|
20179
|
-
|
|
20180
|
-
|
|
20181
|
-
index
|
|
20182
|
-
);
|
|
20183
|
-
}
|
|
20184
|
-
return /* @__PURE__ */ jsxs(
|
|
20185
|
-
Pressable,
|
|
20186
|
-
{
|
|
20187
|
-
href: action.href,
|
|
20188
|
-
onClick: action.onClick,
|
|
20189
|
-
variant: action.variant,
|
|
20190
|
-
size: action.size,
|
|
20191
|
-
className: action.className,
|
|
20192
|
-
"aria-label": action["aria-label"],
|
|
20193
|
-
asButton: true,
|
|
20194
|
-
children: [
|
|
20195
|
-
action.icon,
|
|
20196
|
-
action.label,
|
|
20197
|
-
action.iconAfter
|
|
20198
|
-
]
|
|
20199
|
-
},
|
|
20200
|
-
index
|
|
20201
|
-
);
|
|
20413
|
+
const {
|
|
20414
|
+
label,
|
|
20415
|
+
icon,
|
|
20416
|
+
iconAfter,
|
|
20417
|
+
children,
|
|
20418
|
+
className: actionClassName,
|
|
20419
|
+
...pressableProps
|
|
20420
|
+
} = action;
|
|
20421
|
+
return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
20422
|
+
icon,
|
|
20423
|
+
label,
|
|
20424
|
+
iconAfter
|
|
20425
|
+
] }) }, index);
|
|
20202
20426
|
});
|
|
20203
20427
|
}, [actionsSlot, actions]);
|
|
20204
20428
|
const imageContent = useMemo$1(() => {
|
|
@@ -20208,7 +20432,7 @@ function FeatureSplitImage({
|
|
|
20208
20432
|
Img,
|
|
20209
20433
|
{
|
|
20210
20434
|
src: imageSrc,
|
|
20211
|
-
alt: imageAlt || "
|
|
20435
|
+
alt: imageAlt || "",
|
|
20212
20436
|
className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
|
|
20213
20437
|
loading: "lazy",
|
|
20214
20438
|
optixFlowConfig
|
|
@@ -20229,7 +20453,7 @@ function FeatureSplitImage({
|
|
|
20229
20453
|
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
|
|
20230
20454
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
|
|
20231
20455
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
|
|
20232
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
|
|
20456
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
|
|
20233
20457
|
] }),
|
|
20234
20458
|
imageContent
|
|
20235
20459
|
] })
|
|
@@ -20263,40 +20487,19 @@ function FeatureSplitImageReverse({
|
|
|
20263
20487
|
if (actionsSlot) return actionsSlot;
|
|
20264
20488
|
if (!actions || actions.length === 0) return null;
|
|
20265
20489
|
return actions.map((action, index) => {
|
|
20266
|
-
|
|
20267
|
-
|
|
20268
|
-
|
|
20269
|
-
|
|
20270
|
-
|
|
20271
|
-
|
|
20272
|
-
|
|
20273
|
-
|
|
20274
|
-
|
|
20275
|
-
|
|
20276
|
-
|
|
20277
|
-
|
|
20278
|
-
|
|
20279
|
-
index
|
|
20280
|
-
);
|
|
20281
|
-
}
|
|
20282
|
-
return /* @__PURE__ */ jsxs(
|
|
20283
|
-
Pressable,
|
|
20284
|
-
{
|
|
20285
|
-
href: action.href,
|
|
20286
|
-
onClick: action.onClick,
|
|
20287
|
-
variant: action.variant,
|
|
20288
|
-
size: action.size,
|
|
20289
|
-
className: action.className,
|
|
20290
|
-
"aria-label": action["aria-label"],
|
|
20291
|
-
asButton: true,
|
|
20292
|
-
children: [
|
|
20293
|
-
action.icon,
|
|
20294
|
-
action.label,
|
|
20295
|
-
action.iconAfter
|
|
20296
|
-
]
|
|
20297
|
-
},
|
|
20298
|
-
index
|
|
20299
|
-
);
|
|
20490
|
+
const {
|
|
20491
|
+
label,
|
|
20492
|
+
icon,
|
|
20493
|
+
iconAfter,
|
|
20494
|
+
children,
|
|
20495
|
+
className: actionClassName,
|
|
20496
|
+
...pressableProps
|
|
20497
|
+
} = action;
|
|
20498
|
+
return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
20499
|
+
icon,
|
|
20500
|
+
label,
|
|
20501
|
+
iconAfter
|
|
20502
|
+
] }) }, index);
|
|
20300
20503
|
});
|
|
20301
20504
|
}, [actionsSlot, actions]);
|
|
20302
20505
|
const imageContent = useMemo$1(() => {
|
|
@@ -20306,7 +20509,7 @@ function FeatureSplitImageReverse({
|
|
|
20306
20509
|
Img,
|
|
20307
20510
|
{
|
|
20308
20511
|
src: imageSrc,
|
|
20309
|
-
alt: imageAlt || "
|
|
20512
|
+
alt: imageAlt || "",
|
|
20310
20513
|
className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
|
|
20311
20514
|
loading: "lazy",
|
|
20312
20515
|
optixFlowConfig
|
|
@@ -20328,7 +20531,7 @@ function FeatureSplitImageReverse({
|
|
|
20328
20531
|
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
|
|
20329
20532
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
|
|
20330
20533
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
|
|
20331
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
|
|
20534
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
|
|
20332
20535
|
] })
|
|
20333
20536
|
] })
|
|
20334
20537
|
}
|
|
@@ -20351,39 +20554,37 @@ function FeatureIconGridBordered({
|
|
|
20351
20554
|
patternOpacity,
|
|
20352
20555
|
patternClassName
|
|
20353
20556
|
}) {
|
|
20557
|
+
const renderIcon = useCallback((feature) => {
|
|
20558
|
+
if (feature.icon) return feature.icon;
|
|
20559
|
+
if (feature.iconName) {
|
|
20560
|
+
return /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 20, className: "md:size-6" });
|
|
20561
|
+
}
|
|
20562
|
+
return null;
|
|
20563
|
+
}, []);
|
|
20354
20564
|
const featuresContent = useMemo$1(() => {
|
|
20355
20565
|
if (featuresSlot) return featuresSlot;
|
|
20356
20566
|
if (!features || features.length === 0) return null;
|
|
20357
|
-
return features.map((feature, index) =>
|
|
20358
|
-
|
|
20359
|
-
|
|
20360
|
-
|
|
20361
|
-
|
|
20362
|
-
|
|
20363
|
-
|
|
20364
|
-
|
|
20365
|
-
|
|
20366
|
-
|
|
20367
|
-
|
|
20368
|
-
|
|
20369
|
-
|
|
20370
|
-
|
|
20371
|
-
/* @__PURE__ */
|
|
20372
|
-
|
|
20373
|
-
|
|
20374
|
-
|
|
20375
|
-
|
|
20376
|
-
|
|
20377
|
-
|
|
20378
|
-
] })),
|
|
20379
|
-
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
|
|
20380
|
-
] })
|
|
20381
|
-
]
|
|
20382
|
-
},
|
|
20383
|
-
index
|
|
20384
|
-
);
|
|
20385
|
-
});
|
|
20386
|
-
}, [featuresSlot, features, cardClassName]);
|
|
20567
|
+
return features.map((feature, index) => /* @__PURE__ */ jsxs(
|
|
20568
|
+
"div",
|
|
20569
|
+
{
|
|
20570
|
+
className: cn("relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5", cardClassName, feature.className),
|
|
20571
|
+
children: [
|
|
20572
|
+
(feature.icon || feature.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", feature.iconClassName), children: renderIcon(feature) }),
|
|
20573
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
20574
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxs("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
|
|
20575
|
+
feature.title,
|
|
20576
|
+
/* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
|
|
20577
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
|
|
20578
|
+
feature.title,
|
|
20579
|
+
/* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
|
|
20580
|
+
] })),
|
|
20581
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
|
|
20582
|
+
] })
|
|
20583
|
+
]
|
|
20584
|
+
},
|
|
20585
|
+
index
|
|
20586
|
+
));
|
|
20587
|
+
}, [featuresSlot, features, cardClassName, renderIcon]);
|
|
20387
20588
|
return /* @__PURE__ */ jsxs(
|
|
20388
20589
|
Section,
|
|
20389
20590
|
{
|
|
@@ -20397,7 +20598,7 @@ function FeatureIconGridBordered({
|
|
|
20397
20598
|
children: [
|
|
20398
20599
|
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label })),
|
|
20399
20600
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
|
|
20400
|
-
/* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4", gridClassName), children: featuresContent })
|
|
20601
|
+
(featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4", gridClassName), children: featuresContent })
|
|
20401
20602
|
]
|
|
20402
20603
|
}
|
|
20403
20604
|
);
|
|
@@ -20511,8 +20712,8 @@ function FeatureChecklistImage({
|
|
|
20511
20712
|
/* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
|
|
20512
20713
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
|
|
20513
20714
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
|
|
20514
|
-
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent }),
|
|
20515
|
-
/* @__PURE__ */ jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
|
|
20715
|
+
actionsContent && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent }),
|
|
20716
|
+
checklistContent && /* @__PURE__ */ jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
|
|
20516
20717
|
] })
|
|
20517
20718
|
] })
|
|
20518
20719
|
}
|
|
@@ -20577,10 +20778,10 @@ function FeatureCarouselProgress({
|
|
|
20577
20778
|
);
|
|
20578
20779
|
});
|
|
20579
20780
|
}, [api, slidesLength]);
|
|
20580
|
-
const renderSlideIcon =
|
|
20781
|
+
const renderSlideIcon = useCallback((slide) => {
|
|
20581
20782
|
if (slide.icon) return slide.icon;
|
|
20582
20783
|
if (slide.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: slide.iconName, size: 16 });
|
|
20583
|
-
return
|
|
20784
|
+
return null;
|
|
20584
20785
|
}, []);
|
|
20585
20786
|
const slidesContent = useMemo$1(() => {
|
|
20586
20787
|
if (slidesSlot) return slidesSlot;
|
|
@@ -20590,7 +20791,7 @@ function FeatureCarouselProgress({
|
|
|
20590
20791
|
{
|
|
20591
20792
|
className: "basis-full md:basis-1/2 lg:basis-1/3",
|
|
20592
20793
|
children: /* @__PURE__ */ jsx("div", { className: "p-1", children: /* @__PURE__ */ jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxs("div", { children: [
|
|
20593
|
-
/* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
|
|
20794
|
+
(slide.icon || slide.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
|
|
20594
20795
|
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
|
|
20595
20796
|
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
|
|
20596
20797
|
] }) }) }) })
|
|
@@ -20652,28 +20853,28 @@ function FeatureCardGridLinked({
|
|
|
20652
20853
|
patternOpacity,
|
|
20653
20854
|
patternClassName
|
|
20654
20855
|
}) {
|
|
20856
|
+
const renderImage = useCallback((feature, imageAlt) => {
|
|
20857
|
+
if (feature.imageSlot) return feature.imageSlot;
|
|
20858
|
+
if (feature.image) {
|
|
20859
|
+
return /* @__PURE__ */ jsx(
|
|
20860
|
+
Img,
|
|
20861
|
+
{
|
|
20862
|
+
src: feature.image,
|
|
20863
|
+
alt: imageAlt,
|
|
20864
|
+
className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
|
|
20865
|
+
loading: "lazy",
|
|
20866
|
+
optixFlowConfig
|
|
20867
|
+
}
|
|
20868
|
+
);
|
|
20869
|
+
}
|
|
20870
|
+
return null;
|
|
20871
|
+
}, [optixFlowConfig]);
|
|
20655
20872
|
const featuresContent = useMemo$1(() => {
|
|
20656
20873
|
if (featuresSlot) return featuresSlot;
|
|
20657
20874
|
if (!features || features.length === 0) return null;
|
|
20658
20875
|
return features.map((feature, index) => {
|
|
20659
20876
|
const featureKey = feature.id || `feature-${index}`;
|
|
20660
20877
|
const imageAlt = feature.imageAlt || (typeof feature.heading === "string" ? feature.heading : "Feature image");
|
|
20661
|
-
const renderImage = () => {
|
|
20662
|
-
if (feature.imageSlot) return feature.imageSlot;
|
|
20663
|
-
if (feature.image) {
|
|
20664
|
-
return /* @__PURE__ */ jsx(
|
|
20665
|
-
Img,
|
|
20666
|
-
{
|
|
20667
|
-
src: feature.image,
|
|
20668
|
-
alt: imageAlt,
|
|
20669
|
-
className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
|
|
20670
|
-
loading: "lazy",
|
|
20671
|
-
optixFlowConfig
|
|
20672
|
-
}
|
|
20673
|
-
);
|
|
20674
|
-
}
|
|
20675
|
-
return null;
|
|
20676
|
-
};
|
|
20677
20878
|
return /* @__PURE__ */ jsxs(
|
|
20678
20879
|
"div",
|
|
20679
20880
|
{
|
|
@@ -20684,7 +20885,7 @@ function FeatureCardGridLinked({
|
|
|
20684
20885
|
feature.label && /* @__PURE__ */ jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
|
|
20685
20886
|
feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) })
|
|
20686
20887
|
] }),
|
|
20687
|
-
/* @__PURE__ */ jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: renderImage() }) })
|
|
20888
|
+
/* @__PURE__ */ jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
|
|
20688
20889
|
] }),
|
|
20689
20890
|
feature.description && /* @__PURE__ */ jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
|
|
20690
20891
|
]
|
|
@@ -20692,7 +20893,7 @@ function FeatureCardGridLinked({
|
|
|
20692
20893
|
featureKey
|
|
20693
20894
|
);
|
|
20694
20895
|
});
|
|
20695
|
-
}, [featuresSlot, features, cardClassName,
|
|
20896
|
+
}, [featuresSlot, features, cardClassName, renderImage]);
|
|
20696
20897
|
return /* @__PURE__ */ jsxs(
|
|
20697
20898
|
Section,
|
|
20698
20899
|
{
|
|
@@ -20728,7 +20929,7 @@ function FeatureNumberedCards({
|
|
|
20728
20929
|
patternOpacity,
|
|
20729
20930
|
patternClassName
|
|
20730
20931
|
}) {
|
|
20731
|
-
const renderChecklistItems = (feature) => {
|
|
20932
|
+
const renderChecklistItems = useCallback((feature) => {
|
|
20732
20933
|
if (feature.checklistSlot) return feature.checklistSlot;
|
|
20733
20934
|
if (!feature.checklistItems || feature.checklistItems.length === 0) return null;
|
|
20734
20935
|
return feature.checklistItems.map((item, itemIndex) => {
|
|
@@ -20748,7 +20949,7 @@ function FeatureNumberedCards({
|
|
|
20748
20949
|
/* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: content })
|
|
20749
20950
|
] }, itemIndex);
|
|
20750
20951
|
});
|
|
20751
|
-
};
|
|
20952
|
+
}, []);
|
|
20752
20953
|
const featuresContent = useMemo$1(() => {
|
|
20753
20954
|
if (featuresSlot) return featuresSlot;
|
|
20754
20955
|
if (!features || features.length === 0) return null;
|
|
@@ -20853,12 +21054,12 @@ function FeatureIconGridAccent({
|
|
|
20853
21054
|
className,
|
|
20854
21055
|
containerClassName,
|
|
20855
21056
|
children: [
|
|
20856
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col items-center", headerClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
|
|
21057
|
+
(label || title || description) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col items-center", headerClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
|
|
20857
21058
|
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: labelClassName, children: label })),
|
|
20858
21059
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
20859
21060
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:max-w-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
20860
21061
|
] }) }),
|
|
20861
|
-
/* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2", gridClassName), children: featuresContent })
|
|
21062
|
+
featuresContent && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2", gridClassName), children: featuresContent })
|
|
20862
21063
|
]
|
|
20863
21064
|
}
|
|
20864
21065
|
);
|
|
@@ -20880,20 +21081,20 @@ function FeatureThreeColumnValues({
|
|
|
20880
21081
|
patternOpacity,
|
|
20881
21082
|
patternClassName
|
|
20882
21083
|
}) {
|
|
20883
|
-
const renderValueIcon = (value) => {
|
|
21084
|
+
const renderValueIcon = React52.useCallback((value) => {
|
|
20884
21085
|
if (value.icon) return value.icon;
|
|
20885
21086
|
if (value.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: value.iconName, size: 24 });
|
|
20886
|
-
return
|
|
20887
|
-
};
|
|
21087
|
+
return null;
|
|
21088
|
+
}, []);
|
|
20888
21089
|
const valuesContent = useMemo$1(() => {
|
|
20889
21090
|
if (valuesSlot) return valuesSlot;
|
|
20890
21091
|
if (!values || values.length === 0) return null;
|
|
20891
21092
|
return values.map((value, index) => /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg bg-accent p-5", cardClassName, value.className), children: [
|
|
20892
|
-
/* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-12 items-center justify-center rounded-full bg-background", value.iconClassName), children: renderValueIcon(value) }),
|
|
21093
|
+
(value.icon || value.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-12 items-center justify-center rounded-full bg-background", value.iconClassName), children: renderValueIcon(value) }),
|
|
20893
21094
|
value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title })),
|
|
20894
21095
|
value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }))
|
|
20895
21096
|
] }, index));
|
|
20896
|
-
}, [valuesSlot, values, cardClassName]);
|
|
21097
|
+
}, [valuesSlot, values, cardClassName, renderValueIcon]);
|
|
20897
21098
|
return /* @__PURE__ */ jsxs(
|
|
20898
21099
|
Section,
|
|
20899
21100
|
{
|
|
@@ -20907,7 +21108,7 @@ function FeatureThreeColumnValues({
|
|
|
20907
21108
|
children: [
|
|
20908
21109
|
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label })),
|
|
20909
21110
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
|
|
20910
|
-
/* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3", gridClassName), children: valuesContent })
|
|
21111
|
+
(valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3", gridClassName), children: valuesContent })
|
|
20911
21112
|
]
|
|
20912
21113
|
}
|
|
20913
21114
|
);
|
|
@@ -20939,7 +21140,7 @@ function FeatureBadgeGridSix({
|
|
|
20939
21140
|
if (!label) return null;
|
|
20940
21141
|
return /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: badgeClassName, children: label });
|
|
20941
21142
|
}, [badgeSlot, label, badgeClassName]);
|
|
20942
|
-
const renderFeatureIcon = (feature) => {
|
|
21143
|
+
const renderFeatureIcon = useCallback((feature) => {
|
|
20943
21144
|
if (feature.icon) return feature.icon;
|
|
20944
21145
|
if (feature.iconName) {
|
|
20945
21146
|
return /* @__PURE__ */ jsx(
|
|
@@ -20952,25 +21153,28 @@ function FeatureBadgeGridSix({
|
|
|
20952
21153
|
);
|
|
20953
21154
|
}
|
|
20954
21155
|
return null;
|
|
20955
|
-
};
|
|
21156
|
+
}, []);
|
|
20956
21157
|
const featuresContent = useMemo$1(() => {
|
|
20957
21158
|
if (featuresSlot) return featuresSlot;
|
|
20958
21159
|
if (!features || features.length === 0) return null;
|
|
20959
|
-
return features.map((feature, index) =>
|
|
20960
|
-
|
|
20961
|
-
|
|
20962
|
-
|
|
20963
|
-
|
|
20964
|
-
|
|
20965
|
-
|
|
20966
|
-
|
|
20967
|
-
|
|
20968
|
-
|
|
20969
|
-
|
|
20970
|
-
|
|
20971
|
-
|
|
20972
|
-
|
|
20973
|
-
|
|
21160
|
+
return features.map((feature, index) => {
|
|
21161
|
+
const iconContent = renderFeatureIcon(feature);
|
|
21162
|
+
return /* @__PURE__ */ jsxs(
|
|
21163
|
+
"div",
|
|
21164
|
+
{
|
|
21165
|
+
className: cn("flex gap-6 space-y-4 rounded-lg md:block", cardClassName, feature.className),
|
|
21166
|
+
children: [
|
|
21167
|
+
iconContent && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", children: iconContent }),
|
|
21168
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
21169
|
+
feature.heading && (typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading })),
|
|
21170
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
|
|
21171
|
+
] })
|
|
21172
|
+
]
|
|
21173
|
+
},
|
|
21174
|
+
index
|
|
21175
|
+
);
|
|
21176
|
+
});
|
|
21177
|
+
}, [featuresSlot, features, cardClassName, renderFeatureIcon]);
|
|
20974
21178
|
const actionContent = useMemo$1(() => {
|
|
20975
21179
|
if (actionSlot) return actionSlot;
|
|
20976
21180
|
if (!action) return null;
|
|
@@ -21031,7 +21235,6 @@ function FeatureBadgeGridSix({
|
|
|
21031
21235
|
function FeaturePatternGridLinks({
|
|
21032
21236
|
features,
|
|
21033
21237
|
featuresSlot,
|
|
21034
|
-
patternUrl = patternSvgs.dotPattern,
|
|
21035
21238
|
className,
|
|
21036
21239
|
containerClassName,
|
|
21037
21240
|
gridClassName,
|
|
@@ -21042,26 +21245,28 @@ function FeaturePatternGridLinks({
|
|
|
21042
21245
|
patternOpacity,
|
|
21043
21246
|
patternClassName
|
|
21044
21247
|
}) {
|
|
21045
|
-
const renderFeatureIcon = (feature) => {
|
|
21248
|
+
const renderFeatureIcon = useCallback((feature) => {
|
|
21046
21249
|
if (feature.icon) return feature.icon;
|
|
21047
21250
|
if (feature.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 24, className: feature.iconClassName });
|
|
21048
21251
|
return null;
|
|
21049
|
-
};
|
|
21050
|
-
const renderFeatureLink = (feature) => {
|
|
21252
|
+
}, []);
|
|
21253
|
+
const renderFeatureLink = useCallback((feature) => {
|
|
21051
21254
|
if (feature.linkSlot) return feature.linkSlot;
|
|
21052
|
-
if (!feature.link) return null;
|
|
21255
|
+
if (!feature.link && !feature.linkLabel) return null;
|
|
21256
|
+
const label = feature.linkLabel || (feature.link ? "Learn more" : null);
|
|
21257
|
+
if (!label) return null;
|
|
21053
21258
|
return /* @__PURE__ */ jsxs(
|
|
21054
21259
|
Pressable,
|
|
21055
21260
|
{
|
|
21056
21261
|
href: feature.link,
|
|
21057
21262
|
className: cn("flex items-center gap-2 text-sm font-medium", feature.linkClassName),
|
|
21058
21263
|
children: [
|
|
21059
|
-
|
|
21264
|
+
label,
|
|
21060
21265
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
21061
21266
|
]
|
|
21062
21267
|
}
|
|
21063
21268
|
);
|
|
21064
|
-
};
|
|
21269
|
+
}, []);
|
|
21065
21270
|
const featuresContent = useMemo$1(() => {
|
|
21066
21271
|
if (featuresSlot) return featuresSlot;
|
|
21067
21272
|
if (!features || features.length === 0) return null;
|
|
@@ -21080,7 +21285,7 @@ function FeaturePatternGridLinks({
|
|
|
21080
21285
|
},
|
|
21081
21286
|
index
|
|
21082
21287
|
));
|
|
21083
|
-
}, [featuresSlot, features, cardClassName]);
|
|
21288
|
+
}, [featuresSlot, features, cardClassName, renderFeatureIcon, renderFeatureLink]);
|
|
21084
21289
|
return /* @__PURE__ */ jsx(
|
|
21085
21290
|
Section,
|
|
21086
21291
|
{
|
|
@@ -21089,12 +21294,8 @@ function FeaturePatternGridLinks({
|
|
|
21089
21294
|
pattern,
|
|
21090
21295
|
patternOpacity,
|
|
21091
21296
|
patternClassName,
|
|
21092
|
-
className
|
|
21297
|
+
className,
|
|
21093
21298
|
containerClassName,
|
|
21094
|
-
style: {
|
|
21095
|
-
backgroundImage: `url(${patternUrl})`,
|
|
21096
|
-
backgroundRepeat: "repeat"
|
|
21097
|
-
},
|
|
21098
21299
|
children: /* @__PURE__ */ jsx("div", { className: cn("grid gap-6 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: featuresContent })
|
|
21099
21300
|
}
|
|
21100
21301
|
);
|
|
@@ -21162,7 +21363,7 @@ function FeatureTabbedContentImage({
|
|
|
21162
21363
|
description,
|
|
21163
21364
|
slides,
|
|
21164
21365
|
slidesSlot,
|
|
21165
|
-
defaultTab
|
|
21366
|
+
defaultTab,
|
|
21166
21367
|
className,
|
|
21167
21368
|
containerClassName,
|
|
21168
21369
|
headerClassName,
|
|
@@ -21181,7 +21382,7 @@ function FeatureTabbedContentImage({
|
|
|
21181
21382
|
patternOpacity,
|
|
21182
21383
|
patternClassName
|
|
21183
21384
|
}) {
|
|
21184
|
-
const renderFeatures =
|
|
21385
|
+
const renderFeatures = React52.useCallback((slide) => {
|
|
21185
21386
|
if (slide.featuresSlot) return slide.featuresSlot;
|
|
21186
21387
|
if (!slide.features || slide.features.length === 0) return null;
|
|
21187
21388
|
return slide.features.map((feature, index) => {
|
|
@@ -21195,7 +21396,7 @@ function FeatureTabbedContentImage({
|
|
|
21195
21396
|
] }, index);
|
|
21196
21397
|
});
|
|
21197
21398
|
}, []);
|
|
21198
|
-
const renderActions =
|
|
21399
|
+
const renderActions = React52.useCallback((slide) => {
|
|
21199
21400
|
if (slide.actionsSlot) return slide.actionsSlot;
|
|
21200
21401
|
if (!slide.actions || slide.actions.length === 0) return null;
|
|
21201
21402
|
return slide.actions.map((action, index) => {
|
|
@@ -21235,7 +21436,7 @@ function FeatureTabbedContentImage({
|
|
|
21235
21436
|
);
|
|
21236
21437
|
});
|
|
21237
21438
|
}, []);
|
|
21238
|
-
const renderImage =
|
|
21439
|
+
const renderImage = React52.useCallback((slide) => {
|
|
21239
21440
|
if (slide.imageSlot) return slide.imageSlot;
|
|
21240
21441
|
if (!slide.image) return null;
|
|
21241
21442
|
const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
|
|
@@ -21282,6 +21483,11 @@ function FeatureTabbedContentImage({
|
|
|
21282
21483
|
))
|
|
21283
21484
|
] });
|
|
21284
21485
|
}, [slidesSlot, slides, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, renderFeatures, renderActions, renderImage]);
|
|
21486
|
+
const effectiveDefaultTab = useMemo$1(() => {
|
|
21487
|
+
if (defaultTab) return defaultTab;
|
|
21488
|
+
if (slides && slides.length > 0) return slides[0].id.toString();
|
|
21489
|
+
return "1";
|
|
21490
|
+
}, [defaultTab, slides]);
|
|
21285
21491
|
return /* @__PURE__ */ jsxs(
|
|
21286
21492
|
Section,
|
|
21287
21493
|
{
|
|
@@ -21297,10 +21503,10 @@ function FeatureTabbedContentImage({
|
|
|
21297
21503
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
|
|
21298
21504
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }))
|
|
21299
21505
|
] }),
|
|
21300
|
-
/* @__PURE__ */ jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsx(
|
|
21506
|
+
(slidesSlot || slides && slides.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsx(
|
|
21301
21507
|
Tabs,
|
|
21302
21508
|
{
|
|
21303
|
-
defaultValue:
|
|
21509
|
+
defaultValue: effectiveDefaultTab,
|
|
21304
21510
|
className: cn("mx-auto flex w-fit flex-col items-center gap-8 md:gap-12", tabsClassName),
|
|
21305
21511
|
children: slidesContent
|
|
21306
21512
|
}
|
|
@@ -21312,7 +21518,7 @@ function FeatureTabbedContentImage({
|
|
|
21312
21518
|
function FeatureUtilityCardsGrid({
|
|
21313
21519
|
label,
|
|
21314
21520
|
labelIcon,
|
|
21315
|
-
labelIconName
|
|
21521
|
+
labelIconName,
|
|
21316
21522
|
title,
|
|
21317
21523
|
description,
|
|
21318
21524
|
learnMoreAction,
|
|
@@ -21334,11 +21540,11 @@ function FeatureUtilityCardsGrid({
|
|
|
21334
21540
|
patternOpacity,
|
|
21335
21541
|
patternClassName
|
|
21336
21542
|
}) {
|
|
21337
|
-
const renderLabelIcon = () => {
|
|
21543
|
+
const renderLabelIcon = useMemo$1(() => {
|
|
21338
21544
|
if (labelIcon) return labelIcon;
|
|
21339
21545
|
if (labelIconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20, className: "text-primary" });
|
|
21340
|
-
return
|
|
21341
|
-
};
|
|
21546
|
+
return null;
|
|
21547
|
+
}, [labelIcon, labelIconName]);
|
|
21342
21548
|
const learnMoreContent = useMemo$1(() => {
|
|
21343
21549
|
if (learnMoreSlot) return learnMoreSlot;
|
|
21344
21550
|
if (!learnMoreAction) return null;
|
|
@@ -21369,7 +21575,7 @@ function FeatureUtilityCardsGrid({
|
|
|
21369
21575
|
}
|
|
21370
21576
|
);
|
|
21371
21577
|
}, [learnMoreSlot, learnMoreAction]);
|
|
21372
|
-
const renderUtilityImage = (utility) => {
|
|
21578
|
+
const renderUtilityImage = React52.useCallback((utility) => {
|
|
21373
21579
|
if (utility.imageSlot) return utility.imageSlot;
|
|
21374
21580
|
if (utility.image) {
|
|
21375
21581
|
return /* @__PURE__ */ jsx(
|
|
@@ -21384,7 +21590,7 @@ function FeatureUtilityCardsGrid({
|
|
|
21384
21590
|
);
|
|
21385
21591
|
}
|
|
21386
21592
|
return null;
|
|
21387
|
-
};
|
|
21593
|
+
}, [optixFlowConfig]);
|
|
21388
21594
|
const utilitiesContent = useMemo$1(() => {
|
|
21389
21595
|
if (utilitiesSlot) return utilitiesSlot;
|
|
21390
21596
|
if (!utilities || utilities.length === 0) return null;
|
|
@@ -21395,7 +21601,7 @@ function FeatureUtilityCardsGrid({
|
|
|
21395
21601
|
utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }))
|
|
21396
21602
|
] })
|
|
21397
21603
|
] }, index));
|
|
21398
|
-
}, [utilitiesSlot, utilities, cardClassName,
|
|
21604
|
+
}, [utilitiesSlot, utilities, cardClassName, renderUtilityImage]);
|
|
21399
21605
|
return /* @__PURE__ */ jsxs(
|
|
21400
21606
|
Section,
|
|
21401
21607
|
{
|
|
@@ -21407,26 +21613,28 @@ function FeatureUtilityCardsGrid({
|
|
|
21407
21613
|
className,
|
|
21408
21614
|
containerClassName: cn("max-w-7xl", containerClassName),
|
|
21409
21615
|
children: [
|
|
21410
|
-
/* @__PURE__ */ jsxs(
|
|
21411
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center
|
|
21412
|
-
|
|
21413
|
-
|
|
21616
|
+
(label || labelIcon || labelIconName || learnMoreSlot || learnMoreAction) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
21617
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
|
|
21618
|
+
(label || labelIcon || labelIconName) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
|
|
21619
|
+
renderLabelIcon,
|
|
21620
|
+
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { children: label }) : /* @__PURE__ */ jsx("div", { children: label }))
|
|
21621
|
+
] }),
|
|
21622
|
+
learnMoreContent
|
|
21414
21623
|
] }),
|
|
21415
|
-
|
|
21624
|
+
/* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" })
|
|
21416
21625
|
] }),
|
|
21417
|
-
/* @__PURE__ */
|
|
21418
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
|
|
21626
|
+
(title || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
|
|
21419
21627
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title })),
|
|
21420
21628
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("md:w-1/2", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("md:w-1/2", descriptionClassName), children: description }))
|
|
21421
21629
|
] }),
|
|
21422
|
-
/* @__PURE__ */ jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
|
|
21630
|
+
(utilitiesSlot || utilities && utilities.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
|
|
21423
21631
|
]
|
|
21424
21632
|
}
|
|
21425
21633
|
);
|
|
21426
21634
|
}
|
|
21427
21635
|
function FeatureBentoUtilities({
|
|
21428
21636
|
label,
|
|
21429
|
-
labelIconName
|
|
21637
|
+
labelIconName,
|
|
21430
21638
|
labelIcon,
|
|
21431
21639
|
title,
|
|
21432
21640
|
description,
|
|
@@ -21449,7 +21657,7 @@ function FeatureBentoUtilities({
|
|
|
21449
21657
|
patternOpacity,
|
|
21450
21658
|
patternClassName
|
|
21451
21659
|
}) {
|
|
21452
|
-
const renderCard =
|
|
21660
|
+
const renderCard = React52.useCallback((card, index) => {
|
|
21453
21661
|
const hasImage = card.imageSrc || card.imageSlot;
|
|
21454
21662
|
const cardClasses = cn(
|
|
21455
21663
|
hasImage ? "overflow-hidden pt-0" : "p-6",
|
|
@@ -21495,12 +21703,16 @@ function FeatureBentoUtilities({
|
|
|
21495
21703
|
card.description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: card.description })
|
|
21496
21704
|
] }, index);
|
|
21497
21705
|
}, [optixFlowConfig]);
|
|
21498
|
-
const renderColumn =
|
|
21706
|
+
const renderColumn = React52.useCallback((cards, slot) => {
|
|
21499
21707
|
if (slot) return slot;
|
|
21500
21708
|
if (!cards || cards.length === 0) return null;
|
|
21501
21709
|
return cards.map((card, index) => renderCard(card, index));
|
|
21502
21710
|
}, [renderCard]);
|
|
21503
|
-
const labelIconElement = useMemo$1(() =>
|
|
21711
|
+
const labelIconElement = useMemo$1(() => {
|
|
21712
|
+
if (labelIcon) return labelIcon;
|
|
21713
|
+
if (labelIconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20 });
|
|
21714
|
+
return null;
|
|
21715
|
+
}, [labelIcon, labelIconName]);
|
|
21504
21716
|
return /* @__PURE__ */ jsxs(
|
|
21505
21717
|
Section,
|
|
21506
21718
|
{
|
|
@@ -21512,7 +21724,7 @@ function FeatureBentoUtilities({
|
|
|
21512
21724
|
className: cn("bg-gray-50 dark:bg-background", className),
|
|
21513
21725
|
containerClassName: cn("max-w-7xl", containerClassName),
|
|
21514
21726
|
children: [
|
|
21515
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 text-muted-foreground", labelClassName), children: [
|
|
21727
|
+
(labelIconElement || label) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 text-muted-foreground", labelClassName), children: [
|
|
21516
21728
|
labelIconElement,
|
|
21517
21729
|
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsx("div", { className: "text-sm", children: label }))
|
|
21518
21730
|
] }),
|
|
@@ -21551,15 +21763,15 @@ function FeatureChecklistThreeColumn({
|
|
|
21551
21763
|
patternOpacity,
|
|
21552
21764
|
patternClassName
|
|
21553
21765
|
}) {
|
|
21554
|
-
const getCheckItemContent =
|
|
21766
|
+
const getCheckItemContent = useCallback((item) => {
|
|
21555
21767
|
if (typeof item === "string") return item;
|
|
21556
21768
|
return item.content;
|
|
21557
21769
|
}, []);
|
|
21558
|
-
const getCheckItemClassName =
|
|
21770
|
+
const getCheckItemClassName = useCallback((item) => {
|
|
21559
21771
|
if (typeof item === "string") return void 0;
|
|
21560
21772
|
return item.className;
|
|
21561
21773
|
}, []);
|
|
21562
|
-
const renderChecklistColumn =
|
|
21774
|
+
const renderChecklistColumn = useCallback((items, slot, gapClass) => {
|
|
21563
21775
|
if (slot) return slot;
|
|
21564
21776
|
if (!items || items.length === 0) return null;
|
|
21565
21777
|
return /* @__PURE__ */ jsx("ul", { className: cn("flex flex-col text-muted-foreground", gapClass, checklistClassName), children: items.map((item, index) => /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-2", getCheckItemClassName(item)), children: [
|
|
@@ -21567,7 +21779,7 @@ function FeatureChecklistThreeColumn({
|
|
|
21567
21779
|
getCheckItemContent(item)
|
|
21568
21780
|
] }, index)) });
|
|
21569
21781
|
}, [checklistClassName, getCheckItemContent, getCheckItemClassName]);
|
|
21570
|
-
const renderCardImage =
|
|
21782
|
+
const renderCardImage = useCallback((card) => {
|
|
21571
21783
|
if (card.imageSlot) return card.imageSlot;
|
|
21572
21784
|
if (card.image) {
|
|
21573
21785
|
return /* @__PURE__ */ jsx(
|
|
@@ -21583,7 +21795,7 @@ function FeatureChecklistThreeColumn({
|
|
|
21583
21795
|
}
|
|
21584
21796
|
return null;
|
|
21585
21797
|
}, [optixFlowConfig]);
|
|
21586
|
-
const renderCardLink =
|
|
21798
|
+
const renderCardLink = useCallback((card) => {
|
|
21587
21799
|
if (card.linkSlot) return card.linkSlot;
|
|
21588
21800
|
if (!card.link) return null;
|
|
21589
21801
|
return /* @__PURE__ */ jsxs(
|
|
@@ -21646,7 +21858,7 @@ function FeatureChecklistThreeColumn({
|
|
|
21646
21858
|
pattern,
|
|
21647
21859
|
patternOpacity,
|
|
21648
21860
|
patternClassName,
|
|
21649
|
-
className
|
|
21861
|
+
className,
|
|
21650
21862
|
containerClassName,
|
|
21651
21863
|
children: [
|
|
21652
21864
|
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-4 sm:grid-cols-2 sm:gap-8 md:gap-12 lg:grid-cols-3 lg:gap-16", headerGridClassName), children: [
|
|
@@ -21678,26 +21890,25 @@ function FeatureIntegrationCards({
|
|
|
21678
21890
|
patternOpacity,
|
|
21679
21891
|
patternClassName
|
|
21680
21892
|
}) {
|
|
21681
|
-
const renderIntegrationIcon =
|
|
21893
|
+
const renderIntegrationIcon = useCallback((integration) => {
|
|
21682
21894
|
if (integration.iconSlot) return integration.iconSlot;
|
|
21683
|
-
if (integration.icon)
|
|
21684
|
-
|
|
21685
|
-
|
|
21686
|
-
|
|
21687
|
-
|
|
21688
|
-
|
|
21689
|
-
|
|
21690
|
-
|
|
21691
|
-
|
|
21692
|
-
|
|
21693
|
-
|
|
21694
|
-
}
|
|
21695
|
-
return null;
|
|
21895
|
+
if (!integration.icon) return null;
|
|
21896
|
+
return /* @__PURE__ */ jsx(
|
|
21897
|
+
Img,
|
|
21898
|
+
{
|
|
21899
|
+
src: integration.icon,
|
|
21900
|
+
alt: integration.iconAlt || (typeof integration.title === "string" ? integration.title : "Integration icon"),
|
|
21901
|
+
className: cn("h-auto w-7", integration.iconClassName),
|
|
21902
|
+
loading: "lazy",
|
|
21903
|
+
optixFlowConfig
|
|
21904
|
+
}
|
|
21905
|
+
);
|
|
21696
21906
|
}, [optixFlowConfig]);
|
|
21697
|
-
const renderLinkLabel =
|
|
21907
|
+
const renderLinkLabel = useCallback((integration) => {
|
|
21698
21908
|
if (integration.linkLabelSlot) return integration.linkLabelSlot;
|
|
21909
|
+
if (!integration.linkLabel) return null;
|
|
21699
21910
|
return /* @__PURE__ */ jsxs("span", { className: cn("flex items-center gap-1 rounded-full border px-3 py-2.5 text-sm", integration.linkLabelClassName), children: [
|
|
21700
|
-
integration.linkLabel
|
|
21911
|
+
integration.linkLabel,
|
|
21701
21912
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
21702
21913
|
] });
|
|
21703
21914
|
}, []);
|
|
@@ -21705,10 +21916,12 @@ function FeatureIntegrationCards({
|
|
|
21705
21916
|
if (integrationsSlot) return integrationsSlot;
|
|
21706
21917
|
if (!integrations || integrations.length === 0) return null;
|
|
21707
21918
|
return integrations.map((integration, index) => {
|
|
21919
|
+
const iconContent = renderIntegrationIcon(integration);
|
|
21920
|
+
const linkLabelContent = renderLinkLabel(integration);
|
|
21708
21921
|
const cardContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
21709
21922
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
21710
|
-
/* @__PURE__ */ jsx("span", { className: "grid size-12 shrink-0 place-content-center rounded-md border", children:
|
|
21711
|
-
|
|
21923
|
+
iconContent && /* @__PURE__ */ jsx("span", { className: "grid size-12 shrink-0 place-content-center rounded-md border", children: iconContent }),
|
|
21924
|
+
linkLabelContent
|
|
21712
21925
|
] }),
|
|
21713
21926
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
21714
21927
|
integration.title && (typeof integration.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-medium md:text-lg", integration.titleClassName), children: integration.title }) : /* @__PURE__ */ jsx("div", { className: cn("font-medium md:text-lg", integration.titleClassName), children: integration.title })),
|
|
@@ -21780,12 +21993,12 @@ function FeatureIconTabsContent({
|
|
|
21780
21993
|
patternOpacity,
|
|
21781
21994
|
patternClassName
|
|
21782
21995
|
}) {
|
|
21783
|
-
const renderTabIcon =
|
|
21996
|
+
const renderTabIcon = useCallback((tab) => {
|
|
21784
21997
|
if (tab.icon) return tab.icon;
|
|
21785
21998
|
if (tab.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: tab.iconName, size: 16 });
|
|
21786
|
-
return
|
|
21999
|
+
return null;
|
|
21787
22000
|
}, []);
|
|
21788
|
-
const renderTabContentActions =
|
|
22001
|
+
const renderTabContentActions = useCallback((content) => {
|
|
21789
22002
|
if (content.actionsSlot) return content.actionsSlot;
|
|
21790
22003
|
if (!content.actions || content.actions.length === 0) return null;
|
|
21791
22004
|
return content.actions.map((action, index) => {
|
|
@@ -21825,7 +22038,7 @@ function FeatureIconTabsContent({
|
|
|
21825
22038
|
);
|
|
21826
22039
|
});
|
|
21827
22040
|
}, []);
|
|
21828
|
-
const renderTabContentImage =
|
|
22041
|
+
const renderTabContentImage = useCallback((content) => {
|
|
21829
22042
|
if (content.imageSlot) return content.imageSlot;
|
|
21830
22043
|
if (content.imageSrc) {
|
|
21831
22044
|
return /* @__PURE__ */ jsx(
|
|
@@ -21852,7 +22065,7 @@ function FeatureIconTabsContent({
|
|
|
21852
22065
|
value: tab.value,
|
|
21853
22066
|
className: cn("flex items-center gap-2 rounded-xl px-4 py-3 text-sm font-semibold text-muted-foreground data-[state=active]:bg-muted data-[state=active]:text-primary", tabTriggerClassName, tab.className),
|
|
21854
22067
|
children: [
|
|
21855
|
-
renderTabIcon(tab),
|
|
22068
|
+
(tab.icon || tab.iconName) && renderTabIcon(tab),
|
|
21856
22069
|
tab.label
|
|
21857
22070
|
]
|
|
21858
22071
|
},
|
|
@@ -21874,9 +22087,9 @@ function FeatureIconTabsContent({
|
|
|
21874
22087
|
content.badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", content.badgeClassName), children: content.badge }),
|
|
21875
22088
|
content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title })),
|
|
21876
22089
|
content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description })),
|
|
21877
|
-
renderTabContentActions(content)
|
|
22090
|
+
(content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
|
|
21878
22091
|
] }),
|
|
21879
|
-
/* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
22092
|
+
(content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
21880
22093
|
]
|
|
21881
22094
|
},
|
|
21882
22095
|
tab.value
|
|
@@ -21895,7 +22108,7 @@ function FeatureIconTabsContent({
|
|
|
21895
22108
|
className,
|
|
21896
22109
|
containerClassName: cn("mx-auto", containerClassName),
|
|
21897
22110
|
children: [
|
|
21898
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", headerClassName), children: [
|
|
22111
|
+
(badge || heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", headerClassName), children: [
|
|
21899
22112
|
badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
|
|
21900
22113
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading })),
|
|
21901
22114
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", descriptionClassName), children: description }))
|
|
@@ -22058,28 +22271,30 @@ function FeatureImageOverlayBadge({
|
|
|
22058
22271
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
|
|
22059
22272
|
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
|
|
22060
22273
|
] }),
|
|
22061
|
-
/* @__PURE__ */ jsxs("div", { className: cn("relative rounded-xl", imageWrapperClassName), children: [
|
|
22274
|
+
imageContent && /* @__PURE__ */ jsxs("div", { className: cn("relative rounded-xl", imageWrapperClassName), children: [
|
|
22062
22275
|
imageContent,
|
|
22063
|
-
|
|
22064
|
-
|
|
22065
|
-
/* @__PURE__ */ jsxs("
|
|
22066
|
-
/* @__PURE__ */
|
|
22067
|
-
|
|
22068
|
-
|
|
22069
|
-
|
|
22070
|
-
|
|
22071
|
-
|
|
22072
|
-
|
|
22073
|
-
|
|
22074
|
-
|
|
22075
|
-
|
|
22076
|
-
|
|
22077
|
-
|
|
22078
|
-
|
|
22079
|
-
|
|
22080
|
-
|
|
22081
|
-
|
|
22082
|
-
|
|
22276
|
+
(avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
22277
|
+
/* @__PURE__ */ jsx("div", { className: cn("absolute top-0 right-0 bottom-0 left-0 rounded-xl bg-linear-to-t from-primary via-transparent to-transparent", overlayClassName) }),
|
|
22278
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
|
|
22279
|
+
(avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm", avatarBadgeClassName), children: [
|
|
22280
|
+
avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
|
|
22281
|
+
avatarBadgeText
|
|
22282
|
+
] }),
|
|
22283
|
+
(overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
|
|
22284
|
+
overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx("h4", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle }) : /* @__PURE__ */ jsx("div", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle })),
|
|
22285
|
+
overlayLinkText && /* @__PURE__ */ jsxs(
|
|
22286
|
+
Pressable,
|
|
22287
|
+
{
|
|
22288
|
+
href: overlayLinkUrl,
|
|
22289
|
+
onClick: overlayLinkOnClick,
|
|
22290
|
+
className: "flex items-center gap-1 font-medium",
|
|
22291
|
+
children: [
|
|
22292
|
+
overlayLinkText,
|
|
22293
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
22294
|
+
]
|
|
22295
|
+
}
|
|
22296
|
+
)
|
|
22297
|
+
] })
|
|
22083
22298
|
] })
|
|
22084
22299
|
] })
|
|
22085
22300
|
] })
|
|
@@ -22108,7 +22323,7 @@ function FeatureCategoryImageCards({
|
|
|
22108
22323
|
patternOpacity,
|
|
22109
22324
|
patternClassName
|
|
22110
22325
|
}) {
|
|
22111
|
-
const renderFeatureImage = (feature) => {
|
|
22326
|
+
const renderFeatureImage = useCallback((feature) => {
|
|
22112
22327
|
if (feature.imageSlot) return feature.imageSlot;
|
|
22113
22328
|
if (feature.imageSrc) {
|
|
22114
22329
|
return /* @__PURE__ */ jsx(
|
|
@@ -22123,7 +22338,7 @@ function FeatureCategoryImageCards({
|
|
|
22123
22338
|
);
|
|
22124
22339
|
}
|
|
22125
22340
|
return null;
|
|
22126
|
-
};
|
|
22341
|
+
}, [optixFlowConfig]);
|
|
22127
22342
|
const featuresContent = useMemo$1(() => {
|
|
22128
22343
|
if (featuresSlot) return featuresSlot;
|
|
22129
22344
|
if (!features || features.length === 0) return null;
|
|
@@ -22134,7 +22349,7 @@ function FeatureCategoryImageCards({
|
|
|
22134
22349
|
] }),
|
|
22135
22350
|
/* @__PURE__ */ jsx(CardContent, { className: "px-7 pb-7", children: renderFeatureImage(feature) })
|
|
22136
22351
|
] }, index));
|
|
22137
|
-
}, [featuresSlot, features, cardClassName,
|
|
22352
|
+
}, [featuresSlot, features, cardClassName, renderFeatureImage]);
|
|
22138
22353
|
return /* @__PURE__ */ jsxs(
|
|
22139
22354
|
Section,
|
|
22140
22355
|
{
|
|
@@ -22175,12 +22390,12 @@ function FeatureBentoImageGrid({
|
|
|
22175
22390
|
patternOpacity,
|
|
22176
22391
|
patternClassName
|
|
22177
22392
|
}) {
|
|
22178
|
-
const renderItemIcon =
|
|
22393
|
+
const renderItemIcon = React52.useCallback((item) => {
|
|
22179
22394
|
if (item.icon) return item.icon;
|
|
22180
22395
|
if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 });
|
|
22181
22396
|
return null;
|
|
22182
22397
|
}, []);
|
|
22183
|
-
const renderItemImage =
|
|
22398
|
+
const renderItemImage = React52.useCallback((item, imageClassName) => {
|
|
22184
22399
|
if (item.imageSlot) return item.imageSlot;
|
|
22185
22400
|
if (item.imageSrc) {
|
|
22186
22401
|
return /* @__PURE__ */ jsx(
|
|
@@ -22196,13 +22411,15 @@ function FeatureBentoImageGrid({
|
|
|
22196
22411
|
}
|
|
22197
22412
|
return null;
|
|
22198
22413
|
}, [optixFlowConfig]);
|
|
22199
|
-
const renderLargeCard =
|
|
22414
|
+
const renderLargeCard = React52.useCallback((item) => {
|
|
22415
|
+
const iconContent = renderItemIcon(item);
|
|
22416
|
+
const hasIconBadgeContent = iconContent || item.iconBadge;
|
|
22200
22417
|
const cardContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
22201
22418
|
renderItemImage(item, "h-full max-h-[580px] w-full rounded-xl object-cover object-center"),
|
|
22202
22419
|
/* @__PURE__ */ jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-20 rounded-xl bg-linear-to-t from-primary to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
22203
22420
|
/* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
|
|
22204
|
-
/* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
|
|
22205
|
-
|
|
22421
|
+
hasIconBadgeContent && /* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
|
|
22422
|
+
iconContent,
|
|
22206
22423
|
item.iconBadge
|
|
22207
22424
|
] }),
|
|
22208
22425
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
|
|
@@ -22226,7 +22443,9 @@ function FeatureBentoImageGrid({
|
|
|
22226
22443
|
}
|
|
22227
22444
|
return /* @__PURE__ */ jsx("div", { className: cn("group relative col-span-2 row-span-3 overflow-hidden rounded-xl", largeCardClassName, item.className), children: cardContent });
|
|
22228
22445
|
}, [largeCardClassName, renderItemImage, renderItemIcon]);
|
|
22229
|
-
const renderSmallCard =
|
|
22446
|
+
const renderSmallCard = React52.useCallback((item, index) => {
|
|
22447
|
+
const iconContent = renderItemIcon(item);
|
|
22448
|
+
const hasIconBadgeContent = iconContent || item.iconBadge;
|
|
22230
22449
|
const cardContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
22231
22450
|
renderItemImage(item, cn(
|
|
22232
22451
|
"h-full w-full rounded-xl object-cover object-center",
|
|
@@ -22234,8 +22453,8 @@ function FeatureBentoImageGrid({
|
|
|
22234
22453
|
)),
|
|
22235
22454
|
/* @__PURE__ */ jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 rounded-xl bg-linear-to-t from-primary to-transparent opacity-80 transition-transform duration-300 group-hover:translate-y-0" }),
|
|
22236
22455
|
/* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
|
|
22237
|
-
/* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
|
|
22238
|
-
|
|
22456
|
+
hasIconBadgeContent && /* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
|
|
22457
|
+
iconContent,
|
|
22239
22458
|
item.iconBadge
|
|
22240
22459
|
] }),
|
|
22241
22460
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
|
|
@@ -22323,34 +22542,33 @@ function FeatureImageCardsThreeColumn({
|
|
|
22323
22542
|
patternOpacity,
|
|
22324
22543
|
patternClassName
|
|
22325
22544
|
}) {
|
|
22545
|
+
const renderImage = useCallback((card, imageAlt) => {
|
|
22546
|
+
if (card.imageSlot) return card.imageSlot;
|
|
22547
|
+
if (!card.imageSrc) return null;
|
|
22548
|
+
return /* @__PURE__ */ jsx(
|
|
22549
|
+
Img,
|
|
22550
|
+
{
|
|
22551
|
+
src: card.imageSrc,
|
|
22552
|
+
alt: imageAlt,
|
|
22553
|
+
className: "h-full max-h-[450px] w-full rounded-xl object-cover object-center",
|
|
22554
|
+
loading: "lazy",
|
|
22555
|
+
optixFlowConfig
|
|
22556
|
+
}
|
|
22557
|
+
);
|
|
22558
|
+
}, [optixFlowConfig]);
|
|
22559
|
+
const renderBadgeIcon = useCallback((card) => {
|
|
22560
|
+
if (card.avatarSrc) {
|
|
22561
|
+
return /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: card.avatarSrc, alt: "Avatar" }) });
|
|
22562
|
+
}
|
|
22563
|
+
if (card.icon) return card.icon;
|
|
22564
|
+
if (!card.iconName) return null;
|
|
22565
|
+
return /* @__PURE__ */ jsx(DynamicIcon, { name: card.iconName, size: 24 });
|
|
22566
|
+
}, []);
|
|
22326
22567
|
const cardsContent = useMemo$1(() => {
|
|
22327
22568
|
if (cardsSlot) return cardsSlot;
|
|
22328
22569
|
if (!cards || cards.length === 0) return null;
|
|
22329
22570
|
return cards.map((card, index) => {
|
|
22330
22571
|
const imageAlt = card.imageAlt || (typeof card.title === "string" ? card.title : "Card image");
|
|
22331
|
-
const renderImage = () => {
|
|
22332
|
-
if (card.imageSlot) return card.imageSlot;
|
|
22333
|
-
if (card.imageSrc) {
|
|
22334
|
-
return /* @__PURE__ */ jsx(
|
|
22335
|
-
Img,
|
|
22336
|
-
{
|
|
22337
|
-
src: card.imageSrc,
|
|
22338
|
-
alt: imageAlt,
|
|
22339
|
-
className: "h-full max-h-[450px] w-full rounded-xl object-cover object-center",
|
|
22340
|
-
loading: "lazy",
|
|
22341
|
-
optixFlowConfig
|
|
22342
|
-
}
|
|
22343
|
-
);
|
|
22344
|
-
}
|
|
22345
|
-
return null;
|
|
22346
|
-
};
|
|
22347
|
-
const renderBadgeIcon = () => {
|
|
22348
|
-
if (card.avatarSrc) {
|
|
22349
|
-
return /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: card.avatarSrc, alt: "Avatar" }) });
|
|
22350
|
-
}
|
|
22351
|
-
if (card.icon) return card.icon;
|
|
22352
|
-
return /* @__PURE__ */ jsx(DynamicIcon, { name: card.iconName || "lucide/zap", size: 24 });
|
|
22353
|
-
};
|
|
22354
22572
|
return /* @__PURE__ */ jsxs(
|
|
22355
22573
|
Pressable,
|
|
22356
22574
|
{
|
|
@@ -22358,10 +22576,10 @@ function FeatureImageCardsThreeColumn({
|
|
|
22358
22576
|
onClick: card.onClick,
|
|
22359
22577
|
className: cn("group relative overflow-hidden rounded-xl", cardClassName, card.className),
|
|
22360
22578
|
children: [
|
|
22361
|
-
renderImage(),
|
|
22579
|
+
renderImage(card, imageAlt),
|
|
22362
22580
|
/* @__PURE__ */ jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-20 rounded-xl bg-linear-to-t from-primary to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
22363
22581
|
/* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
|
|
22364
|
-
/* @__PURE__ */ jsxs(
|
|
22582
|
+
(card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxs(
|
|
22365
22583
|
"span",
|
|
22366
22584
|
{
|
|
22367
22585
|
className: cn(
|
|
@@ -22370,7 +22588,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
22370
22588
|
card.badgeClassName
|
|
22371
22589
|
),
|
|
22372
22590
|
children: [
|
|
22373
|
-
renderBadgeIcon(),
|
|
22591
|
+
renderBadgeIcon(card),
|
|
22374
22592
|
card.badgeText
|
|
22375
22593
|
]
|
|
22376
22594
|
}
|
|
@@ -22388,7 +22606,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
22388
22606
|
index
|
|
22389
22607
|
);
|
|
22390
22608
|
});
|
|
22391
|
-
}, [cardsSlot, cards, cardClassName,
|
|
22609
|
+
}, [cardsSlot, cards, cardClassName, renderImage, renderBadgeIcon]);
|
|
22392
22610
|
return /* @__PURE__ */ jsxs(
|
|
22393
22611
|
Section,
|
|
22394
22612
|
{
|
|
@@ -22425,11 +22643,11 @@ function FeatureIconGridMuted({
|
|
|
22425
22643
|
patternOpacity,
|
|
22426
22644
|
patternClassName
|
|
22427
22645
|
}) {
|
|
22428
|
-
const renderFeatureIcon = (feature) => {
|
|
22646
|
+
const renderFeatureIcon = useCallback((feature) => {
|
|
22429
22647
|
if (feature.icon) return feature.icon;
|
|
22430
22648
|
if (feature.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 24, className: feature.iconClassName });
|
|
22431
22649
|
return null;
|
|
22432
|
-
};
|
|
22650
|
+
}, []);
|
|
22433
22651
|
const featuresContent = useMemo$1(() => {
|
|
22434
22652
|
if (featuresSlot) return featuresSlot;
|
|
22435
22653
|
if (!features || features.length === 0) return null;
|
|
@@ -22438,14 +22656,14 @@ function FeatureIconGridMuted({
|
|
|
22438
22656
|
{
|
|
22439
22657
|
className: cn("flex flex-col gap-2.5 rounded-xl border bg-background p-7", cardClassName, feature.className),
|
|
22440
22658
|
children: [
|
|
22441
|
-
renderFeatureIcon(feature),
|
|
22659
|
+
(feature.icon || feature.iconName) && renderFeatureIcon(feature),
|
|
22442
22660
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-semibold", feature.titleClassName), children: feature.title }) : /* @__PURE__ */ jsx("div", { className: cn("font-semibold", feature.titleClassName), children: feature.title })),
|
|
22443
22661
|
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground", feature.descriptionClassName), children: feature.description }))
|
|
22444
22662
|
]
|
|
22445
22663
|
},
|
|
22446
22664
|
index
|
|
22447
22665
|
));
|
|
22448
|
-
}, [featuresSlot, features, cardClassName]);
|
|
22666
|
+
}, [featuresSlot, features, cardClassName, renderFeatureIcon]);
|
|
22449
22667
|
return /* @__PURE__ */ jsx(
|
|
22450
22668
|
Section,
|
|
22451
22669
|
{
|
|
@@ -22457,11 +22675,11 @@ function FeatureIconGridMuted({
|
|
|
22457
22675
|
className: cn("bg-muted/60", className),
|
|
22458
22676
|
containerClassName,
|
|
22459
22677
|
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10", children: [
|
|
22460
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-xl flex-col gap-2.5 text-center", headerClassName), children: [
|
|
22678
|
+
(title || description) && /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-xl flex-col gap-2.5 text-center", headerClassName), children: [
|
|
22461
22679
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-semibold md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-4xl font-semibold md:text-5xl", titleClassName), children: title })),
|
|
22462
22680
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", descriptionClassName), children: description }))
|
|
22463
22681
|
] }),
|
|
22464
|
-
/* @__PURE__ */ jsx("div", { className: cn("mx-auto grid max-w-7xl gap-7 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5", gridClassName), children: featuresContent })
|
|
22682
|
+
(featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mx-auto grid max-w-7xl gap-7 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5", gridClassName), children: featuresContent })
|
|
22465
22683
|
] })
|
|
22466
22684
|
}
|
|
22467
22685
|
);
|
|
@@ -22494,37 +22712,25 @@ function FeatureStatsHighlight({
|
|
|
22494
22712
|
if (actionsSlot) return actionsSlot;
|
|
22495
22713
|
if (!actions || actions.length === 0) return null;
|
|
22496
22714
|
return actions.map((action, index) => {
|
|
22497
|
-
|
|
22498
|
-
|
|
22499
|
-
|
|
22500
|
-
|
|
22501
|
-
|
|
22502
|
-
|
|
22503
|
-
|
|
22504
|
-
|
|
22505
|
-
|
|
22506
|
-
"aria-label": action["aria-label"],
|
|
22507
|
-
asButton: true,
|
|
22508
|
-
children: action.children
|
|
22509
|
-
},
|
|
22510
|
-
index
|
|
22511
|
-
);
|
|
22512
|
-
}
|
|
22513
|
-
return /* @__PURE__ */ jsxs(
|
|
22715
|
+
const {
|
|
22716
|
+
label,
|
|
22717
|
+
icon,
|
|
22718
|
+
iconAfter,
|
|
22719
|
+
children,
|
|
22720
|
+
className: actionClassName,
|
|
22721
|
+
...pressableProps
|
|
22722
|
+
} = action;
|
|
22723
|
+
return /* @__PURE__ */ jsx(
|
|
22514
22724
|
Pressable,
|
|
22515
22725
|
{
|
|
22516
|
-
|
|
22517
|
-
onClick: action.onClick,
|
|
22518
|
-
variant: action.variant,
|
|
22519
|
-
size: action.size,
|
|
22520
|
-
className: cn("mt-4 w-fit gap-2", action.className),
|
|
22521
|
-
"aria-label": action["aria-label"],
|
|
22726
|
+
className: cn("mt-4 w-fit gap-2", actionClassName),
|
|
22522
22727
|
asButton: true,
|
|
22523
|
-
|
|
22524
|
-
|
|
22525
|
-
|
|
22526
|
-
|
|
22527
|
-
|
|
22728
|
+
...pressableProps,
|
|
22729
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
22730
|
+
icon,
|
|
22731
|
+
label,
|
|
22732
|
+
iconAfter
|
|
22733
|
+
] })
|
|
22528
22734
|
},
|
|
22529
22735
|
index
|
|
22530
22736
|
);
|
|
@@ -22538,8 +22744,8 @@ function FeatureStatsHighlight({
|
|
|
22538
22744
|
{
|
|
22539
22745
|
className: cn("flex flex-col gap-2 rounded-xl border bg-muted/30 p-6", statCardClassName, stat.className),
|
|
22540
22746
|
children: [
|
|
22541
|
-
/* @__PURE__ */ jsx("span", { className: cn("text-4xl font-bold text-primary lg:text-5xl", stat.valueClassName), children: stat.value }),
|
|
22542
|
-
/* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
|
|
22747
|
+
stat.value && /* @__PURE__ */ jsx("span", { className: cn("text-4xl font-bold text-primary lg:text-5xl", stat.valueClassName), children: stat.value }),
|
|
22748
|
+
stat.label && /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
|
|
22543
22749
|
]
|
|
22544
22750
|
},
|
|
22545
22751
|
index
|
|
@@ -22560,9 +22766,9 @@ function FeatureStatsHighlight({
|
|
|
22560
22766
|
badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit", badgeClassName), children: badge }),
|
|
22561
22767
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
|
|
22562
22768
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
|
|
22563
|
-
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
|
|
22769
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
|
|
22564
22770
|
] }),
|
|
22565
|
-
/* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-6", statsGridClassName), children: statsContent })
|
|
22771
|
+
(statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-6", statsGridClassName), children: statsContent })
|
|
22566
22772
|
] })
|
|
22567
22773
|
}
|
|
22568
22774
|
);
|
|
@@ -22626,7 +22832,7 @@ function FeatureAccordionImage({
|
|
|
22626
22832
|
description,
|
|
22627
22833
|
items,
|
|
22628
22834
|
itemsSlot,
|
|
22629
|
-
defaultValue
|
|
22835
|
+
defaultValue,
|
|
22630
22836
|
className,
|
|
22631
22837
|
containerClassName,
|
|
22632
22838
|
headerClassName,
|
|
@@ -22643,24 +22849,25 @@ function FeatureAccordionImage({
|
|
|
22643
22849
|
patternOpacity,
|
|
22644
22850
|
patternClassName
|
|
22645
22851
|
}) {
|
|
22646
|
-
const [activeItem, setActiveItem] = React52.useState(defaultValue);
|
|
22852
|
+
const [activeItem, setActiveItem] = React52.useState(defaultValue || "item-0");
|
|
22647
22853
|
const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
|
|
22648
22854
|
const currentImage = items?.[activeIndex] || items?.[0];
|
|
22649
22855
|
const accordionItemsContent = useMemo$1(() => {
|
|
22650
22856
|
if (itemsSlot) return itemsSlot;
|
|
22651
22857
|
if (!items || items.length === 0) return null;
|
|
22652
22858
|
return items.map((item, index) => /* @__PURE__ */ jsxs(AccordionItem, { value: `item-${index}`, className: item.className, children: [
|
|
22653
|
-
/* @__PURE__ */ jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
22654
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
22859
|
+
item.title && /* @__PURE__ */ jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
22860
|
+
item.content && /* @__PURE__ */ jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
22655
22861
|
] }, index));
|
|
22656
22862
|
}, [itemsSlot, items]);
|
|
22657
22863
|
const imageContent = useMemo$1(() => {
|
|
22658
22864
|
if (currentImage?.imageSlot) return currentImage.imageSlot;
|
|
22865
|
+
if (!currentImage?.imageSrc) return null;
|
|
22659
22866
|
return /* @__PURE__ */ jsx(
|
|
22660
22867
|
Img,
|
|
22661
22868
|
{
|
|
22662
|
-
src: currentImage
|
|
22663
|
-
alt: currentImage
|
|
22869
|
+
src: currentImage.imageSrc,
|
|
22870
|
+
alt: currentImage.imageAlt || "",
|
|
22664
22871
|
className: cn("h-full w-full object-cover transition-opacity duration-300", imageClassName),
|
|
22665
22872
|
loading: "lazy",
|
|
22666
22873
|
optixFlowConfig
|
|
@@ -22678,11 +22885,11 @@ function FeatureAccordionImage({
|
|
|
22678
22885
|
className,
|
|
22679
22886
|
containerClassName,
|
|
22680
22887
|
children: [
|
|
22681
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
22888
|
+
(title || description) && /* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
22682
22889
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title })),
|
|
22683
22890
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }))
|
|
22684
22891
|
] }),
|
|
22685
|
-
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
22892
|
+
(itemsSlot || items && items.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
22686
22893
|
/* @__PURE__ */ jsx(
|
|
22687
22894
|
Accordion,
|
|
22688
22895
|
{
|
|
@@ -22717,49 +22924,52 @@ function FeatureCapabilitiesGrid({
|
|
|
22717
22924
|
patternOpacity,
|
|
22718
22925
|
patternClassName
|
|
22719
22926
|
}) {
|
|
22720
|
-
const renderItemIcon = (item) => {
|
|
22927
|
+
const renderItemIcon = React52.useCallback((item) => {
|
|
22721
22928
|
if (item.icon) return item.icon;
|
|
22722
22929
|
if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 });
|
|
22723
|
-
return
|
|
22724
|
-
};
|
|
22930
|
+
return null;
|
|
22931
|
+
}, []);
|
|
22725
22932
|
const itemsContent = useMemo$1(() => {
|
|
22726
22933
|
if (itemsSlot) return itemsSlot;
|
|
22727
22934
|
if (!items || items.length === 0) return null;
|
|
22728
|
-
return items.map((item, index) =>
|
|
22729
|
-
|
|
22730
|
-
|
|
22731
|
-
|
|
22732
|
-
|
|
22733
|
-
|
|
22734
|
-
|
|
22735
|
-
|
|
22736
|
-
/* @__PURE__ */ jsx("div", { className: "absolute -
|
|
22737
|
-
/* @__PURE__ */
|
|
22738
|
-
|
|
22739
|
-
|
|
22740
|
-
|
|
22741
|
-
|
|
22742
|
-
|
|
22743
|
-
/* @__PURE__ */
|
|
22744
|
-
|
|
22745
|
-
|
|
22746
|
-
|
|
22747
|
-
|
|
22748
|
-
|
|
22749
|
-
|
|
22750
|
-
|
|
22751
|
-
|
|
22752
|
-
|
|
22753
|
-
|
|
22754
|
-
|
|
22755
|
-
|
|
22756
|
-
|
|
22757
|
-
|
|
22758
|
-
|
|
22759
|
-
|
|
22760
|
-
|
|
22761
|
-
|
|
22762
|
-
|
|
22935
|
+
return items.map((item, index) => {
|
|
22936
|
+
const iconContent = renderItemIcon(item);
|
|
22937
|
+
return /* @__PURE__ */ jsxs(
|
|
22938
|
+
Card,
|
|
22939
|
+
{
|
|
22940
|
+
className: cn("group relative overflow-visible border-white/10 bg-white/5 p-0 transition-colors duration-300 hover:border-white/20", cardClassName, item.className),
|
|
22941
|
+
children: [
|
|
22942
|
+
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100", children: /* @__PURE__ */ jsx("div", { className: "absolute -inset-px rounded-xl bg-linear-to-br from-white/10 via-white/5 to-transparent" }) }),
|
|
22943
|
+
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 rounded-xl bg-linear-to-tr from-white/0 to-white/0 transition-colors group-hover:from-white/3 group-hover:to-white/6" }),
|
|
22944
|
+
/* @__PURE__ */ jsxs("div", { className: "pointer-events-none absolute inset-0 hidden group-hover:block", children: [
|
|
22945
|
+
/* @__PURE__ */ jsx("div", { className: "absolute -left-2 -top-2 h-3 w-3 bg-white" }),
|
|
22946
|
+
/* @__PURE__ */ jsx("div", { className: "absolute -right-2 -top-2 h-3 w-3 bg-white" }),
|
|
22947
|
+
/* @__PURE__ */ jsx("div", { className: "absolute -left-2 -bottom-2 h-3 w-3 bg-white" }),
|
|
22948
|
+
/* @__PURE__ */ jsx("div", { className: "absolute -right-2 -bottom-2 h-3 w-3 bg-white" })
|
|
22949
|
+
] }),
|
|
22950
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "relative z-10 flex flex-row items-start gap-3 p-6", children: [
|
|
22951
|
+
iconContent && /* @__PURE__ */ jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-xl border border-white/15 bg-white/5 text-white", item.iconClassName), children: iconContent }),
|
|
22952
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
22953
|
+
item.title && (typeof item.title === "string" ? /* @__PURE__ */ jsx(CardTitle, { className: cn("text-lg font-medium text-white", item.titleClassName), children: item.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-lg font-medium text-white", item.titleClassName), children: item.title })),
|
|
22954
|
+
item.badge && /* @__PURE__ */ jsx("span", { className: cn("rounded-full border border-white/20 px-2 py-0.5 text-[10px] leading-none text-white/70", item.badgeClassName), children: item.badge })
|
|
22955
|
+
] }) })
|
|
22956
|
+
] }),
|
|
22957
|
+
item.description && /* @__PURE__ */ jsx(CardContent, { className: cn("relative z-10 px-6 pb-6 text-sm text-white/70", item.descriptionClassName), children: item.description }),
|
|
22958
|
+
/* @__PURE__ */ jsx(
|
|
22959
|
+
motion.div,
|
|
22960
|
+
{
|
|
22961
|
+
className: "pointer-events-none absolute inset-0 rounded-xl ring-0 ring-white/0",
|
|
22962
|
+
initial: { opacity: 0 },
|
|
22963
|
+
whileHover: { opacity: 1 },
|
|
22964
|
+
transition: { duration: 0.25 }
|
|
22965
|
+
}
|
|
22966
|
+
)
|
|
22967
|
+
]
|
|
22968
|
+
},
|
|
22969
|
+
`${typeof item.title === "string" ? item.title : "item"}-${index}`
|
|
22970
|
+
);
|
|
22971
|
+
});
|
|
22972
|
+
}, [itemsSlot, items, cardClassName, renderItemIcon]);
|
|
22763
22973
|
return /* @__PURE__ */ jsxs(
|
|
22764
22974
|
Section,
|
|
22765
22975
|
{
|
|
@@ -39371,7 +39581,7 @@ function CommunityInitiatives({
|
|
|
39371
39581
|
}
|
|
39372
39582
|
);
|
|
39373
39583
|
}
|
|
39374
|
-
var Controls = ({
|
|
39584
|
+
var Controls = React52.memo(({
|
|
39375
39585
|
handleNext,
|
|
39376
39586
|
handlePrevious,
|
|
39377
39587
|
isPreviousDisabled,
|
|
@@ -39399,9 +39609,9 @@ var Controls = ({
|
|
|
39399
39609
|
}
|
|
39400
39610
|
)
|
|
39401
39611
|
] });
|
|
39402
|
-
};
|
|
39403
|
-
var FeatureCard = ({ feature, isActive, onClick }) => {
|
|
39404
|
-
const variants2 = {
|
|
39612
|
+
});
|
|
39613
|
+
var FeatureCard = React52.memo(({ feature, isActive, onClick }) => {
|
|
39614
|
+
const variants2 = useMemo$1(() => ({
|
|
39405
39615
|
initial: {
|
|
39406
39616
|
opacity: 0
|
|
39407
39617
|
},
|
|
@@ -39411,7 +39621,7 @@ var FeatureCard = ({ feature, isActive, onClick }) => {
|
|
|
39411
39621
|
exit: {
|
|
39412
39622
|
opacity: 0
|
|
39413
39623
|
}
|
|
39414
|
-
};
|
|
39624
|
+
}), []);
|
|
39415
39625
|
return /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", children: /* @__PURE__ */ jsx(
|
|
39416
39626
|
motion.div,
|
|
39417
39627
|
{
|
|
@@ -39441,13 +39651,13 @@ var FeatureCard = ({ feature, isActive, onClick }) => {
|
|
|
39441
39651
|
ease: "easeOut"
|
|
39442
39652
|
},
|
|
39443
39653
|
className: "p-6 text-sm md:p-8 md:text-base",
|
|
39444
|
-
children: /* @__PURE__ */ jsxs("p", { children: [
|
|
39445
|
-
/* @__PURE__ */ jsxs("span", { className: "font-semibold", children: [
|
|
39654
|
+
children: (feature.title || feature.description) && /* @__PURE__ */ jsxs("p", { children: [
|
|
39655
|
+
feature.title && /* @__PURE__ */ jsxs("span", { className: "font-semibold", children: [
|
|
39446
39656
|
feature.title,
|
|
39447
39657
|
"."
|
|
39448
39658
|
] }),
|
|
39449
|
-
" ",
|
|
39450
|
-
/* @__PURE__ */ jsx("span", { children: feature.description })
|
|
39659
|
+
feature.title && feature.description && " ",
|
|
39660
|
+
feature.description && /* @__PURE__ */ jsx("span", { children: feature.description })
|
|
39451
39661
|
] })
|
|
39452
39662
|
},
|
|
39453
39663
|
`feature-description-active-${feature.title}`
|
|
@@ -39473,16 +39683,23 @@ var FeatureCard = ({ feature, isActive, onClick }) => {
|
|
|
39473
39683
|
lineHeight: "normal"
|
|
39474
39684
|
},
|
|
39475
39685
|
children: [
|
|
39476
|
-
/* @__PURE__ */ jsx(
|
|
39477
|
-
|
|
39686
|
+
/* @__PURE__ */ jsx(
|
|
39687
|
+
DynamicIcon,
|
|
39688
|
+
{
|
|
39689
|
+
name: "lucide/plus-circle",
|
|
39690
|
+
size: 24,
|
|
39691
|
+
className: "shrink-0"
|
|
39692
|
+
}
|
|
39693
|
+
),
|
|
39694
|
+
feature.title && /* @__PURE__ */ jsx("p", { className: "shrink-0 font-semibold", children: feature.title })
|
|
39478
39695
|
]
|
|
39479
39696
|
},
|
|
39480
39697
|
`feature-description-inactive-${feature.title}`
|
|
39481
39698
|
)
|
|
39482
39699
|
}
|
|
39483
39700
|
) });
|
|
39484
|
-
};
|
|
39485
|
-
var FeaturesDesktop = ({
|
|
39701
|
+
});
|
|
39702
|
+
var FeaturesDesktop = React52.memo(({
|
|
39486
39703
|
features,
|
|
39487
39704
|
handleNext,
|
|
39488
39705
|
handlePrevious,
|
|
@@ -39513,8 +39730,8 @@ var FeaturesDesktop = ({
|
|
|
39513
39730
|
);
|
|
39514
39731
|
}) })
|
|
39515
39732
|
] });
|
|
39516
|
-
};
|
|
39517
|
-
var FeaturesMobile = ({
|
|
39733
|
+
});
|
|
39734
|
+
var FeaturesMobile = React52.memo(({
|
|
39518
39735
|
features,
|
|
39519
39736
|
handleNext,
|
|
39520
39737
|
handlePrevious,
|
|
@@ -39523,7 +39740,7 @@ var FeaturesMobile = ({
|
|
|
39523
39740
|
isPreviousDisabled,
|
|
39524
39741
|
isNextDisabled
|
|
39525
39742
|
}) => {
|
|
39526
|
-
const variants2 = {
|
|
39743
|
+
const variants2 = useMemo$1(() => ({
|
|
39527
39744
|
enter: (direction2) => ({
|
|
39528
39745
|
x: direction2 > 0 ? 100 : -100,
|
|
39529
39746
|
opacity: 0
|
|
@@ -39536,7 +39753,8 @@ var FeaturesMobile = ({
|
|
|
39536
39753
|
x: direction2 < 0 ? 100 : -100,
|
|
39537
39754
|
opacity: 0
|
|
39538
39755
|
})
|
|
39539
|
-
};
|
|
39756
|
+
}), []);
|
|
39757
|
+
const currentFeature = features[activeIndex];
|
|
39540
39758
|
return /* @__PURE__ */ jsx("div", { className: "relative z-10 flex flex-col items-center gap-6 md:hidden", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-4", children: [
|
|
39541
39759
|
/* @__PURE__ */ jsx(
|
|
39542
39760
|
"button",
|
|
@@ -39561,13 +39779,13 @@ var FeaturesMobile = ({
|
|
|
39561
39779
|
opacity: { duration: 0.2 }
|
|
39562
39780
|
},
|
|
39563
39781
|
className: "absolute inset-0 flex items-center justify-center rounded-3xl bg-background p-4",
|
|
39564
|
-
children: /* @__PURE__ */ jsxs("p", { className: "text-center text-sm", children: [
|
|
39565
|
-
/* @__PURE__ */ jsxs("span", { className: "font-semibold", children: [
|
|
39566
|
-
|
|
39782
|
+
children: (currentFeature?.title || currentFeature?.description) && /* @__PURE__ */ jsxs("p", { className: "text-center text-sm", children: [
|
|
39783
|
+
currentFeature.title && /* @__PURE__ */ jsxs("span", { className: "font-semibold", children: [
|
|
39784
|
+
currentFeature.title,
|
|
39567
39785
|
"."
|
|
39568
39786
|
] }),
|
|
39569
|
-
" ",
|
|
39570
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
39787
|
+
currentFeature.title && currentFeature.description && " ",
|
|
39788
|
+
currentFeature.description && /* @__PURE__ */ jsx("span", { children: currentFeature.description })
|
|
39571
39789
|
] })
|
|
39572
39790
|
},
|
|
39573
39791
|
activeIndex
|
|
@@ -39583,7 +39801,7 @@ var FeaturesMobile = ({
|
|
|
39583
39801
|
}
|
|
39584
39802
|
)
|
|
39585
39803
|
] }) });
|
|
39586
|
-
};
|
|
39804
|
+
});
|
|
39587
39805
|
function FeatureAnimatedCarousel({
|
|
39588
39806
|
features,
|
|
39589
39807
|
className,
|
|
@@ -39596,25 +39814,25 @@ function FeatureAnimatedCarousel({
|
|
|
39596
39814
|
}) {
|
|
39597
39815
|
const [activeIndex, setActiveIndex] = React52.useState(0);
|
|
39598
39816
|
const [direction, setDirection] = React52.useState(1);
|
|
39599
|
-
const handleNext = () => {
|
|
39600
|
-
if (activeIndex < features.length - 1) {
|
|
39817
|
+
const handleNext = useCallback(() => {
|
|
39818
|
+
if (features && activeIndex < features.length - 1) {
|
|
39601
39819
|
setDirection(1);
|
|
39602
39820
|
setActiveIndex(activeIndex + 1);
|
|
39603
39821
|
}
|
|
39604
|
-
};
|
|
39605
|
-
const handlePrevious = () => {
|
|
39822
|
+
}, [activeIndex, features]);
|
|
39823
|
+
const handlePrevious = useCallback(() => {
|
|
39606
39824
|
if (activeIndex > 0) {
|
|
39607
39825
|
setDirection(-1);
|
|
39608
39826
|
setActiveIndex(activeIndex - 1);
|
|
39609
39827
|
}
|
|
39610
|
-
};
|
|
39611
|
-
const handleFeatureClick = (index) => {
|
|
39828
|
+
}, [activeIndex]);
|
|
39829
|
+
const handleFeatureClick = useCallback((index) => {
|
|
39612
39830
|
setDirection(index > activeIndex ? 1 : -1);
|
|
39613
39831
|
setActiveIndex(index);
|
|
39614
|
-
};
|
|
39832
|
+
}, [activeIndex]);
|
|
39615
39833
|
const isPreviousDisabled = activeIndex === 0;
|
|
39616
|
-
const isNextDisabled = activeIndex === features.length - 1;
|
|
39617
|
-
const imageVariants = {
|
|
39834
|
+
const isNextDisabled = !features || activeIndex === features.length - 1;
|
|
39835
|
+
const imageVariants = useMemo$1(() => ({
|
|
39618
39836
|
enter: (direction2) => ({
|
|
39619
39837
|
x: direction2 > 0 ? 300 : -300,
|
|
39620
39838
|
opacity: 0
|
|
@@ -39627,7 +39845,22 @@ function FeatureAnimatedCarousel({
|
|
|
39627
39845
|
x: direction2 < 0 ? 300 : -300,
|
|
39628
39846
|
opacity: 0
|
|
39629
39847
|
})
|
|
39630
|
-
};
|
|
39848
|
+
}), []);
|
|
39849
|
+
if (!features || features.length === 0) {
|
|
39850
|
+
return /* @__PURE__ */ jsx(
|
|
39851
|
+
Section,
|
|
39852
|
+
{
|
|
39853
|
+
background,
|
|
39854
|
+
spacing,
|
|
39855
|
+
pattern,
|
|
39856
|
+
patternOpacity,
|
|
39857
|
+
patternClassName,
|
|
39858
|
+
className,
|
|
39859
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative flex min-h-[500px] flex-col-reverse gap-8 overflow-hidden rounded-3xl bg-muted p-6 md:flex-row md:items-center md:p-12 lg:min-h-[600px]" })
|
|
39860
|
+
}
|
|
39861
|
+
);
|
|
39862
|
+
}
|
|
39863
|
+
const currentFeature = features[activeIndex];
|
|
39631
39864
|
return /* @__PURE__ */ jsx(
|
|
39632
39865
|
Section,
|
|
39633
39866
|
{
|
|
@@ -39662,7 +39895,7 @@ function FeatureAnimatedCarousel({
|
|
|
39662
39895
|
isNextDisabled
|
|
39663
39896
|
}
|
|
39664
39897
|
),
|
|
39665
|
-
/* @__PURE__ */ jsx("div", { className: "relative flex-1 overflow-hidden rounded-2xl md:absolute md:right-8 md:top-8 md:bottom-8 md:w-1/2", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", custom: direction, children: /* @__PURE__ */ jsx(
|
|
39898
|
+
currentFeature?.image && /* @__PURE__ */ jsx("div", { className: "relative flex-1 overflow-hidden rounded-2xl md:absolute md:right-8 md:top-8 md:bottom-8 md:w-1/2", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", custom: direction, children: /* @__PURE__ */ jsx(
|
|
39666
39899
|
motion.div,
|
|
39667
39900
|
{
|
|
39668
39901
|
custom: direction,
|
|
@@ -39678,8 +39911,8 @@ function FeatureAnimatedCarousel({
|
|
|
39678
39911
|
children: /* @__PURE__ */ jsx(
|
|
39679
39912
|
Img,
|
|
39680
39913
|
{
|
|
39681
|
-
src:
|
|
39682
|
-
alt:
|
|
39914
|
+
src: currentFeature.image,
|
|
39915
|
+
alt: currentFeature.imageAlt || (typeof currentFeature.title === "string" ? currentFeature.title : "Feature image"),
|
|
39683
39916
|
className: "h-full w-full object-cover",
|
|
39684
39917
|
optixFlowConfig
|
|
39685
39918
|
}
|
|
@@ -62293,22 +62526,29 @@ var NavbarTabbedSections = ({
|
|
|
62293
62526
|
]
|
|
62294
62527
|
}
|
|
62295
62528
|
) }),
|
|
62296
|
-
/* @__PURE__ */ jsxs(
|
|
62297
|
-
|
|
62298
|
-
|
|
62299
|
-
|
|
62300
|
-
|
|
62301
|
-
|
|
62302
|
-
{
|
|
62303
|
-
|
|
62304
|
-
|
|
62305
|
-
|
|
62306
|
-
|
|
62307
|
-
|
|
62308
|
-
|
|
62309
|
-
|
|
62310
|
-
|
|
62311
|
-
|
|
62529
|
+
/* @__PURE__ */ jsxs(
|
|
62530
|
+
SheetContent,
|
|
62531
|
+
{
|
|
62532
|
+
side: "right",
|
|
62533
|
+
className: "w-[300px] overflow-y-auto",
|
|
62534
|
+
children: [
|
|
62535
|
+
/* @__PURE__ */ jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
|
|
62536
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 pt-8", children: [
|
|
62537
|
+
renderMobileMenu,
|
|
62538
|
+
/* @__PURE__ */ jsx(
|
|
62539
|
+
"div",
|
|
62540
|
+
{
|
|
62541
|
+
className: cn(
|
|
62542
|
+
"mt-4 flex flex-col gap-2 border-t pt-4",
|
|
62543
|
+
actionsClassName
|
|
62544
|
+
),
|
|
62545
|
+
children: renderAuthActions
|
|
62546
|
+
}
|
|
62547
|
+
)
|
|
62548
|
+
] })
|
|
62549
|
+
]
|
|
62550
|
+
}
|
|
62551
|
+
)
|
|
62312
62552
|
] })
|
|
62313
62553
|
]
|
|
62314
62554
|
}
|
|
@@ -77267,7 +77507,7 @@ function ListSearchableGrid({
|
|
|
77267
77507
|
}
|
|
77268
77508
|
);
|
|
77269
77509
|
}
|
|
77270
|
-
var { useMemo:
|
|
77510
|
+
var { useMemo: useMemo443 } = React52;
|
|
77271
77511
|
function OfferModalNewsletterDiscount({
|
|
77272
77512
|
title,
|
|
77273
77513
|
emailPlaceholder,
|
|
@@ -77334,7 +77574,7 @@ function OfferModalNewsletterDiscount({
|
|
|
77334
77574
|
});
|
|
77335
77575
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
77336
77576
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
77337
|
-
const renderCloseButton =
|
|
77577
|
+
const renderCloseButton = useMemo443(() => {
|
|
77338
77578
|
if (closeButtonSlot) return closeButtonSlot;
|
|
77339
77579
|
if (!closeButtonText) return null;
|
|
77340
77580
|
return /* @__PURE__ */ jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
@@ -77348,12 +77588,12 @@ function OfferModalNewsletterDiscount({
|
|
|
77348
77588
|
}
|
|
77349
77589
|
) }) });
|
|
77350
77590
|
}, [closeButtonSlot, closeButtonText, closeClassName]);
|
|
77351
|
-
const renderHeader =
|
|
77591
|
+
const renderHeader = useMemo443(() => {
|
|
77352
77592
|
if (headerSlot) return headerSlot;
|
|
77353
77593
|
if (!title) return null;
|
|
77354
77594
|
return /* @__PURE__ */ jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
|
|
77355
77595
|
}, [headerSlot, title, headerClassName, titleClassName]);
|
|
77356
|
-
const renderForm =
|
|
77596
|
+
const renderForm = useMemo443(() => {
|
|
77357
77597
|
if (formSlot) return formSlot;
|
|
77358
77598
|
return /* @__PURE__ */ jsxs(
|
|
77359
77599
|
Form,
|
|
@@ -77415,7 +77655,7 @@ function OfferModalNewsletterDiscount({
|
|
|
77415
77655
|
}
|
|
77416
77656
|
) });
|
|
77417
77657
|
}
|
|
77418
|
-
var { useMemo:
|
|
77658
|
+
var { useMemo: useMemo444 } = React52;
|
|
77419
77659
|
function OfferModalMembershipImage({
|
|
77420
77660
|
overline,
|
|
77421
77661
|
title,
|
|
@@ -77491,7 +77731,7 @@ function OfferModalMembershipImage({
|
|
|
77491
77731
|
});
|
|
77492
77732
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
77493
77733
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
77494
|
-
const renderImage =
|
|
77734
|
+
const renderImage = useMemo444(() => {
|
|
77495
77735
|
if (imageSlot) return imageSlot;
|
|
77496
77736
|
if (!image) return null;
|
|
77497
77737
|
return /* @__PURE__ */ jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsx(
|
|
@@ -77504,7 +77744,7 @@ function OfferModalMembershipImage({
|
|
|
77504
77744
|
}
|
|
77505
77745
|
) });
|
|
77506
77746
|
}, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
|
|
77507
|
-
const renderCloseButton =
|
|
77747
|
+
const renderCloseButton = useMemo444(() => {
|
|
77508
77748
|
if (closeButtonSlot) return closeButtonSlot;
|
|
77509
77749
|
return /* @__PURE__ */ jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
77510
77750
|
Pressable,
|
|
@@ -77520,7 +77760,7 @@ function OfferModalMembershipImage({
|
|
|
77520
77760
|
}
|
|
77521
77761
|
) }) });
|
|
77522
77762
|
}, [closeButtonSlot, closeClassName]);
|
|
77523
|
-
const renderForm =
|
|
77763
|
+
const renderForm = useMemo444(() => {
|
|
77524
77764
|
if (formSlot) return formSlot;
|
|
77525
77765
|
return /* @__PURE__ */ jsxs(
|
|
77526
77766
|
Form,
|
|
@@ -77583,7 +77823,7 @@ function OfferModalMembershipImage({
|
|
|
77583
77823
|
}
|
|
77584
77824
|
);
|
|
77585
77825
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
77586
|
-
const renderFooter =
|
|
77826
|
+
const renderFooter = useMemo444(() => {
|
|
77587
77827
|
if (footerSlot) return footerSlot;
|
|
77588
77828
|
if (!description) return null;
|
|
77589
77829
|
return /* @__PURE__ */ jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
|
|
@@ -77611,7 +77851,7 @@ function OfferModalMembershipImage({
|
|
|
77611
77851
|
}
|
|
77612
77852
|
) });
|
|
77613
77853
|
}
|
|
77614
|
-
var { useMemo:
|
|
77854
|
+
var { useMemo: useMemo445 } = React52;
|
|
77615
77855
|
function OfferModalSheetNewsletter({
|
|
77616
77856
|
logo,
|
|
77617
77857
|
logoSlot,
|
|
@@ -77693,7 +77933,7 @@ function OfferModalSheetNewsletter({
|
|
|
77693
77933
|
});
|
|
77694
77934
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
77695
77935
|
const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
77696
|
-
const renderLogo =
|
|
77936
|
+
const renderLogo = useMemo445(() => {
|
|
77697
77937
|
if (logoSlot) return logoSlot;
|
|
77698
77938
|
if (!logo) return null;
|
|
77699
77939
|
const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
|
|
@@ -77707,7 +77947,7 @@ function OfferModalSheetNewsletter({
|
|
|
77707
77947
|
}
|
|
77708
77948
|
);
|
|
77709
77949
|
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
77710
|
-
const renderHeader =
|
|
77950
|
+
const renderHeader = useMemo445(() => {
|
|
77711
77951
|
if (headerSlot) return headerSlot;
|
|
77712
77952
|
return /* @__PURE__ */ jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
|
|
77713
77953
|
renderLogo,
|
|
@@ -77717,7 +77957,7 @@ function OfferModalSheetNewsletter({
|
|
|
77717
77957
|
] })
|
|
77718
77958
|
] });
|
|
77719
77959
|
}, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
|
|
77720
|
-
const renderForm =
|
|
77960
|
+
const renderForm = useMemo445(() => {
|
|
77721
77961
|
if (formSlot) return formSlot;
|
|
77722
77962
|
return /* @__PURE__ */ jsx(
|
|
77723
77963
|
Form,
|
|
@@ -77765,7 +78005,7 @@ function OfferModalSheetNewsletter({
|
|
|
77765
78005
|
}
|
|
77766
78006
|
);
|
|
77767
78007
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
77768
|
-
const renderLegal =
|
|
78008
|
+
const renderLegal = useMemo445(() => {
|
|
77769
78009
|
if (legalSlot) return legalSlot;
|
|
77770
78010
|
if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
|
|
77771
78011
|
return /* @__PURE__ */ jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
|
|
@@ -77779,7 +78019,7 @@ function OfferModalSheetNewsletter({
|
|
|
77779
78019
|
"."
|
|
77780
78020
|
] });
|
|
77781
78021
|
}, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
|
|
77782
|
-
const renderImage =
|
|
78022
|
+
const renderImage = useMemo445(() => {
|
|
77783
78023
|
if (imageSlot) return imageSlot;
|
|
77784
78024
|
if (!image) return null;
|
|
77785
78025
|
return /* @__PURE__ */ jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
|